1var store = [{ 2 "title": "[Java 기ì´] 01.Java 기ì´ë¬¸ë²", 3 "excerpt":"ì´ ê¸ì Javaì print, if, for, while ë± ê¸°ì´ ë¬¸ë²ê³¼ ìë£íì ëí ë´ì©ì´ë¤. ìê³ ë¦¬ì¦ ìì ë [GitHub ìê³ ë¦¬ì¦ ë°ë¡ê°ê¸°]ì ì§ìì ì¼ë¡ ì ë¡ë í ìì ì´ë¤. 1.ì¶ë ¥ë¬¸ ì¶ë ¥ì ìíë ë´ì©ì print, printf 문 ë¤ì ì ë ¥íë¤. GiHub ë°ë¡ê°ê¸° // ì¶ë ¥ë¬¸ ì¬ì©ë² System.out.println(\"ì¶ë ¥ì ìíë ë´ì© ì ë ¥\"); ìì¤ ë¡ë©ì¤í¨ 2.if 조건문 if문ì ì¡°ê±´ìì ê²°ê³¼ê°ì í´ë¹íë ë¸ë¡{}ì 문ì¥ì...","categories": [], 4 "tags": [], 5 "url": "/algorithm/2021-09-23-begin/", 6 "teaser": null 7 },{ 8 "title": "[Java 기ì´] 02.ë°ì´í íì ", 9 "excerpt":"ì´ ê¸ì Java ìê³ ë¦¬ì¦ ì¤ ëë²ì§¸ ê¸ë¡ Java ìì ì¬ì©íë ë°ì´ííì ëí ë´ì©ì´ë¤. ìê³ ë¦¬ì¦ ê´ë ¨ ìì¤ ë±ì ìë£ë [GitHub ìê³ ë¦¬ì¦ ë°ë¡ê°ê¸°]ì ì§ìì ì¼ë¡ ì ë¡ë í ìì ì´ë¤. Javaì 기본 ë°ì´í íì ì ì ìí, ì¤ìí, ë ¼ë¦¬íì´ ìë¤. ì ì íì ìë byte, short, int, long, char ê° ìê³ , 기본ì ì¸ ì ìì°ì°ì intë¡ ì²ë¦¬íë¤. ì¤ì íì ìë float, double...","categories": [], 10 "tags": [], 11 "url": "/algorithm/2021-09-23-datatype/", 12 "teaser": null 13 },{ 14 "title": "[Java 기ì´] 03.ì°ì°ì", 15 "excerpt":"ì´ ê¸ì Java ìê³ ë¦¬ì¦ ì¤ ì¸ë²ì§¸ ê¸ë¡ Java ìì ì¬ì©íë ì°ì°ìì ëí ë´ì©ì´ë¤. ìê³ ë¦¬ì¦ ê´ë ¨ ìì¤ ë±ì ìë£ë [GitHub ìê³ ë¦¬ì¦ ë°ë¡ê°ê¸°]ì ì§ìì ì¼ë¡ ì ë¡ë í ìì ì´ë¤. Javaì ì°ì°ì ì¢ ë¥ë ì°ì (+, -, *, /, %), ë¶í¸(+, -), ëì (=), ì¦ê°(++, â), ë¹êµ(==, !=) ë±ì ì°ì°ìê° ìë¤. ì°¸ê³ ìë£: java ì°ì°ìì ì¢ ë¥ ì°ì°ì ì¢ ë¥ ì°ì°ì...","categories": [], 16 "tags": [], 17 "url": "/algorithm/2021-09-23-oper/", 18 "teaser": null 19 },{ 20 "title": "[ì¹´ì¹´ì¤ 17ë ì½ë©í ì¤í¸] 1ì°¨ 문ì íì´ - 1.ë¹ë°ì§ë", 21 "excerpt":"문ì ì¤ëª ì§ëë í ë³ì 길ì´ê° nì¸ ì ì¬ê°í ë°°ì´ ííë¡, ê° ì¹¸ì â공백â(â â) ëë âë²½â(â#â) ë ì¢ ë¥ë¡ ì´ë£¨ì´ì ¸ ìë¤. ì ì²´ ì§ëë ë ì¥ì ì§ë를 ê²¹ì³ì ì»ì ì ìë¤. ê°ê° âì§ë 1âê³¼ âì§ë 2âë¼ê³ íì. ì§ë 1 ëë ì§ë 2 ì¤ ì´ë íëë¼ë ë²½ì¸ ë¶ë¶ì ì ì²´ ì§ëììë ë²½ì´ë¤. ì§ë 1ê³¼ ì§ë...","categories": [], 22 "tags": [], 23 "url": "/algorithm/2021-09-30-kakao17_1/", 24 "teaser": null 25 },{ 26 "title": "[ì¹´ì¹´ì¤ 17ë ì½ë©í ì¤í¸] 1ì°¨ 문ì íì´ - 2.ë¤í¸ê²ì", 27 "excerpt":"문ì ì¤ëª 0~10ì ì ìì 문ì S, D, T, *, #ë¡ êµ¬ì±ë 문ìì´ì´ ì ë ¥ë ì ì´ì ì를 ë°ííë í¨ì를 ìì±íë¼. ë¤í¸ ê²ìì ì´ 3ë²ì 기íë¡ êµ¬ì±ëë¤. ê° ê¸°íë§ë¤ ì»ì ì ìë ì ìë 0ì ìì 10ì ê¹ì§ì´ë¤. ì ìì í¨ê» Single(S), Double(D), Triple(T) ììì´ ì¡´ì¬íê³ ê° ìì ë¹ì²¨ ì ì ììì 1ì ê³±, 2ì ê³±, 3ì ê³± (ì ì^1 , ì ì^2 ,...","categories": [], 28 "tags": [], 29 "url": "/algorithm/2021-09-30-kakao17_2/", 30 "teaser": null 31 },{ 32 "title": "[ì¹´ì¹´ì¤ 17ë ì½ë©í ì¤í¸] 1ì°¨ 문ì íì´ - 3.ìºì", 33 "excerpt":"ìºì í¬ê¸°ì ë°ë¥¸ ì¤íìê° ì¸¡ì íë¡ê·¸ë¨ì ìì±íìì¤. ì ë ¥ íì ìºì í¬ê¸°(cacheSize)ì ëìì´ë¦ ë°°ì´(cities)ì ì ë ¥ë°ëë¤. cacheSizeë ì ìì´ë©°, ë²ìë 0 ⦠cacheSize ⦠30 ì´ë¤. citiesë ëì ì´ë¦ì¼ë¡ ì´ë¤ì§ 문ìì´ ë°°ì´ë¡, ìµë ëì ìë 100,000ê°ì´ë¤. ê° ëì ì´ë¦ì 공백, ì«ì, í¹ì문ì ë±ì´ ìë ì문ìë¡ êµ¬ì±ëë©°, ëì문ì 구ë¶ì íì§ ìëë¤. ëì ì´ë¦ì ìµë...","categories": [], 34 "tags": [], 35 "url": "/algorithm/2021-09-30-kakao17_3/", 36 "teaser": null 37 },{ 38 "title": "[ì¹´ì¹´ì¤ 17ë ì½ë©í ì¤í¸] 1ì°¨ 문ì íì´ - 4.ì íë²ì¤", 39 "excerpt":"ì´ ë¬¸ì ììë í¸ì를 ìí´ ì íì ë¤ìê³¼ ê°ì ê·ì¹ì¼ë¡ ì´ííë¤ê³ ê°ì íì. ì íì 09:00ë¶í° ì´ ní të¶ ê°ê²©ì¼ë¡ ìì ëì°©íë©°, íëì ì íìë ìµë mëª ì ì¹ê°ì´ í ì ìë¤. ì íì ëì°©íì ë ëì°©í ìê°ì ë기ì´ì ì í¬ë£¨ê¹ì§ í¬í¨í´ì ë기 ììëë¡ íì°ê³ ë°ë¡ ì¶ë°íë¤. ì를 ë¤ì´ 09:00ì ëì°©í ì íì ìë¦¬ê° ìë¤ë©´ 09:00ì ì¤ì ì ...","categories": [], 40 "tags": [], 41 "url": "/algorithm/2021-10-01-kakao17_4/", 42 "teaser": null 43 },{ 44 "title": "[ì¹´ì¹´ì¤ 17ë ì½ë©í ì¤í¸] 1ì°¨ 문ì íì´ - 5.ë´ì¤ í´ë¬ì¤í°ë§", 45 "excerpt":"ìì¹´ë ì ì¬ëë ì§í© ê°ì ì ì¬ë를 ê²ì¬íë ì¬ë¬ ë°©ë² ì¤ì íë
45ë¡ ìë ¤ì ¸ ìë¤. ë ì§í© A, B ì¬ì´ì ìì¹´ë ì ì¬ë J(A, B)ë ë ì§í©ì êµì§í© í¬ê¸°ë¥¼ ë ì§í©ì í©ì§í© í¬ê¸°ë¡ ëë ê°ì¼ë¡ ì ìëë¤. ì를 ë¤ì´ ì§í© A = {1, 2, 3}, ì§í© B = {2, 3, 4}ë¼ê³ í ë, êµì§í© A...","categories": [], 46 "tags": [], 47 "url": "/algorithm/2021-10-01-kakao17_5/", 48 "teaser": null 49 },{ 50 "title": "[ì¹´ì¹´ì¤ 17ë ì½ë©í ì¤í¸] 1ì°¨ 문ì íì´ - 6.íë ì¦4ë¸ë¡", 51 "excerpt":"ê°ì 모ìì ì¹´ì¹´ì¤íë ì¦ ë¸ë¡ì´ 2Ã2 ííë¡ 4ê°ê° ë¶ì´ìì ê²½ì° ì¬ë¼ì§ë©´ì ì ì를 ì»ë ê²ìì´ë¤. ê°ì ë¸ë¡ì ì¬ë¬ 2Ã2ì í¬í¨ë ì ìì¼ë©°, ì§ìì§ë ì¡°ê±´ì ë§ì¡±íë 2Ã2 모ìì´ ì¬ë¬ ê° ìë¤ë©´ í꺼ë²ì ì§ìì§ë¤. ë¸ë¡ì´ ì§ìì§ íì ìì ìë ë¸ë¡ì´ ìëë¡ ë¨ì´ì ¸ ë¹ ê³µê°ì ì±ì°ê² ëë¤. ë§ì½ ë¹ ê³µê°ì ì±ì´ íì ë¤ì 2Ã2 ííë¡...","categories": [], 52 "tags": [], 53 "url": "/algorithm/2021-10-01-kakao17_6/", 54 "teaser": null 55 },{ 56 "title": "[문ìì´] 1.ì«ììí©", 57 "excerpt":"문ì ì¤ëª Nê°ì ì«ìê° ê³µë°± ìì´ ì°ì¬ìë¤. ì´ ì«ì를 모ë í©í´ì ì¶ë ¥íë íë¡ê·¸ë¨ì ìì±íìì¤. ì ë ¥ 첫째 ì¤ì ì«ìì ê°ì N (1 ⤠N ⤠100)ì´ ì£¼ì´ì§ë¤. ë째 ì¤ì ì«ì Nê°ê° 공백ìì´ ì£¼ì´ì§ë¤. ì¶ë ¥ ì ë ¥ì¼ë¡ 주ì´ì§ ì«ì Nê°ì í©ì ì¶ë ¥íë¤. ìì ì ë ¥ ì¶ ë ¥ 1, 1 1 5, 54321 15 25,...","categories": [], 58 "tags": [], 59 "url": "/algorithm/2021-10-05-string01/", 60 "teaser": null 61 },{ 62 "title": "[문ìì´] 2.OXí´ì¦", 63 "excerpt":"문ì ì¤ëª âOOXXOXXOOOâì ê°ì OXí´ì¦ì ê²°ê³¼ê° ìë¤. Oë 문ì 를 ë§ì ê²ì´ê³ , Xë 문ì 를 í린 ê²ì´ë¤. 문ì 를 ë§ì ê²½ì° ê·¸ 문ì ì ì ìë ê·¸ 문ì ê¹ì§ ì°ìë Oì ê°ìê° ëë¤. ì를 ë¤ì´, 10ë² ë¬¸ì ì ì ìë 3ì´ ëë¤. âOOXXOXXOOOâì ì ìë 1+2+0+0+1+0+0+1+2+3 = 10ì ì´ë¤. OXí´ì¦ì ê²°ê³¼ê° ì£¼ì´ì¡ì ë, ì ì를 구íë íë¡ê·¸ë¨ì ìì±íìì¤. ì ë ¥ 첫째 ì¤ì í ì¤í¸...","categories": [], 64 "tags": [], 65 "url": "/algorithm/2021-10-05-string02/", 66 "teaser": null 67 },{ 68 "title": "[문ìì´] 3.ë¨ì´ì ê°ì", 69 "excerpt":"문ì ì¤ëª ìì´ ëì문ìì 공백ì¼ë¡ ì´ë£¨ì´ì§ 문ìì´ì´ 주ì´ì§ë¤. ì´ ë¬¸ìì´ìë ëª ê°ì ë¨ì´ê° ììê¹? ì´ë¥¼ 구íë íë¡ê·¸ë¨ì ìì±íìì¤. ë¨, í ë¨ì´ê° ì¬ë¬ ë² ë±ì¥íë©´ ë±ì¥í íìë§í¼ 모ë ì¸ì´ì¼ íë¤. ì ë ¥ 첫 ì¤ì ìì´ ëì문ìì 공백ì¼ë¡ ì´ë£¨ì´ì§ 문ìì´ì´ 주ì´ì§ë¤. ì´ ë¬¸ìì´ì 길ì´ë 1,000,000ì ëì§ ìëë¤. ë¨ì´ë 공백 í ê°ë¡ 구ë¶ëë©°, ê³µë°±ì´ ì°ìí´ì...","categories": [], 70 "tags": [], 71 "url": "/algorithm/2021-10-05-string03/", 72 "teaser": null 73 },{ 74 "title": "[문ìì´] 4.ìí¸ì¸ì¬ì´ë", 75 "excerpt":"문ì ì¤ëª ë°°ì´ì ì ë ¬íë ê²ì ì½ë¤. ìê° ì£¼ì´ì§ë©´, ê·¸ ìì ê° ì리ì를 ë´ë¦¼ì°¨ìì¼ë¡ ì ë ¬í´ë³´ì. ì ë ¥ 첫째 ì¤ì ì ë ¬íê³ ìíë ì Nì´ ì£¼ì´ì§ë¤. Nì 1,000,000,000ë³´ë¤ ìê±°ë ê°ì ìì°ìì´ë¤. ì¶ë ¥ 첫째 ì¤ì ì리ì를 ë´ë¦¼ì°¨ìì¼ë¡ ì ë ¬í ì를 ì¶ë ¥íë¤. ìì ì ë ¥ ì¶ ë ¥ 2143 4321 724953 975432 문ì ì본 https://www.acmicpc.net/problem/1427 ìì¤ë³´ê¸° ìì¤ë¡ë© ì¤í¨ ì¤íê²°ê³¼ ","categories": [], 76 "tags": [], 77 "url": "/algorithm/2021-10-05-string04/", 78 "teaser": null 79 },{ 80 "title": "[문ìì´] 5.ìíë²³ ê°ì", 81 "excerpt":"문ì ì¤ëª ìíë²³ ì문ìë¡ë§ ì´ë£¨ì´ì§ ë¨ì´ Sê° ì£¼ì´ì§ë¤. ê° ìíë²³ì´ ë¨ì´ì ëª ê°ê° í¬í¨ëì´ ìëì§ êµ¬íë íë¡ê·¸ë¨ì ìì±íìì¤. ì ë ¥ 첫째 ì¤ì ë¨ì´ Sê° ì£¼ì´ì§ë¤. ë¨ì´ì 길ì´ë 100ì ëì§ ìì¼ë©°, ìíë²³ ì문ìë¡ë§ ì´ë£¨ì´ì ¸ ìë¤. ì¶ë ¥ ë¨ì´ì í¬í¨ëì´ ìë aì ê°ì, bì ê°ì, â¦, zì ê°ì를 공백ì¼ë¡ 구ë¶í´ì ì¶ë ¥íë¤. ìì ì ë ¥ ì¶...","categories": [], 82 "tags": [], 83 "url": "/algorithm/2021-10-05-string05/", 84 "teaser": null 85 },{ 86 "title": "[문ìì´] 6.ê· íì¡í ì¸ì", 87 "excerpt":"문ì ì¤ëª ì¸ê³ë ê· íì´ ì ì¡íìì´ì¼ íë¤. ìê³¼ ì, ë¹ê³¼ ì´ë ê·¸ë¦¬ê³ ì¼ìª½ ê´í¸ì ì¤ë¥¸ìª½ ê´í¸ì²ë¼ ë§ì´ë¤. ì 민ì´ì ì무ë ì´ë¤ 문ìì´ì´ 주ì´ì¡ì ë, ê´í¸ë¤ì ê· íì´ ì ë§ì¶°ì ¸ ìëì§ íë¨íë íë¡ê·¸ë¨ì ì§ë ê²ì´ë¤. 문ìì´ì í¬í¨ëë ê´í¸ë ìê´í¸(â()â) ì ëê´í¸(â[]â)ë¡ 2ì¢ ë¥ì´ê³ , 문ìì´ì´ ê· íì ì´ë£¨ë ì¡°ê±´ì ìëì ê°ë¤. 모ë ì¼ìª½ ìê´í¸(â(â)ë ì
87¤ë¥¸ìª½ ìê´í¸(â)â)ìë§ ì§ì...","categories": [], 88 "tags": [], 89 "url": "/algorithm/2021-10-06-string06/", 90 "teaser": null 91 },{ 92 "title": "[문ìì´] 7.ì§ë² ë³í", 93 "excerpt":"문ì 10ì§ë² ì Nì´ ì£¼ì´ì§ë¤. ì´ ì를 Bì§ë²ì¼ë¡ ë°ê¿ ì¶ë ¥íë íë¡ê·¸ë¨ì ìì±íìì¤. 10ì§ë²ì ëì´ê°ë ì§ë²ì ì«ìë¡ íìí ì ìë ìë¦¬ê° ìë¤. ì´ë° ê²½ì°ìë ë¤ìê³¼ ê°ì´ ìíë²³ ë문ì를 ì¬ì©íë¤. A: 10, B: 11, â¦, F: 15, â¦, Y: 34, Z: 35 ì ë ¥ 첫째 ì¤ì Nê³¼ Bê° ì£¼ì´ì§ë¤. (2 ⤠B â¤...","categories": [], 94 "tags": [], 95 "url": "/algorithm/2021-10-06-string07/", 96 "teaser": null 97 },{ 98 "title": "[문ìì´] 8.ë¨ì´ë¤ì§ê¸°", 99 "excerpt":"문ì 문ì¥ì´ 주ì´ì¡ì ë, ë¨ì´ë¥¼ 모ë ë¤ì§ì´ì ì¶ë ¥íë íë¡ê·¸ë¨ì ìì±íìì¤. ë¨, ë¨ì´ì ììë ë°ê¿ ì ìë¤. ë¨ì´ë ìì´ ìíë²³ì¼ë¡ë§ ì´ë£¨ì´ì ¸ ìë¤. ì ë ¥ 첫째 ì¤ì í ì¤í¸ ì¼ì´ì¤ì ê°ì Tê° ì£¼ì´ì§ë¤. ê° í ì¤í¸ ì¼ì´ì¤ë í ì¤ë¡ ì´ë£¨ì´ì ¸ ìì¼ë©°, 문ì¥ì´ íë 주ì´ì§ë¤. ë¨ì´ì 길ì´ë ìµë 20, 문ì¥ì 길ì´ë ìµë 1000ì´ë¤. ë¨ì´ì ë¨ì´ ì¬ì´ìë...","categories": [], 100 "tags": [], 101 "url": "/algorithm/2021-10-06-string08/", 102 "teaser": null 103 },{ 104 "title": "[ì¬ê·í¨ì] 1. ì¬ê·í¨ì를 ì´ì©í ìì ë¤", 105 "excerpt":"ì¬ê·í¨ì(Recursive Function) ë? í¹ì ì¡°ê±´(= ëëë ì¡°ê±´)ì´ ë ëê¹ì§ ì기ìì ì ê³ì í¸ì¶íë í¨ìì´ë¤. í¨ì ìì ëëë ì¡°ê±´ì´ ìê³ , returnìì ì기 ìì ì í¸ì¶íë¤. ì¬ê·í¨ìë ê°ì ê·ì¹ì ê°ì§ë í¨ì를 ë°ë³µí´ì ì¬ì©í ê²½ì° ì ì©í ì ìë¤. ì를ë¤ì´ 1ë¶í° 4ê¹ì§ì í©ì 구í ë 1~1ì í© sum(1) = 1 1~2ì í© sum(2) = 1 +...","categories": [], 106 "tags": [], 107 "url": "/algorithm/2021-10-08-function01/", 108 "teaser": null 109 },{ 110 "title": "[ì¬ê·í¨ì] 2. ì¬ê·í¨ìì for문 ë¹êµ", 111 "excerpt":"ì¬ê·í¨ì(Recursive Function) ë? í¹ì ì¡°ê±´(= ëëë ì¡°ê±´)ì´ ë ëê¹ì§ ì기ìì ì ê³ì í¸ì¶íë í¨ìì´ë¤. í¨ì ìì ëëë ì¡°ê±´ì´ ìê³ , returnìì ì기 ìì ì í¸ì¶íë¤. ì¬ê·í¨ìë ê°ì ê·ì¹ì ê°ì§ë í¨ì를 ë°ë³µí´ì ì¬ì©í ê²½ì° ì ì©í ì ìë¤. ì´ë² ê¸ììë 주ì´ì§ 문ìì´ì For문과 ì¬ê·í¨ì를 ì´ì©íì¬ ê±°ê¾¸ë¡ ì¶ë ¥íë í¨ì를 ê°ê° ë§ë¤ì´ 본ë¤. for문ì ì´ì©í ë°©ë² for문ì...","categories": [], 112 "tags": [], 113 "url": "/algorithm/2021-10-08-function02/", 114 "teaser": null 115 },{ 116 "title": "[ì¬ê·í¨ì] 3. ì¬ê·í¨ìë¡ ìµëê³µì½ì 구í기", 117 "excerpt":"ì´ë² ê¸ììë ë ì ìì ìµë ê³µì½ì 구í기를 ì í´ë¦¬ë í¸ì ë²ê³¼ ì¬ê·í¨ì를 ì´ì©íì¬ êµ¬íí´ ë³¸ë¤. ì í´ë¦¬ë í¸ì ë² ì´ë? ë ì ì a, bì ìµëê³µì½ìì ê°ì gcd(a, b)ë¼ê³ íë©´ gcd(a, b) => gcd(b, a%b) = gcd(b, r) ì´ë¤. (ì ììì rì a/bì ë머ì§ì¸ a%bì´ë¤.) ìì1 : ìµëê³µì½ìê° ìë ê²½ì° gcd(30, 12) => gcd(12, 30%12)...","categories": [], 118 "tags": [], 119 "url": "/algorithm/2021-10-08-function03/", 120 "teaser": null 121 },{ 122 "title": "[ì¬ê·í¨ì] 4. ì¬ê·í¨ìë¡ ìì íì¸í기", 123 "excerpt":"ì´ë²ê¸ììë ììì¸ì§ íì¸í기를 ìë¼í ì¤í ë¤ì¤ì ì²´ì ì¬ê·í¨ì를 ì´ì©íì¬ êµ¬íí´ë³¸ë¤. ìë¼í ì¤í ë¤ì¤ì ì²´ ìì ì ì nì´ í©ì±ìë¼ë©´, nì ìì¸ì ì¤ìë ânë³´ë¤ ìê±°ë ê°ì ìì¸ì(ììì¸ ì½ì)ê° ì¡´ì¬íë¤. ì를 ë¤ë©´ 30ì í©ì±ìì´ë¤. 30ì ì½ì ì¤ìë 3ì´ ìëë° 3ì â30(= 5.5) ë³´ë¤ ìë¤. ìë¼í ì¤í ë¤ì¤ì ì²´ë ì´ë¤ í° ìì°ìê° ììì¸ì§ ìëì§ ììë³¼ ë ì¸ ì ìë ë°©ë²ì´ë¤....","categories": [], 124 "tags": [], 125 "url": "/algorithm/2021-10-08-function04/", 126 "teaser": null 127 },{ 128 "title": "[ì ë ¬] 1. ë°±ì¤ - ATM ì¸ì¶ìê° êµ¬í기", 129 "excerpt":"문ì ì¸íìíìë ATMì´ 1ëë°ì ìë¤. ì§ê¸ ì´ ATMìì Nëª ì ì¬ëë¤ì´ ì¤ì ììë¤. ì¬ëì 1ë²ë¶í° Në²ê¹ì§ ë²í¸ê° ë§¤ê²¨ì ¸ ìì¼ë©°, ië² ì¬ëì´ ëì ì¸ì¶íëë° ê±¸ë¦¬ë ìê°ì Pië¶ì´ë¤. ì¬ëë¤ì´ ì¤ì ìë ììì ë°ë¼ì, ëì ì¸ì¶íëë° íìí ìê°ì í©ì´ ë¬ë¼ì§ê² ëë¤. ì를 ë¤ì´, ì´ 5ëª ì´ ìê³ , P1 = 3, P2 = 1, P3 =...","categories": [], 130 "tags": [], 131 "url": "/algorithm/2021-10-11-sort01/", 132 "teaser": null 133 },{ 134 "title": "[ì ë ¬] 2. ë°±ì¤ - ì íë²í¸ ëª©ë¡ ì¼ê´ì±", 135 "excerpt":"문ì 본문 ì íë²í¸ 목ë¡ì´ 주ì´ì§ë¤. ì´ë, ì´ ëª©ë¡ì´ ì¼ê´ì±ì´ ìëì§ ìëì§ë¥¼ 구íë íë¡ê·¸ë¨ì ìì±íìì¤. ì íë²í¸ 목ë¡ì´ ì¼ê´ì±ì ì ì§íë ¤ë©´, í ë²í¸ê° ë¤ë¥¸ ë²í¸ì ì ëì´ì¸ ê²½ì°ê° ìì´ì¼ íë¤. ì를 ë¤ì´, ì íë²í¸ 목ë¡ì´ ìëì ê°ì ê²½ì°ë¥¼ ìê°í´ë³´ì 긴ê¸ì í: 911 ìê·¼: 97 625 999 ì ì: 91 12 54 26 ì´ ê²½ì°ì ì ìì´ìê² ì í를 걸...","categories": [], 136 "tags": [], 137 "url": "/algorithm/2021-10-26-sort02/", 138 "teaser": null 139 },{ 140 "title": "[GitHub Pages] ë¸ë¡ê·¸?", 141 "excerpt":"GitHub Pages ? GitHub Pagesë GitHubìì ì ê³µíë ì ì ì¹ì¬ì´í¸ í¸ì¤í ìë¹ì¤ì´ë¤. GitHub Pagesë GitHubì ê³µê° Repositories를 ì¬ì©íì¬ ë¤ë¥¸ ì¬ì©ìì ê³µì ê° ê°ë¥íê³ , HTML, CSS, Javascript íì¼ì
141 ì ì¥ìì ì¬ë¦¬ê±°ë ë¹ëíì¬ ì¹ì¬ì´í¸ìì ìë¹ì¤ê° ê°ë¥íë¤. GitHub Pagesë 기본ì ì¼ë¡ Jekyllì ì¬ì©íì¬ ì¬ì´í¸ë¥¼ êµ¬ì¶ (Jekyll ì´ì¸ì ì ì ì¬ì´í¸ ìì±ê¸°ë ì¬ì© ê°ë¥)íê³ , Gitì íµí ì°ëì´ ê°ë¥í´ì 기ì ...","categories": [], 142 "tags": [], 143 "url": "/blog/intro/", 144 "teaser": null 145 },{ 146 "title": "[GitHub Pages] Ruby & Jekyll ì¤ì¹", 147 "excerpt":"GitHub Pages ì¬ì´í¸ë¥¼ ìì±íë ¤ë©´ 먼ì Rubyì Jekyllì ì¤ì¹í´ì¼ íë¤. ì´ ê¸ì Rubyì Jekyllì ì¤ì¹íë ë°©ë²ê³¼ ê°ëµí ì¬ì©ë²ì ëí´ ìê°íë¤. 1. Ruby ë¤ì´ë¡ë ë° ì¤ì¹ [Ruby ë¤ì´ë¡ë] https://rubyinstaller.org/downloads/ Ruby ë²ì íì¸ ruby -v ë£¨ë¹ ëª ë ¹ì´ gem gemì Rubyìì ì ê³µíë ë¼ì´ë¸ë¬ë¦¬ë¥¼ í¸ë¦¬íê² ì¤ì¹í ì ìëë¡ ì§ìëë ë구ì´ë¤. Jekyllë gemì í ì íì´ë¤. gem...","categories": [], 148 "tags": [], 149 "url": "/blog/setting/", 150 "teaser": null 151 },{ 152 "title": "[GitHub Pages] GitHub Pages ë§ë¤ê¸°", 153 "excerpt":"ì´ì ê¸ìì GitHub Pages ì¬ì´í¸ë¥¼ ìì±í기 ìí 기본 íë¡ê·¸ë¨ì ì¤ì¹íìë¤. ì´ ê¸ì ì´ íë¡ê·¸ë¨ë¤ì ì´ì©íì¬ ìì¬ì´í¸ë¥¼ ìì±íê³ , ìë¹ì¤ ëë ê²ì íì¸íë ë°©ë²ì ìê°íë¤. 1. ìì¬ì´í¸ ë§ë¤ê¸° jekyll new ëª ë ¹ì´ë¥¼ ì´ì©íì¬ ê¸°ë³¸í ë§ [minima]ê° ì ì©ë ìì¬ì´í¸ë¥¼ ë§ë¤ì ìë¤. jekyll new myblog ìì¬ì´í¸ëª [myblog] ì¼ë¡ í´ëê° ìì±ëìë¤. 2. ì¹ìë² êµ¬ëí기 jekyll serve 3.ì¹ë¸ë¼ì°ì ...","categories": [], 154 "tags": [], 155 "url": "/blog/make/", 156 "teaser": null 157 },{ 158 "title": "[GitHub Pages] jekyll Theme ë³ê²½íëë²", 159 "excerpt":"GitHub Pagesë Jekyll 기ë°ì¼ë¡ 구ì±ëë©° Jekyll Themeìì ì ê³µíë íë¬ê·¸ì¸, ë ì´ìì, ì¤íì¼ìí¸ ë±ì ììì 묶ì í¨í¤ì§ë¥¼ íì©íì¬ ë¤ìí ì¬ì´í¸ 구ì±ì´ ê°ë¥íë¤. ì´ì ê¸ì 기본í ë§ë¡ ì¬ì´í¸ë¥¼ ìì±íë ë°©ë²ì ìê°íìê³ , ì´ ê¸ì 무ë£ë¡ ì ê³µëë í ë§ë¥¼ ì ííì¬ ë¤ì´ë°ì ì¤ì¹íë ë°©ë²ì ëí´ ìê°íë¤. 1. í ë§ ì íí기 ìë ì¬ì´í¸ë 무ë£ë¡ ì ê³µëë ì§í¬í ë§ ì¬ì´í¸ë¡ ë§ìì ëë í ë§ë¥¼...","categories": [], 160 "tags": [], 161 "url": "/blog/theme/", 162 "teaser": null 163 },{ 164 "title": "[GitHub Pages] Jekyll Theme 커ì¤í¸ë§ì´ì§", 165 "excerpt":"ì´ ë¸ë¡ê·¸ë minimal-mistakes í ë§ë¥¼ ì´ì©íì¬ ìì±íìê³ , minimal-mistakes ê°ì´ë ë°ë¡ê°ê¸° _config.xml ìì ì¼ë¡ ì¬ì´í¸ëª , ì¤ëª , ì¹´í ê³ ë¦¬ 구조 ë±ì 커ì¤í¸ë§ì´ì§ í ì ìë¤. 1. config.xml íì¼ _config.xml íì¼ìì ì¬ì´í¸ëª , ì¤ëª , ì¹´í ê³ ë¦¬ êµ¬ì¡°ë± ì»¤ì¤í¸ë§ì´ì§ì´ ê°ë¥íë¤. #theme : \"minimal-mistakes-jekyll\" remote_theme : \"mmistakes/minimal-mistakes\" minimal_mistakes_skin : \"default\" # \"air\" # Site Settings locale : \"ko-KR\" title :...","categories": [], 166 "tags": [], 167 "url": "/blog/upgrade/", 168 "teaser": null 169 },{ 170 "title": "[GitHub Pages] Jekyll ì½ëíì´ë¼ì´í° (ì½ëë¸ë) í ë§ ë³ê²½", 171 "excerpt":"Rougeë Rubyìì ì ê³µíë gem ì¼ë¡ ì½ëì ììê³¼ ëì ```ì ì¶ê°íë©´ ì½ë íì´ë¼ì´í¸ê° ê°ë¥íë¤. gemì Rubyìì ì ê³µíë ë¼ì´ë¸ë¬ë¦¬ë¥¼ í¸ë¦¬íê² ì¤ì¹í ì ìëë¡ ì§ìëë ë구ì´ë¤. Jekyllë gemì í ì íì´ë¤. ì´ ê¸ì rouge를 ì´ì©íì¬ ì½ë íì´ë¼ì´í¸ í ë§ë¥¼ ì ì©íë ë°©ë²ì ëí ê¸ì´ë¤. 1. ì½ëíì´ë¼ì´í° í ë§ ì¤ì¹ gem install rouge Note: minimal-mistakes í ë§ë¥¼ ì¬ì©íì¬ codeblockì...","categories": [], 172 "tags": [], 173 "url": "/blog/codeblock/", 174 "teaser": null 175 },{ 176 "title": "[GitHub Pages] í°í¸ ë³ê²½í기", 177 "excerpt":"êµ¬ê¸ ì¹í°í¸ë¥¼ ì´ì©íì¬ ë¸ë¡ê·¸ì í°í¸ë¥¼ ë³ê²½íë ë°©ë² (ìì±ì¤) 1. êµ¬ê¸ ì¹í°í¸ ì¬ì´í¸ìì í°í¸ ê²°ì https://fonts.google.com/ ","categories": [], 178 "tags": [], 179 "url": "/blog/font/", 180 "teaser": null 181 },{ 182 "title": "[GitHub Pages] Google ê²ììì§ ë±ë¡í기", 183 "excerpt":"ë´ ë¸ë¡ê·¸ê° Googleìì ê²ìë ì ìëë¡ íë ¤ë©´ Google Search Consoleì ë¸ë¡ê·¸ 주ì를 ë±ë¡í´ì¼ íë¤. 1. Google Search Console ì ì https://search.google.com/search-console/ 2. URL ë±ë¡ Domain: ìë¸ëë©ì¸ì í¬í¨í ëë©ì¸ ê´ë¦¬ê¶íì´ ìë ê²½ì° URL: github.io ë± ëë©ì¸ ê´ë¦¬ ê¶íìì´ ì¬ì©ê¶íë§ ìë ê²½ì° githubì ëë©ì¸ì ì¬ì©íë©´ ì¬ì©ê¶íë§ ìë ê²½ì°ì´ë¯ë¡ URL prefix를 ì ííë¤. 3. URL...","categories": [], 184 "tags": [], 185 "url": "/blog/search/", 186 "teaser": null 187 },{ 188 "title": "[GitHub Pages] ë¤ì´ë² ê²ììì§ ë±ë¡í기", 189 "excerpt":"ë´ ë¸ë¡ê·¸ê° ë¤ì´ë²ìì ê²ìë ì ìëë¡ íë ¤ë©´ Search Advisorì ë¸ë¡ê·¸ì£¼ì를 ë±ë¡í´ì¼ íë¤. 1. ë¤ì´ë² Search Advisor ì ì https://searchadvisor.naver.com/console/board 2. URL ë±ë¡ ì¬ì´í¸ì 주ì를 ì ë ¥íë¤. 3. URL ìì ê¶ ì¦ëª URL ìì ê¶ ì¦ëª ì ìí´ìë HTML fileì ë¤ì´ë¡ë ë°ì ì¬ì´í¸ì 루í¸ì ì ë¡ëí´ì¼ íë¤. ì¬ì´í¸ì htmlíì¼ì
189 ì ë¡ë í ì ìì ì¼ë¡ ì ë¡ë ëìëì§ íì¸ì ìí´ ë³¸ì¸ì...","categories": [], 190 "tags": [], 191 "url": "/blog/search02/", 192 "teaser": null 193 },{ 194 "title": "[GitHub Pages] ëê¸ê¸°ë¥ ì¶ê°í기", 195 "excerpt":"GitHub pagesë ëê¸ ê¸°ë¥ì ì§ìíì§ ì기ì ëê¸ ê¸°ë¥ì ì¬ì©íë ¤ë©´ ëê¸ì ê³µ ìë¹ì¤ë¥¼ ì´ì©íì¬ì¼ íë¤. ëê¸ ê¸°ë¥ì ì ê³µíë ì¬ì´í¸ë disqus, discourse, staticman, giscus ë± ì¬ë¬ ìë¹ì¤ê° ìë¤. ì´ ì¬ì´í¸ì¤ disqus ì ê°ì íì¬ ëê¸ ê¸°ë¥ì ì¶ê°íë ë°©ë²ì ìê°íë¤. 1. Disqus ì ì https://disqus.com/ ì ì ìíì¬ íìê°ì í기 2. Disqus íìê°ì ë©ì¸ íì´ì§ > GET...","categories": [], 196 "tags": [], 197 "url": "/blog/comments01/", 198 "teaser": null 199 },{ 200 "title": "[GitHub Pages] ëê¸ê¸°ë¥ ì¶ê°í기", 201 "excerpt":"GitHub pagesë ëê¸ ê¸°ë¥ì ì§ìíì§ ì기ì ëê¸ ê¸°ë¥ì ì¬ì©íë ¤ë©´ ëê¸ì ê³µ ìë¹ì¤ë¥¼ ì´ì©íì¬ì¼ íë¤. ëê¸ ê¸°ë¥ì ì ê³µíë ì¬ì´í¸ë disqus, discourse, staticman, giscus ë± ì¬ë¬ ìë¹ì¤ê° ìë¤. ì´ ì¬ì´í¸ì¤ giscus ì ê°ì íì¬ ëê¸ ê¸°ë¥ì ì¶ê°íë ë°©ë²ì ìê°íë¤. giscus ëê¸ ìì¤í ì GitHubì discussionsì ì´ì©í´ì ì´ìíì¬ ê´ê³ ê° ìì´ ê¹ëí UI를 ì ê³µíë¤. 1. GitHub Pages...","categories": [], 202 "tags": [], 203 "url": "/blog/comments/", 204 "teaser": null 205 },{ 206 "title": "[GitHub Pages] êµ¬ê¸ ì ëì¼ì¤ ê´ê³ ë£ê¸°", 207 "excerpt":"ì´ ê¸ì 구ê¸ì ì ëì¼(AdSense) ê´ê³ 를 ê²ìíë ë°©ë²ì ëí ê¸ì´ë¤. 1. êµ¬ê¸ ì ëì¼ì¤ íìê°ì Google AdSense (https://www.google.com/adsense/) êµ¬ê¸ ì ëì¼ì¤ ë°ë¡ê°ê¸° 2. ë´ ì¬ì´í¸ ë±ë¡ Google AdSense ê°ì í ê´ê³ 를 ê²ìíë ¤ë©´ ì¹ì¸ ê³¼ì ì´ íìíë¤. ìì±ëì§ ì¼ë§ëì§ ìì ì ê· ì¬ì´í¸ë ì¹ì¸ê±°ë¶ ë ì ìê³ , ê²ìê¸ì´ ìì´ì¼ ì¹ì¸ì´ ëë¤. onda2me ì¬ì´í¸ë ê²ìê¸ì´ ì½ 30ê°...","categories": [], 208 "tags": [], 209 "url": "/blog/googlead/", 210 "teaser": null 211 },{ 212 "title": "[Markdown] Markdown ìê° ë° ì¬ì©ë²", 213 "excerpt":"ë§í¬ë¤ì´ (Markdown)ì ì¼ë° í ì¤í¸ 기ë°ì ë§í¬ì ì¸ì´ë¡ ì¼ë° í ì¤í¸ë¡ ììì´ ìë 문ì를 ìì±íëë° ì¬ì©íë¤. ë¤ë¥¸ ë§í¬ì ì¸ì´ì ë¹í´ 문ë²ì´ ì½ê³ ê°ë¨íë©° HTML ë± ìì 문ìë¡ ì½ê² ë³íëì´ README íì¼ì´ë ì¨ë¼ì¸ ê²ì물ì ë§ì´ ì¬ì©ëë©°, íì¥ìë .md를 ì¬ì©íë¤. ì¦, ë§í¬ë¤ì´ì í ì¤í¸ë¥¼ HTMLë± ìì문ìë¡ ë³ííë ì¸ì´ì´ì ë구ì´ë¤. 1. í¤ë ì¬ì©ë²: # ì 목 ì...","categories": [], 214 "tags": [], 215 "url": "/blog/markdown/", 216 "teaser": null 217 },{ 218 "title": "[Markdown] Markdown Editor", 219 "excerpt":"ë§í¬ë¤ì´ ìëí° (ìì±ì¤) ë¤ì¬ì°ê¸°1 ë¤ì¬ì°ê¸°2 ë¤ì¬ì°ê¸°3 ","categories": [], 220 "tags": [], 221 "url": "/blog/editor/", 222 "teaser": null 223 },{ 224 "title": "[Liquid] Jekyll & Liquid", 225 "excerpt":"Liquidë Rubyë¡ ìì±ë ì¤íìì¤ í í릿 ì¸ì´ì´ë¤. Jekyll ì Liquid í í릿 ì¸ì´ë¥¼ ì¬ì©í´ í í릿ì ì²ë¦¬íë¤. Escape (ì½ëë¸ë) ì¤ê´í¸ê° í¬í¨ë ë´ì©ì ì¶ë ¥íê³ ì¶ì ë ë± Liquidì í그를 ê·¸ëë¡ ë³´ì¬ì¤ë¤. ì¬ì©ë²: {% raw %} ë³´ì¬ì£¼ê¸° ìíë ë´ì© {% endraw %} Comment íê·¸ ìì ë´ì©ì ì¶ë ¥íì§ ìëë¤. ì¬ì©ë²: {% comment %} ì´ë´ì©ì íë©´ì ì¶ë ¥ëì§...","categories": [], 226 "tags": [], 227 "url": "/blog/liquid/", 228 "teaser": null 229 },{ 230 "title": "Baz Boom Identity", 231 "excerpt":"Pictures of Goats section West Seattle Blog dingbat newspaper rubber cement Google+ newsroom cafe news.me rubber cement, Ushahidi Kindle Single syndicated Instagram HuffPo community mthomps, Mozilla iPhone app should isnât a business model curmudgeon Snarkmarket Tim Carmody production of innocence. Fuego tweets community DocumentCloud metered model Gardening & War section...","categories": [], 232 "tags": [], 233 "url": "/portfolio/baz-boom-identity/", 234 "teaser": "/assets/images/sample/unsplash-gallery-image-1-th.jpg" 235 },{ 236 "title": "Ginger Gulp Identity", 237 "excerpt":"Pictures of Goats section West Seattle Blog dingbat newspaper rubber cement Google+ newsroom cafe news.me rubber cement, Ushahidi Kindle Single syndicated Instagram HuffPo community mthomps, Mozilla iPhone app should isnât a business model curmudgeon Snarkmarket Tim Carmody production of innocence. Fuego tweets community DocumentCloud metered model Gardening & War section...","categories": [], 238 "tags": [], 239 "url": "/portfolio/ginger-gulp-identity/", 240 "teaser": "/assets/images/sample/unsplash-gallery-image-3-th.jpg" 241 },{ 242 "title": "Markdown ì¬ì©ë² ë° í ì¤í¸", 243 "excerpt":"íì´í ì¬ì©ë² # ì 목1 ## ì 목2 ### ì 목3 #### ì 목4 ##### ì 목5 ###### ì 목6 ì 목1 ì 목2 ì 목3 ì 목4 ì 목5 ì 목6 í ì´ë¸ ì¬ì©ë² ì ë ¥ | ì¶ ë ¥ ----- | ----- 1, 1 | 1 5, 54321 | 15 25, 7000000000000000000000000 | 3 11, 10987654321 | 46 ì ë ¥ ì¶ ë ¥...","categories": ["jekyll"], 244 "tags": ["jekyll","markdown"], 245 "url": "/jekyll/test-markdown/", 246 "teaser": null 247 },{ 248 "title": "ì´í´ë¦½ì¤ìì javadoc ë§ë¤ê¸°", 249 "excerpt":"javadocì java íë¡ê·¸ë¨ ìì¤ì ì¤ëª ìë¡, ê°ë°ë íë¡ê·¸ë¨ ë¶ì (íë¡ì í¸ì í¨í¤ì§ 구ì±, í´ëì¤ ëª©ë¡ ë° ê¸°ë¥, ì¬ì©ëë í¨ìì ì©ë ë±)ì ìí´ ìì¤ë¥¼ íì¸íì§ ììë ê° í´ëì¤ì 기ë¥ì html 문ìë¡ êµ¬ì±íì¬ ì¹ì¬ì´í¸ ì²ë¼ í¸ë¦¬íê² íì¸ì´ ê°ë¥í 문ìì´ë¤. javadocì 문ìë¡ ì§ì ìì íë ê²ì´ ìëë¼ í´ë¹ ìì¤ë´ì ìì±ë 주ìì ì´ì©íì¬ ì¤ëª ì를 ìëì¼ë¡ ìì±í ì...","categories": ["eclipse"], 250 "tags": ["java"], 251 "url": "/eclipse/javadoc-make/", 252 "teaser": null 253 },{ 254 "title": "favicon (íë¹ì½ : ì¦ê²¨ì°¾ê¸° ìì´ì½) ë§ë¤ê¸°", 255 "excerpt":"favicon (íë¹ì½)ì ì¦ê²¨ì°¾ê¸° ìì´ì½ì ë»íë ë§ë¡ ì¦ê²¨ì°¾ê¸° (favorites) ì ìì´ì½ (icon) ì í©ì±ì´ì´ë¤. ì¬ì´í¸ ì ì ì ì¹ë¸ë¼ì°ì ì ë³´ì´ë ì¡°ê·¸ë§ ìì´ì½ì´ ë°ë¡ íë¹ì½ì´ë¤. ì´ ê¸ì 그림í ê°ì ìëì° ê¸°ë³¸ íë¡ê·¸ë¨ì ì´ì©íì¬ ê°ë¨íê² íë¹ì½ì ë§ë¤ ì ìë ë°©ë²ì ìê°íë¤. 그림íì ì´ì©í기ì ë³µì¡í ëìì¸ì ìì´ì½ì ë§ë¤ê¸° ì´ë µì§ë§, ë¤ì´ë²ë ë¤ìê³¼ ê°ì´ ìì´ë¨ì´ë¡ êµ¬ì± ë...","categories": ["favicon"], 256 "tags": ["favicon"], 257 "url": "/favicon/post-favicon/", 258 "teaser": null 259 },{ 260 "title": "ë©ë´ ë¤ë¹ê²ì´ì ì Active í¨ê³¼ì£¼ê¸°", 261 "excerpt":"íì±íë ë©ë´ì Active í¨ê³¼ë¥¼ ì¶ê°í´ ë³´ìë¤. /minimal-mistakes/ í ë§ë ë©ë´ì Active 기ë¥ì´ ìì´ì scss ì html íì¼ ìì ì´ íìíë¤. 1. /include/masthead.html ì½ë ì¶ê° // ì본 ì½ë <ul class=\"visible-links\"><li class=\"masthead__menu-item\"> <a href=\"/post/\">Posts</a> </li><li class=\"masthead__menu-item\"> <a href=\"/algorithm/\">Algorithm</a> </li><li class=\"masthead__menu-item\"> <a href=\"/blog/\">GitHub Blog</a> </li><li class=\"masthead__menu-item\"> <a href=\"/about/\">About</a> </li></ul> // ì¶ê° ì½ë // a íê·¸ì...","categories": ["navi"], 262 "tags": ["ë©ë´"], 263 "url": "/navi/post-navi-active/", 264 "teaser": null 265 },{ 266 "title": "SVNìë² ë° í´ë¼ì´ì¸í¸ íë¡ê·¸ë¨ ì¤ì¹", 267 "excerpt":"ITê´ë ¨ íì¬ê° ìëë¼ íë¡ê·¸ë¨ì í¼ì ë´ë¹íê³ ìì§ë§, ìì¤ì ë²ì ê´ë¦¬ê° íìí기ì SVNì ì¤ì¹íìë¤. ìë²ë 무ë£ë²ì ì¸ Visual SVNì ì¤ì¹íê³ , í´ë¼ì´ì¸í¸ íë¡ê·¸ë¨ì ìëì° íì기ìì ë°ë¡ ì¬ì© ê°ë¥í Totoriseì ì´í´ë¦½ì¤ì© subclipse 4.3.0ì ì¤ì¹íìë¤. ì´ ê¸ì ì´ íë¡ê·¸ë¨ì ì¤ì¹ ê³¼ì ì ëí ê¸ì´ë¤. 1.SVN ìë² ë¤ì´ë¡ë ë° ì¤ì¹ VisualSVN Server ë¤ì´ë¡ë : https://www.visual
267svn.com/ 2. SVN ìë²...","categories": ["svn"], 268 "tags": ["svn"], 269 "url": "/svn/svn-install/", 270 "teaser": null 271 },{ 272 "title": "Apache POI를 ì´ì©í ìì ë¤ì´ë¡ë 기ë¥", 273 "excerpt":"ìë¹ì¤ ì´ìì íë¤ë³´ë©´ íë¬ê°, ì°ê° ì´ìíí©ì íì í기 ìí ì´ì리í¬í¸ 기ë¥ì´ íìí ê²½ì°ê° ìë¤. ì´ê¸ì Apache POI ë¼ì´ë¸ë¬ë¦¬ë¥¼ ì´ì©íì¬ ë°ì´í ë° ê·¸ëí를 í¬í¨í ìì íì¼ì ìì±íë ë°©ë²ì ëí ê¸ì´ë¤. ìì íì¼ ìí (í매íí©_202110_리í¬í¸.xls) 1.Apache POI 3.9 ë¤ì´ë¡ë pom.xml íì¼ì dependency ì¶ê° # ë©ì´ë¸ íë¡ì í¸ë pom.xml íì¼ì dependency ì¶ê° <!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> <dependency> <groupId>org.apache.poi</groupId>...","categories": ["java"], 274 "tags": ["java","ìì "], 275 "url": "/java/poi-excel-download/", 276 "teaser": null 277 },{ 278 "title": "Github ì ì¥ì íë¡ê·¸ë¨ ìì¤ Pagesìì include íë ë°©ë²", 279 "excerpt":"Github Pagesì ê¸ì ìì±íë¤ë³´ë©´ Github ì ì¥ìì íë¡ê·¸ë¨ ìì¤ ì¤ëª ì´ íìí ëê° ìë¤. ì¼ë°ì ì¼ë¡ Githubì ê³µì ëê³ ìë ìì¤ì í¹ì ë¶ë¶ë§ ë°ì·í ëë markdownì ì½ëë¸ë 기ë¥ì ì´ì©íë¤. ìì¤ì ì 체를 ì¤ëª í ëìë ëì¼íê² ì½ëë¸ë 기ë¥ì ì´ì©íì¬ ì¤ë³µì¼ë¡ ìì±í´ë ëì§ë§, Githubì ìì¤ë¥¼ ìì íì¬ ì ë°ì´í¸ í ê²½ì° ë¸ë¡ê·¸ì ìì±ë ìì¤ê¹ì§ ì ë°ì´í¸ í´ì£¼ì§ë ìëë¤. ì´ ê¸ì...","categories": ["javascript"], 280 "tags": ["javascript","github"], 281 "url": "/javascript/include-github-raw/", 282 "teaser": null 283 },{ 284 "title": "Markdown í¤ë ë° toc í ì¤í¸", 285 "excerpt":"H1.Vue ì¹ìë¹ì¤ í¬í¸ ì¤ì H1 H2.1-1. ì¤ì 1 H2 ì무거ë ìì± H2.1-2. ì¤ì 2 ì무거ë ìì± H3.1-2-1. ì¤ì 1-1 H3 3ì무거ë ìì± H3.1-2-1. ì¤ì 1-2 H3 3ì무거ë ìì± H3.1-2-1-1. ì¤ì 1-2-1 H3 3ë¨ê³ ì무거ë ìì± H4.1-2-1-1. ì¤ì 1-2-1 H4 4ë¨ê³ ì무거ë ìì± H5.1-2-1-1. ì¤ì 1-2-1 H4 5ë¨ê³ ì무거ë ìì± H2.1-3. ì¤ì 3 H2...","categories": ["jekyll"], 286 "tags": ["jekyll","markdown"], 287 "url": "/jekyll/test-markdown2/", 288 "teaser": null 289 },{ 290 "title": "Spring Security 3.1.1를 ì´ì©í ì ê·¼ê¶í ê´ë¦¬", 291 "excerpt":"Spring Securityë ì¤íë§ ê¸°ë° ì´í리ì¼ì´ì ì ë³´ìê³¼ ì¸ì¦ì ë´ë¹íë íë ììí¬ë¡, Spring Security를 Filterì ì¶ê°íì¬ ëìí기 ë문ì Spring MVCì ë¶ë¦¬ëì´ ëìíë¤. ëªê°ì íì´ì§ë¥¼ ìë¡ ë¤ë©´ âë¡ê·¸ì¸íì´ì§ (/login/loginForm.co)ë ë¡ê·¸ì¸ì í기ìí 주ìë¡ ë¡ê·¸ì¸ ìì´ ì ìì´ ê°ë¥í´ì¼ íê³ , ë§ì´íì´ì§ (/mypage/view.co)ë ë¡ê·¸ì¸í ì¬ì©ìë§ ì ìì´ ê°ë¥í´ì¼ íë©°, ì¬ì©ìê´ë¦¬ íì´ì§ (/admin/user/list.co)ë ë¡ê·¸ì¸í ê´ë¦¬ìë§ ì ìì´ ê°ë¥í´ì¼ íë¤. âSpring securityë...","categories": ["java"], 292 "tags": ["spring","java","security"], 293 "url": "/java/spring-security/", 294 "teaser": null 295 },{ 296 "title": "ë°ì´í° ìê°í를 ìí 무ë£ì°¨í¸", 297 "excerpt":"ì´ê¸ì ë¤ìí ì íì¼ë¡ ë°ì´í를 ìê°í í ì ìë ì°¨í¸ ì¤ ì¹íì´ì§ìì HTML + Javascriptë¡ ê°ë¨íê² êµ¬í ê°ë¥í 무ë£ì°¨í¸ë¥¼ ìê°íë ¤ íë¤. 1. 구ê¸ì°¨í¸ https://developers.google.com/chart/ 구ê¸ì°¨í¸ë ìì HTML5 기ë°ì¼ë¡ íë¬ê·¸ì¸ ìì´ ì¹íì´ì§ì ê°ë¨í JavaScriptë§ ì¶ê°íë©´ ì°¨í¸ë¥¼ íìí´ì¤ë¤. ììì°¨í¸, ë°ì°¨í¸, ë¼ì¸ì°¨í¸, ëëì°¨í¸, ê²ì´ì§ì°¨í¸ ë± ë¤ìí ì íì ì°¨í¸ë¥¼ ì ê³µíë¤. 구ê¸ì°¨í¸ ë¼ì´ë¸ë¬ë¦¬ ë¡ëí기 ì°¨í¸ë¡ ë³´ì¬ì¤...","categories": ["javascript"], 298 "tags": ["javascript","chart"], 299 "url": "/javascript/chart/", 300 "teaser": null 301 },{ 302 "title": "SpringBoot - REST API 구íí기", 303 "excerpt":"REST APIë? Representational State Transferì ì½ìì´ë©° âëíì ì¸ ìí ì ë¬âì´ë¼ë ë»ì¼ë¡ íëì URIë íëì Resource를 ëííëë¡ ì¤ê³ëë¤ë ê°ë ì´ë¤. ì¦, ì¤ë§í¸í°, íí릿, PC ë± ë¤ìí ë¨ë§ì¥ì¹ì ìê´ìì´ ê³µíµì¼ë¡ ë°ì´í°ë¥¼ ì²ë¦¬í ì ìëë¡ ì¬ì©ìê° ì´ë¤ ìì²ì íì ë íë©´ (HTML)ì 리í´íì§ ìê³ ë°ì´íë§ ë¦¬í´í´ì£¼ë ë°©ìì´ë¤. SpringBoot를 ì´ì©íì¬ ê°ë¨íê² REST API를 구íí´ ë³´ì. 1....","categories": ["springboot"], 304 "tags": ["springboot"], 305 "url": "/springboot/springboot-restapi/", 306 "teaser": null 307 },{ 308 "title": "SpringBoot - Logback ì¤ì í기", 309 "excerpt":"logback? Apacheì log4j 기ë°ì logging ë¼ì´ë¸ë¬ë¦¬ë¡ SpringBoot íë¡ì í¸ìë logbackì´ ê¸°ë³¸ì ì¼ë¡ í¬í¨ëì´ ìì´ì dependecy ì¶ê°ìì´ ì¬ì©í ì ìì¼ë, ê°ë°íê²½ì ë§ë ì¤ì íì¼ì
309 ì¶ê°í´ 주ì´ì¼ íë¤. logbackì ERROR > WARN > INFO > DEBUG > TRACE 5ë¨ê³ì ë¡ê·¸ë 벨ì ê°ì§ë¤. 1. logback ì¤ì íì¼ ìì¹ ì§ì í기 #fileName : application.properties #ë¡ê·¸íì¼ ìì¹ logging.config=classpath:logging/logback.xml 2. logback.xml ì¤ì íì¼...","categories": ["springboot"], 310 "tags": ["springboot","logback"], 311 "url": "/springboot/springboot-logback/", 312 "teaser": null 313 },{ 314 "title": "nodeì npm ì¤ì¹í기", 315 "excerpt":"ì´ ê¸ì nodeì npmì ê°ë ê³¼ ì¤ì¹ë°©ë²ì ëí´ ì¤ëª íë¤. node.js? Chrome V8 Javascript ìì§ì¼ë¡ ë¹ë ë Javascript ë°íìì´ë¤. ë°íìì´ë? í¹ì ì¸ì´ë¡ ë§ë íë¡ê·¸ë¨ì ì¤íí ì ìë íê²½ì ë»íë¤. ì¦ ë ¸ë(node.js)ë ìë°ì¤í¬ë¦½í¸ íë¡ê·¸ë¨ì ì»´í¨í°ìì ì¤íí ì ìê² íë ìë°ì¤í¬ë¦½í¸ ì¤íê¸°ë¡ ë ¸ë를 íµí´ ë¤ìí ìë°ì¤í¬ë¦½í¸ ì í리ì¼ì´ì ì ì¤íí ì ìì¼ë©°, ìë²ë¥¼ ì¤ííë ë° ì ì¼...","categories": ["vue"], 316 "tags": ["node","npm"], 317 "url": "/vue/node-npm/", 318 "teaser": null 319 },{ 320 "title": "Vue ì¤ì¹í기 ", 321 "excerpt":"ì´ ê¸ì Vueì Vue CLI, WebPackì ì ìì ì¤ì¹ë°©ë²ì ëí´ ì¤ëª íë¤. Vue? ì¹ ì´í리ì¼ì´ì ì¬ì©ì ì¸í°íì´ì¤ë¥¼ ìí ìë°ì¤í¬ë¦½í¸ íë ììí¬ CLI (Command line interface) ? Vue CLI2 ì´í : vue-cli Vue CLI3 ì´ì : @vue/cli (@ ë§í¬ë npmì scoped package ) Vue Webpackê³¼ CLI ? ì¹í©(Webpack)ì ìë°ì¤í¬ë¦½í¸ 모ë ë²ë¤ë¬ (JavaScript Module Bundler)ë¡...","categories": ["vue"], 322 "tags": ["vue","node"], 323 "url": "/vue/vuecli/", 324 "teaser": null 325 },{ 326 "title": "Vue íë¡ì í¸ ìì±í기 ", 327 "excerpt":"ì´ ê¸ì Vue íë¡ì í¸ì ë²ì ì ì ííì¬ ìì±íê³ ìì±í Vue íë¡ì í¸ì ë²ì ì íì¸íë ë°©ë²ê³¼ ë²ì ì ë°ë¼ ë°ì´í°, í¨ì ë±ì ì ì¸ê³¼ í¸ì¶ë°©ìì ëí´ ê°ëµí ì¤ëª íë¤. 1. Vue íë¡ì í¸ ìì±í기 vue create [íë¡ì í¸ëª ] ëª ë ¹ì´ë¥¼ ì´ì©íì¬ íë¡ì í¸ë¥¼ ìì±í ë vueì ë²ì (vue 2 / vue 3)ì ì ííì¬ ìì±í ì ìë¤. vue create vuex3 2. Vue ë²ì ...","categories": ["vue"], 328 "tags": ["vue"], 329 "url": "/vue/vue-01-start/", 330 "teaser": null 331 },{ 332 "title": "Vue2 ìì ì»´í¬ëí¸ë¥¼ ì´ì©íì¬ ì²«íì´ì§ ë§ë¤ê¸° ", 333 "excerpt":"ì´ ê¸ì Vue 2ìì ì»´í¬ëí¸ë¥¼ ì´ì©íì¬ ê°ë¨í ì¹íì´ì§ë¥¼ ë§ëë ë°©ë²ì ëí´ ì¤ëª íë¤. 1. Vue íì¼ ë§ë¤ê¸° íë¡ì í¸í´ë> src> components> FirstComponent.vue íì¼ì ìì±íë¤. // @FirstComponent.vue <template> <h1>First Component!</h1> </template> 2. App.vue íì¼ ë´ì© ìì í기 íë¡ì í¸í´ë> src> App.vue íì¼ ë´ì©ì ìì íë¤. // @App.vue <template> <div id=\"app\"> <SampleApp></SampleApp> </div> </template> <script> <!-- App.vueì...","categories": ["vue"], 334 "tags": ["vue"], 335 "url": "/vue/vue-02-first/", 336 "teaser": null 337 },{ 338 "title": "Vue2 ìì data í¨ì ì¬ì©í기 ", 339 "excerpt":"ì´ ê¸ì Vue 2ìì ì»´í¬ëí¸ì data í¨ì를 ì´ì©íì¬ ê°ë¨í ì¹íì´ì§ë¥¼ ë§ëë ë°©ë²ì ëí´ ì¤ëª íë¤. 1. Vue íì¼ ë§ë¤ê¸° íë¡ì í¸í´ë> src> components> HelloWorld.vue íì¼ì ìì±íë¤. // @HelloWorld.vue <!-- íë©´ì ë³´ì¬ì§ë ë©ì¸ì§ ì¶ë ¥ì data í¨ì를 íµí´ì 구ííë¤. --> <script> export default { data() { return { message: 'Hello World!' } } }...","categories": ["vue"], 340 "tags": ["vue"], 341 "url": "/vue/vue-03-message/", 342 "teaser": null 343 },{ 344 "title": "Vue2 ìì button click í¨ìë¡ ì«ì ì¹´ì´í¸íë ìì ", 345 "excerpt":"Vue2 ìì button click í¨ìë¡ ì«ì ì¹´ì´í¸íë ìì 1. Vue íì¼ ë§ë¤ê¸° íë¡ì í¸í´ë> src> components>
345 CounterNumber.vue íì¼ì ìì±íë¤. // @CounterNumber.vue <script> export default { data() { return { count: 0 } } } </script> <template> <div> <label>{{ count }}</label>&nbsp; <button @click=\"count++\">Count</button>&nbsp; <button @click=\"count--\">Discount</button>&nbsp; </div> </template> 2. App.vue íì¼ ë´ì© ìì í기...","categories": ["vue"], 346 "tags": ["vue"], 347 "url": "/vue/vue-05-counter/", 348 "teaser": null 349 },{ 350 "title": "Vue2 ìì ë¨ì를 ë³ííë í¨ì를 구íí ìì ", 351 "excerpt":"Vue2 ìì cm -> inchë¡ in -> cmë¡ ë¨ì를 ë³ííë í¨ì를 ì ì¸íì¬ êµ¬íí ìì 1 cm -> 2.54 inchì´ê³ , 1 inch -> ì½ 0.3937 cm ì´ë¯ë¡ ì´ ê°ì 기ì¤ì¼ë¡ ì«ì를 ì ë ¥íê³ , ë³íí기 ë²í¼ì ë르면 ë¤ë¥¸ ë¨ìë¡ ë³ííë ìì ì´ë¤. 1. Vue íì¼ ë§ë¤ê¸° íë¡ì í¸í´ë> src> components> ConverterUnit.vue íì¼ì ìì±íë¤. // @ConverterUnit.vue...","categories": ["vue"], 352 "tags": ["vue"], 353 "url": "/vue/vue-06-converter/", 354 "teaser": null 355 },{ 356 "title": "Vue3 íë¡ì í¸ ìì±í기", 357 "excerpt":"Vue ë²ì 3 íë¡ì í¸ë¥¼ ìì±íê³ , ê°ë¨í ìì 를 ë§ë¤ì´ë³´ì. 1) Vue CLI ì¤ì¹í기 npm install -g @vue/cli 2) Vue 3 íë¡ì í¸ ìì±í기 vue create[íë¡ì í¸ëª ] vue ë²ì ì í vue ì¤ì¹ì¤ vue íë¡ì í¸ ë²ì íì¸ vue í´ë 구조 vuex3 # Vue íë¡ì í¸ ROOT âââ node_modules # node_modules | âââ @eslint | âââ @vue |...","categories": ["vue"], 358 "tags": ["vue"], 359 "url": "/vue/vue3-setup/", 360 "teaser": null 361 },{ 362 "title": "Vue íë¡ì í¸ í´ë를 기ë¥ë³ë¡ 구ë¶í기 ", 363 "excerpt":"Vue Router를 ì´ì©íì¬ ì»´í¬ëí¸ë¥¼ ë¶ë¦¬íì¬ ì¹íì´ì§ë¥¼ ë§ë¤ì´ ë³´ì. Vue íë¡ì í¸ í´ë를 기ë¥ë³ë¡ 구ë¶í기 vuex3 # Vue íë¡ì í¸ ROOT | âââ src # ê°ë°ìì¤ | âââ App.vue # ìµìì ì»´í¬ëí¸ | âââ main.js # ì´í리ì¼ì´ì ì§ì ì . ìµìì ì»´í¬ëí¸ì¸ App.vue를 ë¡ë | âââ components # ê° ì¹íì´ì§ì íë©´ì 구ì±í ì»´í¬ëí¸ ì ì¥ìì¹ |...","categories": ["vue"], 364 "tags": ["vue"], 365 "url": "/vue/vue3-router-project/", 366 "teaser": null 367 },{ 368 "title": "Vue Routerë¡ ì¹íì´ì§ ë§ë¤ê¸°", 369 "excerpt":"Vue Routerë vue.jsìì íì´ì§ ê° ì´ëì ìí ë¼ì´ë¸ë¬ë¦¬ë¡ ìëì ê°ì´ Home, Posts, About êµ¬ì± ë ì¹ì´í리ì¼ì´ì ìì ê° ì¹ê²½ë¡ì ì»´í¬ëí¸ë¥¼ ê´ë¦¬íë¤. Vue Router를 ì´ì©íì¬ ì¹íì´ì§ë¥¼ ë§ë¤ì´ ë³´ì. 1) Vue Router ì¤ì¹í기 npm install ëª ë ¹ì´ë¡ vue router ì¤ì¹ Vue Router ì°ëì ìí´ App.vue ë° router ê´ë ¨ íì¼ì ìì± ë± ë³ëì ì¤ì ì´ íìíë¤....","categories": ["vue"], 370 "tags": ["vue","router"], 371 "url": "/vue/vue3-router/", 372 "teaser": "/assets/images/post/vue/vue3_router_2.png" 373 },{ 374 "title": "Vueìì Headerì Footer ììì ì ì ì»´í¬ëí¸ë¡ ë¶ë¦¬í기", 375 "excerpt":"Vue ì´í리ì¼ì´ì ìì ê³µíµì¼ë¡ ì¬ì©ëë Headerì Footer를 ì ì ì»´í¬ëí¸ë¡ ë¶ë¦¬í´ë³´ì. Vue ì´í리ì¼ì´ì 구조 vuex3 # Vue íë¡ì í¸ ROOT | âââ src | âââ components | | âââ layout # Layoutì© ì»´í¬ëí¸ ì ì¥ìì¹ (* ì¶ê°) | | | âââ LayoutNavi.vue # Navigation ìì (* ì¶ê°) | | | âââ LayoutFooter.vue # Footer...","categories": ["vue"], 376 "tags": ["vue","router"], 377 "url": "/vue/vue3-globalcomponent/", 378 "teaser": "/assets/images/post/vue/vue3_router_11.png" 379 },{ 380 "title": "Vueìì 404 not found ì¤ë¥ íì´ì§ë¥¼ routerë¡ ì¤ì í기", 381 "excerpt":"ì¤ì íì§ ìì ê²½ë¡ì ì ìí ê²½ì° 404 ì¤ë¥ íì´ì§ë¥¼ ë³´ì¬ì£¼ëë¡ router ì¤ì ì ì¶ê°í´ ë³´ì. Vue ì´í리ì¼ì´ì 구조 vuex3 # Vue íë¡ì í¸ ROOT | âââ src | âââ components | | âââ layout # Layoutì© ì»´í¬ëí¸ ì ì¥ìì¹ | | | âââ LayoutNavi.vue | | | âââ LayoutFooter.vue | | âââ common #...","categories": ["vue"], 382 "tags": ["vue","router"], 383 "url": "/vue/vue3-notfound404/", 384 "teaser": "/assets/images/post/vue/vue3_notfound.png" 385 },{ 386 "title": "Vue routerì dynamic matchingì ì´ì©íì¬ ëì U
386RLì 구ì±í´ ë³´ì", 387 "excerpt":"ê²ìê¸ ëª©ë¡ -> ê²ìê¸ ìì¸, ì¬ì©ì ëª©ë¡ -> ì¬ì©ì ìì¸ ë± ì¹íì´ì§ ì´ë ì urlì idê°ì ë°ë¼ íì´ì§ ë´ì©ì ëì ì¼ë¡ 구ì±íë 기ë¥ì 구ííê³ ì íë¤. 리ì¤í¸ì ëª©ë¡ êµ¬í ë¨ì¼ ì»´í¬ëí¸ êµ¬íê³¼ ì»´í¬ëí¸ ë¶ë¦¬ 구í ëê°ì§ ë°©ìì¼ë¡ íì´ì§ë¥¼ 구ì±íê³ , 리ì¤í¸ ìì¸ ì´ëì routerì dynamic matchingì ì´ì©íì¬ ëì URLë¡ êµ¬ì± /users/1 ê²½ë¡ ì ì...","categories": ["vue"], 388 "tags": ["vue","router"], 389 "url": "/vue/vue3-vfor-list/", 390 "teaser": "/assets/images/post/vue/vue3_vfor_list2.png" 391 },{ 392 "title": "SpringBoot BackEnd + Vue FrontEnd Step1. ìë¹ì¤ 구ì±", 393 "excerpt":"ì¤íë§ë¶í¸ ì¹ìë²ë 8007, Vue ì¹ìë²ë 8080 í¬í¸ë¡ ìë¹ì¤ íëë¡ ì¤ì ì¤íë§ë¶í¸ íë¡ì í¸ ìì± ì¤íë§ë¶í¸ íë¡ì í¸ì Vue íë¡ì í¸ ìì± Vue ë¹ë ì ì¤íë§ë¶í¸ì 리ìì¤ í´ëë¡ build ê²½ë¡ ì¤ì ì¤íë§ë¶í¸ ìë²ìì Vue ì¹ìë¹ì¤ ëì íì¸ 1. ì¤íë§ë¶í¸ íë¡ì í¸ ìì± New Project > Spring Starter Project 2. WelcomeController ìì± com.onda.controller.WelcomeController.java @RestController public class...","categories": ["vue"], 394 "tags": ["vue","springboot"], 395 "url": "/vue/springboot-vue/", 396 "teaser": "/assets/images/post/vue/boot_setup2.png" 397 },{ 398 "title": "SpringBoot BackEnd + Vue FrontEnd Step2. Build ì¤ì ", 399 "excerpt":"ì¤íë§ë¶í¸ ì¹ìë²ë 8007, Vue ì¹ìë²ë 8080 í¬í¸ë¡ ìë¹ì¤ íëë¡ ì¤ì ì¤íë§ë¶í¸ íë¡ì í¸ ìì± (ì´ì ê¸) ì¤íë§ë¶í¸ íë¡ì í¸ì Vue íë¡ì í¸ ìì±(ì´ì ê¸) Vue ë¹ë ì ì¤íë§ë¶í¸ì 리ìì¤ í´ëë¡ build ê²½ë¡ ì¤ì ì¤íë§ë¶í¸ ìë²ìì Vue ì¹ìë¹ì¤ ëì íì¸ 1. Vue ì¹ìë¹ì¤ í¬í¸ ì¤ì srcvue > package.json ìì \"scripts\": { \"serve\": \"vue-cli-service serve --port 8080\",...","categories": ["vue"], 400 "tags": ["vue","springboot"], 401 "url": "/vue/springboot-vue-build/", 402 "teaser": "/assets/images/post/vue/boot_build4.png" 403 },{ 404 "title": "SpringBootìì Html Thymeleaf ìë¹ì¤ 구ì±í기", 405 "excerpt":"Thymeleaf ë? html í그를 기ë°ì¼ë¡ 컨í¸ë¡¤ë¬ê° ì ë¬íë ë°ì´í°ë¥¼ ëì ì¼ë¡ íë©´ì 구ì±í ì ìê² í´ ì¤ë¤. @ Thymeleaf ì¤ì pom.xml ìì¡´ì± ì¶ê° application.properties ì¤ì ì¶ê° src>static>templates>html í´ë ì¶ê° Contoller íì¼ ìì± jsp íì¼ ìì± ì¤íë§ë¶í¸ ì¹ìì íì¸ 1. pom.xml ìì¡´ì± ì¶ê° <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> 2. application.properties ì¤ì ì¶ê° # jspì...","categories": ["springboot"], 406 "tags": ["springboot","thymeleaf"], 407 "url": "/springboot/01-springboot-thymeleaf/", 408 "teaser": "/assets/images/post/spring/boot_html01.png" 409 },{ 410 "title": "SpringBootìì Jsp ìë¹ì¤ 구ì±í기", 411 "excerpt":"ì¤íë§ë¶í¸ììë Jsp를 Defaultë¡ ì ê³µíì§ ìì Jsp ìë¹ì¤ë¥¼ 구ì±íë ¤ë©´ ë³ëì ì¤ì ì´ íìíë¤. @ JSP ì¤ì pom.xml ìì¡´ì± ì¶ê° application.properties ì¤ì ì¶ê° src>webapps>WEB-INF>jsp í´ë ì¶ê° Contoller íì¼ ìì± jsp íì¼ ìì± ì¤íë§ë¶í¸ ì¹ìì íì¸ 1. pom.xml ìì¡´ì± ì¶ê° <!-- jsp ì¬ì©ì ìí´ ì¶ê°í¨ (jasper, jstl) --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> <!-- jsp를...","categories": ["springboot"], 412 "tags": ["springboot"], 413 "url": "/springboot/02-springboot-jsp/", 414 "teaser": "/assets/images/post/spring/boot_jsp.png" 415 },{ 416 "title": "REST API - ìí ì¤í API를 ì´ì©íì¬ ìíì ë³´ ì¬ì´í¸ ë§ë¤ê¸°", 417 "excerpt":"ìíì§í¥ììíì ì¤í API (ì£¼ë§ ë°ì¤ì¤í¼ì¤) 를 ì´ì©íì¬ ìíì ë³´ ì¬ì´í¸ë¥¼ ë§ë¤ì´ë³´ì. [ìíì§í¥ììí ì¤í API ë°ì¤ì¤í¼ì¤ ë°ë¡ê°ê¸°] (https://www.kobis.or.kr/) ë°ì¤ì¤í¼ì¤ UI 구í ê¸°ë¥ ì¤í API를 ì´ì©íì¬ Html, Jsp, Vue ë°©ìì¼ë¡ ë°ì¤ì¤í¼ì¤ 기ë¥ì ê°ê° 구íí´ë³¸ë¤. REST API ë¡ ìíì§í¥ì ìí ì¤íAPI ë°ì´í ì ë¬ (SpringBoot RestController) Thymeleaf Html ë°ì¤ì¤í¼ì¤ (SpringBoot + Thymeleaf) Jsp ë°ì¤ì¤í¼ì¤ (SpringBoot...","categories": ["vue","springboot"], 418 "tags": ["vue","springboot"], 419 "url": "/vue/springboot/bootvue-start-restapi/", 420 "teaser": "/assets/images/post/vue/boot_start_00.png" 421 },{ 422 "title": "Thymeleaf - ìí ì¤í API를 ì´ì©íì¬ ìíì ë³´ ì¬ì´í¸ ë§ë¤ê¸°", 423 "excerpt":"ìíì§í¥ììíì ì¤í API (ì£¼ë§ ë°ì¤ì¤í¼ì¤) 를 ì´ì©íì¬ ìíì ë³´ ì¬ì´í¸ë¥¼ ë§ë¤ì´ë³´ì. [ìíì§í¥ììí ì¤í API ë°ì¤ì¤í¼ì¤ ë°ë¡ê°ê¸°] (https://www.kobis.or.kr/) ë°ì¤ì¤í¼ì¤ UI 구í ê¸°ë¥ ì¤í API를 ì´ì©íì¬ Html, Jsp, Vue ë°©ìì¼ë¡ ë°ì¤ì¤í¼ì¤ 기ë¥ì ê°ê° 구íí´ë³¸ë¤. REST API ë¡ ìíì§í¥ì ìí ì¤íAPI ë°ì´í ì ë¬ (SpringBoot RestController) Thymeleaf Html ë°ì¤ì¤í¼ì¤ (SpringBoot + Thymeleaf) Jsp ë°ì¤ì¤í¼ì¤ (SpringBoot...","categories": ["vue","springboot"], 424 "tags": ["vue","springboot"], 425 "url": "/vue/springboot/bootvue-start-thymeleaf/", 426 "teaser": "/assets/images/post/vue/boot_start_03.png" 427 },{ 428 "title": "Jsp - ìí ì¤í API를 ì´ì©íì¬ ìíì ë³´ ì¬ì´í¸ ë§ë¤ê¸°", 429 "excerpt":"ìíì§í¥ììíì ì¤í API (ì£¼ë§ ë°ì¤ì¤í¼ì¤) 를 ì´ì©íì¬ ìíì ë³´ ì¬ì´í¸ë¥¼ ë§ë¤ì´ë³´ì. [ìíì§í¥ììí ì¤í API ë°ì¤ì¤í¼ì¤ ë°ë¡ê°ê¸°] (https://www.kobis.or.kr/) 구í ê¸°ë¥ ì¤í API를 ì´ì©íì¬ Html, Jsp, Vue ë°©ìì¼ë¡ ë°ì¤ì¤í¼ì¤ 기ë¥ì ê°ê° 구íí´ë³¸ë¤. REST API ë¡ ìíì§í¥ì ìí ì¤íAPI ë°ì´í ì ë¬ (SpringBoot RestController) Thymeleaf Html ë°ì¤ì¤í¼ì¤ (SpringBoot + Thymeleaf) Jsp ë°ì¤ì¤í¼ì¤ (SpringBoot + jsp)...","categories": ["vue","springboot"], 430 "tags": ["vue","springboot"], 431 "url": "/vue/springboot/bootvue-start-jsp/", 432 "teaser": "/assets/images/post/vue/boot_start_04.png" 433 },{ 434 "title": "Vue+JsonFile - ìí ì¤í API를 ì´ì©íì¬ ìíì ë³´ ì¬ì´í¸ ë§ë¤ê¸°", 435 "excerpt":"ìíì§í¥ììíì ì¤í API (ì£¼ë§ ë°ì¤ì¤í¼ì¤) 를 ì´ì©íì¬ ìíì ë³´ ì¬ì´í¸ë¥¼ ë§ë¤ì´ë³´ì. [ìíì§í¥ììí ì¤í API ë°ì¤ì¤í¼ì¤ ë°ë¡ê°ê¸°] (https://www.kobis.or.kr/) 구í ê¸°ë¥ ì¤í API를 ì´ì©íì¬ Html, Jsp, Vue ë°©ìì¼ë¡ ë°ì¤ì¤í¼ì¤ 기ë¥ì ê°ê° 구íí´ë³¸ë¤. Vueììì Ajax íµì ì´ ë¬¸ë²ê³¼ ì´ë¯¸ì§ì²ë¦¬ ë± í ë¨ê³ë¡ ì§íí기ì ë¬´ë¦¬ê° ìì´ Vue+JsonFile, Vue+RestAPI, Vue+RestAPI+JQuery ì¸ ë¨ê³ë¡ ë¶ë¦¬íì¬ ìì ì§í REST API...","categories": ["vue","springboot"], 436 "tags": ["vue","springboot"], 437 "url": "/vue/springboot/01-bootvue-start-vue1/", 438 "teaser": "/assets/images/post/vue/boot_start_02.png" 439 },{ 440 "title": "Vue+RestAPI - ìí ì¤í API를 ì´ì©íì¬ ìíì ë³´ ì¬ì´í¸ ë§ë¤ê¸°", 441 "excerpt":"ìíì§í¥ììíì ì¤í API (ì£¼ë§ ë°ì¤ì¤í¼ì¤) 를 ì´ì©íì¬ ìíì ë³´ ì¬ì´í¸ë¥¼ ë§ë¤ì´ë³´ì. [ìíì§í¥ììí ì¤í API ë°ì¤ì¤í¼ì¤ ë°ë¡ê°ê¸°] (https://www.kobis.or.kr/) 구í ê¸°ë¥ ì¤í API를 ì´ì©íì¬ Html, Jsp, Vue ë°©ìì¼ë¡ ë°ì¤ì¤í¼ì¤ 기ë¥ì ê°ê° 구íí´ë³¸ë¤. Vueììì Ajax íµì ì´ ë¬¸ë²ê³¼ ì´ë¯¸ì§ì²ë¦¬ ë± í ë¨ê³ë¡ ì§íí기ì ë¬´ë¦¬ê° ìì´ Vue+JsonFile, Vue+RestAPI, Vue+RestAPI+JQuery ì¸ ë¨ê³ë¡ ë¶ë¦¬íì¬ ìì ì§í REST API...","categories": ["vue","springboot"], 442 "tags": ["vue","springboot"], 443 "url": "/vue/springboot/02-bootvue-start-vue2/", 444 "teaser": "/assets/images/post/vue/boot_start_12.png" 445 },{ 446 "title": "Vue+RestAPI+JQuery - ìí ì¤í API를 ì´ì©íì¬ ìíì ë³´ ì¬ì´í¸ ë§ë¤ê¸°", 447 "excerpt":"ìíì§í¥ììíì ì¤í API (ì£¼ë§ ë°ì¤ì¤í¼ì¤) 를 ì´ì©íì¬ ìíì ë³´ ì¬ì´í¸ë¥¼ ë§ë¤ì´ë³´ì. [ìíì§í¥ììí ì¤í API ë°ì¤ì¤í¼ì¤ ë°ë¡ê°ê¸°] (https://www.kobis.or.kr/) 구í ê¸°ë¥ ì¤í API를 ì´ì©íì¬ Html, Jsp, Vue ë°©ìì¼ë¡ ë°ì¤ì¤í¼ì¤ 기ë¥ì ê°ê° 구íí´ë³¸ë¤. Vueììì Ajax íµì ì´ ë¬¸ë²ê³¼ ì´ë¯¸ì§ì²ë¦¬ ë± í ë¨ê³ë¡ ì§íí기ì ë¬´ë¦¬ê° ìì´ Vue+JsonFile, Vue+RestAPI, Vue+RestAPI+JQuery ì¸ ë¨ê³ë¡ ë¶ë¦¬íì¬ ìì ì§í REST API...","categories": ["vue","springboot"], 448 "tags": ["vue","springboot"], 449 "url": "/vue/springboot/03-bootvue-start-vue3/", 450 "teaser": "/assets/images/post/vue/boot_start_02.png" 451 },{ 452 "title": "Apache Tilesë¡ ë ì´ìì í í릿 ì¤ì íì¬ íë©´ 구ì±í기", 453 "excerpt":"Apache Tiles? ì¹íì´ì§ì Header, Aside, Footer ì ê°ì´ ë°ë³µì ì¼ë¡ ì¬ì©ëë ì½ë를 ë¶ë¦¬íì¬ ê´ë¦¬í´ì£¼ë íë ììí¬ë¡ íë©´ì ë°ë³µììì ë ì´ìì í í릿ì¼ë¡ ê´ë¦¬íë¯ë¡ ì¤ë³µ ì½ë를 ì¤ì¼ ì ìë¤. Jsp Include ì Tilesì ê³µíµì ë° ì°¨ì´ì ê³µíµì ëê¸°ë¥ ëª¨ë íë©´ì ê³µíµììì ë¶ë¦¬íì¬ ê´ë¦¬íë¯ë¡ ì¤ë³µ ì½ë를 ì¤ì¼ ì ìë¤. ì°¨ì´ì Jsp Include ë°©ìì ê° jsp íì´ì§ìì...","categories": ["spring"], 454 "tags": ["spring","tiles"], 455 "url": "/spring/spring-tiles/", 456 "teaser": "/assets/images/post/spring/tiles_detail02.png" 457 },{ 458 "title": "ì´í´ë¦½ì¤ìì Spring MVC íë¡ì í¸ ììí기", 459 "excerpt":"ì´í´ë¦½ì¤ìì Spring MVC íë¡ì í¸ ìì±íê³ ì¹ìì ì¤íí´ ë³´ì Spring MVC íë¡ì í¸ ìì± ë°©ë² case1) Spring Legacy Project í í릿ì¼ë¡ ë§ë¤ê¸° case2) DynamicWeb Project í í릿ì¼ë¡ ìì± í Spring 구조 ì§ì 구ì±í´ì ë§ë¤ê¸° case1) Spring Legacy Project í í릿ì¼ë¡ íë¡ì í¸ ìì±í기 1. íë¡ì í¸ ìì±í기 New Project > Spring Legacy Project > spring mvc project...","categories": ["spring"], 460 "tags": ["spring","springmvc"], 461 "url": "/spring/01-spring-legacy-project/", 462 "teaser": "/assets/images/post/spring/springmvc_03.png" 463 },{ 464 "title": "ì´í´ë¦½ì¤ìì Spring MVC íë¡ì í¸ DB ì¤ì í기", 465 "excerpt":"Spring MVC íë¡ì í¸ìì Spring + Mybatis + MySQL DBMS ì¡°í©ì¼ë¡ DBì 보를 ì¤ì íê³ ì¬ì©ì í ì´ë¸ (t_demo_user) ì ë°ì´í를 ì¡°ííë ê°ë¨í 기ë¥ì ë§ë¤ì´ ë³´ì. DB í ì´ë¸ : t_demo_user seq userId email userName statusCode loginYmd 1 user1 [email protected] 1ë² ì¬ì©ì 01 20200101 2 user2 [email protected] 2ë² ì¬ì©ì 01 20220202 3 user3 [email protected] 3ë²...","categories": ["spring"], 466 "tags": ["spring","mybatis"], 467 "url": "/spring/02-spring-legacy-project-dbconfig/", 468 "teaser": "/assets/images/post/spring/springmvc_22.png" 469 },{ 470 "title": " Spring MVC íë¡ì í¸ìì Spring Security 5.0.7를 ì´ì©í ì ê·¼ê¶í ê´ë¦¬í기", 471 "excerpt":"Spring Securityë ì¤íë§ ê¸°ë° ì´í리ì¼ì´ì ì ë³´ìê³¼ ì¸ì¦ì ë´ë¹íë íë ììí¬ë¡, Spring Security를 Filterì ì¶ê°íì¬ ëìí기 ë문ì Spring MVCì ë¶ë¦¬ëì´ ëìíë¤. ì´ ê¸ì Spring Security 5.0.7.RELEASE 를 기ë°ì¼ë¡ ì ê·¼ê¶íì ì¤ì íìì¼ë©°, ì´ì ë²ì (3.1.1)ì ì¤ì ì ì´ì ê¸ ë³´ê¸°ë¥¼ ì°¸ê³ íë¤. âSpring Securityë íì´ì§ë³ ì ê·¼ê¶íì ì¤ì íì¼ë¡ ê´ë¦¬íë©°, ëë í 리ë³ë¡ ëë ê°ë³ íì´ì§ë§ë¤ ê¶í ì¤ì ì´ ê°ë¥íë¤. ì¸ì¦ì ë°ë¥¸ ì ê·¼ê¶íì ìëì...","categories": ["java"], 472 "tags": ["spring","java","security"], 473 "url": "/java/spring-security-4.2/", 474 "teaser": "/assets/images/post/spring/login_02.png" 475 },{ 476 "title": "ì´í´ë¦½ì¤ìì Spring Boot íë¡ì í¸ ììí기", 477 "excerpt":"ì´í´ë¦½ì¤ìì Spring Starter Project를 ì´ì©íì¬ Spring Boot íë¡ì í¸ ìì±íê³ ì¹ìì ì¤íí´ ë³´ì. @ ê°ë°íê²½ Eclipse 2021-06 (4.20.0) + Spring Tools 4 Java 11 MySQL Maven 1. íë¡ì í¸ ìì±í기 + Spring Starter Project File > New Project > Spring Boot > Spring Starter Project + Project Name ë° Package ì¤ì +...","categories": ["springboot"], 478 "tags": ["springboot"], 479 "url": "/springboot/01-springboot-project/", 480 "teaser": "/assets/images/post/spring/boot_01.png" 481 },{ 482 "title": "ì´í´ë¦½ì¤ìì Spring Boot íë¡ì í¸ DB ì¤ì í기", 483 "excerpt":"Spring Boot íë¡ì í¸ìì Mybatis + MySQL ì¡°í©ì¼ë¡ DBì 보를 ì¤ì íê³ , ì¬ì©ì í ì´ë¸(t_demo_user)ì ë°ì´í를 ì¡°ííë ê°ë¨í 기ë¥ì ë§ë¤ì´ ë³´ì. Mybatisë ìë°ê°ì²´ì SQLì ìëë§µí 기ë¥ì ì ê³µíë ORM (Object Relational Mapping) íë ììí¬ì´ë©°, Mybatis-Spring ì°ë모ëì Mybatisì Springì ê°ë¨íê² ì°ëí´ì¤ë¤. DB í ì´ë¸ : t_demo_user seq userId email userName statusCode loginYmd 1 user1 [email protected] 1ë² ì¬ì©ì 01...","categories": ["springboot"], 484 "tags": ["springboot","mybatis"], 485 "url": "/springboot/02-springboot-project-dbconfig/", 486 "teaser": "/assets/images/post/spring/bootdb_00.png" 487 },{ 488 "title": "Spring Boot Batch?",
489 "excerpt":"ë°°ì¹ (Batch) ? ë§¤ì¼ ìë²½ ì ë ì ì¼ì¼ ë§¤ì¶ ì§ê³ ìì , ë°°ì¡ìë£ 7ì¼ ê²½ê³¼í 주문건ì ìë구매 íì ìì , 1ë ì´ì 미ì¬ì© íìì ëí í´ë©´ ì²ë¦¬ ìì ë± ë§¤ë¶, 매ì, ë§¤ì¼ ë±ì í¹ì ìê°ì í´ì¼íë ìì ì´ë, ëëì ë°ì´í°ë¥¼ ì²ë¦¬íë ê²ì Batch ë¼ê³ íë¤. ì¤íë§ë¶í¸ ë°°ì¹ ? ë°±ìëì ë°°ì¹ ê¸°ë¥ì ì ê³µíë íë ììí¬ ëì©ë ë°ì´í°...","categories": ["springboot"], 490 "tags": ["springboot","batch"], 491 "url": "/springboot/01-springboot-batch-01/", 492 "teaser": "/assets/images/post/spring/boot_batch_00.png" 493 },{ 494 "title": "Spring Boot Batch Next Step?", 495 "excerpt":"3ê°ì Stepì ê°ì§ Jobì Scheduledë¡ ì¤ííë ë°°ì¹ íë¡ì í¸ ë§¤ë¶ 10ì´ì ë¡ê·¸ë¥¼ ì¶ë ¥íë ê°ë¨í ë°°ì¹ìì (Job)ì ë§ë¤ê³ @Scheduled 를 ì´ì©íì¬ ë°°ì¹ìì ì¤íí기 ê°ë°íê²½ Spring Boot v2.7.8 Java 11.0.16.1 Apache Tomcat 9.0.71 1. íë¡ì í¸ ìì±í기 Spring Project ìì±í ë Spring Batch dependency를 ì ííê±°ë pom.xml ì dependency를 ì§ì ì¶ê°íë¤. 기존ì Spring Batch íë¡ì í¸ì Jobì...","categories": ["springboot"], 496 "tags": ["springboot","batch"], 497 "url": "/springboot/01-springboot-batch-02/", 498 "teaser": "/assets/images/post/spring/boot_batch2_00.png" 499 },{ 500 "title": "SpringBoot íê²½ìì Security를 ì´ì©í ì ê·¼ê¶í ê´ë¦¬í기", 501 "excerpt":"Spring Securityë ì¤íë§ ê¸°ë° ì´í리ì¼ì´ì ì ë³´ìê³¼ ì¸ì¦ì ë´ë¹íë íë ììí¬ë¡, ì¬ì©ì ì¸ì¦ ë° ë³´ì ì²ë¦¬ë¥¼ ê°ë¨íê² êµ¬íí ì ìë¤. ì´ ê¸ì SpringBoot 2.7.8 íê²½ìì ì ê·¼ê¶íì ì¤ì íìì¼ë©°, Spring MVC íê²½ì ì¤ì ì ì´ì ê¸ ë³´ê¸°ë¥¼ ì°¸ê³ íë¤. 1. ê°ë°íê²½ Eclipse 2021-06 (4.20.0) + Spring Tools 4 Java 1.11 SpringBoot 2.7.8 Spring 5.3.25 Tomcat 9.0 MySQL...","categories": ["java"], 502 "tags": ["springboot","java","security"], 503 "url": "/java/springboot-security/", 504 "teaser": "/assets/images/post/spring/springboot_security_01.png" 505 },{ 506 "title": "Spring Boot + Thymeleaf + Jquery ë¡ëë²í¸ ìì±ê¸°", 507 "excerpt":"6ê°ì ëë¤ ë²í¸ë¥¼ ë§ë¤ì´ 주ë ë¡ëë²í¸ ìì±ê¸° ëíë³µê¶ ì¬ì´í¸ì ë²í¸ë³ ë¹ì²¨íµê³ ë°ì´í를 ì´ì©í´ì ë¡ë ë²í¸6ê°ë¥¼ ìì±íì¬ ì¶ë ¥í´ 주ë API를 ë§ë¤ìëë°, Thymeleaf ì¬ì©ë²ì ìµí기 ìí ìì ë¡ UI를 íë ¤íê² êµ¬ì±í´ ë³´ìë¤. ìë¹ì¤ UI ìë¹ì¤ 구조 ê°ë°íê²½ Spring Boot v2.7.8 Java 11.0.16.1 Apache Tomcat 9.0.71 Thymeleaf 3.0.15 jquery 3.6.3 1. html íì¼ ìì±...","categories": ["springboot"], 508 "tags": ["springboot","ë¡ëë²í¸","jquery"], 509 "url": "/springboot/spring-lotto-thymeleaf/", 510 "teaser": "/assets/images/post/thymeleaf/lotto-service-10.png" 511 },{ 512 "title": "ë²í¸ë³ ë¹ì²¨íµê³ ë°ì´í를 ì´ì©í ë¡ëë²í¸ ìì±ê¸°", 513 "excerpt":"Lotto 6/45 6ê°ì ëë¤ ë²í¸ë¥¼ ë§ë¤ì´ 주ë ë¡ëë²í¸ ìì±ê¸° ëíë³µê¶ ì¬ì´í¸ì ë²í¸ë³ ë¹ì²¨íµê³ ë°ì´í를 ì´ì©í´ì ë¡ë ë²í¸6ê°ë¥¼ ìì±íì¬ ì¶ë ¥í´ 주ë API를 ë§ë¤ì´ë³´ì ì¬ê·í¨ì (= í¹ì ì¡°ê±´ì´ ë ëê¹ì§ ì기ìì ì ê³ì í¸ì¶íë í¨ì)를 ì´ì©íì¬ ë¡ë ë²í¸ ìì±ê¸°ë¥¼ ë§ë¤ì´ ë³´ì ë¡ëë²í¸ ìì±ê¸° ìê³ ë¦¬ì¦ ì를ë¤ì´ ê° ë²í¸ì ë¹ì²¨íìê° ìëì ê°ì ë ë¹ì²¨íìì ë°ë¼...","categories": ["springboot"], 514 "tags": ["springboot","ë¡ëë²í¸","ì¬ê·í¨ì"], 515 "url": "/springboot/spring-lotto/", 516 "teaser": "/assets/images/post/thymeleaf/lotto-generator3.gif" 517 },{ 518 "title": "SpringBootìì Thymeleafë¡ í í릿 ì¤ì íì¬ íë©´ 구ì±í기", 519 "excerpt":"Thymeleaf ? Thymeleafë ìë° ê¸°ë°ì View Template Engineì¼ë¡ htmlì ì ë¬íë ë°ì´íë¡ ëì ì¸ View를 ì ê³µíë¤. html í í릿ì html ìì²´ë¡ë ëìíê³ , 컨í¸ë¡¤ë¬ê° ì ë¬íë ë°ì´í를 ì´ì©íì¬ ëì ì¼ë¡ë íë©´ì 구ì±íë¤. Header, Footerì ê°ì´ ë°ë³µì ì¼ë¡ ì¬ì©ëë íë©´ì ê³µíµììì ë ì´ìì ì¤ì íì¼ë¡ ê´ë¦¬íì¬ ì¤ë³µ ì½ë를 ì¤ì¼ ì ìë¤. Thymeleaf ííì´ì§ : https://www.thymeleaf.org/ Apache Tilesê³¼ Thymeleafì ê³µíµì ë°...","categories": ["springboot"], 520 "tags": ["springboot","thymeleaf","layout"], 521 "url": "/springboot/springboot-thymeleaf-layout/", 522 "teaser": "/assets/images/post/thymeleaf/springboot-tiles-01.png" 523 },{ 524 "title": "SpringBoot Batch Monitoring System (1/3)", 525 "excerpt":"ë°°ì¹ ëª¨ëí°ë§ ìì¤í ë§ë¤ê¸° - 1ë¨ê³ ì¤íë§ë¶í¸ ë°°ì¹ ëª¨ëí°ë§ ìì¤í ì´ë? ì¤íë§ ë°°ì¹ë¥¼ ì¤ííë©´ ì¤íì ë³´ë¤ì´ ë©í ë°ì´í í ì´ë¸ì ì ì¥ëëë°, ë°°ì¹ë¥¼ ì¤íí ë¤ ë°ì´í를 ì¡°íí ì ìë íì¤ ê´ë¦¬ëêµ¬ê° ì기ì ë§¤ë² ë°ì´í를 ì¿¼ë¦¬ë¡ ì¡°í를 íë ¤ë ë¶í¸í기ë íê³ , ì¤íë§ë¶í¸ íê²½ìì ì¹ UI 기ë¥ë ìµí 겸 모ëí°ë§ ìì¤í ì ë§ë¤ì´ ë³´ìë¤. ì´ ì¤íë§ë¶í¸ 모ëí°ë§...","categories": ["springboot"], 526 "tags": ["springboot","monitoring","batch","thymeleaf"], 527 "url": "/springboot/01-springboot-monitoring-01/", 528 "teaser": "/assets/images/post/spring/boot_batch_24.png" 529 },{ 530 "title": "SpringBoot Batch Monitoring System (2/3)", 531 "excerpt":"ë°°ì¹ ëª¨ëí°ë§ ìì¤í ë§ë¤ê¸° - 2ë¨ê³ ë°°ì¹ìì± 1ë¨ê³ 기본íê²½ ì¤ì íë¡ì í¸ ìì± ê¸ë³´ê¸° Application properties ì¤ì Thymeleaf ì¤ì welcome íì´ì§ ìì± â¶ 2ë¨ê³ ë°°ì¹ ìì± ë°°ì¹ ë©í í ì´ë¸ ìì± ê¸ë³´ê¸° ë°°ì¹ í´ëì¤ ìì± ë°°ì¹ ì¤í ì¤ì¼ì¤ë¬ ìì± 3ë¨ê³ 모ëí°ë§ UI ìì± Controller í´ëì¤ ìì± ê¸ë³´ê¸° Service í´ëì¤ ìì± Mapper í´ëì¤...","categories": ["springboot"], 532 "tags": ["springboot","monitoring","batch","thymeleaf"], 533 "url": "/springboot/01-springboot-monitoring-02/", 534 "teaser": "/assets/images/post/spring/boot_monitoring_02.png" 535 },{ 536 "title": "SpringBoot Batch Monitoring System (3/3)", 537 "excerpt":"ë°°ì¹ ëª¨ëí°ë§ ìì¤í ë§ë¤ê¸° - 3ë¨ê³ 모ëí°ë§ UI ìì± 1ë¨ê³ 기본íê²½ ì¤ì íë¡ì í¸ ìì± ê¸ë³´ê¸° Application properties ì¤ì Thymeleaf ì¤ì welcome íì´ì§ ìì± 2ë¨ê³ ë°°ì¹ ìì± ë°°ì¹ ë©í í ì´ë¸ ìì± ê¸ë³´ê¸° ë°°ì¹ í´ëì¤ ìì± ë°°ì¹ ì¤í ì¤ì¼ì¤ë¬ ìì± â¶ 3ë¨ê³ 모ëí°ë§ UI ìì± Controller í´ëì¤ ìì± ê¸ë³´ê¸° Service í´ëì¤ ìì±...","categories": ["springboot"], 538 "tags": ["springboot","monitoring","batch","thymeleaf"], 539 "url": "/springboot/01-springboot-monitoring-03/", 540 "teaser": "/assets/images/post/spring/boot_monitoring_01.png" 541 },{ 542 "title": "ë¼ì´ì ê²ìì¦ì ì¤íAPI를 ì´ì©í 롤 ì ì ê²ì ì¬ì´í¸ ë§ë¤ê¸° (1/2)", 543 "excerpt":"íë¡ì í¸ ì§í ë기 ? ê³µë¶ë ì ë í´ìë 모ë ë²ë¦¬ê³ , 롤ìë§ ì¬ì¸íë ìë¤ì ê°ì ë° ì·¨ë¯¸ 목ì ì íë¡ì í¸ ë¼ì´ì ê²ìì¦ì ì¤í API를 ì´ì©í op.gg ë lol.ps ê°ì 롤 ì ì ê²ì ë° ë¶ì ì¬ì´í¸ê¹ì§ë ìëê³ , ê²ìì ì¹í¨ê° ê·¸ë ì 컨ëì ì ì¢ì°íë ê²ìë¬ì 주ë³ì¸ì ìí´ ê²ì ì§íìí© ë° ì¹í¨ ì¬ë¶ë§ íì¸í ì ìë ê°ë¨í...","categories": ["springboot"], 544 "tags": ["springboot","thymeleaf","bootstrap"], 545 "url": "/springboot/riot-api-of-lol1/", 546 "teaser": "/assets/images/post/riot/lol_01.png" 547 },{ 548 "title": "ë¼ì´ì ê²ìì¦ì ì¤íAPI를 ì´ì©í 롤 ì ì ê²ì ì¬ì´í¸ ë§ë¤ê¸° (2/2)", 549 "excerpt":"UI êµ¬ì± ë° êµ¬í ê¸°ë¥ ìíì¬ëª ì¼ë¡ ê²ìí´ì puuid, íë¡íìì´ì½, ë 벨 ë± ì ë³´ ì¡°ííë¤. ì¡°í í puuidë¡ ë§¤ì¹ ëª©ë¡ ë° ëí¬ì 보를 ì¡°ííë¤. ìë¹ì¤ 구ì±ë ìíì¬ ì ë³´ Riot API ìíì¬ ì ë³´ ì¡°í API /summoner-v4/getBySummonerName ê¸°ë¥ êµ¬íì íìí í´ëì¤ëª , ë³ì ë±ì ìíë¡ ì ê³µ @ìíì¬ì ë³´ ì±ê³µ ë°í ì { \"id\": \"t3NZih8VVi3WRSEvB_41RGMvP3D23g3L0MtddktfFiI96Q\", \"accountId\": \"ceduA2tauQCaMeWbgpjb8EkZDkze_7RCHjV1IITqHp-p\", \"puuid\":...","categories": ["springboot"], 550 "tags": ["springboot","thymeleaf","bootstrap"], 551 "url": "/springboot/riot-api-of-lol2/", 552 "teaser": "/assets/images/post/riot/lol_23.png" 553 },{ 554 "title": "ë°ì´íì ë°ì´í ë¶ì íë¡ê·¸ë¨", 555 "excerpt":"ë°ì´í°ë ? ì´ë¡ ì ì립íëë° ê¸°ì´ê° ëë ì¬ì¤ ëë ë°íì´ ëë ìë£ì´ë¤. ë°ì´í°ë ê´ì°°, ì¤í, ì¡°ì¬ë¡ ì»ì ê°ê´ì ì¸ ì¬ì¤ì´ë ìë£ë¥¼ ì미íë©° ì»´í¨í°ììë ì»´í¨í°ê° ì²ë¦¬í ì ìë 문ì, ì«ì, ì리, ì´ë¯¸ì§ì ííë¡ ë ìë£ë¥¼ ì미íë¤. ë°ì´í°ë âì ë³´âê° ìë âìë£â ì´ë©°, ìì 를 ê°ê³µíì¬ ì¼ììíìì ë¤ìí ííë¡ ì¬ì©íë¯ ë°ì´í° ìì ì ì íê² ê°ê³µëì´ ì ë³´ë¡ì ìí ì...","categories": ["data"], 556 "tags": ["data","dikw","r","phython"], 557 "url": "/data/data-program/", 558 "teaser": "/assets/images/post/data/data-program-dikw.png" 559 },{ 560 "title": "ë°ì´í ë¶ì íë¡ê·¸ë¨ Rê³¼ RStudio", 561 "excerpt":"R? Rì íµê³/ë°ì´í° ë§ì´ë ë° ê·¸ëí를 ìí ì¸ì´ì´ë¤. Rì ì¤íìì¤ íë¡ì í¸ë¡ ì§íëê³ ìì¼ë©°, íµê³ íë¡ê·¸ëë° ì¸ì´ì¸ S를 기ë°ì¼ë¡ ë§ë¤ì´ì¡ë¤. ì´ì ìë ì£¼ë¡ ì°êµ¬ ë° ì°ì ìì© íë¡ê·¸ë¨ì¼ë¡ ë§ì´ ì¬ì©ëë¤ê° ìµê·¼ì 기ì ë¤ì´ ë§ì´ ì¬ì©í기 ììíë©´ì ë¹ ë°ì´í° ë¶ìì ë리 ì¬ì©ëê³ ìë¤. Rì í¹ì§ ë° ì¥ì 무ë£ì´ë©° ë§ì ì¬ì©ìì ë°©ëí ìë£ ë°°ì°ê¸° ì½ê³ ë°ì´í° ì¡°ì...","categories": ["data"], 562 "tags": ["data","dikw","r","phython"], 563 "url": "/data/data-program-r/", 564 "teaser": "/assets/images/post/data/data-program-r7.png" 565 },{ 566 "title": "Rì ì´ì©í íµê³ë¶ì - Rì ë°ì´í° ì í", 567 "excerpt":"Rì ë°ì´í°ì ì í ë³ìí : ì«ìí, 문ìí, ë ¼ë¦¬í 구조í : 벡í°, ì¤ì¹¼ë¼, íë ¬, ë°°ì´, 리ì¤í¸, ë°ì´í°íë ì 1. ë³ìí ë°ì´í°ì í ë¹ # a ë³ìì ì«ì 3ì í ë¹ a <- 3 2. ë°ì´í°ì ì¬ì¹ì°ì° ì¬ì¹ì°ì° ì¢ ë¥ : +, -, x, ÷ 3. ë°ì´í°ì ë¹êµì°ì° >, >=, <, <= R 구조í ë°ì´í° ìë£êµ¬ì¡°ì¸...","categories": ["data"], 568 "tags": ["data","dikw","r","phython"], 569 "url": "/data/data-r01-data/", 570 "teaser": "/assets/images/post/data/data-program-r01-06.png" 571 },{ 572 "title": "Rì ì´ì©í íµê³ë¶ì - Rì í¨í¤ì§", 573 "excerpt":"R íë¡ê·¸ë¨ì ì¤ì¹íë©´ base, datasets, graphics ë± ê¸°ë³¸ í¨í¤ì§ê° ìë ì¤
573ì¹ëê³ , ë©ëª¨ë¦¬ì ë¡ë©ëì´ ë³ëì ìì ìì´ ë°ë¡ ì¬ì©í ì ìë¤. ì´ì¸ì íìí í¨ìë í¨í¤ì§ ë¨ìë¡ ì§ì ì¤ì¹íì¬ ì¬ì©í ì ìëë¡ ì¤ì¹ ë° ìì 기ë¥ì ì ê³µíë¤. 1. Rì ì¤ì¹ë í¨í¤ì§ íì¸ RStudio ì¤ë¥¸ìª½ íë¨ì°½ì í¨í¤ì§ì°½ìì ì¤ì¹ ë í¨í¤ì§ 목ë¡ì íì¸í ì...","categories": ["data"], 574 "tags": ["data","dikw","r","phython"], 575 "url": "/data/data-r02-package/", 576 "teaser": "/assets/images/post/data/data-r02-44.png" 577 },{ 578 "title": "ë°ì´í ë¶ì íë¡ê·¸ë¨ íì´ì¬", 579 "excerpt":"íì´ì¬? íì´ì¬ì ì¸í°í리í°ë¥¼ ì¬ì©íë ê°ì²´ì§í¥ ì¸ì´ì´ì íë«í¼ì ë 립ì ì¸ ëì íì´í ëíí ì¸ì´ë¡ ê°ê²°íê³ ì½ê¸° ì¬ì´ 문ë²ì¼ë¡ ë°ì´í° ë¶ì, ì¹ê°ë°, ì¸ê³µì§ë¥ ë± ë¤ì ë¶ì¼ìì íì©ëë¤. íì´ì¬ 문ë²ì í¹ì§ì ë¸ë¡ 구조ì { } ìë ë¤ì¬ì°ê¸°ë¥¼ ì´ì©íë¤. int, float, string, bytes, boolean, list, set ë±ì ìë£íì ì ê³µíë¤. if, for, while ë±ì ì ì´êµ¬ë¬¸ì ì ê³µíë¤....","categories": ["data"], 580 "tags": ["data","phython"], 581 "url": "/data/data-program-python/", 582 "teaser": "/assets/images/post/data/data-program-phy-01.png" 583 },{ 584 "title": "íì´ì¬ì ë°ì´í° ì íê³¼ 기본문ë²", 585 "excerpt":"íì´ì¬ì ìë£í ìë£í ìë£í ìì ì¤ëª ì«ìì ì int 0, 1, 10, -20 ììì ì, 0, ììì ì ì«ìì¤ì float 0.2, 3.14. -35.012 ë¶ëììì ì 문ìì´ str âhelloâ, âìë íì¸ìâ í ì¤í¸ë¥¼ ë¤ë£¨ë ìë£íì¼ë¡ â ë âì ìì¼ë¡ íí ë°ì´í¸ bytes bytes([119,115,107,105]) - ë ¼ë¦¬í boolean True, False - 리ì¤í¸ list [1, âí길ëâ, â[email protected]â, 32] ë°ì´í°ì 목ë¡ì...","categories": ["data"], 586 "tags": ["data","phython"], 587 "url": "/data/data-program-python02/", 588 "teaser": "/assets/images/post/data/data-program-phy-21.png" 589 },{ 590 "title": "Firebase ì¹ì¬ì´í¸ ë§ë¤ê¸°", 591 "excerpt":"Google Firebase êµ¬ê¸ íì´ì´ë² ì´ì¤ (Google Firebase) ë ì¹, ìëë¡ì´ë, ìì´í° ì± ê°ë°ì를 ìí 모ë°ì¼ ì±ê°ë° íë«í¼ ê°ë°ììê² ì± ê°ë°ìì²´ìë§ ì§ì¤íëë¡ í¸ì¤í , ì¸ì¦, ë°ì´íë² ì´ì¤, ì¤ì , ë©ì¸ì§ ë±ì ìë¹ì¤ë¥¼ ì ê³µ Firebase Project íë¡ì í¸ ë° ì í구ì±ê³¼ ê´ë¦¬ë Firebase Console ì´ë Firebase CLI 를 íµí´ í ì ìë¤. Firebase Consoleì ì í, ì±, íë¡ì í¸ ìì¤ì...","categories": ["firebase"], 592 "tags": ["firebase","google","cloud"], 593 "url": "/firebase/google-firebase-01/", 594 "teaser": "/assets/images/post/cloud/firebase-01-01.png" 595 },{ 596 "title": "Firebase ì¹ì¬ì´í¸ì Bootstrap ì ì©í기", 597 "excerpt":"Bootstrap ë¶í¸ì¤í¸ë© (Bootstrap)ì í¸ìí°ìì ììë ì¤íìì¤ íë¡ í¸ìë íë ììí¬ ê°ì¢ ë ì´ìì, ë²í¼, ì ë ¥ì°½ ë±ì ëìì¸ê³¼ 기ë¥ì cssì javascriptë¡ ë§ë¤ì´ ëì íë¡ í¸ìë í´í· PC, 모ë°ì¼ì© ëìì¸ì ë°ìíì¼ë¡ ì§ìíì¬ ëìì¸ ìììê° ë¨ì¶ ì¤íìì¤ë¡ ì¬ë°°í¬ì ìì ë¡ì°ë©°, ë¬´ë£ í í릿ë ë§ì ê°ë¨í ì¹ìë¹ì¤ ê°ë°ì ì©ì´ 1. bootstap í ë§ ë¤ì´ë¡ë í ë§ ì ê³µ ì¬ì´í¸1 https://startbootstrap.com ë°ë¡ê°ê¸°ì ì ìíì¬ ìíë...","categories": ["firebase"], 598 "tags": ["firebase","google","cloud"], 599 "url": "/firebase/google-firebase-02/", 600 "teaser": "/assets/images/post/cloud/firebase-01-06.png" 601 },{ 602 "title": "Java Springboot ì¹íë¡ì í¸ì Google Cloud Run ìë¹ì¤ 1/4 (ê°ì)", 603 "excerpt":"êµ¬ê¸ í´ë¼ì°ë? êµ¬ê¸ í´ë¼ì°ë(Google Cloud)ë êµ¬ê¸ ì¸íë¼(ì»´í¨í , ì¤í 리ì§, ë¤í¸ìí¹, ë°ì´í°ë¶ì, 머ì ë¬ë)를 ìë¹ì¤ ííë¡ ì ê³µíì¬ ì¹ì¬ì´í¸ë ì±ì ê°ë°í ë ìë¹ì¤ë¥¼ ì¡°í©íì¬ ì¸íë¼ë¥¼ 구ì±íê³ , ì½ëì ë¹ëê³¼ì ì ê±°ì³ ê³ ê°ìê² ìë¹ì¤ë¥¼ ì ê³µí ì ìëë¡ êµ¬ê¸ìì ì ê³µíë í´ë¼ì°ë ì»´í¨í ìë¹ì¤ ì í êµ¬ê¸ í´ë¼ì°ëë ì¸íë¼ êµ¬ì±, ë°ì´í° ë¶ì, 머ì ë¬ëì íì©í ìíí¸ì¨ì´ ë¹ëì íì© ë°±ì¤ë ë° ìë²...","categories": ["google"], 604 "tags": ["google","cloud","run"], 605 "url": "/google/google-run-01/", 606 "teaser": "/assets/images/post/cloud/googlerun-01-01.png" 607 },{ 608 "title": "Java Springboot ì¹íë¡ì í¸ì Google Cloud Run ìë¹ì¤ 2/4 (íê²½ì¤ì )", 609 "excerpt":"@ Onda2Me Google Cloud Project 구조 1. Google Cloud Project ì í ëë ì
609ì± í´ë¼ì°ë ì½ì> íë¡ì í¸ ìì± Cloud Project ë°ë¡ê°ê¸° 2. Cloud Project ê²°ì ì¬ì©ì¤ì í´ë¼ì°ë ì½ì> ê´ë¦¬> ê²°ì ê²°ì ì¬ì©ì¤ì ë°ë¡ê°ê¸° ê²°ì ê³ì ì ì°ê²°ë íë¡ì í¸ 3. Google Cloud CLI ì¤ì¹ Cloud CLI íë¡ê·¸ë¨ ë¤ì´ë¡ë í ì¤ì¹ ë¤ì´ë¡ë ë°ë¡ê°ê¸° 4....","categories": ["google"], 610 "tags": ["google","cloud","run"], 611 "url": "/google/google-run-10/", 612 "teaser": "/assets/images/post/cloud/googlerun-10-01.png" 613 },{ 614 "title": "Java Springboot ì¹íë¡ì í¸ì Google Cloud Run ìë¹ì¤ 3/4 (Springboot íë¡ì í¸ ê°ë°)", 615 "excerpt":"Springboot + Google Cloud Project 1. Google Cloud Project ë°°í¬ ê°ë¨í Springboot ì í리ì¼ì´ì ì ë§ë¤ê³ , 컨í ì´ë ì´ë¯¸ì§ì í¨í¤ì§íê³ , 컨í ì´ë ì´ë¯¸ì§ë¥¼ Artifact Registryì ì ë¡ëíê³ , Cloud Runì ë°°í¬íë¤. 2. Springboot ì í리ì¼ì´ì ìì±ë°©ë² ì´í´ë¦½ì¤ìì Spring Starter Project를 ì´ì©íì¬ Spring Boot íë¡ì í¸ ìì± Curl ëª ë ¹ì´ë¥¼ ì´ì©í´ ìí ì í리ì¼ì´ì ì ë¤ì´ë¡ë 3. Java ì í리ì¼ì´ì ì Cloud Run ë°°í¬...","categories": ["google"], 616 "tags": ["google","cloud","run"], 617 "url": "/google/google-run-20/", 618 "teaser": "/assets/images/post/cloud/googlerun-20-01.png" 619 },{ 620 "title": "Java Springboot ì¹íë¡ì í¸ì Google Cloud Run ìë¹ì¤ 4/4 (Cloud Run ë¹ë ë° ë°°í¬)", 621 "excerpt":"Springboot + Google Cloud Project 1. Java ì í리ì¼ì´ì ì Cloud Run ë°°í¬ ê³¼ì 2. onda2me java ê°ë°íê²½ Eclipse 2021-06 (4.20.0) + Spring Tools 4 Java 11 MySQL Maven ë¡ì»¬ ë¹ë ë° ë°°í¬ 1. Springboot ë°°í¬ì© jar íì¼ ìì± pom.xml íì¼ jar ì¤ì ì¶ê° <project xmlns=\"http://maven.apache.org/POM/4.0.0\" xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"> <groupId>com.onda2me.app</groupId> <artifactId>onda2meapi</artifactId> <version>0.1.1-SNAPSHOT</version>...","categories": ["google"], 622 "tags": ["google","cloud","run"], 623 "url": "/google/google-run-30/", 624 "teaser": "/assets/images/post/cloud/googlerun-30-01.png" 625 },{ 626 "title": "Onda2Me Front(Firebase) + Back(Cloud Run) íµí© ì¹ìë¹ì¤ 구ì¶", 627 "excerpt":"1. êµ¬ê¸ í´ë¼ì°ë? êµ¬ê¸ í´ë¼ì°ë(Google Cloud) ë êµ¬ê¸ ì¸íë¼(ì»´í¨í , ì¤í 리ì§, ë¤í¸ìí¹, ë°ì´í°ë¶ì, 머ì ë¬ë)를 ìë¹ì¤ ííë¡ ì ê³µíì¬ ì¹ì¬ì´í¸ë ì±ì ê°ë°í ë ìë¹ì¤ë¥¼ ì¡°í©íì¬ ì¸íë¼ë¥¼ 구ì±íê³ , ì½ëì ë¹ëê³¼ì ì ê±°ì³ ê³ ê°ìê² ìë¹ì¤ë¥¼ ì ê³µí ì ìëë¡ ê°ë°ììê² êµ¬ê¸ìì ì ê³µíë í´ë¼ì°ë ì»´í¨í ìë¹ì¤ ì íì¼ë¡ ì¹/ì± ì í리ì¼ì´ì ì 기íí ë ë³ëì ìë² êµ¬ì¶ìì´ ë¬´ë£ ëë ì ë£ë¡ 구ê¸...","categories": ["google"], 628 "tags": ["google","firebase","cloudrun"], 629 "url": "/google/gcloud-complex/", 630 "teaser": "/assets/images/post/cloud/complex-01.png" 631 },{ 632 "title": "êµ¬ê¸ Text To Speech API를 íì©í TTS ìë¹ì¤ 구ì¶", 633 "excerpt":"êµ¬ê¸ Text to Speech API(TTS: í ì¤í¸ ìì± ë³í) ë í ì¤í¸ë¥¼ ì¬ëì²ë¼ ì½ì´ì£¼ë ìì± í©ì± APIë¡ Google AI 기ì ì 기ë°ì¼ë¡ ê¸ì를 ìì±(Text -> Speech)ì¼ë¡ ë³ííë ìë¹ì¤ì´ë¤. 1. 기본 ê°ë 구ê¸ì Text-to-Speechë í ì¤í¸ ëë ìì± í©ì± ë§í¬ì ì¸ì´(SSML) ì ë ¥ì MP3 ëë LINEAR16(WAV íì¼ìì ì¬ì©ëë ì¸ì½ë©)ê³¼ ê°ì ì
633¤ëì¤ ë°ì´í°ë¡ ë³ííë©°, WaveNetì´ë¼ë ê³ ê¸ ë¥ë¬ë...","categories": ["google"], 634 "tags": ["google","api","tts"], 635 "url": "/google/google-api-tts/", 636 "teaser": "/assets/images/post/cloud/speech-01.png" 637 },{ 638 "title": "ë¬´ë£ ë°ì´í ìê°í ì°¨í¸ì¸ Looker Studio를 ì´ì©í 리í¬í¸ ë§ë¤ê¸°", 639 "excerpt":"Google Looker Studioë ë°ì´í° ìê°í ë° ë¦¬í¬í¸ ìì±ì ìí ë¬´ë£ BI(Business Intelligence) ë구ë¡, ë¤ìí ë°ì´í° ìì¤ë¥¼ ì°ê²°íì¬ ëìë³´ëì 리í¬í¸ë¥¼ ë§ë¤ ì ìë¤. ì½ë© ìì´ë ìê°ì ì¼ë¡ ë°ì´í°ë¥¼ ë¶ìíê³ ê³µì í ì ìì´, ë§ì¼í , ìì , ì´ì ë± ë¹ê°ë°ìë ì½ê² ì¬ì©í ì ìë¤. 1. 주ì ê¸°ë¥ ê¸°ë¥ ì¤ëª ë°ì´í° ìê°í ë§ë ê·¸ëí, ì ê·¸ëí,...","categories": ["google"], 640 "tags": ["google","looker studio","chart","무ë£ì°¨í¸"], 641 "url": "/google/google-lookerstudio-01/", 642 "teaser": "/assets/images/post/cloud/looker01-00.png" 643 },{ 644 "title": "êµ¬ê¸ ìí¸ë¡ ì¹ìì ê³µì ê°ë¥í ë¬´ë£ ë°ì´í ìê°í 리í¬í¸ ë§ë¤ê¸°", 645 "excerpt":"êµ¬ê¸ Sheets(Google Sheets)ë 구ê¸ìì ì ê³µíë ì¹ ê¸°ë°ì ì¤íë ëìí¸ ì í리ì¼ì´ì ì¼ë¡ ë§ì´í¬ë¡ìíí¸ì ìì (Microsoft Excel)ê³¼ ì ì¬í 기ë¥ì ê°ê³ ìì§ë§, í´ë¼ì°ë 기ë°ì¼ë¡ ì¸í°ë·ì¼ë¡ ì´ëìë ì ìì´ ê°ë¥íë©° ìë ì ì¥ ê¸°ë¥ì¼ë¡ ìì ì¤ ë°ì´í° ìì¤ì ë°©ì§íë¤. 1. 주ì ê¸°ë¥ 1) í´ë¼ì°ë ê¸°ë° Google Driveì ì ì¥ëë©°, ì¸í°ë·ì¼ë¡ ì´ëìë ì ì ê°ë¥ ìë ì ì¥ ê¸°ë¥ì¼ë¡ ìì ì¤ ë°ì´í° ìì¤...","categories": ["google"], 646 "tags": ["google","sheets","chart","무ë£ì°¨í¸"], 647 "url": "/google/google-sheets-01/", 648 "teaser": "/assets/images/post/cloud/sheets-00.png" 649 },{ 650 "title": "êµ¬ê¸ Cloud Translationì ì´ì©í ì¸ì´ë²ì ìë¹ì¤ ê°ë°",
651 "excerpt":"êµ¬ê¸ ë²ì(Google Translate) APIë Google Cloud íë«í¼ìì ì ê³µíë ìë¹ì¤ ì¤ íëë¡, í ì¤í¸ë¥¼ í ì¸ì´ìì ë¤ë¥¸ ì¸ì´ë¡ ë²ìíë 기ë¥ì ì ê³µíë¤. 1. Google ë²ì APIì 주ì ê¸°ë¥ 100ê° ì´ìì ì¸ì´ê° í ì¤í¸ ë²ì ì ë ¥í í ì¤í¸ì ìëì¼ë¡ ì¸ì´ ê°ì§ ì ê·íë JSON ìëµ 2. ê°ë¨í ì¸ì´ë²ì ìë¹ì¤ ê°ë° 1) Google Cloud Translation API ì¬ì© ì¤ë¹...","categories": ["google"], 652 "tags": ["google","api","translation"], 653 "url": "/google/google-api-translate/", 654 "teaser": "/assets/images/post/cloud/translate01-00.png" 655 },{ 656 "title": "êµ¬ê¸ Cloud Translationì ì´ì©í ì¸ì´ë²ì ìë¹ì¤ ê°ë° (ì±í í)", 657 "excerpt":"êµ¬ê¸ ë²ì(Google Translate) APIë Google Cloud íë«í¼ìì ì ê³µíë ìë¹ì¤ ì¤ íëë¡, í ì¤í¸ë¥¼ í ì¸ì´ìì ë¤ë¥¸ ì¸ì´ë¡ ë²ìíë 기ë¥ì ì ê³µíë¤. 1. Google ë²ì APIì 주ì ê¸°ë¥ 100ê° ì´ìì ì¸ì´ê° í ì¤í¸ ë²ì ì ë ¥í í ì¤í¸ì ìëì¼ë¡ ì¸ì´ ê°ì§ ì ê·íë JSON ìëµ 2. ì±í í ë²ì ìë¹ì¤ ê°ë° ê°ë¨í ë²ììë¹ì¤ë êµ¬ê¸ Cloud Translationì ì´ì©í ì¸ì´ë²ì...","categories": ["google"], 658 "tags": ["google","api","translation"], 659 "url": "/google/google-api-translate-chat/", 660 "teaser": "/assets/images/post/cloud/translate02-30.png" 661 },{ 662 "title": "êµ¬ê¸ íì´ì´ë² ì´ì¤ Authenticationì¼ë¡ ì¬ì©ì ì¸ì¦í기", 663 "excerpt":"Firebase Authenticationì 모ë°ì¼ ë° ì¹ ì í리ì¼ì´ì ì ì¬ì©ì ì¸ì¦ 기ë¥ì ì½ê² ì¶ê°í ì ìëë¡ ëë ë°±ìë ìë¹ì¤ë¡ ê°ë°ìê° ì§ì ì¬ì©ì ì¸ì¦ìì¤í ì 구ì¶íê³ ì ì§ë³´ìíë ë³µì¡ì±ì ì¤ì´ê³ , ìì í ì¸ì¦ 기ë¥ì ì ê³µíë¤. 1. Firebase Authenticationì 주ì ê¸°ë¥ ë¤ìí ì¸ì¦ë°©ë² ì§ì ì´ë©ì¼/ë¹ë°ë²í¸ ìì ë¡ê·¸ì¸ ì íë²í¸ ì¸ì¦ ìµëª ì¸ì¦ ê°í¸í íµí© Android, iOS, Web, C++, Unity...","categories": ["google"], 664 "tags": ["google","api","translation"], 665 "url": "/google/google-firebase-auth/", 666 "teaser": "/assets/images/post/cloud/firebase-auth-19.png" 667 },{ 668 "title": "êµ¬ê¸ í´ë¼ì°ë Vision API를 ì´ì©í ì´ë¯¸ì§ë¶ì ìë¹ì¤ 구ì¶", 669 "excerpt":"ì»´í¨í° ë¹ì (Computer Vision)ì ì»´í¨í°ê° ì¸ê°ì ìê° ìì¤í ì²ë¼ ëì§í¸ ì´ë¯¸ì§ë ë¹ëì¤ ë± ìê°ì ë°ì´í°ë¥¼ ì¸ìíê³ ì²ë¦¬íë©°, ê·¸ë¡ë¶í° ì미 ìë ì 보를 ì¶ì¶íê³ ì´í´íë ì¸ê³µì§ë¥(AI)ì í ë¶ì¼ë¡ 기ê³ì âë³´ë ë¥ë ¥âì ë¶ì¬íê³ , 본 ê²ì âì´í´âíê² ë§ëë 기ì ì´ë¤. êµ¬ê¸ í´ë¼ì°ë ë¹ì (Google Cloud Vision)ë GCP(Google Cloud Platform)ìì ì ê³µíë ì¬ì íìµë 머ì ë¬ë í´ë¼ì°ë ìë¹ì¤ë¡ ê°ë°ìê° ë³µì¡í ì»´í¨í°...","categories": ["google"], 670 "tags": ["google","api","translation"], 671 "url": "/google/google-vision-api/", 672 "teaser": "/assets/images/post/cloud/vision-api-01.png" 673 },{ 674 "title": "Google Gemini를 íì©í ëª ë ¹ í롬íí¸í AI íë¡ì í¸ ", 675 "excerpt":"1. Vertex AIì Gemini Vertex AIë Google Cloudìì ì ê³µíë íµí© 머ì ë¬ë íë«í¼ì¼ë¡, AI 모ë¸ì ê°ë°, íìµ, ë°°í¬, ê´ë¦¬ê¹ì§ ì ì²´ ìí¬íë¡ì°ë¥¼ í ë²ì ì²ë¦¬í ì ìê² ëì주ë ìë¹ì¤ë¡ ìì±í AI ì í리ì¼ì´ì ì ë¹ëíê³ ë°°í¬í기 ìí ê¸°ë¥ ë° ìë¹ì¤ë¥¼ ì ê³µíë¤. Geminië Vertex AIìì ì¬ì©í ì ìë í¹ì AI 모ë¸ë¡ ê°ë°ìë Gemini API를 í¸ì¶íì¬...","categories": ["google"], 676 "tags": ["google","ai","gemini"], 677 "url": "/google/google-api-gemini-text/", 678 "teaser": "/assets/images/post/cloud/gemini-text-01.png" 679 }]
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.