post-thumbnail

데드락에 대해서 알아보자

지난 글에서는 공유 자원에 대해서 여러 스레드 및 프로세스가 접근했을 때 발생하는 문제와 이를 동기화하는 방법에 대해 알아보았습니다. 이번 시간에는 데드락(Dead lock)에 대해서 알아보겠습니다.위의 그림은 데드락을 설명하는데 자주 이용되는 그림입니다. 그림처럼 데

2025년 1월 23일
·
0개의 댓글
·
post-thumbnail

공유 자원에 대해서 여러 프로세스(스레드)들은 어떻게 동작할까?

이전 글(https://velog.io/@seokhwan-an/여러-프로세스는-어떤-순서로-동작할까)을 통해서는 운영체제가 여러 프로세스들이 한정된 자원인 Cpu을 이용하도록 스케줄링하는 방법에 대해서 알아보았습니다. CPU 같은 경우는 스케줄링 기법을 통해

2025년 1월 21일
·
0개의 댓글
·
post-thumbnail

여러 프로세스는 어떤 순서로 동작할까?

운영체제의 핵심은 하드웨어 자원을 응용프로그램으로부터 보호하는 것도 있지만 여러 프로그램들이 공정하게 하드웨어 자원(CPU, 메모리)등을 균등하게 사용할 수 있게 도와주는 역할을 합니다. 우리의 컴퓨터를 보면 여러가지가 프로그램이 프로세스의 형태로 메모리에 적재되어 있

2025년 1월 16일
·
0개의 댓글
·
post-thumbnail

스레드에 대해서 알아보자

지난 포스트에서 프로세스에 대해서 알아보았습니다. 프로세스의 특징은 독립적인 메모리 공간을 가지고 있어서 멀티 프로세스 환경에서는 서로 영향을 미치지 않아서 안정성이 높은 반면 새로운 프로세스를 생성하는 것과 프로세스의 문맥전환 과정에서 많은 오버헤드가 발생한다는 특징

2025년 1월 9일
·
0개의 댓글
·

프로세스는 무엇이고 어떻게 관리 될까?

우리가 자주 사용하는 크롬, 카카오톡, 노션 등은 프로그램입니다. 프로그램은 일련의 작업을 포함하고 있는 코드 파일이며 이는 하드디스크에 저장되어 있습니다. 프로그램을 조금 복잡하게 설명했지만 단순하게 말하면 코드 덩어리를 의미합니다. 사용자가 프로그램(코드 파일)을

2025년 1월 8일
·
0개의 댓글
·
post-thumbnail

우리는 어떻게 여러 프로그램을 동시에 이용할 수 있는 것일까?

대부분의 사람들이 컴퓨터를 이용할 때 하나의 프로그램만 이용하는 것이 아닌 여러 프로그램을 실행하며 컴퓨터를 이용하고 있습니다. 노래를 들으면서 게임을 하거나 개발을 하면서 검색을 하는 것처럼 여러개의 프로그램을 실행합니다. 이 때 각각의 프로그램은 동시에 동작하는 것

2025년 1월 1일
·
0개의 댓글
·
post-thumbnail

운영체제란 무엇인가?

운영체제는 무엇일까? 우리는 컴퓨터로 다양한 응용프로그램을 실행하며 여러 작업을 처리합니다. 예를 들어, 저는 주로 구글, 유튜브, 인텔리제이와 같은 프로그램을 동시에 실행하여 여가시간을 보내거나 개발 작업을 합니다. 이렇게 여러 응용프로그램이 원활하게 동작하려면 C

2025년 1월 1일
·
0개의 댓글
·
post-thumbnail

조회 성능을 높이는 인덱스는 무엇일까?

인덱스란? 인덱스는 특정 컬럼값을 기준으로 row(데이터)를 빠르게 탐색할 수 있는 자료구조로 insert, update, delete의 성능을 희생하고 select의 성능을 높이는 데 이용합니다. 인덱스의 가장 큰 특징은 인덱스를 설정한 컬럼 기준으로 데이터를 정렬

2024년 12월 16일
·
0개의 댓글
·
post-thumbnail

테스트의 격리성이 보장되지 않아요

단일 테스트를 진행할 때 성공했던 테스트가 전체 동작 테스트에서 실패를 하는 상황이 발생했습니다.위는 부스에 댓글을 추가하는 기능을 테스트를 하는 것이 단일로 실행을 할 경우에는 성공을 하지만 테스트 전체 코드를 실행 했을 때에는 실패하는 것을 확인할 수 있습니다.오류

2024년 12월 13일
·
0개의 댓글
·
post-thumbnail

사용자 식별 없이 좋아요를 만들고 싶어요

렛츠 끼릿의 메인 페이지에서는 공연정보와 더불어서 당일에 가장 인기 있는 부스(주점, 플리마켓 등등)를 나타내주고 있습니다. 위의 사진과 같이 인기 있는 부스를 5개만 추출하여 나타내주고 있었습니다. 이 때 인기있는 부스의 기준으로는 여러가지가 의논이 되었습니다.댓글이

2024년 12월 9일
·
0개의 댓글
·
post-thumbnail

축제 사이트 개발 배경 및 결과

축제 사이트를 구축한 배경 2022년 코로나 19가 창궐하던 시기가 점점 진정되면서 비대면이었던 수업이 대면 수업으로 전환되었습니다. 그리고 그동안 진행되지 않았던 학교 축제가 다시 기획되었습니다. 축제 시작에 앞서서 다양한 정보(공연, 푸드트럭, 플리마켓, 공지사

2024년 11월 28일
·
0개의 댓글
·
post-thumbnail

확장성 있는 OAuth 인증 시스템 구축하기

소셜 로그인(OAuth) 도입기 글에 이어서 작업한 내용으로 확장성 있는 소셜 로그인 시스템을 구축한 과정에 대해서 정리하고자 합니다.이 코드는 당시 구글 소셜 로그인을 구축할 때 구현할 코드입니다. 이후 카카오 소셜 로그인을 추가하려다 보니 기존 구조에 문제가 있음을

2024년 11월 10일
·
0개의 댓글
·

테스트가 용이한 코드는 어떤 코드 일까?

이번 초록 스터디 사다리 미션의 1단계 리뷰 과정에서는 테스트가 용이한 코드란 무엇일까?에 대해 깊이 고민할 수 있는 기회가 되었습니다. 미션 설명 사다리 미션의 1단계는 4x4 사다리를 생성하는 것이었습니다. 4x4 사다리를 위의 그림과 같이 생성을 하되 핵심은

2024년 10월 22일
·
0개의 댓글
·
post-thumbnail

로또 미션 회고

6월부터 시작된 로또 미션이 8월이 되어서 마무리가 되었습니다. 로또 미션은 우리가 시중에서 구매할 수 있는 로또 시스템을 만드는 것으로 본 미션의 핵심은 클린 코드 였습니다. 해당 목적을 달성하기 위해 원시값 포장, 일급 컬렉션 등의 키워드가 등장했습니다. 이번 미션

2024년 9월 3일
·
0개의 댓글
·
post-thumbnail

Domain이 DTO를 생성해도 될까?

로또 미션에서 한 스터원이 당첨 통계를 출력할 때 View가 Domain에 의존해 화면을 출력하고 있어서 View에서 Domain을 의존하지 않게 수정해보는 것을 리뷰로 남겼었습니다.이와 같은 리뷰를 남긴 이유는 위의 사진에도 나와있듯 View에서 Domain 객체를

2024년 7월 26일
·
0개의 댓글
·
post-thumbnail

로또 미션 중 발생한 참조 문제

로또 미션을 수행하던 중 참조값을 끊지 않아서 약 2시간 정도를 해맸습니다. 먼저 로또는 1과 45 사이의 숫자 6개로 구성됩니다. 로또를 구현하는 방법에는 여러가지가 있겠지만 저는 1부터 45 숫자를 캐싱해 두고 로또를 생성 때마 shuffle을 한 뒤에 앞에 6개의

2024년 6월 27일
·
0개의 댓글
·
post-thumbnail

자동차 경주 미션 회고

미션 공지와 함께 약 한달을 기준으로 자동차 경주 미션을 진행했습니다. 먼저 미션을 잘 마무리 할 수 있었지만 제 취준(면접 기간)과 스터디원들의 야근이 겹치게 되면서 기간이 연장되어 최종적으로는 6/10에 미션이 마무리 되었습니다. 이번 미션을 통해 제가 느낀 아쉬웠

2024년 6월 24일
·
0개의 댓글
·
post-thumbnail

초록스터디를 시작한 이유

이번에 프로젝트 팀원들과 함께 초록 스터디를 진행하기로 했습니다. 초록 스터디는 스터디 자료를 제공해주고 스터디원들끼지 자유롭게 스터디를 진행하는 방식으로 자세한 정보는 https://cho-log.github.io/를 참고해 주세요! (전반적인 스터디 진행

2024년 6월 12일
·
0개의 댓글
·
post-thumbnail

cookie 활용하기

이번 s-hook 프로젝트에서 소셜 로그인을 진행하는 과정에서 refreshToken을 보내줄 때 cookie를 활용해서 전송해주었습니다. 이 과정에서 springboot 내 cookie를 활용하는 법에 대한 학습이 필요했고 이를 정리하고자 합니다. Cookie란?

2024년 4월 4일
·
0개의 댓글
·
post-thumbnail

좋아요 수 반정규화로 인한 데이터 정합성 맞추기

팀원들과 현재 저희 서비스의 시스템 구조도를 보면서 대량의 요청에 대해서는 어떤 문제점이 발생할 수 있는지 파악하고 이에 대해서 어떻게 확장할 수 있을지에 대해서 고민하는 시간을 가졌습니다. 현재 S-hook의 운영서버 시스템 구조도는 아래와 같습니다. 현재 서비스

2024년 3월 29일
·
0개의 댓글
·