<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8387509060257844625</id><updated>2026-03-21T10:25:13.727-07:00</updated><category term="Android"/><category term="안드로이드"/><category term="Emulator"/><category term="iOS"/><category term="4.0.3"/><category term="C언어"/><category term="VBScript"/><category term="notification"/><category term="remoteview"/><category term="string.xml"/><category term="3ds Max"/><category term="4.0.2"/><category term="API15"/><category term="AlarmManager"/><category term="Animation"/><category term="DefaultHttpClient"/><category term="Dialog"/><category term="DirectX"/><category term="Eclipse"/><category term="Galax"/><category term="Intent"/><category term="Logcat"/><category term="MAC"/><category term="NEW_PICTURE"/><category term="PendingIntent"/><category term="Process Explorer"/><category term="Proguard"/><category term="RTX3090"/><category term="SD Card"/><category term="VisualStudio2010Express"/><category term="bitmap"/><category term="boottime"/><category term="broadcast"/><category term="broadcast reciever"/><category term="camera"/><category term="commons.httpclient"/><category term="contentprovider"/><category term="iPhone"/><category term="ionic"/><category term="java"/><category term="java docs"/><category term="nomedia"/><category term="permission"/><category term="public.xml"/><category term="resource"/><category term="swift"/><category term="upTime"/><category term="worksoace"/><category term="갤럭시탭 USB드라이버"/><category term="갤럭시탭 진저브레드"/><category term="갤탭 진저"/><category term="글자수 세기"/><category term="로그켓"/><category term="모로레기"/><category term="모토로이"/><category term="비졀씨"/><category term="비쥬얼스튜디오"/><category term="소프트웨어 기술자 경력신고"/><category term="스트링포멧"/><category term="안드로이드스튜디오"/><category term="알람매니저"/><category term="자바DOC"/><category term="전체화면"/><category term="탁상용 선풍기"/><category term="테마"/><category term="투명액티비티"/><title type='text'>행복한 사람 - happyzen의 비망록</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://don-forget.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://don-forget.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>happyzen</name><uri>http://www.blogger.com/profile/04722314716266709210</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>111</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8387509060257844625.post-3217320536182056329</id><published>2026-03-21T10:17:00.000-07:00</published><updated>2026-03-21T10:25:13.710-07:00</updated><title type='text'>갑자기 크롬에서만 로컬 사설 주소 접속이 안됨 (ERR_ADDRESS_UNREACHABLE)</title><content type='html'>
&lt;h2&gt;증상&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Chrome에서 &lt;code&gt;192.168.1.200:8080&lt;/code&gt; 접속 시 &lt;code&gt;ERR_ADDRESS_UNREACHABLE&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Safari에서는 동일 주소 &lt;b&gt;정상 접속&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;다른 내부 IP(192.168.1.1 게이트웨이)는 Chrome에서도 정상&lt;/li&gt;
&lt;li&gt;터미널 &lt;code&gt;curl&lt;/code&gt;, &lt;code&gt;ping&lt;/code&gt; 전부 정상&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiUpk4oRz3Lft1myX-nrZkT-dSKe3UhrkWTOhPChHi-q7qJyA6PQLUcSgyai5VkGS6X406_fqAC4DIhpi2FgMh9juUmV2i_osPZONPLbRqW7RDcip54H3WTzXxwTR0PUnvCm00Y0vcPssk52yXRI1tUk5YEQc5GGCsfEc03iWiwtKbelvrDWyMDzauvVcP_&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;482&quot; data-original-width=&quot;1022&quot; height=&quot;151&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiUpk4oRz3Lft1myX-nrZkT-dSKe3UhrkWTOhPChHi-q7qJyA6PQLUcSgyai5VkGS6X406_fqAC4DIhpi2FgMh9juUmV2i_osPZONPLbRqW7RDcip54H3WTzXxwTR0PUnvCm00Y0vcPssk52yXRI1tUk5YEQc5GGCsfEc03iWiwtKbelvrDWyMDzauvVcP_&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;

&lt;h2&gt;시도했지만 안 된 것들&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;시크릿 모드 → 동일 에러&lt;/li&gt;
&lt;li&gt;&lt;code&gt;chrome://net-internals/#dns&lt;/code&gt; → Clear host cache → 안됨&lt;/li&gt;
&lt;li&gt;&lt;code&gt;chrome://net-internals/#sockets&lt;/code&gt; → Flush socket pools → 안됨&lt;/li&gt;
&lt;li&gt;&lt;code&gt;chrome://net-internals/#hsts&lt;/code&gt; → 해당 도메인 삭제 → 안됨&lt;/li&gt;
&lt;li&gt;&lt;code&gt;chrome://flags&lt;/code&gt; → Private Network 관련 플래그 → Chrome 146에서 존재하지 않음&lt;/li&gt;
&lt;li&gt;Chrome 재설치 → 안됨&lt;/li&gt;
&lt;li&gt;Chrome 프로필 폴더 완전 삭제 (&lt;code&gt;~/Library/Application Support/Google/Chrome&lt;/code&gt;) → 안됨&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;DevTools에서 본 단서&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Network 탭: &lt;code&gt;(blocked:origin)&lt;/code&gt;, &lt;code&gt;(canceled)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Console: &lt;code&gt;Unsafe attempt to load URL http://192.168.1.200:8080/ from frame with URL chrome-error://chromewebdata/. Domains, protocols and ports must match.&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;원인&lt;/h2&gt;
&lt;p&gt;macOS (Sequoia)의 &lt;b&gt;로컬 네트워크 접근 권한&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;Chrome을 처음 설치하고 내부 IP에 접속하면 macOS가 &quot;Chrome이 로컬 네트워크의 기기를 찾고 연결하려고 합니다&quot; 권한 팝업을 띄운다. 이때 &lt;b&gt;거부를 누르면&lt;/b&gt; 이후 모든 사설 IP 접속이 차단된다. 문제는 이 팝업이 다시 뜨지 않아서, 한번 거부하면 직접 설정을 찾아가야 한다는 것.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhKGDyhs55GIeA-fGy-EUMQSVwyK_sn-jKlfdzWmg9lgzzjaf4IPmV-TIlG9jUTD1DRBX0T0UbOPyTa3d7CS88XJJFbr4_rko5aWhgy-tFDLMg10LeUpLcdgqIfEQhlmWG2y2J585Zs8T9p9FQIaVVII0AHhNhiOxt4A-3gWJen6WVUliNpKJsxZldO8Cvi&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;592&quot; data-original-width=&quot;618&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhKGDyhs55GIeA-fGy-EUMQSVwyK_sn-jKlfdzWmg9lgzzjaf4IPmV-TIlG9jUTD1DRBX0T0UbOPyTa3d7CS88XJJFbr4_rko5aWhgy-tFDLMg10LeUpLcdgqIfEQhlmWG2y2J585Zs8T9p9FQIaVVII0AHhNhiOxt4A-3gWJen6WVUliNpKJsxZldO8Cvi&quot; width=&quot;251&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;(로컬 네트워크의 디바이스를 찾는다는데 선뜻 수락하겠냐고!!)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;

&lt;h2&gt;해결&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;시스템 설정 → 개인정보 보호 및 보안 → 로컬 네트워크 → Google Chrome 켜기&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;code&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhCT_ZkdBsEbLZ20asAkWph_Otxu00ryJ5CvDDVXW5mSyZJZdRLH6uFYxAu3rjDEJuEX_x41JyC8KYRfi-YytIUbbRs4ekW7erOxiSKumIzVxXAIQGK8QBT_Q3LYLaBNI7YwWOnTpvPRyTVLGPvg2wtdD3XZoBaeCk6rybI68lABp0btTFJyhZ8SmoOk6hP&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;928&quot; data-original-width=&quot;956&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhCT_ZkdBsEbLZ20asAkWph_Otxu00ryJ5CvDDVXW5mSyZJZdRLH6uFYxAu3rjDEJuEX_x41JyC8KYRfi-YytIUbbRs4ekW7erOxiSKumIzVxXAIQGK8QBT_Q3LYLaBNI7YwWOnTpvPRyTVLGPvg2wtdD3XZoBaeCk6rybI68lABp0btTFJyhZ8SmoOk6hP&quot; width=&quot;247&quot; /&gt;&lt;/a&gt;&lt;/code&gt;&lt;/div&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;p&gt;&lt;/p&gt;

