일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- react
- spring
- Spring Framework
- defaultdict
- 스프링
- 청크
- 자바
- PYTHON
- GCP Storage
- DAO의 분리
- java
- 오버라이딩
- orderedDict
- 백준
- 싱글톤 레지스트리
- 파이썬
- null
- 외부조인
- 싱글톤
- 리스트 자르기
- overriding
- 개발기록
- 쓰는이유
- ChainMap
- select
- 121
- 데이터베이스
- Oracle
- DAO
- JIT
- Today
- Total
목록분류 전체보기 (45)
PengTory
BackEnd Tech Stack Programming languages : JAVA Frameworks: Spring Boot Web Server: Apache Database: PostgreSQL 선택 이유? Spring Boot — SpringBoot의 장점인 라이브러리 관리 자동화, 설정의 자동화, 라이브러리 버전 자동 관리, SpringFramework 설정 자동화, 내장 Tomcat 사용 가능 그리고 독립 실행 가능한 JAR 배포 등의 이유로 미니 프로젝트인 “Slow Letter”에 적합하다고 판단했습니다. Apache Tomcat — Spring Boot에는 Apache Tomcat이 내장되어있습니다. JAVA — JAVA는 11버전을 사용했습니다. 현재 17버전까지 나온 것으로 알고 있지..
5명의 학생들이 두 달동안 공부하며 개발한 “Slow Letter”. 준비과정부터 결과까지 모든 과정을 기록해 볼 예정입니다. 1. Slow Letter란? Slow Letter란 사용자가 웹에서 보내는 메일을 실제 손편지처럼 주고 받으며 옛날 펜팔의 감성을 다시 느껴볼 수 있는 서비스입니다. 실시간 메신저가 등장하기 전, 밤새 펜팔 답장을 기다려보신 추억을 잊지못하고 계신가요? 그럼 이 서비스를 통해 추억을 다시 되살려보세요! 2. Slow Letter의 기능 사용자는 서비스에 가입한 타 회원 혹은 자신에게 메일을 보낼 수 있습니다. 편지처럼 출발지역과 도착지역을 선택할 수 있습니다. 비행기, 기차 등 원하는 교통수단을 선택해 편지를 보낼 수 있습니다. 선택한 교통수단의 속도와 지역 간 거리를 계산해 ..
랜덤 회원과 채팅을 진행할 수 있게 해주는 토이 프로젝트에서 백앤드를 맡아 개발을 시작했다. 채팅이라는 작은 기능부터 시작해 아이디어를 붙여나가볼 생각이다. 위와 같은 기술스택을 사용할 예정이며 백앤드를 맡을 것이다. 스프링 시큐리티와 jwt 토큰에 대해 이론적으로만 알고 있었는데 이번 프로젝트에서 직접 붙여볼 예정이다. 그리고 스프링 관련 서적을 읽으며 예외처리와 테스팅 코드에 대해 학습했다. 따라서 이번 프로젝트에서는 적절한 예외처리와 테스팅 코드를 넣어볼 생각이다. 하나씩 완성해보자.
스프링 시큐리티(Spring Security) 스프링 시큐리티는 스프링 기반의 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크이다. 즉 인증(Authenticate) 과 인가(Authorize)를 담당하는 프레임워크를 뜻한다. 스프링 시큐리티에서는 주로 서블릿 필터(filter)와 이들로 구성된 필터체인으로의 구성된 위임모델을 사용한다. 그리고 보안과 관련해서 체계적으로 많은 옵션을 제공해주기 때문에 개발자 입장에서는 일일이 보안관련 로직을 작성하지 않아도 된다는 장점이 있다. [인증과 인가]- 접근주체 (Principal): 보호된 리소스에 접근하는 대상 - 인증(Authentication): 해당 사용자가 본인이 맞는지 확인하는 절차 - 인가(Authorize): 인증..
이 글은 [객체지향의 사실과 오해] 라는 책을 읽으며 개인적으로 정리한 글이다. 몇달 전에 객체란 무엇인가? 라는 질문을 받은적이 있었는데 확실히 대답하지 못했다. 객체지향의 대표적인 언어인 Java를 공부하고 있지만 객체가 뭔지 정확히 설명할 수 없었고 그 결과 간단하지만 중요한 개념을 잡고 가야겠다고 생각했다. 객체 그리고 이상한 나라 책에서는 이상한 나라의 앨리스를 예시로 들어 객체를 설명한다. 간단히 이상한 나라의 앨리스 이야기를 해보자. 앨리스는 토끼를 따라가 이상한 굴에 들어가고 작은 문을 통해 정원으로 들어가기 위해 케이크, 음료 등을 먹으며 키를 조절한다. 앨리스가 음료를 마시는 것은 행위(behavior)이다. 그리고 앨리스가 음료를 마셔 키가 작아지는 것은 상태(status)이다. 앨리..
Java와 Spring을 공부하다보면 종종 JDBC, JPA 그리고 Hibernate라는 단어를 볼 수 있다. JDBC와 JPA는 모두 자바 프로그램 내에서 DB에 접속하기 위해 만들어진 API이다. 항상 추상적으로 알고 넘어가던 부분을 자세히 정리해볼까 한다. 두 개념에 대해 알기 전에 먼저 영속성(Persistence)에 대해 알고 시작하자. 영속성(Persistence) persistence의 뜻은 위 사진과 같다. 따라서 영속성은 단어 해석처럼 데이터를 생성한 프로그램이 종료되더라도 사라지지 않는 데이터의특성을 말한다. 영속성을 갖지 않는 데이터는 메모리에서만 존재하기 때문에 프로그램이 종료되면 모두 사라지게 된다. 따라서 파일 시스템, 관계형 데이터베이스 혹은 객체 데이터베이스 등을 활용해 데이..
프로세스와 스레드는 자주 비교되는 항목이다. 공부하면서 정리해보자. 먼저 프로세스와 스레드의 개념적 설명을 알아보자. 프로세스와 스레드란? 프로세스: 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램 스레드: 프로세스 내에서 실행되는 흐름의 단위 혹은 CPU 스케쥴링의 기본 단위 프로그램과 프로세스 그렇다면 프로그램이란 무엇일까? 프로그램이란 파일이 저장 장치에 저장되어 있지만 메모리에는 올라가지 않은 정적인 상태를 말한다. 메모리에 올라가있지 않았다는 것은 아직 운영체제가 프로그램에게 독립적인 메모리 공간을 할당해주지 않았다는 뜻이다. 모든 프로그램은 운영체제가 실행되기 위한 메모리 공간을 할당해줘야 실행이 가능하다. 정적인 상태란 말 그대로 아직 실행되지 않았으며 가만히 있다는 뜻이다. 쉽게 생각해..
문제: 백준 1312 소수 https://www.acmicpc.net/problem/1312 1312번: 소수 피제수(분자) A와 제수(분모) B가 있다. 두 수를 나누었을 때, 소숫점 아래 N번째 자리수를 구하려고 한다. 예를 들어, A=3, B=4, N=1이라면, A÷B=0.75 이므로 출력 값은 7이 된다. www.acmicpc.net 피제수(분자) A와 제수(분모) B가 있다. 두 수를 나누었을 때, 소숫점 아래 N번째 자리수를 구하려고 한다. 예를 들어, A=3, B=4, N=1이라면, A÷B=0.75 이므로 출력 값은 7이 된다. A÷B를 했을 때, 소숫점 아래 N번째 수를 출력해주는 문제이다. 해결 과정 문제의 제약조건에 있는 N이 100만까지였기 때문에 그냥 나누어서 n+1 자리를 출력하려..