공부/서버 10

백엔드 로드맵 공부

백엔드 로드맵 공부 백엔드 로드맵과 관련된 이미지인데 해당 링크를 통해 다운로드 받으실 수 있습니다. 일단 현재 대소고에서 1년간 보내며 몇 가지 시도를 해보면서 백엔드 개발을 해보기로 결정했습니다.. (물 workshop-6349.tistory.com 위 글 내용을 보안하고자 글을 하나 더 작성합니다. 위 로드맵이 있더라도 백엔드 취업과 관련하여 갈피를 못 잡고 있는 제 자신을 보며, 글도 보안할 겸 앞으로 다시 공부해야할 것들을 조금 탄탄하게 작성하기 위해 작성하였습니다. 저와 같이 갈피를 못 잡거나 정확히 분야를 정하지 못한 분들께 조금이나 도움이 되시길 바랍니다. (※필자는 자바와 스프링으로 주력으로 공부하고 있기때문에 그 위주로 작성하였습니다. 또, 신입을 기준으로 작성하였습니다. 참고해주세요...

공부/서버 2022.05.24

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

앞으로 공부해야할 것들, 5번째 글입니다. 어떻게 되다보니, 시리즈처럼 계속 올리는 것 같습니다. 이제 무엇을 공부해야하는 지 어느 정도 감을 잡았습니다. 여러 구인구직 사이트들과 여러 블로그 글들을 참고해서 어느 정도 감을 잡았습니다. 하지만, 여전히 길을 잘못 들었을 수도 있기에 "앞으로 공부해야할 것들"은 계속해서 포스팅할 것 같습니다. 1. DataBase 데이터베이스 기초 및 튜닝 SQL 튜닝 Transaction CS Redis Kafka 2. Java Java 고급 직렬화 클린 아키텍처 Dynamic Proxy, CGLib Proxy Reflection API 비동기 알고리즘 3. Spring Framework 스프링 기초부터 스프링 기반 프레임워크 및 라이브러리 TDD AOP PSA Tra..

공부/서버 2022.05.13

[공부/서버] MSA (MicroService Architecture)

MSA란? 작고, 독립적으로 배포가 가능한 각각의 기능을 수행하는 서비스로 구성된 아키텍처라고 할 수 있다. 마이크로 서비스는 온전히 독립적으로 배포가 가능하며, 다른 기술 스택(개발 언어, 데이터베이스 등)이 사용 가능한 단일 비즈니스 영역에 초점이 있다. MSA의 등장 배경 Monolithic Architecture는 소프트웨어의 모든 구성 요소가 한 프로젝트에 통합되어 있는 형태이다. 아키텍처가 단순하며, 유지보수가 용이하다. 하지만 일정 규모 이상의 서비스, 혹은 수백명의 개발자가 투입되는 프로젝트에서는 한계가 보인다. Monolithic Architecture의 한계는 다음과 같습니다. 서비스/프로젝트가 커질 수록 영향도 파악 및 전체 시스템 구조의 파악을 하는 데 어려움이 생긴다. 빌드 시간 ..

공부/서버 2022.05.09

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

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

공부/서버 2022.03.28

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

현재 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

[공부/서버] 프록시 서버란?

프록시 서버(Proxy Server)란? 클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터 시스템이나 응용 프로그램을 가르키는 말입니다. 서버와 클라이언트 사이에 중계기로서 대리로 통신을 수행하는 것을 가리켜 프록시, 그 중계 기능을 하는 것을 프록시 서버라고 부릅니다. 프록시 서버 중 일부는 프록시 서버에 요청된 내용들을 캐시를 이용하여 저장해 둡니다. 이렇게 캐시를 해 두고 난 후에, 캐시 안에 있는 정보를 요구하는 요청에 대해서는 원격 서버에 접속하여 데이터를 가져올 필요가 없게 됨으로써 전송 시간을 절약할 수 있게 됨과 동시에 불필요하게 외부와의 연결을 하지 않아도 된다는 장점을 갖게 됩니다. 또한 외부와의 트래픽을 줄이게 됨으로써 네트워크 병목 현상을 방지..

공부/서버 2022.02.25

[공부/서버] CORS란?

웹 개발을 하다 보면 최소한 한 번 이상은 CORS 정책 위반으로 인해 에러가 발생해본 경험쯤은 있을 것입니다. 저 역시 저 혼자서 Spring & React를 공부해보고자 토이 프로젝트를 제작하는 도중 이 이슈를 처음 겪게 되었습니다. 당시, React, Spring 환경 둘 다 로컬 환경에서 진행하였고, Spring으로는 REST API를 먼저 완성시킨 후, React로 API 서버와 통신을 시도했었습니다. API 서버와 통신을 진행하여 데이터를 받아오면 되는 단순한 작업이었기에 아무 생각 없이 통신을 진행했는 데, 콘솔에서 에러를 뱉어내어 꽤 당황하였던 경험이 있습니다. (경험...) 지금 보면 나름 친절하게 해결방법을 알려주는 에러 메시지라고 생각이 들지만, 웹 어플리케이션 개발 경험이 전무하던 ..

공부/서버 2022.02.24

[프로그래머스] 스킬업/주문관리 API 서버 개발

SpringBoot 공부를 하고자 프로그래머스 스킬업에 있는 주문관리 API 서버 개발이라는 연습 과제를 해보았습니다. SpringBoot를 자세히 모르고, SpringBoot를 사용할 때에는 JPA밖에 사용해보지 않아 문제를 푸는 데 있어 어려움을 느꼈습니다. ... 결국 중도 포기를 하긴 하였지만, 좋은 경험이었던 것 같습니다. 제 첫 스킬업 연습 과제였기에 낯설기도 했지만, 에디터 역시 제가 기존에 사용해오던 에디터와 달라 더 낯설게 느껴졌던 것 같습니다. 문제 자체는 어려운 편은 아니었지만, 제가 사용해보았던 JPA가 아닌 JDBC template를 사용하였다는 점, 그리고 직접 DB를 사용하여 CRUD를 하지 않고, Read를 중점적으로 했다는 점에서 문제를 해결하는 데에 있어 어려움을 느꼈습니..

공부/서버 2022.02.13

[서버/백엔드] 쿠키, 세션, 캐시 (Cookie, Session, Cache)

웹에 대해서 공부하기 위해 필수적으로 알아둬야하는 기초적인 내용 중 쿠키, 세션, 캐시에 대해서 기록해두고자 포스트하기로 했다. 쿠키(COOKIE) 쿠키는 브라우저가 소지할 수 있는 정보들을 저장하는 저장소입니다. 개인이 확인하고 수정하고 삭제할 수 있는 정보들이 담긴 저장소입니다. 본인이 확인하고 수정 및 삭제할 수 있는 만큼 보안적으로 좋은 방법은 아닙니다. 그래서 중요한 정보들은 쿠키에는 저장하지 않습니다. 쿠키는 보통 자동 로그인, 오늘 하루동안 보지 않기 등 이용자들의 편리함을 주기위한 용도로 주로 사용됩니다. 세션(SESSION) 세션은 본인이 소지할 수 없는 정보들을 저장하는 저장소입니다. 서버에서 이를 관리하는 메모리 혹은 DB에 의해 저장이 됩니다. 서비스를 운영하는 쪽에서만 확인가능한 ..

공부/서버 2022.01.21

백엔드 로드맵 공부

백엔드 로드맵과 관련된 이미지인데 해당 링크를 통해 다운로드 받으실 수 있습니다. 일단 현재 대소고에서 1년간 보내며 몇 가지 시도를 해보면서 백엔드 개발을 해보기로 결정했습니다.. (물론 세상일은 알 수 없듯이 바뀔 수도 있겠지만 현재로서는 백엔드로 결정했습니다.) 안드로이드, 프론트, 백엔드 이렇게 3가지 정도 시도를 해보았으나 그나마 잘 맞는 것이 백엔드, 그리고 안드로이드이기에 백엔드로 결정하였습니다. (프론트는 뭔가 잘 안 맞더라고요..) 그래서 위 백엔드 로드맵으로 백엔드 개발을 본격적으로 해야하지 않나 생각이 들어 글을 작성하게 되었습니다. 지금까지는 조금 막무가내로 일단 내가 할 수 있는 것이 뭐가 있을까..그리고 이거 구현할 수 있을 것 같은 데? 라는 생각을 가지고 개발을 했었던 것 같..

공부/서버 2022.01.15