<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>Erelrian &amp;gt; 스터디 &amp;gt; 웹스터디</title>
<link>http://erel.kr/bbs/board.php?bo_table=study</link>
<description>테스트 버전 0.2 (2004-04-26)</description>
<language>ko</language>


<item>
<title>전자정브프레임워크4.0다운로드 1.8jdk 에러부분</title>
<link>http://erel.kr/bbs/board.php?bo_table=study&amp;amp;wr_id=285</link>
<description><![CDATA[<p>eclipse.ini 파일 상단에 아래와 같이 추가해준다.</p><p>11로 되어있는 것을 1.8로 해주면된다.. 아니면 11을 깔아주면된다.</p><p>-Dosgi.requiredJavaVersion=11<br /></p><p>-Dosgi.requiredJavaVersion=11<br /></p><p><br /></p><p>-Dosgi.requiredJavaVersion=<b>1.8</b> </p><p>-Dosgi.requiredJavaVersion=<b>1.8</b></p><p><br /></p><p><br /></p><p>jdk11버전을 다운 받아서  설치경로를 찾아 아래와 같이 설정해준다.</p><p>-vm</p><p>C:\Program Files\Java\jdk-11.0.16.1\bin\javaw.exe</p>]]></description>
<dc:creator>에렐리안</dc:creator>
<dc:date>Tue, 27 Sep 2022 22:33:19 +0900</dc:date>
</item>


<item>
<title>테이블 자동인덱스번호 생성 초기화</title>
<link>http://erel.kr/bbs/board.php?bo_table=study&amp;amp;wr_id=284</link>
<description><![CDATA[<p>데이터베이스 테이블 초기 생성시 테스트를 통해 인덱스번호가 중간중간 빠져버려 말끔하지 못할때 완성되고 나면 인덱스번호를 재분배 해줘 깔끔하게 처리한다.</p><p><br /></p><p>alter table [테이블명] auto_increment = 1;</p><p>set @count = 0;</p><p>update [테이블명] set [자동인덱스컬럼] = @count:=@count+1;</p>]]></description>
<dc:creator>에렐리안</dc:creator>
<dc:date>Mon, 08 Mar 2021 13:49:37 +0900</dc:date>
</item>


<item>
<title>FIND_IN_SET() 사용법</title>
<link>http://erel.kr/bbs/board.php?bo_table=study&amp;amp;wr_id=283</link>
<description><![CDATA[<p>mysql 에서 한 컬럼 안에 배열로 "1,2,3,4,5" 가 입력 되었 을때   해당컬럼에서 "3" 이라는 숫자가 해당되는 데이터만 추출하려고 할때 사용하면 좋을 것 이다.</p><p><br /></p><p>사용예 ) select * from {테이블} where <span style="color:rgb(255,0,0);"><b>FIND_IN_SET('3',{컬럼명})</b></span>;</p><p><br /></p><p>이렇게 사용하면 3이 해당된 필드열만 출력된다...  </p>]]></description>
<dc:creator>에렐리안</dc:creator>
<dc:date>Mon, 01 Feb 2021 13:48:36 +0900</dc:date>
</item>


