요즘 취준하느라 궁금한게 많아져서 ChatGPT를 많이 애용중이다. 근데 너무 많이 물어봤는지.. 느려졌다. 결제까지 해서 쓰는데.. 취준생한테 2만원이 넘는 거금인데.. ChatGPT를 사용하다 문뜩 ChatGPT API가 궁금했고, 사용해보고 싶다는 생각이 들었다
이 게시글은 비동기 프로그래밍에 대해 공부하고 적용한 경험에 대한 회고록을 작성했습니다.⇒ Async 한 통신 으로 Main Thread가 Task를 처리하는 것이 아니라 Sub Thread에게 Task를 위임하는 행위=> Spring에서 비동기 프로그래밍을 하기 위해
Connection/Read Timeout ⇒ 외부서버와 통신 시 Connection / Read Timeout 설정이 가능하다 Feign Interceptor ⇒ 외부로 요청이 나가기 전에 만약 공통적으로 처리해야하는 부분이 있다면 Interceptor를 재정의
Feign Client이란?⇒ 선언적으로 사용할 수 있는 Http Client Feign Client의 소개 Netflix에 의해 처음 만들어진 선언적인 HTTP Client 도구로써, 외부 API 호출을 쉽게할 수 있도록 도와준다. 여기서 “선언적인” 이란 어노테이션
이번에 project를 하는데 수동으로 Winscp를 통해 Application을 배포하다보니 번거로움이 많이 느껴져 GitHub Action Flow를 이용해서 CI/CD 구축하였는데, 전체적인 과정을 이해하기 위해 작성소스 코드를 GitHub에 push(trigge
정규식은 문자 리터럴, 메타 문자, 그룹화가 존재 문자 리터럴 (Literal Characters): 정확히 일치하는 문자를 찾음ex) 'abc'는 문자열 'abc'를 찾음메타 문자 (Metacharacters): 문자열에서 특정한 문자 집합을 대표하는 문자입니다. 메
REGEXP: 문자열이 정규식과 일치하는지 확인ex)REGEXP_LIKE: REGEXP와 동일한 기능을 제공ex)REGEXP_REPLACE: 문자열에서 정규식과 일치하는 부분을 다른 문자열로 대체ex)REGEXP_INSTR: 문자열에서 정규식과 일치하는 첫 번째 위치를
=> 클래스의 인스턴스를 하나만 생성하고, 어디서든 그 인스턴스를 참조할 수 있도록 하는 패턴=> 생성자가 여러 번 호출해도 실제로 생성되는 객체는 하나고정된 메모리 영역을 가지고 하나의 인스턴스만 사용하기 때문에 메모리 낭비 방지싱글톤 클래스의 인스턴스는 전역이기 때
응용 프로그램에서 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스 (시스템 사이의 중간다리 역할 => 리모컨)다른 프로그램이 제공하는 기능을 제어하는 것 (메서드)ex)구글 로그인을 이용해서 로그인을 하는 사이트를 만든다고 했을 때구글에서
배경 => 처음 웹서버는 클라이언트 요청에 의해 정적 페이지만 응답 가능했음, so 웹서버에 프로그램을 붙여서 동적 페이지를 생성서블릿 : 동적 페이지를 생성하기 위해 웹서버에 붙이는 프로그램이점 : http 요청과 응답에 대한 파싱을 할 수고를 덜어주면서 비즈니스 로
program (명령어, 코드 및 정적인 데이터의 묶음) -> processor(실행) -> process(실행 중인 프로그램)=> 프로세스가 필요로 하는 재료들이 메모리에 올라가야함Text 영역 => 프로그램 코드데이터 영역 => 전역 변수 (static)힙 영역 =
=> Spring Framework, Spring Boot, Spring Data 등등 여러 프로젝트들의 모음Spring 은 웹 개발 뿐 아니라 다양한 일을 할 수 있음 ( Microservices, Reactive 등)프로젝트 별로 하위 프로젝트 (모듈)을 가지고 있
=> HTTP 프로토콜 (서버-클라이언트 모델) 은 비연결성, 무상태을 가지기 때문=> 비연결성 (Connectionless) : 클라이언트가 서버에 요청을 응답을 받으면 그 연결을 끊음=> 무상태 (Stateless) : 서버가 클라이언트 상태를 보존 X(위 두 가지
AOP란? => 여러 오브젝트에 나타나는 공통적인 부가 기능을 모듈화하여 재사용하는 기법ex) 성능 검사, 트랜잭션 처리, 로깅 등서비스에서는 비즈니스 로직(핵심 기능)만 수행되는 것이 좋다. 인프라 로직은 따로 빼서 AOP를 적용AOP를 사용하지 않을 때 문제점중복코
Socket : 운영체제가 가지고 있는 것! 소켓 통신 : 타임슬라이스(쓰레드), 동시동작 => 부하가 심함 (낭비) http 통신 : stateless 방식 => 부하가 적음 but 연결을 매번 새로 해야돼서 구분하기 힘듦 http는 요청(request)에만 응답
JPA => Java Persistence API 영속성 -> 프로그램의 실행이 종료가 되어도 사라지지 않는 데이터의 특성 API (Application Programming Interface) Interface -> 약속 JPA => ORM 기술 (Object Re
Spring 이란?1\. Framework => 하나의 틀Spring => 오픈소스 (소스 코드 공개)IOC (Inversion of Control) 제어의 역전class - 설계도, object - 실체화 가능한 것, Instance -실체화 된 것=> Spring이
Thread의 필요성 => 쓰레드를 사용하지 않으면 수행문이 차례대로 기다려함Thread 낭비를 줄이기 위해 MultiThread가 필요! Threads : 유사성을 가진 모든 수행문을 동시에 실행하도록 해줌, 병렬적으로 처리가능 (놀거나 비는 시간 없이 지속해서 코드