본문 바로가기

전체 글

[WIL] 사이드 프로젝트 9주차(1월 16일 ~ 22일) 1. 개발 진행 상황 16일(월): asciidoc 작성(post 수정, pet 생성) 17일(화): asciidoc 수정 18일(수): 자바 공부 19일(목): 자바 공부 20일(금): 자바 공부 21일(토): 설날(휴무) 22일(일): 설날(휴무) 2. 새로 배운 것 - 3. TO-DO LIST - 공부 - 개인 프로젝트 계획세우기 4. 주차 회고 - 백엔드 기능 구현은 거의 완료 상태, 프론트와 맞춰가면서 에러나는 부분이나 필요한 부분 수정만 하면 됨 - 이제는 공부에 집중하고 부족한 부분을 채우는 데 시간을 써야 할 때 더보기
[Java] 제네릭(Generics) 1. 제네릭(generics) 1) 정의컴파일 시 타입을 체크해주는 기능(compile-time type check) (JDK1.5부터)클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법 2) 장점객체 타입을 컴파일 시 체크할 수 있으므로 런타임 에러를 줄일 수 있음 👉🏻 안정성을 높임저장된 객체를 꺼낼 때 형변환이 필요 없음(위 두 가지 장점으로 인하여) 타입체크와 형변환 생략이 가능하므로 코드가 간결해짐 2. 제네릭의 용어1) 제네릭 클래스, T의 Box 또는 T Box라고 읽음class Box // 지네릭 클래스 T의 Box 선언 또는 지네릭 클래스 T Box 선언 2) 원시 타입(raw type)class Box // Box가 원시 타입 3) 다이아몬드 연산자'' 꺽쇠 괄호 키워드를 .. 더보기
Java Collections 클래스 컬렉션(collection)을 위한 메서드(static) 제공 1. 컬렉션 채우기, 복사, 정렬, 검색 - fill(), copy(), sort(), binarySearch() 등 2. 컬렉션의 동기화 - synchronized...() 3. 변경불가(readOnly) 컬렉션 만들기 - unnodifiable...() 4. 싱글톤 컬렉션 만들기 - singletone...() 5. 한 종류의 객체만 저장하는 컬렉션 만들기 - checked...() 더보기
[WIL] 사이드 프로젝트 8주차(1월 9일 ~ 15일) 1. 개발 진행 상황 9일(월): asciidoc 작성(post 수정, pet 생성) 10일(화): 자바 공부 11일(수): 검색 기능 구현, 카테고리별 조회 기능 구현 12일(목): 검색 기능, 카테고리별 조회 테스트 코드 작성, 자바 공부 13일(금): 14일(토): 15일(일): 2. 새로 배운 것 3. TO-DO LIST 4. 주차 회고 - 일지를 매일 쓰다가 프로젝트 기능 구현이 거의 끝나기도 했고, 기능 구현하거나 공부하다보면 일지를 매일 쓰는게 부담스럽게 느껴졌다. 그래서 WIL로 바꾸되 그 날 구현한 건 한 줄 정도로만 간략하게 적는 방법으로 기록하려고한다. 에러 해결을 일지에 작성했는데 똑같은 에러를 만났을 때 찾기가 힘들어서..에러 관리도 따로 카테고리를 만들어서 정리하는게 좋을 것 같다. 더보기
Java HashMap, Hashtable 1. Hashtable - Vector와 ArraysList의 관계같이 HashMap의 예전것으로 보면됨 -> HashMap 사용 권장 2. HashMap - 해싱(hasing) 기법으로 데이터 저장, 데이터가 많아도 검색이 빠름 - Map인터페이스를 구현, 데이터를 키와 값의 쌍으로 저장 키(key): 컬렉션 내의 키 중에서 유일 값(value): 키와 달리 데이터 중복 허용 3. 해싱(hasing) - 해시함수(hash function)를 이용해서 데이터를 저장하고 읽어 오는 것 - 해시함수로 해시테이블(hash table)에 데이터를 저장, 검색 4. 해시 함수(hash fuction) - object.hash()메소드 사용 - 같은 키에 대해 항상 같은 해시코드 반환(서로 다른 키일지라도 같은 값.. 더보기
[TIL] 사이드 프로젝트 52일차 1. 개발 진행 상황 - s3 업로드 에러 해결 - 빌드 -> 배포 (빌드 에러 해결) 2. 개발 중 발생한 이슈와 해결 1) permission denied - 에러 메시지 handleIOException java.io.IOException:Permission denied - 원인 s3 를 이용한 이미지 업로드 코드를 Multipartfile로 받은 이미지를 File로 변환하여 저장하도록 코드가 작성됨 File로 변환할 때 임시로 로컬에 저장되는 코드였는데 여기서 발생한 에러였음 로컬에서는 발생하지 않았던 에러가 EC2서버에서 발생했는데 직접적인 원인은 EC2서버에 파일을 작성하는 권한이 없어서 발생한 것 - 해결 해결 방법은 EC2서버에서 파일 작성할 수 있는 권한을 주는 것과 코드를 수정하는 것 두.. 더보기
[TIL] 사이드 프로젝트 51일차 1. 개발 진행 상황 - 에러 해결 중 2. 개발 중 발생한 이슈와 해결 - 로컬에서는 s3이미지 업로드가 잘 됐었는데, EC2 서버에서 이미지 업로드할 때 Permission denied 발생 3. 새로 배운 것 'sudo: installer: 명령이 없습니다.' aws 관련 에러 해결을 위해 아마존에서 제공해주는 설명을 따라했는데 '명령이 없습니다.' 에러 발생 시스템 명령어가 달라서 발생한 것이였음, installer 명령어는 aws 명령이라서 aws cli가 설치되지 않아서 발생한 것! 그리고 aws cli 를 설치하기 위해서는 ubuntu 명령어인 apt 명령어를 사용해야 했음 리눅스와 윈도우 명령어가 비슷하면서도 조금 달랐던 것을 이론적으로는 알고 있었지만 직접 사용하면서 배운게 아니라 생각을.. 더보기
[TIL] 사이드 프로젝트 50일차 1. 개발 진행 상황 -s3이미지 업로드 관련 에러 해결 중 2. 오늘 한 일 / 회고 - 에러 원인 찾기 - 에러 로그 확인 하기 3. TO-DO LIST - 에러 해결하기 더보기