728x90
요구사항 티스토리에서는 2024.11.07 - 11.27까지 21일 동안의 작심삼주 오블완 챌린지를 진행한다. 작심삼주 오블완 챌린지오늘 블로그 완료! 21일 동안 매일 블로그에 글 쓰고 글력을 키워보세요.www.tistory.com 가장 핵심적인 이벤트 진행 조건은 '매일 특정 태시태그를 단 연속된 21개의 포스팅 기록이 충족되는 것' 이다.더불어 이벤트 공지 내 하단의 확인 및 참여기준을 보면 여러 제한조건이 있는데, 이걸 백엔드 개발자가 보고 구현해야한다면 무엇을 고려해야했을까? 요구사항 추출 및 구현 상세화1. "한국 시간 기준"에 따른 시간 검증한국 시간 기준 00시부터 23시 59분요구사항에 따르면 모든 게시글의 작성 및 발행 시간이 한국 표준시(KST) 기준으로 계산되어야 한다. 따라서 서..
HTTPS HTTPS는 그 이름에도 알 수 있듯이, HTTP Secure로서 암호화 기술을 통해 콘텐츠를 안전하게 전달한다. 즉 데이터의 변조 위험을 막을 수 있고 디지털 인증서를 사용함으로써 신뢰성을 얻는 방식이다.이 HTTPS는 TCP 위에 *SSL(Secure Socket Layer)/TLS(Transport Layer Security) 계층을 더해 이용된다. 그리고 이에 대해 두 개의 서로 다른 키를 사용하여 당사자간의 통신을 암호화할 수 있다 *TLS는 SSL의 상위 버전이며 따라서 최근에는 대부분 TLS를 이용한다, 과거엔 편의상 SSL과 용어를 통쳐서 불리었지만 TLS는 최신 보안 표준을 준수한다는 점에서 차이를 갖는다. 서로 다른 키?암호화된 내용을 풀기 위한 Key가 개인키와 공개키로 나..
운영체제의 SystemCallOS가 Application에게 자원을 이용할 수 있도록 제공하는 인터페이스다.이 인터페이스는 시스템 상의 치명적인 영향을 줄 수 있는 명령어에 대해서 불법 사용자로부터 실행되는 것을 막고자하는데, 이에 대해 내부적으로 DualMode(이중 동작모드)를 갖추고 있다. 운영체제의 Dual ModeDual Mode란 커널에서 중요한 자원을 관리하고 있는데, 사용자가 그 중요자원에 접근하지 못하도록 모드를 2가지로 분류한 것이다. 그게 바로 UserMode와 KernelMode. User Mode유저가 접근할 수 있는 영역을 제한적으로 둠 → 프로그램 자원에 함부로 침범하지 못하게 함User Mode에서 코드를 작성하거나 프로세스를 실행하는 등의 행동 가능‘User Applic..
ChatGPT를 한 15개월을 넘게 써본 것 같은데, 더 잘 쓸 방법을 찾아보고 싶다.그렇다면 OpanAI Playground를 살펴봄으로써 GPT를 어떤 방식으로 조절할 지에 대한 지표를 얻을 수 있다. ChatGPT와 OpenAI Playground OpenAI는 두 가지 종류의 생성형 AI를 제공한다.ChatGPT는 알다시피 일반 사용자를 위한 대화형 AI 챗봇으로, 자연어 기반으로 질문하고 답변을 받을 수 있다. 그 반면에 OpenAI Playground는 개발자/연구자를 위한 실험 플랫폼으로, 다양한 AI 모델을 지정한 뒤 응답 길이, 온도(일관성, 창의력 관련) 등을 조정함으로써 AI 모델 동작을 세밀하게 제어해볼 수 있다. 이 두 플랫폼은 가격 책정 방식도 다른데, ChatGPT는 월정액 구..
안정된 동기화 매커니즘의 필요성컴퓨터는 프로세서, 즉 CPU의 성능을 극대화하기 위해 동시에 여러 작업을 수행하려고 한다. 이를 위해 멀티스레딩과 동시성 프로그래밍 기법이 발전해왔다. 그런데 여러 스레드가 동시에 실행된다는 것은 자원 공유에 대한 문제를 고려해야하는 일이다. 가령 두 사람이 같은 은행 계좌에서 동시에 출금을 시도했는데 결과 잔액이 음수가 되는 사항을 막기 위해서가 대표적인 예다. 따라서 안정된 동기화 매커니즘을 맞추기 위해 뮤텍스와 세마포어가 등장했으며, 스레드 간 경쟁을 방지하고 공유 자원의 무결성을 보장하는 것이 그 목적이다. 그리고 각각은 다음과 같은 방법을 취한다. 😡 뮤텍스: 한 번에 한 명만 들어오라구.🤢 세마포어: 한 번에 이만큼만 들어오라구. 뮤텍스(Mutex)뮤텍스..
ExceptionException은 프로그램 실행 중에 발생하는 오류상황이다. 가령 없는 파일을 읽거나 잘못된 인덱스를 참조하는 등 많은 예외가 발생한다. 그리고 이들은 Checked Exception과 Unchecked Exception으로 분류를 할 수 있다. Checked ExceptionChecked Exception은 '컴파일 시점'에 처리 여부를 확인해야 하는 예외다. 즉, 코드 작성 때 반드시 처리해야한다. 처리하지 않으면 컴파일러가 오류를 발생시킬 것이므로, try-catch 블록으로 처리하거나 throws 키워드를 선언해주는 것이 예방책이다.import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException..