728x90
320x100
- 시스템 설계 기초 (로드밸런스, 메세지 큐, CDN, DNS 등) 아래의 내용은 을 바탕으로 정리한 내용입니다. 사용자는 웹 브라우저나 모바일 앱을 통해 도메인 이름을 이용하여 웹사이트에 접속한다. 이 접속을 위해서 DNS에 질의하여 IP주소로 변환하는 과정이 필요하다.DNS(Dmain Name Service) : 도메인 이름을 IP주소로 반환한다. ex) www.test.com -> 100.100.100.100정적 콘텐츠 (JS, CSS, 이미지 등)은 웹서버를 통해 서비스하지 않고 CDN을 통해 제공하여 더 나은 성능을 보장한다. CDN(콘텐츠 전송 네트워크) : 정적 네트워크를 전송하는데 쓰이는, 지리적으로 분산된 서버의 네트워크로 JS, CSS, 이미지 등을 캐시할 수 있다.CDN 사용시 고려해야 할 사항 : 적절한 만료 시한 설정, 비용, 장에 애 대..
- [HTTP] 인터넷 네크워크 (IP(인터넷 프로토콜), TCP/UDP, PORT, DNS) 인터넷 프로토콜 스택의 4계층인터넷 프로토콜 스택의 4계층을 간략하게 보면 위와 같다. 이를 좀 더 뜯어보자. 인터넷 프로토콜(Internet Protocol, IP)인터넷 프로토콜(Internet Protocol, IP)은 컴퓨터 네트워크에서 데이터를 주고받는 데 사용하는 규약이다.IP는 인터넷의 핵심 프로토콜로, 모든 인터넷 트래픽의 전달을 담당한다.IP 주소를 사용하여 발신지와 수신지를 식별하고, 데이터를 패킷(packet)이라는 작은 단위로 나누어 전송한다.인터넷에서 데이터를 주고 받기 위해서 각자 전송과 송신이 가능한 식별자가 필요한데, 그 중 하나가 IP이다. 인터넷 프로토콜(Internet Protocol, IP) 주요 개념 IP 주소IPv4 (Internet Protocol version..
- [스프링(Spring)] 롬복(Lombok) (롬복이란 / 자주 쓰는 기능 / @Data 사용을 지양해야 하는 이유 등) 롬복(Lombok) 이란?롬복(Lombok)은 자바 개발자들이 코드 작성을 더욱 편리하게 할 수 있도록 도와주는 라이브러리이다. 롬복(Lombok)의 특징컴파일 시점에 코드를 추가한다.별도의 라이브러리를 추가로 설치해야 한다.IDE의 플러그인을 지원한다. [자주 쓰는 기능] @Getter, @Setter클래스의 필드에 대한 getter, setter 메서드를 자동으로 생성해 준다.코드의 양을 줄이고, 가독성을 높일 수 있다.[사용전]public class User { private String name; private int age; public String getName() { return name; } public void setName(String name) ..
- [스프링(Spring)] HTTP 요청 메시지를 통해 클라이언트에서 서버로 데이터를 전달하는 방법 (@RequestParam, @RequestBody, @ModelAttribute 이해하기) HTTP 요청 메시지를 통해 클라이언트에서 서버로 데이터를 전달하는 가장 많이 사용하는 3가지 방법과 스프링과 연계하여 @RequestParam, @RequestBody, @ModelAttribute 어노테이션에 대해 이해해보자! [HTTP 요청 메시지를 통해 클라이언트에서 서버로 데이터를 전달하는 방법]가장 많이 사용하는 3가지 방법을 정리하였다. 1. GET - 쿼리 파라미터 형식으로 요청하기HTTP message body 없이, URL의 쿼리 파라미터에 데이터를 포함해서 전달하는 방식이다.요청형태 -> /url?username=hello&age=20검색, 필터, 페이징 등에서 많이 사용한다.*** 이 때 주로 사용하는 (혹은 적절한) 스프링 어노테이션@RequestParam@GetMapping(..
개발일지를 씁니다.
- [개발일지#008] 타임라인 등록/삭제/조회API 구현 [사용기술]Java, Spring Boot, Spring JPA, MySQL [만들려는 것]책을 위한 SNS. [오늘 하려는 것]타임라인(Member) 등록/조회 API 개발 TimelineApiController.java1. 타임라인 등록package seulgi.bookbookclub.api;import lombok.RequiredArgsConstructor;import org.springframework.web.bind.annotation.*;import seulgi.bookbookclub.domain.Book;import seulgi.bookbookclub.domain.Timeline;import seulgi.bookbookclub.dto.CreateTimelineRequest;import se..
- [개발일지#007] 회원 등록/수정/조회 API 개발 [사용기술]Java, Spring Boot, Spring JPA, MySQL [만들려는 것]책을 위한 SNS. [오늘 하려는 것]회원(Member) 등록/수정/조회 API 개발 MemeberApiController.java1.회원가입package seulgi.bookbookclub.api;import lombok.RequiredArgsConstructor;import org.springframework.web.bind.annotation.*;import seulgi.bookbookclub.domain.Member;import seulgi.bookbookclub.dto.*;import seulgi.bookbookclub.service.MemberService;import java.util.List;imp..
- [개발일지#006] 조회용 샘플데이터 생성 [사용기술]Java, Spring Boot, Spring JPA, MySQL [만들려는 것]책을 위한 SNS. [오늘 하려는 것]조회용 샘플 데이터를 생성 InitDb.java나는 application.properties 설정을 아래와 같이 해놓고 있다. 개발 초기에는 계속 create(서버 올라갈 때 테이블 다 드랍하고 다시 create하는 방식) 을 사용할 거라서 조회용 데이터를 미리 만들어서 서버 올라갈 때 Insert되게끔 해놓음.spring.jpa.hibernate.ddl-auto=create package seulgi.bookbookclub;import jakarta.annotation.PostConstruct;import jakarta.persistence.EntityManager;impor..
매월, 매년 회고를 씁니다.
- 2024년 12월 회고 - 안녕, 2024! [개발분야]멘토링 중입니다. 11월부터 진행 중인 멘토링이 아직도 진행중이다. 3월 초에 끝날 예정이라 아직 많이 남았고, 또 모든 멘토링이 끝난 이후에 멘토링에 대한 이야기를 나눠볼 생각이라 더 이야기하긴 어렵지만 어쨌든 재밌게 멘토링 하고 있다. 배우는 것도, 깨닫게 되는 것도 많은 멘토링 시간이 매주 소중하게 느껴진다. 주저리(+) 멘토링을 시작한 후, 거의 모든 공부를 중단하고 멘토링만 하고 있어서 11월부터 회고가 단촐해지는 바람에 문득 작년 12월 회고에는 무엇을 썼는가 살펴보니 작년 12월에는 미친 업무량으로 힘들어 했고, 몸에 병도 나고.....나를 제외한 모든 팀원이 프로젝트를 이동하거나 퇴사하는 바람에 유일하게 남은 팀원이 나! 라는 글을 썼었네....그런데 올해 팀을 이동한 팀원..
- 2024년 11월 회고 [개발분야]방통대 3학년 2학기 끝!나의 3학년 2학기가 끝이났다. (아직 이번주 까지가 시험기간이긴 하고, 정식으로 성적이 나오려면 다음주가 되어야 하지만 어쨌든 실질적인 모든 나의 과정은 끝이다...!)2년 간의 여정 중, 벌써 절반이 지났단 이야기다. 감회가 새롭다. 언제 2년 지나나 싶었는데 벌써 1년 과정이 끝이 났다니. 성적은 다음 달이 되서야 나오지만 끝났다는 것만으로도 행복하다. 2학기도 유익했고 즐거웠던 시간이였다. 내년도 화이팅! 3학년 2학기 후기가 궁금하시다면 아래의 포스팅을 참고해주세요! 방통대 컴퓨터학과 학년 2학기 후기[들어가는 글]방통대 편입 후, 두번째 학기가 지나갔다. 그래서 써 보는 간략한 후기![수강과목]이번 2학기에서는 전공 4과목, 교양 2과목 총18학점을 신청했..
- 2024년 10월 회고 - 나 생일! [개발분야]오랜 만에 면접 그 이후 이야기9월, 오랜만에 면접을 다녀왔고 나에겐 멘탈이 털리다 못해 갈릴 정도의 '최악'의 면접이였어서 '경험이란 본디 많을수록 좋은 거라지만 이런 경험이라면 다시는 하고 싶지 않다'고 9월 회고에 글을 쓴 적이 있다. 면접 당시 면접관 분들이 내가 느끼기에 나에게 굉장히 비 호의적이였고 무례했으며 나 또한 면접을 잘봤다고 생각하지 않았기 때문에 당연히 '불합격'을 예상했다. 그런데, 예상 외로 며칠 뒤 합격 통보를 받았다. 면접에 붙고 기쁘지 않은 적은 처음이였다. 애초에 붙을 거라는 생각도 하지 않았지만 붙더라도 입사할 생각이 없던 터라 정중히 입사제안을 거절했다. 그렇게 하나의 에피소드가 마무리 되는 줄 알았다. 그런데 또 며칠 뒤, 면접관으로 부터 메일 한 통을 받..
읽은 책에 대한 이야기를 합니다.
- 세번째 읽는, 함께 자라기 : 애자일로 가는 길 (김창준) 책제목 : 함께자라기저자 : 김창준출판사 : 인사이트야생학습협력적이며, 비순차적이고 자료에 한정되지 않으며 명확한 평가를 하지 않는다. 또한 정답은 없으며 목표가 불분명하며 바뀌기도 한다. 이 책에서 말하는 '경력'이란?초급인지 아닌지만 구분해 내는 수단.초급이 아니라면 오히려 경력은 잘못된 정보일 수 있다.경력으로 채용여부나 임금여부를 판단하는 것은 편의적, 관료주의적이며 오히려 조직에 손해이다. 애자일 피드백을 짧은 주기로 얻는 것불확실성이 클 때 우리가 어떻게 해야 하는지 고민한 결과물 1만시간의 법칙 : 자신의 기량을 향상시킬 목적으로 반복적으로 하는 수련 = 의도적 수련자기 계발은 복리로 돌아온다 (*** 내가 가장 좋아하는 말 ***)부트스트래핑 : 자기가 신은 신발에 달린 끈으로 들어올려 ..
- 소프트웨어 장신 (산드로 만쿠소) - 장인정신을 향하여 책이름 : 소프트웨어 장인저자 : 산드로 만쿠소출판사 : 길벗애자일 정신빠르고 빠른 짧은 피드백 루프를 통해 올바른 일을 하는지 점검하는 과정팀원의 역할은 지시 받은 일만 하는 것이 아니라, 비지니스와 고객창출에 개발자들이 직접 참여하는 것이 중요코드를 잘 작성하는 것은 프로페셔녈이 가져야 할 최소한의 요건이며, 고객의 만족이 최우선이 되어야 한다.완전한 애자일 전환이란 절차과 도구의 도입 뿐만 아니라 기술적인 탁월함 (= 개발자의 프로페셔널) 모두 함께 있어야 한다.변화와 싸우는 것이 아니라 변화 자체를 내제화 한 것.애자일 방법론이 품질 상태에 대해 알려주진 않기 때문에 소프트웨어 장인 정신이 이 부분을 보완해준다. 소프트웨어 장인 정신개발자가 선택한 커리어에 책임을 지고, 지속적으로 새로운 도구와 ..
- 그림으로 이해하는 서버 구조와 기술 (요코타카즈키, 엔도유키) / 쉽게 설명해주는 기술서적 보는게 얼마 만인가. 책제목 : 그림으로 이해하는 서버 구조와 기술저자 : 요코타카즈키, 엔도유키출판사 : 길벗 길벗 리뷰어 참여로 보게된 책인데 사실 이 책을 예전부터 사고 싶어서 리뷰어를 내가 신청했음; (길벗에서 제공받았습니다.) 그래서 리뷰어라서 쓴다기보다는...리뷰도 쓰고 책도 보고....일석 이조 아니냐고....요즘 서버 & 인프라 공부하고 싶은데 나는 개발자여도 서버 & 인프라 쪽은 잘 모르는 상태라 그런지 책들이 나에게 너무 어렵거나 너무 방대하거나 너무 국소적인 부분이 있어서 책고르는데 어려움이 있었던 상태에서 보게 된 책. 일단 쉽다... 정말 그림으로 이해하기 쉽게 되어있다. 마치 예전에 수학의 정석, 개념원리 보다가 뭔말인지 몰랐는데 완자봤더니 설명 잘되어 있어서 눈이 트이는 그런 느낌이었음.그리고..
가장 조회가 많은 글입니다.
- 방통대 컴퓨터학과 3학년 1학기 후기 [들어가는 글]방통대 편입 후, 나의 첫학기가 끝이 났다. 처음 혹은 오랜만이라 그런지 정신 없이 흘러간 3학년 1학기. 어쨌든 끝이 났으니 간략하게 후기를 남겨보고자 한다. [수강과목]3학년 1학기는 패스과목인 '원격대학교육의 이해'를 포함하여 전공 12학점, 교양 6학점으로 총 19학점 신청해 들었다. 첫 학기 부터 빡센거 아닌가 하는 의구심이 들었던 건 사실이지만 졸업요건을 채우려면 2학기는 12학점씩 2학기는 9학점씩 들으면 됐는데 4학년 때 빡센것보다 그냥 3학년 때 빡세고 말자는 생각으로 짜다보니 이렇게 짜게 되었음. [과목을 선택한 기준]1. 컴공 필수 5대과목 (컴퓨터구조, 운영체제, 알고리즘, 자료구조, 데이터베이스)2. 재미있어 보이거나 후기에서 수업/시험 모두 무난하거나 괜찮다고 ..
- 방통대 등록금 카드 납부하는 법 (KB카드) 최근 방통대에 편입했고, 등록금을 냈다. 연말 정산을 위해 현금 결제를 할까 했지만 방법이 복잡하기도 했고 등록금은 원래 연말정산 세액공제가 안된다길래 그럼 굳이 현금으로 낼 필요 있나 해서 카드로 납부함! [사전준비물] 국민카드 어플로 결제할 거라 KB PAY 어플 설치 공동인증서 (KB PAY 어플에 등록되어있어야 함) 자신의 학번 (결제시 필요함) 1. KB PAY 어플에 로그인해서 전체검색 버튼을 눌러줌 2. 등록금납부로 검색하면 관련메뉴를 검색해주는데 대학등록금납부 메뉴 클릭. 3. 하단의 [납부하기] 버튼 클릭 4. 자신의 대학교와 자신의 학번을 입력 후 [다음] 클릭 1~2. 특별히 건들일 건 없고 자율비(선택납부) 부분에 학생회비, 학보대금, 교재대금, 발전후원금 등이 있는데 내실 분들만 ..
- 방통대 컴퓨터학과 3학년 2학기 후기 [들어가는 글]방통대 편입 후, 두번째 학기가 지나갔다. 그래서 써 보는 간략한 후기![수강과목]이번 2학기에서는 전공 4과목, 교양 2과목 총18학점을 신청했다. 자료구조만 꼭 듣고자 했고 나머지는 여러 후기들을 찾아보며 (나에게) 익숙한 과목, 혹은 개발에 도움이 될 것 같은 과목들 위주로 골랐다.※ 과목에 대한 후기는 지극히 주관적일 수 있음을 고지합니다.※ 저는 참고로 4년차 백엔드 개발자 입니다. 노베이스가 아님을 강조 드립니다. [전공과목]자료구조 (정광식 교수님)출석수업 : 有 (대면으로 진행. 각 지역대학 출석.)중간과제 : 출석수업 후, 쪽지시험(오픈북 아님)을 통해 중간과제 점수 산출. 자료구조는 사실 따지면 듣고 싶지도 않았고, 잘하는 분야도 아닌데다가 늘 어렵게 여기는 분야라서 ..
최신 글 입니다.
- [개발일지#008] 타임라인 등록/삭제/조회API 구현 [사용기술]Java, Spring Boot, Spring JPA, MySQL [만들려는 것]책을 위한 SNS. [오늘 하려는 것]타임라인(Member) 등록/조회 API 개발 TimelineApiController.java1. 타임라인 등록package seulgi.bookbookclub.api;import lombok.RequiredArgsConstructor;import org.springframework.web.bind.annotation.*;import seulgi.bookbookclub.domain.Book;import seulgi.bookbookclub.domain.Timeline;import seulgi.bookbookclub.dto.CreateTimelineRequest;import se..
- [개발일지#007] 회원 등록/수정/조회 API 개발 [사용기술]Java, Spring Boot, Spring JPA, MySQL [만들려는 것]책을 위한 SNS. [오늘 하려는 것]회원(Member) 등록/수정/조회 API 개발 MemeberApiController.java1.회원가입package seulgi.bookbookclub.api;import lombok.RequiredArgsConstructor;import org.springframework.web.bind.annotation.*;import seulgi.bookbookclub.domain.Member;import seulgi.bookbookclub.dto.*;import seulgi.bookbookclub.service.MemberService;import java.util.List;imp..
- [개발일지#006] 조회용 샘플데이터 생성 [사용기술]Java, Spring Boot, Spring JPA, MySQL [만들려는 것]책을 위한 SNS. [오늘 하려는 것]조회용 샘플 데이터를 생성 InitDb.java나는 application.properties 설정을 아래와 같이 해놓고 있다. 개발 초기에는 계속 create(서버 올라갈 때 테이블 다 드랍하고 다시 create하는 방식) 을 사용할 거라서 조회용 데이터를 미리 만들어서 서버 올라갈 때 Insert되게끔 해놓음.spring.jpa.hibernate.ddl-auto=create package seulgi.bookbookclub;import jakarta.annotation.PostConstruct;import jakarta.persistence.EntityManager;impor..
728x90
320x100