&lt;h2&gt;교훈&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;macOS Sequoia부터 앱별 로컬 네트워크 권한이 세분화됨&lt;/li&gt;
&lt;li&gt;에러 메시지(&lt;code&gt;ERR_ADDRESS_UNREACHABLE&lt;/code&gt;)가 OS 권한 문제를 전혀 암시하지 않아서 삽질 유발&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Safari는 되고 Chrome만 안 되면 → 로컬 네트워크 권한부터 확인&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link rel='replies' type='application/atom+xml' href='http://don-forget.blogspot.com/feeds/3217320536182056329/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://don-forget.blogspot.com/2026/03/erraddressunreachable.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/3217320536182056329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/3217320536182056329'/><link rel='alternate' type='text/html' href='http://don-forget.blogspot.com/2026/03/erraddressunreachable.html' title='갑자기 크롬에서만 로컬 사설 주소 접속이 안됨 (ERR_ADDRESS_UNREACHABLE)'/><author><name>happyzen</name><uri>http://www.blogger.com/profile/04722314716266709210</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEiUpk4oRz3Lft1myX-nrZkT-dSKe3UhrkWTOhPChHi-q7qJyA6PQLUcSgyai5VkGS6X406_fqAC4DIhpi2FgMh9juUmV2i_osPZONPLbRqW7RDcip54H3WTzXxwTR0PUnvCm00Y0vcPssk52yXRI1tUk5YEQc5GGCsfEc03iWiwtKbelvrDWyMDzauvVcP_=s72-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8387509060257844625.post-4998480831471752201</id><published>2022-03-26T00:09:00.006-07:00</published><updated>2022-03-26T00:35:14.409-07:00</updated><title type='text'>[XCODE] git에서 프로젝트를 받아 다른 피씨에서 하던 작업을 이어서 하면, SPM의존 라이브러리를 받아 오지 못함</title><content type='html'>&lt;p&gt;&amp;nbsp;Package Dependencies 에 있는 라이브러리가 갱신도 되지 않고, 삭제 버튼 조차 없음.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEi_H4wPdONaDGCRTs5fh7ZseVifWr6d2VbuRbuPz6hUxcIlag_eKHvByZwyB_7Dp73qj-ZrFsNSgv8g5MsFGV5teM93PxasDxoxkWGwyTSSdi53Imv2OACQEj9y6JeHUjpPAtn99lAKMfqL3Y7cAw1Wq57lEkPKuPuwe88MjTF69_9K40pp21uRkGN-xA&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;1794&quot; data-original-width=&quot;2286&quot; height=&quot;502&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEi_H4wPdONaDGCRTs5fh7ZseVifWr6d2VbuRbuPz6hUxcIlag_eKHvByZwyB_7Dp73qj-ZrFsNSgv8g5MsFGV5teM93PxasDxoxkWGwyTSSdi53Imv2OACQEj9y6JeHUjpPAtn99lAKMfqL3Y7cAw1Wq57lEkPKuPuwe88MjTF69_9K40pp21uRkGN-xA=w640-h502&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;PROJECT &amp;gt;&amp;nbsp; Package Dependencies 탭에서 지우고 새로 넣으려 해도 Package.resolved 가 이상하다는 개소리만 내뱉음. 원래 부터 있지도 않던 파일이구만..&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhG1esOBefc3_Flz69gPYM-aCa_Lt-QBDfSoAFzUYfv8j_brd27RkK04lAePLAVbbYw4X4i5U1AXUOWti4EAe1kp-hZvBgqKtADPvJ85_Ta8gMIyjogC7AhqJls1YTD8MjTev5XQG5AyY_1RiVLNtgMOiDcfZbXl9fDjIZP-k50QX7f3FG5z7bXeiIa7Q&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;618&quot; data-original-width=&quot;1336&quot; height=&quot;296&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhG1esOBefc3_Flz69gPYM-aCa_Lt-QBDfSoAFzUYfv8j_brd27RkK04lAePLAVbbYw4X4i5U1AXUOWti4EAe1kp-hZvBgqKtADPvJ85_Ta8gMIyjogC7AhqJls1YTD8MjTev5XQG5AyY_1RiVLNtgMOiDcfZbXl9fDjIZP-k50QX7f3FG5z7bXeiIa7Q=w640-h296&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;어쨌든 인터넷 뒤져보니, &quot;xcworkspace&quot; 파일이 아닌 &quot;xcodeproj&quot;로 열면, 마법 처럼 다시 의존 라이브러리를 땡겨 오게 된다. (개판이네 진짜)&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgyFNbBD6XBodN8Z8kAGfkkouHXEmC9XLrem8fqh-YbyrCOirNDUqUm9l6hgykUg1CeKvPVYwQrAP7Fjo9JYnHJ-jJTzID0qq9EaPje6BJrfd6d6KPYv0gV948xnbsbbjFQJLrgYC68TrZPQf-lo6oKIarCj8DvpK1mQSW8BXdN_J2JqZeuDuTR6NIKCg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;838&quot; data-original-width=&quot;600&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgyFNbBD6XBodN8Z8kAGfkkouHXEmC9XLrem8fqh-YbyrCOirNDUqUm9l6hgykUg1CeKvPVYwQrAP7Fjo9JYnHJ-jJTzID0qq9EaPje6BJrfd6d6KPYv0gV948xnbsbbjFQJLrgYC68TrZPQf-lo6oKIarCj8DvpK1mQSW8BXdN_J2JqZeuDuTR6NIKCg=w287-h400&quot; width=&quot;287&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;근데 막상 &quot;xcworkspace&quot; 파일로 열면 여전히 이모냥이다.&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhkSidIA9s5LqY-wRwWwt7k1HrTo2uJb8E4Clr-IFEufV3Sdf4GkS4F4bt7Xzj5l58VCkvuqBe6rGYTbxWzUgZMTEwO6JeRBScgYPb4dWSADTcxMuGFWJ8biRpsa3JGnOjLjclY2P_ksmZxjPwo4U4FtTENC3IPH43_gU_g_GQ6O6yItnR8VaNi95bR7Q&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;416&quot; data-original-width=&quot;570&quot; height=&quot;234&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhkSidIA9s5LqY-wRwWwt7k1HrTo2uJb8E4Clr-IFEufV3Sdf4GkS4F4bt7Xzj5l58VCkvuqBe6rGYTbxWzUgZMTEwO6JeRBScgYPb4dWSADTcxMuGFWJ8biRpsa3JGnOjLjclY2P_ksmZxjPwo4U4FtTENC3IPH43_gU_g_GQ6O6yItnR8VaNi95bR7Q&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;깃에서 코드를 확인해 보니 &lt;b&gt;Package.resolved&amp;nbsp;&lt;/b&gt;파일이 있긴함. 근데 현재 상태엔 없음.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;일단 지우고 프로젝트를 다시 받아 보기로 함.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;새로 가져 오니 파일이 있긴 함.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEj4TM-QAXdcqYtqlUp0y0ttq1mKPDCw5WN5HDXyArarXX-spM5T70O1cP3jxkjs9z_FFt_cYcMW5X3_pzucAuqsRB9lrqe4JrJCObUovs_v-ZDkjv0WlFUDKBKFd95ccC7OPNyis56zBUJqPpNyD3ihqWXQ75zwFHAEbhV74PK5zu-kDrOayVgSod6PuA&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;550&quot; data-original-width=&quot;1648&quot; height=&quot;214&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEj4TM-QAXdcqYtqlUp0y0ttq1mKPDCw5WN5HDXyArarXX-spM5T70O1cP3jxkjs9z_FFt_cYcMW5X3_pzucAuqsRB9lrqe4JrJCObUovs_v-ZDkjv0WlFUDKBKFd95ccC7OPNyis56zBUJqPpNyD3ihqWXQ75zwFHAEbhV74PK5zu-kDrOayVgSod6PuA=w640-h214&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;하지만 여전히 &quot;Package Dependencies&quot; 부분은 무반응&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhZwfjUG0GX38Jicsg7AQneHZ3fanIxkKkno10pbD4RgKGSZUnzTvSjP_sWgto4uapgtcI3TKFK2QX4VmgoxkI85pSaNmbIzpXHwFyUKTs2_aKcRQmAlO90w7bzyma1tQBZFP_GnMXcobcFFqlX_pxgO_Ty4ZZgynSnEQfc4RqyguR3Gag7pcVI-8-yew&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;276&quot; data-original-width=&quot;624&quot; height=&quot;142&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhZwfjUG0GX38Jicsg7AQneHZ3fanIxkKkno10pbD4RgKGSZUnzTvSjP_sWgto4uapgtcI3TKFK2QX4VmgoxkI85pSaNmbIzpXHwFyUKTs2_aKcRQmAlO90w7bzyma1tQBZFP_GnMXcobcFFqlX_pxgO_Ty4ZZgynSnEQfc4RqyguR3Gag7pcVI-8-yew&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://don-forget.blogspot.com/feeds/4998480831471752201/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://don-forget.blogspot.com/2022/03/xcode-git-spm.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/4998480831471752201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/4998480831471752201'/><link rel='alternate' type='text/html' href='http://don-forget.blogspot.com/2022/03/xcode-git-spm.html' title='[XCODE] git에서 프로젝트를 받아 다른 피씨에서 하던 작업을 이어서 하면, SPM의존 라이브러리를 받아 오지 못함'/><author><name>happyzen</name><uri>http://www.blogger.com/profile/04722314716266709210</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEi_H4wPdONaDGCRTs5fh7ZseVifWr6d2VbuRbuPz6hUxcIlag_eKHvByZwyB_7Dp73qj-ZrFsNSgv8g5MsFGV5teM93PxasDxoxkWGwyTSSdi53Imv2OACQEj9y6JeHUjpPAtn99lAKMfqL3Y7cAw1Wq57lEkPKuPuwe88MjTF69_9K40pp21uRkGN-xA=s72-w640-h502-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8387509060257844625.post-4585640790257870863</id><published>2022-03-25T05:53:00.006-07:00</published><updated>2022-03-25T05:58:32.949-07:00</updated><title type='text'>앱스토어 등록시 앱아이콘 다 있는데 없다는 개소리가...</title><content type='html'>&lt;p&gt;&amp;nbsp;화가난다 진짜...&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;앱 아이콘&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjPf5pytxIRUcej8POTThHWS-oJiW2xm0UvU-xjn1ObzNJogFHRfe_gxUHLIDcdnHPWVt6rACM7WzE1QR6lqcRmleBvNAcH7ZYgBR9Ansrg5dUcdeKCx0RHXkSbKjYxjFob6tvjGR-F8BJZ7s49u5lWGq1XgRWzksM5eLzyQ5XUmvP-_fw6U66vqekUJw&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;1516&quot; data-original-width=&quot;1924&quot; height=&quot;504&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjPf5pytxIRUcej8POTThHWS-oJiW2xm0UvU-xjn1ObzNJogFHRfe_gxUHLIDcdnHPWVt6rACM7WzE1QR6lqcRmleBvNAcH7ZYgBR9Ansrg5dUcdeKCx0RHXkSbKjYxjFob6tvjGR-F8BJZ7s49u5lWGq1XgRWzksM5eLzyQ5XUmvP-_fw6U66vqekUJw=w640-h504&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;에러 메시지&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgPF16H8O7L3e-v-_F6VXUkVmBJgc1eGYZqrP3MEN5RbPrSE08EDgbfyykGW2HIDFZFcBLKz_0Z-8iNEfAGhR7_TuGo-u8Bd6mK6biVMQXeMfx1YG7faeXH794VGAjLhQuL-lUIjOdwPjeMgkIio_m2yRQ70XF-6U6M86AWBIE0nUHyXI7aJ16mdWO8gQ&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;952&quot; data-original-width=&quot;1518&quot; height=&quot;402&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgPF16H8O7L3e-v-_F6VXUkVmBJgc1eGYZqrP3MEN5RbPrSE08EDgbfyykGW2HIDFZFcBLKz_0Z-8iNEfAGhR7_TuGo-u8Bd6mK6biVMQXeMfx1YG7faeXH794VGAjLhQuL-lUIjOdwPjeMgkIio_m2yRQ70XF-6U6M86AWBIE0nUHyXI7aJ16mdWO8gQ=w640-h402&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;이건 그럼 앱아이콘이 아니고 뭐냐???&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjZasmeYzmUcyAoVCRNcUjtOqEm_YCR_zStzQh29_1EZD1JHDqul9WBMvOhw9UG8KcO7fp9_NVlboNeOgxhLXSQEspTkyT673pDVZZ1TP8Xw8cwqJJ9L9pIU29iQD8TM6JA84uE1-KKKpq_1iqP0dmhjhzSf0WUhgPBjo6frNkkAHqYMWX2MneoSRRnHA&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;586&quot; data-original-width=&quot;337&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjZasmeYzmUcyAoVCRNcUjtOqEm_YCR_zStzQh29_1EZD1JHDqul9WBMvOhw9UG8KcO7fp9_NVlboNeOgxhLXSQEspTkyT673pDVZZ1TP8Xw8cwqJJ9L9pIU29iQD8TM6JA84uE1-KKKpq_1iqP0dmhjhzSf0WUhgPBjo6frNkkAHqYMWX2MneoSRRnHA=w368-h640&quot; width=&quot;368&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;미치겠네..&lt;/div&gt;&lt;div&gt;프로젝트 새로 만들어야함??&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://don-forget.blogspot.com/feeds/4585640790257870863/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://don-forget.blogspot.com/2022/03/blog-post.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/4585640790257870863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/4585640790257870863'/><link rel='alternate' type='text/html' href='http://don-forget.blogspot.com/2022/03/blog-post.html' title='앱스토어 등록시 앱아이콘 다 있는데 없다는 개소리가...'/><author><name>happyzen</name><uri>http://www.blogger.com/profile/04722314716266709210</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEjPf5pytxIRUcej8POTThHWS-oJiW2xm0UvU-xjn1ObzNJogFHRfe_gxUHLIDcdnHPWVt6rACM7WzE1QR6lqcRmleBvNAcH7ZYgBR9Ansrg5dUcdeKCx0RHXkSbKjYxjFob6tvjGR-F8BJZ7s49u5lWGq1XgRWzksM5eLzyQ5XUmvP-_fw6U66vqekUJw=s72-w640-h504-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8387509060257844625.post-3365913033181338941</id><published>2022-03-25T05:50:00.005-07:00</published><updated>2022-03-25T05:51:48.697-07:00</updated><title type='text'>[iOS] Derived Data 폴더를 지우니 스위프트 패키지 매니저로 가져온 라이브러리가 사라짐</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;망할...&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEi3zUR4zJg2iffNLqAuQOsVcQp6J_qQLfeCXCg8-Ln7ruQq4PqugrXHfN7QJMMMxtQnNHbmo2UaiHeBBJ1un3XEcbEpUOVI_BW2Gwal0Hf-mczSIlC7cgt4McBtbic5MJTPfsrrqni4O9nfzuAy2oS3IS9ujjv_D8EnP2oBSDs9Duf-NZjrMyB1sPkLkQ&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;184&quot; data-original-width=&quot;498&quot; height=&quot;118&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEi3zUR4zJg2iffNLqAuQOsVcQp6J_qQLfeCXCg8-Ln7ruQq4PqugrXHfN7QJMMMxtQnNHbmo2UaiHeBBJ1un3XEcbEpUOVI_BW2Gwal0Hf-mczSIlC7cgt4McBtbic5MJTPfsrrqni4O9nfzuAy2oS3IS9ujjv_D8EnP2oBSDs9Duf-NZjrMyB1sPkLkQ&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp;그 다음 어떻게 다시 가져 오게 함??&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;일단 XCODE껏다 켜봄&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhNNjI82YosE25x2NRjElgUADbAxqb_DXOz3Xd2z_2W8zZrvwmRulWNhRHMjb8RV8-S_Wxe2ODti4OTxykX_By5kQVZj2yFKWYoru7GveAaSx42A7PU2y4AnVMvqPbCJSybx9rmoajNPtqZ8QEMTVzeh_5bRylzgV-xRCkDWSFJkzXRYZrVm04JKsBYwA&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;80&quot; data-original-width=&quot;296&quot; height=&quot;86&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhNNjI82YosE25x2NRjElgUADbAxqb_DXOz3Xd2z_2W8zZrvwmRulWNhRHMjb8RV8-S_Wxe2ODti4OTxykX_By5kQVZj2yFKWYoru7GveAaSx42A7PU2y4AnVMvqPbCJSybx9rmoajNPtqZ8QEMTVzeh_5bRylzgV-xRCkDWSFJkzXRYZrVm04JKsBYwA&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;되는거 같음.. 개우낌..&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://don-forget.blogspot.com/feeds/3365913033181338941/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://don-forget.blogspot.com/2022/03/ios-derived-data.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/3365913033181338941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/3365913033181338941'/><link rel='alternate' type='text/html' href='http://don-forget.blogspot.com/2022/03/ios-derived-data.html' title='[iOS] Derived Data 폴더를 지우니 스위프트 패키지 매니저로 가져온 라이브러리가 사라짐'/><author><name>happyzen</name><uri>http://www.blogger.com/profile/04722314716266709210</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEi3zUR4zJg2iffNLqAuQOsVcQp6J_qQLfeCXCg8-Ln7ruQq4PqugrXHfN7QJMMMxtQnNHbmo2UaiHeBBJ1un3XEcbEpUOVI_BW2Gwal0Hf-mczSIlC7cgt4McBtbic5MJTPfsrrqni4O9nfzuAy2oS3IS9ujjv_D8EnP2oBSDs9Duf-NZjrMyB1sPkLkQ=s72-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8387509060257844625.post-2657598485225406379</id><published>2021-01-14T08:12:00.008-08:00</published><updated>2021-01-14T08:19:03.043-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Galax"/><category scheme="http://www.blogger.com/atom/ns#" term="RTX3090"/><title type='text'>[뽐] GALAX Geforce RTX 3090 구매!</title><content type='html'>&lt;p style=&quot;text-align: justify;&quot;&gt;RTX20 시리즈를 건너 뛰고, 큰맘먹고 RTX3070이나 3080을 사기로 했다.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;근데 채굴 열풍으로 가격이...&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;3070 가격이 3080이랑 비슷하고, 3080은 150만원은 줘야 한다.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;이 가격은 미친듯해서 뽐뿌를 단념할까 하는 찰나에...&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;RTX3090이 눈에 들어 왔다.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;애초에 넘사벽 가격이라 생각지도 않고 있었는데...&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;3070과 3080의 뻥튀기된 가격을 보니, 오히려 저렴(?)해 보였다고나 할까??&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;어차피 딴데 펑펑 쓸꺼 뻔하니... 큰맘 먹고 구입!!&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;메이커를 놓고 고민을 하다가...&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;후배 추천으로&amp;nbsp;GALAX Geforce RTX 3090 구매했다.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;뭐 210만원 정도 줬으니... 싼건 사실이지만...&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaAuD8tUr0KP8F4eatYgIOgUXqj-3retohmvaEcMgUg93bVlBpM94kidtrp8ulMyVoB68MJjRl45_c65zPY6AI2jQ_XC7SWZXX89EZwr0Fy87UtvGhmJIK2g0KEJACcGhy4URBUbNTR5C2/&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;2048&quot; data-original-width=&quot;1536&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaAuD8tUr0KP8F4eatYgIOgUXqj-3retohmvaEcMgUg93bVlBpM94kidtrp8ulMyVoB68MJjRl45_c65zPY6AI2jQ_XC7SWZXX89EZwr0Fy87UtvGhmJIK2g0KEJACcGhy4URBUbNTR5C2/w240-h320/S__13819966.jpg&quot; width=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;마치 처음 맥북 샀을때의 감동이 ㅎㅎㅎ;;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz9VZdm9k6c4kxygO_JXGv_w390f1JUMdFKvgMMSRfh45qnmkCb8zTxaqdOZHSd2y5Hg87pcutlPMKXb5OIkwHkPPnIn0Xf-YjZFJPYXO673FUcPRJkss8sprwbEG9nyzi4GG_kjUuPgdQ/&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;1536&quot; data-original-width=&quot;2048&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz9VZdm9k6c4kxygO_JXGv_w390f1JUMdFKvgMMSRfh45qnmkCb8zTxaqdOZHSd2y5Hg87pcutlPMKXb5OIkwHkPPnIn0Xf-YjZFJPYXO673FUcPRJkss8sprwbEG9nyzi4GG_kjUuPgdQ/&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlaSGms9-zsj868JW1Tb50o8d1DmK2ddOJpioqhT5PivTAdeyhjZQJ60pqJ-8Z5fTI7HOkp2zXuc3FIU4XRbRFtyR3IXxXULIsoEc5EeYwBfvUGRKCaPSTSLbdvof6ulMAQh48v0zGF8gF/&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;1536&quot; data-original-width=&quot;2048&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlaSGms9-zsj868JW1Tb50o8d1DmK2ddOJpioqhT5PivTAdeyhjZQJ60pqJ-8Z5fTI7HOkp2zXuc3FIU4XRbRFtyR3IXxXULIsoEc5EeYwBfvUGRKCaPSTSLbdvof6ulMAQh48v0zGF8gF/&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;크기가 어마어마 하다 ㅋ&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5q7aOgJQcP7UENCcx99hR3SEmOBr476vIXoJpXcbuPqKL8UlV7bEdH2TrLsxNcDjWGo-sl5dssv37uJFms-U0pJzrWhBB5eE1kz7CPkwMBSNhem0-mqZcZLDpE63YSa5prQr4E4l4MiIQ/&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;2048&quot; data-original-width=&quot;1536&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5q7aOgJQcP7UENCcx99hR3SEmOBr476vIXoJpXcbuPqKL8UlV7bEdH2TrLsxNcDjWGo-sl5dssv37uJFms-U0pJzrWhBB5eE1kz7CPkwMBSNhem0-mqZcZLDpE63YSa5prQr4E4l4MiIQ/w240-h320/S__13819970.jpg&quot; width=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;근데!! ㅠ_ㅠ 너무 커서 내 케이스엔 안들어 간다!!!&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV50ITXD3_apx28Y1jZ-yfP0BH52TjIKcbBvwAWj-Dy_wAbOpZeAKfZZLr_xYyFSh2RXISm-AoeWwq-eBfTafSEkHjWivZfq3JDOJRPO13rnI1rfcruzmXwhN3sOJPQGx4sx1WmtVm48Td/&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;/a&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;2048&quot; data-original-width=&quot;1536&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV50ITXD3_apx28Y1jZ-yfP0BH52TjIKcbBvwAWj-Dy_wAbOpZeAKfZZLr_xYyFSh2RXISm-AoeWwq-eBfTafSEkHjWivZfq3JDOJRPO13rnI1rfcruzmXwhN3sOJPQGx4sx1WmtVm48Td/w240-h320/S__13819964.jpg&quot; style=&quot;margin-left: auto; margin-right: auto;&quot; width=&quot;240&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;어쩔수 없이 케이스 중간 쿨러를 떼어 냈다.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;글구 파워도 700W라 걱정했는데, 아직은 문제가 없는듯?&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;그래도 혹시 몰라서 FSP 1000W 플래티넘으로 주문!!!&lt;/p&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;이녀석도 골드 가격이 겁내 올라서 플래가 싸보였.....&lt;/p&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;일단 게임 몇개 돌려 봤는데, 풀로드 75도, 팬속도 65% 정도&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;뭐 겨울이라 따땃 하니 좋다 ㅋㅋ&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;모니터는 FHD 240hz 쓰는데...&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;해상도 보다는 안정적인 프레임을 선호해서...&lt;/p&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;UHD로 갈까.. QHD로 갈까 아직 고민중...&lt;/p&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;(왠지 글픽 하나 교체 하고 몇백 깨지는 기분이 ㅜ_ㅜ)&lt;/p&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;그래도 대만족!!!&lt;/p&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;(역시 가격이 가격인지라 이벤트 상품도 빵빵함!)&lt;/p&gt;&lt;p&gt;* XANOVA 펄사 키보드 증정 이벤트&lt;/p&gt;&lt;p&gt;http://www.galax.kr/bbs/board.php?bo_table=event&amp;amp;wr_id=1371&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;* XANOVA JUTURNA 헤드셋 증정 이벤트&amp;nbsp;&lt;/p&gt;&lt;p&gt;http://www.galax.kr/bbs/board.php?bo_table=event&amp;amp;wr_id=1370&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;* 콜오브 듀티 콜드워 증정 이벤트&lt;/p&gt;&lt;p&gt;http://www.galax.kr/bbs/board.php?bo_table=event&amp;amp;wr_id=1359&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://don-forget.blogspot.com/feeds/2657598485225406379/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://don-forget.blogspot.com/2021/01/galax-geforce-rtx-3090.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/2657598485225406379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/2657598485225406379'/><link rel='alternate' type='text/html' href='http://don-forget.blogspot.com/2021/01/galax-geforce-rtx-3090.html' title='[뽐] GALAX Geforce RTX 3090 구매!'/><author><name>happyzen</name><uri>http://www.blogger.com/profile/04722314716266709210</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaAuD8tUr0KP8F4eatYgIOgUXqj-3retohmvaEcMgUg93bVlBpM94kidtrp8ulMyVoB68MJjRl45_c65zPY6AI2jQ_XC7SWZXX89EZwr0Fy87UtvGhmJIK2g0KEJACcGhy4URBUbNTR5C2/s72-w240-h320-c/S__13819966.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8387509060257844625.post-3209602298967027492</id><published>2020-03-23T20:56:00.003-07:00</published><updated>2020-03-27T02:48:30.410-07:00</updated><title type='text'>스프링 부트 관련 링크 모음</title><content type='html'>&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;스프링 부트&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;JAR 파일로 배포 -&amp;gt; war 파일로 변경.&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;참고&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.leafcats.com/178&quot;&gt;https://www.leafcats.com/178&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;sts에서 실행 할 때와 다르게 JSP 페이지를 찾지 못함&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://regyu.tistory.com/3&quot;&gt;https://regyu.tistory.com/3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;그냥 jar가 아닌 war파일로 배포하면 됨&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;li&gt;HTTPS 적용 하기&lt;/li&gt;
&lt;li&gt;앱을 백그라운드로 실행하기&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://wlsufld.tistory.com/22&quot;&gt;https://wlsufld.tistory.com/22&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;li&gt;Centos Server 구축&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;ftp 설치&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;war 파일을 올리려면 필요함&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://goddaehee.tistory.com/73&quot;&gt;https://goddaehee.tistory.com/73&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;방화벽 예외 (IP Tables)&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;ftp 포트가 막혀 있기 때문에 풀어 줘야함&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sata.kr/entry/IPTables-5-IPTables-%EB%95%8C%EB%AC%B8%EC%97%90-FTP-%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC-%EC%A1%B0%ED%9A%8C-%EC%8B%A4%ED%8C%A8%EA%B0%80-%EB%B0%9C%EC%83%9D%ED%95%9C%EB%8B%A4%EB%A9%B4-INPUT&quot;&gt;https://sata.kr/entry/IPTables-5-IPTables-%EB%95%8C%EB%AC%B8%EC%97%90-FTP-%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC-%EC%A1%B0%ED%9A%8C-%EC%8B%A4%ED%8C%A8%EA%B0%80-%EB%B0%9C%EC%83%9D%ED%95%9C%EB%8B%A4%EB%A9%B4-INPUT&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
</content><link rel='replies' type='application/atom+xml' href='http://don-forget.blogspot.com/feeds/3209602298967027492/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://don-forget.blogspot.com/2020/03/blog-post.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/3209602298967027492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/3209602298967027492'/><link rel='alternate' type='text/html' href='http://don-forget.blogspot.com/2020/03/blog-post.html' title='스프링 부트 관련 링크 모음'/><author><name>happyzen</name><uri>http://www.blogger.com/profile/04722314716266709210</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8387509060257844625.post-3132804513030753809</id><published>2020-03-23T01:05:00.000-07:00</published><updated>2020-03-23T19:12:19.314-07:00</updated><title type='text'>maridb 관련 기록</title><content type='html'>&lt;ul&gt;
&lt;li&gt;&lt;b&gt;MAC&lt;/b&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;상태 확인&lt;/b&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: &amp;quot;apple sd gothic neo&amp;quot; , &amp;quot;malgun gothic&amp;quot; , &amp;quot;nanum gothic&amp;quot; , &amp;quot;dotum&amp;quot; , sans-serif; font-size: 14.6667px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;mysql.server status&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;apple sd gothic neo&amp;quot; , &amp;quot;malgun gothic&amp;quot; , &amp;quot;nanum gothic&amp;quot; , &amp;quot;dotum&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;시작&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;apple sd gothic neo&amp;quot; , &amp;quot;malgun gothic&amp;quot; , &amp;quot;nanum gothic&amp;quot; , &amp;quot;dotum&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;mysql.server start&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;apple sd gothic neo&amp;quot; , &amp;quot;malgun gothic&amp;quot; , &amp;quot;nanum gothic&amp;quot; , &amp;quot;dotum&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;정지&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;apple sd gothic neo&amp;quot; , &amp;quot;malgun gothic&amp;quot; , &amp;quot;nanum gothic&amp;quot; , &amp;quot;dotum&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;mysql.server stop&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;apple sd gothic neo&amp;quot; , &amp;quot;malgun gothic&amp;quot; , &amp;quot;nanum gothic&amp;quot; , &amp;quot;dotum&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;실행&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;apple sd gothic neo&amp;quot; , &amp;quot;malgun gothic&amp;quot; , &amp;quot;nanum gothic&amp;quot; , &amp;quot;dotum&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;sudo mysql -uroot&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;apple sd gothic neo&amp;quot; , &amp;quot;malgun gothic&amp;quot; , &amp;quot;nanum gothic&amp;quot; , &amp;quot;dotum&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;SQL&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;apple sd gothic neo&amp;quot; , &amp;quot;malgun gothic&amp;quot; , &amp;quot;nanum gothic&amp;quot; , &amp;quot;dotum&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;database 생성&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;apple sd gothic neo&amp;quot; , &amp;quot;malgun gothic&amp;quot; , &amp;quot;nanum gothic&amp;quot; , &amp;quot;dotum&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;create database {database_name};&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;apple sd gothic neo&amp;quot; , &amp;quot;malgun gothic&amp;quot; , &amp;quot;nanum gothic&amp;quot; , &amp;quot;dotum&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;사용자 생성&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;apple sd gothic neo&amp;quot; , &amp;quot;malgun gothic&amp;quot; , &amp;quot;nanum gothic&amp;quot; , &amp;quot;dotum&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;create user &#39;{user_name}&#39;@&#39;{% | localhost | host}&#39; identified by &#39;{password}&#39;;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;apple sd gothic neo&amp;quot; , &amp;quot;malgun gothic&amp;quot; , &amp;quot;nanum gothic&amp;quot; , &amp;quot;dotum&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;사용자에게 DB 권한 부여&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;apple sd gothic neo&amp;quot; , &amp;quot;malgun gothic&amp;quot; , &amp;quot;nanum gothic&amp;quot; , &amp;quot;dotum&amp;quot; , sans-serif;&quot;&gt;&lt;b style=&quot;font-size: 14.6667px; white-space: pre-wrap;&quot;&gt;grant {select | insert | update | delete | all &lt;/b&gt;&lt;span style=&quot;font-size: 14.6667px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;privileges&lt;/b&gt;&lt;/span&gt;&lt;b style=&quot;font-size: 14.6667px; white-space: pre-wrap;&quot;&gt;} on {db_name | *}.{table
_name | *} to &#39;user_id&#39;@&#39;&lt;b style=&quot;font-size: 14.6667px;&quot;&gt;{% | localhost | address}&lt;/b&gt;&#39;;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;apple sd gothic neo&amp;quot; , &amp;quot;malgun gothic&amp;quot; , &amp;quot;nanum gothic&amp;quot; , &amp;quot;dotum&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;권한확인&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;apple sd gothic neo&amp;quot; , &amp;quot;malgun gothic&amp;quot; , &amp;quot;nanum gothic&amp;quot; , &amp;quot;dotum&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;show grants;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;b style=&quot;color: #333333; font-family: &amp;quot;apple sd gothic neo&amp;quot;, &amp;quot;malgun gothic&amp;quot;, &amp;quot;nanum gothic&amp;quot;, dotum, sans-serif; font-size: 14.6667px; white-space: pre-wrap;&quot;&gt;권한 적용&lt;/b&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;apple sd gothic neo&amp;quot; , &amp;quot;malgun gothic&amp;quot; , &amp;quot;nanum gothic&amp;quot; , &amp;quot;dotum&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;apple sd gothic neo&amp;quot; , &amp;quot;malgun gothic&amp;quot; , &amp;quot;nanum gothic&amp;quot; , &amp;quot;dotum&amp;quot; , sans-serif; font-size: 14.6667px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;flush privileges;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://don-forget.blogspot.com/feeds/3132804513030753809/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://don-forget.blogspot.com/2020/03/maridb.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/3132804513030753809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/3132804513030753809'/><link rel='alternate' type='text/html' href='http://don-forget.blogspot.com/2020/03/maridb.html' title='maridb 관련 기록'/><author><name>happyzen</name><uri>http://www.blogger.com/profile/04722314716266709210</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8387509060257844625.post-2469083693514710047</id><published>2020-02-12T00:18:00.002-08:00</published><updated>2020-02-12T00:18:47.889-08:00</updated><title type='text'>Corona Board 어플리케이션은 개인정보보호 방침</title><content type='html'>&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;Corona Board 어플리케이션은 개인정보보호법에 따라 이용자들의 개인정보 보호 및 권익을 보호하고자 다음과 같은 처리방침을 두고 있습니다.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;당사는 개인정보처리방침을 개정하는 경우 앱 화면 및 웹사이트 공지사항을 통하여 공지할 것입니다.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;1.개인정보의 처리 목적 :&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;본 어플리케이션은 개인정보를 수집하지 않는 독립 실행형 어플리케이션으로 별도의 서버를 운영하거나 정보를 수집하지 않습니다.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;당사는 Firebase 서비스 기능을 이용하기 위한 특정 개인과 직접적인 관련이 없는, 개인식별이 불가능한 정보를 수집할 수 있습니다.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;당사에서 개인정보를 별도로 저장하거나 이용하지 않습니다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;2. 개인정보 파일 현황&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;당사는 별도의 개인정보 파일을 사용하지 않으며 저장하지도 않습니다.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;당사는 쿠기를 저장하지 않으며 이용하지 않습니다.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;단, 스토어 서비스가 이용하는 정보 및 광고서비스가 이용하는 정보는 해당 서비스의 SDK를 거쳐 이용하게 됩니다. 이는 당사에 저장되는 정보가 아닙니다.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;이용자가 이에 대해 의문이 있다면 해당 서비스(구글)로 직접 연락해야 합니다.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;3. 개인정보의 처리 및 보유기간&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;당사는 개인정보를 직접적으로 저장하거나 보유하지 않습니다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;따라서 당사는 이용자의 개인정보를 처리하는 내용도 보유기간도 없습니다.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;4.개인정보의 제3자 제공에 관한 사항&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;당사는 개인정보를 제3자에게 제공하지 않고 있습니다.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;5.개인정보처리 위탁.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;당사는 개인정보를 위탁하고 있지않습니다.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;6.정보주체의 권리, 의무 및 그 행사방법&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;이용자는 개인정보주체로서 권리 행사할 수 있습니다.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;1) 개인정보 열람요구&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;2) 오류 등이 있을 경우 정정 요구&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;3) 삭제요구&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;4) 처리 정지 요구&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;당사는 개인정보를 저장하거나 위탁하지 않습니다.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: #666666; font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;- 이메일 : herpod@gmail.com&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://don-forget.blogspot.com/feeds/2469083693514710047/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://don-forget.blogspot.com/2020/02/corona-board.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/2469083693514710047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/2469083693514710047'/><link rel='alternate' type='text/html' href='http://don-forget.blogspot.com/2020/02/corona-board.html' title='Corona Board 어플리케이션은 개인정보보호 방침'/><author><name>happyzen</name><uri>http://www.blogger.com/profile/04722314716266709210</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8387509060257844625.post-5458182665508209722</id><published>2020-01-09T23:13:00.000-08:00</published><updated>2020-01-09T23:13:24.684-08:00</updated><title type='text'>postgreSQL에서 mySQL과 다른 문법 정리</title><content type='html'>&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;limit&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;mySQL: limit 0, 10&lt;/li&gt;
&lt;li&gt;postgreSQL: limit 10 offset 0&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
</content><link rel='replies' type='application/atom+xml' href='http://don-forget.blogspot.com/feeds/5458182665508209722/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://don-forget.blogspot.com/2020/01/postgresql-mysql.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/5458182665508209722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/5458182665508209722'/><link rel='alternate' type='text/html' href='http://don-forget.blogspot.com/2020/01/postgresql-mysql.html' title='postgreSQL에서 mySQL과 다른 문법 정리'/><author><name>happyzen</name><uri>http://www.blogger.com/profile/04722314716266709210</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8387509060257844625.post-4079949860047254615</id><published>2019-10-07T09:53:00.000-07:00</published><updated>2019-10-07T11:38:02.694-07:00</updated><title type='text'>[스프링] 클라 개발자의 스프링 삽질기...</title><content type='html'># 나는 뭘했지?&lt;br /&gt;
1. 남들 자바 할때 C/C++만 하면 된다는 말을 철썩같이 믿고, C/C++만 파다 실무는 Win32개발로 시작.&lt;br /&gt;
2. Win32 + OpenGL 어플 개발&lt;br /&gt;
3. 리눅스도 안돌아가는.. OS 도 없는 임베디드 소프트웨어 개발&lt;br /&gt;
4. 안드로이드 개발로 전향 Java&lt;br /&gt;
5. 아이폰 개발로 전향 Objective-C -&amp;gt; Swift&lt;br /&gt;
6. 잠깐 다시 안드로이드 feat. Kotlin&lt;br /&gt;
7. 다시 아이폰 개발.&lt;br /&gt;
&lt;br /&gt;
# 참고 서적&lt;br /&gt;
&amp;nbsp; 1. 토비의 스프링 3&lt;br /&gt;
&amp;nbsp; &amp;nbsp; 그래도 굴러먹은 짬밥은 있어서 초반의 설명을 이해하는데는 큰 어려움이 없었음.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; 다만, 이렇게까지 해야 되나? 하는 의문은 있었지만....&lt;br /&gt;
&lt;br /&gt;
2.코드로 배우는 스프링 웹 프로젝트&lt;br /&gt;
&amp;nbsp; &amp;nbsp;우선 MySql이 유료로 바뀌면서 회원 가입을 해야 설치가 됨.&lt;br /&gt;
&amp;nbsp; &amp;nbsp;교재는 MySql로 되어 있었는데... 우선&amp;nbsp;&lt;span style=&quot;font-family: , &amp;quot;gulim&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: 13px;&quot;&gt;PostgreSQL&lt;/span&gt;이란 걸로 설치 해봄&lt;br /&gt;
&amp;nbsp; &amp;nbsp;내가 받은 스프링 개발 도구는 4.x 대 버전이었는데, 책은 3기준.&lt;br /&gt;
&amp;nbsp; &amp;nbsp;예제 생성을 위해서는 New&amp;gt;Spring Legacy Project 메뉴가 있어야 하는데 없음...&lt;br /&gt;
&amp;nbsp; &amp;nbsp;-&amp;gt;&amp;nbsp;Eclipse Marketplace 에서 sts로 검색하여 Spring tools 3 Add-On 을 설치한다.&lt;br /&gt;
&lt;a href=&quot;https://marketplace.eclipse.org/content/spring-tools-3-add-spring-tools-4#group-details&quot;&gt;https://marketplace.eclipse.org/content/spring-tools-3-add-spring-tools-4#group-details&lt;/a&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp;-&amp;gt; 더럽게 오래 걸리는데다, 중간에 몇번 실패함... 결국 성공&lt;br /&gt;
&amp;nbsp; &amp;nbsp;-&amp;gt; File &amp;gt; New 에 바로 표시 되는게 아니고, File &amp;gt; New &amp;gt; Project... &amp;gt; Spring 에 보임&lt;br /&gt;
&amp;nbsp; &amp;nbsp;ex00 프로젝트를 생성하자 마자, 바로 에러 발생 -ㅁ-;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp;검색하니 Spring Project Nature 를 지우라고 함&lt;br /&gt;
&amp;nbsp; &amp;nbsp;뭐 이건 되는게 하나도 없음? Run on server 메뉴가 보이지 않음&lt;br /&gt;
&amp;nbsp; &amp;nbsp;-&amp;gt; 프로젝트 속성 &amp;gt; Project Facets &amp;gt; Dynamic Web Module 를 체크 하라는데, 스테틱 웹 모듈 밖에 없음 --;; 장난 하나...&lt;br /&gt;
&amp;nbsp; &amp;nbsp;-&amp;gt; 이번엔 &quot;Eclipse Java EE Developer Tools&quot; 이걸 깔아줌..&lt;br /&gt;
책에는 Run on server 를 하면 기존에 존제하는 서버가 있나 본데.. 난 뭐 이렇게 일이 쉽게 풀릴리 없지.... 수동 생성으로 하나 만들기로 함.&lt;br /&gt;
책과 가장 근접한 &quot;Pivotal tc Server v3.0 - v3.2 at localhost&quot; 이걸로 만들어 봄&lt;br /&gt;
-&amp;gt; 톰켓이 없다고 생성도 안됨..&lt;br /&gt;
-&amp;gt; &quot;&lt;span style=&quot;color: #222222; font-family: &amp;quot;malgun gothic&amp;quot; , sans-serif; font-size: 13.3333px; font-weight: 700; text-align: center;&quot;&gt;brew install tomcat@8&lt;/span&gt;&quot; 로 톰켓 8.5 설치&lt;br /&gt;
톰켓 실행&lt;br /&gt;
-&amp;gt; cd /usr/local/Cellar/tomcat\@8/8.5.46/bin&lt;br /&gt;
-&amp;gt; ./catalina start&lt;br /&gt;
설치는 했으나 &quot;Pivotal tc Server&quot; 랑은 다른듯 함.&lt;br /&gt;
톰켓 8.5로 변경 하고 &quot;&lt;span style=&quot;font-family: &amp;quot;menlo&amp;quot;; font-size: 11px;&quot;&gt;/usr/local/Cellar/tomcat@8/8.5.46/libexec&lt;/span&gt;&quot;를 경로로 지정 해줌.&lt;br /&gt;
실행 하려 하니 이미 켜져 있다고 함&lt;br /&gt;
-&amp;gt; ./catalina stop&lt;br /&gt;
다시 실행하니 됨 (Hello world 찍는데 3시간 걸렸네;;)&lt;br /&gt;
&lt;br /&gt;
&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000}
span.s1 {font-variant-ligatures: no-common-ligatures}
&lt;/style&gt;


