내일배움캠프 2일차.. 웹개발 A to Z 강의를 수강중이고 다른 강의들도 듣고 난 후의 지식으로 다음주 월,화요일에 미니 프로젝트를 만들어서 제출해야한다. 기본적인거지만 오랜만이라 그런지 헷갈리기도 하고 열심히 해야겠지! > 근데 너무 졸리다 흑흑
오늘은 튜터님과 처음으로 대화를 해보았다.깃허브 사용법과 pull,push에 대해 헷갈리는게 있어 여쭤보았는데 잘 가르쳐 주셨다.나중에는 플로우와 브런치를 배워서 사용한다고 하셨다.현업에 계시는 분이셨는데 나도 얼른 취직해서(...) 개발자가 되고 싶었다.프로젝트는 나
내일배움캠프가 시작하고 1주일동안 진행되었던 미니 프로젝트가 어제 끝났다.
어제 벨로그를 쓰고 잔다는게 깜빡..자바 기초 중 조건문,반복문에 대한 강의를 도중에 한 수강생께서 기존 가위바위보 코드를 응용한 5판 3선 가위바위보 코드를 공유하였다.다들 열심히 하는구나 라고 생각하며 자극이 되어 나는 묵찌빠 코드를 만들어보았다.import jav
내일배움캠프의 Java 문법 종합반을 수강중에 정리 해 두고 싶은 내용이 있어 적는다.(~2주차)for문for(int :item : intArr){ system.out.println(item);}이렇게하면 배열 안의 정보 순차적으로 출력하면 배열의 주소를 모두 같은 값
내일배움캠프 Java 강의를 계속 수강중이다.(~3주차)오늘 TIL(Today I Learned) 강의를 들었는데, 간단하게 내용을 정리해 보자면 다음과 같다.오늘 있었던 일을 정리한다.발생했던 일에 대한 느낀점문제가 잇었다면 개선방안 정리문제 해결 과정(권장)발생한
오늘 Java 문법 종합반 4~5주차 강의를 수강했다.예정되어 있던 개인과제를 저녁에 해보려고 했지만 시간이 모자랐다.수강 중 들으면서 나중에도 헷갈릴 만한 내용들을 내 식으로 정리 하면서 들었다.지금은 거의 일기 식이지만, 나중에 여유가 생기면 TIL도 제대로 작성해
어제 부득이하게 강의를 듣느라 개인 프로젝트를 시작하지 못했다.오늘 아침부터 자바 개인 프로젝트 구현을 시작하였다.주제는 간단히 '키오스크' 만들기 였고, 생각보다 쉽지 않았다.만들면서 내 문제를 파악하는 바람에 계속 신경쓰였다.문제는 코드를 너무 더럽게 짠다는 것이였
개인프로젝트의 로직은 어제 다 짰고, 오늘부터는 수정 및 디버깅을 했다.다행히 팀원분께서 도와주셔서 치명적인 버그를 4개나 찾았고, 모두 수정 완료 하였다.1이나 2 말고 다른걸 입력하면 오류가 났었고메인에서도 1~6,0 말고 다른걸 입력하면 오류가 났었으며메뉴고를때도
개인프로젝트 제출 마지막 날!우선, 깃허브 링크를 남겨놓아야겠다 (https://github.com/wkdehf217/Java_Kiosk)키오스크 기능 구현은 다했지만 계속 고민해봤던 클래스 / 인터페이스 활용은 못했다.자바의정석 책도 샀으니 클래스 관련 부분
오늘부터 시작한 팀 프로젝트.내용은 기존에 구현하던 개인 프로젝트를 업그레이드 하거나, 새로 호텔 예약 프로그램을 만드는 것이였다.우리 조는 개인 프로젝트를 업그레이드 하기로 결정, 각자 만든 코드 리뷰를 하고 베이스 코드를 정하였다.다시 한번 느끼지만 나의 코드는 마
오늘은 Git에 대해 공부하는 데에 시간을 많이 썼다.지금까지 Github Desktop App 만 많이 썼었는데, 이게 모든걸 해결 해 주진 않더라..왜냐면 branch를 썼기 때문이다.평소에는 그냥 main에다가 pull / push 만 하면 됬었다면branch는
오늘은 하루종일 팀 프로젝트 코딩을 했다힘들다서로 해야할것 정리하고, main과 page부분을 수정 시작했다이상..
이거다 이거HashMap을 이용해서 key, value값으로 데이터를 찾으려고 설계하였었다.하지만, value값으로 key값을 가져오는 거 까지는 잘 되었는데, 문제는 remove에서 발생했다.remove를 하는 순간 HashMap에서는 그 위치가 null로 판단되어,
드디어 본 과정이라고 할 수 있는 Spring이 시작되었다.새로운 팀원들과 함께 Spring 하나만큼은 제대로 배워가자는 생각을 했다.팀은 3명으로 이루어져 있고, 세 명 모두 전공자여서 신기했다.앞으로 많이 배워갈 준비가 되었다!!(비록 인텔리제이 community를
잠을 못잔건지 몸에 피로가 쌓인듯 하다.오늘은 일찍 자려고 노력해봐야겠다.TIL에 올리려고 보니 깃허브 연동이 안되어있었다!깜짝 놀라서 다시 연동중...근데 커밋만 눌렀을 때 자동으로 깃허브에 올라가지 않는데.. 뭐지? 일부러 나중에 한번에 올리시려고 하는건가..?학습
오늘은 뭔가 헷갈렸던 점들이 많다.꼭 복습해서 내것으로 만들어야겠다!데이터를 Client에 반환하는 방법빠른이동 : ctrl + e빠른생성 : alt + enter빠른print : soutvhtml보다는 Json을 반환을 선호(AJAX 비동기 라이브러리)view 파일이
위에 태그에 TIL을 제외하고는 오늘 배운 것들로 채워넣으면, 나중에 편할 것 같다고 생각해서 이렇게 해 놓으려고 한다.어제 심화반 줌에서 물어본 질문인데튜터님의 무기DB (정형 데이터 : 엑셀 -> MySQL) (비정형 데이터 : 시계열 데이터 -> NoSQL)\
오늘은 개인과제 마무리를 하였다.학습했다고 정리할 내용은 딱히 없..고..?업데이트, 삭제, 조회 쪽에서 문제가 있었는데 엄청난 로직에 의해 실행이 안되는줄 알았지만 튜터님과 함께 코드를 보니 단순 오타였다.남은 Spring 2주차 강의 들어야겠다!
팀 프로젝트 피드백을 봤는데, 결과가 아쉬웠다.잘한점이 한 문장도 없었어서..아무래도 한번 갈아엎기도 했고.. 라고 생각을 해보려고 한다.그래도 피드백 내용은 개발자로써 기본적으로 신경써야 하는 부분이라고 생각된다.static 사용 방법 / private / 분기 처리
위의 태그들은 나중에 찾아보기 쉽게 하기 위해 다소 난잡하지만 저렇게 해 두기로 하자.숙련주차 학습을 시작했는데, 어렵다!확실한 건 복습을 꼭 해야 한다는 것.챌린지반 다른 분들은 똑똑한 사람들이 많아 보인다.나도 챌린지반 신청할 때의 마음가짐을 잊지 말자.깃허브htt
배운것들을 잘 활용해서 프로젝트를 만들 수 있을까?지금까지 배웠던걸 적재적소에 넣어서..오늘 배운 것만 해도 그렇고 그때그때 생각이 날까\-> 튜터님 : 문법은 막 그렇게 자세하게 알지는 않는다어느 상황에 쓰고 어떻게 쓰는지를 안다물고기 잡는 법을 아는거랑 같은 말인가
제목과 태그를 좀더 간결하게 해보고자 바꿨다.나중에 찾아볼 때 편하게 보려면 어떻게 해야할까?계속 고민 중이다..Ioc 와 DI ( 제어의 역전과 주입)이전에 넘어갔지만 개념 정리가 확실히 되지 않아 다시 찾아서 공부하던 중 정리가 잘 되어있는 블로그가 있어 링크를 남
2주차, RestTemplate라이브러리 사용만으로는 구현이 힘든 기능들을 사용할 때서버에서 다른 서버로 간편하게 요청할 수 있도록 제공하는 기능client입장의 서버(8080)와 server입장의 서버(7070)를 만듬.init 세팅 후 커밋RestTemplate의
오늘부터 만들기 시작했는데,아직 API 작성과 ERD 작성을 하고 있다.설계하는 부분이 가장 어려운 것 같다..API 설계 표로 해 보려다가 GitBook 이라는걸 찾아서써보고 있다. 아직 기능 파악중!ERD 설계 이런식으로 하는게 맞겠지?!관심상품 API 구현데이터가
JwtAuthenticationFilter 에서 로그인 처리 하는구나@Configuration : IoC Container에게 해당 클래스가 Bean 구성 class 라는걸 알려주는 것@Bean vs @Component@Bean : 개발자가 직접 제어가 불가능한 외부
위와 같은 코드를 짰는데, 스터디 시간에 팀원들과 의견을 공유 해 보니 해결책이 나와서 올린다.split은 공백을 세 주지 못하기 때문에 처음에 나눌 때, 공백을 기준으로 나누지 말고 글자를 하나하나 쪼갠다. 이때는 공백을 구분해서 넣어준다.쪼개진 정보를 토대로 공백일
1시간 걸렸지만.. 해냈다!질문하기 탭에서 반례 - 카운트가 25인것 - 을 찾아서 그거를 풀다보니 해결됬다.너무 뿌듯하다!https://github.com/wkdehf217/codingTest/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B
재귀함수를 쓰는 알고리즘 이였다!재귀함수 부분만 따로 검색한 후에 적용시켰더니 40분만에 풀 수 있게 되어서 너무 뿌듯했다.내일 아침에도 한문제 풀 생각에 기분이 좋다.https://github.com/wkdehf217/codingTest/tree/main/%
'크기가 작은 부분 문자열' 알고리즘을 풀었다.1시간을 넘겨버려서 아쉬웠지만 배열 길이부분을 좀 더 고민해봤다면 충분히 시간안에 풀었지 싶다.코드는 다 풀고 나서 확인해보니, 함수를 쓴 사람이 많았다.함수 쓰는것도 실력이라고 생각하고, 더 공부 해야겠다..https&#
https://github.com/wkdehf217/codingTest/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/1/133499.%E2%80%85%EC%98%B9%EC%95%8C%EC%
처음 코드수정코드처음 코드는 실행하였을 때 런타임 오류가 난다.이유는 로직의 복잡성? 때문인것 같다.그래서 랭크를 따로 메기고, 해당하는 위치에 put으로 교체 해주니 시간복잡도가 줄어들어서실행이 되었다.이번 알고리즘 문제를 풀면서 import를 통해 라이브러리를 가져
깃허브 링크https://github.com/wkdehf217/codingTest/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/1/138477.%E2%80%85%EB%AA%85%EC%98%
Keep : 지속할 것Problem : 문제라고 생각하는 것Try : 문제를 바탕으로 시도할 것프로젝트 진행과정에서 좋았던 점을 <span style="color:Problem(문제)을 정의하고,<span style="color:<span style="
깃허브 : https://github.com/wkdehf217/codingTest/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/1/86491.%E2%80%85%EC%B5%9C%EC%86%8
깃허브 링크 : https://github.com/wkdehf217/codingTest/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/1/142086.%E2%80%85%EA%B0%80%EC%
깃허브 링크 :https://github.com/wkdehf217/codingTest/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/1/42576.%E2%80%85%EC%99%84%EC%A3
이전에 알고리즘 스터티 시간 때 배운 HashMap이 떠올랐다.거기다가 순서를 정리해주는 LinckedHashMap을 찾았고, 같은 숫자를 -1 해주는 부분에서 좀 해매긴 했지만 그래도 끝까지 포기하지 않고 풀어서 뿌듯했다.Entity, Dto, Controller를
깃허브 : https://github.com/wkdehf217/codingTest/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/2/12914.%E2%80%85%EB%A9%80%EB%A6%A
깃허브 링크 : https://github.com/wkdehf217/codingTest/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/1/133502.%E2%80%85%ED%96%84%EB%
오늘 알게된것Git 다루기Git branch, Git issueGit issue(내가 작업하고자 하는 것)을 먼저 등록한다.예) Feature/register_reviewGit branch를 파는데, 이것 또한 메인에서 따와야 하며이름은 이슈와 같은것으로 등록한다.브런
오늘 알게된 것Java Record + 정적 팩토리 메서드어제 리뷰 등록 기능을 구현하면서 알게되었다고 생각하였는데, 오늘 조회를 만드려고 헷갈려서 다시 공부했다.DTO를 예시로 들면 (보통 record 클래스는 DTO 만들 때 많이 쓴다고 한다)Record : 불변(
모든 리뷰에 User를 넣어서 기능을 완성했다.ResponseDTO가 순서가 뒤죽박죽이라 일관성 있게 수정했다.주문을 담당하고 있는 팀원을 도와 주문 조회 기능을 구현했다.주문 삭제 기능을 구현했다.오늘 알게된 것DTO를 최소한의 데이터로 전달하게끔 변경User 객체
이번 팀 프로젝트를 하면서 그간 가져왔던 의문이 조금이나마 해소되었다.항상 프로젝트를 하면 새로운 기능에 대한 아이디어만 생각해내기 급급했는데,이번에는 팀장님이 프로젝트를 진행하면서 스프링 그 자체에 대한 의문을 들게끔 해 주셨다.예를들면왜 Spring을 써야하는가?왜
이거는 팁인데면접보는 개발자나 잘하는사람들은============================================라이브러리에 의존을 최소화하려고 노력한 프로젝트들이 거의 없다 신입은라이브러리를 자체 제작하려고 노력한다========================
다음엔 봐주지 않겠지?사실 오늘 배운 내용을 정리하다가 우연히 한 블로그를 보게 되었다.블로그 링크 : https://velog.io/@wonizizi99/DB-Doker-%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-DB-%EC%82%A
1주차 3강ORM의 성장 과정관계설정을 객체(RDB 사용)로 매핑하는 이유ORM이 해결해야하는 문제점과 해결책상속 문제 : 테이블들은 상속관계가 없고 모두 독립적으로 존재한다.\-> 매핑정보에 상속정보를 넣어준다.(연관관계 설정, @OneToMany, @ManyToOn
JPA를 사용하면서 객체 그래프 탐색할 때 실행되는 쿼리가 궁금해졌다. JPA는 연관관계만 설정해 주면 해당 연관관계에 접근했을 때, 자동으로 쿼리를 실행해 준다. 이 자동으로 실행되는 쿼리는 우리가 예상하지 못하는 무수히 많은 수의 쿼리가 실행될 수도 있고, 성능상
오늘 알고리즘을 풀다가 처음에는 아무생각없이 Integer나 String처럼 래퍼클래스인 Boolean을 사용하려 했다.하지만 알아보니 Boolean과 boolean은 차이가 있었다.Boolean참조형 ( reference type ) , 참조값 ( 주소 ) 을 가진다
깃허브 링크 : https://github.com/wkdehf217/codingTest/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/2/42842.%E2%80%85%EC%B9%B4%ED%8
오류 문구No primary or single unique constructor found for interface org.springframework.data.domain.Pageable수정 내용간단히 페이저블로 변경깃허브 링크 : https://github
참고자료블로그sohyun - JAVA Converting MultipartFile to Filehttps://kkumalog.tistory.com/74블로그진짜 개발자 - SpringMVC - Spring MVC 동작원리https://galid1.ti
코딩 테스트 연습 중 DP가 매우 많이나오는 문제라고 해서 정리해두려고 한다.마침 오늘 풀었던 알고리즘 문제도 DP문제이고DP하나의 큰 문제를 작은 문제로 나누고, 그 작은 문제를 해결하여 큰 문제의 답을 도출해내는 기법작은 문제를 해결하는 과정에서 중복되는 연산을 수
어제 과제 제출을 해서, 오늘은 조금 쉬어가는 날으로 두었다.깃허브 링크 : https://github.com/wkdehf217/codingTest/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%
오늘부터 Spring 심화 프로젝트인 Trello 프로젝트를 시작했다.프로젝트 S.A 를 만들었는데, 그간 깃허브 사용에 대해 다 파악했다고 생각했지만 또 헤매었다.Github Organization 을 만들고, 프로젝트 베이스 코드를 만들어 등록하는 것이였는데 프로젝
그동안 프로젝트를 하며 (개인 과제 말고) 댓글, 대댓글 기능만 개발했어서 이번에는 user쪽을 구현하기로 했다.이미 만들었던것들을 가져오는것에는 문제가 없었지만, ResponseEntity와 오류처리를 Custom하는 부분에서 좀 헤매었다.다행히 다른 코드들을 찬찬히
이미 로그인과 회원가입은 끝낸 상태라서 무엇을 할 까 고민하던 중소셜 로그인을 구현 해보기로 하였다.oauth2를 사용하여 구현하였으며google, github, naver 이렇게 3 종류의 소셜 로그인을 개발하였고그 중 naver는 따로 원하는 요구사항이 있어서 pr
Card 기능 구현연관관계 개선전체적인 코드 리펙토링Card를 작성했으며 코드를 전체적으로 계속 리펙토링하며 수정하다보니 저녁이 되었다.그래도 얻어간건 많다고 생각한다.깃허브 링크 :https://github.com/wkdehf217/codingTest/tre
발표 준비를 하기 위해 코드 리뷰를 진행하였고,소셜로그인의 못다한 부분을 마무리 지었다.단, 이쪽은 postman으로 테스트하는쪽을 아직 구현하지 못했기 때문에 다음에 리펙토링이 필요하다.예상 외로 Board 정보를 수정하는 쪽에서 난관을 겪었다.보드의 "작성자" 와
프로젝트 발표가 끝이 났다.스스로는 만족하지 못했지만 그래도 괜찮은 프로젝트 결과물이 나왔다고 생각한다.소셜로그인 너..그리고 보드에서 초대된 유저 조회하는 쿼리가 깔끔하지 못하고 더러웠(?)다.아쉽지만 다음에 더 잘하면 되지!KPT 회고 : https://v
Postman 자동 Postman을 이용해서 프로젝트를 테스트 할 때, 인가부분인 Authorization 과 AceesToken을 변수로 할당해 테스트 할 수 있다. 이렇게 되면 매번 테스트 할 때 마다 값을 넣어주지 않아도 된다 매우 편리함! 변수 등록해
https://engkimbs.tistory.com/entry/Spring-%EC%8A%A4%ED%94%84%EB%A7%81Spring-MVC-%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98%EC%84%A4%EA%B3%84-%EA%B5%AC%EC%A1
정규화 : 이상 현상을 막기 위함.테이블에 데이터를 삽입/변경/삭제할 때 발생하는 이상 현상들을 막기 위해 재설계하는 것1차 정규화 : 원자값으로 구성한 user에 있는 정보가 여러 개 있을 때, 그 정보를 수정하려면 기존 값에서변경된 것을 찾아서 바꿔줘야 하는 번거로
HTTP(하이퍼텍스트 전송 프로토콜)는 웹에서 데이터를 주고받기 위한 표준 프로토콜입니다.HTTP 메서드는 클라이언트와 서버 간에 어떤 동작을 수행할지를 약속하는 메서드입니다.(주)GET: 리소스의 표시나 검색을 요청합니다. 클라이언트에서 서버로 정보를 요청할 때 사용
사용자 입력 및 주소 해석:사용자가 주소 표시줄에 웹 주소를 입력하면, 브라우저는 해당 주소로 이동하기 위해 요청을 시작합니다. 이때 입력된 주소는 URL(Uniform Resource Locator)이라고 불리며, 프로토콜(일반적으로 HTTP 또는 HTTPS)과 도메
TCP : 연결 지향적 프로토콜이며 신뢰성을 보장하는 연결형 서비스 연결 지향적 프로토콜은 클라이언트와 서버가 연결된 상태에서 데이터를 주고받는 프로토콜을 의미한다.연결 지향 방식 : 패킷 교환 방식을 사용하여(가상 회선 방식이 아님) 신뢰성 있는 데이터 전송3
의존성 주입(DI) / 제어의 역전(IoC) > 의존성 주입(Dependency Injection - DI) DI는 객체지향 프로그래밍에서 한 객체가 다른 객체에 의존(dependency)을 가질 때, 이 의존성을 외부에서 주입(제공)하는 디자인 패턴입니다.
대용량 트래픽 발생 시 대응법 로드 밸런싱 로드밸런싱(Load Balancing)은 트래픽이 많을 때 여러 대의 서버가 분산처리하여 서버의 로드율을 증가, 부하량, 속도저하 등을 고려하여 분산처리 해결해주는 서비스이다. 로드밸런싱을 해주는 소프트웨어 혹은 하드웨어
GET / POST 메서드와 데이터 흐름 GET 메서드 : 클라이언트는 서버에게 리소스(데이터)를 요청하기 위해 GET 메서드를 사용합니다. GET은 주로 정보를 검색하고 표시하기 위해 사용되며, URL에 데이터가 노출되므로 보안적으로 취약할 수 있습니다. POST
세션 기반 인증과 토큰 기반 인증 세션 기반 인증(Session-Based Authentication): 동작 원리: 사용자가 로그인하면 서버는 사용자에 대한 세션을 생성하고, 이 세션에 대한 고유한 세션 식별자를 발급합니다. 이 식별자는 일반적으