최근에 AWS 프리티어가 끝나가서 운영중이던 사이드 프로젝트의 스프링 서버를 새로운 계정을 파서 옮기려고 했다. 이건 백엔드 api 서버인데 http로는 배포된 웹에서 호출이 되지 않기 때문에 https도 붙이려고 했다.옛날엔 EC2 서버에 SSL 인증서를 직접 설치하
https://www.acmicpc.net/problem/3003동혁이는 오래된 창고를 뒤지다가 낡은 체스판과 피스를 발견했다.체스판의 먼지를 털어내고 걸레로 닦으니 그럭저럭 쓸만한 체스판이 되었다. 하지만, 검정색 피스는 모두 있었으나, 흰색 피스는 개수가
준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어졌을 때, 놀람을 표현하는 프로그램을 작성하시오.첫째 줄에 준하가 가입하려고 하는
자바스크립트로 다시 시작하는 코테공부백준에 있는 단계별 풀기의 첫번째 문제인 Hello World! 출력하기부터 해 보았다.제출시 언어 선택은 Node.js로 하면 된다.문제Hello World!를 출력하시오.코드
프로그램 실행 중 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 경우가 있다. 이러한 결과를 초래하는 원인을 프로그램 에러 또는 오류라고 한다. 이를 발생시점에 따라 컴파일 에러(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년 겨울이었다. 그때의 난 캐나다에 있었고 영주권을 따기 위해
처음에 객체지향프로그래밍을 공부할 때 어려웠던 것 중 하나가 추상클래스였다. 보통 추상 하면 서양미술에서의 추상화가 생각나고 뭔가 쉽게 알아보기 힘든 이미지였기 때문이다. 하지만 프로그래밍을 공부하며, 프로그래밍에서의 추상화는 복잡한 것을 덜어내고 최대한 공통되는 핵심