&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;
&lt;br /&gt;
&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;
&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;
# 삽질중...&lt;br /&gt;
&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;
</content><link rel='replies' type='application/atom+xml' href='http://don-forget.blogspot.com/feeds/4079949860047254615/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://don-forget.blogspot.com/2019/10/blog-post.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/4079949860047254615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/4079949860047254615'/><link rel='alternate' type='text/html' href='http://don-forget.blogspot.com/2019/10/blog-post.html' title='[스프링] 클라 개발자의 스프링 삽질기...'/><author><name>happyzen</name><uri>http://www.blogger.com/profile/04722314716266709210</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8387509060257844625.post-6482569729457271946</id><published>2019-05-21T11:09:00.002-07:00</published><updated>2019-05-21T11:24:29.952-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="ionic"/><category scheme="http://www.blogger.com/atom/ns#" term="iOS"/><title type='text'>[IONIC] 아이오닉으로 실행할때 필요했던 커맨드 명령어 모음.</title><content type='html'>&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;일단 개발 환경이 중요함.&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;MAC OS 10.14&lt;/li&gt;
&lt;li&gt;XCODE 10.0&lt;/li&gt;
&lt;li&gt;Android Studio 3.4.1&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;node.js 설치&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;$ brew install node&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;IONIC 설치&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;$ npm install -g cordova ionic&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;IONIC 샘플 앱 생성&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;$ ionic start myApp tabs&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;IONIC 아이폰 앱 빌드&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;플랫폼 추가&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;$ ionic cordova&amp;nbsp;platform add ios&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;빌드&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;$ ionic build ios&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;시뮬레이터 설치&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;$ npm install -g ios-sim&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;앱 실행&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;$ ionic cordova&amp;nbsp; emulate ios&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaO5ptqARnYlJA9NNuU9I8YRlnpdZpgcG8k06uAVmr5i-CppLjZ2OAqWNoI50pMYo1Ew7KDV3MWOLjHx5YM6Ky4wjbcrawmMDACafWhcFavCEIuoGXYZ11xf6TkPMIpUQ6NAzIWOOOO6I8/s1600/%25E1%2584%2589%25E1%2585%25B3%25E1%2584%258F%25E1%2585%25B3%25E1%2584%2585%25E1%2585%25B5%25E1%2586%25AB%25E1%2584%2589%25E1%2585%25A3%25E1%2586%25BA+2019-05-22+%25E1%2584%258B%25E1%2585%25A9%25E1%2584%258C%25E1%2585%25A5%25E1%2586%25AB+3.08.39.png&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaO5ptqARnYlJA9NNuU9I8YRlnpdZpgcG8k06uAVmr5i-CppLjZ2OAqWNoI50pMYo1Ew7KDV3MWOLjHx5YM6Ky4wjbcrawmMDACafWhcFavCEIuoGXYZ11xf6TkPMIpUQ6NAzIWOOOO6I8/s640/%25E1%2584%2589%25E1%2585%25B3%25E1%2584%258F%25E1%2585%25B3%25E1%2584%2585%25E1%2585%25B5%25E1%2586%25AB%25E1%2584%2589%25E1%2585%25A3%25E1%2586%25BA+2019-05-22+%25E1%2584%258B%25E1%2585%25A9%25E1%2584%258C%25E1%2585%25A5%25E1%2586%25AB+3.08.39.png&quot; width=&quot;347&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;IONIC 안드로이드 앱 빌드&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;플랫폼 추가&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;$ ionic cordova&amp;nbsp;platform add android&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;빌드&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;$ ionic build android&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;앱 실행&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;$ ionic cordova emulate android&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha2MEkt2Dlr0uKcqPcpnStpR6TjiVQFHTimrQoie17lcbRpcbZc4yRAIqA8tuD1z6sWt6ksgEiBVEVQjJoohMmBSzns8lEivaVixIddkVWQKQ1KJbA1dqZQ6CzOPzkgzH4fl9xES63b1IO/s1600/%25E1%2584%2589%25E1%2585%25B3%25E1%2584%258F%25E1%2585%25B3%25E1%2584%2585%25E1%2585%25B5%25E1%2586%25AB%25E1%2584%2589%25E1%2585%25A3%25E1%2586%25BA+2019-05-22+%25E1%2584%258B%25E1%2585%25A9%25E1%2584%258C%25E1%2585%25A5%25E1%2586%25AB+3.23.29.png&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha2MEkt2Dlr0uKcqPcpnStpR6TjiVQFHTimrQoie17lcbRpcbZc4yRAIqA8tuD1z6sWt6ksgEiBVEVQjJoohMmBSzns8lEivaVixIddkVWQKQ1KJbA1dqZQ6CzOPzkgzH4fl9xES63b1IO/s640/%25E1%2584%2589%25E1%2585%25B3%25E1%2584%258F%25E1%2585%25B3%25E1%2584%2585%25E1%2585%25B5%25E1%2586%25AB%25E1%2584%2589%25E1%2585%25A3%25E1%2586%25BA+2019-05-22+%25E1%2584%258B%25E1%2585%25A9%25E1%2584%258C%25E1%2585%25A5%25E1%2586%25AB+3.23.29.png&quot; width=&quot;344&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;아이폰 빌드 예외 해결용&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;xcode-select 설치&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;$&amp;nbsp;xcode-select --install&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;10.14 버전 (Mojave) xcode-select 설정&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;$ sudo xcode-select -s /Applications/Xcode.app/Contents/Developer&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;안드로이드 빌드 예외 해결용&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;자바 1.8 설치 (1.8만 된다 -ㅁ-;;)&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html&quot;&gt;https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;자바 버전 확인&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;javac -version&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;현재 자바 홈 확인&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;$ /usr/libexec/java_home -V&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;자바가 여러개 깔렸을때 1.8을 홈으로 지정&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;$ export JAVA_HOME=`/usr/libexec/java_home -v 1.8`&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Gradle 설치&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;$&amp;nbsp;brew install gradle&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;빌드중에 라이선스 오류가 난다면...&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Android Studio에서 해당 항목 업데이트&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCKmPd82O1dQFpXOtEjMRUHzjWoy6i47T_qlnWiCtm9V1d3u4PrXr7oKXIPhlQoMPGyKDQflVj5rOdn_3h28YnXaX9ODbhsrz2_nc5rMnclXH1ho0lD-jjQ9zHxOV7qcPJH120WDWrd1ac/s1600/%25E1%2584%2589%25E1%2585%25B3%25E1%2584%258F%25E1%2585%25B3%25E1%2584%2585%25E1%2585%25B5%25E1%2586%25AB%25E1%2584%2589%25E1%2585%25A3%25E1%2586%25BA+2019-05-22+%25E1%2584%258B%25E1%2585%25A9%25E1%2584%258C%25E1%2585%25A5%25E1%2586%25AB+3.18.18.png&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;460&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCKmPd82O1dQFpXOtEjMRUHzjWoy6i47T_qlnWiCtm9V1d3u4PrXr7oKXIPhlQoMPGyKDQflVj5rOdn_3h28YnXaX9ODbhsrz2_nc5rMnclXH1ho0lD-jjQ9zHxOV7qcPJH120WDWrd1ac/s640/%25E1%2584%2589%25E1%2585%25B3%25E1%2584%258F%25E1%2585%25B3%25E1%2584%2585%25E1%2585%25B5%25E1%2586%25AB%25E1%2584%2589%25E1%2585%25A3%25E1%2586%25BA+2019-05-22+%25E1%2584%258B%25E1%2585%25A9%25E1%2584%258C%25E1%2585%25A5%25E1%2586%25AB+3.18.18.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6yOZwcertJ6upQreBHGsT3wpFReudL08CJTBJON06w7kqBll2RVAFJU51og3YuYKWI9zsT8KVOtW-s97kpJnGhSCHf2Ebd-VGjlN-T3-I5COZbOnFNw8NQCpMNrgA_WwEdPjF9CEChgot/s1600/%25E1%2584%2589%25E1%2585%25B3%25E1%2584%258F%25E1%2585%25B3%25E1%2584%2585%25E1%2585%25B5%25E1%2586%25AB%25E1%2584%2589%25E1%2585%25A3%25E1%2586%25BA+2019-05-22+%25E1%2584%258B%25E1%2585%25A9%25E1%2584%258C%25E1%2585%25A5%25E1%2586%25AB+3.18.26.png&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;264&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6yOZwcertJ6upQreBHGsT3wpFReudL08CJTBJON06w7kqBll2RVAFJU51og3YuYKWI9zsT8KVOtW-s97kpJnGhSCHf2Ebd-VGjlN-T3-I5COZbOnFNw8NQCpMNrgA_WwEdPjF9CEChgot/s640/%25E1%2584%2589%25E1%2585%25B3%25E1%2584%258F%25E1%2585%25B3%25E1%2584%2585%25E1%2585%25B5%25E1%2586%25AB%25E1%2584%2589%25E1%2585%25A3%25E1%2586%25BA+2019-05-22+%25E1%2584%258B%25E1%2585%25A9%25E1%2584%258C%25E1%2585%25A5%25E1%2586%25AB+3.18.26.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9ZzamFRkXJP245iYTnGtV3S6Auu8b21OGY3-3yH7VQwJT2hV1fNPyIpB6qi_2O_Q3l06x05qi-A_WZIPYWcBC89uGX-SAoF5XaWmCI4KN6Byw4yREclFtIfCdBVs7ghEexI9ywjfj85vp/s1600/%25E1%2584%2589%25E1%2585%25B3%25E1%2584%258F%25E1%2585%25B3%25E1%2584%2585%25E1%2585%25B5%25E1%2586%25AB%25E1%2584%2589%25E1%2585%25A3%25E1%2586%25BA+2019-05-22+%25E1%2584%258B%25E1%2585%25A9%25E1%2584%258C%25E1%2585%25A5%25E1%2586%25AB+3.18.32.png&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;550&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9ZzamFRkXJP245iYTnGtV3S6Auu8b21OGY3-3yH7VQwJT2hV1fNPyIpB6qi_2O_Q3l06x05qi-A_WZIPYWcBC89uGX-SAoF5XaWmCI4KN6Byw4yREclFtIfCdBVs7ghEexI9ywjfj85vp/s640/%25E1%2584%2589%25E1%2585%25B3%25E1%2584%258F%25E1%2585%25B3%25E1%2584%2585%25E1%2585%25B5%25E1%2586%25AB%25E1%2584%2589%25E1%2585%25A3%25E1%2586%25BA+2019-05-22+%25E1%2584%258B%25E1%2585%25A9%25E1%2584%258C%25E1%2585%25A5%25E1%2586%25AB+3.18.32.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://don-forget.blogspot.com/feeds/6482569729457271946/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://don-forget.blogspot.com/2019/05/ionic.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/6482569729457271946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/6482569729457271946'/><link rel='alternate' type='text/html' href='http://don-forget.blogspot.com/2019/05/ionic.html' title='[IONIC] 아이오닉으로 실행할때 필요했던 커맨드 명령어 모음.'/><author><name>happyzen</name><uri>http://www.blogger.com/profile/04722314716266709210</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaO5ptqARnYlJA9NNuU9I8YRlnpdZpgcG8k06uAVmr5i-CppLjZ2OAqWNoI50pMYo1Ew7KDV3MWOLjHx5YM6Ky4wjbcrawmMDACafWhcFavCEIuoGXYZ11xf6TkPMIpUQ6NAzIWOOOO6I8/s72-c/%25E1%2584%2589%25E1%2585%25B3%25E1%2584%258F%25E1%2585%25B3%25E1%2584%2585%25E1%2585%25B5%25E1%2586%25AB%25E1%2584%2589%25E1%2585%25A3%25E1%2586%25BA+2019-05-22+%25E1%2584%258B%25E1%2585%25A9%25E1%2584%258C%25E1%2585%25A5%25E1%2586%25AB+3.08.39.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8387509060257844625.post-7485789882526440900</id><published>2018-07-24T21:47:00.000-07:00</published><updated>2018-07-24T21:47:12.887-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="안드로이드"/><title type='text'>[Android] 안드로이드 tools:text에 샘플 텍스트 넣기</title><content type='html'>&lt;span style=&quot;color: #24292e; font-family: -apple-system, system-ui, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;&quot;&gt;&lt;span style=&quot;background-color: white; font-size: 14px;&quot;&gt;안드로이드 레이아웃을 잡을때 샘플 텍스트를 지정 할때가 있는데, 아래와 같은 녀석을 쓰면 편리 하다.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #24292e; font-family: -apple-system, system-ui, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;&quot;&gt;&lt;span style=&quot;background-color: white; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: #24292e; font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 14px;&quot;&gt;tools:text = &quot;이런것 대신에...&quot;&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;background-color: white; box-sizing: border-box; color: #24292e; font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 14px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #24292e; font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 14px;&quot;&gt;&quot;@tools:sample/lorem/random&quot; , &quot;@tools:sample/full_names&quot; , &quot;@tools:sample/full_names&quot; ,&quot;@tools:sample/cities&quot;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://don-forget.blogspot.com/feeds/7485789882526440900/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://don-forget.blogspot.com/2018/07/android-toolstext.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/7485789882526440900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/7485789882526440900'/><link rel='alternate' type='text/html' href='http://don-forget.blogspot.com/2018/07/android-toolstext.html' title='[Android] 안드로이드 tools:text에 샘플 텍스트 넣기'/><author><name>happyzen</name><uri>http://www.blogger.com/profile/04722314716266709210</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8387509060257844625.post-1699326281328532502</id><published>2018-07-11T01:31:00.001-07:00</published><updated>2018-07-11T01:31:14.362-07:00</updated><title type='text'>[Kotlin] 코틀린 특징 정리 (스위프트와의 차이, 자바도..)</title><content type='html'>코틀린 특징 정리 (스위프트와의 차이, 자바도..)&lt;br /&gt;
&lt;br /&gt;
1. static 키워드가 없다 (9)&lt;br /&gt;
2. let대신 val 사용 (85)&lt;br /&gt;
3. 이름 변경해서 임포트 가능 (80)&lt;br /&gt;
&amp;nbsp; import java.text.SimpleDateFormat as MySimpleDateFormat&lt;br /&gt;
4. 파일 위치와 패키지 이름은 달라도 상관 없다. (82)&lt;br /&gt;
5. 함수 선언 fun (91)&lt;br /&gt;
6. 함수내에 함수 선언 가능 (92)&lt;br /&gt;
7. 단일 표현 함수, 반환 타입도 생략 가능 (95)&lt;br /&gt;
&amp;nbsp; fun some(a: Int, b: Int): = a + b&lt;br /&gt;
8. 매개변수 이름을 지정 할수 있다. (95)&lt;br /&gt;
&amp;nbsp; fun some(a: Int, b: Int) 일때,&lt;br /&gt;
&amp;nbsp; &amp;gt; some(a = 3, b = 7) 이렇게&lt;br /&gt;
9. Infix 함수 (97)&lt;br /&gt;
&amp;nbsp; infix fun Int.testFun(x: Int): Int {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; return this + x&lt;br /&gt;
&amp;nbsp; }&lt;br /&gt;
10. 재귀 함수 생성시 tailrec 키워드를 주면 컴파일러가 일반적인 반복문으로 컴파일 함. (101)&lt;br /&gt;
&amp;nbsp; &amp;gt; 단, 재귀 호출을 마지막에 하지 않는 다면 의미가 없다.&lt;br /&gt;
11. &quot;&quot;&quot; 로 묶어 raw 스트링 표현 (110)&lt;br /&gt;
&amp;nbsp; &amp;gt; 탈출 문자가 없음&lt;br /&gt;
12. Any 타입과 when (112)&lt;br /&gt;
&amp;nbsp; &amp;gt; when (obj) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; 1 -&amp;gt; return &quot;One&quot;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &quot;Hello&quot; -&amp;gt; return &quot;String&quot;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; is Long -&amp;gt; return &quot;Long&quot;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; !is String -&amp;gt; return &quot;Not a String&quot;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; else -&amp;gt; &quot;unknown String&quot;&lt;br /&gt;
&amp;nbsp; }&lt;br /&gt;
13. Unit, Nothing 보이드 같은 개념, 제네릭에서 추가 정리 필요 (115)&lt;br /&gt;
14. is 캐스팅, !is도 있음 (116)&lt;br /&gt;
15. 형 변환 (117)&lt;br /&gt;
&amp;nbsp; &amp;gt; var dbl = 10.toDouble()&lt;br /&gt;
16. 배열 생성 (118)&lt;br /&gt;
&amp;nbsp; &amp;gt; arrayOf&amp;lt;T&amp;gt;(...)&lt;br /&gt;
&amp;nbsp; &amp;gt; intArrayOf(), xxxxArrayOf()&lt;br /&gt;
&amp;nbsp; &amp;gt; Array(size: Int, init: (Int) -&amp;gt; T)&lt;br /&gt;
17. 코틀린은 switch-case가 없음 (131)&lt;br /&gt;
18. 배열 선언 및 초기화에 [], {} 를 사용 할 수 없다. (131)&lt;br /&gt;
19. if-else 구문을 표현식으로 사용 가능 (133)&lt;br /&gt;
&amp;nbsp; &amp;gt; val result = if (a &amp;gt; 0) &quot;Big&quot; else &quot;Small&quot;&lt;br /&gt;
&amp;nbsp; &amp;gt; 표현식으로 쓰인 경우 else 부분이 없으면 에러가 발생 한다.&lt;br /&gt;
&amp;nbsp; &amp;gt; 또한 여러 줄인 경우, 마지막 줄이 결과 값이 된다.&lt;br /&gt;
20. when 구문 (137)&lt;br /&gt;
&amp;nbsp; &amp;gt; 12, 10 같이 여러 조건 사용 가능&lt;br /&gt;
&amp;nbsp; &amp;gt; in 1..100 같이 범위 지정 가능&lt;br /&gt;
&amp;nbsp; &amp;gt; !in 20..100&lt;br /&gt;
&amp;nbsp; &amp;gt; in list, in array 같이 여러 데이터에 속하는지를 가지고도 분기 가능&lt;br /&gt;
&amp;nbsp; &amp;gt; if-else의 대체용으로 사용 가능&lt;br /&gt;
&amp;nbsp; &amp;gt; when도 표현식으로 사용 가능함&lt;br /&gt;
21. for문 (142)&lt;br /&gt;
&amp;nbsp; &amp;gt; for (i in list.indices) // list의 인덱스를 이용&lt;br /&gt;
&amp;nbsp; &amp;gt; for ((index, value) in list.withIndex()) // 인덱스와 값 모두 활용&lt;br /&gt;
&amp;nbsp; &amp;gt; for (i in 1 until 100) 1부터 99까지&lt;br /&gt;
&amp;nbsp; &amp;gt; for (i in 1 until 100 step) 1부터 99까지 2씩 증가&lt;br /&gt;
&amp;nbsp; &amp;gt; for (i in 100 downTo 1) 100부터 1까지&lt;br /&gt;
22. continue, break에 라벨 사용 (147)&lt;br /&gt;
&amp;nbsp; &amp;gt; aaa@ for (i in 1..3) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; for (j in 1..3) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (j &amp;gt; i) break@aaa&amp;nbsp; &amp;nbsp;// aaa까지 빠져 나감&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;println(&quot;Do&quot;)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; }&lt;br /&gt;
23. 전개 연산자 * (149)&lt;br /&gt;
&amp;nbsp; &amp;gt; val list2 = asList(1, 2, *array, 100, 200)&lt;br /&gt;
24. 전개 연산자를 매개 변수로 받기&lt;br /&gt;
&amp;nbsp; &amp;gt; fun some(vararg a: String)&lt;br /&gt;
25. 일치 연산자 (156)&lt;br /&gt;
&amp;nbsp; &amp;gt; a === b // a와 b가 같은 객체이면 true&lt;br /&gt;
&amp;nbsp; &amp;gt; a !== b // a와 b가 다른 객체이면 true&lt;br /&gt;
26. 코틀린은 삼항 연산자가 없다, if-else를 이용하자. (169)</content><link rel='replies' type='application/atom+xml' href='http://don-forget.blogspot.com/feeds/1699326281328532502/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://don-forget.blogspot.com/2018/07/kotlin.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/1699326281328532502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/1699326281328532502'/><link rel='alternate' type='text/html' href='http://don-forget.blogspot.com/2018/07/kotlin.html' title='[Kotlin] 코틀린 특징 정리 (스위프트와의 차이, 자바도..)'/><author><name>happyzen</name><uri>http://www.blogger.com/profile/04722314716266709210</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8387509060257844625.post-7401423888668969464</id><published>2018-07-08T10:32:00.000-07:00</published><updated>2018-07-08T10:46:36.127-07:00</updated><title type='text'>[Swift, RxSwift] 매번 헷갈리는 map, flatmap.</title><content type='html'>&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
Single.just(1).map { (input) -&amp;gt; String in&lt;/blockquote&gt;
&lt;blockquote&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return &quot;Value = \(input)&quot;&lt;/blockquote&gt;
&lt;blockquote&gt;
&amp;nbsp; &amp;nbsp; }.flatMap { (input) -&amp;gt; PrimitiveSequence&amp;lt;SingleTrait, String&amp;gt; in&lt;/blockquote&gt;
&lt;blockquote&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Single.just(input + &quot; Desu.&quot;)&lt;/blockquote&gt;
&lt;blockquote&gt;
&amp;nbsp; &amp;nbsp; }.subscribe(onSuccess: { (result) in&lt;/blockquote&gt;
&lt;blockquote&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print(result)&lt;/blockquote&gt;
&lt;blockquote&gt;
&amp;nbsp; &amp;nbsp; }).disposed(by: disposeBag)&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;/blockquote&gt;
</content><link rel='replies' type='application/atom+xml' href='http://don-forget.blogspot.com/feeds/7401423888668969464/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://don-forget.blogspot.com/2018/07/swift-rxswift-map-flatmap.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/7401423888668969464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/7401423888668969464'/><link rel='alternate' type='text/html' href='http://don-forget.blogspot.com/2018/07/swift-rxswift-map-flatmap.html' title='[Swift, RxSwift] 매번 헷갈리는 map, flatmap.'/><author><name>happyzen</name><uri>http://www.blogger.com/profile/04722314716266709210</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8387509060257844625.post-4007221238242837641</id><published>2017-08-16T01:35:00.001-07:00</published><updated>2017-08-16T01:35:34.088-07:00</updated><title type='text'></title><content type='html'>&lt;FROM&gt;
 &lt;INPUT type = &#39;Button&#39; value = &#39;버튼&#39; onclick = &#39;test()&#39;&gt;
