목록분류 전체보기 (119)
철학과 학생의 개발자 도전기
싱글톤 방식이란 객체 인스턴스를 단 하나만 생성해서 공유하는 방식 불필요한 인스턴스 생성과 해제를 피할 수 있다. Spring에서는 @Component를 이용해서 싱글톤 빈을 만들 수 있다. 주의점 무상태(stateless)로 설계되어야 한다. 멀티쓰레드 환경에서 Race Condition이 발생할 수 있기 때문이다. 참고자료 스프링 핵심 원리 - 기본편 - 인프런 | 강의 (inflearn.com) 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., 스프링 핵심 원리를 이해하고, 성장하는 백엔드 개발자가 되어보세요! 📢 www.inflearn.com
학교 연계 현장실습 4학년이 되기 전 겨울방학을 맞이해서 학교 연계 현장실습을 신청했다. 강남에 있는 자율주행 데이터 플랫폼 스타트업에서 백엔드 개발로 인턴 근무를 하게 되었다. 8주동안 프로젝트 설계부터 데모 출시까지의 과정을 개발자분들과 함께 경험하고 기여할 수 있었다. 맡은 업무 나는 현대차 남양연구소에서 사용할 웹 서비스를 만드는 팀에 합류했다. 웹 서비스의 목적은 표지판 데이터를 검증하는 것이다. 차량이 주행하면서 카메라가 인지한 표지판 제한속도와 네비게이션에서 올라오는 제한속도를 비교해서 데이터를 검증하게 된다. 내가 맡은 업무는 스프링부트를 활용해서 기본적인 CRUD API를 구현하는 것이다. 사용자가 탑승할 차량 정보를 등록하고, 주행시작을 누르면 약 0.5초 단위로 주행정보를 차량에서 입..
스프링 컨테이너 스프링 컨테이너는 객체를 생성하고 의존관계를 주입하는 역할이다. 개발자 대신 스프링 컨테이너가 제어권을 가져오기 때문에 IoC 컨테이너 혹은 DI 컨테이너라고 불린다. 스프링 컨테이너가 관리하는 객체를 스프링 빈이라고 부른다. 일반적으로 스프링 컨테이너를 생성하기 위해 ApplicationContext 인터페이스를 사용한다. 스프링 빈 스프링 빈은 스프링 컨테이너가 관리하는 객체이다. 개발자는 스프링 컨테이너를 통해 빈을 참조할 수 있다. 자바 어노테이션을 기반으로 컨테이너를 만들 경우, @Configuration과 @Bean을 사용하면 된다. @Configuration이 붙은 클래스가 설정 클래스가 된다. @Bean이 붙은 메소드가 빈으로 등록되며 메소드의 이름이 빈 이름이 된다. (직..
배포 및 CI/CD 스터디 이제 스프링부트 코드를 작성하는 부분은 끝났고 서버에 배포하고 CI/CD를 적용해보면 된다. 하지만 중간에 시험기간이 껴있어서 AWS 인스턴스들을 비용 문제로 삭제한 상황이다. 그리고 버전이 달라지면서 실습환경도 달라져서 이번에는 간단히 개념적인 부분을 정리하려고 한다. 8장 EC2 서버에 프로젝트를 배포해 보자 EC2에 프로젝트 Clone 받기 1. EC2에 Git을 설치한다. 2. git clone을 사용해 코드를 원격저장소에서 복사해온다. 3. test를 수행해 코드가 잘 작동하는지 확인한다. 배포 스크립트 만들기 배포할 때마다 개발자가 명령어를 하나하나 실행하는 것은 매우 번거롭다. 명령어를 쉘 스크립트에 입력해두면 편리하게 재사용할 수 있다. .gitignore에 등록..

06장 AWS 서버 환경을 만들어보자 - AWS EC2 EC2 인스턴스 생성 AWS EC2에 접속해서 인스턴스 생성을 시작한다. 여러가지 설정을 마치고 인스턴스 시작을 누르면 생성이 완료된다. 고정 IP 할당 EC2 인스턴스에는 IP가 할당되어있는데 인스턴스를 재시작하면 새로운 IP가 할당된다. 재시작할 때마다 IP가 바뀌는 것은 번거롭기 때문에 EIP(탄력적 IP)를 생성해서 변하지 않도록 한다. EC2 서버에 접속하기 AWS에서 제공하는 브라우저 기반 SSH 연결을 사용하면 편하게 서버에 접속할 수 있다. 이제 Java8을 설치하고 타임존을 변경하고 Hostname을 변경하는 등 간단한 설정 등을 마치면 준비는 끝이다. 07장 AWS에 데이터베이스 환경을 만들어보자 - AWS RDS RDS 생성 아마..

05장 스프링 시큐리티와 OAuth2.0으로 로그인 기능 구현하기 소셜 로그인의 장점 로그인 기능을 직접 구현하는 것보다 소셜 로그인을 활용하는 것이 좋다. 로그인 보안 회원가입 인증 비밀번호 찾기 비밀번호 및 회원정보 변경 위 4가지 기능을 직접 구현하지 않아도 되기 때문이다. GCP 사용자 인증 정보 구글을 통한 소셜 로그인 기능을 구현해볼 것이다. 우선 GCP에서 인증 정보를 만들어보자. GCP에 접속한 뒤 새 프로젝트를 생성한다. 그리고 방금 생성한 프로젝트를 선택한다. 이제 왼쪽 상단의 메뉴 탭을 열어서 사용자 인증 정보에 접속한다. 현재는 생성된 정보가 없다. 사용자 인증 정보 만들기를 클릭해서 필요한 정보들을 입력하면 다음과 같이 클라이언트 ID가 생성된다. application-oauth...
스터디 시작 현재 GDSC동아리에서 스프링 스터디를 진행중이다. 저번 스터디까지 '스프링 입문' 무료 강의로 공부를 했고, 앞으로는 책으로 진행할 예정이다. 같이 공부할 책은 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스' 이다. 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - YES24 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - YES24 가장 빠르고 쉽게 웹 서비스의 모든 과정을 경험한다. 경험이 실력이 되는 순간!이 책은 제목 그대로 스프링 부트와 AWS로 웹 서비스를 구현한다. JPA와 JUnit 테스트, 그레이들, 머스테치, 스프링 www.yes24.com 01장은 프로젝트 생성과 설정, 인텔리제이에서 git을 연결하는 방법 등이라 굳이 정리하지 않아도 될 것 같다. 02장 스프..
후기 스프링 입문 섹션7, 8은 간단한 마무리 내용이라 블로그 포스팅은 생략한다. 강의를 완강하고 나니까 스프링 프로젝트에 대한 커다란 흐름정도는 잡히는 것 같다. 하지만 강의자님도 매번 말씀하셨듯이 큰 줄기를 잡는 것이 목표이다보니까 세부적인 내용들에 대한 이해는 아직 부족하다. 이제 다음 스터디를 진행하면서 세부적인 내용들을 다시 채워나가야 될 것 같다. 다음 스터디는 이 책으로 진행한다. 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - YES24 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - YES24 가장 빠르고 쉽게 웹 서비스의 모든 과정을 경험한다. 경험이 실력이 되는 순간!이 책은 제목 그대로 스프링 부트와 AWS로 웹 서비스를 구현한다. JPA와 JUnit 테스트, 그레이들, 머스..