- [ 카테고리 없음 ][Greenn Developers] NCP로 한국어 글쓰기를 도와주는 서비스 만들기2024-08-17 15:15:18Q. 프로젝트를 소개해 주세요.🔗 kopilot 서비스🔗 kopilot 깃허브kopilot은 GitHub의 Copilot이 코드를 자동으로 완성하여 개발자의 생산성을 향상시키는 것처럼, 인공지능을 활용하여 글쓰기의 효율을 높여주는 서비스입니다.kopilot은 자기소개서를 작성하며 힘들었던 경험에서 시작되었습니다. 자기소개서가 서류 결과에 큰 영향을 미치는 만큼, 내가 작성한 글이 일관된 주제를 갖고 있는지, 맞춤법을 잘 지키고 있는지, 적절한 길이의 문장으로 가독성을 보장하고 있는지 등 스스로 질문을 많이 던졌던 것 같습니다. 궁극적으로 내가 작성한 자기소개서는 잘 쓴 자기소개서인지 항상 궁금했습니다.자기소개서를 다듬기 위해 맞춤법 검사기와 OpenAI를 정말 많이 이용했습니다. 하지만 여러 사이트를..
- [ backend/k8s ][k8s] 쿠버네티스 시작하기 (클러스터링/오케스트레이션/도커 스웜/파드/레플리카셋/디플로이먼트/서비스)2024-06-20 16:21:38클러스터링 & 오케스트레이션클러스터링은 여러 대의 컴퓨터를 하나로 묶어 마치 하나의 컴퓨터처럼 사용하는 것을 의미한다. 이때 단일 컴퓨터를 노드라고 부른다. (여러 개의 노드가 모여서 하나의 클러스터로~) 오케스트레이션은 여러 대의 클러스터에서 컨테이너를 자동으로 배포/관리하는 것을 말한다. 오케스트레이션 도구로는 쿠버네티스, 도커 스웜, 아파치 메소스 등이 있다.🎻🎹🪈 : 특정 역할 담당 = 여러 연주자 (노드) 로 구성된 클러스터🎼 : 연주자 조율 = 컨테이너를 배포하고 관리하는 오케스트레이션🤯 기존 방식의 문제점확장성 부족 : 하드웨어 성능의 한계로 인해 쉽게 확장할 수 없으며, 트래픽 증가 시 서비스 장애가 발생한다.관리의 복잡성 : 여러 대의 서버를 수동으로 관리하는 것은 복잡하고 많은..
- [ backend/프레임워크 ][spring] 설정 분리 (@SpringBootTest, @Profile, @ActiveProfiles, @TestPropertySource, @TestConfiguration)2024-06-18 23:57:21@SpringBootTest`@SpringBootTest`는 스프링 부트 어플리케이션의 통합 테스트를 위한 어노테이션이다. 전체 어플리케이션 컨텍스트를 로드하여 실제 어플리케이션과 동일한 환경에서 테스트를 진행할 수 있다.`@BootstrapWith(SpringBootTestContextBootstrapper.class)`은 테스트 컨텍스트를 부트스트랩하고 어플리케이션 컨텍스트를 로드한다.`SpringBootTestContextBootstrapper` : `TestContextBootStrapper`를 상속하여 테스트 환경을 설정한다.컨텍스트 로더로 `SpringBootContextLoader`를 사용한다.`@SpringBootApplication`을 사용하여 어플리케이션 컨텍스트를 초기화한다.스프링 부..
- [ backend/프레임워크 ][spring] 스프링 컨테이너 & 빈 (IoC/DI/라이프사이클/빈 정의/빈 스코프)2024-06-15 19:15:32스프링 컨테이너스프링 컨테이너는 스프링 프레임워크의 핵심으로, 어플리케이션 객체 (Bean) 을 관리한다. 즉, 스프링 컨테이너는 개발자를 대신하여 객체를 관리한다.어플리케이션 실행 시 필요한 객체 생성객체 간의 의존성 설정 및 주입객체의 생명 주기 관리스프링 컨테이너는 스프링 IoC 컨테이너, DI 컨테이너로 불리기도 한다. 빈에 대해 살펴보기 전에 IoC, DI, 컨테이너 라이프사이클에 대해 알아보자. IoC; Inversion of ControlIoC는 객체의 제어를 코드 외부에 맡기는 것을 의미한다. 다시 말해 코드 외부 컨테이너나 프레임워크가 객체를 관리하도록 한다. 의존성을 외부에서 주입받기 때문에 객체 간의 결합도가 낮아지며, 구현에 종속되지 않아 구현체를 쉽게 교체하고 확장할 수 있어 유연..
- [ 학습기록/CS 공부 ][네트워크/KOCW] Chap4 & 5. Network Layer2024-06-10 15:18:51네트워크 계층의 주요 업무는 송신자의 packet을 수신자에게 전달하는 것이다. 네트워크 계층은 data plane과 control plane으로 나뉜다.data plane : 라우터는 input link로부터 받은 datagram을 적절한 output link로 전달한다. (forwarding)control plane : 라우터는 송신자에서 수신자로 가는 경로를 결정한다. (routing)라우터의 핵심 요소는 forwarding table과 routing algorithm이다. 라우터는 packet의 헤더를 검사하고, 헤더 값을 forwarding table의 인덱스로 사용하여 packet이 어느 output link로 가야 하는지 결정한다. (data plane) 이때, forwarding table..
- [ 학습기록/CS 공부 ][네트워크/KOCW] Chap3. Transport Layer2024-06-07 15:54:08전송 계층은 end system에만 존재하는 계층으로, 라우터 같은 network core에는 없는 계층이다. 따라서 전송 계층은 네트워크 계층이 처리할 수 있는 데이터로 가공하여 전달해야 한다. 송신자 측의 전송 계층은 어플리케이션 계층으로부터 받은 메시지를 작은 단위 (segment) 로 쪼개고, 이를 네트워크 계층으로 전달한다. segment는 네트워크 계층에서 datagram으로 캡슐화되어 목적지까지 전송된다. 이때, 라우터는 segment의 내부 내용을 살펴보진 않는다.**네트워크 계층은 segment의 전송 여부, 순서, 무결성 등을 보장하지 않는다. (unreliable service) 전송 계층은 네트워크 계층의 바로 위에 존재한다. 네트워크 계층은 호스트 간의 논리적인 의사소통을 담당하는..
- [ 노xx킵고잉 ]첫 취준은 계획대로 되지 않아2024-06-07 01:20:16네부캠을 수료하고도 반년이 지났다. 성인이 되고 나서 "그동안 뭐했냐?"라는 질문을 받으면 참 난감했는데, 이번 상반기는 당당하게 열심히 살았다고 말할 수 있을 것 같다. 물론 결과가 좋진 않았지만1-2월은 프로젝트 중에 바빠서 작성하지 못했던 기술 블로그를 썼던 것 같다. 프로젝트에 소셜 로그인도 붙이고, 자잘하게 유지보수하며 지냈다. 이때도 열심히 살긴 했지만, 지금 되돌아보면 가장 중요한 건 취준인데 우선순위가 잘못되지 않았나 싶다.첫 취준은 너무 어려워3월은 헬 그 자체였다. 졸업한지 반년 이상 지났지만, 취준이 처음이라 (기업)자소서도 처음이었다ㅎ 조심스럽게 변명을 해보자면 네부캠으로 진로를 확실히 정하는 계기가 되었기 때문에 학부생 때 취업 준비를 할 수 없었다그래서 "문장력 구림 + 첫 취준..
- [ 학습기록/CS 공부 ][네트워크/KOCW] Chap2. Application Layer2024-05-31 16:56:04네트워크 어플리케이션은 서로 다른 end system에서 실행되는 프로세스들이 네트워크를 통해 서로 통신하는 것을 의미한다. 웹 어플리케이션과 P2P 파일 공유 시스템이 대표적인 예다. 웹 어플리케이션은 클라이언트-서버 구조를 기반으로 한다. 서버는 on 상태를 유지하여 다수의 클라이언트가 보낸 요청을 처리한다. 클라이언트는 고정되고 잘 알려진 서버의 IP주소로 packet을 전송한다. P2P (= peer-to-peer) 구조는 서버를 거치지 않고 peer끼리 직접 통신하는 방식이다. 중앙 서버에 의존하지 않기 때문에 서버의 영향을 받지 않으며, 사용자가 많아질 수록 네트워크의 성능이 높아진다는 장점이 있다. (P2P 파일 공유 시스템은 자신의 리소스를 네트워크에 제공하는 동시에 다른 노드의 리소스도 ..