이 영역을 누르면 첫 페이지로 이동
codesche's blog 블로그의 첫 페이지로 이동

codesche's blog

페이지 맨 위로 올라가기

codesche's blog

분류 전체보기

  • codesche's blog
네트워크

네트워크

2023.03.16
1. 웹 통신의 큰 흐름 ○ 웹 통신 과정 (이해) ● 사용자가 웹 브라우저를 통해 URL을 입력합니다. ● 입력된 URL 중 도메인 네임을 DNS 서버에서 검색합니다. ● DNS 서버에서 해당 도메인 네임에 해당하는 IP 주소를 찾아 사용자가 입력한 URL 정보와 함께 전달합니다. ● 웹 페이지 URL 정보와 전달받은 IP 주소를 이용해 HTTP 요청 메세지를 생성합니다. ● 요청은 TCP를 통해 서버로 전송됩니다. ● 서버는 클라이언트의 요청을 받고 응답을 전송합니다. *Chrome을 실행시켜 주소창에 특정 URL을 입력시키면 어떤 일이 일어나는가? 브라우저가 URL에 적힌 값을 파싱해서 HTTP request Message를 만들고, OS에 전송 요청을 합니다. 이 때, Domain으로 요청을 보낼..
이제부터 진짜 시작이다

이제부터 진짜 시작이다

2023.03.13
2년 반 다니던 회사를 퇴사하고 부트캠프에서 교육받은지도 6개월이 지났다. 프로젝트가 끝나고 나니 마음의 긴장이 풀린 나머지 거의 누워만 있었다. 평일 주말 구분없이 달려왔던 지난 6주가 벌써 이렇게 지나가다니... 그래도 무사히 프로젝트를 잘 마무리할 수 있었기에 지금의 휴식을 만끽할 수 있는 게 아닌가 싶다. 프로젝트 끝난 후 잠시 여유가 생겨서 지인들과 연락도 하고, 마음 편하게 야구경기도 봤다. 그렇게 지난 주말을 보내고 난 후에 맞이한 월요일, 잠깐 일이 있어서 밖에 나갔다 온 후에 마음 다잡고 취업준비에 전념해보려고 했으나 여전히 쉬고 싶은 마음이 들었다. 이전에 프로젝트 진행할 당시에는 거의 밤낮 없이 진행했는데 다시 생활루틴을 바꾸려고 하다보니 생긴 부작용인 듯 하다. 쉽진 않겠지만 생활루..
프로젝트 및 부트캠프 회고록(2022. 03. 06)

프로젝트 및 부트캠프 회고록(2022. 03. 06)

2023.03.06
한 달간의 프로젝트가 거의 끝나가고 있다. 그동안 여러 프로젝트를 경험했지만 이번 프로젝트는 생각보다 어려웠다. 6개월 간 온라인 부트캠프를 통해 Java와 Spring을 공부하고 처음 진행했던 개인 프로젝트와 비교하면 훨씬 난이도가 높았다. 확실히 개인 프로젝트와 협업 프로젝트는 업무의 접근방식과 루틴에 있어서 많은 차이가 날 수밖에 없다는 걸 다시 한번 느낄 수 있었다. 누군가와 함께 프로젝트를 진행할 수 있는 경험은 어떻게 보면 참 소중한 경험이다. 협업 과정에서 겪는 많은 시행착오는 앞으로 개발 경력을 쌓는 데 있어 훌륭한 밑거름이기 때문이다. 프로젝트는 이번주에 끝나지만 아직 마무리 작업이 남아있다. 프로젝트 관련 포트폴리오도 작성해야 하고 깃허브Repository의 ReadMe도 작성해야 한다..
[Docker] Docker 개념 정리

[Docker] Docker 개념 정리

2023.02.26
○ Docker란? Docker는 Go언어로 개발된 리눅스 컨테이너 기반의 오픈소스 가상화 플랫폼입니다. 다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하게 해줍니다. 백엔드 프로그램, DB서버, 메시지 큐 등 어떤 프로그램도 컨테이너로 추상화할 수 있으며 AWS, Azure, Google cloud 등 클라우드 및 여러 환경에서 실행할 수 있습니다. ○ 컨테이너란 무엇인가? 프로그램을 실행하려면 OS와 소프르웨어가 사용하는 동적 라이브러리가 필요합니다. 즉, 프로그램 실행을 위해서는 OS와 라이브러리를 포함한 프로그램이 필요로 하는 파일 등으로 구성된 실행환경이 필요합니다. 그런데 하나의 시스템 위에서 두 가지 이상의 프로그램을 동시에 실행..
Front, Back 연동하기 위한 기본 지식 정리

