최근에 AWS 프리티어가 끝나가서 운영중이던 사이드 프로젝트의 스프링 서버를 새로운 계정을 파서 옮기려고 했다. 이건 백엔드 api 서버인데 http로는 배포된 웹에서 호출이 되지 않기 때문에 https도 붙이려고 했다.옛날엔 EC2 서버에 SSL 인증서를 직접 설치하
프로그램 실행 중 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 경우가 있다. 이러한 결과를 초래하는 원인을 프로그램 에러 또는 오류라고 한다. 이를 발생시점에 따라 컴파일 에러(compile-time error)와 런타임 에러(runtime error)로
인터넷 브라우저 주소창에 https://www.google.com/을 치고 엔터를 누르는 순간 브라우저가 URL에 적힌 값을 파싱한다. 어떤 프로토콜로 어느 URL로 어느 포트로 보낼 것인지 해석한 후 HTTP Request Message를 만들고 OS에 전송요청을
람다식은 메서드를 하나의 식(expression)으로 표현한 것이다. 람다식은 함수를 간략하면서도 명확한 식으로 표현할 수 있게 해준다. 메서드를 람다식으로 표현하면 메서드의 이름과 반환값이 없어지므로 람다식을 익명 함수(anonymous function)이라고도 한다
처음 SW 개발을 접했던 건 2020년 겨울이었다. 그때의 난 캐나다에 있었고 영주권을 따기 위해 시골에 있는 모텔 느낌의 호텔과 주유소에 딸린 편의점에서 단순 노동을 하고 있었다. 하지만 이런 생활은 생각보다 견디기 힘들다. 왜냐면 캐나다는 땅이 넓어서 작은 타운과
Java, Spring framework, MVC, JSP, JDBC, MyBatis, MySQL, Oracle SQL, Maven, HTML5/CSS, JavaScript, jQuery, Android(조금), Linux(조금)을 배웠다. 기술 스택에서 알 수 있듯이
처음 SW 개발을 접했던 건 2020년 겨울이었다. 그때의 난 캐나다에 있었고 영주권을 따기 위해 시골에 있는 모텔 느낌의 호텔과 주유소에 딸린 편의점에서 단순 노동을 하고 있었다. 하지만 이런 생활은 생각보다 견디기 힘들다. 왜냐면 캐나다는 땅이 넓어서 작은 타운과
오늘(11.30) 접수 마감인 원티드의 프리온보딩 11월 챌린지를 알게 되어서 급하게 작성하는 사전과제! 조금 어려워 보이지만 사전과제가 공부용으로도 좋아보여서 후다닥 해 보려고 한다.동기와 비동기는 프로세스의 수행 순서 보장에 대한 매커니즘이다. 즉 처리해야 하는 작
인가(Authorization)를 요청받은 사용자에 대해서 적절한 권한을 가지고 있는지 확인 후 인가 허용을 결정하는 컴포넌트인 ConnectionBasedVoter를 만들 것이다. Location security 패키지 아래에 만들어 준다. ConnectionB
이번 포스트에서는 실질적인 시용자 인증 처리 및 JWT 생성 처리를 하는 JwtAuthenticationProvider 클래스를 작성할 것이다.AuthenticationProvider 인터페이스를 구현한 클래스를 생성한다. JWT 정보를 저장할 필드와 서비스단 참조변수
인증 주체를 나타낼 JwtAuthenticationToken 클래스를 만들 것이다. Location security 패키지 아래에 만든다. AuthenticationRequest class 시작하기에 앞서 인증 요청을 보낼 때 사용할 클래스를 만들 것이다. Jw
이번에는 인증된 사용자를 표현하는 클래스를 만들 것이다.security 패키지 아래에 JwtAuthentication이라는 이름으로 클래스를 생성한다.인증된 사용자의 정보를 저장할 필드를 선언한다. 역시 final을 붙여주어 불변성을 가지게 한다. Id<User,
이제 본격적으로 비즈니스 로직을 작성할 것이다. 모든 코드는 프로그래머스 웹 백엔드 스터디에서 받았던 샘플 코드를 바탕으로 작성되었다. Package structure in my application 내 애플리케이션의 패키지 구조는 위와 같은 형태이다. august
What is the TDD? Test-Driven-Development의 약자로 한글로 번역하면 테스트 주도 개발이라 할 수 있다. TDD는 [그림1]의 기존 프로세스와 다르게 [그림2]와 같이 테스트 케이스를 먼저 작성한 후 실제 코드를 개발하는 절차를 따른다.
다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입 체크(compile-time type check)를 해주는 기능객체의 타입을 컴파일 시에 체크하기 때문에 객체의 타입 안정성을 높이고 형변환의 번거로움이 줄어든다. 타입 안정성을 높인다는 것 :
이렇게 쓰는 이유는 하던 일 그만두고 왜 개발자가 되었고, 뭘 해왔는지 정리하고 싶어서이다. 그리고 일단 내 이야기 쓰는 것을 좋아해서! 쓰게 되었다. 여긴 내 블로그니까처음 SW 개발을 접했던 건 2020년 겨울이었다. 그때의 난 캐나다에 있었고 영주권을 따기 위해
처음에 객체지향프로그래밍을 공부할 때 어려웠던 것 중 하나가 추상클래스였다. 보통 추상 하면 서양미술에서의 추상화가 생각나고 뭔가 쉽게 알아보기 힘든 이미지였기 때문이다. 하지만 프로그래밍을 공부하며, 프로그래밍에서의 추상화는 복잡한 것을 덜어내고 최대한 공통되는 핵심
상속이란 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 상속을 통해서 클래스를 작성하면 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있고 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이하다.우리가 오리게임을 개발하게 되었는
최근 진행중인 토이 프로젝트에서 네이버 로그인 API를 활용해 소셜 로그인 기능을 구현했다. 구현하면서 생각외로 이슈를 많이 겪었는데 재직 중에 진행하다 보니 물리적인 시간이 여유롭지 못해 최종 구현에 많은 시간이 걸렸다. 그렇지만 결국 목표했던 구현에 성공했기 때문에
시작하기에 앞서 자바가 뭔가.현시점에 사용되고 있는 핫한 프로그래밍 언어 중의 하나이고 또 순수한 객체지향언어라는 평가를 받는 프로그래밍 언어이다. 이러한 자바의 특징을 몇 가지 알아보자면자바가 출시되기 이전에 존재했던 언어들과 달리 자바는 운영체제에 종속되지 않는다.