2022/03 20

[괴발개발] 덕지덕지 - 기본 페이지 및 엔티티 설계

일상글에서 언급했다시피 프로젝트명을 Remote Note에서 덕지덕지로 바꾸었습니다. 포스트잇 혹은 메모지를 벽에 덕지덕지 붙인다는 말이 떠올랐고, 어감이 나름 괜찮아서 무엇보다도 Remote Note 보다는 괜찮아서 이름을 바꾸었습니다. 현재 아주 단순한 것부터 개발을 하였습니다. 먼저 엔티티부터 설계를 하였습니다. OAUTH 2.0으로만 로그인하도록 기획하였기에 이에 맞게 엔티티를 설계하였습니다. @Getter @AllArgsConstructor @NoArgsConstructor @Builder @Embeddable public class OAuth implements Serializable { @NotNull @Column(unique = true) private String email; @NotN..

Spring/괴발개발 2022.03.30

[공부/서버] 백엔드 개발자 지망생, 앞으로 공부해야할 것들

또다시 작성하는 앞으로 공부해야할 것들 시리즈입니다. 제 블로그를 자주 읽으신 분들 혹은 제 친구들은 아마 제가 백엔드 개발자를 지망하는 고등학생이라는 사실을 아마 알 것입니다. 어른들이 자주 하시는 말씀 중에는 아마 이런 말이 있었습니다. 첫 회사가 나중 회사를 좌우한다. 저는 이 말이 틀렸다고는 생각하지 않습니다. 그리고 첫 회사를 좋은 데 갈 수 있다면 가는 것이 저에게 있어 제일 좋을 것이기 때문입니다. 그래서 저는 최대한 첫 회사를 잘 가기 위해 노력을 하고자 하는 데.... 그거 어떻게 하는 건데? 저는 해본 적이 당연히 없으니 이런 고민을 하는 것이니, 제가 앞으로 준비해야 하는 것들을 알아보려면 크게 2가지 방법이 있습니다. 첫 번째는 정보의 불확실성을 안은 채, 인터넷 정보를 신뢰하는 것..

공부/서버 2022.03.28

일상이에요

요즘 기분이 울적해져서 더 숨어서 찾기 힘들어진 오잎 클로버입니다. 왜 울적함을 느끼는 원인을 아직 못 찾았습니다. 그래서 원인을 찾는 것을 포기하고 취업과 관련한 글들과 블로그 등등을 읽어보고 있습니다. 그리고 이를 기반으로 아마 또 포스팅할 것 같습니다. 같은 주제로 계속 포스트를 하는 이유는 이전에 부족했거나 잘못된 내용을 수정, 그리고 더 새로운 정보를 얻고 이를 저처럼 취업을 목표로 하는 분들에게 조금이나마 도움이 되었음 하는 마음에 하는 것입니다. 현재 자바를 기초부터 천천히 다시 공부하고 있습니다. 현재 학교 동아리 CNS(Care And Service) 팀에서 1학년 상대로 자바 강의를 해주는 것을 덤으로 저 역시 공부하고 있습니다. 기본적으로 C언어와 문법적인 요소는 비슷하다 보니 출력,..

일상 2022.03.27

[Spring] JPA 공부 #1

JPA에 대해 자세히 공부해보고자 JPA 공부를 해보고자합니다. 일단 JPA에 대해 공부하다보니 영속성 컨텍스트에 대해 알아야하기에 영속성 컨텍스트가 무엇이고, 또 어떤 역할을 수행해주는 지에 대해 간단하게 제 방식대로 요약을 해보고, 직접 테스트하는 것으로 #1을 마무리하도록 하겠습니다. 영속성 컨텍스트(Persistence context)란? 일단 영속성 컨텍스트에 대해 알아보기전에 영속이 무슨 뜻인지 알아보기위해 사전에 검색했습니다. 그리고 컨텍스트는 저장소로써 어떤 정보들을 저장하고 관리하는 용도라고 하니 이 둘을 그냥 이어붙인다면 "영원히 계속 유지되는 성질들을 저장하고 관리"라는 뜻이 되나, 뭔가 어색한 뜻이기에 저만의 풀이로 해석하자면, "지속적으로 정보들을 저장하고 관리하는 저장소" 정도로..

Spring 2022.03.25

[학교/자바] 두 번째 수업

수업일자: 2022.03.23 두 번째 수업에는 데이터 타입 중 기본형에 대해 배웠습니다. byte, short, int, long, float, double, boolean. 그리고 cast(형변환) 이렇게 8가지에 대해 배웠습니다. 다음 클래스는 수업 시간동안한 코드입니다. public class DataTypeStudy { public void studyInteger() { byte byteValue = 127; short shortValue = 32767; int intValue = 0x7fffffff; long longValue = 1000000000000000000L; } public void studyReal() { float floatValue = 3.14159265359F; double ..

[괴발개발] Remote Note

갑자기 원격 노트가 있었음하면 생각에 개인 프로젝트로 한 번 만들어볼까 싶어서 직접 개발해보기로 했습니다. 원격 노트, 원격 메모지에 맞는 이름을 지을 려고 했지만, 딱히 좋은 생각이 들지않아서 Remote(원격) Note(노트) 라고 지었습니다. 누가 작명했냐;; 다음 pdf은 제가 Notion으로 작성한 일종의 기획서입니다. 총 2가지의 프레임워크를 사용할 것 같습니다. React Spring 일단 네이티브도 데드라인에 포함시켰으나, 상황에 따라 네이티브는 제외될 수도 있습니다. 이상입니다.

Spring/괴발개발 2022.03.22

[공부/디자인 패턴] Prototype 패턴

Prototype Pattern 객체를 생성하는 데 비용(시간과 자원)이 많이 사용되고, 비슷한 객체가 이미 있는 경우에 사용되는 패턴입니다. Original 객체를 새로운 객체에 복사하여 우리의 필요에 따라 수정하는 메커니즘을 제공합니다. 이 패턴은 복사를 위해 #clone() 을 사용합니다. #clone()에서는 옅은 복사 혹은 깊은 복사, 이 둘을 개발자가 정의가능합니다. Prototype Pattern Structure public class Minion implements Cloneable { private String name; private String job; public Minion(String name) { this.name = name; } public Minion(String nam..

[공부/디자인 패턴] Singleton 패턴

Singleton Pattern 인스턴스를 하나만 생성하는 패턴으로 메모리 측면에서 낭비를 방지하고, 이미 생성된 인스턴스를 활용하기에 속도 측면에서 이점이 있습니다. 또, 데이터 공유가 쉽습니다. 물론, 여러 클래스의 인스턴스에서 싱글톤 인스턴스의 데이터에 동시에 접근할 경우, 동시성 문제가 발생할 수 있습니다. Singleton Pattern Structure public class Singleton { public static Singleton instance = new Singleton(); private Singleton() { // 외부 생성자 차단 } public static Singleton getInstance() { return instance; } public void say() { ..

[공부/서버] 앞으로 공부해야할 것들

현재 Spring 백엔드를 공부하면서 취업에 나가기 위해 공부해야할 것들 그리고 개인 혹은 협업 프로젝트를 보다 효율적으로 개발하기 위해 공부해야할 것들 이렇게 2가지 정도를 목표로 하여 앞으로 공부해야할 것들 한 번 더 작성하고자합니다. 본 글은 여기서 가져왔습니다. 1. 📡NETWORK 쿠키, 세션, JWT 토큰 Cookie / Session 세션 기반 인증 / 토큰 기반 인증 JWT (Json Web Token) 네트워크 시스템의 Layered Architecture 웹의 동작 방식 TCP/IP 5 계층 OSI 7 계층 TCP, UDP, IP, PORT HTTP, HTTPS HTTP / HTTPS HTTP 2.0 로드 밸런서 (Load Balancer) 로드 밸런싱 Scale out, Scale u..

공부/서버 2022.03.18

[학교/자바] 첫 수업

수업일자: 2022.03.16 먼저 첫 수업에는 이클립스를 다운받아 기본적인 에디터 및 환경을 조성하였습니다. 하지만 저는 이클립스를 예전에는 자주 사용을 하였지만, 인텔리제이가 이미 세팅이 완료되었고, 손이 인텔리제이에 적응하였기에 생각을 하였기에 인텔리제이로 진행하였습니다. (JDK 언급은 선생님께서 따로 말씀하지않으셨기에 1.8를 사용하였습니다.) Java, 혹은 그 외 언어에 대한 짤막한 얘기 역시 듣게 되었습니다. 인터프리터 언어, 컴파일러 언어, 그리고 java의 수명, java의 작동원리, java가 많이 사용되는 이유 등등... java의 작동원리와 많이 사용되는 이유를 간단하게 설명하자면 .java -Complie-> .class -JRE-> interpreter 방식으로 코드 수행 즉,..