전체 글

전체 글

    [바미] 관계형 DB VS 비관계형 DB

    관계형 DB 사전적인 의미를 살펴보자면 관계형 데이터베이스란 테이블(table)로 이루어져 있으며, 이 테이블은 키(key)와 값(value)의 관계를 나타낸다. 테이블은 이름을 가지고 있으며, 행(row)과 열(column) 그리고 거기에 대응하는 값을 가진다. 즉, 관계형 데이터베이스는 위와 같이 구성된 테이블이 다른 테이블들과 관계를 맺고 모여있는 집합체로 이해할 수 있습니다. 이처럼 데이터의 종속성을 관계(relationship)로 표현하는 것이 관계형 데이터베이스라고 말합니다. 특징 가장 많이 사용되고 있는 db의 한 종류 (고전적 데이터 베이스) table로 이루어져 있고, table은 키(key)와 값(value)의 관계를 나타냄. 일반적으로 알고있는 Mysqsl, Oracle, Mssql ..

    [바미] REST API에 대하여

    안녕하세요. 오늘은 REST API에 대해 알아보고자 합니다. REST? 흔히 개발을 하셨던 분들이라면 'REST하다.' 라는 표현을 접해보셨을 겁니다. 개발하면서 흔히 접했지만 정확히 얘기하지 못하는 부분 중 하나가 REST-API가 아닌가 싶습니다. REST(Representational State Transfer)의 사전적인 의미들을 요약해보면 'REST라는 아키텍쳐 스타일을 따르는 API'라고 표현 할 수 있습니다. 그러니까 HTTP를 기반으로, 자원을 정의하고, 자원에 접근하는 방식을 정해 놓은 아키텍쳐인데 웹에 존재하는 모든 자원에 고유한 식별자인 URI을 부여해 활용합니다. 여기서 자원은 저장된 데이터(DBMS), 이미지, 동영상, 문서 파일, 서비스 (이메일, 메시지)를 모두 포함합니다. ..

    [바미] Deadlock의 해결방안

    안녕하세요. 오늘은 Deadlock을 어떻게 해결해야 하는지에 대해 알아보도록 하겠습니다. 일단 Deadlock이 무엇인지, 어떤 원인으로 발생하는지는 아래의 글을 참고 하시면 더 좋을 것 같습니다. [바미] Go - DeadLock & channel에 대해 알아보자. 안녕하세요 오늘은 DeadLock에 대해 알아보겠습니다. 여기서 Dead는 '죽었다'의 표현이 아니라 막다른 길을 표현할 때 'Dead end'라고 표현을 하는데 그 때의 'Dead'와 같은 의미입니다. 그래서 Lock이 막 codesk.tistory.com 교착상태를 간단하게 말해보자면 프로세스들의 집합이 더 이상 진행을 못하고 영구적으로 블록(대기)되어 있는 상태를 얘기합니다. 교착상태가 발생하는 조건 교착상태가 발생하기 위해서는 우선..

    [바미] 레노버 씽크패드 T16 리뷰

    안녕하세요! 드디어 저번에 구매했던 씽크패드를 4주간 써보면서 느꼈던 점을 리뷰해보려 합니다. 레노버사에 돈 한푼 받지 않고, 내돈 내산 한 것임을 다시한 번 밝힙니다. 구매이유 '카페와 같은 외부 공간에서 코딩과 같은 작업을 하기 위한 용도'로 구매하게 되었습니다. 그러기 위해서는 가방안에 들고다녀도 크게 문제없는 내구성이 필요했고, 15.6인치 이상의 대화면, 오래지속되는 배터리, 기본적인 16GB램 메모리, 좋은 키감을 가진 노트북이 필요했습니다. 이것을 만족하는 것이 요번에 구매한 램브란트 버전의 씽크패드였죠. 16인치 WQXGA(2560 * 1600)화면의 대화면과 라이젠의 새로나온 램브란트의 성능과 배터리 지속능력이 86Wh의 배터리와 좋은 시너지를 보였고, 기본옵션으로 16GB램을 가지고 있..

    [바미] 댓글 추가, 수정, 삭제 샘플코드

    게시판을 작성하다가 댓글 기능이 필요해서 인터넷을 검색했는데 검색이 잘 안되서 참고할 샘플을 찾다 유용하게 사용하고 있어 공유해봅니다. 글 수정 글 삭제 제목: 댓글 테스트 작성자: 허스크 게시글 내용 이름: 패스워드: 댓글 등록 게시판 출처 : https://huskdoll.tistory.com/126

    [바미] 동적 계획법(Dynamic Programming).

    일반적으로 우리가 사용하는 "dynamic"이나 "programming"라는 단어가 있어 'Dynamic Programming' 과 관련이 있을 것 같지만 실제로는 아무련 관련이 없습니다. 동적 계획법은부분 문제를 통해 큰 문제를 재귀적으로 해결하려고 할 때 중복되는 부분 문제들이 많이 발생하여 불 필요하게 같은 계산이 반복될 때 사용됩니다. 이항 계수를 계산하는 공식은 아래와 같은 공식이 성립하게 되는데 bino(i, j) = bino(i-1, j-1) + bino(i, j-1) 위 식에 대해 생각해보면 알 수 있듯이 주어진 i과 j에 대해 두 문제로 나눠가면서 계산했을 때 밑으로 내려가면서 중복되는 식이 점점 더 많이 발생함을 알 수 있습니다. i과 j의 크기가 커질 수록 중복되는 계산 역시 많아지는..

    [바미] Javascript Micro task queue.

    지난 시간엔 콜 스택, 태스크 큐, 이벤트 루프에 대해 알아보며 호출스택과 테스크큐의 관계에 대해 알아보았는데요. [바미] 콜 스택, 태스크 큐, 이벤트 루프 안녕하세요. 오늘은 자바스크립트의 콜스택, 태스크 큐, 이벤트 루프가 무엇인지에 대해 알아보도록 하겠습니다. 먼저 자바스크립트는 단일 스레드입니다. 이 말의 뜻은 한 번에 1개의 작업만 codesk.tistory.com 오늘은 Micro task queue에 대해 알아보며 지난번에 했던 태스크 큐와 어떤 차이가 있는지 알아보도록 하겠습니다. 태스크 큐와 마이크로 태스크 큐 먼저 마이크로 태스크 큐는 일반 태스크 보다 좀 더 우선순위를 갖는 태스크 큐라고 보면 됩니다. 2개의 큐 모두 콜백함수가 들어간다는 점에서 동일하지만 어떤 함수를 실행하느냐에 ..

    [바미] 콜 스택, 태스크 큐, 이벤트 루프

    안녕하세요. 오늘은 자바스크립트의 콜스택, 태스크 큐, 이벤트 루프가 무엇인지에 대해 알아보도록 하겠습니다. 먼저 자바스크립트는 단일 스레드입니다. 이 말의 뜻은 한 번에 1개의 작업만 할 수 있다는 뜻인데요. 메모리 힙(Memory Heap)이라는 정보를 저장하는 공간이있고, 콜스택(Call Stack)이라는 실행 중인 코드를 추적하는 공간이 있습니다. 자바스크립트는 Heap, Queue와 함께 구성하는 단일 콜스택을 갖게 되는데 메모리 힙은 자바스크립트 엔진이 구동되면서 변수, 함수 저장, 호출 등의 작업이 발생하는 공간을 말합니다. 콜스택은 코드를 읽어내려가며 수행 할 작업들을 밑에서 부터 하나씩 쌓고, 메모리 힙에서 필요한 것들을 찾아서 작업을 수행하는 공간인데요. 이름에서 알 수 있듯이 스택(S..

    [바미] 최소 신장 트리(MST, Minimum Spanning Tree)란

    안녕하세요. 오늘은 최소 신장 트리에 대해 알아보도록 하겠습니다. Spanning Tree란? 그래프 내의 모든 정점을 포함하는 트리를 말합니다. Spanning Tree = 신장 트리 = 스패닝 트리입니다. Spanning Tree는 그래프의 최소 연결 부분 그래프입니다. 최소 연결 = 간선의 수가 가장 적습니다. n개의 정점을 가지는 그래프의 최소 간선의 수는 (n-1)개이고, (n-1)개의 간선으로 연결되어 있으면 필연적으로 트리 형태가 되고 이것이 바로 Spanning Tree가 됩니다. 그러므로, 그래프에서 일부 간선을 선택해서 만든 트리가 되죠. Spanning Tree의 특징 DFS, BFS을 이용하여 그래프에서 신장 트리를 찾을 수 있습니다. 탐색 도중에 사용된 간선만 모으면 만들 수 있습..