전체 글

개발만 하기는 심심하니 기록 또 기록..
개요 원티드에서 진행하는 백엔드 프리온보딩에 참여하게 되었고 아키텍처 구성 강의를 듣기 시작한다. 첫날은 도메인에 대하여 강의를 진행한다 난 그 강의를 보며 배운 내용을 기록한다. "소프트웨어는 사용자가 원하는 어떤 문제를 해결하기 위해 만들어진다. 영화 예매 시스템의 목적은 영화를 좀 더 쉽고 빠르게 예매하려는 사용자의 문제를 해결하는 것이다. 이처럼 문제를 해결하기 위해 사용자가 프로그램을 사용하는 분야를 도메인이라고 부른다." - 조영호 '오브젝트'- 도메인이란 무엇일까? 비즈니스 중심, 문제 해결점, 만남의 장소, 나의 이력, 플레이그라운드.. 여러가지 키워드가 언급이 되었다. 도메인이란 도메인은 우리가 프로그래밍을 한다면 가장 신경써줘야할 곳 우리가 문제에 대해 맞닥들이는 곳 문제에 대해 풀어나..
개요 새로운 프로젝트를 하면서 oauth를 도입하기로 결정했다. oauth를 구현하면서도 어떻게 돌아가는지 잘 이해가 되지 않아 이번에 한번 개념들을 정리해보기로 했다. OAuth 2.0? OAuth 2.0 (Open Authorization 2.0) 웹 서핑을 하다보면 google, facebook등 외부 소셜 계정을 기반으로 간편하게 회원가입 및 로그인을 할 수 있는 방법을 쉽게 찾아볼 수 있다. 이러한 서비스들은 연동되는 외부 웹 어플리케이션에서 페이스북 및 트위터등이 제공하는 기능을 간편하게 사용할 수 있다는 장점이 있다. 구글, 페이스북, 트위터, 네이버 등등 다양한 플랫폼에서 특정한 사용자가 데이터에 접근하기 위해 제 3자의 클라이언트가 사용자의 접근 권한을 받을 수 있는 인증을 위한 개방형 ..
Spring Security란? 스프링 시큐리티는 인증 (Authentication) ,권한(Authorize) 부여 및 보호 기능을 제공하는 프레임워크다. Java / Java EE 프레임워크 개발을 하면서 보안 분야는 시간이 많이 소요되는 활동들 중 하나다. Spring Security를 사용함으로써 짜여진 내부 로직을 통해 인증, 권한 확인에 필요한 기능과 옵션들을 제공한다. 인증(Authentication) , 인가(Authorization) 인증과 인가란 무엇일까? 보통 인증 절차를 거친 후 인가 절차를 진행한다. 인증: 해당 사용자가 본인이 맞는지를 확인하는 절차. 인가: 인증된 사용자가 요청된 자원에 접근가능한가를 결정하는 절차 인증 방식 1. credential 방식: username, p..
· Language.
개요 POJO란 무엇일까? 오늘은 무엇을 공부할까 하며 주제들을 찾고있었는데 POJO란게 눈에 보였다. 뭔가 이름이 귀여워보이기도하고 그래서 오늘 한번 공부해보겠다. POJO POJO(Plain Old Java Ovject) 말 그대로 해석하면 오래된 방식의 간단한 자바 오브젝트라는 말이다. 오래된 방식의 간단한 오브젝트를 조금 더 풀어서 말해보자면 특정 기술에 종속되어 동작하는 것이 아닌 순수한 자바 객체 그 자체를 말하는 것입니다. @Getter @Setter public class UserDto{ private String name; private String email; private String password; } 예를 들어 위 객체는 순수 자바 기능인 Getter, Setter만 가지고 있다..
· in khope.
개요 선생님의 추천으로 하이스쿨 알고리즘 캠프라는 알고리즘 수업도 듣고 팀을 짜 함께 알고리즘 문제풀이 대회도 진행하는 구름 하이스쿨 알고리즘 캠프에 참여하게되었고 오늘 마치고 집에 돌아와 적는 글이다. 알고리즘? 나는 알고리즘 문제를 푸는 것을.. 좋아하기보다는 싫어하진 않고 오히려 풀었을때의 성취감을 느끼고 또 취업을 하려면 거의 디폴트로 가져가야하는 역량이기때문에 백준은 나름 열심히 풀었다. 나는 보통 구현 수학 그리디 구간합과 같은 알고리즘 문제들을 푸는 중이였고 어느날 선생님이 카톡으로 알고리즘캠프를 진행한다고 공지를 해주셔 알고리즘이 고팠던 나는 바로 신청을 했다. 이 알고리즘 캠프는 판교 제주 광주 이렇게 세 지역에서 진행했고 나는 광주 영상 복합문화관에서 진행하는 광주 캠프에 신청을 했다...
· in khope.
개요 2월 5일 한가한 오후 3시쯤 내일 2월 6일은 나의 기쁘고도 기쁜 생일이다! 12시 땡치자마자 놀아야지? 라고 생각했었다. 곧 다가올 비극은 알아차리지 못한채.. 2월 5일 3시 30분 팀 프로젝트의 기능관련 회의를 마치고 나의 스프링부트 프로젝트를 클라우드타입으로 옮겨 개발 서버를 배포하기위한 작업을 하고있었다. 그렇게 환경변수를 하나하나 차곡차곡 삽질해주며 평소처럼 설정을 마치고 실행을 눌렀다. 그런데 이게 무슨상황인가 환경변수로 yml을 바꿔주고 실행을 눌렀는데. 어라 Access denied..? 분명 로컬인데 왜 이게 뜨는걸까? 분명 url도 맞게 설정을 했고 비밀번호와 유저도 ... MySQL의 문제인건가? 하고 계속해서 삽질을 이어나갔다. mysql을 지우고 프로세스를 전부 죽인후에 ..
개요 Team.Lifestyle이라는 GSM의 학생들끼리 모인 팀이 있다 팀활동중 온라인 스터디를 진행하게 되었고 스터디 주제로 이 주제를 선정하게 되었다. 다들 스프링 시큐리티를 공부하면서 필터와 인터셉터에 대해서는 한번씩 들어보았을 것이다. 둘이 다른건 알겠지만 무엇이 다른지 제대로 설명못하는 나와 다른 백엔드 개발자들을 위해 한번에 정리해보도록 하겠다. 그리고 한번 AOP 관점으로도 알아보자 자바로 웹 개발을 하다보면, 공통적으로 처리해야 할 업무들이 많다. 서블릿 필터 (Servelt Filter) 필터는 간단히 말해서 HTTP요청과 응답을 변경, 재사용이 가능한 코드이다. 객체의 형태로 존재하며 클라이언트로부터 오는 요청과 최종 자원 사이에 위치해 클라이언트의 요청 정보를 변경할 수 있다. 필터..
개요 학교 내 만들어진 팀중 Lifestyle이라는 팀이 있다. 난 그곳의 리더로서 온라인 스터디라는걸 진행했다. 물론 참여자는 두명뿐이였지만.. 처음이니까 뭐 가볍게 하자는 마인드로 어쨌든 온라인 스터디의 메커니즘은 이렇다. 참여한 인원의 수만큼 스터디 주제를 정한다. -> 인원마다 하나씩 주제를 배정받는다 -> 1시간 스터디 후 발표 그래서 나는 이번에 AOP라는 주제를 받게되었고 정리해보려 한다. AOP(Aspect Oriented Programming) AOP는 Aspect Oriented Programming의 약자로 관점 지향 프로그래밍이라고 불린다. 공통 관심 기능을 분리해 반복되는 부분을 추출해 핵심 로직에 영향을 미치지 않고 소스의 중복을 줄이는 기법으로 기존 OOP에서 공통 관심 기능을..
개요 스프링 AOP, Filter, Interceptor과 같은 개념을 공부하면서 디스패처 서블릿에 대한 얘기가 나오는데 아직 디스패처 서블릿에 대한 개념이 부족한 것 같아 한번 개념과 동작과정을 정리해보려고 한다. Servlet (Java Servlet) 자바 서블릿이란 자바를 사용해 웹을 등족으로 생성하는 서버측 프로그램 혹은 그 사양을 말한다. 흔히 서블릿이라고 불리며 자바 서블릿은 웹 서버의 성능을 향상시키기위해 사용되는 자바의 클래스 일종이다. 즉, 서블릿은 클라이언트의 요청을 처리, 그 결과를 반환하는 웹 프로그래밍 기술이다. Dispatcher-Servlet dispatch는 "보내다" 라는 뜻을 가지고있고 이러한 단어를 포함해 디스패처 서블릿은 HTTP로 들어오는 모든 요청을 가장 먼저 받..
khope
메모장 희망편