일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- PID
- expression statement is not assignment or call html
- gitbash
- SSR
- 필사
- Kakao
- 비동기
- 파이콘
- 카우치코딩 #couchcoding #6주포트폴리오 #6주협업프로젝트
- 출처: 자바의 신 8장
- khaiii
- 서버사이드렌더링
- Machine Learning
- taskkill
- address
- Technical Writing
- github markdown
- 카우치코딩 #couchcoding #6주포트폴리오 #6주협업프로젝트v
- terminate
- Anaconda
- 모바일웹스킨
- github
- Morphological analysis #Corpus
- 파이썬
- 코딩온라인
- 클라이언트사이드렌더링
- #스파르타코딩클럽후기 #내일배움캠프후기
- 자바파이썬
- 플젝후체크
- 마크다운
- Today
- Total
목록전체 글 (130)
개발 일기
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..
상황: git ignore에 aws.yml을 지정했음에도 설정파일이 깃헙의 원격 repository 에 그대로 올라갔다. Git 파일을 삭제하더라도, history 에 파일이 남아있다. 해결책 -이럴 때는 푸시 이전 시점으로 시간 여행을 하고(log) reset hard 후 push한다. - AWS IAM/BUCKET도 삭제하였다. (미연이 일을 방지하기 위해서) //마스터 브랜치에서 commit 이력보기 git log //commit id 가 나온다. 내가 돌아가려는 아이디를 abcde라고 해보자. git reset --hard abcde // git push -f origin master //push origin 을 그냥 할 경우, 아래의 에러가 뜬다. error: src refspec main do..
첫 에러메시지 2021-12-01 17:19:04.925 WARN 28048 --- [nio-8080-exec-9] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type `java.lang.String` from Array value (token `JsonToken.START_ARRAY`); nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot dese..