<item>
<title>Windows 한영전환을 맥 처럼 CapsLock으로 하는 방법.</title>
<link>http://erel.kr/bbs/board.php?bo_table=study&amp;amp;wr_id=282</link>
<description><![CDATA[<p class="fw fx cd fy b fz ga gb gc gd ge gf gg gh gi gj gk gl gm gn go cv ap" style="margin-top:2em;margin-bottom:-.46em;color:rgb(41,41,41);line-height:32px;letter-spacing:-.003em;font-family:'medium-content-serif-font', Georgia, Cambria, 'Times New Roman', Times, serif;font-size:21px;background-color:rgb(255,255,255);">※ 이 글은 다음 링크의 댓글에 나온 코드를 사용하고 있습니다.<br /><a href="https://www.clien.net/service/board/kin/10008815" class="bw fk gp gq gr gs" target="_blank" style="background-repeat:repeat-x;background-position:0px;" rel="nofollow noreferrer noopener">https://www.clien.net/service/board/kin/10008815</a></p><ol style="margin:0px;padding:0px;list-style:none;color:rgba(0,0,0,.8);font-family:'medium-content-sans-serif-font', '-apple-system', BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;font-size:medium;background-color:rgb(255,255,255);"><li class="fw fx cd fy b fz ga gb gc gd ge gf gg gh gi gj gk gl gm gn go gt gu gv ap" style="color:rgb(41,41,41);line-height:32px;letter-spacing:-.003em;font-family:'medium-content-serif-font', Georgia, Cambria, 'Times New Roman', Times, serif;margin-bottom:-.46em;list-style-type:decimal;margin-left:30px;padding-left:0px;font-size:21px;margin-top:2em;"><a href="https://autohotkey.com/download/" class="bw fk gp gq gr gs" target="_blank" style="background-repeat:repeat-x;background-position:0px;" rel="nofollow noreferrer noopener">https://autohotkey.com/download/</a>에서 AutoHotKey라는 프로그램을 다운로드받아 설치합니다.</li><li class="fw fx cd fy b fz gw gb gc gx ge gf gy gh gi gz gk gl ha gn go gt gu gv ap" style="color:rgb(41,41,41);line-height:32px;letter-spacing:-.003em;font-family:'medium-content-serif-font', Georgia, Cambria, 'Times New Roman', Times, serif;margin-bottom:-.46em;list-style-type:decimal;margin-left:30px;padding-left:0px;font-size:21px;margin-top:1.05em;">다음 내용을 메모장에 붙여넣고, <code class="hb hc hd he hf b" style="background-color:rgb(242,242,242);padding:2px 4px;font-size:15.75px;font-family:Menlo, Monaco, 'Courier New', Courier, monospace;">CapsLockKorEng.ahk</code>라는 이름으로 저장합니다.</li></ol><blockquote class="hg hh hi" style="margin:0px 0px 0px -20px;padding-left:23px;color:rgba(0,0,0,.8);font-family:'medium-content-sans-serif-font', '-apple-system', BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;font-size:medium;background-color:rgb(255,255,255);"><p class="fw fx hj fy b fz ga gb gc gd ge gf gg gh gi gj gk gl gm gn go cv ap" style="margin-top:2em;margin-bottom:-.46em;color:rgb(41,41,41);line-height:32px;letter-spacing:-.003em;font-family:'medium-content-serif-font', Georgia, Cambria, 'Times New Roman', Times, serif;font-style:italic;font-size:21px;">capslock::<br />KeyWait, capslock<br />if A_TimeSinceThisHotkey &gt;= 250 ; in milliseconds.<br />SetCapsLockState, % (State:=!State) ? “On” : “Off”<br />else<br />Send, {vk15sc1F2}<br />return</p></blockquote><ol style="margin:0px;padding:0px;list-style:none;color:rgba(0,0,0,.8);font-family:'medium-content-sans-serif-font', '-apple-system', BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;font-size:medium;background-color:rgb(255,255,255);"><li class="fw fx cd fy b fz ga gb gc gd ge gf gg gh gi gj gk gl gm gn go gt gu gv ap" style="color:rgb(41,41,41);line-height:32px;letter-spacing:-.003em;font-family:'medium-content-serif-font', Georgia, Cambria, 'Times New Roman', Times, serif;margin-bottom:-.46em;list-style-type:decimal;margin-left:30px;padding-left:0px;font-size:21px;margin-top:2em;">[Windows] + [R] 키를 눌러 [실행]창을 띄운 다음, <code class="hb hc hd he hf b" style="background-color:rgb(242,242,242);padding:2px 4px;font-size:15.75px;font-family:Menlo, Monaco, 'Courier New', Courier, monospace;">shell:startup</code>이라고 입력하고 [확인] 버튼을 눌러 시작프로그램 폴더를 띄웁니다.</li><li class="fw fx cd fy b fz gw gb gc gx ge gf gy gh gi gz gk gl ha gn go gt gu gv ap" style="color:rgb(41,41,41);line-height:32px;letter-spacing:-.003em;font-family:'medium-content-serif-font', Georgia, Cambria, 'Times New Roman', Times, serif;margin-bottom:-.46em;list-style-type:decimal;margin-left:30px;padding-left:0px;font-size:21px;margin-top:1.05em;">아까 전에 저장한 <code class="hb hc hd he hf b" style="background-color:rgb(242,242,242);padding:2px 4px;font-size:15.75px;font-family:Menlo, Monaco, 'Courier New', Courier, monospace;">CapsLockKorEng.ahk</code> 파일을 시작프로그램 폴더 속으로 옮깁니다.</li><li class="fw fx cd fy b fz gw gb gc gx ge gf gy gh gi gz gk gl ha gn go gt gu gv ap" style="color:rgb(41,41,41);line-height:32px;letter-spacing:-.003em;font-family:'medium-content-serif-font', Georgia, Cambria, 'Times New Roman', Times, serif;margin-bottom:-.46em;list-style-type:decimal;margin-left:30px;padding-left:0px;font-size:21px;margin-top:1.05em;"><code class="hb hc hd he hf b" style="background-color:rgb(242,242,242);padding:2px 4px;font-size:15.75px;font-family:Menlo, Monaco, 'Courier New', Courier, monospace;">CapsLockKorEng.ahk</code> 파일을 더블클릭하여 실행합니다.</li></ol><p class="fw fx cd fy b fz ga gb gc gd ge gf gg gh gi gj gk gl gm gn go cv ap" style="margin-top:2em;margin-bottom:-.46em;color:rgb(41,41,41);line-height:32px;letter-spacing:-.003em;font-family:'medium-content-serif-font', Georgia, Cambria, 'Times New Roman', Times, serif;font-size:21px;background-color:rgb(255,255,255);">이렇게 하면, Caps Lock 키를 짧게 누르면 한/영 전환이 되고, 살짝 길게 누르면 Caps Lock에 불이 들어오며 본래대로 대문자 입력이 됩니다. 이 글을 통해 부디 많은 사람들이 Caps Lock 한/영 전환의 장점을 누렸으면 합니다.</p><p class="fw fx cd fy b fz ga gb gc gd ge gf gg gh gi gj gk gl gm gn go cv ap" style="margin-top:2em;margin-bottom:-.46em;color:rgb(41,41,41);line-height:32px;letter-spacing:-.003em;font-family:'medium-content-serif-font', Georgia, Cambria, 'Times New Roman', Times, serif;font-size:21px;background-color:rgb(255,255,255);">원본 글 — <a href="https://gigglehd.com/gg/?mid=soft&amp;document_srl=1829881" class="bw fk gp gq gr gs" target="_blank" style="background-repeat:repeat-x;background-position:0px;" rel="nofollow noreferrer noopener">https://gigglehd.com/gg/?mid=soft&amp;document_srl=1829881</a> : 윈도우에서 Caps Lock 키를 한/영키 겸용으로 사용하는 방법 — 인터넷 / 소프트웨어 — 기글하드웨어</p>]]></description>
<dc:creator>에렐리안</dc:creator>
<dc:date>Sun, 05 Jul 2020 17:20:20 +0900</dc:date>
</item>


<item>
<title>MAC에서 일반 키보드 연결시 Home/End 버튼 사용방법</title>
<link>http://erel.kr/bbs/board.php?bo_table=study&amp;amp;wr_id=281</link>
<description><![CDATA[<p>




</p><p style="font-family:'Noto Sans KR', sans-serif;"><span style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">북을 사용하다보면 다 좋은데 키보드 연결해서 사용하려고 할때 일반 키보드와 단축키가 너무 달라서 불편한 경우가 굉장히 많다.</span></p><p style="font-family:'Noto Sans KR', sans-serif;"><span style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">특히 개발할 때 홈버튼과 엔드 버튼을 자주 사용하는데 너무 불편했다. 이를 해결하기 위한 방법을 구글링해서 찾았고, 공유 및 정리하기 위해서 글을 올린다.</span></p><p style="font-family:'Noto Sans KR', sans-serif;"><span style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">다른 글이나 동영상 보면 karabinder를 사용하라고 하는데 나는 아무리 해도 적용이 안됐다... 이 글을 보고 나와 같은 문제를 격는 사람들이 문제를 해결 했으면 좋겠다.</span></p><p style="font-family:'Noto Sans KR', sans-serif;"><span style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">1. 먼저 터미널을 실행 시키고 다음 경로로 이동한다.</span></p><p style="font-size:11px;line-height:normal;font-family:Menlo;"><br style="font-family:'Noto Sans KR', sans-serif;font-size:16px;" /> </p><p style="margin:0px;font-style:normal;font-weight:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0);"><span style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">맥에서 터미널 창 열고... 아래 코드를 넣고 맥OS 재부팅!! 적용완료</span></p><p style="margin:0px;font-style:normal;font-weight:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0);"><span><br /></span></p><p style="margin:0px;font-style:normal;font-weight:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0);"><span><br /></span></p><p style="margin:0px;font:11px Menlo;color:rgb(0,0,0);"><span style="color:rgb(0,158,37);font-family:'나눔고딕', NanumGothic;font-size:12pt;">mkdir -p $HOME/Library/KeyBindings </span></p><p style="margin:0px;font:11px Menlo;color:rgb(0,0,0);"><span style="color:rgb(0,158,37);font-family:'나눔고딕', NanumGothic;font-size:12pt;">echo '{ </span></p><p style="margin:0px;font:11px Menlo;color:rgb(0,0,0);"><span style="color:rgb(0,158,37);font-family:'나눔고딕', NanumGothic;font-size:12pt;">/* Remap Home / End keys to be correct */ </span></p><p style="margin:0px;font:11px Menlo;color:rgb(0,0,0);"><span style="color:rgb(0,158,37);font-family:'나눔고딕', NanumGothic;font-size:12pt;">"\UF729" = "moveToBeginningOfLine:"; /* Home */ </span></p><p style="margin:0px;font:11px Menlo;color:rgb(0,0,0);"><span style="color:rgb(0,158,37);font-family:'나눔고딕', NanumGothic;font-size:12pt;">"\UF72B" = "moveToEndOfLine:"; /* End */ </span></p><p style="margin:0px;font:11px Menlo;color:rgb(0,0,0);"><span style="color:rgb(0,158,37);font-family:'나눔고딕', NanumGothic;font-size:12pt;">"$\UF729" = "moveToBeginningOfLineAndModifySelection:"; /* Shift + Home */ </span></p><p style="margin:0px;font:11px Menlo;color:rgb(0,0,0);"><span style="color:rgb(0,158,37);font-family:'나눔고딕', NanumGothic;font-size:12pt;">"$\UF72B" = "moveToEndOfLineAndModifySelection:"; /* Shift + End */ </span></p><p style="margin:0px;font:11px Menlo;color:rgb(0,0,0);"><span style="color:rgb(0,158,37);font-family:'나눔고딕', NanumGothic;font-size:12pt;">"^\UF729" = "moveToBeginningOfDocument:"; /* Ctrl + Home */ </span></p><p style="margin:0px;font:11px Menlo;color:rgb(0,0,0);"><span style="color:rgb(0,158,37);font-family:'나눔고딕', NanumGothic;font-size:12pt;">"^\UF72B" = "moveToEndOfDocument:"; /* Ctrl + End */ </span></p><p style="margin:0px;font:11px Menlo;color:rgb(0,0,0);"><span style="color:rgb(0,158,37);font-family:'나눔고딕', NanumGothic;font-size:12pt;">"$^\UF729" = "moveToBeginningOfDocumentAndModifySelection:"; /* Shift + Ctrl + Home */ </span></p><p style="margin:0px;font:11px Menlo;color:rgb(0,0,0);"><span style="color:rgb(0,158,37);font-family:'나눔고딕', NanumGothic;font-size:12pt;">"$^\UF72B" = "moveToEndOfDocumentAndModifySelection:"; /* Shift + Ctrl + End */</span></p><p style="margin:0px;font:11px Menlo;color:rgb(0,0,0);"><span style="color:rgb(0,158,37);font-family:'나눔고딕', NanumGothic;font-size:12pt;"> }' &gt; $HOME/Library/KeyBindings/DefaultKeyBinding.dict</span></p><p style="margin:0px;font:11px Menlo;color:rgb(0,0,0);"> </p><p style="margin:0px;font:11px Menlo;color:rgb(0,0,0);"><br /></p>]]></description>
<dc:creator>에렐리안</dc:creator>
<dc:date>Wed, 24 Jun 2020 23:38:13 +0900</dc:date>
</item>


<item>
<title>파일 업로드 및 불러오기</title>
<link>http://erel.kr/bbs/board.php?bo_table=study&amp;amp;wr_id=280</link>
<description><![CDATA[<p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">1. 이전 페이지에서 <span style="font-weight:600;">enctype="multipart/form-data"</span>로 넘긴다.</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"> </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">2. ---------------------------파일 업로드 및 DB 저장----------------------------------</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">&lt;%<br /> String realFolder=null;</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"><br /> </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"> String saveFolder="upload";</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">// ServletContext scontext = getServletContext();<br />// realFolder=scontext.getRealPath(saveFolder); 또는</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">realFolder = application.getRealPath("/") + saveFolder;</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"><span style="font-weight:600;">// 파일의 절대 경로를 지정해준다. 예)D:\test\upload</span></p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"> </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"> String encType="euc-kr";<br /> int maxSize=5*1024*1024;</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"> </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">out.println("the realpath is:"+realFolder+"&lt;br&gt;");</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"> </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"> try{<br />  MultipartRequest multi = null;</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"> </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"> <span style="font-weight:600;">/***MultipartRequest 객체를 생성함과 동시에 파일 업로드</span><br />  multi = new MultipartRequest(request, realFolder, maxSize, encType,</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">                                                                   <span style="font-weight:600;">new FileUploadRename(userID)</span>);</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">             </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">             // --&gt;인자를 <span style="font-weight:600;">new  DefaultFileRenamePolicy()</span>로 할 경우</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">                       파일 중복시 파일명뒤에 1씩증가하면서 붙음</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">                       <span style="font-weight:600;">new FileUploadRename("하하")은</span></p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"><span style="font-weight:600;">                  FileRenamePolicy 클래스를 상속받아 파일명을 임의대로</span></p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"><span style="font-weight:600;">                  재설정 해주기 위한 인자</span></p><div style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"><span style="font-weight:600;"></span>                    <br />  <br />  String value= null;<br />  String original=null;<br />  String filename=null;</div><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"> </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"><span style="font-weight:600;">/********주석했슴</span></p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">  Enumeration&lt;String&gt; params =  multi.getParameterNames();<br />   // --&gt;enctype="multipart/form-data"넘어오는 파라미터를 순서대로 담는다.</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">             (주의: submit의 value도 포함!!)<br />  while(params.hasMoreElements()){<br />   String name=(String)params.nextElement();</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">   value=multi.getParameter(name);<br />  }<span style="font-weight:600;">********/</span><br /> <br />  <span style="font-weight:600;">value = multi.getParameter("name"); //input type이 file이아닌 값들을</span></p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"><span style="font-weight:600;">                                                     지정해서 담는다.</span>  <br />    <br />  Enumeration files = multi.getFileNames();<br />    //넘오오는 파일주소값을 순서대로 담는다.<br /> </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"> while(files.hasMoreElements()){<br />   String name=(String)files.nextElement();</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">  <span style="font-weight:600;"> filename=multi.getFilesystemName(name); //</span></p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">   original = <span style="font-weight:600;">multi.getOriginalFileName(name); //실제 넘어온 파일 이름<br /></span>   String type = <span style="font-weight:600;">multi.getContentType(name); //실제 저장된 파일의 확장자<br /></span>   <span style="font-weight:600;">File f = multi.getFile(name); //실제 파일은 담는다.</span></p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"> </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">   out.println("파라미터 이름:" +name+"&lt;br&gt;");<br />   out.println("실제 파일 이름:" +original+"&lt;br&gt;");<br />   out.println("저장된 파일 이름:" +filename+"&lt;br&gt;");<br />   out.println("파일 타입:" +type+"&lt;br&gt;");</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">  </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">  if(f!=null)<br />    out.println("크기:" + f.length()+"&lt;br&gt;");<br />  <br />  }<br /> <br />  new DB().insertData(value, filename); //DB에 저장<br /> <br /> <br /> }catch(IOException ie){<br />  ie.printStackTrace();<br /> }catch(Exception ex){<br />  ex.printStackTrace();<br /> }</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">%&gt;   </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"><span style="font-weight:600;"></span> </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"><span style="font-weight:600;">--------new FileUploadRename(userID)-----------</span></p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"><span style="font-weight:600;">//id+현재시간으로 파일이름을 바꾼다.</span></p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">public class FileUploadRename implements FileRenamePolicy {<br />  <br />   private String userId;<br />  <br />   public FileUploadRename(){}<br />   public FileUploadRename(String userId){<br />    this.userId = userId;<br />   }<br /> <br />   public File rename(File f) {<br />  SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");<br />  Date nowdate = new Date();<br />  String dateString = formatter.format(nowdate);<br />   <br />     String name = f.getName();<br />     String ext = null;</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"> </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">     int dot = name.lastIndexOf(".");<br />     if (dot != -1) {<br />       ext = name.substring(dot);  // includes "."<br />     }<br />     else {<br />       ext = "";<br />     }</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"> </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">     int count = 0;<br />     do {<br />       count++;<br />       String newName = userId + "_" + dateString + count + ext;<br />       f = new File(f.getParent(), newName);<br />     } while (!createNewFile(f) &amp;&amp; count &lt; 9999);</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">      return f;<br />   }</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"> </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">   private boolean createNewFile(File f) {<br />     try {<br />       return f.createNewFile();<br />     }<br />     catch (IOException ignored) {<br />       return false;<br />     }<br />   }<br /> }</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"> </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"> </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"> </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">3.  list 페이지</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"> &lt;%@ page language="java" contentType="text/html; charset=EUC-KR"<br />    pageEncoding="EUC-KR"%&gt;<br />&lt;%@ page import = "DAO.DB, java.util.*"%&gt;</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "<a target="_blank" href="http://www.w3.org/TR/html4/loose.dtd" style="color:rgb(0,95,193);" rel="nofollow noreferrer noopener">http://www.w3.org/TR/html4/loose.dtd</a>"&gt;<br />&lt;html&gt;<br />&lt;head&gt;<br />&lt;meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"&gt;<br />&lt;title&gt;Insert title here&lt;/title&gt;<br />&lt;script language="javascript"&gt;<br />&lt;!--<br /> function go_down(f){<br />  <br />  location.href = "down.jsp?file="+f;<br /> }</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">//--&gt;<br />&lt;/script&gt;</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">&lt;/head&gt;<br />&lt;body&gt;<br />&lt;% <br /> DB db = new DB();<br /> List list = db.getData();<br />%&gt;</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"> </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">&lt;table border width="600"&gt;<br /> &lt;%if(list!=null &amp;&amp; list.size()&gt;0){<br />  for(int i=0; i&lt;list.size(); i++){<br />   ArrayList alist = (ArrayList)list.get(i);%&gt;<br />   &lt;tr&gt;<br />    &lt;td&gt;이름 &lt;/td&gt;<br />    &lt;td&gt;&lt;%=alist.get(0) %&gt;&lt;/td&gt;<br />  <br />    &lt;td&gt;파일&lt;/td&gt;<br />    <br />    &lt;td&gt;&lt;a href="javascript:go_down('&lt;%=alist.get(1)%&gt;')"&gt;&lt;%=alist.get(1)%&gt;&lt;/a&gt;&lt;/td&gt;<br />   &lt;/tr&gt;<br />  &lt;%}<br />  }else{ %&gt;<br />   &lt;tr&gt;<br />    값이 없습니다.<br />   &lt;/tr&gt;<br />  &lt;%} %&gt;<br />&lt;/table&gt;</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">&lt;/body&gt;<br />&lt;/html&gt;</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"> </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"> </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"> </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"> </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">4. 다운로드 페이지</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">   !!!!!!!!! 다운시 주의 : 다운로드 페이지에서 한번 더 페이지를 만들기 때문에( response.setHeader </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">   ())   프레임셋 안에서 이동시 target을 잘줘야 한다.</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">    (예: &lt;form name="fileDownFrm" action="fileDownProc.jsp" method="post" target="_top") </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"> </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"> </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">&lt;%@ page language="java" contentType="text/html; charset=EUC-KR"<br />    pageEncoding="EUC-KR"%&gt;<br />    &lt;%@ page import= "java.io.*" %&gt;<br />&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "<a target="_blank" href="http://www.w3.org/TR/html4/loose.dtd" style="color:rgb(0,95,193);" rel="nofollow noreferrer noopener">http://www.w3.org/TR/html4/loose.dtd</a>"&gt;<br />&lt;html&gt;<br />&lt;head&gt;<br />&lt;meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"&gt;<br />&lt;title&gt;Insert title here&lt;/title&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br />&lt;%     String filenm = new String(request.getParameter("file").getBytes("ISO-8859-1"), "euc-kr");<br />     String saveFolder="upload/"+filenm;<br />     System.out.println("saveFolder="+saveFolder);<br />    </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"> </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">     //ServletContext scontext = getServletContext();<br />    //String realpath = scontext.getRealPath(saveFolder); 또는</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">     String realpath = application.getRealPath("/") + saveFolder;</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"><br />     <br />     FileInputStream fin = null;<br />           ServletOutputStream fout = null;<br />           File f = null;<br />           String client = request.getHeader("User-Agent");<br />      <br />           try {<br />                <span style="font-weight:600;">  out.clear();<br />                out=pageContext.pushBody(); </span></p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"><span style="font-weight:600;">                /*중요!!</span></p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"><span style="font-weight:600;">                jsp페이지에서 원래 </span>ServletOutputStream(또는 OutputStream)을 사용하면 안된다.</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">                    servlet 페이지에서 사용해야 함</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">                    부득히 사용할 경우 위의 2줄을 꼭 추가!!</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">                    이유는 다른 포스트에서 설명..</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">                     </p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">                   또는</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">                    PrintWriter w = response.getWriter(); 객체 생성하고</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">                     사용</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">                   */<br />           <br />                   f = new File(realpath);<br />                  <br />                   String tmp = new String(f.getName().getBytes("euc-kr"), "ISO-8859-1");</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">                   if (f == null || f.exists() == false) {<br />                       out.println("&lt;script&gt;\nalert('파일이 없거나 읽을수 없습니다.');\n&lt;/script&gt;");<br />                   } else{<br />                    if(client.indexOf("MSIE 5.5") != -1){ //익스플러로 6.0버전 이하라면<br />                       response.setHeader("Content-Type", "doesn/matter; charset=euc-kr");<br />                       response.setHeader("Content-Disposition", "attachment; filename="+tmp);<br />                      }else{  //익스플러로가 6.0버전 이상이라면<br />                           response.reset();<br />                           response.setContentType("application/octet-stream; charset=euc-kr");<br />                           //또는 response.setHeader("Content-Type", "application/octet-stream;</p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">                                                                                                   charset=euc-kr");<br />                           response.setHeader("Content-Disposition", "attachment; filename=" + tmp);<br />                      }<br />                           fin = new FileInputStream(f);<br />                           fout = response.getOutputStream();<br />          <br />                           byte b[] = new byte[(int) f.length()];<br />          <br />                           int leng = 0;<br />          <br />                           while ((leng = fin.read(b)) &gt; 0) {<br />                                   fout.write(b, 0, leng);<br />                           }<br />                   }</p><p><span style="font-weight:600;font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);"></span></p><p style="font-family:sans-serif;font-size:16.002px;background-color:rgb(255,255,255);">           } catch (Exception e) {<br />           } finally {<br />                   if (fin != null)<br />                           fin.close();<br />                   if (fout != null)<br />                           fout.close();<br />           }<br />   %&gt;<br />   <br />   <br />&lt;/body&gt;<br />&lt;/html&gt;</p>]]></description>
<dc:creator>에렐리안</dc:creator>
<dc:date>Thu, 06 Feb 2020 22:59:37 +0900</dc:date>
</item>


<item>
<title>외부 SMTP메일 연동하기 (스프링 이메일 보내기(smtp))</title>
<link>http://erel.kr/bbs/board.php?bo_table=study&amp;amp;wr_id=279</link>
<description><![CDATA[<h1 style="margin:.67em 0px;color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;text-align:justify;background-color:rgb(255,255,255);"><span style="font-weight:bolder;">Spring_SMTP</span></h1><p style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;text-align:justify;background-color:rgb(255,255,255);">메일 보내기를 해보자!!!<br />웹에서 메일 가져오기를 쓸일이 있을까? 라는 생각을 하지만 필요한 곳도 있겠지… 사내 웹페이지 같은?<br />그래도 나는 메일 보내기를 먼저 해보려고 합니다..<br />크게 주제는 3개입니다.</p><ul style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;text-align:justify;background-color:rgb(255,255,255);"><li>단순 메시지 보내기(텍스트)</li><li>파일첨부해서 보내기</li><li>이미지 추가해서 보내기</li><li>추후 추가 가능성 있습니다.(가령 난수생성해서 보내기_임시비밀번호 보내기)</li></ul><div style="text-align:justify;"><span style="font-family:'Fira Sans', sans-serif;color:rgb(56,56,56);"><span style="font-size:14px;"><br /></span></span></div><div style="text-align:justify;"><h2 style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;background-color:rgb(255,255,255);">단순 메시지 보내기(텍스트)</h2><p style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);">단순한 텍스트를 보내는 것은 쉬울 것이라는 생각에 금방 끝내자 했는데 찾는데 마다 말이 다르고 파일구조가 다르니까 따라하기가 힘듭니다…..<br />이 역시 제 방식으로 합니다. 간단하게 수정해야 할 파일은 3군데 입니다.<br /></p><ul style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><li>pom.xml(Java Mail API추가_javax.mail)</li><li>dispatcher-servlet.xml(bean추가)</li><li>controller 추가</li></ul><div><h3 style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;background-color:rgb(255,255,255);">1. pom.xml</h3><p style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);">메일과 관련된 API가 2~3개가 보였는데, 이게 가장 심플해 보여서 javax로 진행하였습니다.</p><div class="language-xml highlighter-rouge" style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><div class="highlight" style="background-color:rgb(73,72,62);font-family:Inconsolata;line-height:1.8571;color:rgb(248,248,242);"><pre class="highlight" style="font-family:Inconsolata;line-height:1.8571;margin-top:0px;margin-bottom:0px;padding:1em;"><code style="font-family:Inconsolata;font-size:1em;">  <span class="c" style="color:rgb(117,113,94);">&lt;!-- Java Mail API --&gt;</span>
  <span class="nt" style="color:rgb(249,38,114);">&lt;dependency&gt;</span>
    <span class="nt" style="color:rgb(249,38,114);">&lt;groupId&gt;</span>javax.mail<span class="nt" style="color:rgb(249,38,114);">&lt;/groupId&gt;</span>
    <span class="nt" style="color:rgb(249,38,114);">&lt;artifactId&gt;</span>mail<span class="nt" style="color:rgb(249,38,114);">&lt;/artifactId&gt;</span>
    <span class="nt" style="color:rgb(249,38,114);">&lt;version&gt;</span>1.4.3<span class="nt" style="color:rgb(249,38,114);">&lt;/version&gt;</span>
  <span class="nt" style="color:rgb(249,38,114);">&lt;/dependency&gt;</span>
</code></pre></div></div><ul style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><li>끝(너무나 심플)</li></ul><div><h3 style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;background-color:rgb(255,255,255);">2. dispatcher-servlet.xml(bean추가)</h3><p style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);">대표적인 메일 3개를 가지고 모두 해보았습니다.</p><ul style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><li>Gmail (TSL)</li><li>Naver (SSL)</li><li>Daum (SSL)</li></ul><p style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><br /><br /></p><h4 style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);">2.1. Gmail(제일 간단하게 해결)</h4><p style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);">역시 구글이었습니다. 제일 심플하고 쉽게 되어있습니다.</p><p style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><br /></p><div class="language-xml highlighter-rouge" style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><div class="highlight" style="background-color:rgb(73,72,62);font-family:Inconsolata;line-height:1.8571;color:rgb(248,248,242);"><pre class="highlight" style="font-family:Inconsolata;line-height:1.8571;margin-top:0px;margin-bottom:0px;padding:1em;"><code style="font-family:Inconsolata;font-size:1em;">  <span class="c" style="color:rgb(117,113,94);">&lt;!-- Gmail --&gt;</span>
  <span class="nt" style="color:rgb(249,38,114);">&lt;bean</span> <span class="na" style="color:rgb(166,226,46);">id=</span><span class="s" style="color:rgb(230,219,116);">"mailSender"</span> <span class="na" style="color:rgb(166,226,46);">class=</span><span class="s" style="color:rgb(230,219,116);">"org.springframework.mail.javamail.JavaMailSenderImpl"</span><span class="nt" style="color:rgb(249,38,114);">&gt;</span>
    <span class="nt" style="color:rgb(249,38,114);">&lt;property</span> <span class="na" style="color:rgb(166,226,46);">name=</span><span class="s" style="color:rgb(230,219,116);">"host"</span> <span class="na" style="color:rgb(166,226,46);">value=</span><span class="s" style="color:rgb(230,219,116);">"smtp.gmail.com"</span> <span class="nt" style="color:rgb(249,38,114);">/&gt;</span>
    <span class="nt" style="color:rgb(249,38,114);">&lt;property</span> <span class="na" style="color:rgb(166,226,46);">name=</span><span class="s" style="color:rgb(230,219,116);">"port"</span> <span class="na" style="color:rgb(166,226,46);">value=</span><span class="s" style="color:rgb(230,219,116);">"587"</span> <span class="nt" style="color:rgb(249,38,114);">/&gt;</span>
    <span class="nt" style="color:rgb(249,38,114);">&lt;property</span> <span class="na" style="color:rgb(166,226,46);">name=</span><span class="s" style="color:rgb(230,219,116);">"username"</span> <span class="na" style="color:rgb(166,226,46);">value=</span><span class="s" style="color:rgb(230,219,116);">"@gmail.com"</span> <span class="nt" style="color:rgb(249,38,114);">/&gt;</span>
    <span class="nt" style="color:rgb(249,38,114);">&lt;property</span> <span class="na" style="color:rgb(166,226,46);">name=</span><span class="s" style="color:rgb(230,219,116);">"password"</span> <span class="na" style="color:rgb(166,226,46);">value=</span><span class="s" style="color:rgb(230,219,116);">""</span> <span class="nt" style="color:rgb(249,38,114);">/&gt;</span>
    <span class="nt" style="color:rgb(249,38,114);">&lt;property</span> <span class="na" style="color:rgb(166,226,46);">name=</span><span class="s" style="color:rgb(230,219,116);">"javaMailProperties"</span><span class="nt" style="color:rgb(249,38,114);">&gt;</span>
    <span class="nt" style="color:rgb(249,38,114);">&lt;props&gt;</span>
      <span class="nt" style="color:rgb(249,38,114);">&lt;prop</span> <span class="na" style="color:rgb(166,226,46);">key=</span><span class="s" style="color:rgb(230,219,116);">"mail.smtp.auth"</span><span class="nt" style="color:rgb(249,38,114);">&gt;</span>true<span class="nt" style="color:rgb(249,38,114);">&lt;/prop&gt;</span>
      <span class="nt" style="color:rgb(249,38,114);">&lt;prop</span> <span class="na" style="color:rgb(166,226,46);">key=</span><span class="s" style="color:rgb(230,219,116);">"mail.smtp.starttls.enable"</span><span class="nt" style="color:rgb(249,38,114);">&gt;</span>true<span class="nt" style="color:rgb(249,38,114);">&lt;/prop&gt;</span>
    <span class="nt" style="color:rgb(249,38,114);">&lt;/props&gt;</span>
    <span class="nt" style="color:rgb(249,38,114);">&lt;/property&gt;</span>
  <span class="nt" style="color:rgb(249,38,114);">&lt;/bean&gt;</span>
</code></pre></div></div><ul style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><li>대략적으로 보시면 이해가 되실거라 생각됩니다.</li></ul><p style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><br /><br /></p><h4 style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);">2.2. Naver(네이버)</h4><p style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);">네이버에서는 SSL을 추가하지 않을 경우 전송이 안되더라고요. 이거 때문에 30분 삽질했습니다….</p><p style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><br /></p><div class="language-xml highlighter-rouge" style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><div class="highlight" style="background-color:rgb(73,72,62);font-family:Inconsolata;line-height:1.8571;color:rgb(248,248,242);"><pre class="highlight" style="font-family:Inconsolata;line-height:1.8571;margin-top:0px;margin-bottom:0px;padding:1em;"><code style="font-family:Inconsolata;font-size:1em;">  <span class="c" style="color:rgb(117,113,94);">&lt;!-- naver mail --&gt;</span>
  <span class="nt" style="color:rgb(249,38,114);">&lt;bean</span> <span class="na" style="color:rgb(166,226,46);">class=</span><span class="s" style="color:rgb(230,219,116);">"org.springframework.mail.javamail.JavaMailSenderImpl"</span>
    <span class="na" style="color:rgb(166,226,46);">p:host=</span><span class="s" style="color:rgb(230,219,116);">"smtp.naver.com"</span>
    <span class="na" style="color:rgb(166,226,46);">p:port=</span><span class="s" style="color:rgb(230,219,116);">"465"</span>
    <span class="na" style="color:rgb(166,226,46);">p:username=</span><span class="s" style="color:rgb(230,219,116);">""</span>
    <span class="na" style="color:rgb(166,226,46);">p:password=</span><span class="s" style="color:rgb(230,219,116);">""</span><span class="nt" style="color:rgb(249,38,114);">&gt;</span>
    <span class="nt" style="color:rgb(249,38,114);">&lt;property</span> <span class="na" style="color:rgb(166,226,46);">name=</span><span class="s" style="color:rgb(230,219,116);">"javaMailProperties"</span><span class="nt" style="color:rgb(249,38,114);">&gt;</span>
    <span class="nt" style="color:rgb(249,38,114);">&lt;props&gt;</span>
      <span class="nt" style="color:rgb(249,38,114);">&lt;prop</span> <span class="na" style="color:rgb(166,226,46);">key=</span><span class="s" style="color:rgb(230,219,116);">"mail.smtp.starttls.enable"</span><span class="nt" style="color:rgb(249,38,114);">&gt;</span>true<span class="nt" style="color:rgb(249,38,114);">&lt;/prop&gt;</span>
      <span class="nt" style="color:rgb(249,38,114);">&lt;prop</span> <span class="na" style="color:rgb(166,226,46);">key=</span><span class="s" style="color:rgb(230,219,116);">"mail.smtp.auth"</span><span class="nt" style="color:rgb(249,38,114);">&gt;</span>true<span class="nt" style="color:rgb(249,38,114);">&lt;/prop&gt;</span>
      <span class="nt" style="color:rgb(249,38,114);">&lt;prop</span> <span class="na" style="color:rgb(166,226,46);">key=</span><span class="s" style="color:rgb(230,219,116);">"mail.smtps.ssl.checkserveridentity"</span><span class="nt" style="color:rgb(249,38,114);">&gt;</span>true<span class="nt" style="color:rgb(249,38,114);">&lt;/prop&gt;</span>
      <span class="nt" style="color:rgb(249,38,114);">&lt;prop</span> <span class="na" style="color:rgb(166,226,46);">key=</span><span class="s" style="color:rgb(230,219,116);">"mail.smtps.ssl.trust"</span><span class="nt" style="color:rgb(249,38,114);">&gt;</span>*<span class="nt" style="color:rgb(249,38,114);">&lt;/prop&gt;</span>
      <span class="nt" style="color:rgb(249,38,114);">&lt;prop</span> <span class="na" style="color:rgb(166,226,46);">key=</span><span class="s" style="color:rgb(230,219,116);">"mail.debug"</span><span class="nt" style="color:rgb(249,38,114);">&gt;</span>true<span class="nt" style="color:rgb(249,38,114);">&lt;/prop&gt;</span>
      <span class="nt" style="color:rgb(249,38,114);">&lt;prop</span> <span class="na" style="color:rgb(166,226,46);">key=</span><span class="s" style="color:rgb(230,219,116);">"mail.smtp.socketFactory.class"</span><span class="nt" style="color:rgb(249,38,114);">&gt;</span>javax.net.ssl.SSLSocketFactory<span class="nt" style="color:rgb(249,38,114);">&lt;/prop&gt;</span>
    <span class="nt" style="color:rgb(249,38,114);">&lt;/props&gt;</span>
    <span class="nt" style="color:rgb(249,38,114);">&lt;/property&gt;</span>
  <span class="nt" style="color:rgb(249,38,114);">&lt;/bean&gt;</span>
</code></pre></div></div><p style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><br /></p><ul style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><li>여기서 주의사항은 username에는 아이디만 적으면 됩니다.</li><li>포트 번호도 확인해주세요</li><li>추가적으로 <code class="highlighter-rouge" style="font-family:Inconsolata;line-height:1.8571;background-color:rgb(232,232,232);border:1px solid rgb(208,209,213);margin:0px 2px;padding:0px 5px;">&lt;prop key="mail.smtp.socketFactory.class"&gt; javax.net.ssl.SSLSocketFactory &lt;/prop&gt;</code> 를 적어주지 않으면 전송이 안되네요</li></ul><p style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><br /><br /></p><h4 style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);">2.3. Daum(다음카카오)</h4><p style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);">네이버와 비슷하다고 생각했는데 역시나 입니다.</p><div class="language-xml highlighter-rouge" style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><div class="highlight" style="background-color:rgb(73,72,62);font-family:Inconsolata;line-height:1.8571;color:rgb(248,248,242);"><pre class="highlight" style="font-family:Inconsolata;line-height:1.8571;margin-top:0px;margin-bottom:0px;padding:1em;"><code style="font-family:Inconsolata;font-size:1em;">  <span class="c" style="color:rgb(117,113,94);">&lt;!-- Daum mail --&gt;</span>
  <span class="nt" style="color:rgb(249,38,114);">&lt;bean</span> <span class="na" style="color:rgb(166,226,46);">class=</span><span class="s" style="color:rgb(230,219,116);">"org.springframework.mail.javamail.JavaMailSenderImpl"</span>
    <span class="na" style="color:rgb(166,226,46);">p:host=</span><span class="s" style="color:rgb(230,219,116);">"smtp.daum.net"</span>
    <span class="na" style="color:rgb(166,226,46);">p:port=</span><span class="s" style="color:rgb(230,219,116);">"465"</span>
    <span class="na" style="color:rgb(166,226,46);">p:username=</span><span class="s" style="color:rgb(230,219,116);">"@hanmail.net"</span>
    <span class="na" style="color:rgb(166,226,46);">p:password=</span><span class="s" style="color:rgb(230,219,116);">""</span><span class="nt" style="color:rgb(249,38,114);">&gt;</span>
    <span class="nt" style="color:rgb(249,38,114);">&lt;property</span> <span class="na" style="color:rgb(166,226,46);">name=</span><span class="s" style="color:rgb(230,219,116);">"javaMailProperties"</span><span class="nt" style="color:rgb(249,38,114);">&gt;</span>
    <span class="nt" style="color:rgb(249,38,114);">&lt;props&gt;</span>
      <span class="nt" style="color:rgb(249,38,114);">&lt;prop</span> <span class="na" style="color:rgb(166,226,46);">key=</span><span class="s" style="color:rgb(230,219,116);">"mail.smtp.starttls.enable"</span><span class="nt" style="color:rgb(249,38,114);">&gt;</span>true<span class="nt" style="color:rgb(249,38,114);">&lt;/prop&gt;</span>
      <span class="nt" style="color:rgb(249,38,114);">&lt;prop</span> <span class="na" style="color:rgb(166,226,46);">key=</span><span class="s" style="color:rgb(230,219,116);">"mail.smtp.auth"</span><span class="nt" style="color:rgb(249,38,114);">&gt;</span>true<span class="nt" style="color:rgb(249,38,114);">&lt;/prop&gt;</span>
      <span class="nt" style="color:rgb(249,38,114);">&lt;prop</span> <span class="na" style="color:rgb(166,226,46);">key=</span><span class="s" style="color:rgb(230,219,116);">"mail.smtps.ssl.checkserveridentity"</span><span class="nt" style="color:rgb(249,38,114);">&gt;</span>true<span class="nt" style="color:rgb(249,38,114);">&lt;/prop&gt;</span>
      <span class="nt" style="color:rgb(249,38,114);">&lt;prop</span> <span class="na" style="color:rgb(166,226,46);">key=</span><span class="s" style="color:rgb(230,219,116);">"mail.smtps.ssl.trust"</span><span class="nt" style="color:rgb(249,38,114);">&gt;</span>*<span class="nt" style="color:rgb(249,38,114);">&lt;/prop&gt;</span>
      <span class="nt" style="color:rgb(249,38,114);">&lt;prop</span> <span class="na" style="color:rgb(166,226,46);">key=</span><span class="s" style="color:rgb(230,219,116);">"mail.debug"</span><span class="nt" style="color:rgb(249,38,114);">&gt;</span>true<span class="nt" style="color:rgb(249,38,114);">&lt;/prop&gt;</span>
      <span class="nt" style="color:rgb(249,38,114);">&lt;prop</span> <span class="na" style="color:rgb(166,226,46);">key=</span><span class="s" style="color:rgb(230,219,116);">"mail.smtp.socketFactory.class"</span><span class="nt" style="color:rgb(249,38,114);">&gt;</span>javax.net.ssl.SSLSocketFactory<span class="nt" style="color:rgb(249,38,114);">&lt;/prop&gt;</span>
      <span class="nt" style="color:rgb(249,38,114);">&lt;/props&gt;</span>
    <span class="nt" style="color:rgb(249,38,114);">&lt;/property&gt;</span>
  <span class="nt" style="color:rgb(249,38,114);">&lt;/bean&gt;</span>
</code></pre></div></div><p style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><br /></p><ul style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><li>다른점이 있다면 아이디를 적는 공간이 다릅니다.</li></ul><p style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><br /><br /></p><h4 style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);">보안 설정하기</h4><p style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);">모든 SMTP를 사용하기 위해서는 보안을 풀어주어야 합니다.</p><ul style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><li><a href="https://myaccount.google.com/lesssecureapps" style="background-color:transparent;color:rgb(56,56,56);" rel="nofollow">구글 보안 설정하기</a></li><li><a href="https://mail.naver.com/option/imap" style="background-color:transparent;color:rgb(56,56,56);" rel="nofollow">네이버 보안 설정하기</a></li><li><a href="https://mail.daum.net/?nil_profile=mini&amp;nil_src=mail#setting/POP3IMAP" style="background-color:transparent;color:rgb(56,56,56);" rel="nofollow">다음 보안 설정하기</a></li></ul><p style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><br /><br /></p><h3 style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;background-color:rgb(255,255,255);">3. 컨트롤러 생성하기</h3><p style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);">이제는 진짜 메일을 보내기 위한 컨트롤러 입니다. DAO나 VO로 따로 빼서 관리를 할 수 있지만 이번에는 한곳에 두겠습니다.</p><div class="language-java highlighter-rouge" style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><div class="highlight" style="background-color:rgb(73,72,62);font-family:Inconsolata;line-height:1.8571;color:rgb(248,248,242);"><pre class="highlight" style="font-family:Inconsolata;line-height:1.8571;margin-top:0px;margin-bottom:0px;padding:1em;"><code style="font-family:Inconsolata;font-size:1em;"><span class="kn" style="color:rgb(249,38,114);">import</span> <span class="nn">javax.mail.internet.MimeMessage</span><span class="o" style="color:rgb(249,38,114);">;</span>
<span class="kn" style="color:rgb(249,38,114);">import</span> <span class="nn">javax.servlet.http.HttpServletRequest</span><span class="o" style="color:rgb(249,38,114);">;</span>

<span class="kn" style="color:rgb(249,38,114);">import</span> <span class="nn">org.springframework.beans.factory.annotation.Autowired</span><span class="o" style="color:rgb(249,38,114);">;</span>
<span class="kn" style="color:rgb(249,38,114);">import</span> <span class="nn">org.springframework.mail.javamail.JavaMailSender</span><span class="o" style="color:rgb(249,38,114);">;</span>
<span class="kn" style="color:rgb(249,38,114);">import</span> <span class="nn">org.springframework.mail.javamail.MimeMessageHelper</span><span class="o" style="color:rgb(249,38,114);">;</span>
<span class="kn" style="color:rgb(249,38,114);">import</span> <span class="nn">org.springframework.stereotype.Controller</span><span class="o" style="color:rgb(249,38,114);">;</span>
<span class="kn" style="color:rgb(249,38,114);">import</span> <span class="nn">org.springframework.web.bind.annotation.RequestMapping</span><span class="o" style="color:rgb(249,38,114);">;</span>

<span class="nd" style="color:rgb(166,226,46);">@Controller</span>
<span class="kd" style="color:rgb(102,217,239);">public</span> <span class="kd" style="color:rgb(102,217,239);">class</span> <span class="nc" style="color:rgb(166,226,46);">MailController</span> <span class="o" style="color:rgb(249,38,114);">{</span>

	<span class="nd" style="color:rgb(166,226,46);">@Autowired</span>
	<span class="kd" style="color:rgb(102,217,239);">private</span> <span class="n">JavaMailSender</span> <span class="n">mailSender</span><span class="o" style="color:rgb(249,38,114);">;</span>

	<span class="c1" style="color:rgb(117,113,94);">// mailSending 코드</span>
	<span class="nd" style="color:rgb(166,226,46);">@RequestMapping</span><span class="o" style="color:rgb(249,38,114);">(</span><span class="n">value</span> <span class="o" style="color:rgb(249,38,114);">=</span> <span class="s" style="color:rgb(230,219,116);">"mailSending.do"</span><span class="o" style="color:rgb(249,38,114);">)</span>
	<span class="kd" style="color:rgb(102,217,239);">public</span> <span class="n">String</span> <span class="nf" style="color:rgb(166,226,46);">mailSending</span><span class="o" style="color:rgb(249,38,114);">(</span><span class="n">HttpServletRequest</span> <span class="n">request</span><span class="o" style="color:rgb(249,38,114);">)</span> <span class="o" style="color:rgb(249,38,114);">{</span>

		<span class="n">String</span> <span class="n">setfrom</span> <span class="o" style="color:rgb(249,38,114);">=</span> <span class="s" style="color:rgb(230,219,116);">""</span><span class="o" style="color:rgb(249,38,114);">;</span>
		<span class="n">String</span> <span class="n">tomail</span> <span class="o" style="color:rgb(249,38,114);">=</span> <span class="n">request</span><span class="o" style="color:rgb(249,38,114);">.</span><span class="na" style="color:rgb(166,226,46);">getParameter</span><span class="o" style="color:rgb(249,38,114);">(</span><span class="s" style="color:rgb(230,219,116);">"tomail"</span><span class="o" style="color:rgb(249,38,114);">);</span> <span class="c1" style="color:rgb(117,113,94);">// 받는 사람 이메일</span>
		<span class="n">String</span> <span class="n">title</span> <span class="o" style="color:rgb(249,38,114);">=</span> <span class="n">request</span><span class="o" style="color:rgb(249,38,114);">.</span><span class="na" style="color:rgb(166,226,46);">getParameter</span><span class="o" style="color:rgb(249,38,114);">(</span><span class="s" style="color:rgb(230,219,116);">"title"</span><span class="o" style="color:rgb(249,38,114);">);</span> <span class="c1" style="color:rgb(117,113,94);">// 제목</span>
		<span class="n">String</span> <span class="n">content</span> <span class="o" style="color:rgb(249,38,114);">=</span> <span class="n">request</span><span class="o" style="color:rgb(249,38,114);">.</span><span class="na" style="color:rgb(166,226,46);">getParameter</span><span class="o" style="color:rgb(249,38,114);">(</span><span class="s" style="color:rgb(230,219,116);">"content"</span><span class="o" style="color:rgb(249,38,114);">);</span> <span class="c1" style="color:rgb(117,113,94);">// 내용</span>

		<span class="k" style="color:rgb(102,217,239);">try</span> <span class="o" style="color:rgb(249,38,114);">{</span>
			<span class="n">MimeMessage</span> <span class="n">message</span> <span class="o" style="color:rgb(249,38,114);">=</span> <span class="n">mailSender</span><span class="o" style="color:rgb(249,38,114);">.</span><span class="na" style="color:rgb(166,226,46);">createMimeMessage</span><span class="o" style="color:rgb(249,38,114);">();</span>
			<span class="n">MimeMessageHelper</span> <span class="n">messageHelper</span> <span class="o" style="color:rgb(249,38,114);">=</span> <span class="k" style="color:rgb(102,217,239);">new</span> <span class="n">MimeMessageHelper</span><span class="o" style="color:rgb(249,38,114);">(</span><span class="n">message</span><span class="o" style="color:rgb(249,38,114);">,</span>
					<span class="kc" style="color:rgb(102,217,239);">true</span><span class="o" style="color:rgb(249,38,114);">,</span> <span class="s" style="color:rgb(230,219,116);">"UTF-8"</span><span class="o" style="color:rgb(249,38,114);">);</span>

			<span class="n">messageHelper</span><span class="o" style="color:rgb(249,38,114);">.</span><span class="na" style="color:rgb(166,226,46);">setFrom</span><span class="o" style="color:rgb(249,38,114);">(</span><span class="n">setfrom</span><span class="o" style="color:rgb(249,38,114);">);</span> <span class="c1" style="color:rgb(117,113,94);">// 보내는사람 생략하면 정상작동을 안함</span>
			<span class="n">messageHelper</span><span class="o" style="color:rgb(249,38,114);">.</span><span class="na" style="color:rgb(166,226,46);">setTo</span><span class="o" style="color:rgb(249,38,114);">(</span><span class="n">tomail</span><span class="o" style="color:rgb(249,38,114);">);</span> <span class="c1" style="color:rgb(117,113,94);">// 받는사람 이메일</span>
			<span class="n">messageHelper</span><span class="o" style="color:rgb(249,38,114);">.</span><span class="na" style="color:rgb(166,226,46);">setSubject</span><span class="o" style="color:rgb(249,38,114);">(</span><span class="n">title</span><span class="o" style="color:rgb(249,38,114);">);</span> <span class="c1" style="color:rgb(117,113,94);">// 메일제목은 생략이 가능하다</span>
			<span class="n">messageHelper</span><span class="o" style="color:rgb(249,38,114);">.</span><span class="na" style="color:rgb(166,226,46);">setText</span><span class="o" style="color:rgb(249,38,114);">(</span><span class="n">content</span><span class="o" style="color:rgb(249,38,114);">);</span> <span class="c1" style="color:rgb(117,113,94);">// 메일 내용</span>

			<span class="n">mailSender</span><span class="o" style="color:rgb(249,38,114);">.</span><span class="na" style="color:rgb(166,226,46);">send</span><span class="o" style="color:rgb(249,38,114);">(</span><span class="n">message</span><span class="o" style="color:rgb(249,38,114);">);</span>
		<span class="o" style="color:rgb(249,38,114);">}</span> <span class="k" style="color:rgb(102,217,239);">catch</span> <span class="o" style="color:rgb(249,38,114);">(</span><span class="n">Exception</span> <span class="n">e</span><span class="o" style="color:rgb(249,38,114);">)</span> <span class="o" style="color:rgb(249,38,114);">{</span>
			<span class="n">System</span><span class="o" style="color:rgb(249,38,114);">.</span><span class="na" style="color:rgb(166,226,46);">out</span><span class="o" style="color:rgb(249,38,114);">.</span><span class="na" style="color:rgb(166,226,46);">println</span><span class="o" style="color:rgb(249,38,114);">(</span><span class="n">e</span><span class="o" style="color:rgb(249,38,114);">);</span>
		<span class="o" style="color:rgb(249,38,114);">}</span>

		<span class="k" style="color:rgb(102,217,239);">return</span> <span class="s" style="color:rgb(230,219,116);">"main/main.tiles"</span><span class="o" style="color:rgb(249,38,114);">;</span>
	<span class="o" style="color:rgb(249,38,114);">}</span>
<span class="o" style="color:rgb(249,38,114);">}</span>
</code></pre></div></div><p style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><br /></p><ul style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><li>크게는 4개의 정보가 들어갑니다.(보내는사람, 받는사람, 제목, 내용)</li><li>이렇게 3개의 파일을 수정하면 완료가 됩니다. 이제 보내는 페이지에서 클릭시 전송을 해주면됩니다.</li></ul><p style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><br /><br /></p><h3 style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;background-color:rgb(255,255,255);">4. 메일 보내기 페이지</h3><p style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);">단순히 보내는사람, 제목, 내용만 적어주고 버튼을 눌러주면 보내지는 페이지입니다.<br /></p><pre style="font-family:Inconsolata;font-size:14px;color:rgb(56,56,56);background-color:rgb(255,255,255);"><code class="language-jsp" style="font-family:Inconsolata;font-size:1em;">  &lt;h4&gt;메일 보내기&lt;/h4&gt;
    &lt;form action="mailSending.do" method="post"&gt;
      &lt;div&gt;
        &lt;input type="text" name="tomail" size="120"
        style="width: 100%" placeholder="상대의 이메일"
        class="form-control"&gt;
      &lt;/div&gt;
      &lt;div align="center"&gt;
        &lt;!-- 제목 --&gt;
        &lt;input type="text" name="title" size="120"
        style="width: 100%" placeholder="제목을 입력해주세요"
        class="form-control"&gt;
      &lt;/div&gt;
        &lt;p&gt;
          &lt;div align="center"&gt;
          &lt;!-- 내용 --&gt;
            &lt;textarea name="content" cols="120" rows="12"
            style="width: 100%; resize: none" placeholder="내용#"
            class="form-control"&gt;&lt;/textarea&gt;
          &lt;/div&gt;
        &lt;p&gt;
      &lt;div align="center"&gt;
        &lt;input type="submit" value="메일 보내기" class="btn btn-warning"&gt;
      &lt;/div&gt;
    &lt;/form&gt;
</code></pre><h2 style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;background-color:rgb(255,255,255);">끝</h2><p style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><br /><br /></p><h2 style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;background-color:rgb(255,255,255);">2. 파일첨부해서 보내기</h2><p style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);">너무 나도 간단하게 첨부는 가능하지만 다른 문제가 있는 파일 첨부</p><div class="language-java highlighter-rouge" style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><div class="highlight" style="background-color:rgb(73,72,62);font-family:Inconsolata;line-height:1.8571;color:rgb(248,248,242);"><pre class="highlight" style="font-family:Inconsolata;line-height:1.8571;margin-top:0px;margin-bottom:0px;padding:1em;"><code style="font-family:Inconsolata;font-size:1em;">  <span class="nd" style="color:rgb(166,226,46);">@Controller</span>
  <span class="kd" style="color:rgb(102,217,239);">public</span> <span class="kd" style="color:rgb(102,217,239);">class</span> <span class="nc" style="color:rgb(166,226,46);">MailController</span> <span class="o" style="color:rgb(249,38,114);">{</span>

	<span class="nd" style="color:rgb(166,226,46);">@Autowired</span>
	<span class="kd" style="color:rgb(102,217,239);">private</span> <span class="n">JavaMailSender</span> <span class="n">mailSender</span><span class="o" style="color:rgb(249,38,114);">;</span>

	<span class="c1" style="color:rgb(117,113,94);">// mailSending 코드</span>
	<span class="nd" style="color:rgb(166,226,46);">@RequestMapping</span><span class="o" style="color:rgb(249,38,114);">(</span><span class="n">value</span> <span class="o" style="color:rgb(249,38,114);">=</span> <span class="s" style="color:rgb(230,219,116);">"mailSending.do"</span><span class="o" style="color:rgb(249,38,114);">)</span>
	<span class="kd" style="color:rgb(102,217,239);">public</span> <span class="n">String</span> <span class="nf" style="color:rgb(166,226,46);">mailSending</span><span class="o" style="color:rgb(249,38,114);">(</span><span class="n">HttpServletRequest</span> <span class="n">request</span><span class="o" style="color:rgb(249,38,114);">,</span> <span class="n">MultipartHttpServletRequest</span> <span class="n">multi</span><span class="o" style="color:rgb(249,38,114);">)</span> <span class="o" style="color:rgb(249,38,114);">{</span>


		<span class="n">String</span> <span class="n">setfrom</span> <span class="o" style="color:rgb(249,38,114);">=</span> <span class="s" style="color:rgb(230,219,116);">""</span><span class="o" style="color:rgb(249,38,114);">;</span>
		<span class="n">String</span> <span class="n">tomail</span> <span class="o" style="color:rgb(249,38,114);">=</span> <span class="n">request</span><span class="o" style="color:rgb(249,38,114);">.</span><span class="na" style="color:rgb(166,226,46);">getParameter</span><span class="o" style="color:rgb(249,38,114);">(</span><span class="s" style="color:rgb(230,219,116);">"tomail"</span><span class="o" style="color:rgb(249,38,114);">);</span> <span class="c1" style="color:rgb(117,113,94);">// 받는 사람 이메일</span>
		<span class="n">String</span> <span class="n">title</span> <span class="o" style="color:rgb(249,38,114);">=</span> <span class="n">request</span><span class="o" style="color:rgb(249,38,114);">.</span><span class="na" style="color:rgb(166,226,46);">getParameter</span><span class="o" style="color:rgb(249,38,114);">(</span><span class="s" style="color:rgb(230,219,116);">"title"</span><span class="o" style="color:rgb(249,38,114);">);</span> <span class="c1" style="color:rgb(117,113,94);">// 제목</span>
		<span class="n">String</span> <span class="n">content</span> <span class="o" style="color:rgb(249,38,114);">=</span> <span class="n">request</span><span class="o" style="color:rgb(249,38,114);">.</span><span class="na" style="color:rgb(166,226,46);">getParameter</span><span class="o" style="color:rgb(249,38,114);">(</span><span class="s" style="color:rgb(230,219,116);">"content"</span><span class="o" style="color:rgb(249,38,114);">);</span> <span class="c1" style="color:rgb(117,113,94);">// 내용</span>
        <span class="c1" style="color:rgb(117,113,94);">// 여기가 추가</span>
		<span class="n">String</span> <span class="n">filename</span> <span class="o" style="color:rgb(249,38,114);">=</span>  <span class="n">request</span><span class="o" style="color:rgb(249,38,114);">.</span><span class="na" style="color:rgb(166,226,46);">getParameter</span><span class="o" style="color:rgb(249,38,114);">(</span><span class="s" style="color:rgb(230,219,116);">"submitFile"</span><span class="o" style="color:rgb(249,38,114);">);</span>

		<span class="k" style="color:rgb(102,217,239);">try</span> <span class="o" style="color:rgb(249,38,114);">{</span>
			<span class="n">MimeMessage</span> <span class="n">message</span> <span class="o" style="color:rgb(249,38,114);">=</span> <span class="n">mailSender</span><span class="o" style="color:rgb(249,38,114);">.</span><span class="na" style="color:rgb(166,226,46);">createMimeMessage</span><span class="o" style="color:rgb(249,38,114);">();</span>
			<span class="n">MimeMessageHelper</span> <span class="n">messageHelper</span> <span class="o" style="color:rgb(249,38,114);">=</span> <span class="k" style="color:rgb(102,217,239);">new</span> <span class="n">MimeMessageHelper</span><span class="o" style="color:rgb(249,38,114);">(</span><span class="n">message</span><span class="o" style="color:rgb(249,38,114);">,</span>
					<span class="kc" style="color:rgb(102,217,239);">true</span><span class="o" style="color:rgb(249,38,114);">,</span> <span class="s" style="color:rgb(230,219,116);">"UTF-8"</span><span class="o" style="color:rgb(249,38,114);">);</span>

			<span class="n">messageHelper</span><span class="o" style="color:rgb(249,38,114);">.</span><span class="na" style="color:rgb(166,226,46);">setFrom</span><span class="o" style="color:rgb(249,38,114);">(</span><span class="n">setfrom</span><span class="o" style="color:rgb(249,38,114);">);</span> <span class="c1" style="color:rgb(117,113,94);">// 보내는사람 생략하거나 하면 정상작동을 안함</span>
			<span class="n">messageHelper</span><span class="o" style="color:rgb(249,38,114);">.</span><span class="na" style="color:rgb(166,226,46);">setTo</span><span class="o" style="color:rgb(249,38,114);">(</span><span class="n">tomail</span><span class="o" style="color:rgb(249,38,114);">);</span> <span class="c1" style="color:rgb(117,113,94);">// 받는사람 이메일</span>
			<span class="n">messageHelper</span><span class="o" style="color:rgb(249,38,114);">.</span><span class="na" style="color:rgb(166,226,46);">setSubject</span><span class="o" style="color:rgb(249,38,114);">(</span><span class="n">title</span><span class="o" style="color:rgb(249,38,114);">);</span> <span class="c1" style="color:rgb(117,113,94);">// 메일제목은 생략이 가능하다</span>
			<span class="n">messageHelper</span><span class="o" style="color:rgb(249,38,114);">.</span><span class="na" style="color:rgb(166,226,46);">setText</span><span class="o" style="color:rgb(249,38,114);">(</span><span class="n">content</span><span class="o" style="color:rgb(249,38,114);">);</span> <span class="c1" style="color:rgb(117,113,94);">// 메일 내용</span>


			<span class="c1" style="color:rgb(117,113,94);">// 여기가 추가</span>
			<span class="n">FileSystemResource</span> <span class="n">fsr</span> <span class="o" style="color:rgb(249,38,114);">=</span> <span class="k" style="color:rgb(102,217,239);">new</span> <span class="n">FileSystemResource</span><span class="o" style="color:rgb(249,38,114);">();</span>
		    <span class="n">messageHelper</span><span class="o" style="color:rgb(249,38,114);">.</span><span class="na" style="color:rgb(166,226,46);">addAttachment</span><span class="o" style="color:rgb(249,38,114);">(</span><span class="n">filename</span><span class="o" style="color:rgb(249,38,114);">,</span> <span class="n">fsr</span><span class="o" style="color:rgb(249,38,114);">);</span>

			<span class="n">mailSender</span><span class="o" style="color:rgb(249,38,114);">.</span><span class="na" style="color:rgb(166,226,46);">send</span><span class="o" style="color:rgb(249,38,114);">(</span><span class="n">message</span><span class="o" style="color:rgb(249,38,114);">);</span>
		<span class="o" style="color:rgb(249,38,114);">}</span> <span class="k" style="color:rgb(102,217,239);">catch</span> <span class="o" style="color:rgb(249,38,114);">(</span><span class="n">Exception</span> <span class="n">e</span><span class="o" style="color:rgb(249,38,114);">)</span> <span class="o" style="color:rgb(249,38,114);">{</span>
			<span class="n">System</span><span class="o" style="color:rgb(249,38,114);">.</span><span class="na" style="color:rgb(166,226,46);">out</span><span class="o" style="color:rgb(249,38,114);">.</span><span class="na" style="color:rgb(166,226,46);">println</span><span class="o" style="color:rgb(249,38,114);">(</span><span class="n">e</span><span class="o" style="color:rgb(249,38,114);">);</span>
		<span class="o" style="color:rgb(249,38,114);">}</span>

		<span class="k" style="color:rgb(102,217,239);">return</span> <span class="s" style="color:rgb(230,219,116);">"redirect:/main.do"</span><span class="o" style="color:rgb(249,38,114);">;</span>
	<span class="o" style="color:rgb(249,38,114);">}</span>
<span class="o" style="color:rgb(249,38,114);">}</span>

