fkdltmxlr3의 등록된 링크

 fkdltmxlr3로 등록된 네이버 블로그 포스트 수는 191건입니다.

[코타키나발루] 3일차_1 - 하얏트 센트릭 코타 수영장, 유잇청, 이마고몰 쇼핑, 기념품 추천 [내부링크]

벌써 3일차다. 안돼... 3일차의 일정은 다음과 같았다. 아침 - 호텔 수영장 이용 점심 - 유잇청, 이마고몰 쇼핑 저녁 - 탄중아루 선셋, 마사지 일정만 보면 되게 여유롭게 짠거같은데, 보내보니 엄청 알차게 놀았다. 어제 3시간밖에 안잤기 때문에, 오늘은 여유롭게 늦잠도 자고~ 조식먹고 호텔에서 놀자고 했다!! 일어나보니 9시 반이었고, 고양이 세수만 하고 모자쓰고 조식 먹으러 갔다. 오늘도 오션뷰쪽 창가는 사람이 꽉차서 윽 이런 했지만, 그래도 야외는 자리가 있어서 야외에 앉아서 먹었다. 습하고 더웠지만 먹다보니 익숙해졌다 ㅋㅋㅋ 롤이 제일 맛있어서 3개씩 가져오고ㅋㅋㅋㅋ 계란, 베이컨 이런거 위주로 먹었다. 어제 투어한 섬들이 보이고, 보트도 분주하게 움직이는 거 보니 오 우리도 어제 봤을 때 저렇게 움직였겠구나~ 했다. 밥먹고 숙소가서 샤워하고, 수영복으로 갈아입고 수영장으로 갔다. 생각보다 사람은 많이 없었고, 점심시간에 가면 사람 다 빠진다!! 양쪽으로 오션뷰, 힐뷰 있

[코타키나발루] 3일차_2 - 탄중아루 해변 선셋, 쌍천씨푸드 솔직 후기 및 할인 쿠폰 (10%), 쟈스민 마사지 후기 [내부링크]

이마고몰에서 쇼핑하고 짐을 숙소에 두고, 탄중아루 해변에 선셋을 찍으러 갔다. 가보니 해변만 있는게 아니라, 야시장 같이 시장이 펼쳐져있어서 먹을만한 게 있었다. 푸드트럭같은 느낌? 가는길에 망고 주스도 샀다. 근데 맛이 별로였다 ㅋㅋㅋㅋ 얼음이 들어가있어서 그런가... 나쁘지는 않았는데 그냥 맹맹했다. 글고 사진찍느라 들고다니기 귀찮아서 나중에 살걸 싶었다. 짠~ 오자마자 보인 풍경이다. 진짜 엄청이뻤다. 석양이 구름에 가려져서 쪼끔 슬펐지만, 이것도 이것 나름대로 매우 만족스러웠다. 이렇게 서로 인생샷도 찍어주고~ 찍을 땐 몰랐는데 지금 보니 여자친구가 훨씬 잘찍어줬다 ㅋㅋㅋㅋ 구도마다 사진 분위기가 매우 달라서 엄청 여러방향으로 많이 찍었다. 삼각대 고정시켜놓고 커플 포즈도 찍고~ 포즈 생각해내느라 어려웠다 ㅋㅋㅋㅋ 내가 제일 좋아하는 마법사짤 ㅋㅋㅋㅋ 불마법사같이 나와서 내 최애짤이다 ㅋㅋㅋㅋ 이렇게 사진을 많이 찍고, 발 씻는 곳이 어디 없나 해서 돌아다녀보니까 있었다. 해

[서울] 양평역/영등포구청역 베트남 쌀국수 맛집 ! 포이스트 서울 양평점 [내부링크]

뜨끈한 쌀국수가 먹고싶을 때 가는 맛집! 포이스트 서울 양평점. https://naver.me/5ux9j6qf 포이스트 서울 양평점 : 네이버 방문자리뷰 866 · 블로그리뷰 135 naver.me 외관은 다음과 같다. 외관은 다소 허름하지만, 내부 분위기는 나쁘지 않다. 내부는 나름 깔끔해서, 갈만하다. 1인 좌석엔 가끔 먼지가 좀 쌓여있을 때가 있지만, 4인 테이블은 사람들 나갈 때 마다 청소하신다. 메뉴판은 다음과 같다. 세트 메뉴 가성비도 괜찮고 맛도 있어서 점심시간에 자주 온다. 나시고랭, 팟타이 같은건 살짝 간이 센 편이라 좀 짜다. 달걀 후라이랑 같이 먹으면 꿀맛. 들어오면 바로 앞에 보이는 키오스크를 사용하면 된다. 짜조, 춘권, 만두 다 시켜봤는데 짜조가 제일 맛있었다!! 만두는 많이 줘서 좋았고, 춘권은 살짝 야채 만두 느낌이다. 2명이서 갔을 때, 나는 팟타이랑 나시고랭을 시켰다. ( 2인 세트메뉴였나.. 따로따로 시켰나 기억이 가물가물 ) 간이 좀 세서 짜긴 했

[코타키나발루] 2일차_1 - 하얏트 센트릭 코타 조식, 제셀톤 포인트 흥정 후기, 사피 섬, 마무틱 섬, 패러세일링 후기 [내부링크]

전날에 체크인도 늦고, 항공기도 지연되고 그래서 3시에 자는 바람에, 3시간만 잤다. 원래 7시간은 자야하는 나로선 겁나 피곤했다ㅜ 피곤했지만 밖에 보라는 여자친구의 말에 바로 우와~ 하고 기분이 좋아졌다. 힐뷰도 괜찮다 해서 힐뷰 간건데 해가 뜨는 모습이 장관이었다!!! 굿굿 그리고 조식 신청했기때문에 조식을 버릴 순 없지.. 제셀톤 포인트에서 당일 예약하기로 했는데, 8시엔 가야할 것 같아서 6시부터 일어나서 준비해서 조식 시작 시간인 6시 30분에 갔다. 참고로 하얏트 센트릭 조식 시간은 6시 30분 ~ 10시 30분이다. 조식을 먹는 곳인 22층으로 갔더니, 앞에서 직원이 대기하고 있었고 객실 번호를 확인 후 자리를 안내해주었다. 조식은 적당히 다양했고, 원래 아침을 안먹거나 가볍게 먹는 내 입맛엔 나쁘지 않았다. 이런 느낌? 이중에 가장 맛있는건 저 롤이었다!!! 하나만 담아갔는데 맛있어서 다음날, 다다음날 3개씩 먹었다 ㅋㅋㅋㅋ 가장 맛있었.. 그리고 주스 있는 쪽에 연어

[코타키나발루] 2일차_2 - 워터프론트 선셋, 쿠타 비스트로, 릴렉스 코너 마사지 2호점 후기 , 필라피노 야시장 feat.망고보이 [내부링크]

툰쿠 압둘 라만 해상공원에서 물놀이를 마치고, 우리는 선셋 맛집이라는 워터프론트로 향했다. 워터 프론트가 가게 이름인 줄 알았는데 종로 광장시장처럼 해당 거리를 뜻하는 용어였다. 그래서 우리는 맥주 맛집이라는 쿠타 비스트로 로 갔다. https://maps.app.goo.gl/NBo5G6Nz5ZRuis277 Kuta Bistro · Waterfront KK, Jln Tun Fuad Stephens, Pusat Bandar Kota Kinabalu, 88000 Kota Kinabalu, Sabah, Malaysia · Bistro maps.app.goo.gl 바닷 바람 쐬면서, 선셋 보기 최고였다. 하지만 이틀에 걸쳐 예상하지도 못한 단점이 있었으니.... ( 뒷부분에 작성. ) 비스트로 들어가서, 야외에 앉을 수 있냐고 물어봤더니 닦아줬다. 비가 올랑 말랑 하기도하고 비가 왔던 직후라 야외 테이블을 아무도 사용하지 않고있었다. 근데 행주같은 걸로 닦아주긴하는데, 물기가 넘 많아서

[Java] Garbage Collector [내부링크]

Garbage Collector = GC - JVM의 Heap 영역에 남아있는 더이상 사용하지 않는(=Unreachable 한) 객체를 garbage라고 하며, 이를 제거하는 작업을 말합니다. 가비지 컬렉터는 두 가지의 가설을 전제로 설계되었습니다. 1. 대부분의 객체는 금방 Unreachable 상태가 된다. -> 금방 Garbage가 된다. 2. Old 영역의 객체가 Young 영역의 객체를 참조하는 일은 아주 적다. GC의 동작 순서는 Mark and Sweep으로, 다음과 같습니다. 1. Mark: 모든 변수를 스캔하면서 각각 어떤 객체를 참조되고 있는지 마킹합니다. Reachable 객체가 참조하고 있는 객체도 마킹합니다. 2. Sweep: Unreachable. 즉 마킹(참조)되지 않은 객체를 Heap에서 제거합니다. 3. Compact: 알고리즘에 따라서 존재하는 과정으로, Sweep 후 분산된 객체들을 Heap의 시작 주소로 모아 메모리의 분산화를 막아줍니다. Heap

[코타키나발루] 3박5일 여행 경비, 23년 10월 3박5일 기준, 예약 꿀팁 [내부링크]

번 여름휴가를 어디를 갈까 고민하고 있었다. 여행 테마는 관광보다는 휴양으로 잡았고 100만원 안쪽에서 끝낼 수 있는 휴양지를 원했다. 처음엔 제주도, 세부, 태국, 인도네시아 중 고민을 하다가 여행 후기들을 오래 검색해보고 세부와 코타키나발루로 좁혔다. 두 나라를 여행했을 때의 장단점은 다음과 같았다. -> 선택한 날짜기준으로 항공권을 보고 결정했다. 코타키나발루 3박5일 목 저녁출발, 월 새벽 or 밤 출발 -> 제대로 쉬는 날: 금, 토 -> 대신 숙소가 대체로 좋음 세부 4박5일 -> 목 아침출발, 월 오후출발 -> 제대로 쉬는날: 목, 금, 토, 일 -> 좋은 숙소도 숙소 컨디션이 랜덤함. 이렇게 고민하다가, 인도네시아 - 코타키나발루로 결정!! 일행이 숙소 컨디션이 좋은 곳을 원해서, 숙소가 대체적으로 좀 더 깔끔하고 좋아보이는 곳으로 결정했다. 예약하면서 지출한 여행 경비와 예약 시 꿀팁을 작성하려고 한다! ( 숙소와 비행기 값 ) 1. 항공권 예매 저렴하게 예매할려면

[전주] 돌돌 - 전주역 물품보관소보다 훨씬 나은 선택! 짐 or 캐리어 배달 서비스 내돈내산 후기 [내부링크]

이번에 전주 여행을 다녀왔는데, 고민하던 문제가 있었다. 뚜벅이 여행이라 캐리어를 끌고다니기 너무 힘든데ㅜ 캐리어 어떡하지? 역시 만만한 전주역 물품보관소에 맡기고 다녀야하나? 하는 고민이 있었다. 그래서 짐 배송 서비스가 혹시 있나? 찾아보던 도중, 돌돌 이라는 짐 배달 서비스가 있는 것을 확인했다. 그런데 2022년 후기뿐이라서 아직 운영하는 지 고객센터에 문의했더니, 아직 운영중이라고 하셔서 바로 사용하기로 했다. https://play.google.com/store/apps/details?id=com.mobileapp.doldol DolDol:Hands-Free Travel - Apps on Google Play Our DolDol service provides user location-based B2C baggage delivery. play.google.com 특정 장소에서부터 원하는 장소로 짐 배달을 해주는 서비스다. 나는 전주역에서부터 숙소까지 배달해달라고 요청했다.

