일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 카카오테크캠퍼스
- 개발
- ai
- electron
- 개발/보안
- 알고리즘
- 개발/MySQL
- 개발/언어론
- 개발/OOP
- 개발/언어/Java
- 개발/Electron
- ⌨️Developer
- ⌨️Developer/보안
- 개발/환경
- 개발/CS/OS
- 개발/에러
- 개발/네트워크
- 개발/컴퓨터네트워크
- 개발/Java/Spring
- 대외활동/카카오테크캠퍼스
- 개발/CS/알고리즘
- 취업
- 개발/Tools/프레임워크/Spring
- AI/ML
- 카카오 테크 캠퍼스
- AI/GPT
- 개발/프레임워크&라이브러리
- 개발/webrtc
- 카테캠
- 개발/Java
- Today
- Total
목록2023/05 (81)
봄수의 연구실
Connection to IP Address Refused. Check That the Hostname and Port Are Correct PostgreSQL을 학교에서 대여 받은 NHN 클라우드에 배포해서 연결하려고 했더니 에러가 발생 하였습니다. TypeORM으로 Ubuntu의 PostgreSQL의 접근하는 상황이었습니다 먼저, 대여한 클라우드의 기본 PostgreSQL 포트인 5432를 열어주었습니다 해결 과정 - PostGreSQL 접근 제어 이슈 방화벽을 해제했음에도 여전히 접근 할 수 없었습니다. 찾아보니 기본적으로 PostgreSQL에서 접근 제어를 하고 있었습니다 이를 해결하기 위해 먼저 설정 파일들이 몰려 있는 쿼리 파일 구성 위치를 찾습니다 sudo -u postgres psql SH..
BlindTok (4) - Entity와 Service를 너머 API까지 Entity와 Service를 생성하며, 특이 사항들을 기록합니다. 파일을 어떻게 저장했는지, 친구 관계들을 어떻게 인덱스 하나로 처리했는지 등 제가 겪은 어려움을 기록합니다 File 기능 구현의 어려움 저희 서비스에서는 user의 이미지와 음악 파일들을 저장해야하기에 기존의 music 테이블을 지우고, file 테이블을 생성하도록 하였습니다. File Id에 UUID부여 uudi를 사용한 이유는 uuid를 사용하면 전역적으로 유니크한 아이디를 가지기 때문에 테이블에서 중복 문제를 해결 할 수 있습니다. 또한 pk를 자동으로 증가시키는 것보다 추측이나 예측이 어렵기 때문에 보안이 강화됩니다 import {v4 as uuidv4} f..
Cannot Read Properties of Undefined (reading ‘joinColumns’) 프로젝트 개발을 하던 도중 Postman으로 User api 테스트를 하는데 아래 에러가 발생하였습니다. { "statusCode": 500, "error": "Internal Server Error", "message": "Cannot read properties of undefined (reading 'joinColumns')" } 에러가 발생 한 곳은 Entity-Service-API 흐름 중 Entity에서 발생하였습니다. 오늘은 에러 해결 과정과 그 이유를 파악하도록 하겠습니다 문제 원인 위는 제가 작성한 User 엔티티의 일부분입니다. 유저의 Meta 정보를 UserMeta 엔티티를 참조..
Python 가상 환경(Virtual env) 구성 with Mac 먼저 Mac에서 터미널 앱을 엽니다. Python 3이 설치되어 있는지 확인합니다. python3 --version Python 3.3 이상과 함께 제공되는 venv 모듈을 설치합니다. 이전 버전의 Python이 있는 경우 다음을 실행하여 virtualenv 패키지를 사용할 수 있습니다. python3 -m pip install --user virtualenv 가상 환경을 만들 디렉터리로 이동합니다. 예를 들어 문서 폴더의 "my_project"라는 폴더에 가상 환경을 만들려면 다음을 실행합니다 cd ~/Documents/my_project 가상환경을 이제 생성하고 실행합니다 필요한 패키지가 있다면 가상 환경에 설치하고, 이제부터 가상환..
NAT(network Address translation) NAT(네트워크 주소 변환)는 인터넷에 연결할 때 로컬 네트워크의 여러 장치가 단일 공용 IP 주소를 공유할 수 있도록 하는 네트워킹 기술입니다. 사용 가능한 IPv4 주소의 수가 제한되어 있기 때문에 IPv4 주소 고갈 문제를 해결하기 위한 솔루션으로 NAT가 도입되었습니다. 종종 로컬 네트워크와 인터넷 사이의 게이트웨이 역할을 하는 라우터 및 모뎀과 같은 장치는 NAT와 유사한 기능을 수행합니다. 사용법 일반적인 홈 네트워크 시나리오에서 ISP(Internet Service Provider)는 DHCP(Dynamic Host Configuration Protocol)를 사용하여 가정에 단일 IP 주소를 할당합니다. 컴퓨터 및 스마트폰과 같은 ..
SSH의 포트포워딩 SSH 터널링이라고도 하는 SSH 포트 포워딩은 클라이언트 시스템에서 서버 시스템으로 또는 그 반대로 응용 프로그램 포트를 터널링하기 위한 SSH의 메커니즘입니다 SSH 포트 포워딩은 로컬 포트 포워딩과 원격 포트 포워딩 의 두 가지 유형으로 분류할 수 있습니다. 로컬 포트 포워딩 로컬 포트 포워딩은 보다 일반적인 포트 포워딩 유형입니다. 사용자가 암호화된 SSH 터널을 통해 로컬 컴퓨터에서 다른 서버로 연결할 수 있도록 하는 데 사용됩니다. 이렇게 하면 액세스된 서비스 자체가 암호화되지 않은 경우에도 통신을 암호화된 상태로 유지하면서 원격 서비스에 안전하게 액세스할 수 있습니다. 원격 포트 포워딩 원격 포트 포워딩을 사용하면 원격 서버가 암호화된 SSH 터널을 통해 로컬 ..
데코레이터 패턴(Decorator Pattern) 데코레이터 패턴은 동일한 클래스의 다른 개체의 동작에 영향을 주지 않고 정적 또는 동적으로 개별 개체에 동작을 추가할 수 있는 디자인 패턴입니다. 이 패턴은 비헤이비어가 포함된 특수 래퍼 개체 안에 이러한 개체를 배치하여 개체에 새 동작을 연결하는 것과 관련된 구조적 패턴입니다. 데코레이터 패턴의 핵심 포인트 및 이점 데코레이터 패턴을 사용하면 구조를 변경하지 않고 객체에 새로운 기능을 추가할 수 있습니다. 런타임에 동작을 동적으로 추가하고 제거할 수 있기 때문에 상속 기반 접근 방식보다 더 유연합니다. 데코레이터를 함께 연결하여 복잡하고 복합적인 동작을 제공할 수 있습니다. 패턴은 클래스가 확장에는 열려 있지만 수정에는 닫혀 있는 개방-폐쇄 설계 원칙을..
직렬화 (serialization) Java의 직렬화는 객체를 파일에 저장하거나 네트워크를 통해 전송할 수 있는 바이트 스트림으로 변환하는 프로세스입니다. 직렬화된 바이트 스트림을 다시 개체로 변환하는 역과정을 역직렬화라고 합니다. Java에서 직렬화는 클래스가 직렬화될 수 있음을 나타내는 Serializable 인터페이스와 보조 스트림를 사용하여 구현됩니다. 정확히는 Serializable 인터페이스는 클래스를 직렬화 가능으로 표시하는 데 사용되지만 실제 직렬화 프로세스는 개체를 읽고 쓸 때 추가 기능을 제공하는 보조 스트림인 ObjectOutputStream 및 ObjectInputStream 클래스를 통해 수행됩니다. ObjectInputStream과 ObjectOutputStream 생성자 설명 ..
Java의 보조 스트림 실제 읽기/쓰기 스트림이 아닌 보조 기능을 제공하는 스트림 FilterInputStream 및 FilterOutputStream은 보조 스트림의 상위 클래스입니다. 다른 스트림(기본 스트림 또는 다른 보조 스트림)을 생성자의 매개변수로 사용 데코레이터 패턴(Decorator Pattern)으로 주로 구현한다 기능을 만들기 위해서는 상속을 주로 쓰지만 이 경우에는 코드가 지저분해지기 때문이다 상위 클래스 생성자 생성자 설명 protected FilterInputStream과(InputStream in) 생성자의 매개변수로 InputStream을 받습니다. public FilterOutputStream(OutputStream out) 생성자의 매개변수로 OutputStream을 받습니..
Java의 문자 단위 입출력 Reader Reader는 문자별 입력 스트림에 대한 최상위 추상 클래스입니다. 많은 추상 메서드가 선언되고 하위 스트림이 이를 상속하고 구현합니다. 주요 하위 클래스 클래스 설명 FileReader 파일에서 문자 단위로 읽는 스트림 클래스입니다. InputStreamReader 바이트 단위로 읽은 자료를 문자로 변환해주는 보조 스트림 클래스 입니다. BufferedReader 문자로 읽을 때 배열을 제공하여 한꺼번에 읽을 수 있는 기능을 제공하는 보조 스트림입니다. 주요 메서드 메서드 설명 int read() 파일로부터 한 문자를 읽습니다. 읽은 문자를 반환합니다. int read(char[] buf) 파일로부터 buf 배열에 문자를 읽습니다. int read(char[] ..