</code></pre></div></div><p style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><br /></p><ul style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><li>제일 중요한건 저 파일 경로다….</li><li>자바스크립트로는 보안상 경로자체를 가져올수 없다.</li><li>파일업로드하듯이 가져와야 할 것 같다.</li></ul></div><div><span style="font-family:'Fira Sans', sans-serif;color:rgb(56,56,56);"><span style="font-size:14px;"><br /></span></span></div></div><div><h2 style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;background-color:rgb(255,255,255);">3. 이미지 추가해서 보내기</h2><p style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);">진짜 단순히 img 태그를 추가하는 방법이다. 결국 이미지는 이미지 태그를 추가해서 이미지 경로를 써주는 되는거였다….<br /></p><div class="language-java highlighter-rouge" style="color:rgb(56,56,56);font-family:'Fira Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><div class="highlight" style="background-color:rgb(73,72,62);font-family:Inconsolata;line-height:1.8571;color:rgb(248,248,242);"><pre class="highlight" style="font-family:Inconsolata;"></pre></div></div></div></div>]]></description>
<dc:creator>에렐리안</dc:creator>
<dc:date>Wed, 22 Jan 2020 16:26:57 +0900</dc:date>
</item>


<item>
<title>Centos7 SVN설치</title>
<link>http://erel.kr/bbs/board.php?bo_table=study&amp;amp;wr_id=278</link>
<description><![CDATA[<div style="text-align:center;margin-left:0px;"><img src="http://erel.kr/data/editor/1909/f7570b2c4dae320c3f38dea83a0a9005_1567472723_4369.jpg" title="f7570b2c4dae320c3f38dea83a0a9005_1567472723_4369.jpg" style="font-size:12pt;" alt="f7570b2c4dae320c3f38dea83a0a9005_1567472723_4369.jpg" /></div><div style="text-align:left;" align="left">초기 설정 이후 Repository 추가 할 때</div><div style="text-align:left;" align="left"><span style="color:rgb(255,0,0);">1. svnadmin create --fs-type fsfs /svn/{repository 이름} <span style="color:rgb(97,185,119);">#Repository 생성</span></span></div><div style="text-align:left;" align="left"><span style="color:rgb(255,0,0);">2. vi /svn/{repository 이름}/conf/passwd  <span style="color:rgb(97,185,119);">#패스워드 설정 위 이미지 설정 참조</span></span></div><div style="text-align:left;" align="left"><span style="color:rgb(255,0,0);">3. vi /svn/{repository 이름}/conf/authz  <span style="color:rgb(97,185,119);">#접근 권한 설정</span></span><span style="color:rgb(255,0,0);"> </span></div><div style="text-align:left;" align="left"><br /></div><div style="text-align:left;margin-left:0px;" align="left"><span style="color:rgb(97,185,119);"><span style="color:rgb(0,117,200);">systemctl start svnserve.service</span> #시작</span></div><div style="text-align:left;margin-left:0px;" align="left"><span style="color:rgb(97,185,119);"><span style="color:rgb(0,117,200);">systemctl stop svnserve.service</span> #정지</span><span style="color:rgb(97,185,119);"> </span></div><div style="text-align:center;"><br /></div><div style="text-align:center;"><br /></div><div style="text-align:center;" align="center"> </div>]]></description>
<dc:creator>에렐리안</dc:creator>
<dc:date>Tue, 03 Sep 2019 10:14:21 +0900</dc:date>
</item>


<item>
<title>Build iOS/Android 앱만들기</title>
<link>http://erel.kr/bbs/board.php?bo_table=study&amp;amp;wr_id=277</link>
<description><![CDATA[<p><span style="font-size:18pt;">Android</span> </p><p><span style="font-size:12pt;">fuse build -t=android -cRelease</span></p><p><br /></p><p><span style="font-size:12pt;">특이사항</span></p><p><span style="font-size:12pt;">fuse 에서 sdk 만 받으면 될줄 아는데 그게 안된다...</span></p><p><span style="font-size:12pt;">안드로이드 스튜디오 설치해서 ndk나 cmake라는 sdk를 설치 해 줘야 한다..</span></p><p><span style="font-size:12pt;"><br /></span></p><p><br /></p><p><br /></p><p><br /></p><p><span style="font-size:12pt;">iOS</span></p><p><span style="font-size:12pt;">fuse build -t=iOS -r</span></p><p><br /></p><p><span style="font-size:12pt;">xcodde 에서 최종 작업하여 마켓등록해야한다.</span></p><p><span style="font-size:12pt;"><br /></span></p><p><span style="font-size:12pt;">특이사항</span></p><p>iOS는 특별히 sdk를 찾아서 등록하지는 않지만... 앱스토어 등록하는게 흔히 아는 방식이 아니다. </p><p>무조건 맥 컴퓨터가 필요하다. 이유는... Xcode가 맥에서만 돌아간다.</p><p>Xcode에서 앱스토어 개발아이디와 연동을하여 인증해주고</p><p><br /></p><p>Xcode의 Produce &gt; Archive 를 선택하여 검증을 받고 등록하면된다.</p><p><br /></p>]]></description>
<dc:creator>에렐리안</dc:creator>
<dc:date>Mon, 08 Apr 2019 09:56:49 +0900</dc:date>
</item>


<item>
<title>SublimeText 코드 자동정렬하기</title>
<link>http://erel.kr/bbs/board.php?bo_table=study&amp;amp;wr_id=276</link>
<description><![CDATA[<p>Preferences &gt; Key Bindings </p><p><br /></p><p>{ "keys": ["command+shift+f"], "command": "reindent" , "args": { "single_line": false } }<br /></p><p><br /></p><p><br /></p><p>커맨드키 + 시프트키 + f 키 누르면 코드자동정렬하게 한다.</p>]]></description>
<dc:creator>에렐리안</dc:creator>
<dc:date>Fri, 29 Mar 2019 17:41:23 +0900</dc:date>
</item>


<item>
<title>jquery - select option 선택값 가져오기</title>
<link>http://erel.kr/bbs/board.php?bo_table=study&amp;amp;wr_id=275</link>
<description><![CDATA[<div class="area_title" style="margin:0px 0px 30px;padding:0px 0px 15px;border-bottom:1px solid rgb(239,239,239);color:rgb(102,102,102);font-family:'Spoqa Han Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><h3 class="tit_post" style="margin:0px;padding:5px 0px 10px;font-weight:normal;font-size:34px;line-height:43px;color:rgb(34,34,34);">[jquery] select  box 선택값 가져오기<br /></h3></div><div class="area_view" style="margin:0px;padding:0px;color:rgb(92,92,92);font-family:'Spoqa Han Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"><div class="tt_article_useless_p_margin" style="margin:0px;padding:0px;"><p style="margin-right:auto;margin-bottom:28px;margin-left:auto;font-size:12px;line-height:18px;color:rgb(102,102,102);font-family:dotum;"><br /></p><p style="margin-right:auto;margin-bottom:28px;margin-left:auto;font-size:12px;line-height:18px;color:rgb(102,102,102);font-family:dotum;"><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">// select box ID로 접근하여 선택된 값 읽기</span><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">$("#셀렉트박스ID option:selected").val();</span><br /><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">// select box Name로 접근하여 선택된 값 읽기</span><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">$("select[name=셀렉트박스name]").val();</span><br /><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">// 같은 방식으로 span과 같은 다른 태그도 접근 가능하다~</span><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">$("span[name=셀렉트박스name]").text();</span><br /><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">// 선택된 값의 index를 불러오기</span><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">var index = $("#셀렉트박스ID option").index($("#셀렉트박스ID option:selected"));</span><br /><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">// 셀렉트 박스에 option값 추가하기</span><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">$("#셀렉트박스ID").append("&lt;option value='1'&gt;1번&lt;/option&gt;");</span><br /><span style="width:1px;height:1px;float:right;"></span><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">// 셀렉트 박스 option의 맨앞에 추가 할 경우</span><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">$("#셀렉트박스ID").prepend("&lt;option value='0'&gt;0번&lt;/option&gt;");</span><br /><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">// 셀렉트 박스의 html 전체를 변경할 경우</span><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">$("#셀렉트박스ID").html("&lt;option value='1'&gt;1차&lt;/option&gt;&lt;option value='2'&gt;2차&lt;/option&gt;");</span><br /><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">// 셀렉트 박스의 index별로 replace를 할 경우</span><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">// 해당 객체를 가져오게 되면, option이 다수가 되므로 배열 객체가 되어 eq에 index를 넣어 개별 개체를 선택할 수 있다.</span><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">$("#셀렉트박스ID option:eq(1)").replaceWith("&lt;option value='1'&gt;1차&lt;/option&gt;");</span><br /><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">// 직접 index 값을 주어 selected 속성 주기</span><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">$("#셀렉트ID option:eq(1)").attr("selected", "selected");</span><br /><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">// text 값으로 selected 속성 주기</span><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">$("#셀렉트ID")val("1번").attr("selected", "selected");</span><br /><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">// value 값으로 selected 속성 주기</span><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">$("#셀렉트ID").val("1");</span><br /><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">// 해당 index item 삭제하기</span><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">$("#셀렉트ID option:eq(0)").remove();</span><br /><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">// 첫번째, 마지막 item 삭제하기</span><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">$("#셀렉트ID option:first").remove();</span><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">$("#셀렉트ID option:last").remove();</span><br /><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">// 선택된 옵션의 text, value 구하기</span><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">$("#셀렉트ID option:selected").text();</span><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">$("#셀렉트ID option:selected").val();</span><br /><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">// 선택된 옵션의 index 구하기</span><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">$("#셀렉트ID option").index($("#셀렉트ID option:selected"));</span><br /><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">// 셀렉트박스의 아이템 갯수 구하기</span><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">$("#셀렉트ID option").size();</span><br /><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">// 선택된 옵션 전까지의 item 갯수 구하기</span><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">$("#셀렉트ID option:selected").prevAll().size();</span><br /><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">// 선택된 옵션 후의 item 갯수 구하기</span><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">$("#셀렉트ID option:selected").nextAll().size();</span><br /><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">// 해당 index item 이후에 option item 추가 하기</span><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">$("#셀렉트ID option:eq(0)").after("&lt;option value='3'&gt;3번&lt;/option&gt;");</span><br /><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">// 해당 index item 전에 option item 추가하기</span><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">$("#셀렉트ID option:eq(3)").before("&lt;option value='2'&gt;2번&lt;/option&gt;");</span><br /><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">// 해당 셀렉트 박스에 change event binding 하기</span><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">$("#selectID").change(function() {</span><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">alert($(this).val());</span><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">alert($(this).children("option:selected").text());</span><br /><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">});</span></p><p style="margin-right:auto;margin-bottom:28px;margin-left:auto;font-size:12px;line-height:18px;color:rgb(102,102,102);font-family:dotum;"><br /></p><p style="margin-right:auto;margin-bottom:28px;margin-left:auto;font-size:12px;line-height:18px;color:rgb(102,102,102);font-family:dotum;"><span style="font-family:'맑은 고딕', sans-serif;font-size:10pt;">[jquery] select  box 선택값 가져오기</span></p></div></div><p><br style="color:rgb(102,102,102);font-family:'Spoqa Han Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);" /><br style="color:rgb(102,102,102);font-family:'Spoqa Han Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);" /><span style="color:rgb(102,102,102);font-family:'Spoqa Han Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);">출처: </span><a href="http://oingbong.tistory.com/175" style="color:rgb(51,51,51);font-family:'Spoqa Han Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);" rel="nofollow">http://oingbong.tistory.com/175</a><span style="color:rgb(102,102,102);font-family:'Spoqa Han Sans', sans-serif;font-size:14px;background-color:rgb(255,255,255);"> [Oing]</span> </p>]]></description>
<dc:creator>에렐리안</dc:creator>
<dc:date>Mon, 15 Oct 2018 10:54:45 +0900</dc:date>
</item>


<item>
<title>Centos 시간대, 한국 시간(한국표준시;KST)으로 변경; Linux Timezone</title>
<link>http://erel.kr/bbs/board.php?bo_table=study&amp;amp;wr_id=274</link>
<description><![CDATA[<p><span style="color:rgb(85,85,68);font-family:Tahoma, Dotum, 'Bitstream Vera Sans', 'Trebuchet MS', 'Lucida Grande', lucida, helvetica, sans-serif;font-size:12px;background-color:rgb(255,255,255);">리눅스를 설치할 때 시간대(타임존;Timezone)를 맞추지 않으면, 컴퓨터 시계가 미국 태평양 시간인 PST로 나옵니다. (서머타임 기간에는 PDT.) 즉 캘리포니아 시간으로 나옵니다. 이것을 한국 표준시인 KST 로 변경하는 방법입니다.</span> </p><p><span style="color:rgb(85,85,68);font-family:Fixedsys;font-size:12px;background-color:rgb(255,255,255);"><b><span style="background-color:rgb(0,153,153);color:rgb(255,255,255);">ls /usr/share/zoneinfo</span></b></span> </p><p><span style="color:rgb(85,85,68);font-family:Fixedsys;font-size:12px;background-color:rgb(255,255,255);"><br /></span></p><p><span style="color:rgb(85,85,68);font-family:Tahoma, Dotum, 'Bitstream Vera Sans', 'Trebuchet MS', 'Lucida Grande', lucida, helvetica, sans-serif;font-size:12px;background-color:rgb(255,255,255);">zoneinfo 란 디렉토리의 내용을 ls 명령으로 보면 Asia 라는 디렉토리가 있을 것입니다. 그리고</span> </p><p><span style="color:rgb(85,85,68);font-family:Tahoma, Dotum, 'Bitstream Vera Sans', 'Trebuchet MS', 'Lucida Grande', lucida, helvetica, sans-serif;font-size:12px;background-color:rgb(255,255,255);"><br /></span></p><p><span style="color:rgb(255,255,255);font-family:Fixedsys;font-size:12px;background-color:rgb(0,153,153);"><b>ls /usr/share/zoneinfo/Asia</b></span><span style="color:rgb(85,85,68);font-family:Tahoma, Dotum, 'Bitstream Vera Sans', 'Trebuchet MS', 'Lucida Grande', lucida, helvetica, sans-serif;font-size:12px;background-color:rgb(255,255,255);"> </span></p><p><span style="color:rgb(85,85,68);font-family:Fixedsys;font-size:12px;background-color:rgb(255,255,255);"><b><br /></b></span></p><p><span style="color:rgb(85,85,68);font-family:Tahoma, Dotum, 'Bitstream Vera Sans', 'Trebuchet MS', 'Lucida Grande', lucida, helvetica, sans-serif;font-size:12px;background-color:rgb(255,255,255);">이제 이렇게 쳐보면, </span><strong style="color:rgb(85,85,68);font-family:Tahoma, Dotum, 'Bitstream Vera Sans', 'Trebuchet MS', 'Lucida Grande', lucida, helvetica, sans-serif;font-size:12px;background-color:rgb(255,255,255);">Seoul</strong><span style="color:rgb(85,85,68);font-family:Tahoma, Dotum, 'Bitstream Vera Sans', 'Trebuchet MS', 'Lucida Grande', lucida, helvetica, sans-serif;font-size:12px;background-color:rgb(255,255,255);"> 즉 '서울'이라는 파일이 있을 것입니다. 우분투가 아닌 다른 배포본에서는 좀 다를 수도 있으니 정확한 위치를 파악해야 합니다.</span> </p><p><span style="color:rgb(85,85,68);font-family:Tahoma, Dotum, 'Bitstream Vera Sans', 'Trebuchet MS', 'Lucida Grande', lucida, helvetica, sans-serif;font-size:12px;background-color:rgb(255,255,255);"><br /></span></p><p><span style="color:rgb(85,85,68);font-family:Tahoma, Dotum, 'Bitstream Vera Sans', 'Trebuchet MS', 'Lucida Grande', lucida, helvetica, sans-serif;font-size:12px;background-color:rgb(255,255,255);"><br /></span></p><p><span style="color:rgb(85,85,68);font-family:Tahoma, Dotum, 'Bitstream Vera Sans', 'Trebuchet MS', 'Lucida Grande', lucida, helvetica, sans-serif;font-size:12px;background-color:rgb(255,255,255);">이제 Seoul 이라는 파일에 대한 심볼릭 링크를 /etc/localtime 이라는 이름으로 만들어 주어야 합니다</span><span style="color:rgb(85,85,68);font-family:Tahoma, Dotum, 'Bitstream Vera Sans', 'Trebuchet MS', 'Lucida Grande', lucida, helvetica, sans-serif;font-size:12px;background-color:rgb(255,255,255);"> </span></p><p><span style="color:rgb(255,255,255);font-family:DotumChe, monospace;font-size:13.3333px;white-space:nowrap;background-color:rgb(0,153,153);"><b>ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime</b></span><span style="color:rgb(85,85,68);font-family:Tahoma, Dotum, 'Bitstream Vera Sans', 'Trebuchet MS', 'Lucida Grande', lucida, helvetica, sans-serif;font-size:12px;background-color:rgb(255,255,255);"> </span></p><p><span style="color:rgb(85,85,68);font-family:Tahoma, Dotum, 'Bitstream Vera Sans', 'Trebuchet MS', 'Lucida Grande', lucida, helvetica, sans-serif;font-size:12px;background-color:rgb(255,255,255);">아무 메시지도 나오지 않아야 성공입니다. (위의 명령에서 ln 은, LN 을 소문자로 쓴 것임)</span><span style="color:rgb(85,85,68);font-family:DotumChe, monospace;font-size:13.3333px;white-space:nowrap;background-color:rgb(255,255,255);"> </span></p><p><span style="color:rgb(85,85,68);font-family:Tahoma, Dotum, 'Bitstream Vera Sans', 'Trebuchet MS', 'Lucida Grande', lucida, helvetica, sans-serif;font-size:12px;background-color:rgb(255,255,255);"><br /></span></p><p><span style="color:rgb(85,85,68);font-family:Tahoma, Dotum, 'Bitstream Vera Sans', 'Trebuchet MS', 'Lucida Grande', lucida, helvetica, sans-serif;font-size:12px;background-color:rgb(255,255,255);">이제 </span><strong style="color:rgb(85,85,68);font-family:Tahoma, Dotum, 'Bitstream Vera Sans', 'Trebuchet MS', 'Lucida Grande', lucida, helvetica, sans-serif;font-size:12px;background-color:rgb(255,255,255);">date</strong><span style="color:rgb(85,85,68);font-family:Tahoma, Dotum, 'Bitstream Vera Sans', 'Trebuchet MS', 'Lucida Grande', lucida, helvetica, sans-serif;font-size:12px;background-color:rgb(255,255,255);"> 명령을 쳐보면, 날짜 뒤에 </span><strong style="color:rgb(85,85,68);font-family:Tahoma, Dotum, 'Bitstream Vera Sans', 'Trebuchet MS', 'Lucida Grande', lucida, helvetica, sans-serif;font-size:12px;background-color:rgb(255,255,255);">PST</strong><span style="color:rgb(85,85,68);font-family:Tahoma, Dotum, 'Bitstream Vera Sans', 'Trebuchet MS', 'Lucida Grande', lucida, helvetica, sans-serif;font-size:12px;background-color:rgb(255,255,255);">나 </span><strong style="color:rgb(85,85,68);font-family:Tahoma, Dotum, 'Bitstream Vera Sans', 'Trebuchet MS', 'Lucida Grande', lucida, helvetica, sans-serif;font-size:12px;background-color:rgb(255,255,255);">PDT</strong><span style="color:rgb(85,85,68);font-family:Tahoma, Dotum, 'Bitstream Vera Sans', 'Trebuchet MS', 'Lucida Grande', lucida, helvetica, sans-serif;font-size:12px;background-color:rgb(255,255,255);">대신에, 한국 시간인 </span><strong style="color:rgb(85,85,68);font-family:Tahoma, Dotum, 'Bitstream Vera Sans', 'Trebuchet MS', 'Lucida Grande', lucida, helvetica, sans-serif;font-size:12px;background-color:rgb(255,255,255);">KST</strong><span style="color:rgb(85,85,68);font-family:Tahoma, Dotum, 'Bitstream Vera Sans', 'Trebuchet MS', 'Lucida Grande', lucida, helvetica, sans-serif;font-size:12px;background-color:rgb(255,255,255);">가 나올 것입니다.</span><span style="color:rgb(85,85,68);font-family:Tahoma, Dotum, 'Bitstream Vera Sans', 'Trebuchet MS', 'Lucida Grande', lucida, helvetica, sans-serif;font-size:12px;background-color:rgb(255,255,255);"> </span></p><p><span style="color:rgb(85,85,68);font-family:Tahoma, Dotum, 'Bitstream Vera Sans', 'Trebuchet MS', 'Lucida Grande', lucida, helvetica, sans-serif;font-size:12px;background-color:rgb(255,255,255);"><br /></span></p><p><span style="color:rgb(85,85,68);font-family:Tahoma, Dotum, 'Bitstream Vera Sans', 'Trebuchet MS', 'Lucida Grande', lucida, helvetica, sans-serif;font-size:12px;background-color:rgb(255,255,255);"><br /></span></p>]]></description>
<dc:creator>에렐리안</dc:creator>
<dc:date>Thu, 23 Aug 2018 16:01:14 +0900</dc:date>
</item>


<item>
<title>다른 데이터베이스의 테이블 복사하기</title>
<link>http://erel.kr/bbs/board.php?bo_table=study&amp;amp;wr_id=273</link>
<description><![CDATA[<div class="tt_article_useless_p_margin"><p>데이터베이스[<span style="color:rgb(255,0,0);">DB1</span>]에 있는 [<b>station</b>] 이라는테이블을 </p><p><span style="font-size:9pt;line-height:1.5;">데이터베이스[</span><span style="color:rgb(0,85,255);">DB2</span>]에 같은 이름으로 복사하고 싶을 경우.</p><p><br /></p><pre class="lang-sql prettyprint prettyprinted" style="margin-top:0px;margin-bottom:10px;padding:5px;border:0px;font-size:14px;vertical-align:baseline;background-color:rgb(238,238,238);font-family:Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif;width:auto;max-height:600px;"><code style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif;"><span class="kwd" style="color:rgb(0,0,139);margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;">CREATE</span><span class="pln" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;"> </span><span class="kwd" style="color:rgb(0,0,139);margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;">TABLE</span><span class="pln" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;"> <span style="color:rgb(0,85,255);">db2</span></span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;"></span><span class="pln" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;"> </span><span class="kwd" style="color:rgb(0,0,139);margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;">LIKE</span><span class="pln" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;"> <span style="color:rgb(255,0,0);">db1</span></span><span class="pun" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;">.<span style="color:rgb(0,0,139);background-color:transparent;line-height:1.5;"><b>station</b></span><span style="background-color:transparent;line-height:1.5;">;</span><br /></span><span class="kwd" style="color:rgb(0,0,139);margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;">INSERT</span><span class="pln" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;"> </span><span class="kwd" style="color:rgb(0,0,139);margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;">INTO</span><span class="pln" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;"> <span style="color:rgb(0,85,255);">db2</span></span><span class="pun" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;">.<span style="color:rgb(0,0,139);background-color:transparent;line-height:1.5;"><b>station</b></span></span></code><span class="pln" style="background-color:transparent;line-height:1.5;color:rgb(0,0,0);margin:0px;padding:0px;border:0px;vertical-align:baseline;"> </span><span class="kwd" style="background-color:transparent;line-height:1.5;color:rgb(0,0,139);margin:0px;padding:0px;border:0px;vertical-align:baseline;">SELECT</span><span class="pln" style="background-color:transparent;line-height:1.5;color:rgb(0,0,0);margin:0px;padding:0px;border:0px;vertical-align:baseline;"> </span><span class="pun" style="background-color:transparent;line-height:1.5;color:rgb(0,0,0);margin:0px;padding:0px;border:0px;vertical-align:baseline;">*</span><span class="pln" style="background-color:transparent;line-height:1.5;color:rgb(0,0,0);margin:0px;padding:0px;border:0px;vertical-align:baseline;"> </span><span class="kwd" style="background-color:transparent;line-height:1.5;color:rgb(0,0,139);margin:0px;padding:0px;border:0px;vertical-align:baseline;">FROM</span><span class="pln" style="background-color:transparent;line-height:1.5;color:rgb(0,0,0);margin:0px;padding:0px;border:0px;vertical-align:baseline;"> <span style="color:rgb(255,0,0);">db1</span></span><span class="pun" style="background-color:transparent;line-height:1.5;color:rgb(0,0,0);margin:0px;padding:0px;border:0px;vertical-align:baseline;">.</span><span style="color:rgb(0,0,139);background-color:transparent;line-height:1.5;"><b>station</b></span><span style="background-color:transparent;color:rgb(0,0,0);line-height:1.5;">;</span></pre><p> </p></div>]]></description>
<dc:creator>에렐리안</dc:creator>
<dc:date>Tue, 21 Aug 2018 17:41:55 +0900</dc:date>
</item>


<item>
<title>[CentOS] yum으로 scp설치하기</title>
<link>http://erel.kr/bbs/board.php?bo_table=study&amp;amp;wr_id=271</link>
<description><![CDATA[<div class="__se_code_view se_textarea language-javascript"><span class="token se_code_punctuation" style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">[</span><span style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">root@centos6 </span><span class="token se_code_operator" style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">~</span><span class="token se_code_punctuation" style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">]</span><span style="font-family:'나눔고딕', NanumGothic;font-size:12pt;"># scp </span></div><div class="__se_code_view se_textarea language-javascript"><span class="token se_code_operator" style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">-</span><span style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">bash</span><span class="token se_code_punctuation" style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">:</span><span style="font-family:'나눔고딕', NanumGothic;font-size:12pt;"> scp</span><span class="token se_code_punctuation" style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">:</span><span style="font-family:'나눔고딕', NanumGothic;font-size:12pt;"> command not found </span></div><div class="__se_code_view se_textarea language-javascript"><span class="token se_code_operator" style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">-</span><span style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">rw</span><span class="token se_code_operator" style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">-</span><span style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">r</span><span class="token se_code_operator" style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">--</span><span style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">r</span><span class="token se_code_operator" style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">--</span><span style="font-family:'나눔고딕', NanumGothic;font-size:12pt;"> </span><span class="token se_code_number" style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">1</span><span style="font-family:'나눔고딕', NanumGothic;font-size:12pt;"> root root </span><span class="token se_code_number" style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">0</span><span style="font-family:'나눔고딕', NanumGothic;font-size:12pt;"> </span><span class="token se_code_number" style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">2001</span><span class="token se_code_operator" style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">-</span><span class="token se_code_number" style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">01</span><span class="token se_code_operator" style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">-</span><span class="token se_code_number" style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">14</span><span style="font-family:'나눔고딕', NanumGothic;font-size:12pt;"> </span><span class="token se_code_number" style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">14</span><span class="token se_code_punctuation" style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">:</span><span class="token se_code_number" style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">00</span><span class="token se_code_punctuation" style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">:</span><span class="token se_code_number" style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">00.000000000</span><span style="font-family:'나눔고딕', NanumGothic;font-size:12pt;"> </span><span class="token se_code_operator" style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">+</span><span class="token se_code_number" style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">0800</span><span style="font-family:'나눔고딕', NanumGothic;font-size:12pt;"> newtestfile1</span></div><div class="__se_code_view se_textarea language-javascript"><br /></div><div class="__se_code_view se_textarea language-javascript"><span style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">위와 같은 경우에 "yum"으로 설치합니다.</span></div><div class="__se_code_view se_textarea language-javascript"><br /></div>


<div class="__se_code_view se_textarea language-javascript"><span class="token se_code_punctuation" style="font-family:'나눔고딕', NanumGothic;font-size:12pt;background-color:rgb(255,255,255);color:rgb(255,0,0);">[</span><span style="font-family:'나눔고딕', NanumGothic;font-size:12pt;background-color:rgb(255,255,255);color:rgb(255,0,0);">root@centos6 </span><span class="token se_code_operator" style="font-family:'나눔고딕', NanumGothic;font-size:12pt;background-color:rgb(255,255,255);color:rgb(255,0,0);">~</span><span class="token se_code_punctuation" style="font-family:'나눔고딕', NanumGothic;font-size:12pt;background-color:rgb(255,255,255);color:rgb(255,0,0);">]</span><span style="font-family:'나눔고딕', NanumGothic;font-size:12pt;background-color:rgb(255,255,255);color:rgb(255,0,0);"># yum install openssh</span><span class="token se_code_operator" style="font-family:'나눔고딕', NanumGothic;font-size:12pt;background-color:rgb(255,255,255);color:rgb(255,0,0);">-</span><span style="font-family:'나눔고딕', NanumGothic;font-size:12pt;background-color:rgb(255,255,255);color:rgb(255,0,0);">clients </span></div><div class="__se_code_view se_textarea language-javascript"><br /></div><div class="__se_code_view se_textarea language-javascript"><span style="font-family:'나눔고딕', NanumGothic;font-size:12pt;">"y"누르고 설치하면 끝...</span></div>]]></description>
<dc:creator>에렐리안</dc:creator>
<dc:date>Mon, 02 Jul 2018 10:22:41 +0900</dc:date>
</item>


<item>
<title>Mysql 암호화/복호화</title>
<link>http://erel.kr/bbs/board.php?bo_table=study&amp;amp;wr_id=270</link>
<description><![CDATA[<p><br /></p><p><span style="font-size:12pt;font-family:'나눔고딕', NanumGothic;">예제테이블 : </span><b><span style="font-size:12pt;font-family:'나눔고딕', NanumGothic;">aaaa, </span></b></p><p><span style="font-size:12pt;font-family:'나눔고딕', NanumGothic;">적용예제 컬럼 </span><b><span style="font-size:12pt;font-family:'나눔고딕', NanumGothic;">: passwd</span></b></p><p><b><br /></b></p><p><span style="font-size:12pt;font-family:'나눔고딕', NanumGothic;">&lt;암호화&gt;</span><b> </b></p><p><span style="font-size:12pt;font-family:'나눔고딕', NanumGothic;">insert </span><b><span style="font-size:12pt;font-family:'나눔고딕', NanumGothic;">aaaa </span></b><span style="font-size:12pt;font-family:'나눔고딕', NanumGothic;">set passwd = HEX(AES_ENCRYPT('guest', 'keycode'));</span> </p><p><br /></p><p><span style="font-size:12pt;font-family:'나눔고딕', NanumGothic;">&lt;복호화&gt;</span></p><p><span style="font-size:12pt;font-family:'나눔고딕', NanumGothic;">select AES_DECRYPT(UNHEX(passwd), 'keycode') as passwd  from </span><b><span style="font-size:12pt;font-family:'나눔고딕', NanumGothic;">aaaa</span></b><span style="font-size:12pt;font-family:'나눔고딕', NanumGothic;"> </span></p><p><b><br /></b></p><p><span style="font-size:12pt;font-family:'나눔고딕', NanumGothic;">복호화된 내용은 웹페이지에서 확인 할 수 있다.</span></p>]]></description>
<dc:creator>에렐리안</dc:creator>
<dc:date>Wed, 27 Jun 2018 15:26:38 +0900</dc:date>
</item>


<item>
<title>microsoft 소프트웨어 보호 플랫폼(sppsvc) CPU 점유율 문제 해결하기</title>
<link>http://erel.kr/bbs/board.php?bo_table=study&amp;amp;wr_id=269</link>
<description><![CDATA[<h3 class="se_textarea" style="margin:0px 0px 0px 14px;padding:16px 0px 22px;font-weight:400;width:707px;height:84px;border:none;background:rgb(255,255,255) 0px 0px;font-family:'나눔고딕', nanumgothic, 'se_NanumGothic', AppleSDGothicNeo, sans-serif, simhei;line-height:inherit;color:rgb(61,68,68);"><span style="font-size:11pt;">윈도우10 정품을 설치했는데도 이지/랄이다 짜증나게 ㅠㅠ</span></h3><h3 class="se_textarea" style="margin:0px 0px 0px 14px;padding:16px 0px 22px;font-weight:400;width:707px;height:84px;border:none;background:rgb(255,255,255) 0px 0px;font-family:'나눔고딕', nanumgothic, 'se_NanumGothic', AppleSDGothicNeo, sans-serif, simhei;line-height:inherit;color:rgb(61,68,68);"><span style="font-size:11pt;">소프트웨어 보호 플랫폼(sppsvc) 실행으로 </span><span style="font-size:11pt;">CPU가 난리를 칠 때...</span></h3><div><span style="font-size:11pt;"><br /></span></div><h3 class="se_textarea" style="margin:0px 0px 0px 14px;padding:16px 0px 22px;font-weight:400;width:707px;height:84px;border:none;background:rgb(255,255,255) 0px 0px;font-family:'나눔고딕', nanumgothic, 'se_NanumGothic', AppleSDGothicNeo, sans-serif, simhei;line-height:inherit;color:rgb(61,68,68);"><span style="font-size:11pt;">해결방법<br /></span><span style="font-size:11pt;">1. ProcessHacker 를 설치한다 - 네이버에서 검색하면나온다 </span></h3><h3 class="se_textarea" style="margin:0px 0px 0px 14px;padding:16px 0px 22px;font-weight:400;width:707px;height:84px;border:none;background:rgb(255,255,255) 0px 0px;font-family:'나눔고딕', nanumgothic, 'se_NanumGothic', AppleSDGothicNeo, sans-serif, simhei;line-height:inherit;color:rgb(61,68,68);"><span style="font-size:14.6667px;">경로 : </span><span><a href="https://sourceforge.net/projects/processhacker/?source=typ_redirect" rel="nofollow">https://sourceforge.net/projects/processhacker/?source=typ_redirect</a></span></h3><h3 class="se_textarea" style="margin:0px 0px 0px 14px;padding:16px 0px 22px;width:707px;height:84px;border:none;background:rgb(255,255,255) 0px 0px;line-height:inherit;"><span style="color:rgb(61,68,68);font-family:'나눔고딕', nanumgothic, 'se_NanumGothic', AppleSDGothicNeo, sans-serif, simhei;font-size:16px;font-weight:400;"><span style="font-size:11pt;">2. ProcessHacker실행 후 상단 프로세스 검색</span></span></h3><h3 class="se_textarea" style="margin:0px 0px 0px 14px;padding:16px 0px 22px;font-weight:400;width:707px;height:84px;border:none;background:rgb(255,255,255) 0px 0px;font-family:'나눔고딕', nanumgothic, 'se_NanumGothic', AppleSDGothicNeo, sans-serif, simhei;line-height:inherit;color:rgb(61,68,68);"><img src="http://erel.kr/data/editor/1804/9254bfc306104bd8a75665ab9a43028b_1523638912_1377.png" title="9254bfc306104bd8a75665ab9a43028b_1523638912_1377.png" alt="9254bfc306104bd8a75665ab9a43028b_1523638912_1377.png" /><br style="clear:both;" /><img src="http://erel.kr/data/editor/1804/9254bfc306104bd8a75665ab9a43028b_1523638914_4424.png" title="9254bfc306104bd8a75665ab9a43028b_1523638914_4424.png" alt="9254bfc306104bd8a75665ab9a43028b_1523638914_4424.png" /><br style="clear:both;" /><br /><span style="font-size:16px;"></span></h3><div class="autosourcing-stub-extra"><p style="margin-top:11px;margin-bottom:7px;font-size:12px;font-family:Dotum;"> </p><div> </div></div>]]></description>
<dc:creator>에렐리안</dc:creator>
<dc:date>Sat, 14 Apr 2018 02:03:05 +0900</dc:date>
</item>


<item>
<title>Webview 로 보여주기</title>
<link>http://erel.kr/bbs/board.php?bo_table=study&amp;amp;wr_id=268</link>
<description><![CDATA[<p>&lt;App&gt;</p><p><span style="white-space:pre;">	</span>&lt;Android.StatusBarConfig Color="Gray" /&gt;</p><p><span style="white-space:pre;">	</span>&lt;iOS.StatusBarConfig Style="Dark" /&gt;</p><p><span style="white-space:pre;">	</span>&lt;ClientPanel&gt;<span style="white-space:pre;">	</span></p><p><span style="white-space:pre;">		</span>&lt;NativeViewHost&gt;</p><p><span style="white-space:pre;">			</span>&lt;DockPanel&gt;</p><p><span style="white-space:pre;">				</span>&lt;!--</p><p><span style="white-space:pre;">				</span>&lt;Panel ux:Name="progressLayout" Width="100%" Height="100%" Alignment="Top" Color="White" Visibility="Collapsed" Layer="Overlay"&gt;</p><p><span style="white-space:pre;">					</span>&lt;Panel ux:Name="progress" Alignment="CenterLeft" Height="5" Width="0" Color="#428bca" /&gt;<span style="white-space:pre;">					</span></p><p><span style="white-space:pre;">				</span>&lt;/Panel&gt;</p><p><br /></p><p><span style="white-space:pre;">			</span>--&gt;</p><p><br /></p><p><span style="white-space:pre;">				</span>&lt;Panel ux:Name="progressLayout" Alignment="Top" Width="100%" Color="White" Visibility="Collapsed" Layer="Overlay"&gt;</p><p><span style="white-space:pre;">					</span>&lt;Panel ux:Name="progress" Alignment="CenterLeft" Height="2" Width="0" Color="#146CFF" /&gt;</p><p><span style="white-space:pre;">				</span>&lt;/Panel&gt;</p><p><br /></p><p><span style="white-space:pre;">	</span>&lt;!-- <span style="white-space:pre;">			</span>&lt;Panel Dock="Bottom" Height="50"&gt;</p><p><span style="white-space:pre;">					</span>&lt;Rectangle Color="#0007" Height="50"&gt;</p><p><span style="white-space:pre;">						</span>&lt;Text Value="GoBack" Alignment="Center" TextColor="White" /&gt;</p><p><span style="white-space:pre;">						</span>&lt;WhileCanGoBack NavigationContext="WebView"&gt;</p><p><span style="white-space:pre;">							</span>&lt;Clicked&gt;</p><p><span style="white-space:pre;">								</span>&lt;GoBack TargetNode="WebView" /&gt;</p><p><span style="white-space:pre;">							</span>&lt;/Clicked&gt;</p><p><span style="white-space:pre;">						</span>&lt;/WhileCanGoBack&gt; </p><p><span style="white-space:pre;">					</span>&lt;/Rectangle&gt;</p><p><br /></p><p><span style="white-space:pre;">				</span>&lt;/Panel&gt; --&gt;</p><p><br /></p><p><br /></p><p><span style="white-space:pre;">				</span>&lt;WebView Url="<a href="http://erel.kr" rel="nofollow">Http://erel.kr</a>" CachingMode="Optimized"&gt;</p><p><span style="white-space:pre;">					</span>&lt;ProgressAnimation&gt;</p><p><span style="white-space:pre;">						</span>&lt;Change progress.Width="width(progressLayout)" /&gt;</p><p><span style="white-space:pre;">					</span>&lt;/ProgressAnimation&gt;</p><p><span style="white-space:pre;">					</span>&lt;PageBeginLoading&gt;</p><p><span style="white-space:pre;">						</span>&lt;Set progressLayout.Visibility="Visible" /&gt;</p><p><span style="white-space:pre;">					</span>&lt;/PageBeginLoading&gt;</p><p><span style="white-space:pre;">					</span>&lt;PageLoaded&gt;</p><p><span style="white-space:pre;">						</span>&lt;Set progressLayout.Visibility="Collapsed" /&gt;</p><p><span style="white-space:pre;">					</span>&lt;/PageLoaded&gt;</p><p><br /></p><p><span style="white-space:pre;">				</span>&lt;/WebView&gt;</p><p><br /></p><p><br /></p><p><span style="white-space:pre;">			</span>&lt;/DockPanel&gt;</p><p><span style="white-space:pre;">		</span>&lt;/NativeViewHost&gt;</p><p><span style="white-space:pre;">	</span>&lt;/ClientPanel&gt;</p><p>&lt;/App&gt;</p>]]></description>
<dc:creator>에렐리안</dc:creator>
<dc:date>Thu, 15 Mar 2018 16:41:23 +0900</dc:date>
</item>


<item>
<title>PHP 날짜 함수 사용하기 - date, strtotime, mktime</title>
<link>http://erel.kr/bbs/board.php?bo_table=study&amp;amp;wr_id=267</link>
<description><![CDATA[<p>PHP 에서 날짜를 다루는데는 주로 date(), strtotime(), mktime() 의 세가지 함수를 사용 합니다. 각각의 사용법과 몇가지 응용에 대해서 알아보도록 하겠습니다.</p><p><br /></p><p> </p><p><br /></p><p>1. date() 함수.</p><p><br /></p><p><br /></p><p>string date ( string $format [, int $timestamp ] )</p><p><br /></p><p><br /></p><p>정수형으로 주어지는 timestamp나, timestamp가 주어지지 않았을 경우에는 현재 로컬 시간을 사용하여, 주어진 포맷 문자열에 따라 형식화한 문자열을 반환합니다. 즉 timestamp는 선택적이고, 기본값은 time()의 값입니다. 지원되지 않는 포맷 문자는 그대로 출력됩니다.</p><p><br /></p><p> </p><p><br /></p><p>&lt;?php</p><p>$dateString = date("Y-m-d", time());</p><p>echo $dateString;</p><p>?&gt;</p><p> </p><p>결과)</p><p>2017-01-10</p><p> </p><p><br /></p><p>2. strtotime() 함수.</p><p><br /></p><p><br /></p><p>int strtotime ( string $time [, int $now = time() ] )</p><p><br /></p><p><br /></p><p>주어진 날짜 형식의 문자열을 1970년 1월 1일 0시 부서 시작하는 유닉스 타임스탬프로 변환합니다. 두번째 인자가 주어지면 주어진 타임스탬프를 기준으로 계산되어 집니다. 날짜가 주어지지 않고 변화량만 주어지면 로컬 타임이 사용됩니다.  +1 day, +1 week 등이 사용될 수 있고, 음수값도 사용됩니다.</p><p><br /></p><p> </p><p><br /></p><p>&lt;?php</p><p>$timestamp = strtotime("+1 week");</p><p>echo date("Y-m-d", $timestamp), "&lt;br/&gt;";</p><p>$timestamp = strtotime("2016-12-01 +1 week");</p><p>echo date("Y-m-d", $timestamp), "&lt;br/&gt;";</p><p>?&gt;</p><p> </p><p>결과)</p><p>2017-01-17</p><p>2016-12-08</p><p><br /></p><p><br /></p><p>3. mktime() 함수.</p><p><br /></p><p><br /></p><p>int mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] )</p><p><br /></p><p><br /></p><p>인자로 주어진 값(시,분,초,월,일,년)에 대응하는 타임스탬프를 반환합니다.</p><p><br /></p><p> </p><p><br /></p><p>&lt;?php</p><p>$timestamp = mktime(0, 0, 0, 1, 1, 2017);</p><p>echo date('Y-m-d', $timestamp);</p><p>?&gt;</p><p><br /></p><p>결과)</p><p>2017-01-01</p><p> </p><p><br /></p><p>4. 사용 예제 입니다.</p><p><br /></p><p><br /></p><p>- 특정월의 마지막 날짜를 구하는 방법입니다.</p><p><br /></p><p> </p><p><br /></p><p>방법은 date함수의 포맷문자열 't'를 사용합니다. 't'는 주어진 월의 일수를 구하는 형식 문자 입니다.</p><p><br /></p><p>$lastDay = date('t', strtotime("2017-01-01"));</p><p><br /></p><p> </p><p><br /></p><p>타임스탬프는 mktime 으로 구할수도 있습니다.</p><p><br /></p><p>$lastDay = date('t', mktime(0, 0, 0, 1, 1, 2017));</p><p><br /></p><p> </p><p><br /></p><p>mktime함수의 인자는 순서대로 시간, 분, 초, 월, 일, 년도 입니다.</p><p><br /></p><p> </p><p><br /></p><p><br /></p><p>- 특정 날짜의 요일을 구하는 방법 입니다.</p><p><br /></p><p> </p><p><br /></p><p>$day = "2017-01-10";</p><p><br /></p><p><br /></p><p>date 함수의 'w' 포맷 문자는 0부터 6까지의 숫자값을 반환합니다. 순서대로 일~토 를 나타냅니다.</p><p><br /></p><p> </p><p><br /></p><p>$weekString = array("일", "월", "화", "수", "목", "금", "토");</p><p>echo($weekString[date('w', strtotime($day))]);</p><p><br /></p><p><br /></p><p>- 하루전 날짜를 구하는 방법 입니다.</p><p><br /></p><p><br /></p><p>$day = "2017-01-10"; 의 하루전 날짜인 "2017-01-09" 를 문자열로 구하려고 합니다.</p><p><br /></p><p><br /></p><p>$beforeDay = date("Y-m-d", strtotime($day." -1 day"));</p><p><br /></p><p><br /></p><p>날짜 뒤에 "+1 day", "+1 month", "+1 year", "+1 week" 등의 문자열을 붙여서 날짜를 계산할 수 있습니다.</p><p><br /></p><p> </p><p><br /></p><p><br /></p><p> </p><p><br /></p><p>5. date 함수에서 사용할 수있는  포맷문자열 입니다.</p><p><br /></p><p>--- 일 ---</p><p>d  :  일, 앞에 0이 붙는 2 숫자  [ 01에서 31 ]</p><p>D  :  요일 글자 표현, 3 문자 [ Mon에서 Sun ]</p><p>j  :  앞에 0이 붙지 않는 일 [ 1에서 31 ]</p><p>l  :  (소문자 'L') 요일의 완전한 글자 표현 [ Sunday에서 Saturday ]</p><p>N  :  요일의 ISO-8601 숫자 표현 (PHP 5.1.0에서 추가) [ 1(월요일)에서 7(일요일) ]</p><p>S  :  일 영어 접미사, 2 문자 [ st, nd, rd, th. j와 같이 사용하기 좋음. ]</p><p>w  :  요일 숫자 표현 [ 0(일요일)에서 6(토요일) ]</p><p>z  :  해당 연도 일차 [ (0에서 시작) 0에서 365 ]</p><p><br /></p><p><br /></p><p>--- 주 ---</p><p>W  :  ISO-8601 주차, 주는 월요일에 시작 (PHP 4.1.0에서 추가) [ 예시: 42 (그 해의 42번째 주) ]</p><p><br /></p><p><br /></p><p>---월 ---</p><p>F  :  January나 March 같은 월의 완전한 글자 표현 [ January에서 December ]</p><p>m  :  0이 붙는 월 숫자 표현 [ 01에서 12 ]</p><p>M  :  월의 축약 글자 표현, 3 문자 [ Jan에서 Dec ]</p><p>n  :  0이 붙지 않는 월 숫자 표현 [ 1에서 12 ]</p><p>t  :  주어진 월의 일 수 [ 28에서 31 ]</p><p><br /></p><p><br /></p><p> </p><p><br /></p><p>--- 연 ---</p><p>L  :  윤년 여부 [ 윤년엔 1, 그 외엔 0 ]</p><p>o  :  ISO-8601 연도. Y와 같지만, ISO 주차(W)가 전해나 다음해에 해당하면, 그 연도를 사용합니다. (PHP 5.1.0에서 추가) [ 예시: 1999나 2003 ]</p><p>Y  :  연도의 완전한 숫자 표현, 4 숫자 [ 예시: 1999나 2003 ]</p><p>y  :  도의 두 숫자 표현 [ 예시: 99나 03 ]</p><p><br /></p><p><br /></p><p>--- 시간 ---</p><p>a  :  오전과 오후의 소문자 [ am 또는 pm ]</p><p>A  :  오전과 오후의 대문자 [ AM 또는 PM ]</p><p>B  :  스와치 인터넷 시간 [ 000에서 999 ]</p><p>g  :  0이 붙지 않는 12시간 형식 시 [ 1에서 12 ]</p><p>G  :  0이 붙지 않는 24시간 형식 시 [ 0에서 23 ]</p><p>h  :  0이 붙는 12시간 형식 시 [ 01에서 12 ]</p><p>H  :  0이 붙는 24시간 형식 시 [ 00에서 23 ]</p><p>i  :  0이 붙는 분 [ 00에서 59 ]</p><p>s  :  초, 0이 붙음 [ 00에서 59 ]</p><p>u  :  마이크로초 (PHP 5.2.2에서 추가) [ 예시: 54321 ]</p><p><br /></p><p><br /></p><p>--- 시간대 ---</p><p>e  :  시간대 식별자 (PHP 5.1.0에서 추가) [ 예시: UTC, GMT, Atlantic/Azores ]</p><p>I  :  (대문자 i) 일광 절약 시간 여부  [ 일광 절약 시간이면 1, 아니면 0 ]</p><p>O  :  그리니치 시간(GMT)과 시차 [ 예시: +0200 ]</p><p>P  :  시와 분 사이에 콜론이 들어가는 그리니치 시간(GMT)과 차이 [ 예시: +02:00 ]</p><p>T  :  시간대 축약어 [ 예시: EST, MDT ... ]</p><p>Z  :  시간대 오프셋 초. UTC 서쪽은 항상 음수, UTC 동쪽은 항상 양수 [ -43200에서 50400 ]</p><p><br /></p><p><br /></p><p>--- 날짜/시간 표현 ---</p><p>c  :  ISO 8601 날짜 (PHP 5에서 추가) [ 2004-02-12T15:19:21+00:00 ]</p><p>r  :  ≫ RFC 2822 형식 날짜 [ 예시: Thu, 21 Dec 2000 16:01:07 +0200 ]</p><p>U  :  유닉스 에포치(January 1 1970 00:00:00 GMT)부터 초수 [ time() 참조 ]</p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p>$delivery_date = "2018-03-08";</p><p>$beforeDay = date("Y-m-d", strtotime($delivery_date." -1 day"));</p><p>echo $beforeDay;</p>]]></description>
<dc:creator>에렐리안</dc:creator>
<dc:date>Thu, 08 Mar 2018 18:02:54 +0900</dc:date>
</item>


<item>
<title>윈도우10 정품확인 방법</title>
<link>http://erel.kr/bbs/board.php?bo_table=study&amp;amp;wr_id=266</link>
<description><![CDATA[<p>정품인증 확인 방법</p><p><br /></p><p>1. 실행 &gt; cmd </p><p><br /></p><p>2. slmgr /dlv</p><p><br /></p><p><br /></p><div style="text-align:center;" align="center"><img src="http://erel.kr/data/editor/1802/0b4cb0f88ff54f749bb5253185ae0648_1519608946_1605.jpg" title="0b4cb0f88ff54f749bb5253185ae0648_1519608946_1605.jpg" alt="0b4cb0f88ff54f749bb5253185ae0648_1519608946_1605.jpg" /></div> ]]></description>
<dc:creator>에렐리안</dc:creator>
<dc:date>Mon, 26 Feb 2018 10:36:00 +0900</dc:date>
</item>


<item>
<title>구글 클라우드 플랫폼 VM SSH root 접속</title>
<link>http://erel.kr/bbs/board.php?bo_table=study&amp;amp;wr_id=265</link>
<description><![CDATA[<div>
<p style="margin:0px;padding:0px;color:rgb(102,102,102);font-family:'돋움', sans-serif;font-size:14px;">기본적으로 웹용 ssh 쉘을 제공하지만 아무래도 Putty 보다는 불편하네요~</p>

<p style="margin:0px;padding:0px;color:rgb(102,102,102);font-family:'돋움', sans-serif;font-size:14px;">Putty 로 SSH 로 접속하려면 아래 방법으로 처리하면 됩니다.</p>

<p style="margin:0px;padding:0px;color:rgb(102,102,102);font-family:'돋움', sans-serif;font-size:14px;"> </p>

<p style="margin:0px;padding:0px;color:rgb(102,102,102);font-family:'돋움', sans-serif;font-size:14px;">먼저 root 계정의 비밀번호를 설정하여야 합니다.</p>

<div><br style="color:rgb(102,102,102);font-family:'돋움', sans-serif;font-size:14px;" /><span style="color:rgb(92,92,92);font-family:'돋움', sans-serif;font-size:16px;background-color:rgb(238,238,238);"># sudo passwd root</span></div>

<div> </div>

<div><span style="color:rgb(102,102,102);font-family:'돋움', sans-serif;font-size:14px;">그리고 /etc/ssh/sshd_config 파일을 수정합니다.</span><br style="color:rgb(102,102,102);font-family:'돋움', sans-serif;font-size:14px;" />
 </div>

<div><span style="color:rgb(102,102,102);font-family:'돋움', sans-serif;font-size:14px;">PermitRootLogin yes</span><br style="color:rgb(102,102,102);font-family:'돋움', sans-serif;font-size:14px;" /><span style="color:rgb(102,102,102);font-family:'돋움', sans-serif;font-size:14px;">PasswordAuthentication yes</span></div>

<div> </div>

<div><span style="color:rgb(102,102,102);font-family:'돋움', sans-serif;font-size:14px;">#service sshd restart</span></div>

<div><br style="color:rgb(102,102,102);font-family:'돋움', sans-serif;font-size:14px;" /><span style="color:rgb(102,102,102);font-family:'돋움', sans-serif;font-size:14px;">출처: </span><a href="http://ivps.tistory.com/370" style="color:rgb(51,51,51);font-family:'돋움', sans-serif;font-size:14px;" rel="nofollow">http://ivps.tistory.com/370</a><span style="color:rgb(102,102,102);font-family:'돋움', sans-serif;font-size:14px;"> [iVPS 가상서버호스팅]</span></div>
</div>]]></description>
<dc:creator>에렐리안</dc:creator>
<dc:date>Tue, 30 Jan 2018 10:51:32 +0900</dc:date>
</item>

</channel>
</rss>