[코타키나발루] 0일차 - 준비물( 체크리스트 PDF ) [내부링크]

설레는 여행 전 날, 짐을 싸면서 체크했던 준비물 리스트들은 다음과 같다. 체크 리스트 - 필수 여권 해외 결제용 카드 ( -> 트래블월렛 추천 ) 환전 화폐 ( 링깃 ) or 환전용 5만원권 유심 ( -> 공항 구매 ) 기념품을 많이 사서 돈이 부족할 수도 있고, 음식점에서 많이 먹어서 환전해온 돈보다 부족할 수 있다. 해외 결제용 VISA or Master Card 를 꼭 챙기는 것을 추천한다. 나는 코타키나발루 공항에 내리면 ATM기 있다고 하길래, 환전 하나도 안해갔고 환전 수수료가 없는? 거의 없는 트래블 월렛 카드에 충전해서 내리자마자 ATM기에서 1500링깃을 뽑았다. 그래도 비상용으로 10만원정도, 5만원권이 환전 효율이 좋다고 하길래 5만원권으로 챙겨갔다. ( 결국 안썼다. ) 유심은 원래 불안해서 미리 구매해서 가는걸 좋아하는데, 인터넷에서 파는 코타키나발루 유심은 다 마음에 안들길래 공항에서 구매했다. ( 데이터 무제한에 통화 기본제공이 어느정도 있는 것을 구매하

[코타키나발루] 0일차 - 티웨이 온라인, 모바일 체크인 [내부링크]

코타키나발루 출국, 귀국 모두 티웨이 항공으로 예약을 했는데, 좋은 자리를 먹고싶었다. 사전 좌석 구매를 할 까 하다가, 비성수기라 그냥 체크인 열리는 시간에 대기해서 좋은 자리를 먹기로 결심했고, 결론은 성공했다! 내가 예약한 출국 및 귀국편은 다음과 같았다. 어떤 사람은 24시간 전, 어떤 사람은 전날 자정이라해서 내가 확인해 본 결과 딱 24시간 전에 열린다!! ( 코타키나발루 한정일 수도? ) 팁으로는 24시간 전 바로 문자가 오는건 아니라서, 티웨이 홈페이지에서 대기해야한다. 티웨이 온라인 체크인 링크: https://www.twayair.com/app/reservation/searchCheckinItinerary 온라인 체크인 | 나의 예약 | 티웨이항공 대한민국 LCC 항공사, 비즈니스석 운영, 국내선/국제선 할인 www.twayair.com 그래서 나는 18일 수요일, 18:50분 부터 대기하다가 55분에 진입했다. 자리는 넉넉했고, 도착한 뒤에 빨리 나가고싶어서 6열

[코타키나발루] 1일차_1 - 부천에서 인천공항 가는법 7001 버스, 티웨이 항공 탑승 [내부링크]

설레는 첫 날 아침. 저녁 비행기라 낮부터 여자친구랑 놀다가 들어가기로했다. 부천역에서 인천공항으로 가는데, 캐리어들고 1호선갔다가 환승하기 너무 번거로워서 공항버스가 있는지 알아봤다. 7001 버스가 인천공항 제 1터미널, 제 2터미널까지 운행하며 내가 타는 항공사인 티웨이는 인천공항 제 1터미널이었다. 네이버 지도에서 7001 버스의 운행정보 및 현재 운행 현황까지 확인할 수 있었다. https://map.naver.com/p/bus/bus-route/-/bus-route/6558?c=11.00,0,0,0,dh 네이버 지도 - 버스 노선 경로 7001번 버스 부천터미널소풍(시외.고속) ↔ 인천공항3층출국장(T2) map.naver.com 부천 소풍터미널 - 부천소방서 - 소사역지하차도 - 소새울역 - 시흥ABC행복 - 인천공항 제 1터미널 - 인천공항 제 2터미널 이 노선을 가지고 운행하고, 운행 시간표는 다음과 같다. 나는 운행시간표를 보고 11시 30분에 부천 소풍에서 출발하

[코타키나발루] 1일차_2 - ATM기 사용법, 튠톡 유심, 하얏트 센트릭 코타 체크인 [내부링크]

항공기가 지연되어... 긴 비행 끝에 12시쯤..? 12시반쯤..? 코타키나발루 공항에 도착했다. ( 매우 피곤 ) 공항에서 할 것은, 3가지였다. 유심 구매 ATM기에서 출금 숙소가서 맥주에 먹을 것 KFC에서 구매 그랩 ( Grab ) 으로 숙소 가는 택시 잡기 항공기 앞쪽이라, 일찍 내려서 가야지!! 하고 내렸는데 밤이라 그런지 좀 쌀쌀했다. 생각보다 덥진 않았음 수하물때문에 좀 기다리긴했지만.. 그래도 일찍 나왔다. ATM 기로 가는 길에 한국말로 유심 사세요! 하면서 현지인들이 호객? 가게 앞에서 외치기만 했으니 호객정돈 아닌가? 광고를 했다. 사려고 했던 튠톡이 보여서 눈좀 마주쳤더니 한국말로 어디가? 하길래 ATM기 간다니까 저기~~ 하면서 위치 알려줬다. ㅋㅋㅋ 친절하기도하고 한국말을 잘해서 놀랬다 ㅋㅋㅋㅋ 왤케잘햌ㅋㅋㅋㅋ ( 이땐 이렇게 생각했지만... 이유가 있었다. 거의 제 2의 오사카 느낌으로 간 곳의 50~70%는 한국인ㅋㅋㅋㅋ ) 문제가 있다는 ATM기가 있

[Oracle] 오류 ORA-00054 : 리소스가 사용 중이어서 nowait가 지정되었거나 시간 초과가 만료된 상태로 획득합니다. [내부링크]

지식 출처: https://m.blog.naver.com/PostView.naver?blogId=xxsaintxx&logNo=20136102283&proxyReferer=https:%2F%2Fwww.google.com%2F DML 작업에서 LOCK이 걸린상태라고 한다. 해결방법은 다음과 같다. STEP 1 : Lock 이 발생한 OBJECT 확인 SELECT object_id, object_type FROM dba_objects WHERE object_name='테이블이름'; STEP 2 : Lock 을 잡고 있는 세션 ID 확인 SELECT * FROM v$locked_object WHERE object_id='STEP1에서 검색한 object_id'; STEP 3 : Lock 을 잡고 있는 세션의 Serial 번호 확인 SELECT sid, serial#, command, taddr FROM v$session WHERE sid='STEP2의 세션 ID 번호'; STEP 4 : 세

[Java] IF문을 한줄로, 삼항 연산자 [내부링크]

if else문을 한 줄로 표현하는 방법에는 삼항 연산자가 있다. 형식은 다음과 같다. A=1 ? result1 : result2 조건이 일치하면 result1, 불일치하면 result2이 반환된다. ex) menu.equals("service_1") ? "ok" : "no" menu 변수의 값이 service_1 이라면 ok가 반환되고, 아니라면 no가 반환된다. JSP에서 다음과 같이 사용할 수 있다. <%= menu.equals("service_1") ? "class=service_1" : "no" %> menu 변수의 값이 service_1이면 service_1 class를 부여한다.

IE 지원 종료! 엣지 IE모드 활성화 방법 [내부링크]

2022년 6월 15일부로 IE 서비스가 종료됩니다. 하지만 IE에 의존하고있는 일부 웹 환경을 위해 Edge에서 IE모드 2029년까지 지원 예정한다고 합니다. # Edge에서 IE 모드 활성화 방법 1. 메뉴 -> 설정 2. 호환성 검색 3. “IE 모드로 다시 로드” 활성화 후 다시 시작 4. 메뉴 -> 기타도구 -> IE 모드에서 다시 로드 5. IE 모드로 진입 완료

[SpringBoot] JSP 접속 + 서버 포트 변경 + 자동 reload [내부링크]

- JSP 접속 # 다음 종속성을 추가해줍니다. <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> # src/main/webapp/WEB-INF/jsp 경로의 폴더를 생성합니다. # 임시로 출력할 JSP 파일을 하나 만듭니다. # src/main/resources/application.properties 에 다음을 추가합니다. # For jsp excute >> pom.xml >> tomcat-embed-jasper spring.mvc.view.prefix=/WEB-INF/jsp/ spring.mvc.view.suffix=.jsp # 컨트롤러를 생성합니다. # 접속을 시도해봅니다. : 성공 끝 - server 포트 변경 # src/main/resources/application.prope

[SpringBoot] Oracle + Mybatis 연동 [내부링크]

오라클 및 mybatis 를 사용해 Springboot에서 출력해보겠습니다. 1. pom.xml 에 종속성을 추가합니다. <!-- Oracle jdbc --> <dependency> <groupId>com.oracle.database.jdbc</groupId> <artifactId>ojdbc8</artifactId> <scope>runtime</scope> </dependency> <!-- mybatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.4</version> </dependency> 2. application.properties 에 리소스를 추가합니다. # Oracle Jdbc spring.datasource.driver-class-name=oracle.jdbc.OracleDriver sprin

[Springboot] Docker 로 실행하기 [내부링크]

참조 https://spring.io/guides/gs/spring-boot-docker/ package com.my.test; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class homeController { @GetMapping("/") public Object home() { return "hi test "; } } 1. 위와 같은 간단한 컨트롤러를 생성한다. FROM openjdk:8-jdk-alpine ARG JAR_FILE=target/*.jar COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar"] 2.확장자가 없는 Dockerfile을 위와 같이 생성한다. 3. application.properti

[Docker] Docker 란 [내부링크]

# Docker란? 정의 : 컨테이너 기반의 오픈소스 가상화 플랫폼 - 컨테이너는 프로세스가 격리된 공간에서 동작하는 기술 이라고 할 수 있는데, 이 컨테이너를 구동시키는 역할을 하는게 도커다. - 가벼운 VM웨어라고 생각할 수 있다.( 처음에 이해할때만 이렇게 생각해야 함. 아님 ) # Docker Image 도커에서 이미지란, 컨테이너 실행에 필요한 파일과 설정 값들을 포함하고있는 것을 말한다. - 다운로드 (Window) https://hub.docker.com/editions/community/docker-ce-desktop-windows/ # Docker 기본 명령어 - docker images : 이미지 목록을 보여주는 명령어 - docker run : 도커를 실행하는 명령어 : 옵션 :: -it = -i + -t 옵션을 더한것으로, 터미널 입력을 위한 옵션 : 옵션 :: --rm = 프로세스 종료 시 컨테이너도 자동으로 제거하기 위한 옵션 : 옵션 :: --name 컨테

[MSA] MicroService Architecture [내부링크]

Monolithic Architecture : 마이크로 아키텍처와 반대되는 개념으로, 하나의 서버 ( 프로젝트 )에서 모든 서비스가 동작하는 것을 말합니다. 장점 1. 아키텍처가 단순하며 모든 서비스의 개발 환경이 같아서 개발이 용이합니다. 2. End-to-End Test(사용자 입장에서의 테스트)가 용이합니다. 단점 1. 조금만 수정해도 전체를 다시 빌드하고 재배포 해야 합니다. 2. 프로젝트 규모가 커짐에 따라 빌드 시간이 증가하고 유지 보수가 힘듭니다. 3. 일부분의 오류가 전체의 서비스에 영향을 줍니다. MicroService Architecture : 어플리케이션을 이루는 서비스들을 기능 단위로 쪼개서 구축하는 것을 말합니다. 각 서비스들은 API를 통해 통신합니다. 장점 1. 수정사항 및 추가사항만 있는 서비스만 빌드, 배포 가능합니다. 2. 해당 기능에 좀 더 적절한 언어나 기술을 각각 사용할 수 있습니다. 단점 1. 모니터링이 힘들고, 개발 및 테스트가 까다롭습니다.