&lt;/FROM&gt;

&lt;SCRIPT LANGUAGE = &#39;JAVASCRIPT&#39;&gt;
    function test() {
        alert(&quot;Test&quot;);
    }
&lt;/SCRIPT&gt;</content><link rel='replies' type='application/atom+xml' href='http://don-forget.blogspot.com/feeds/4007221238242837641/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://don-forget.blogspot.com/2017/08/blog-post.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/4007221238242837641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/4007221238242837641'/><link rel='alternate' type='text/html' href='http://don-forget.blogspot.com/2017/08/blog-post.html' title=''/><author><name>happyzen</name><uri>http://www.blogger.com/profile/04722314716266709210</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8387509060257844625.post-4763865699794864140</id><published>2017-07-05T04:57:00.000-07:00</published><updated>2017-07-05T04:57:02.385-07:00</updated><title type='text'>[ios] Interface Builder에 GMSMapView를 추가했더니 런타임 에러...</title><content type='html'>맵뷰를 쓸일이 있어서 XIB에&amp;nbsp;GMSMapView를 추가 했는데,&lt;br /&gt;
아래와 같은 오류가 나오고 크래쉬 ㅠ_ㅜ&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
Unknown class GMSMapView in Interface Builder file.&lt;/blockquote&gt;
검색 해보니,&lt;br /&gt;
1. Clean Build&lt;br /&gt;
2. XCODE 재기동&lt;br /&gt;
3. 앱 재설치&lt;br /&gt;
4. derived file 삭제&lt;br /&gt;
라는데, 정말 어이 없게도 1번을 한뒤 2번을 하니 됨 -ㅁ-;;</content><link rel='replies' type='application/atom+xml' href='http://don-forget.blogspot.com/feeds/4763865699794864140/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://don-forget.blogspot.com/2017/07/ios-interface-builder-gmsmapview.html#comment-form' title='1개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/4763865699794864140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/4763865699794864140'/><link rel='alternate' type='text/html' href='http://don-forget.blogspot.com/2017/07/ios-interface-builder-gmsmapview.html' title='[ios] Interface Builder에 GMSMapView를 추가했더니 런타임 에러...'/><author><name>happyzen</name><uri>http://www.blogger.com/profile/04722314716266709210</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8387509060257844625.post-5135653183250220952</id><published>2017-04-20T05:49:00.002-07:00</published><updated>2017-04-20T05:49:53.559-07:00</updated><title type='text'>[ios] 코어 애니메이션 설명 변역</title><content type='html'>코어애니메이션에 대해&lt;br /&gt;
코어 애니메이션은 어플리케이션의 컨텐츠를 관리 한다.&lt;br /&gt;
코어애니메이션은 드로잉 시스템 그 자체는 아니다. 어플리케이션의 콘텐츠를 이미지의 현태로 합성하고 하드웨어에서 조작 하기 위한 기반이다. 그 핵심이&amp;nbsp;레이어오브젝트로 이것을 이용해 콘텐츠를 관리, 조작 하는 것이다. 콘텐츠를 비트맵의 형태로 집어 넣어 그래픽 처리 하드웨어가 쉽게 조작 가능하도록 하는 &amp;nbsp;기능이 있다. 대다수의 어플리케이션에서 레이어는 뷰의 컨텐츠를 관리 하는 수단으로서 사용 되지만, 필요한 경우 뷰와는 독립적으로(스탠드얼론) 레이어를 생성하는 것도 가능하다.&lt;br /&gt;
&lt;br /&gt;
레이어에 변경을 가하면 애니메이션이 기동된다.&lt;br /&gt;
코어애니메이션에서 생성한 애니메이션의 대부분은 레이어의 프로퍼티에 변경을 가하면 기동 되게 된다. 레이어 오브젝트에는 뷰와 동일하게 bound와 화면상의 위치 불투명도, 좌표변환행렬등의 외관에 관여하는 다양한 프로퍼티가 있고, 이 값을 변경 할 수 있게 되어 있다. 프로퍼티의 대부분은 값을 변경 하면 원래의 형태로 부터 새로운 행태로 옮겨지는 암묵적인 애니메이션이 시작된다. 명시적으로 애니메이션화 하면 움직임을 자세하게 제어할 수 도 있다.&lt;br /&gt;
&lt;br /&gt;
레이어는 계층화해서 관리 할 수 있다.&lt;br /&gt;
레이어를 계층화해서 부모자식 관계를 정의 할 수 있다. 이 관계는 컨텐츠의 외관에 영향을 가져와 뷰와 동일하게 관리 할수 있다. 뷰에 연결된 레이어의 계층은 뷰의 계층을 그대로 반영한 것이 된다. 더욱이 스탠드얼론인 레이어를 계층에 추가하므로써 뷰와는 독립적으로 콘텐츠를 표시 하도록 확장할수도 있다.&lt;br /&gt;
&lt;br /&gt;
액션을 구현해 레이어의 디폴트 동작을 변경 할 수 있다.&lt;br /&gt;
암묵적 레이어 애니메이션은 액션오브젝트를 사용해 실행된다. 이것은 통칭 오브젝트로 간단한 인터페이스를 구현하고 있다. 코어애니메이션은 이 액션오브젝트를 이용해 디폴트 애니메이션 모음을 레이어에 포함하고 있다. 한편 독립적으로 액션 오브젝트를 구현하면 표준과는 다른 형태의 애니메이션도 구현 가능 하다. 이것을 레이어에 적당한 프로퍼티에 연결하면 해당 프로퍼티의 값이 변화할때 코어애니메이션이 이 액션오브젝트를 검색해 기동 하도록 되어 있다.&lt;br /&gt;
&lt;br /&gt;
코어애니메이션의 기초&lt;br /&gt;
코어애니메이션은 어플리케이션을 구성하는 뷰외의 시각적요소에 움직임(애니메이션)을 더하기 위한 범용 시스템이다. 뷰에 교체되는 것은 아니다. 뷰와 통합해서 드로잉 성능을 개선함과 동시에 콘텐츠의 움직임을 더하기 위한 기술이다. 이것을 실현하기 위해 뷰의 내용을 비트맵의 형태로 캐슁하고 그래픽 처리 하드웨어가 직접조작 할 수 있도록 한다. 경우에 따라 캐슁을 위한 콘텐츠를 표시 관리 방법을 변경해야 할 수도 있지만 대다수의 경우 코어애니메이션의 존제를 의식할 필요조차 없다. 코어애니메이션은 더욱이 개개의 시각 콘텐츠를 간단한 방법으로 특정할수 있도록 해 이를 뷰에 통합하고 애니메이션을 표시하는 역할을 맡고 있다.&lt;br /&gt;
코어애니메이션을 이용하면 뷰나 시각오브젝트의 형태변화를 애니메이션으로 표시 할수 있다. 이 형태변화의 대부분은 시각 오브젝트의 프로퍼티변경에 대응한다. 이를테면 뷰의 위치, 크기, 불투명도와 같은 프로퍼티가 변경된다고 생각해 보자. 이러한 프로퍼티에 변경을 주면, 현재의 값에서 새로운 값으로 변하는 과정이 애니메이션으로 표시되는 것이다. 코어애니메이션은 보통 (책에 그림을 그려 빨리 넘겨서 애니메이션을 표시하는 것처럼) 뷰의 콘텐츠를 초당 60개로 쪼개는 식으로는 사용하지는 않는다. 화면에서 이동, 페이드인/페이드아웃, 좌표변환을 가하거나 시각속성을 변경 하는등의 경우에 사용한다.&lt;br /&gt;
&lt;br /&gt;
레이어는 드로잉이나 애니메이션의 기반이다.&lt;br /&gt;
레이어오브젝트는 3차원 공간에 놓여진 2차원의 면으로 코어 애니메이션의 핵심에 해당한다. 뷰와 동일하게 지오메트리, 콘텐츠, 시각속성등을 관리 하지만, 독립된 &quot;외관&quot;을 정의 하는 것은 아니다. 비트맵에 관한 형태정보를 관리 할 뿐이다. 이 비트맵은 뷰에 대응하는 드로잉의 결과로써 얻어지는 경우와 특별히 지정한 고정이미지의 경우가 있다. 때문에 어플레케이션의 주 레이어는 주로 데이터를 관리 하기 때문에 모델 오브젝트라 생각할수 있다. 애니메이션의 동작에 영향을 주므로 이점을 확실히 이해할 필요가 있다.&lt;br /&gt;
&lt;br /&gt;
레이어베이스 드로잉 모델&lt;br /&gt;
대다수의 레이어는 실제론 드로잉처리를 행하지 않는다. 어플리케이션쪽에서 준비한 콘텐츠를 비트맵의 형태로 읽어 들여 캐슁한다. 이 비트맵을 &quot;백킹스토어(Backing store)&quot;라 부르기도 한다. 이후 레이어의 프로퍼티를 변경해도 레이어오브젝트의 상태정보가 변할뿐이다. 이 결과, 애니메이션이 기동되면 코어애니메이션은 해당 레이어의 비트맵이나 상태정보를 그래픽 드로잉 하드웨어에 넘겨준다. 그러면 하드웨어는 새로운 정보에 기반해 비트맵을 드로잉한다. 비트맵 조작을 소프트웨어가 아닌 하드웨어로 하면 엄청나게 빨라진다.&lt;br /&gt;
레이어베이스의 드로잉은 고정된 비트맵을 조작한다는 점은 기존의 뷰베이스의 드로잉과 일맥상통한다. 뷰베이스의 경우 뷰 자신에 변화를 주면 해당 뷰의 drawRect:메소드가 호출되어 새로운 파라메터를 바탕으로 재드로잉 하게 된다. 하지만 이것은 메인스레드의 CPU를 사용하기 때문에 부하가 크게 된다. 코어애니메이션은 이를 가급적 피하기 위해 캐슁된 비트맵을 하드웨어를 조작해 동일한 드로잉 결과를 얻고자 한다.&lt;br /&gt;
가능한한 캐슁된 콘텐츠를 사용하지만 처음에 그 콘텐츠를 전달해 수시갱신을 행하는 것은 어플리케이션측의 역할이다. 레이어 오브젝트에 콘텐츠를 전달하는 방법은 몇가지가 있다. 자세한것은 &quot;레이어의 콘텐츠를 병합&quot;항목을 참조.&lt;br /&gt;
&lt;br /&gt;
레이어베이스의 에니메이션&lt;br /&gt;
레이어오브젝트의 데이터나 상태정보는 화면상의 표시와는 분리해서 관리한다. 이결과 코어애니메이션이 중간에 있어 현재의 상태로 부터 새로운 상태로의 변화를 애니메이션으로 표시 할수가 있는 것이다. 이를테면 레이어의 위치 프로퍼티를 변경 하면 코어 애니메이션은 그 레이어를 현재 위치로 부터 지정된 새로운위치로 이동시킨다. 다른 프로퍼티를 변경한 경우에도 그에 따른 애니메이션을 시작한다. 그림 1-2는 레이어에 적용 가능한 애니메이션를 몇개 표시 하고 있다. 레이어 프로퍼티중 값이 변하면 애니메이션가 발생하는 것을 &quot;애니메이션 가능한 프로퍼티&quot; (85페이지) 라고 한다.&lt;br /&gt;
애니메이션 과정에서는 코어애니메이션이 프레임별로 하드웨어 이미징처리를 모두 행한다. 어플리케이션쪽은 애니메이션의 개시점과 종료점을 지정하기만 하면 된다. 타이밍정보나 각종 파라메터도 지정 가능한데, 적당히 디폴트 값이 정해져 있어 필수는 아니다.&lt;br /&gt;
애니메이션을 기동하는 순서, 파라메터를 지정하는 방법은 &quot;레이어콘텐츠의 애니메이션화&quot; (42페이지)를 참고.&lt;br /&gt;
&lt;br /&gt;
레이어오브젝트는 자신의 지오메트리를 관리한다.&lt;br /&gt;
레이어는 콘텐츠를 시각적으로 표시하기 위해 지오메트리를 관리 한다는 역할도 있다. 구체적으로는 콘텐츠 이미징 영역의 경계나 화면상의 위치, 좌표변환(회전, 확대축소등)에 관한 정보다. 뷰와 동일하게 레이어도 프레임Rect나 경계Rect가 있어, 이것을 사용해 레이어나 그 콘텐츠의 위치를 결정하게 된다. 더욱이 뷰에는 없는 프로퍼티로 앵커점(조작을 행할 중심점)이 있다. 그외에도 지오메트리에 관해 뷰의 경우와는 다른 항목이 몇가지 있다.&lt;br /&gt;
&lt;br /&gt;
레이어는 2종류의 좌표계를 이용한다.&lt;br /&gt;
레이어는 포인트베이스좌표계와 단위좌표계의 2종류로 콘텐츠의 배치를 지정 하도록 되어 있다. 전달하는 정보의 종류에 따라 나눠 사용하자. 포인트베이스좌표계는 화면상의 좌표에 직접대응하는 값을 지정하거나 position프로퍼티와 같이 다른레이어를 기준으로 지정하는 경우에 사용한다. 한편, 단위좌표계는 다른 무언가의 값을 기준으로 상대치를 갖고 있어 화면상의 좌표와는 연관지을수 없는 경우에 사용한다. 가령 레이어의 anchorPoint프로퍼티는 해당 레이어 자신의 경계를 기준으로 지정하지만, 이 경계의 좌표는 언제라도 변할 가능성이 있다.&lt;br /&gt;
포인트베이스 좌표는 레이어의 크기 (bounds프로퍼티)나 위치 (position프로퍼티)의 지정에도 사용한다. bounds에는 레이어자신의 좌표관계를 규정하는 역할이 있어, 레이어가 화면상에 차지하는 범위에선 이 좌표계로 위치를 지정가능 하다. 한편 position프로퍼티는 레이어의 위치를 새로운 레이어의 좌표계로 표시한다. 레이어에는 frame프로퍼티도 있는데 bounds및 position의 값으로 부터 계산가능하기에 실제론 그다지 사용하지 않는다.&lt;br /&gt;
bounds나 frame으로 표시되는 사각형의 방향은 플렛폼이 규정하는 디폴트 방향과 일치한다. 그림 1-3에 iOS와 OS X의 방향에 관해 bounds rect의 디폴트 방향을 표시 한다. iOS는 좌상단 OS X는 우하단이 원점이다. 코어애니메이션용 코드를 iOS와 OS X에서 공용하는 경우 이 차이를 고려하지 않으면 안된다.&lt;br /&gt;
그림 1-3에 나타난것 처럼 position프로퍼티는 레이어의 중앙을 나태낸다. 이 정의는 anchorPoint프로퍼티의 값에 따라 변한다. 앵커포인트는 몇몇 조작의 좌표원점을 나타낸다. (자세한 것은 &quot;앵커포인트는 지오메트리 조작에 영향을 미친다&quot; (16페이지)를 참조)&lt;br /&gt;
앵커포인트는 단위 좌표계에서 지정하는 프로퍼티의 하나이다. 코어애니메이션은 일반적으로 레이어의 크기에 따라 값이 변할 수 있는 프로퍼티에 단위 좌표계를 사용한다. 취급 할수 있는 값의 볌위전체를 기준으로한 비율을 0.0에서 1.0의 값으로 표현한 좌표계이다. 이를 테면 x축을 따라 좌측 좌표는 0.0, 우측 좌표값은 1.0이 된다. y축은 플렛폼에 따라 방향이 다르다. (그럼 1-4참조)&lt;br /&gt;
포인트베이스좌표, 단위좌표계 모두 좌표값을 모두 부동 수숫점으로 표시 한다. 따라서 정수로는 표현 할수 없는 정밀한 위치도 지정가능 하다. 인쇄시나, 레티나 디스플레이에 드로잉할때 등 1포인트가 복수의 픽셀에 대응하는 경우에 유용하다. 디바이스의 해상도와는 관계 없이 필요한 정밀도로 지정하면 되기 때문이다.&lt;br /&gt;
&lt;br /&gt;
앵커포인트는 지오메트리 조작에 영향을 미친다&lt;br /&gt;
지오메트리가 관계하는 조작은 레이어의 앵커 포인트가 기준이 된다. 이점은 anchorPoint프로퍼티로 접근/지정 가능 하다. 앵커포인트의 영향이 현저하게 나타나는 것은, 레이어의 position프로퍼티나 transform프로퍼티를 조작할때 일것이다. position프로퍼티는 항상 앵커포인트를 기준으로 하는 상대값으로 지정한다. 변환(transform)도 앵커 포인트를 기준으로 행해진다.&lt;br /&gt;
그림1-5에 앵커포인트를 변경한 경우 레이어의 position프로퍼티에 어떠한 영향이 있는가를 표시 한다. 부모의 영역 내에서 레이어가 이동하지 않음에도 불구하고 앵커 포인트를 레이어의 중앙에서 경계원점으로 옮기면 position프로퍼티의 값도 바뀌어 있다.&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://don-forget.blogspot.com/feeds/5135653183250220952/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://don-forget.blogspot.com/2017/04/ios.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/5135653183250220952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/5135653183250220952'/><link rel='alternate' type='text/html' href='http://don-forget.blogspot.com/2017/04/ios.html' title='[ios] 코어 애니메이션 설명 변역'/><author><name>happyzen</name><uri>http://www.blogger.com/profile/04722314716266709210</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8387509060257844625.post-3578620451115168559</id><published>2017-03-07T00:01:00.000-08:00</published><updated>2017-03-07T00:03:22.836-08:00</updated><title type='text'>[JSON] josn에 인덴트 넣거나 josn에 따옴표 탈출문자 넣어 문자열로 만들어 주는 웹 툴</title><content type='html'>아래 주소로 들어가면 된다.&lt;br /&gt;
&lt;a href=&quot;http://www.freeformatter.com/json-formatter.html#ad-output&quot;&gt;http://www.freeformatter.com/json-formatter.html#ad-output&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
option1에 붙여 넣기 해도 되고&lt;br /&gt;
option2에 파일을 업로드 해도 됨&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgro8YMu57jLuEfJ7Ig55JF3qz3c_N0M8jRqDiQhwhapu25m2Fmex0WXWaqvzBZg73uVLdErs_w5ptJguUFnbHGKOBn_S8cI83fOGcE-h1XCJ9qrFoYv_NIuI8DSECENjWF1AfaqcG52luo/s1600/%25E1%2584%2589%25E1%2585%25B3%25E1%2584%258F%25E1%2585%25B3%25E1%2584%2585%25E1%2585%25B5%25E1%2586%25AB%25E1%2584%2589%25E1%2585%25A3%25E1%2586%25BA+2017-03-07+%25E1%2584%258B%25E1%2585%25A9%25E1%2584%2592%25E1%2585%25AE+4.59.22.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgro8YMu57jLuEfJ7Ig55JF3qz3c_N0M8jRqDiQhwhapu25m2Fmex0WXWaqvzBZg73uVLdErs_w5ptJguUFnbHGKOBn_S8cI83fOGcE-h1XCJ9qrFoYv_NIuI8DSECENjWF1AfaqcG52luo/s1600/%25E1%2584%2589%25E1%2585%25B3%25E1%2584%258F%25E1%2585%25B3%25E1%2584%2585%25E1%2585%25B5%25E1%2586%25AB%25E1%2584%2589%25E1%2585%25A3%25E1%2586%25BA+2017-03-07+%25E1%2584%258B%25E1%2585%25A9%25E1%2584%2592%25E1%2585%25AE+4.59.22.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
인덴트를 스페이스나 탭으로 넣을지 고를수 있는데,&lt;br /&gt;
자바 스크립트를 고르면&lt;br /&gt;
&quot; 이런 따옴표를 \&quot; 으로 바꿔준다.&lt;br /&gt;
완전 편리함 ㅎㅎ</content><link rel='replies' type='application/atom+xml' href='http://don-forget.blogspot.com/feeds/3578620451115168559/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://don-forget.blogspot.com/2017/03/json-josn-josn.html#comment-form' title='2개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/3578620451115168559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/3578620451115168559'/><link rel='alternate' type='text/html' href='http://don-forget.blogspot.com/2017/03/json-josn-josn.html' title='[JSON] josn에 인덴트 넣거나 josn에 따옴표 탈출문자 넣어 문자열로 만들어 주는 웹 툴'/><author><name>happyzen</name><uri>http://www.blogger.com/profile/04722314716266709210</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgro8YMu57jLuEfJ7Ig55JF3qz3c_N0M8jRqDiQhwhapu25m2Fmex0WXWaqvzBZg73uVLdErs_w5ptJguUFnbHGKOBn_S8cI83fOGcE-h1XCJ9qrFoYv_NIuI8DSECENjWF1AfaqcG52luo/s72-c/%25E1%2584%2589%25E1%2585%25B3%25E1%2584%258F%25E1%2585%25B3%25E1%2584%2585%25E1%2585%25B5%25E1%2586%25AB%25E1%2584%2589%25E1%2585%25A3%25E1%2586%25BA+2017-03-07+%25E1%2584%258B%25E1%2585%25A9%25E1%2584%2592%25E1%2585%25AE+4.59.22.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8387509060257844625.post-5790269388572298748</id><published>2017-02-27T08:14:00.004-08:00</published><updated>2017-02-27T08:14:49.937-08:00</updated><title type='text'>[IOS][swift] UICollectionView, UICollectionViewFlowLayout의 마지막 row만 이상하게 나오는 문제</title><content type='html'>와 진짜 이건 너무 하다 싶다&lt;br /&gt;
UICollectionView로&amp;nbsp;FlowLayout을 세로로 해서 작업중인데,&lt;br /&gt;
유독 마지만 라인만 뭔가 이상하다..&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAIHOGaponAeIFM0dkMUbz8NupPAsjElY12C4p-tr_QRwMVySkHp6j-gD07GIQeJKSpO1YIhsGg-uN0tAe8BR6lvNq7tFxLe3KXaOTaJ-BM51tEAloUO-8BO1-ik_4OituOUvw8fbmsWJT/s1600/%25E1%2584%2589%25E1%2585%25B3%25E1%2584%258F%25E1%2585%25B3%25E1%2584%2585%25E1%2585%25B5%25E1%2586%25AB%25E1%2584%2589%25E1%2585%25A3%25E1%2586%25BA+2017-02-28+%25E1%2584%258B%25E1%2585%25A9%25E1%2584%258C%25E1%2585%25A5%25E1%2586%25AB+12.28.19.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;204&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAIHOGaponAeIFM0dkMUbz8NupPAsjElY12C4p-tr_QRwMVySkHp6j-gD07GIQeJKSpO1YIhsGg-uN0tAe8BR6lvNq7tFxLe3KXaOTaJ-BM51tEAloUO-8BO1-ik_4OituOUvw8fbmsWJT/s320/%25E1%2584%2589%25E1%2585%25B3%25E1%2584%258F%25E1%2585%25B3%25E1%2584%2585%25E1%2585%25B5%25E1%2586%25AB%25E1%2584%2589%25E1%2585%25A3%25E1%2586%25BA+2017-02-28+%25E1%2584%258B%25E1%2585%25A9%25E1%2584%258C%25E1%2585%25A5%25E1%2586%25AB+12.28.19.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
이렇게 나오는데 뭐 이유도 모르겠고 미치는 줄..&lt;br /&gt;
검색 해보니 Apple의 버그라는데..&lt;br /&gt;
IOS6부터 있었나 본데, 그럼 이건 버그가 아니고 스팩 아님?&lt;br /&gt;
여튼 수정 하려면,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt; TestLayout: &lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;UICollectionViewFlowLayout&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span class=&quot;s3&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;override&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;func&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt; layoutAttributesForElements(in rect: &lt;/span&gt;&lt;span class=&quot;s4&quot;&gt;CGRect&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;) -&amp;gt; [&lt;/span&gt;&lt;span class=&quot;s4&quot;&gt;UICollectionViewLayoutAttributes&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;]? {&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span class=&quot;s3&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;let&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt; attributes = &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;s5&quot;&gt;layoutAttributesForElements&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;(in: rect)&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;let&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt; contentSize = &lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;collectionViewContentSize&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span class=&quot;s3&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt; attributes?.&lt;/span&gt;&lt;span class=&quot;s5&quot;&gt;filter&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt; { $0.&lt;/span&gt;&lt;span class=&quot;s4&quot;&gt;frame&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;s4&quot;&gt;maxX&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt; &amp;lt;= contentSize.&lt;/span&gt;&lt;span class=&quot;s4&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s5&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt; $0.&lt;/span&gt;&lt;span class=&quot;s4&quot;&gt;frame&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;s4&quot;&gt;maxY&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt; &amp;lt; contentSize.&lt;/span&gt;&lt;span class=&quot;s4&quot;&gt;height&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt; }&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span class=&quot;s3&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo}
span.s1 {font-variant-ligatures: no-common-ligatures; color: #bb2ca2}
span.s2 {font-variant-ligatures: no-common-ligatures; color: #000000}
span.s3 {font-variant-ligatures: no-common-ligatures}
span.s4 {font-variant-ligatures: no-common-ligatures; color: #703daa}
span.s5 {font-variant-ligatures: no-common-ligatures; color: #3d1d81}
&lt;/style&gt;








&lt;br /&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span class=&quot;s3&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
이런식으로 서브클래스를 생성해서 이 클래스를 레이아웃으로 지정해 주면된다.&lt;br /&gt;
아래는 참고한 스택 오버 플로우 링크&lt;br /&gt;
http://stackoverflow.com/questions/12927027/uicollectionview-flowlayout-not-wrapping-cells-correctly-ios&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo}
span.s1 {font-variant-ligatures: no-common-ligatures; color: #bb2ca2}
span.s2 {font-variant-ligatures: no-common-ligatures; color: #000000}
span.s3 {font-variant-ligatures: no-common-ligatures}
span.s4 {font-variant-ligatures: no-common-ligatures; color: #703daa}
span.s5 {font-variant-ligatures: no-common-ligatures; color: #3d1d81}
&lt;/style&gt;</content><link rel='replies' type='application/atom+xml' href='http://don-forget.blogspot.com/feeds/5790269388572298748/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://don-forget.blogspot.com/2017/02/iosswift-uicollectionview_27.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/5790269388572298748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/5790269388572298748'/><link rel='alternate' type='text/html' href='http://don-forget.blogspot.com/2017/02/iosswift-uicollectionview_27.html' title='[IOS][swift] UICollectionView, UICollectionViewFlowLayout의 마지막 row만 이상하게 나오는 문제'/><author><name>happyzen</name><uri>http://www.blogger.com/profile/04722314716266709210</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAIHOGaponAeIFM0dkMUbz8NupPAsjElY12C4p-tr_QRwMVySkHp6j-gD07GIQeJKSpO1YIhsGg-uN0tAe8BR6lvNq7tFxLe3KXaOTaJ-BM51tEAloUO-8BO1-ik_4OituOUvw8fbmsWJT/s72-c/%25E1%2584%2589%25E1%2585%25B3%25E1%2584%258F%25E1%2585%25B3%25E1%2584%2585%25E1%2585%25B5%25E1%2586%25AB%25E1%2584%2589%25E1%2585%25A3%25E1%2586%25BA+2017-02-28+%25E1%2584%258B%25E1%2585%25A9%25E1%2584%258C%25E1%2585%25A5%25E1%2586%25AB+12.28.19.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8387509060257844625.post-5249031276976860880</id><published>2017-02-27T05:45:00.002-08:00</published><updated>2017-02-27T05:59:25.913-08:00</updated><title type='text'>[IOS][InterfaceBuilder] Xcode에서 xib파일 작업중 Assistant 윈도우로 연결된 파일이 보이지 않을때..</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg18g_sH20A3kWCOpzp-q5pWIj43jo1yMFIm6Dk2IC7uRyAFfr7ffrmlFqui76mceAVWuHo6oUeq_sO538ZdiOb42q3heBRazBJQ2GQ_qPSPj6PcJDDB7GU6H-f5G1l7f6FRiMUL_1STkRA/s1600/%25E1%2584%2589%25E1%2585%25B3%25E1%2584%258F%25E1%2585%25B3%25E1%2584%2585%25E1%2585%25B5%25E1%2586%25AB%25E1%2584%2589%25E1%2585%25A3%25E1%2586%25BA+2017-02-27+%25E1%2584%258B%25E1%2585%25A9%25E1%2584%2592%25E1%2585%25AE+10.36.40.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;249&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg18g_sH20A3kWCOpzp-q5pWIj43jo1yMFIm6Dk2IC7uRyAFfr7ffrmlFqui76mceAVWuHo6oUeq_sO538ZdiOb42q3heBRazBJQ2GQ_qPSPj6PcJDDB7GU6H-f5G1l7f6FRiMUL_1STkRA/s320/%25E1%2584%2589%25E1%2585%25B3%25E1%2584%258F%25E1%2585%25B3%25E1%2584%2585%25E1%2585%25B5%25E1%2586%25AB%25E1%2584%2589%25E1%2585%25A3%25E1%2586%25BA+2017-02-27+%25E1%2584%258B%25E1%2585%25A9%25E1%2584%2592%25E1%2585%25AE+10.36.40.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Xcode에서 xib 파일 작업중 갑자기 잘되던 file&#39;s owner 파일이 표시 되지 않는다.&lt;br /&gt;
실수로 뭔가 바꿨나 해서 이것 저것 살펴 보고 코드 롤백도 해보았지만 여전히 먹통..&lt;br /&gt;
혹시나해서&amp;nbsp;&lt;span style=&quot;background-color: white; color: #242729; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: 15px;&quot;&gt;derived data를 지우니 된다!!!&lt;/span&gt;&lt;br /&gt;
(Xcode를 완전히 지운 다음&amp;nbsp;&lt;span style=&quot;background-color: white; color: #242729; font-family: arial, &amp;quot;helvetica neue&amp;quot;, helvetica, sans-serif; font-size: 15px;&quot;&gt;derived data&amp;nbsp;&lt;/span&gt;삭제 하자)&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjynDd8FTHjwyNCOOu900qH_N1P4xJy5HOgNmPNvEGro0soUzQmgclrPymBfAP6NFgfhjKbA6PQ_bw6lbJB3bxOkvwNo3hU4G7vqWWcvr94KStxmBiCLeXnVEWF_a40jRfYf2F3qqvid-IS/s1600/%25E1%2584%2589%25E1%2585%25B3%25E1%2584%258F%25E1%2585%25B3%25E1%2584%2585%25E1%2585%25B5%25E1%2586%25AB%25E1%2584%2589%25E1%2585%25A3%25E1%2586%25BA+2017-02-27+%25E1%2584%258B%25E1%2585%25A9%25E1%2584%2592%25E1%2585%25AE+10.45.06.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;194&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjynDd8FTHjwyNCOOu900qH_N1P4xJy5HOgNmPNvEGro0soUzQmgclrPymBfAP6NFgfhjKbA6PQ_bw6lbJB3bxOkvwNo3hU4G7vqWWcvr94KStxmBiCLeXnVEWF_a40jRfYf2F3qqvid-IS/s320/%25E1%2584%2589%25E1%2585%25B3%25E1%2584%258F%25E1%2585%25B3%25E1%2584%2585%25E1%2585%25B5%25E1%2586%25AB%25E1%2584%2589%25E1%2585%25A3%25E1%2586%25BA+2017-02-27+%25E1%2584%258B%25E1%2585%25A9%25E1%2584%2592%25E1%2585%25AE+10.45.06.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Xcode를 재기동 하면 바로는 안뜨고 몇초 기다리니 떴다 (당황하지 말자)&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #242729; font-family: arial, &amp;quot;helvetica neue&amp;quot;, helvetica, sans-serif; font-size: 15px;&quot;&gt;어쨌든 나쁜&amp;nbsp;&lt;/span&gt;Xcode</content><link rel='replies' type='application/atom+xml' href='http://don-forget.blogspot.com/feeds/5249031276976860880/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://don-forget.blogspot.com/2017/02/iosinterfacebuilder-xcode-xib-assistant.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/5249031276976860880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/5249031276976860880'/><link rel='alternate' type='text/html' href='http://don-forget.blogspot.com/2017/02/iosinterfacebuilder-xcode-xib-assistant.html' title='[IOS][InterfaceBuilder] Xcode에서 xib파일 작업중 Assistant 윈도우로 연결된 파일이 보이지 않을때..'/><author><name>happyzen</name><uri>http://www.blogger.com/profile/04722314716266709210</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg18g_sH20A3kWCOpzp-q5pWIj43jo1yMFIm6Dk2IC7uRyAFfr7ffrmlFqui76mceAVWuHo6oUeq_sO538ZdiOb42q3heBRazBJQ2GQ_qPSPj6PcJDDB7GU6H-f5G1l7f6FRiMUL_1STkRA/s72-c/%25E1%2584%2589%25E1%2585%25B3%25E1%2584%258F%25E1%2585%25B3%25E1%2584%2585%25E1%2585%25B5%25E1%2586%25AB%25E1%2584%2589%25E1%2585%25A3%25E1%2586%25BA+2017-02-27+%25E1%2584%258B%25E1%2585%25A9%25E1%2584%2592%25E1%2585%25AE+10.36.40.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8387509060257844625.post-1950789810270653958</id><published>2017-02-21T21:17:00.001-08:00</published><updated>2017-02-21T21:17:20.912-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="iOS"/><category scheme="http://www.blogger.com/atom/ns#" term="swift"/><title type='text'>[IOS][SWIFT] UIPageViewController 크래쉬</title><content type='html'>




&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo}
span.s1 {font-variant-ligatures: no-common-ligatures}
&lt;/style&gt;


&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&lt;b&gt;아래 처럼 죽는 경우가 발생&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;




&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo}
span.s1 {font-variant-ligatures: no-common-ligatures}
&lt;/style&gt;


&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&lt;b&gt;2017-02-22 13:29:28.984 PageTest[87046:5081125] *** Terminating app due to uncaught exception &#39;NSInvalidArgumentException&#39;, reason: &#39;The number of view controllers provided (3) doesn&#39;t match the number required (1) for the requested transition&#39;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;&lt;b&gt;* 원인&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;




&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo}
span.s1 {font-variant-ligatures: no-common-ligatures; color: #3d1d81}
span.s2 {font-variant-ligatures: no-common-ligatures}
span.s3 {font-variant-ligatures: no-common-ligatures; color: #4f8187}
span.s4 {font-variant-ligatures: no-common-ligatures; color: #bb2ca2}
&lt;/style&gt;


&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;setViewControllers&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;([&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;vc1, vc2, vc3&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;], direction: .&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;forward&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;, animated: &lt;/span&gt;&lt;span class=&quot;s4&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;, completion: &lt;/span&gt;&lt;span class=&quot;s4&quot;&gt;nil&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;b style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;첫 번째 인자에 필요이상의 뷰컨트롤러를 할당함&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;b style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;b style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;* 수정&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;setViewControllers&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;([&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;vc1&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;], direction: .&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;forward&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;, animated:&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;s4&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;, completion:&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;s4&quot;&gt;nil&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;b style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;vc1만 할당 하고 나머지는 DataSource에서 처리 하도록 함&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;b style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;public&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;func&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; pageViewController(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;_&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; pageViewController: &lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;UIPageViewController&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;, viewControllerBefore viewController: &lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;UIViewController&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;UIViewController&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;? {&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;guard&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;let&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; index = &lt;/span&gt;&lt;span class=&quot;s4&quot;&gt;vcs&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;s5&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;(of: viewController)&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; { &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;nil&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; }&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; index &amp;lt; &lt;/span&gt;&lt;span class=&quot;s6&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;nil&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s4&quot;&gt;vcs&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;[index - &lt;/span&gt;&lt;span class=&quot;s6&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;]&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;public&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;func&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; pageViewController(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;_&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; pageViewController: &lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;UIPageViewController&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;, viewControllerAfter viewController: &lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;UIViewController&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;UIViewController&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;? {&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;guard&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;let&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; index = &lt;/span&gt;&lt;span class=&quot;s4&quot;&gt;vcs&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;s5&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;(of: viewController)&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; { &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;nil&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; }&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; index + &lt;/span&gt;&lt;span class=&quot;s6&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; &amp;gt;= &lt;/span&gt;&lt;span class=&quot;s4&quot;&gt;vcs&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;count&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;nil&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s4&quot;&gt;vcs&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;[index + &lt;/span&gt;&lt;span class=&quot;s6&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;]&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;




&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px}
span.s1 {font-variant-ligatures: no-common-ligatures}
span.s2 {font-variant-ligatures: no-common-ligatures; color: #bb2ca2}
span.s3 {font-variant-ligatures: no-common-ligatures; color: #703daa}
span.s4 {font-variant-ligatures: no-common-ligatures; color: #4f8187}
span.s5 {font-variant-ligatures: no-common-ligatures; color: #3d1d81}
span.s6 {font-variant-ligatures: no-common-ligatures; color: #272ad8}
&lt;/style&gt;






















&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;b style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;b style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://don-forget.blogspot.com/feeds/1950789810270653958/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://don-forget.blogspot.com/2017/02/iosswift-uipageviewcontroller.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/1950789810270653958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/1950789810270653958'/><link rel='alternate' type='text/html' href='http://don-forget.blogspot.com/2017/02/iosswift-uipageviewcontroller.html' title='[IOS][SWIFT] UIPageViewController 크래쉬'/><author><name>happyzen</name><uri>http://www.blogger.com/profile/04722314716266709210</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8387509060257844625.post-7593438953585700194</id><published>2016-10-24T04:03:00.001-07:00</published><updated>2016-10-24T04:03:16.773-07:00</updated><title type='text'>[IOS][SWIFT] Swift3 빌드시간이 겁내 길어짐!! </title><content type='html'>정말 한때는 미치는줄...&lt;br /&gt;
아래 해결법을 참조하니 겁내 빨라짐..&lt;br /&gt;
뭐 클린 빌드 느린건 여전히 어쩔수 없나 보다.&lt;br /&gt;
&lt;br /&gt;
http://stackoverflow.com/questions/39737374/swift-3-compile-time-incredibly-slow</content><link rel='replies' type='application/atom+xml' href='http://don-forget.blogspot.com/feeds/7593438953585700194/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://don-forget.blogspot.com/2016/10/iosswift-swift3.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/7593438953585700194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/7593438953585700194'/><link rel='alternate' type='text/html' href='http://don-forget.blogspot.com/2016/10/iosswift-swift3.html' title='[IOS][SWIFT] Swift3 빌드시간이 겁내 길어짐!! '/><author><name>happyzen</name><uri>http://www.blogger.com/profile/04722314716266709210</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8387509060257844625.post-2114709253612473887</id><published>2016-09-18T03:54:00.000-07:00</published><updated>2017-02-21T22:37:24.478-08:00</updated><title type='text'>[Server] AWS로 앱 서버 호스팅 하기</title><content type='html'>먼저 AWS 계정을 생성 한다.&lt;br /&gt;
&lt;br /&gt;
AWS 가 너무 복잡하고 이것 저것 서비스를 많이 하다 보니 대체 뭘해야 할지 모르겠다.&lt;br /&gt;
&lt;br /&gt;
그와중에 적절한 문서 발견..&lt;br /&gt;
이걸 따라 한다...&lt;br /&gt;
http://docs.aws.amazon.com/ko_kr/gettingstarted/latest/wah-linux/web-app-hosting-intro.html&lt;br /&gt;
&lt;br /&gt;
겁내 복잡해서 아래 블로그 참조&lt;br /&gt;
http://egloos.zum.com/isduck/v/3382096&lt;br /&gt;
&lt;br /&gt;
톰켓을 설치했는데 서비스 실행이 안됨&lt;br /&gt;
&lt;pre class=&quot;lang-sql prettyprint prettyprinted&quot; style=&quot;background-color: #eff0f1; border: 0px; color: #393318; font-family: consolas, menlo, monaco, &amp;quot;lucida console&amp;quot;, &amp;quot;liberation mono&amp;quot;, &amp;quot;dejavu sans mono&amp;quot;, &amp;quot;bitstream vera sans mono&amp;quot;, &amp;quot;courier new&amp;quot;, monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;&quot;&gt;&lt;div class=&quot;p1&quot; style=&quot;color: black; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: medium; white-space: normal;&quot;&gt;
&lt;span style=&quot;color: #242729; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace , sans-serif; font-size: 13px; white-space: pre-wrap;&quot;&gt;/usr/share/tomcat7/bin&lt;/span&gt;&lt;/div&gt;
&lt;/pre&gt;
요기서&lt;br /&gt;
&lt;pre class=&quot;lang-sql prettyprint prettyprinted&quot; style=&quot;background-color: #eff0f1; border: 0px; color: #393318; font-family: consolas, menlo, monaco, &amp;quot;lucida console&amp;quot;, &amp;quot;liberation mono&amp;quot;, &amp;quot;dejavu sans mono&amp;quot;, &amp;quot;bitstream vera sans mono&amp;quot;, &amp;quot;courier new&amp;quot;, monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;&quot;&gt;&lt;div class=&quot;p1&quot; style=&quot;color: black; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: medium; white-space: normal;&quot;&gt;
sudo ./startup.sh&lt;/div&gt;
&lt;/pre&gt;
&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;했지만 안됨..&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;(이래서 서버 개발이 개짜증!! 버전 틀리면 뭐가 틀리고 저쩌고 걍 버튼 하나로 설치 되면 얼마나 좋아?? 다른 것들은 잘들 만들어 주던데 이건 여전하네 10년전이나 지금이나..&lt;/span&gt;)&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
여튼 에러 메시지&lt;/div&gt;
&lt;pre class=&quot;lang-sql prettyprint prettyprinted&quot; style=&quot;background-color: #eff0f1; border: 0px; color: #393318; font-family: consolas, menlo, monaco, &amp;quot;lucida console&amp;quot;, &amp;quot;liberation mono&amp;quot;, &amp;quot;dejavu sans mono&amp;quot;, &amp;quot;bitstream vera sans mono&amp;quot;, &amp;quot;courier new&amp;quot;, monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;&quot;&gt;&lt;div class=&quot;p1&quot; style=&quot;color: black; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: medium; white-space: normal;&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;touch: cannot touch ‘/usr/share/tomcat7/logs/catalina.out’: No such file or directory&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot; style=&quot;color: black; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: medium; white-space: normal;&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;./catalina.sh: 385: ./catalina.sh: cannot create /usr/share/tomcat7/logs/catalina.out: Directory nonexistent&lt;/span&gt;&lt;/div&gt;
&lt;/pre&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
검색해보니 이딴식으로 실행해야 한다네.. 뭐 예전에 이딴식으로 했던 것도 같음;;&amp;nbsp;&lt;/div&gt;
&lt;pre class=&quot;lang-sql prettyprint prettyprinted&quot; style=&quot;background-color: #eff0f1; border: 0px; color: #393318; font-family: consolas, menlo, monaco, &amp;quot;lucida console&amp;quot;, &amp;quot;liberation mono&amp;quot;, &amp;quot;dejavu sans mono&amp;quot;, &amp;quot;bitstream vera sans mono&amp;quot;, &amp;quot;courier new&amp;quot;, monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;color: black; font-family: &amp;quot;apple sd gothic neo&amp;quot;; font-size: small; white-space: normal;&quot;&gt;sudo /etc/init.d/tomcat7&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;apple sd gothic neo&amp;quot;; font-size: small; white-space: normal;&quot;&gt;start&lt;/span&gt;&lt;/pre&gt;
&lt;div class=&quot;p1&quot;&gt;
여튼 접속 해보니 잘됨&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
이번엔 망할 mysql이 이상함&lt;/div&gt;
&lt;pre class=&quot;lang-sql prettyprint prettyprinted&quot; style=&quot;background-color: #eff0f1; border: 0px; color: #393318; font-family: consolas, menlo, monaco, &amp;quot;lucida console&amp;quot;, &amp;quot;liberation mono&amp;quot;, &amp;quot;dejavu sans mono&amp;quot;, &amp;quot;bitstream vera sans mono&amp;quot;, &amp;quot;courier new&amp;quot;, monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;&quot;&gt;&lt;div class=&quot;p1&quot; style=&quot;color: black; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: medium; white-space: normal;&quot;&gt;
ERROR 2002 (HY000): Can&#39;t connect to local MySQL server through socket &#39;/var/run/mysqld/mysqld.sock&#39; (2)&lt;/div&gt;
&lt;/pre&gt;
&lt;div class=&quot;p1&quot;&gt;
이딴 에러가 나오는데 서버 버전이라 그렇단다...&lt;/div&gt;
&lt;pre class=&quot;lang-sql prettyprint prettyprinted&quot; style=&quot;background-color: #eff0f1; border: 0px; color: #393318; font-family: consolas, menlo, monaco, &amp;quot;lucida console&amp;quot;, &amp;quot;liberation mono&amp;quot;, &amp;quot;dejavu sans mono&amp;quot;, &amp;quot;bitstream vera sans mono&amp;quot;, &amp;quot;courier new&amp;quot;, monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;mysql &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;h &lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; margin: 0px; padding: 0px;&quot;&gt;127.0.0.1&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;P &lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; margin: 0px; padding: 0px;&quot;&gt;3306&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;u root &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;p&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;p1&quot;&gt;
이렇게 접속 하니 잘됨&lt;br /&gt;
&lt;br /&gt;
서버에 앱 배포를 위해 톰켓 메니져 설치&lt;br /&gt;
&lt;span style=&quot;background-color: rgba(0 , 0 , 0 , 0.0470588); color: #3a3a3a; font-family: monospace , monospace; font-size: 14px; white-space: pre;&quot;&gt;sudo apt-get install tomcat7-docs tomcat7-admin tomcat7-examples&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;/etc/tomcat7/tomcat-users.xml 파일을 수정해 관리자 계정 추가&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;이딴식으로 하면 됨&lt;/span&gt;&lt;br /&gt;
&lt;pre style=&quot;border: 1px dotted rgb(82, 93, 118); font-size: 12px;&quot;&gt;&amp;lt;role rolename=&quot;manager-gui&quot;/&amp;gt;
&amp;lt;user username=&quot;tomcat&quot; password=&quot;s3cret&quot; roles=&quot;manager-gui&quot;/&amp;gt;&lt;/pre&gt;
&lt;br /&gt;
뭐 변경 할때 마다 귀찮은 재시작..&lt;br /&gt;
&lt;pre class=&quot;lang-sql prettyprint prettyprinted&quot; style=&quot;background-color: #eff0f1; border: 0px; color: #393318; font-family: consolas, menlo, monaco, &amp;quot;lucida console&amp;quot;, &amp;quot;liberation mono&amp;quot;, &amp;quot;dejavu sans mono&amp;quot;, &amp;quot;bitstream vera sans mono&amp;quot;, &amp;quot;courier new&amp;quot;, monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;&quot;&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;apple sd gothic neo&amp;quot;; font-size: small; white-space: normal;&quot;&gt;sudo /etc/init.d/tomcat7 restart&lt;/span&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
반갑다..&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
많이 바꼈겠지만.. 어쨌든 이화면 11년 만이다..&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-uEPtNh9Q_0pFkG28tCvhTkx0fyM_jzHhv7Thgv6XFdwfJzUU1OZeoJHLG9u2mVGQWVS2o4YgSIoV68hv69zy4VWL7Y89GyjG36lzNKnufbCsTNQKR2Mfpi-CqLJMCKBhkU5ZvCpn7fg_/s1600/%25E1%2584%2589%25E1%2585%25B3%25E1%2584%258F%25E1%2585%25B3%25E1%2584%2585%25E1%2585%25B5%25E1%2586%25AB%25E1%2584%2589%25E1%2585%25A3%25E1%2586%25BA+2016-09-18+%25E1%2584%258B%25E1%2585%25A9%25E1%2584%2592%25E1%2585%25AE+8.11.04.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;384&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-uEPtNh9Q_0pFkG28tCvhTkx0fyM_jzHhv7Thgv6XFdwfJzUU1OZeoJHLG9u2mVGQWVS2o4YgSIoV68hv69zy4VWL7Y89GyjG36lzNKnufbCsTNQKR2Mfpi-CqLJMCKBhkU5ZvCpn7fg_/s640/%25E1%2584%2589%25E1%2585%25B3%25E1%2584%258F%25E1%2585%25B3%25E1%2584%2585%25E1%2585%25B5%25E1%2586%25AB%25E1%2584%2589%25E1%2585%25A3%25E1%2586%25BA+2016-09-18+%25E1%2584%258B%25E1%2585%25A9%25E1%2584%2592%25E1%2585%25AE+8.11.04.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;p1&quot; style=&quot;-webkit-text-stroke-width: 0px; color: black; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;
&lt;div style=&quot;margin: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://don-forget.blogspot.com/feeds/2114709253612473887/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://don-forget.blogspot.com/2016/09/server-aws.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/2114709253612473887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/2114709253612473887'/><link rel='alternate' type='text/html' href='http://don-forget.blogspot.com/2016/09/server-aws.html' title='[Server] AWS로 앱 서버 호스팅 하기'/><author><name>happyzen</name><uri>http://www.blogger.com/profile/04722314716266709210</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-uEPtNh9Q_0pFkG28tCvhTkx0fyM_jzHhv7Thgv6XFdwfJzUU1OZeoJHLG9u2mVGQWVS2o4YgSIoV68hv69zy4VWL7Y89GyjG36lzNKnufbCsTNQKR2Mfpi-CqLJMCKBhkU5ZvCpn7fg_/s72-c/%25E1%2584%2589%25E1%2585%25B3%25E1%2584%258F%25E1%2585%25B3%25E1%2584%2585%25E1%2585%25B5%25E1%2586%25AB%25E1%2584%2589%25E1%2585%25A3%25E1%2586%25BA+2016-09-18+%25E1%2584%258B%25E1%2585%25A9%25E1%2584%2592%25E1%2585%25AE+8.11.04.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8387509060257844625.post-2032031984151934757</id><published>2016-06-30T08:14:00.001-07:00</published><updated>2016-06-30T08:14:16.869-07:00</updated><title type='text'>.plist 파일을 json으로 변환</title><content type='html'>엄청 편함!!&lt;br /&gt;
http://json2plist.sinaapp.com/&lt;br /&gt;
&lt;br /&gt;
근데 한글이 인코딩 되는데 그럴 경우 여기서 한글로 다시 변환&lt;br /&gt;
http://coderstoolbox.net/string/#!encoding=js&amp;amp;action=decode&amp;amp;charset=us_ascii</content><link rel='replies' type='application/atom+xml' href='http://don-forget.blogspot.com/feeds/2032031984151934757/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://don-forget.blogspot.com/2016/06/plist-json.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/2032031984151934757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/2032031984151934757'/><link rel='alternate' type='text/html' href='http://don-forget.blogspot.com/2016/06/plist-json.html' title='.plist 파일을 json으로 변환'/><author><name>happyzen</name><uri>http://www.blogger.com/profile/04722314716266709210</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8387509060257844625.post-5564326216977109246</id><published>2016-03-29T21:54:00.004-07:00</published><updated>2016-03-29T22:36:45.305-07:00</updated><title type='text'>[ios][swift] UIActivityViewController에서 자신의 ShareExtension이 표시 되지 않게 하고 싶다...</title><content type='html'>앱 내부에서 외부로 공유를 위해 UIActivityViewController를 써 보았다.&lt;br /&gt;
사용은 뭐 쉽다.&lt;br /&gt;
배열로 공유할 오브젝트들을 나열하면 알아서 공유를 해준다.&lt;br /&gt;
문제는 앱에서 ShareExtension을 제공하는데,&lt;br /&gt;
앱내에서 공유를 하려면 이 ShareExtension도 표시가 되서 보기가 않좋다.&lt;br /&gt;
뭐 경우에 따라서는 같은 앱으로 공유 하는것이니 쓸모가 있을 수도 있겠지만..&lt;br /&gt;
아무튼, SDK에 따르면 원하지 않는 Activity타입은 제외 할 수 있다고 하는데,&lt;br /&gt;
이것이 동작 하지 않는데.&lt;br /&gt;
근데 페이스북의 경우는 잘된다...&lt;br /&gt;
왠지 커스텀의 경우만 잘 안되던가 내가 잘못했던가 인 듯 한데.&lt;br /&gt;
도통 이유를 모르겠다.&lt;br /&gt;
StackOverFlow에도 질의를 해둔 상태인데 답이 올런지...&lt;br /&gt;
&lt;a href=&quot;http://stackoverflow.com/q/36281743/2575254&quot;&gt;http://stackoverflow.com/q/36281743/2575254&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
아래는 나의 테스트 코드 :&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;pre class=&quot;default prettyprint prettyprinted&quot; style=&quot;background-color: #eeeeee; border: 0px; color: #393318; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;let&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; activityItems &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;shareUrl&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;let&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; activityViewController &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;UIActivityViewController&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;activityItems&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; activityItems&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; applicationActivities&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;nil&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
    activityViewController&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;modalTransitionStyle &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;UIModalTransitionStyle&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;CoverVertical&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
    activityViewController&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;excludedActivityTypes &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: maroon; margin: 0px; padding: 0px;&quot;&gt;&quot;com.mytest.ShareExtension&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;];&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;

    activityViewController&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;completionHandler &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;activityType&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;?,&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; completed&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;Bool&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;Void&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
        &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;activityType&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;com&quot; style=&quot;border: 0px; color: grey; margin: 0px; padding: 0px;&quot;&gt;// printed &quot;com.mytest.ShareExtension&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;

    vc&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;presentViewController&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;activityViewController&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; animated&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; completion&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;nil&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;);&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://don-forget.blogspot.com/feeds/5564326216977109246/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://don-forget.blogspot.com/2016/03/iosswift.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/5564326216977109246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8387509060257844625/posts/default/5564326216977109246'/><link rel='alternate' type='text/html' href='http://don-forget.blogspot.com/2016/03/iosswift.html' title='[ios][swift] UIActivityViewController에서 자신의 ShareExtension이 표시 되지 않게 하고 싶다...'/><author><name>happyzen</name><uri>http://www.blogger.com/profile/04722314716266709210</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>