profile
우당탕탕 개발 일기
post-thumbnail

Multi thread vs Multi process

A. Multi thread란 하나의 process가 동시에 여러개의 일을 수행할수 있도록 해주는 것.thread는 한 process 내에서 실행되는 동작(기능 function)의 단위. 각 thread는 속해있는 process의 Stack 메모리를 제외한 나머지 me

6일 전
·
0개의 댓글
·
post-thumbnail

Process와 Thread

A. 실행파일(program)이 memory에 적재되어 CPU를 할당받아 실행되는 것을 process라고 한다.실행중인 프로그램을 프로세스라고 함. 실행파일 형태로 존재하던 프로그램이 메모리에 적재되어 cpu에 의해 연산 되는 것. 여기서 잠깐!💡 메모리란?메모리는

2023년 9월 21일
·
0개의 댓글
·

useImperative

리액트에서 부모 컴포넌트를 저장할때 자식 컴포넌트도 별도로 저장해야하는 상황에 부딪혔다. api를 별도로 보내야하고 컴포넌트 파일도 분리되어 있지만 저장 버튼을 누르면 한번에 저장 및 업데이트를 시키고 싶었다. 문제 코드 )해결된 코드)

2023년 9월 21일
·
0개의 댓글
·

토글 기능 구현하기

리액트에서 리스트 화면을 출력할때 상위 행을 클릭하면 그에 해당하는 하위 행들을 노출하고 다시 한번 더 클릭하면 비노출 시키는 기능을 구현하고 싶었는데 난관에 부딪혔다. (부모 카테고리에 해당하는 자식 카테고리들을 노출)문제 코드 )클릭된 부모 행들의 상태를 관리하기

2023년 9월 19일
·
0개의 댓글
·

Hash Table

A. Hash Table은 효율적인 탐색을 위한 자료구조로써 key, value쌍의 데이터를 입력받는다. 해시 함수에 key값을 넣어 얻은 해시값 h(k)를 위치로 지정하여 key-value 데이터 쌍을 저장한다.저장, 삭제, 검색의 시간복잡도는 모두 O(1)이다.이

2023년 9월 12일
·
0개의 댓글
·

BST(Binary Search Tree)

A. 이진탐색트리(Binary Search Tree; BST)는 정렬된 tree입니다. 어느 node를 선택하든 해당 node의 left subtree에는 그 node의 값보다 작은 값들을 지닌 node들로만 이루어져 있고, node의 right subtree에는 그

2023년 9월 11일
·
0개의 댓글
·

Stack과 Queue 뿌시기

A. Stack은 후입선출 LIFO(Last In First Out)의 자료구조. 시간복잡도는 push O(1) , pop O(1). 활용 예시는 후위 표기법 연산, 괄호 유효성 검사, 웹 브라우저 방문기록(뒤로 가기), 깊이우선탐색(DFS) 등A. queue의 en

2023년 9월 10일
·
0개의 댓글
·

Queue

A. queue는 선입선출 FIFO(First In First Out)의 자료구조시간복잡도는 enqueue $O(1)$ , dequeue $O(1)$ 입니다. 활용 예시는 Cache구현, 프로세스 관리, 너비우선탐색(BFS) 등queue에서 데이터를 추가하는 것을 e

2023년 9월 9일
·
0개의 댓글
·

대체 의존성 주입이 뭘까?

스프링의 의존성 주입은 말로만 들어봤지 정확히 어떤 의미인지 아직도 헷갈리는 개념이라 오늘 한번 정리해보기로 했다.스프링(Spring)에서 의존성 주입(Dependency Injection, DI)은 객체 지향 프로그래밍에서 중요한 원칙 중 하나인 "의존성 역전 원칙(

2023년 9월 8일
·
0개의 댓글
·

어노테이션 들여다보기 - 2

엔티티에서 @NoArgsConstructor 어노테이션을 사용해서 생성자를 만들었는데 코드를 실행해보니 mapper 인터페이스에서 기본 생성자에 접근을 못해서 에러가 나는 이슈가 있었다.문제 코드 )생성자에 접근할 때 주로 사용되는 패턴 중 하나는 생성자 주입. 이는

2023년 9월 8일
·
0개의 댓글
·

