분류 전체보기(250)
-
[리뷰] 객체지향의 사실과 오해
이 책을 처음 알게된 것은 작년 여름이다. 인프런에서 김영한님 강의를 듣고 있는데, 영한님이 불쑥 이 책을 꺼내시더니 추천하셨다. "주니어라면 반드시 읽어야 하는~" 이런 뉘앙스로 말씀하셨던게 기억나서, 지난 주 일요일에 알라딘 가서 구매했다. 갑자기 왜 책을 샀냐면, 요즘 월~금에는 지하철을 왕복 80분을 타는데.. 이 시간을 잘 활용해보고 싶어서다. 유튜브 쇼츠를 보는 시간이 늘어날수록 점점 장문의 글을 읽지 못하는 사람이 되는 것 같았다. 참고로 책이 지하철에서 읽기 딱 좋은 핸디한 사이즈다. 저자가 책의 제목은 한 줄로 정리가능하다. 객체지향은 클래스도, 현실 세계의 모방도 아니다. 새로운 세계를 창조하는 것이다. 책은 이상한 나라의 엘리스의 장면을 토대로 '객체', '역할과 책임', '메시지' ..
2023.07.23 -
SpringBoot + GraphQL (2/2)
들어가며 이번 포스팅에서는 SpringBoot 환경에서 GraphQL을 간단히 실습해봅니다. GraphQL에 대한 소개와 설명은 이전 포스팅을 참고해주세요. Spring에서 공식적으로 Spring for GraphQL을 Release했습니다. 다만, Spring for GraphQL을 사용하시려면 SpringBoot 버전을 2.7 이상으로 맞춰주셔야 합니다. 위의 사진에서 release announcement 링크는 아래에 있습니다. Spring for GraphQL이 QueryDSL도 지원하며, HTTP나 WebSocket 클라이언트에서도 사용할 수 있다고 합니다. Spring 예제처럼 Graphql을 이용한 PetClinic 프로젝트 코드도 찾아볼 수 있습니다. https://spring.io/blo..
2023.07.22 -
SpringBoot + GraphQL (1/2)
들어가며 최근에 TypeScript + GraphQL을 경험했습니다. Spring 서버에서는 GraphQL을 어떤 방식으로 제공하는지 궁금해서 간단히 실습했습니다. 이번 포스팅에서는 GraphQL이 무엇이며, 장/단점은 무엇인지에 대해 다룹니다. SpringBoot에서 GraphQL을 어떻게 사용하는지는 다음 포스팅을 참고해주세요. GraphQL이란? GraphQL(gql)은 페이스북에서 만든 쿼리 언어입니다. '쿼리 언어' 하면 SQL이 가장 먼저 떠오르는데요, SQL은 데이터베이스 시스템에 저장된 데이터를 효율적으로 가져오는 것이 목적이고, gql은 웹 클라이언트가 데이터를 서버로 부터 효율적으로 가져오는 것이 목적입니다. 따라서 sql의 문장(statement)은 주로 백앤드 시스템에서 작성하고 호..
2023.07.13 -
[SSAFY] 싸피 10기 합격 후기와 입과 포기
지원 동기 3월에 데브코스라는 부트캠프를 수료하고, 취준을 시작했다. 만약 상반기 취업에 실패할 경우 하반기부터는 공부와 프로젝트를 하면서 취업준비를 병행해야겠다는 생각으로 지원했다. 그리고 싸피는 매 달 지원금 100만 원을 주기 때문에 붙는다면 나름 든든하게 취준할 수 있을 것 같았다. 하지만 취업이 우선이기에 필요 최소한의 노력만 하자는 마인드로 임했다. 따라서 서울 + 코딩 트랙을 1 지망으로 넣었고 2 지망부터는 붙어도 의미 없다고 생각해서 따로 기입하지 않았다. 에세이 주제: 학업 및 취업 준비를 하며 가장 어려웠던 경험과 이를 해결하기 위해 했던 노력을 기술하고, SSAFY에 지원하신 동기에 대해서도 작성 바랍니다(500자 내외, 최대 600자 작성 가능) 어려웠던 경험 + 해결한 노력 + ..
2023.07.02 -
[도커] Docker Error Response From Daemon: Driver Failed Programming External Connectivity On Endpoint
docker-compose를 이용해서 MySQL 컨테이너를 실행했을때 위와 같은 에러가 계속해서 발생했다. 이미지를 run하려고 했을 때, docker-compose에서 설정한 포트 번호가 이미 사용중이라고 한다. 그런데 나는 3306번 포트를 MySQL 컨테이너 이외에는 할당한 적이 없었다. 뿐만아니라 계속 MySQL 컨테이너로 할당했던 3306 포트가 docker-compose를 재실행 할 때마다 위와 같은 에러가 발생하는 것이 이상하다고 생각했다. 3306 포트에서 실행중이던 process를 죽이고 나면 MySQL 컨테이너를 수동으로 다시 띄울 수 있었다. 하지만 이렇게 띄운 MySQL 서버에는 스프링 부트 Container에서 연결 요청이 실패하였다. 처음에는 포트 포워딩을 잘못했는지, 보안 그룹..
2023.06.20 -
AWS -> NCloud로 데이터베이스 옮기기(mysqldump, docker)
Intro AWS 지원이 중단되면서, NCP로 기존에 운영중인 서버를 옮겼습니다. 같은 Ubuntu 22.04 환경으로 설정한 덕분에 도커나 Nginx 설정은 금방 할 수 있었습니다. 하지만 기존 서버의 데이터는 다 날라가고 없었기 때문에 mysqldump를 이용해 기존 서버의 데이터를 그대로 가져와서 덮어쓰기 했습니다. 해당 포스팅은 mysqldump를 이용해 AWS -> NCloud로 이관하는 과정을 다룹니다. 작업은 크게 3단계로 나뉩니다. 1. AWS EC2의 도커 MySQL 컨테이너에 접속하여 dump 파일 생성 2. 생성한 dump 파일을 NCloud 서버로 전송 3. 전송한 dump 파일을 NCloud의 도커 MySQL 컨테이너로 전달 mysqldump란? MySQL의 대표적인 백업 프로그램..
2023.06.18