



일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Anaconda
- khaiii
- SSR
- github
- 파이콘
- 비동기
- Technical Writing
- github markdown
- address
- 출처: 자바의 신 8장
- 파이썬
- 카우치코딩 #couchcoding #6주포트폴리오 #6주협업프로젝트v
- taskkill
- 자바파이썬
- 모바일웹스킨
- Kakao
- 플젝후체크
- expression statement is not assignment or call html
- Machine Learning
- 코딩온라인
- 서버사이드렌더링
- terminate
- Morphological analysis #Corpus
- 카우치코딩 #couchcoding #6주포트폴리오 #6주협업프로젝트
- gitbash
- 마크다운
- 필사
- PID
- #스파르타코딩클럽후기 #내일배움캠프후기
- 클라이언트사이드렌더링
- Today
- Total
목록전체 글 (132)
개발 일기

LocalStorage 에 'nickname'을 키값으로. User 저장소에는 잘 찍히는 데, 불러와지지 않는다. (2) 카카오 로그인 마지막에 JwtResponse 에 닉네임을 추가해야 한다. JwtResponse는 사용자에게 반환될 토큰을 담은 객체이다. Authentication kakaoUsernamePassword = new UsernamePasswordAuthenticationToken(username, password); Authentication authentication = authenticationManager.authenticate(kakaoUsernamePassword); SecurityContextHolder.getContext().setAuthentication(authentic..

리팩토링을 하면서, Controller 와 서비스를 분리하는 것이 중요 과제였다. Controller 1) 클라이언트의 요청 받음 2) 요청에 대한 처리는 서비스에게 전담 3) 클라이언트에게 응답. Service 사용자의 요구사항 처리 DB 정보가 필요하면 Repository에 전담 Repository -DB 관리 -DB CRUD 처리 왜 Controller/Service 구분하지? -중복되는 코드가 생기기 때문. -비즈니스 로직 코드가 컨트롤러에 구현되어 있는 경우 다른 컨트롤러의 핸들러 메소드에서 똑같은 로직 코드를 구현해야함. -> 중복 코드 발생/재사용정이 줄어듬. *아래 블로그에서 명료하게 정리해주셔서 참고하였다. 출처 https://velog.io/@sezeom/Controller-Servic..
3주면 교육이 끝난다. 이번주에 한 것. -자바 알고리즘 하루에 1시간씩 풀기. -자바 기본서 주요 개념 1회독 -김영한 님 RestfulAPI/HTTP 개념 초반 50%. -만들어가면서 배우는 Java 플레이 그라운드 잘 한 것. -자바 프로그래밍 입문, 자바 정석, 생활코딩 등 여러 자료를 활용하면서 자바 공부를 했다. 특히 3차 제출 후 우리 코드를 복기하고, 내가 구현하지 않은 로그인 기능의 Controller/Service 를 분리하면서 다시 공부하게 되었는데. 이 과정 중에서 인터페이스, 오버라이드, 제너릭 등 자바의 주요 개념들을 다시 짚었다. 코드를 보면서 역으로 공부하는게 처음에는 어렵고 낯설었는데, 며칠을 보다보니까. 익숙해졌다. 블로그에 정리해놓은 것도, 한번 두번 더 보니까, 훨씬 ..

제네릭 -컴파일 시 타입을 체크해주는 기능 (ClassCastException 형변환 에러 방지) -객체의 타입 안정성을 높이고 형변환의 번거로움을 줄여줌 (코드도 간결해짐) 왼쪽 예제를 보면, get(0)이 object 타입이기에 형변환을 해야한다. 반면 오른쪽예제에서는 tvLIst가 형이기 때문에 형변환이 불필요하다. ArrayList 지네릭 클래스. 클래스 안에 object 타입이 있는 것들은 일반 클래스에서 Generic class 로 바뀌었다. 이전에는 다른 타입을 저장하면 체크를 못해줬는데, 제네릭스의 등장이후 이를 컴파일 에러로 잡을 수 있게 되었다. \ 클래서 옆에 가 들어가면, 지네릭 클래스다 라고 지정해줬기 때문에, (Integer)형변환을 생략할 수 있다. public class Ge..

인터페이스란? 인터페이스는 클라이언트 프로그램에 어떤 메서드/멤버를 제공하는지 미리 알려주는 명세, 약속의 역할을 한다. 다시 말해, 최종 구현된 클래스를 사용하는 클라이언트 코드와, 클라이언트에게 기능을 제공하는 코드 사이의 약속이다. 인터페이스를 잘 정의하는 것이 확장성 있는 프로그램을 설계하는 토대다. 인터페이스: 인터페이스를 구현한 클래스가 어떤 기능의 메서드를 제공하는지 (제공할지) 명시 클라이언트: 인터페이스에서 약속한 명세대로 구현한 클래스 생성 인터페이스의 특징 -인터페이스는 Abstract, final 과 함께 자바의 대표적인 규제다. -인터페이스는 대상이 되는 시스템을 제어할 때 사용한다 -인터페이스를 implement 할 때는, 메서드를 구현해줘야 한다. -구현 후에는 꼭 아래와 같이..

추상클래스의 특징 / 정의 -추상클래스는 반드시 상속을 받아야 한다. (다른 말로는 상속을 하기 위해 만든 클래스다) -추상클래스는 직접적으로 객체 인스턴스를 생성할 수 없다. -추상 클래스는 완전하지 않은 클래스이다. -부족하다는 뜻일 수도 있지만, 한편으로는 다르게 확장될 수 있는 가능성을 지닌다. 이 가능성 덕분에 좀 더 확장 가능하고 다양한 프로그램을 개발할 수 있다. 새로운 클래스를 작성하는 데 밑바탕이 되는, 설계로서의 틀을 갖추고 클래스를 작성하게 도와준다. -상속을 받은 추상 메서드는 반드시 구현을 해야한다. -추상 클래스는 항상 추상 메서드를 포함한다. 추상 메서드는 구현 코드가 없다. 구현코드가 없다는 것은 함수 몸체가 없다는 것이다. (몸체: {}를 포함한 내용. {}만으로 함수 몸체..

S3 업로드 테스트를 보는데, 처음에 설정을 못해서 build.gradle의 dependency 설정을 하는 데만 1시간을 다 썼다. 내가 잘못 하고 있는건가? 의심이 많이 들었는데, 튜터님께 여쭤보니 원래 그런것이라고 하셨다. 내가 쓰고 있는 라이브러리와 어디가 호환이 되는지 모르기 때문에, 해보고, 빼보면서 쓰는 것이 당연하다. 블로그에 돌아다니는 정보들도, 지금 내가 깔아놓은 설정들과 충돌할 수 있기 때문에 그대로 가져와도 안되는 경우도 많다. 블로그 + aws 의 튜토리얼 등을 적당히 조합해서 할 것! 에러케이스 (1) aws access key id 가 인식이 안된다고 뜸. yml 파일이 제대로 안불려진 듯함. (2) aws access를 얻고 난 이후에는, db에 이미지 url은 찍히지만, s..
상황: Main에 내 작업을 푸시하려고 함 실수로 Merge Main 이 안된 상태로 push origin master (ㅜㅜ) 결과: 충돌이 남.. 고민: 이번에는 원격 main pull 이 2-3회 정도 뒤쳐져있어서, 내 파일과 차이나는 것들이 꽤 많았다. 내가 로컬에서 코드 수정해서 푸시해도 괜찮을지?(코드 내용이 같아도 순서가 바뀌어 있거나 한 것들이 있었다) 해결책: 로컬에서 main 소스를 작업 브랜치에 머지하고 다시 푸쉬하면 된다. 소스가 꼬이고 main 과 위치가 좀 달라도 내용이 바뀌지 않으면 크게 상관없는 듯하다. (한줄 변경점이 누락된 코드가 있어서 (아마 기존 메인이 덮어져서 코드가 지워진 것 같다) 그것만 따로 수정해줬다. //git 나의 로컬 작업 브랜치 git add . git..