Front, Back 연동하기 위한 기본 지식 정리

2023.02.20
## 프론트엔드(React) 배포 방법 ## React 같은 경우 SPA(Single Page Application), CSR(Client side rendering)으로 build하면 정적 파일이 생기는데 배포하는 방법에 대해서 정리해보고자 한다. Case 1 : Spring + react 묶어서 배포 react를 빌드하면 /build 정적 리소스 파일을 spring의 src/main/resources/main/static에 넣어 배포 장점 ○ 한 번에 묶어 배포할 수 있음 ○ 간편함 ○ 서버 한대로 띄울 수 있음 단점 ○ FE/BE 결과, 서버 구분이 되어 있지 않음 ○ BE만 확장하기 어려움 Case 2 : nginx + react 배포 react 빌드 결과의 정적 리소스 파일을 nginx와 같은 ..
DevOps + CI/CD

DevOps + CI/CD

2023.02.12
오늘은 DevOps 및 CI/CD와 관련된 내용을 가지고 왔습니다. 개발하면서 DevOps라는 말을 한번쯤은 들어봤지만 정작 제대로 공부했던 적은 거의 없었습니다. 어떻게 보면 개발의 핵심이라고도 할 수 있는 부분인데 말이죠. DevOps 그리고 CI/CD 개념에 익숙하지 않으신 분들이라면 오늘 이 글을 보고 조금이나마 DevOps와 CI/CD의 개념을 이해하시는 데 도움이 되셨으면 좋겠습니다. ○ DevOps (Development + Operations) DevOps는 개발과 운영의 합성어이며 소프트웨어 개발자와 정보기술 전문가 간의 소통, 협업 및 통합을 강조하는 개발이나 환경, 문화를 말합니다. 또는 CI/CD를 위한 파이프라인을 구성하고 자동화하는 역할을 의미합니다. CI/CD를 다루기에 앞서 ..
Rest, Rest API

Rest, Rest API