어노테이션 들여다보기 - 1

생각 없이 기존의 구조를 따라서 코딩을 하다보니 각 어노테이션이 어떤 의미를 가지고 있고 어떤 차이점이 있는지 전혀 모르고 사용하고 있었다. 단순하게 api를 하나 더 추가했는데 아예 해당 api의 컨트롤러로 요청이 들어오지 않는 상황이 발생했다.문제 코드 )문제의 원

2023년 9월 8일
·
0개의 댓글
·

Array vs Linked List

A. Array는 메모리 상에서 연속적으로 데이터를 저장하는 자료 구조. 반면 Linked List는 메모리 상에서는 연속적이지 않지만 각가의 원소가 다음 원소의 주소를 저장해 놓음으로써 논리적 연속성을 유지.시간 복잡도가 다름. 데이터 조회의 경우 Array는 O(1

2023년 9월 8일
·
0개의 댓글
·

Linked List란?

A. Linked List는 Node라는 구조체로 이루어져 있는데, Node는 데이터 값과 다음 Node의 address를 저장. Linked List는 물리적인 메모리 상에서는 비연속적으로 저장되지만 각각의 노드가 다음 노드의 주소를 가리킴으로써 논리적 연속성을 가진

2023년 9월 8일
·
0개의 댓글
·

Dynamic Array란?

Q. Dynamic Array는 어떤 자료구조인가? A. array의 경우 size가 고정되었기 때문에 선언시에 설정한 사이즈보다 많은 갯수의 데이터가 추가되면 저장이 불가. 이에 반해 dynamic array는 저장공간이 가득차게 되면 resize를 해서 유동적으로

2023년 9월 8일
·
0개의 댓글
·

Array란 무엇인가?

Q. Array가 무엇인가? A. Array는 연관된 데이터를 메모리상에서 연속적이며 순차적으로 미리 할당된 크기만큼 저장하는 자료구조. Linked List와의 가장 큰 차이점은 메모리에 저장되는 방식과 이에 따른 operation 연산 속도. Array의 특징

2023년 9월 8일
·
0개의 댓글
·
post-thumbnail

동적프로그래밍

재귀를 사용할 경우 콜스택에 계속 쌓이고 성능 문제가 있음. 메모이제이션: 피보나치 수열과 같은 하향식 문제에서 중복된 계산이 성능에 많은 영향을 끼침. 계산 결과를 저장해서 여러번 계산하지 않도록 하는 것. 빠른 데이터 탐색, 삽입, 삭제가 가능한 해시테이블을 사

2023년 9월 7일
·
0개의 댓글
·
post-thumbnail

정렬의 모든것!

버블 정렬: 구현은 쉽지만 성능은 좋지 않음. 앞에 있는 숫자와 옆의 숫자를 비교해서 자리를 바꾸는 알고리즘. 마지막 원소는 정렬이 된것이기 때문에 빼고 정렬. 성능 : 등차수열의 합만큼 실행됨. (n-1) + (n-2) +... + 2 + 1 = n(n-1)/2

2023년 9월 6일
·
0개의 댓글
·
post-thumbnail

AWS CI/CD

CI/CD 프로세스와 실제 서비스에서 어떻게 구현하고 있는지 aws 활용한 무중단 배포까지 한번에 정리하기

2023년 9월 5일
·
0개의 댓글
·
post-thumbnail

재귀 함수

재귀란?재귀는 어떤것을 정의할때 자기 자신을 참조하는 것을 뜻한다.콜스택:함수가 호출되면서 올라가는 메모리 영역.스택이라고도 불림. 스택은 first in first out함수를 호출하면 콜스택에 올라가고 함수가 종료되면 콜스택에서 제거. 재귀함수는 호출할때마그 콜스택

2023년 9월 5일
·
0개의 댓글
·
post-thumbnail

셋(Set)

셋(Set)이란?셋(Set)은 데이터의 중복을 허용하지 않는 자료 구조. 해시 테이블을 사용한다고 해서 해시 셋이라고도 불림.셋은 해시 테이블의 value 값은 사용하지 않고 key만 사용해서 구현. key가 key임과 동시에 데이터로 활용됨.

2023년 9월 3일
·
0개의 댓글
·