[MSA] Springboot - MSA 구축하기 [내부링크]

지식출처 https://wonit.tistory.com/497?category=854728 [ 환경 ] Springboot 2.5.3 JDK 1.8 Maven 서비스 구상도는 다음과 같습니다. 하나의 웹 어플리케이션에서 RestAPI 통신을 통해 유저 서비스 및 쇼핑 서비스에 접근합니다. 중간에 Spring Cloud Gateway를 통해 클라이언트와 서버 사이에 로드밸런싱 및 통합 인증 및 로깅을 제공합니다. Eureka Server에 서버들 사이에서 마이크로 서비스들의 정보를 등록하고 이를 통해 서비스들을 동적으로 탐색하고 로드밸런싱을 제공합니다. 따라서 5개의 프로젝트가 존재할 예정입니다. 프로젝트 포트 Main 웹 어플리케이션 8000 UserService 8001 ShoppingService 8002 Eureka Server 8761 Spring Cloud Gateway 8090 각 프로젝트별로 포트는 다음과 같습니다. 1. Eureka Server <dependency>

[ SpringBoot & Couchbase ] NoSQL을 이용한 REST API 게시판 만들기 : 2. REST API 설계 및 회원 서비스 로직 [내부링크]

다음과 같은 패키지 구조를 만듭니다. # Controller request url에 따른 UserController 와 BoardController 로 구분할 예정입니다. # data 직접적으로 데이터와 관련된 DTO와 같은 클래스들이 들어갈 예정입니다. # Service 서비스 로직에 관련된 클래스들이 들어갈 예정입니다. # Util 기타 공통적으로 사용할 유틸리티 클래스들이 들어갈 예정입니다. WebConsole > 버킷 행 우측 Scopes & Collections 클릭 > Scope 행 우측 Add Collection 클릭 > users 라는 Collection 생성 정상적으로 완료하고나서 _default Scope를 클릭하면 다음과 같이 나타납니다. Scope 범위를 나눌 필요는 없을 것 같아 default Scope로 진행하려고 합니다. Collection을 board, users 로 나누는데에서 오는 이점은 문서 안에 type을 넣고 꺼낼때마다 검사를 하지 않아도 된다는

[ SpringBoot & Couchbase ] NoSQL을 이용한 REST API 게시판 만들기 : 3. 게시판 서비스 로직 [내부링크]

게시판을 생성하면 생성한 User의 Boards 필드에 게시판의 ID를 sub-document로 넣을 예정이며 게시판의 CRUD 서비스 = Create, Read, Update, Delete 기능을 만들 예정입니다. # couchBoard.controller.BoardController.java package couchBoard.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMe

워드프레스 Error: 당신의 웹사이트에 치명적인 오류가 발생했습니다. 자세한 내용은 사이트 관리자 이메일의 받은 편지함을 참조하십시오. [내부링크]

당신의 웹사이트에 치명적인 오류가 발생했습니다. 자세한 내용은 사이트 관리자 이메일의 받은 편지함을 참조하십시오. = There has been a critical error on this website. Please check your site admin email inbox for instructions. 플러그인 설치 후 갑자기 오류가 발생했다. 워드프레스 사이트 전부 저런 오류가 떠서 FTP 플러그인도 설치안해서 FTP 접속도 못하는 상황이었다. # 해결책 https://wordpress.org/support/article/faq-troubleshooting/#how-to-deactivate-all-plugins-when-not-able-to-access-the-administrative-menus FAQ Troubleshooting Also refer Common WordPress Errors for the most common WordPress errors experien

블랙서바이벌 오류 - 스팀에서 정보를 불러오는데 실패했습니다 [내부링크]

블랙 서바이벌을 실행하는데, 다음과 같은 오류가 떴다. " 스팀에서 정보를 불러오는데 실패했습니다 " 해결책 1. 게임 및 스팀 버전을 최신버전으로 업데이트 ( 필자는 이걸로 해결됨 ) 해결책 2. 스팀 관리자 권한으로 실행 스팀을 최신버전으로 올리고 실행하니, 제대로 로딩되는 것이 확인되었다.

[Javascript] 현재 페이지가 팝업인지 아닌지 확인하는 법 [내부링크]

