일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- mariadb
- SQL
- 오라클
- Spring
- 인프런
- 소셜로그인
- MySQL
- SpringFramework
- 패캠
- 자바기초
- 자바의정석
- 패스트캠퍼스
- 남궁성
- 불친절한SQL
- 클린빌드
- 국비지원
- java
- 스프링의정석
- ApplicationContext
- 쿼리
- cleanbuild
- Oracle
- RDBMS
- oauth
- 기초쿼리
- 자바연습문제
- 자바
- 자바문제
- 스프링
- devcamp
- Today
- Total
목록전체 글 (45)
Darren's Devlog
이번 게시글에서는 제네릭스부터 시작해, 클래스와 타입, 일반화, 변성에 대한 개념에 대해 설명한다. 모두 타입과 관련된 일반적인 개념이다. 프로그래밍 언어는 타입으로 부터 시작한다고 해도 과언이 아닐 것이다. 그렇기 때문에 개발자는 타입 시스템을 잘 이해할 필요가 있다고 생각하며 정리를 시작했다. 말은 거창하게 했지만, 본 게시글에서 다루는 내용은 사실 타입 시스템에서도 아주 기초적인 부분이다. 본 게시글은 코틀린 인 액션의 제네릭스 챕터를 많이 인용했다. 문법적 표현의 차이는 존재할 수 있지만 전반적인 개념을 이해하는데는 문제가 없을거라(?) 생각한다. 제네릭스 제네릭은 타입 안전성을 유지하면서 유연성을 제공하는 중요한 기능이다. 내부에서 사용할 데이터 타입을 외부에서 지정할 수 있다. 타입 파라미터를..
timedatectl 명령어를 통해서 리눅스 시스템 타임존을 변경할 수 있다. 현재 설정된 타임존 확인 $ timedatectl Local time: Thu 2023-12-14 04:56:14 UTC Universal time: Thu 2023-12-14 04:56:14 UTC RTC time: Thu 2023-12-14 04:56:14 Time zone: n/a (UTC, +0000) UTC로 설정되어있으니, 변경하려는 시간대를 먼저 찾아야한다. $ timedatectl list-timezones Africa/Abidjan Africa/Accra Africa/Addis_Ababa Africa/Algiers ... 다음 명령어를 통해 수정해주면 된다. $ timedatectl set-timezone As..
안녕하세요. 오늘은 스프링배치에 대한 소개라는 주제로 포스팅해 보겠습니다. 최근에 저는 실무에서 스프링배치 관련 유지보수 업무를 맡게 되었습니다. 업무하다보니 단순한 유지보수 작업을 넘어, 프레임워크에 대한 이해와 성장에 대한 도전의식이 생기게 되었습니다. 실제 업무를 통해 스프링 배치에 대한 지식과 경험을 쌓으며, 단순히 코드를 고치는 것 이상의 가치를 찾고 싶었습니다. 뿐만 아니라, 직접 배치 프로그램을 설계하고 구현하는 것을 목표로 스프링배치를 주제로 스터디를 진행하게 되었습니다. 이번 스터디를 통해 실무에서의 역량을 더욱 향상시키며, 더 나은 개발자로 성장하고자 하는 목표를 가지고 시리즈로 이어나갈 계획입니다. 스프링배치의 등장 배경 스프링 배치는 Java 진영에서 대용량의 데이터를 일괄 처리를 ..
안녕하세요. 오늘은 초기 개발 단계에 아주 유용한 PostMan의 Mock Server를 소개하겠습니다. Mock Server는 가상 API서버를 제공해 주어 요청과 응답이 실제 처리되는 것처럼 시뮬레이션해 줍니다. 백엔드 환경이 완전히 구축되지 않았어도 사전에 합의된 API를 제공해 주어 지체 없이 바로 개발을 시작할 수 있게 도와줍니다. 1. 먼저 포스트맨을 실행시켜 주신 후 새로운 Collection을 생성해 줍니다. 2. 좌측에 Mock Servers 탭 선택 후 Create Mock Server 버튼 또는 + 버튼을 눌러줍니다. 3. Select An existing collection 탭을 눌러 아까 생성하신 Collection을 선택 후 Next를 눌러주세요. 4. Mock Server Na..
자바를 공부를 하다 보면 자연스럽게 스프링에 관심을 가지게 되고, 스프링을 공부를 하다 보면 한 번쯤은 다음과 같은 질문을 해보셨을 겁니다. "스프링과 스프링부트는 무엇이 다르지?" 저도 단순하게 스프링보다 설정이 간편하고 내장 톰켓을 지원한다 정도로만 넘겼었습니다. 이번에 개인적으로 공부를 하며 비슷하지만 서로 엄연히 다른 스프링과 스프링부트에 대해 알아보기로 했습니다. Java기반 웹 기술의 발전 시작하기 앞서 스프링의 등장 배경부터 스스로에게 질문해 보았습니다. 1989 - 1997 인터넷의 등장 이후, 1989년에 처음으로 Website가 등장하게 됩니다. 웹사이트의 첫 등장 이후 1997년에 100만 번째 도메인이 등록되고, 인터넷과 가정용 PC가 보급되면서 웹 사용자가 급격히 증가하게 되었습니..
ObjectMapper은 데이터 포맷 중 하나인 JSON을 간편하게 POJO로 다룰 수 있는 기능들을 제공합니다. 또한 매우 Customizable하기 때문에 고도한 Object 처리를 가능하게 해줍니다. 오늘은 JSON → POJO로 변환하는 과정(Deserialize, 역직렬화)에서 발생한 InvalidFormatException을 해결할 수 있는 CustomDeserializer클래스를 만들어보겠습니다. 1. 시나리오 Book JSON [ { "name":"자바의정석", "reviewCount":"735" }, { "name":"토비의스프링", "reviewCount":"2,413" } ] BookDto @Getter @Setter public class BookDto { private String..
안녕하세요. Array형식의 응답 값을 간편하게 다루기 위한 고민을 했습니다. JsonNode는 Iterable 인터페이스를 구현하고 있어, Stream으로 변환하여 처리하였습니다. StreamSupport 클래스의 stream() 메서드로 변환이 가능합니다. StreamSupport.stream(jsonNode.spliterator(), false); 아래는 응답값을 간편하게 특정 조건으로 필터링한 후 List로 반환해주는 예제입니다. JsonNode responseNode = restTemplate.exchange(uri, HttpMethod.POST, entity, JsonNode.class).getBody(); List visitorNodeList = StreamSupport.stream(resp..
[OAuth 2.0] OAuth 개념과 구글 OAuth 세팅 및 로그인 스프링부트로 구현 해보기 -1 안녕하세요. 이번 게시글에서는 OAuth 2.0에 대한 간략한 개념과 스프링부트 환경에서 직접 구현해보는 단계까지 다뤄보도록 하겠습니다. OAuth, Open Authorization 정의 OAuth는 인터넷 사용자들이 비밀 darrenlog.tistory.com 이번 게시글은 1편에 이어 스프링 부트를 활용하여 유저의 이메일 정보를 받아오는 코드를 작성해 보도록 하겠습니다. 1. Authorization Code 발급 가장 먼저 해야하는 Authoriztion code 발급부터 테스트해보도록 하겠습니다. https://accounts.google.com/o/oauth2/auth?client_id=CLI..
1월 공군 만기 전역 1월 13일에 미복귀 휴가를 나오며 공군 만기 전역을 하였습니다. 2월 28일 드디어 민간인 신분이 되어 개발자가 되기 위한 목표를 달성하기 위해 국취제 프로그램을 알아보았습니다. 2월 비트캠프 합격 여러 학원들 중 강남 비트캠프를 선택하게 되었고 2월 11일 합격을 하게 되었습니다. 본가가 강원도라 ktx를 타고 왔다 갔다 하면서 수업을 들었었습니다. 지금 생각해보면 열정 하나만으로 버틸 수 있었던 것 같습니다. 비트캠프 수료, 그리고 남궁성 선생님의 DevCamp! 드디어 비트캠프를 수료하게 됐습니다! 사실 수료한지 이미 며칠이 지났지만 기록을 남기려고 포스팅을 합니다 ㅎㅎ 처음시작했을 때는 수료날이 언제 올까 싶었는데... 시간이 참 빠르네요. 주 darrenlog.tistor..
안녕하세요. 이번 게시글에서는 OAuth 2.0에 대한 간략한 개념과 스프링부트 환경에서 직접 구현해보는 단계까지 다뤄보도록 하겠습니다. OAuth, Open Authorization 정의 OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준이다. 유저가 특정 웹사이트(타 서비스)를 이용하려고 할 때, 자신의 회원정보를 기존에 이미 가입했던 구글, 네이버, 카카오 등에서 제공해주어 보다 안전하고 간편하게 회원가입 또는 로그인 처리를 돕는 프로토콜입니다. 비밀번호와 같은 나의 민감한 정보를 타 서비스에서 관리하도록 하는 것이 아니라 구글, 네이버, 카..