2023.02.12
안녕하세요 codesche입니다. 오늘은 API, Rest, Restful API 라는 키워드로 포스팅을 해보고자 합니다. 현재 프로젝트 진행중에 있다보니 예전만큼 포스팅하기가 쉽지 않네요... 이번 글을 계기로 잠시 잊고 있던 블로그에 대한 저의 마음이 되살아났으면 하는 바람입니다. ○ REST란? REST는 Representational State Transfer의 줄임말로 자원의 이름으로 구분하여 해당 자원의 상태를 교환하는 것을 의미합니다. 아마 개발자 분들이라면 Rest API 또는 Rest라는 키워드를 많이 들어보셨을 겁니다. 더 깊게 들어가면 월드 와이드 웹(World Wide Web)과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식입니다. 이 용어는 로이 필딩(Roy ..
01-변수(2)

01-변수(2)

2023.01.31
안녕하세요 codesche입니다. 어제와 동일하게 변수를 주제로 내용을 정리해보겠습니다. 일단 간단한 예제를 시작으로 진행해보겠습니다. 해당 코드를 컴파일하게 되었을 때 최종적인 x의 값은 얼마가 될까요? 지난 시간에 변수 파트에서 드린 설명을 다시 요약해보자면 이렇습니다. 처음에 x라는 변수에 5가 저장이 되고 그 이후에 5라는 변수를 출력합니다. 그 다음에 x에 10이라는 변수가 다시 저장이 되면서 기존에 있던 5는 사라집니다. 최종적으로 x는 10이 되고 결과는 이렇게 출력이 됩니다. 사실 여기까지는 그렇게 어렵지 않은 부분이어서 진행하시다 보면 프로그래밍 별거 아닌데 하고 생각하실 수도 있습니다. 저는 개인적으로 이런 마음가짐이 중요하다고 생각합니다. 쉽게 접근하고자 하는 마인드가 계속 이어질 수..
백엔드 개발 면접 질문 주요 리스트(1)

백엔드 개발 면접 질문 주요 리스트(1)

2023.01.30
1. HTTP METHOD에 대해 설명해 보세요. HTTP METHOD에는 get, post, put, delete가 있습니다. get은 클라이언트에서 서버로 어떠한 리소스로부터 정보를 요청하기 위해 사용되는 method입니다. 즉, 서버에서 어떤 데이터를 가져와서 보여줄 때, 값이나 내용, 상태 등을 바꾸지 않는 경우에 사용합니다. post는 리소스를 생성 / 업데이트 하기 위해 서버에 데이터를 보내는 데 사용되는 method입니다. 서버상의 데이터 값이나 상태를 바꾸기 위해 사용합니다. 주요 차이점으론 get 요청은 캐시가 되나, post는 캐시가 되지 않습니다. get은 브라우저에 기록되지만 post는 기록되지 않습니다. 2. HTTP 상태 코드에 대해 아는 대로 말해보세요. 주요 상태 코드 (20..
01-변수(1)

01-변수(1)

2023.01.30
안녕하세요 codesche입니다. 오늘은 변수를 주제로 글을 적어볼까 합니다. Java를 처음 접하시는 분들을 위해 먼저 간단한 실습예제를 준비해봤습니다. 간단한 실습 이후에 변수에 대해서 설명드리는 방식으로 진행하겠습니다. Java IDE는 인텔리제이를 사용할 예정이니 참고해주시면 좋을 듯 합니다. 1. 화면에 글자 출력하기 - print(), println() ○ 출력결과 System.out.print() : 괄호 안의 내용을 출력하고 줄바꿈을 하지 않습니다. System.out.println() : 괄호 안의 내용을 출력하고 줄바꿈을 합니다. 사실 자바를 공부하기 전에 다른 언어를 접해보셨다면 어렵지 않게 이해하실 수 있는 부분입니다. 결과를 출력해주는 함수로 println과 print가 있는데 사..
chap04-코드를 보조하는 주석

chap04-코드를 보조하는 주석

2023.01.30
목차 주석을 최대한 쓰지 말자 좋은 주석 주석보다 annotation JavaDoc 1. 주석을 최대한 쓰지 말자 // 직원에게 복지 혜택을 받을 자격이 있는지 검사 if ((employee.flags & HOURLY_FLAG) && employee.age > 65)) // 의미있는 이름을 지으면 해결됨 if (employee.isEligibleForFullBenefits()) 주석은 나쁜 코드를 보완하지 못한다 코드에 주석을 추가하는 이유는 코드 품질이 나쁘기 때문이다. 자신이 저지른 난장판을 주석으로 설명하지 말고 개선하는데 시간을 보내야 한다. 코드로도 의도를 표현할 수 있다! 주석은 방치된다 코드의 변화에 따라가지 못한 채 주석은 방치된다 코드는 컴파일되어 호출되나 주석은 그저 주석이다. 그 자리..
ch03-함수

ch03-함수

2023.01.30
목차 SOLID 간결한 함수 작성하기 안전한 함수 작성하기 함수 리팩터링 1. SOLID 객체지향 설계의 5가지 원칙 1) SRP : 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다. 클래스는 하나의 기능만 가지며, 어떤 변화에 의해 클래스를 변경해야 하는 이유는 오직 하나뿐이어야 한다. SRP 책임이 분명해지면, 변경에 의한 연쇄작용에서 자유로워질 수 있다. 가독성 향상과 유지보수가 편하다. 실전에서는 쉽지 않지만 항상 상기하며 작업해야 한다. (정말 쉽지 않음...) 2) OCP : 개방-폐쇄 원칙 소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다. 변경을 위한 비용은 가능한 줄이고, 확장을 위한 비용은 가능한 극대화 해야 한다. 요구사항의 변경이나 추가사항이 발생하더라도, 기..
  • 최신
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
  • 다음

정보

codesche's blog 블로그의 첫 페이지로 이동

codesche's blog

  • codesche's blog의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록

카테고리

  • 분류 전체보기 (76)
    • Algorithm (15)
      • 백준 (3)
      • 프로그래머스 (10)
      • inflearn 알고리즘(Java) (2)
    • 블로그소개 (1)
    • Back-End (11)
      • Java (10)
      • SpringBoot (1)
    • Database (2)
      • MySQL (0)
      • MariaDB (1)
      • Redis (0)
      • 개념, 이론 (1)
    • Front-End (0)
      • html, css, javascript (0)
    • Git (2)
    • 알고리즘 지식 (11)
      • 자료구조 (11)
    • Study Cafe (21)
      • 기술면접 (6)
      • Clean Code 스터디 (14)
      • CS 스터디 (0)
      • 개발용어 (1)
    • 주간 에세이 (10)
    • DevOps (3)
      • 배포, Front&Back 연동 (1)
      • AWS (0)
      • Docker (1)
      • 이론 (1)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • git commit
  • java
  • 주간에세이
  • 개발자 현실
  • 자료구조
  • 자바 변수
  • 자바 기초
  • 클린코드

나의 외부 링크

정보

The Code의 codesche's blog

codesche's blog

The Code

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © The Code. Designed by Fraccino.

티스토리툴바