if(opener){ // popup일 때 }else{ // popup이 아닐 때 } if(!opener){ // popup이 아닐 때 }else{ // popup일 때 } 현재 페이지가 팝업인지 아닌지 opener 로 확인할 수 있다. 출처 : http://www.ministory.net/xe/?mid=it_story&category=3486&page=3&document_srl=6042

[JavaScript] 버튼을 클릭할 때 TR 클릭 이벤트까지 발생하는 현상 [내부링크]

google 검색어: button click without tr event event.stopPropagation(); event.stopPropagation(); 이 메소드를 button을 click할 때 발생하는 function에 넣으면, TR onclick으로 넣은 function은 실행되지않고 button click 함수만 실행된다. IE = Internet Explorer 에서는 window.event.cancelBubble = true; window.event.cancelBubble 값을 true로 주면된다.

[ORACLE] DECODE 함수를 통해 IF ELSE 같이 사용하기 [내부링크]

select decode(컬럼명,'값1','치환값1','나머지1') from 테이블명; decode함수를 통해 if else와 같이 컬럼 값을 치환해서 사용할 수 있다. 컬럼명의 값이 값1 이면, 치환값1 을 리턴하고 아니라면 나머지1 을 리턴한다.

[ORACLE] 날짜를 쉽게 계산하는 INTERVAL 함수 [내부링크]

참고링크 https://gent.tistory.com/64 INTERVAL 날짜를 쉽게 더하고 뺄 수 있는 함수다. 단위 구분 년 YEAR 월 MONTH 일 DAY 시간 HOUR 분 MINUTE 초 SECOND 시간 분 혼합 HOUR TO MINUTE INTERVAL 함수를 이용해 흔히 보는 "3개월간 이용내역" 같은 데이터를 쉽게 뽑아낼 수 있다. 예제 1. 지난 일주일 간의 데이터를 뽑아내기 SELECT * FROM TABLE_1 WHERE sysdate - (INTERVAL '7' DAY) < UPDATE_DATE TABLE_1 테이블에 있는 UPDATE_DATE 컬럼을 이용해 현재 날짜보다 일주일 이전 데이터들을 뽑아내는 쿼리. 예제 2. 지난 3개월간의 데이터를 뽑아내기. SELECT * FROM TABLE_1 WHERE sysdate - (INTERVAL '3' MONTH) < UPDATE_DATE 이와같이 INTERVAL 함수를 이용해 몇 개월 간의 이용내역 등의 데이터

[ORACLE] 여러 행을 한 줄로 합치는 WM_CONCAT 함수 + WITH AS 임시테이블 [내부링크]

출처 : https://gent.tistory.com/15?category=360526 오라클 WITH AS 임시테이블 사용법. WITH AS는 임시테이블로써 보통 서브쿼리로서 사용한다. VIEW 와의 차이점은 VIEW는 한 번 생성하면 DROP 해주기 전까지 유지가 되지만, 이 쿼리는 일회용이다. 기존에 이렇게 출력되는 임시테이블이었지만, 하나의 Row로 나타내고자 한다. WM_CONCAT(BURGER) BURGER WM_CONCAT 함수를 통해 하나의 ROW 로 합칠 수 있다. 하지만 구분자가 , 로 고정이고 정렬이 불가능하다는 단점이 있다. SUBSTR( XMLAGG( XMLELEMENT(COL ,'$', BURGER) ORDER BY BURGER).EXTRACT('//text()' ).GETSTRINGVAL(), 2) BURGER 다음과 같이 사용하면 구분자를 선택할 수 있고, 정렬도 할 수 있다. 단점은 복잡해서 외우기 힘들다. 결과는 다음과 같다. WITH TEST_TAB

공공 API 사용법 : XML 을 JSON 으로 파싱해서 사용하기 [내부링크]

활용 신청을 끝내고나면 이렇게 인증키를 확인할 수 있습니다. 제가 요청 받은 OPEN API는 오늘의 꽃 조회 서비스입니다. 해당 API 문서를 다운받으면, 해당 API에 대한 설명이 적혀있습니다. Response Data는 XML로 리턴된다는 것과 URL을 확인할 수 있습니다. REST 를 요청할 URL과 필수 파라미터들을 확인합니다. # 코드 public class FlowerService { public void getFlower(){ try { StringBuilder url = new StringBuilder("http://apis.data.go.kr/1390804/NihhsTodayFlowerInfo/selectTodayFlowerList?"); /*URL*/ url.append("serviceKey=본인 key"); url.append("&numOfRows="+URLEncoder.encode("10", "UTF-8")); url.append("&pageNo="+URLEn

[JS] .js 파일 수정사항이 적용되지 않을 때 해결법 [내부링크]

.js 파일 수정사항이 적용되지 않을 때, js파일을 import한 곳에 파라미터를 아무거나 쥐어주면 정상적으로 적용이 된다. [ 해결책 예시 ] <script language="javascript" type="text/javascript" src="<%= ContextPath %>/js/fileGrid.js?v=1" charset="utf-8"></script> v = 1 이라는 아무의미없는 파라미터를 쥐어줬는데, js 파일 수정사항이 갑자기 적용되는 기이한 현상을 볼 수 있다. .js 파일이나 .css 파일은 캐시가 남아있어서 브라우저의 캐시에 적재된 파일로 계속해서 로딩을 해오기때문에 이러한 현상이 나타난다고 한다.

[ SpringBoot & Couchbase ] NoSQL을 이용한 REST API 게시판 만들기 : 1. 개발환경 [내부링크]

NoSQL을 이용한 게시판을 만들어보려고 합니다. REST API 를 사용해서 만들 예정이고, 서버에서 클라이언트로 JSON을 뿌려주려고 합니다. # 개발환경 Web Base - Spring Boot 2.4 Database - Couchbase 7.0 Java - JDK 1.8 # 스프링 부트를 선택한 이유 1. 라이브러리 관리 자동화의 편리성 2. 내장 Tomcat 사용으로 인해 빠름 3. 쉽고 빠르게 어플리케이션을 만들 수 있음 # NoSQL 중 카우치베이스를 선택한 이유 1. 메모리 우선 아키텍처 구조라 매우 빠름 2. Key-Value의 Json 형태로 데이터를 저장할 수 있어 간편함 3. 다른 NoSQL과 다르게 SQL과 유사한 N1QL이라는 언어를 제공함 (SQL과 거의 동일함) 4. 다양한 SDK 지원 ( Java SDK를 지원하고있어 쉽게 사용이 가능함 ) # 환경 설정 및 테스트 Couchbase 7.0 다운로드: https://www.couchbase.com/dow

SpringMVC 게시판 만들기 1. 초기 설정 [내부링크]

아직 초보이지만, 어느 정도 예제를 공부하고 실력 향상을 위해 가장 쉬운 관문인 게시판을 만들어보기로 ...

Java - assert [내부링크]

해당하는 조건이 false일때, AssertionException을 발생시킨다. 복잡한 if 문 대신 간단하게 사용가능해...

Couchbase - 11월 업데이트 : Couchbase 아카데미 [내부링크]

Couchbase 교육 프로그램을 소개하는 글입니다. Couchbase 아카데미는 전체 Couchbase 교육 서비스의 포...

Couchbase - N1QL 솔루션 [내부링크]

SQL을 배우는 것은 쉽지만, 구현하는 것은 쉽지 않습니다. SQL은 관계형 데이터베이스에 액세스가 쉽...

GSI를 위한 인덱스 플래너 [내부링크]

모든 인덱스의 필수적인 측면은 사용자에게 High Availability(HA) 및 로드 밸런싱 기능을 원활하게 제...

Couchbase 관련 글의 출처 [내부링크]

https://blog.couchbase.com/ Couchbase 공식 홈페이지에서 운영하는 블로그입니다. 이 곳에 올라오는 글...

Couchbase - FTS을 사용하여 컬렉션 검색 [내부링크]

컬렉션은 Couchbase 버킷 내에서 데이터를 네임스페이스로 지정할 수 있는 기능을 제공합니다. 모든 문서...

Couchbase Cloud 무료 평가판 시작하기 [내부링크]

Couchbase Cloud 1.3에서부터 Colud Self-Service Free Trial을 사용가능합니다. Couchbase 6.6에...

Couchbase - Couchbase 7.0의 새로운 기능: 요청 memory 할당량별 N1QL [내부링크]

다른 서비스와는 달리, N1QL 서비스는 지금까지 메모리 설치 공간의 크기를 조정할 수 있는 기능을 제공...

명품 자바 프로그래밍 14장 - 실습문제 [내부링크]

1. 다음 조건에 맞는 스윙 프로그램 작성.2. 파일 열기 다이얼로그로 이미지 파일을 열면, 이미지를 J...

명품 자바 프로그래밍 14장 연습문제 [내부링크]

1. 메뉴를 만드는 데 사용되는 클래스가 아닌 것은?: 4번 - Separator.문제가 좀 애매한 것 같다;; Sep...

명품 자바 프로그래밍 15장 연습문제 [내부링크]

1. 윈도우 PC의 명령창에서 내 PC의 IP를 확인하는 명령어: ipconfig2. 잘 알려진 포트(well kno...

정보처리산업기사 1과목 - 데이터베이스 핵심 요약 정리 (2) [내부링크]

1과목 데이터베이스 (2) - 사용 목적에 따라 구분되는 데이터 베이스 언어의 종류 1. 데이터 정의 ...

정보처리산업기사 1과목 - 데이터베이스 핵심 요약 정리 (1) [내부링크]

1과목 : 데이터베이스자료 : 단순한 관찰이나 측정으로 수집한 결과값정보 : 자료를 가공해서 얻은 결...

SpringMVC 게시판 만들기 2. 로그 설정 및 DB 구축 [내부링크]

로그를 좀 더 보기 쉽게 하기 위해서, 로그를 몇 가지 손봐주기로 했다.순서는 다음과 같다.1. src/mai...

Github - Project 를 github와 연동 시키기 [내부링크]

지식 출처 : https://devks.tistory.com/34# 프로젝트 -&gt; gitHub 연동1. github &gt; new reposi...

Github - Github 에 올려진 Project Import 하기 [내부링크]

지식 출처 : https://devks.tistory.com/34# Github repository -&gt; STS(Eclipse) 내로 Impo...

면접 공부 - 라이브러리, 프레임워크 , API , RESTful API [내부링크]

라이브러리사전에 만들어둔 코드의 집합.(도구)API &#x3D; Application Program Interface서로 ...

POP 과 IMAP의 차이 [내부링크]

# POP사용하는 디바이스에 정보를 저장합니다.서버에 있는 메일을 열람하면, 현재 사용하는 기기에 다운...

Couchbase - 무료로 Cloud에서 Couchbase 시작하기 [내부링크]

이 글에서는 아직 베타버전인 Couchbase Playground 를 미리 볼 예정입니다.이 툴을 통해 개발자가 Co...

Couchbase - Couchbase Analytics를 통한 분석 단순화 [내부링크]

소개Couchbase 7.0에서부터는 Analytics service에서도 Collection의 기능이 확장되었습니다.Scope...

Couchbase - 고객 중심 데이터베이스 어플리케이션 구축 [내부링크]

고객에게 집중하는 것은 모든 기업에게 필연적인 개념입니다. 고객이 플랫폼의 내부 사용자이든 외부 사용...

Couchbase - JSON 데이터베이스를 통한 비용 기반 최적화 [내부링크]

Couchbase Query Cost Based Optimiation(CBO)는 7.0에서 GA 준비가 되었습니다.CBO는 전통...

Couchbase - Analytics 서비스의 쿼리 승인 제어 [내부링크]

Couhcbase Analytics는 임시 분석 쿼리를 수행할 수 있도록 최적화되었고, 일반적으로 메모리에 맞는 데...

Couchbase - N1QL을 이용한 Couchbase Transactions [내부링크]

Couchbase는 ACID(원자성, 일관성, 고립성, 지속성) 트랜잭션을 6.5 릴리즈에서 도입했으며, 7.0에서 ...

Couchbase : Collection을 이용한 간단한 쿼리 및 인덱스 [내부링크]

Couchbase Collection은 JSON 데이터 베이스를 RDBMS 데이터베이스와 더 가깝게 만들어줍니다...

Couchbase - 7.0 : 현대적인 Multi-tenant 어플리케이션을 위한 Scope 와 Collection [내부링크]

Couchbase 7.0은 마이크로 서비스 기반 Multi-tenant 어플리케이션을 쉽게 구축하고 배치하기위해 Sco...

Couchbase - Scope와 Collection으로 마이그레이션하는 방법 ( Couchbase 7.0 ) [내부링크]

Scope와 Collection은 Couchbase 7.0에서 도입된 새로운 기능으로, Couchbase 내에서 논리적으로 데이...

Couchbase - Collection을 위한 RBAC 보안 도입 [내부링크]

Couchbase 7.0 버전부터 플랫폼의 보안을 강화하기 위해 몇 가지 추가 기능이 도입되었습니다.Couchbase ...

Couchbase - Full-Text Index를 대한 웹 콘솔 [내부링크]

Couchbase 7.0 릴리즈 버전이 베타로 발표했습니다. 7.0 릴리즈에서 지원하는 컬렉션으로, Couchbase 서...

Couchbase - Window Function [내부링크]

Window Function?특정 row들의 집합을 가지고 이뤄지는 함수이며, 기존 row의 개수를 유지합니다.windo...

Couchbase - DataGrip 에서 Couchbase 설정 [내부링크]

JetBrains의 DataGrip에서 NoSQL Couchbase 지원을 추가했습니다.DataGrip과 Couchbase의 ...

Couchbase - FTS 프로덕션 시스템을 위한 7가지 유용한 팁 [내부링크]

올바른 검색 인덱스를 만들고 다양한 구성을 조정하는 것은 FTS 프로덕션 시스템이 원활하게 작업하는...

Couchbase - Flex Index vs GSI Index [내부링크]

이 글에서 GSI 인덱스를 사용한 N1QL쿼리부터 단순히 문서 크기가 증가하는 것이 아니라 실제 문서 ...

Couchbase - Flex Index [내부링크]

데이터베이스 엔진의 주요 작업 중 하나는 데이터의 검색 및 회수를 효율적으로 관리하는 것입니다. 리소스...

Couchbase - 지리공간 검색기능을 통해 제리멘더 테이밍하기 [내부링크]

Couchbase의 FTS 엔진을 활용하는 좋은 방법 중 하나는 지리적 영역을 나타내는 다각형을 식별하는 일...

Couchbase - 지리 공간 검색 방법 [내부링크]

FTS &#x3D; Full Text Search 는 지리공간 데이터를 인덱싱하고 쿼리하는데에 유용하게 쓰입니다....

Couchbase - JSON에 대한 코스트 기반 최적화 기술 특허 출원 [내부링크]

기존의 SQL 접근 방식에 대한 가치를 입증하는 NoSQL 데이터 베이스가 있는 경우, 어떻게 하면 ...

Java - Enumeration [내부링크]

Enumeration은 컬렉션 인터페이스로, 객체들의 집합(Vector)에서 각각 하나씩 꺼내어 처리할 수 있는 메...

Java - String.valueOf() , .toString 비교 [내부링크]

둘다 문자열로 출력해주는 함수인데 차이는 String.valueOf()는 매개변수로 받은 값이 null이면 null...

엣지컴퓨팅 [내부링크]

엣지 컴퓨팅이란 차세대 비즈니스에 중요한 어플리케이션을 지원하기 위한 아키텍처의 근본적인 변화를 ...

Couchbase - N1QL의 변화 [내부링크]

오늘날, 수천 명의 개발자,고객 및 현대의 어플리케이션은 데이터에 액세스&amp;분석을 위해 N1QL을 ...

SQL vs NoSQL [내부링크]

SQL &#x3D; Structured Query LanguageSQL을 데이터베이스로 지칭하지만, RDBMS에서 Que...

모바일 및 엣지 컴퓨팅용 Couchbase Lite 2.8 버전 발표 [내부링크]

Couchbase 공식 홈에서 Couchbase Lite 2.8 및 Sync Gateway 2.8 플랫폼의 GA를 발표했습니다. 이 ...

Couchbase - 클러스터의 상태 점검 [내부링크]

대부분의 데이터 베이스는 초기 출시 시점에 사용할 수 있는 정보를 기반으로 올바르게 구성되고 사이징 되...

Couchbase - 제거 기능을 효과적으로 사용하여 Couchbase GSI에서 메모리 사용량 관리 [내부링크]

Eviction ( 공간이 필요할 때, 어떤 데이터를 지우는 것 )Couchbase 서버에서는 Global Secondary I...

Couchbase - 블록체인과 NoSQL Database의 시너지 [내부링크]

NoSQL 데이터베이스와 현대의 블록체인 모두 일련의 공통된 원칙으로부터 이익을 얻습니다. 둘 모두 ...

Couchbase - 유연한 JSON 모델을 위한 유연한 쿼리 및 인덱싱 [내부링크]

JSON pickle에서 N1QL을 사용할 수 있습니다.JSON 데이터 모델의 경우 컬렉션은 테이블, JS...

명품 자바 프로그래밍 개정 4판 6장 실습문제 [내부링크]

- 개인적으로 쉬운거나 개념 문제는 패스했음- 숙제 및 학습용으로 쓴거라 틀릴 수 있음- 틀린거 지적 감사...

명품 자바 프로그래밍 개정 4판 8장 연습문제 [내부링크]

- 개인적으로 쉬운거나 개념 문제는 패스했습니다.- 숙제 및 학습용으로 쓴거라 틀릴 수 있습니다.- 틀린 ...

명품 자바 프로그래밍 개정 4판 8장 실습문제 [내부링크]

- 개인적으로 쉬운거나 개념 문제는 패스했습니다.- 숙제 및 학습용으로 쓴거라 틀릴 수 있습니다.- 틀린 ...

자바 탐색기 만들기 코드 구현 [내부링크]

자바 실습문제 간단한 파일탐색기 문제를 풀다가 이상하게 내줘서 4시간정도썼는데, 구현한 게 너무 마음에...

명품 자바 프로그래밍 개정 4판 9장 연습문제 [내부링크]

- 개인적으로 쉬운거나 개념 문제는 패스했습니다.- 숙제 및 학습용으로 쓴거라 틀릴 수 있습니다.- 틀린 ...

명품 자바 프로그래밍 개정 4판 9장 실습문제 [내부링크]

- 개인적으로 쉬운거나 개념 문제는 패스했습니다.- 숙제 및 학습용으로 쓴거라 틀릴 수 있습니다.- 틀린 ...

자바 JLabel 배경색 바꾸기 [내부링크]

JAVA에서 다른 컴포넌트들은 배경색 적용할 때 그냥 바로 쓰면 적용되는 것 같은데 (공부중이라 JLab...

명품 자바 프로그래밍 개정 4판 9장 Open Challenge [내부링크]

- 결과 화면9장은 별로 안어려운 것 같다

명품 자바 프로그래밍 개정 4판 Open Challenge 8장 - 행맨 게임 만들기 [내부링크]

행맨 게임 만들기- 결과 화면StringBuffer쓴지 오래돼서 찾아보면서 하다가 늦은 것 같기도하고 , 자...

Java Bean [내부링크]

- 자바 빈이란 ?: 데이터 표현이 목적인 자바 클래스 ( 컴포넌트 ): 멤버 변수를 Property 라고 표현한다....

JSP 페이지 이동 [내부링크]

1. 특정 jsp 파일로 이동&lt;script&gt; location.href &#x3D; &#x27;파일이름.jsp&#x27; &lt;/script&gt;...

명품 자바 프로그래밍 10장 연습문제 [내부링크]

- 개인적으로 쉬운거나 개념 문제는 패스했습니다.- 숙제 및 학습용으로 쓴거라 틀릴 수 있습니다.- 틀린 ...

자바 이벤트 처리 keyListener 키가 안먹힐 때 [내부링크]

자바 KeyListener 를 컨테이너에 add해도 안먹힐 때, 포커스를 컴포넌트(컨테이너)에 주면 해결된다.K...

명품 자바 프로그래밍 10장 실습문제 [내부링크]

- 개인적으로 쉬운거나 개념 문제는 패스했습니다.- 숙제 및 학습용으로 쓴거라 틀릴 수 있습니다.- 틀린 ...

자바 마우스 휠 이벤트 리스너 [내부링크]

java MouseWheelEvent: 마우스 휠이 굴려질때마다 발생한다.: MouseWheelListener의 mouseWheelMov...

Python 파이썬 [내부링크]

Python: C언어 기반의 범용 프로그래밍 언어: 인터프리터 기반으로, 한 줄씩 해석된다.: 상대적으로 컴...

Python의 출력 / 변수 / 주석 [내부링크]

print() : 해당 변수가 저장된 주소로 찾아가서 값을 출력한다.id() : 해당 변수가 저장된 주소를 리턴한다...

Python 문자열 [내부링크]

- 문자열안에 따옴표 출력: 백슬래쉬(\)를 이용해서 출력가능하다.: 작은 따옴표와 큰 따옴표를 이용해 큰 ...

Python 값 입력 input [내부링크]

- 키보드로 값 입력하기 input(): 콘솔창에서 값을 입력받는다.: 무조건 문자열로 입력된다.: 숫자를 입력...

Python 랜덤 / 난수 / 가위바위보 게임 [내부링크]

Python 랜덤한 수 발생 시키기: 모듈 등록 방법은 from 모듈명 import 함수명: 파이썬에서 기본적으로 제...

Python if , elif (else if) , else 조건문 [내부링크]

파이썬 조건문: if ~ elif ~ else: 적용 범위를 { } 대신에 들여쓰기로 구분한다.: 각 조건 뒤에 콜론(:)을...

Python for 반복문 [내부링크]

반복문 for: 기본 문법 &#x3D; for 반복변수 in 범위 or 리스트- 리스트를 사용한 for- range를 사...

Python list / 리스트 복사 [내부링크]

파이썬 List: 동일한 이름을 갖는 원소들의 연속적인 저장 공간: 동일한 자료형이 들어가지 않아도 된다.:...

Python - list의 메소드 및 함수 [내부링크]

메소드 : 클래스 내의 함수. 클래스이름.함수이름 으로 호출된다.함수 : 코드내에 static으로 존재한다. 함...

명품 자바 프로그래밍 10장 Open Challenge - 간단한 갬블링 게임 만들기 [내부링크]

# [Enter]키를 입력할 때마다 3개의 수를 랜덤하게 발생시킨다.# 3개의 수는 0부터 4까지의 수.# 3개의 수...

자바 영어 단어장 프로그램 소스 [내부링크]

- 220줄정도?- 파일에 단어 추가 , 단어 읽기 기능- 정답률- 단어보고 맞추기 &amp; 뜻보고 맞추기 선택 가...

명품 자바 프로그래밍 11장 연습문제 [내부링크]

- 학습용으로 작성한거라 틀릴 수 있습니다 참고만 해주세요- 틀린거 지적해주시면 감사합니다1. 스윙 컴...

명품 자바 프로그래밍 11장 실습문제 [내부링크]

- 학습용으로 작성한거라 틀릴 수 있습니다 참고만 해주세요- 틀린거 지적해주시면 감사합니다1. 버튼 비활...

JSP 세션 주기 / 없애기 [내부링크]

- 세션 주기: session.setAttribute(&quot;속성명&quot;, &quot;값&quot;);: 값을 속성명에 세션으로 부여...

JSP 게시판 완성! [내부링크]

2019/11/01~2019/11/04 (4일)- 로그인 , 로그아웃 , 회원 가입- 글쓰기, 수정 , 삭제- 덧글 작성, 삭제- ...

명품 자바 프로그래밍 12장 연습문제 [내부링크]

- 학습용으로 작성한거라 틀릴 수 있습니다 참고만 해주세요- 틀린거 지적해주시면 감사합니다1. 자바의 컴...

명품 자바 프로그래밍 11장 OpenChallenge - 갤러리 만들기 [내부링크]

- 학습용으로 작성한거라 틀릴 수 있습니다 참고만 해주세요- 틀린거 지적해주시면 감사합니다

명품 자바 프로그래밍 12장 실습문제 [내부링크]

- 학습용으로 작성한거라 틀릴 수 있습니다 참고만 해주세요- 틀린거 지적해주시면 감사합니다1. paintCom...

[Servlet] 서블릿 [내부링크]

- 서블릿이란 ? : 클라이언트(사용자)의 요청을 처리하고 그 요청에 대한 결과를 리턴해주는 자바 프로그래...

[JAVA] Thread 쓰레드 [내부링크]

컴퓨터에서 사용하는 Thread 란 ?: 작업(태스크)코드를 실행하는 단위테트리스를 예로 들면,1. 오디오 ...

명품 자바 프로그래밍 13장 연습문제 [내부링크]

1. 일상생활에서 일어나는 멀티 태스킹의 사례 2가지 ?: 음악 들으면서 걷기: 유튜브보면서 음식 먹기2...

명품 자바 프로그래밍 13장 실습문제 [내부링크]

1. 실행되자마자 1~10까지 콘솔 창에 출력한뒤 종료하는 스레드.2. JPanel을 상속받은 객체를 컨텐트...

[Java] Swing 컴포넌트( button, Label ) 크기조절 [내부링크]

자바 스윙 , AWT를 쓰면서 , 배치관리자( Layout ) 에서 버튼이나 라벨 크기를 조정하고 싶은데 setSi...

[ 팝송 공부 / 추천 / 해석 ] Les Miserables OST - Do You Hear The People Sing? [내부링크]

https://youtu.be/47E2tfK5QAg영화 레미제라블을 보고, 감명깊게 들은 노래 중 하나.사람들의 목...

명품 자바 프로그래밍 14장 Open Challenge - 커피 자판기 시뮬레이터 [내부링크]

알고리즘은 쉬운데 위치 잡고 paintComponent() 쓰는게 좀 짜증났다 위치지정해야해서.

명품 자바 프로그래밍 15장 실습문제 [내부링크]

1. Client에서 한 줄씩 입력받아 Server로 보내고, 서버는 받은 텍스트를 출력하는 프로그램- Server-...

SpringFramework- MVC란? [내부링크]

지식 출처 : https://book.naver.com/bookdb/book_detail.nhn?bid&#x3D;14634432MVC 란?: Model, ...

SpringFramework - DI [내부링크]

DI &#x3D; Dependency Injection &#x3D; 의존성 주입말이 어렵지 쉬운 개념인 것 같다. 의존한다는...

SpringFramework - DI를 설정하는 방법 4가지 [내부링크]

앞서 살펴본 DI의 설정 방법은 XML 파일을 이용해 DI를 설정하는 방법이었는데, 그 외에도 DI 설...

SpringFramework - 컨테이너의 생명 주기 [내부링크]

스프링 컨테이너의 생명 주기(&#x3D;Life Cycle)는 다음과 같다.1. GenericXmlApplicationConte...

SpringFramework - 외부 파일을 이용한 설정 [내부링크]

설정 값들 ( DB 접근을 위한 URL, ID , PW 등등 ) 이 필요할 때, 프로젝트 자바 코드 내에 설정...

SpringFramework - AOP [내부링크]

AOP&#x3D; Aspect Oriented Programming&#x3D; 관점 지향 프로그래밍코딩을 하다보면은 공통적...

SpringFramework - MVC 구조 및 동작 과정 정리 [내부링크]

지식 출처 : https://www.youtube.com/watch?v&#x3D;HX2M8q2zfKM&amp;list&#x3D;PLOJ3X9PwqL...

SpringFramework - @Controller , @RequestMapping [내부링크]

컨트롤러는 Dispatcher Servlet 이 전달해 준 요청을 처리하는 역할을 한다.컨트롤러는 @Controller...

SpringFramework - 데이터 주고받기 ( Form ) [내부링크]

Spring에서 Form 데이터를 주고받는 방법은 4가지가 있다.1. HttpServletRequest Class를 이용하...

SpringFramework - redirect: [내부링크]

RequestMapping이 될 때, 기존 매핑된 페이지에서 다른페이지로 이동할 때 사용한다.예제는 다음과 같...

SpringFramework - Form 데이터 유효성 검사 [내부링크]

Form 페이지에 여러 입력 값들이 있지만, 필수인 항목이 있고 필수가 아닌 항목이 있다. 그래서 필수인 ...

SpringFramework - 한글 처리 ( utf-8 Encoding Filter ) [내부링크]

코딩을 하다보면 인코딩이 초기에 EUC-KR 로 되어있어서 한글이 깨지는 경우가 있다.그래서 해결을 ...

BootStrap 쉽게 적용하는 방법 [내부링크]

간단하게 예쁜 웹을 만들 수 있게 해주는 라이브러리인 BootStrap의 간단한 사용법을 알아보자.부트 ...

SpringFramework - Oracle DB 연결하기 ( DataSource + Spring jdbc ) [내부링크]

Servlet.init() 오류 및 oracle.jdbc.driver.OracleDriver class not found 오류 등등많은 시행착오를...

SpringFramework - JdbcTemplate 사용법 [내부링크]

저번 포스팅에 JdbcTemplate 세팅까지 했는데, 하고자 하는 Query 에 따라 사용해야하는 메소드가 다...

SpringFramework - Mybatis [내부링크]

- MyBatisDB 관련 프로그래밍을 좀 더 쉽게할 수 있도록 도와주는 프레임워크로, 개발자가 작성하는...

SpringFramework - 파일(이미지) 업로드하기 ( + Mybatis ) [내부링크]

Spring MVC 에서의 파일 업로드 순서에 대해 알아보자.1. 업로드 관련 DB 구축 - 필자는 오라...

SpringFramework - ajax 사용법 [내부링크]

ajax는 JavaScript 의 라이브러리 중 하나로, 비동기식 자바 스크립트와 xml의 약자이다. 페이지의 새...

SpringFramework - Security 1. 설정 [내부링크]

참고 문서 :http://springmvc.egloos.com/504862https://to-dy.tistory.com/70 - Spring Security...

SpringFramework - Security 2. 로그인 페이지 생성 & 로그아웃 [내부링크]

참고문서 : https://to-dy.tistory.com/72?category&#x3D;720806Spring-security 프레임워크 사용 ...

SpringBoot - Exception Handler 어노테이션 [내부링크]

# Spring Boot@ExceptionHandler Annotation 은 작성한 메소드 안에서 발생하는 해당 Exception을 ...

Couchbase - MongoDB 개발자와 전문가를 위한 Couchbase 소개 [내부링크]

틀림없이 MongoDB는 인기있는 문서기반 JSON Database입니다.지난 십여년 동안, 데이터 베이스마...

Couchbase - NoSQL 문서 데이터베이스의 복제 ( MongoDB vs Couchbase ) [내부링크]

복제는 가용성 및 재해 복구에 사용하기 위해 수십 년간 데이터베이스 시스템에서 중요한 역할을 해왔습...

Couchbase Server 6.6 버전의 새로운, 향상된 기능 소개 [내부링크]

현재 Couchbase 6.6은 분석, 쿼리, 검색 및 이벤트 서비스 뿐 아니라 백업, 복구 및 툴링 기능을 포함한...

Couchbase - N1QL 트랜잭션 : 유연하고 확장이 가능한 분산 트랜잭션 [내부링크]

개요관계형 데이터 베이스 시스템에서, SQL은 쿼리 언어 이상 의미를 가지고 있습니다.procedural(절차)...

Couchbase FTS - 쿼리 성능 향상을 위한 5가지 팁 [내부링크]

검색 쿼리 성능의 튜닝은 업무상 중요한 어플리케이션이 지연시간 및 처리량의 SLA 요구사항을 충족할 ...

travel-sample 4. airport - flightPath [내부링크]

# 항공편을 검색해주는 로직# FlightPathControllercluster와 bucket을 자동주입받고, 지정한 떠나는 날짜를 US 지역에 맞춰서 SHORT 타입으로 포맷한다.# 호출받은 FilghtPath 클래스Map의 List를 가 Result 를 반환합니다. cluster, bucket, from, to, leave를 매개변수로 받습니다.첫 번째 쿼리는 다음과 같이 실행된다.route는 출발지, 목적지가 faa로 되어있기 때문에 매개변수로 받은 airportname의 faa들을 뽑아내서각각 fromAirport, toAirport의 변수에 다시 저장한다.매개변수로 받은 aiportname의 faa들을 뽑아내는 작업Stringbuilder를 완성하면 다음과 같다.unnest - 배열을 행으로 만들어준다. route docume.......

travel-sample 5. Book [내부링크]

# UserController 클래스의 book 메소드RequestBody 어노테이션으로 받은 String을 JsonObject로 만든다.TokenService 클래스에 있는 verifyAuthenticationHeader 메소드 호출# TokenService의 일부Jwts.parser() 메소드를 통해 jwt 토큰을 파싱하여 username 을 가져와 리턴한다.토큰에서 추출한 username과 파라미터로 받은 username이 다르면 throw 를 통해 Exception을 발생시킨다.# 다시 User Classuser Class의 registerFlightForUser 클래스 호출. 호출하고 받은 Map형태의Result를 ResponseEntity의 body에 넣어서 리턴한다. 매개변수로 scope, username, # User Class의 일부.매개변수로 scope, username, JsonObject 중 flig.......

Travel-sample 6. getFlight [내부링크]

Booked 키를 눌렀을 때 # UserControllerbooked 키를 눌렀을 때, /api/users/{username}/flights URL 요청이 일어난다.매핑된 booked 메소드는 Request의 Header에있는 Authorization(허가) 정보를 검사한다.만약 Authorization 정보가 없거나, Bearer 로 시작한다면 UnAuthorized 를 리턴한다.그리고 User클래스의 메소드로부터 Flights 목록(정보)들을 얻어온다.# User getFlightsForUser 메소드Users Collection에서 해당하는 user의 document 정보를 뽑아와서 flight 항목에 저장된 값만 Array 로 불러온다.그리고 그 flight Array에 해당하는 목록들은 모두 flights Collection에 그 항공기에대한 정보가 적혀있는데,그 정보를 fl.......

JavaScript - zszip, checkbox [내부링크]

# 체크된 체크 박스에만 function 기능 수행# jszip, filesaver , jszip-utils CDN# fileURLs (List 배열)에 있는 요소들을 하나씩 꺼내서 url이라는 변수에 주고 function 수행# getBinaryContent로 읽어오고 압축하기.해당하는 url의 데이터를 data 로 담는다.zip.file 명령어를 통해 이름, 데이터를 집어넣는다.generateAsync를 통해 zip 파일을 생성하고, 해당하는 파일들을 zip 파일 이름으로 묶는다.

CSS - 위치 지정 ( Display, Position ) [내부링크]

# displaydiv &#x3D; 기본적으로 block ( 일정한 크기를 가지며 아래로 정렬 )span &#x3D; 기본적으로 inline-blockPosition은 기본적으로 static을 가진다.

Couchbase - Full Text Search 엔진의 텍스트 분석 [내부링크]

출처 : https://blog.couchbase.com/full-text_search_text_analysis/Full Text Search(&#x3D;FTS)는 텍스트 내용을 포함하는 Document나 Document에서 텍스트의 내용을 검색하는 기술을 말합니다. FTS 엔진은 단일 검색어 혹은 여러 용어와 매치되는 문서 내의 모든 텍스트 내용을 검사하는데, 텍스트 분석은 Couchbase 내에서 핵심 구성요소가 됩니다.가장 잘 알려진 FTS 엔진인 엘라스틱서치가 내장된 Lucene에 대해 들어보셨을 겁니다.Couchbase FTS 엔진은 Bleve에 의해 구동되며, 이 글에서는 엔진 내에서 텍스트를 분석하는 다양한 방법을 소개할 것입니다.Bleve는 Couchbase에서 자체 개발한 Go에서 구현된 텍스트 인덱싱 및 검색 라.......

외부 데이터셋(External Datasets) - Couchbase Analytics 기능을 통해 확장이 가능하다. [내부링크]

- External Datasets 소개Couchbase는 Couchbase Server 6.6 릴리즈 버전에서 새롭게 External Datasets Analytics Service 기능을 발표했습니다. External Datasets은 고객이 AWS S3(Simple Storage Service)에서 외부로 저장된 데이터에 실시간으로 액세스하고 S3 상주 데이터를 기존 Couchbase 데이터와 결합하여 분석할 수 있도록 합니다.- 사용자 사용 사례스토리지 비용을 절감하고 데이터를 저장하기 위해 AWS S3를 사용하는 사용자들도 있습니다. 이 사용자들은 S3 데이터를 실시간으로 결합, 조회 및 활용하여 비즈니스 사용자가 분석할 수 있도록 하고싶다고 밝혔습니다.참고 https://blog.couchbase.com/analytics-customer-use-cas.......

면접공부 - HTTP , AJAX , WebSocket [내부링크]

웹(HTTP)의 동작 원리# 간단ver.사용자가 요청을 보내면 서버에서 요청한 페이지나 이미지 등을 보냄으로써 응답한다.1. 브라우저에 URL을 입력하면, DNS서버로 해당 사이트의 IP 주소를 요청한다.2. DNS서버에서 URL 의 IP주소를 클라이언트로 리턴한다.3. 클라이언트는 받은 서버의 IP주소로 HTTP request 를 생성하고 TCP 프로토콜을 통해 전송된다.4. 웹 서버는 받은 HTTP request에 해당하는 데이터를 HTTP response를 생성하고 TCP 프로토콜을 사용해 요청한 클라이언트로 전달한다.5. 도착한 HTTP reponse는 HTTP 프로토콜을 통해 웹 페이지 데이터로 변환되고 웹 브라우저에 의해 출력된다.AJAX &#x3D; Asynchronous Javascrip.......

Spring을 사용하는 이유 [내부링크]

장점 1. 의존성 주입(DI)을 통해 모듈간의 결합도를 낮춘다.개발자 대신에 IOC 컨테이너가 XML파일에 정의된 대로 Bean 객체를 생성하고 의존성을 주입한다. IOC(제어의 역전)란 개발자가 직접 객체를 생성하고 관리해야 하던것을 Spring의 IOC 컨테이너가 대신 해준다는 말이다.보통 자바에서 클래스를 new로 인스턴스를 만들어 사용하는 방식은 모듈간에 강한 결합도를 가지게 하는데 생성자와 setter 등으로 외부에서 객체의 인스턴스를 받아서 사용하는 방식으로 하면 해당하는 부분의 클래스만 변경하면 된다.이런식으로 각각의 클래스에서 new로 객체의 인스턴스를 계속해서 만들어 생성하는게 아니라IOC Container 가 필요한 클래.......

OPP = 객체지향 프로그래밍 [내부링크]

객체 지향 프로그래밍 &#x3D; Object Oriented Programming인간 중심적 사고로 프로그래밍 하는 것으로 현실 세계를 프로그래밍으로 옮겨와 프로그래밍 하는 것을 말한다.모든 사물들을 &#x27;객체&#x27;로 보고 필요한 특징들을 뽑아오는 것으로 프로그래밍 한다.특징 1. 상속상위 클래스의 메소드, 변수들을 서브클래스에서 재사용할 수 있다.특징 2. 다형성한 객체는 다른 여러 형태로 재구성될 수 있다.예를들어 과일이라는 객체는 사과,포도, 바나나 등으로 다양한 형태를 가진다.특징 3. 추상화객체의 공통적인 속성과 기능을 추출하여 정의할 수 있다.특징 4. 캡슐화데이터와 코드를 외부로부터 알 수 없게 한다.장점 1. 코드.......

Spring의 동작 원리 [내부링크]

# Spring MVC 의 동작 흐름1. Dispatcher Servlet이 Client 로부터 요청을 받고, HandlerMapping에 매핑된 컨트롤러가 있는지 확인한다.2. 매핑된 컨트롤러가 있다면, 컨트롤러가 요청을 처리하고 보여줄 View의 이름을 Dispatcher Servlet에게 리턴한다.3. 컨트롤러에서 받은 View의 이름을 ViewResolver에서 검색한 후, 처리 결과를 View에 보내면 View는 처리된 결과를 화면으로 표현한 후 Dispatcher Servlet에 전송한다.4. Disaptcher Servlet이 웹 브라우저에 최종 결과를 출력한다.

SpringMVC - pop3 프로토콜을 이용해 메일 리스트 확인하기 [내부링크]

pop3 메일 프로토콜을 이용해서 메일 리스트를 확인해보는 예제입니다.1. 메일의 설정에서, pop3 프로토콜을 허용합니다.2. Mail의 세부정보를 저장할 클래스를 만듭니다.3. 컨트롤러를 만듭니다.페이지는 총 login하는 home 페이지, 로그인하고나면 메일리스트를 보여줄 mailList 페이지,메일 제목을 클릭하면 세부정보를 보여줄 mailDetail 페이지, 에러가나면 보여줄 errorPage 페이지로 구성됩니다,컨트롤러에 생성하는 메소드입니다.1) Properties 의 객체인스턴스를 만들어서, pop3 를 이용하는데 필요한 프로토콜 이름 및 SSL 을 사용하도록 설정하고, 설정한 속성값들을 이용해 session 인스턴스를 생성합니다.- 참고2) .......

Java - 추상클래스와 인터페이스의 차이 [내부링크]

추상클래스 vs 인터페이스추상 클래스는 상속을 통해 그 기능을 확장하려는데 목적이 있습니다.인터페이스는 해당 인터페이스를 구현한 객체들이 동일한 동작을 하게 하기위해 사용합니다.또, 추상 클래스는 Class 이기때문에 다중상속이 불가능하지만 인터페이스는 다중 상속이 가능합니다.

Java - throw 와 throws 의 차이는? [내부링크]

# throw 와 throws throw 는 강제로 예외를 발생시킬 때 사용하고,throws 는 자신을 호출한 메소드에게 Exception 을 처리하도록 맡길 때 사용합니다.예제 코드는 다음과 같습니다.# 결과 # throw1을 0으로 나누면 아래와 같은 Exception 이 나타납니다.java.lang.ArithmeticException: / by zerothrow는 catch문에서 Exception을 강제로 발생시키는 역할을 했습니다. 이 때문에 호출한 메소드로 가서 catch문을 수행하도록 합니다.그래서 기존 메소드에서 catch문에서 throw 오류!!! 구문이 호출되고호출한 메소드의 catch문에서 throw 오류 받음!! 구문이 호출됩니다.# throwsthrows 는 메소드를 정의하는 옆에 쓰며, 호출한 메.......

NoSQL 의 등장배경, 정의, 특징 [내부링크]

# 등장 배경웹 시장이 발전함에 따라 데이터의 발생량이 증가했고, 사용자가 요구하는 데이터 및 저장해야 하는 데이터가 일관적이지 않아졌기 때문에 RDBMS의 수평적 확장성의 한계를 해결하기 위해 비정형 데이터를 쉽게 담아서 저장하고 처리할 수 있는 구조를 가진 NoSQL 데이터 베이스가 각광받게 되었습니다.# 정의Not Only SQL 의 약자(&#x3D;SQL만 있는게 아니다)로, 기존 RDBMS 의 특성뿐 아니라 다른 특성들을 부가적으로 지원한다는 것을 의미합니다.RDBMS보다 더 융통성있는 데이터 모델을 사용하고 데이터의 저장 및 검색을 위한 특화된 매커니즘을 제공합니다.스키마와 테이블간의 JOIN 관계와 같은 RDBMS의 특징을 포함하지 않.......

Couchbase [내부링크]

# Couchbase 정의다양한 환경에서 사용가능한 최초의 NoSQL 데이터베이스.데이터를 Map(Key:Value) 형태로 사용하며, Value에 JSON Document 를 지원한다.# 기본적인 용어Node: 카우치 베이스 서버를 의미한다. Cluster: 여러 개의 노드를 묶어 하나의 서버처럼 사용하는 것Bucket: 클러스터에서 공유하는 데이터가 저장되는 논리적 컨테이너vBucket: Bucket은 각 노드별로 합해서 총 1024개로 이루어진 vBucket으로 나눠 저장된다. ( 노드가 4개면 256개씩 )# Couchbase 장점1. JSON 기반의 유연한 데이터 모델을 사용한다.2. 일관성있게 고성능을 제공한다.3. 간편한 확장성과 무중단(24시간 365일) 가용성을 제공한다.4. 실시간 운영 환.......

Travel-Sample 분석 1. CreateLogin [내부링크]

https://docs.couchbase.com/java-sdk/3.0/hello-world/sample-application.htmlCouchbase에서 제공하는 샘플 어플리케이션이다.ReadMe 를 읽어보면다음 작업을 수행해야하는데, $1은 userId(Admin), $2&#x3D;password, $3&#x3D;localhost 에 맞춰서 실행하면 된다.# Create User Logic0. /signup url 호출1. UserController Class 의 createLogin method 를 호출2. 위의 메소드에서 user 클래스의 createLogin 호출- UserController source code- Createlogin 부분./api/user/signup URL로 요청이 들어오면, 요청 들어온 매개변수의 데이터를 JsonObject로 담고 User클래스의 createLogin메소드를 호출해 Result Class 타입의 인스턴스.......

Travel Sample 분석 2. Login [내부링크]

# Login Logic- UserController Classrequest할 때 받은 유저아이디, 비밀번호를 토대로 User Class의 login 메소드를 호출한다.CreateLogin 메소드와 똑같이 Ivalue를 상속받은 클래스의 ReponseEntity 를 리턴한다. 요청 받을때, Map 형식의 loginInfo 를 받는다.# 호출받은 User Class의 login method받은 username의 문서가 해당 scope, collection에 있는지 확인한다.없다면 userController로 exception을 던지고, 있다면 그 document를 토대로 JsonObject를 생성한다.받은 password를 암호화시키고 document의 패스워드와 비교해 동일하면 인증이 완료된 것이니token을 만들어 Map 형태로 리턴한다.

travel-sample 3. Airport [내부링크]

# Airport Logic항공편 검색 로직.한글자 칠 때마다 자동완성을 위해 쿼리가 실행된다.# AirportController생성자 매개변수로 cluster, bucket을 가지고있다.aiports 메소드는 앞의 CreateLogin, Login 로직과 똑같이 IValue를 상속받은 클래스(Result, Error)의 ResponseEntity 객체를 반환한다.Map 형태의 리스트를 가진 Result를 ReponseEntity body에 넣어서 리턴한다.Map 형태의리스트를 가진 Result는 Airport클래스의 findAll() 메소드에서 가져온다. 클러스터명, 버킷명, 검색할 항목명을 매개변수로 준다.# 호출된 Aiport 클래스StringBuilder 를 사용하는 이유그냥 String은 새로운 값을 할당할 때 마다 새로 주소를 생성.......

SpringMVC - Error Page 만들기 [내부링크]

개발자의 입장에서는 오류 페이지가 뜨는게 어떤 오류가 발생했는지 더 확인하기 쉽지만,일반 사용자들에게는 해당하는 오류가 노출되지 않는게 좋다.오류 페이지를 만드는 과정은 다음과 같다.1. web.xml에 에러에 해당하는 코드와, 에러페이지가 위치한 경로를 써준다.404에러가 발생하면 404.jsp 페이지를 나타나게 한다.2. 에러 페이지에 해당하는 내용을 작성한다.3. Controller 에 에러 페이지를 매핑시킨다.끝!설정한대로 뜬다!

SpirngFramework - WebSocket을 이용한 실시간 채팅 [내부링크]

HTTP의 통신 방식은 Client(사용자)에서 요청을 보내면 Server에서 Response을 하는 방식이다.하지만 서버에서 먼저 Client 로 특정한 동작을 알려야 하는 경우가 있다. ( 페이스북에서 친구가 새 글을 등록하면 알리기 등 ) 이전에는 Polling 이나 Long Polling, Http Streaming 의 방식으로 해결했지만 WebSocket의 등장으로 Server-Client 간의 실시간 통신이 가능하게 되었다.# WebSocketWebsocket 은 웹 상에서 HTTP 환경에서 전이중 통신(양방향 통신)을 지원하는 프로토콜이다.HTTP 기반으로 HandShake를 하지만 HTTP와는 다른 방식으로 통신을 한다.HandShake를 완료하고도 Connection을 유지한다.- 원래 HTTP 통신은 Request-Re.......

JavaScript - Enter 키로 실행하기 ( 로그인 , 검색 , 채팅 ) [내부링크]

submit 버튼이 누르기 귀찮아서 엔터로 바로바로 되게해야지 하고 찾아보았다.1. input 에다가 onkeyup 을 등록해 함수를 발생시킨다.# 키보드에 관련된 이벤트onkeydown : 키를 눌렀을때 이벤트 (한영변환, 한자 등의 특수키는 인식 못한다)onkeyup : 키를 눌렀다가 뗐을 때 이벤트onkeypress : 실제로 글자가 써질때 이벤트 (shift, tap, enter 등의 특수키는 인식 못한다, 한글은 지원하지 않는다)enter의 keycode &#x3D; 13- 지식 출처https://electronic-moongchi.tistory.com/36

Java - UUID [내부링크]

Java.util.UUID &#x3D; 유일한 식별자를 생성한다.랜덤으로 유일한 식별자를 만든다. 웬만해선 중복되지 않는다.

SpringFramework - WebSocket으로 JSON 데이터 주고받기 [내부링크]

짧게 어떻게 Class를 JSON 데이터의 형태로 Websocket에서 주고받을 수 있는지 서술한다.ObjectMapper.writeValueAsString 메소드 : 클래스에 있는 데이터들을 JSON 형태의 String으로 만들 어서 보낼 수 있다.( 여기서 roomMessage 는 제가 만든 클래스입니다. )현재 roomMessage 클래스에는 roomType, roomName, roomMaxUser 의 속성만 값이 들어있다.JSON.parse : webSocket에서 온 JSON의 데이터를 각각의 데이터타입으로 분해해준다.콘솔의 로그를 확인해보면 다음과 같다.

SpringMVC - 웹 크롤링 [내부링크]

Spring 에서는 jsoup 이라는 HTML Parser 를 지원한다.# Jsoupjava 로 만들어진 오픈소스 HTML Parser로, HTML 을 다루는데 사용한다.URL 을 소스로 HTML을 파싱할 수 있다. DOM 구조를 추적하고 데이터를 찾아 추출할 수 있다.간단한 예제를 구현해보자.1. pom.xml에 jsoup 의존성을 추가한다.2. Client 로부터 URL 을 입력받을 간단한 폼을 만든다. (굳이 안만들고 컨트롤러 같은 곳에서 해결해도 됨.)이 네이버 날씨를 크롤링 해보도록 하겠다.개발자 도구에서 저 버튼을 누르고 저 카드부분을 클릭하면, 이렇게 어떤 div 에 해당하고있는지가 뜬다.그러면 card card_today class에 해당하는 것을 확인할 수 있다.그리고 그.......

면접 공부 - Java [내부링크]

자바의 실행 순서자바와 같은 고급 언어로 소스코드를 작성하면 , 자바 컴파일러는 각 소스 파일을 컴파일하여 Class 파일을 생성한 후 JVM이 클래스 파일을 로딩한 후 실행한다.&#60; 자바는 각 파일을 하나의 실행 파일(.exe)로 뭉치는 링크의 과정이 없다. &#62;컴파일 ? 컴파일러 ?컴파일러: 고급 언어로 작성된 프로그램은 컴퓨터가 직접 처리할 수 없기 때문에 컴퓨터가 실행할 수 있는 기계어 코드로 변환하는 소프트웨어WORA &#x3D; Write Once Run Anywhere한 번만 작성하면 어디서든 실행할 수 있다는 의미로,자바는 플랫폼에 독립적으로 설계되어서 운영체제&#38;하드웨어와 상관 없이 JVM만 있으면 어디서나 실행이 가능하다........

Java - Class 의 특정 값으로 ArrayList 정렬하기 [내부링크]

코로나 사이트를 크롤링 하는데 오늘 확진자 순으로 정렬을 하고싶어서 음 어떻게할까 고민하다가 찾았다.java.util.Comparator Interface의 compare 메소드를 오버라이딩하여 해결할 수 있었다.리스트에는 이런식으로 CityInfo 라는 내가 만든 클래스가 들어간다.CityInfo 클래스의 형태는 다음과 같고 todayTotal 이라는 속성으로 내림차순(큰수부터 위에보이게) 정렬하고싶었다!ListComrator 라는 클래스를 하나 만들고, Comparator 인터페이스를 상속받는다.Comparator Interface의 compare 메소드를 오버라이딩하는데,CityInfo의 todayTotal 값을 가져와서 비교한다.내림차순 하려면 변수1이 클 때 -1을 return 하면 되고 오름차.......

SpringFramework - 로그 설정 (log4j) [내부링크]

지식 출처 : https://to-dy.tistory.com/20 - Log4j 정의 : log for java로그의 대상을 다양하게 설정할 수 있도록 도와주는 도구이다.보통은 콘솔에 출력하고, 특정 파일에 로그를 남길 수도 있다 - log4j의 구조1. Appender로그의 출력위치를 결정한다. ( 콘솔, 파일 등 )2. Logger로깅 메세지를 Appender에 출력한다.3. LayoutAppender 가 정한 위치에 어떠한 형식으로 출력할 것인지 결정한다.글로만 보면 어려우니 예제를 확인해보자.appender, layout, logger를 각각 확인할 수 있다.첫 번째로 보이는 Logger를 해석해보자면,com.my.myBoard 패키지에서 로깅 메시지가왔을 때 log 레벨이 info이상이라면 로깅메세지를 Ap.......

[ 팝송 공부 / 추천 / 해석 ]Lauv - Never Not [내부링크]

https://www.youtube.com/watch?v&#x3D;VT_hLby9uSY라우브 - Never Not공부하기 싫어서 이것저것 보다가 우연히 들었는데 매우 절절하고 좋다.전 애인을 생각하며 쓴 가사같은데 가사가 매우 좋다 매우 슬프다!We were so beautiful우린 아주 아름다웠지We were so targic우린 아주 비극적이었어No other magic could ever compare그 어떤 마법과도 비교할 수 없었어Lost myself, seventeen열일곱살에 날 잃었었지Then you came, found me너가 오고나서, 나를 찾았었지No other magic could ever compare그 어떤 마법과도 비교할 수 없었어There&#x27;s a room In my heart with the memories we made내 가슴속에 우리가 만.......

SpringFramework - Servlet [내부링크]

지식 출처 :https://www.youtube.com/watch?v&#x3D;cmwmamOQmPc# Servlet: 클라이언트의 요청을 처리하기 위해 HTML등의 웹 컨텐츠를 생성하고 그 결과를 다시 반환하기 위해 Servlet 클래스의 구현 규칙을 지켜 만들어진 자바 프로그램이다.각각의 서블릿은 Servlet Interface 를 상속받아 구현하고있는데, 서블릿 컨테이너가 이를 관리하며 이 컨테이너를 통해 서버와 통신한다.동적인 웹 페이지는 클라이언트와 서버가 통신할 때, 서버와 프로그램이 또 Servlet을 통해 상호 작용을 한다.하지만 각 서블릿에서 데이터를 주고 받는게 아니라 이를 가지고 있는 서블릿 컨테이너에게 위임하기때문에 서블릿 컨테이너와 서블릿 사이의 규.......

버블정렬 , 선택정렬 , 삽입정렬 [내부링크]

자료 구조 : 정렬 알고리즘1. 선택정렬 &#x3D; Selection Sort배열에서 맨 앞에 있는 숫자를 key로 잡고 뒤에 있는 수들과 순서대로 비교한 후, 1:1 교환한다.# 선택정렬 비교 방식# Java 소스 코드# 실행 결과2. 삽입 정렬 &#x3D; Insertion Sort2번부터 순서대로 그 앞 값과 비교 후 자리를 1:1로 교환한다.뒤에 값을 key로, -- 하면서 앞으로 비교하는게 포인트.# 삽입 정렬 비교 방식# Java 소스 코드 # 실행 결과3. 버블 정렬 &#x3D; Burbble 정렬가장 쉬운 정렬 방법.앞에서 뒤로 계속해서 1:1비교후 교환한다. 뒤는 점점 비교 안하게 된다.# 버블 정렬 비교 방식# 소스 코드# 실행 결과

Spring Boot - 프로젝트 생성 [내부링크]

# Spring Boot 프로젝트 생성하기 new &#62; Spring Starter Project 버튼을 누르면 아래와 같은 창이 뜬다.Name : 프로젝트의 이름이자 , URL 포트 뒤에 들어갈 이름Type : Maven 과 Gradle 중 어느 것을 사용할 지 선택Java Version : 1.8 Version을 사용해서 8 선택Package : src/main/java 폴더 밑에 생기는 패키지 명자신이 설정하고 싶은대로 설정한 후 , NextDependency 에 Web 의존성만 추가해주고 Finish 를 누른다.프로젝트가 다음과 같은 구조로 생성이 된다.!!! 다음과 같은 구조로 생성되지않고, 오류가 발생하면 !!!pom.xml에 &#60;dependencies&#62; 와 &#60;/dependencies&#62;사이에 다음과 같은 문구를 추가한다.al.......

SpringBoot - 포트 변경하기 [내부링크]

Spring Boot를 실행할 때 가끔씩 port 8080 already using 이런 오류가 발생한다.해결법은 엄청 간단하다.src/main/resources 폴더에 있는 application.properties 에server.port &#x3D; 원하는 포트번호 만 적어주면 끝난다.이 이후에 실행해보면설정한 8008 포트로 실행되는 것을 확인할 수 있다.

JDBC ? DataSource ? SqlSession ? [내부링크]

# JDBC &#x3D; Java DataBase Connectivity자바 프로그램 안에서 SQL 문을 실행하기 위해 사용되는 API(Application Programming Interface)를 말한다.JDBC API는 데이터 베이스 종류랑 상관 없지만,각 데이터 베이스의 종류(mysql,oracle 등) 에 알맞은 JDBC Driver 를 사용해야 한다.( mysql &#x3D; com.mysql.jdbc.Driver , Oracle &#x3D; oracle.jdbc.driver.OracleDriver )# JDBC 의 흐름1. JDBC 드라이버 로드 ( Driver )2. DB 연결 ( Connection )3. DB의 데이터를 읽거나 쓰기 실행 ( Statement -&#62; excuteQuery or ExecuteUpdate )4. DB에서 결과값 받아오기 ( ResultSet )5. DB와의 연결 종료 ( Close )# DateSourceJDBC만.......

SpringFramework - classpath [내부링크]

스프링 공부를 하다보면 다음과 같이 경로가 classpath 로 시작하는 경우가 있다.잘 이해안하고 그냥 com.my.~~ 패키지 경로가 classpath 인가보다 하고 넘겼는데 제대로 설명된 글을 보고 정리해보고자 한다.프로젝트 우클릭 - Properties 로 들어가서 Deployment Assembly 로 들어가면,src/main/java 와 resources 가 WEB-INF/classes 를 가르키고 있다.프로젝트를 실행하면, 맨 위의 4개의 폴더(src/main/*, src/test/*)에 있는 파일들이 컴파일 되면 모두 classes폴더에 옮겨진다. classpath는 결국 classes 파일을 순환하면서 찾는다.classpath 는 src/main/webapp/WEB-INF/classes이고, 저 네 파일을 모두 포함하는 개념이라고.......

SpringMVC - Mybatis ( mysql ) [내부링크]

# Mybatis 란?데이터 베이스 관련 프로그래밍을 좀 더 쉽게할 수 있도록 도와주는 프레임 워크.개발자가 작성한 SQL 명령어와 자바 객체를 매핑해주는 기능을 한다.SQL 명령어는 XML 파일에서 관리하고, 적은 줄의 자바 코드로 DB와의 연동을 처리한다.Mysql을 사용하는 mybatis 를 설정하는 방법은 다음과 같다.1. pom.xml 을 통해 의존성 추가자신과 맞는 버전을 사용해야 합니다. 저의 스프링과 자바 버전은 다음과 같습니다.&#60;java-version&#62;1.8&#60;/java-version&#62;&#60;org.springframework-version&#62;4.3.2.RELEASE&#60;/org.springframework-version&#62;2. root-context.xml에 dataSource와 SqlSessionFactory 를 생성Da.......

JavaScript - 회원가입 Form 확인하고 submit 하기 [내부링크]

회원 가입을 할 때, 입력해야할 필수 정보가 Null은 아닌지,비밀번호는 제대로 입력했는지 확인하기 등등 값을 체크하고나서 Submit 해야할 때가 있다.간단한 예제를 살펴보자.두번 째 줄 name&#x3D;&#34;userInfo&#34; onsubmit&#x3D;&#34;return checkValue()&#34; 을 보면document.name.value 를 통해 form 의 값을 얻기 위해 name을 userInfo로 주었다.onsubmit : submit하기 전에 유효성 검사를 위해 사용하는 이벤트로, False 가 return되면 submit 하지 않는다.확인하는 Function은 다음과 같이 짠다.document. 뒤에 들어가는 것들은 form과 input 에 지정한 name들이다.각각의 if 문에 해당되면 false 를 리턴해 submit 하.......

SpringFramework - Security 3. 에러메시지 및 페이지 [내부링크]

지식 출처 : https://to-dy.tistory.com/81?category&#x3D;720806현재, 커스터마이징 한 로그인 페이지에서는 로그인 실패를 해도 아무런 반응도 일어나지 않는다.따라서 오류메시지를 출력해줄 필요가 있다.Spring security 에서, 예외가 발생하면 해당 예외에 대한 객체를 만들어 세션에 저장한다.세션에 담긴 Key 이름은 SPRING_SECURITY_LAST_EXCEPTION 이다.로그인에 실패할 경우, 현재 뒤에 error 파라미터가 붙는다. 이때 세션에 저장된 예외 키값도 같이 따라오게 된다.core 라이브러리를 이용해, if문으로 해당 키가 비어있지 않다면 에러 메시지를 출력하도록 한다.예제는 다음과 같다.추가한 부분은 이 부분이다. - SPRIN.......

SpringFramework - Security 4. DB와 security login service 연동 [내부링크]

지식 출처: https://to-dy.tistory.com/85?category&#x3D;720806지금까지는 예제로 이렇게 하나하나 권한을 가진 회원을 입력해줬지만, 서비스에서 이렇게 하나하나 입력해 줄수는 없는 노릇이다. 그래서 DB와 연동하는 방법을 알아보려고 한다.1. pom.xml 에 Spring-jdbc 및 mybatis dependency 를 추가해준다. - mysql사용자는 mysql dependency 도 등록해야한다. 필자는 orcle 사용.2. security-context.xml에 자신에게 맞는 dataSource를 등록해준다.그리고 그 dataSource를 이용하여 사용자 인증을 하는 구문, 사용자의 권한을 가져오는 구문을 등록해준다.3. 회원정보를 저장할 DB를 만들어주고, 테스트 할 레코드를 하나.......

SpringFramework - Security 5. 패스워드 암호화 [내부링크]

암호화를 할 때, 세 가지를 유의해야 한다.1. 데이터 베이스에서의 암호화에 의존하지 않는다.2. 단방향 암호화( 평문-&#62; 암호화 만 가능, 암호화-&#62;평문 불가능 ) 해야 한다.3. 예측이 불가능하도록 salt 처리를 해줘야한다. ( salt 는 비밀번호의 복잡도를 위해, 알고리즘을 교란하기 위해 사용하는 암호화할 때의 추가적인 값)현재 DB에는 이렇게 개발자가 ID, PWD 모두 확인할 수 있도록 되어있다.하지만 사용자의 password를 개발자라 해도 함부로 보면 안되므로, 암호화 하는 방법에 대해 알아보도록 한다.암호화하는 방법은 spring security의 BcryptPasswordEncoder를 이용하면 쉽다. 다음과 같다.1. security-conte.......