100%를 한번에 바꾸는건 어려워도 1%를 100번 바꾸는건 쉽다.

생각정리 자세히보기

분류 전체보기 89

[내 이야기] 2023 ~ 2024 회고

23 ~ 24년 회고를 시작하며...사람이 성장하기 위해서는 필연적으로 그에 따른 성장통이 있기 마련입니다. 저에게 지난 2년의 시간은 감히 모든 방면에서의 성장을 이루기 위해 성장통을 겪은 시기였다고 생각합니다. 그래서 저의 마지막 20대를 화려하게(?) 보낼 수 있음에 감사했던 시간이였습니다. 시간 순으로 겪은 사건을 나열하면서 거기에 따른 교훈을 적어보고 25년도에는 열심히 살아보겠다는 이야기를 해보려고합니다.내가 성과라고 생각했던 것은 남들에게 성과가 아니였고 인정받지 못했다.우선, 22년도 회사를 다니면서 나름 개발자로서 어느정도의 성과를 이뤄냈다고 생각을 하였습니다. 개발을 거진 모르는 신입에 가까운 개발자가 회사의 메인 돈벌이가 될만한 보안 솔루션을 인증 통과하였고 그것이 어느정도 성과라고 ..

[자료구조] 자료구조 개론

자료를 정리하는 이유효율 좋은 사람은 정리를 잘한다.일정 규칙으로 자료를 나열하는 것이 자료구조이다.구조화된 자료에서 원하는 것을 빨리 찾아내는 방법이 알고리즘이다.지저분한 방을 깨끗이 정리하는 규칙이 알고리즘이다.선형 자료구조StackLIFO 구조처음 넣은 것은 맨 아래 바닥에 깔린다. 두 번째 부터는 처음 넣은 것 위에 쌓인다.바닥에 있는 것을 꺼내려면 위에 쌓인 것들을 모두 치우는 수 밖에 없다.IO가 한곳에서 일어난다.뒤집기, 되돌아가기 등에서 사용된다.QueueFIFO 구조버스를 타기 위해 줄을 서는 것과 같다.은행에서도 비슷한 경험을 할 수 있다.IO가 앞에서 입력 뒤에서 출력이 된다.비선형 자료구조2진 트리자료당 두 개의 위치정보를 이용해 셋을 하나로 묶는다.맨 꼭대기를 기준으로 왼쪽에는 작..

[컴퓨터공학] 프로그래밍 개론

프로그래밍이란 절차적 글쓰기이다. 어떤 일들의 진행순서를 정하는 것이 프로그래밍이다. 즉 일하는 절차에 대한 글쓰기이다.글로 작성한 해야 할 일을 정한 순서대로 수행하는 것을 실행이라고 한다.모든 실행은 고유한 흐름을 가진다. 프로그램의 목표는 근본적으로 자동화에 있다.컴파일과 고급어, 저급어저급어는 기계어이다.기계어는 알아보기 매우 어렵고 고급어는 인간이 이해하기 쉬운 언어이다.고급어의 코드는 보통 함수 단위로 묶어 표시한다.고급어를 기계어로 바꾸는 것이 컴파일이다.컴파일을 해주는 것이 바로 컴파일러이다. C는 네이티브 언어다.컴파일이 되면 OS와 CPU에 의존적인 실행파일이 만들어진다.이렇게 컴파일을 할 경우 OS와 CPU에 의존적이면 네이티브 코드라고 부른다. Java는 네이티브와 매니지드의 특징을..

컴퓨터공학 2024.12.02

[운영체제] 운영체제 개론

동시성과 병렬성동시성: 여러 가지 일이 동시에 진행되는 것병렬성: 같은 일을 여러 주체가 함께 동시에 진행하는 것원자성, 동기화 그리고 교착상태동시성하면 항상 따라오는 이야기가 원자성이다.두가지 일이 동시에 자원을 선점하는 경우 기다려야하는 상황이 발생하기도 한다.이런 상황을 정리할 수 있는 동기화라는 개념이 나오게 된다. 화장실에 비유를 들어서 이야기를 하자면 화장실에 진입하면 Lock이 걸리고 화장실을 나오면 UnLock을 하게 된다.화장실을 선점하고 있는 구간이 원자성이 보장될 수 있는 구간이다. 원자성: 동시에 일이 일어나도 자원을 선점하고 있다면 그것을 보장할 수 있도록 하는것 동기화: 누군가 선점을 하고 있는 동안은 원자성을 보장할 수 있도록 하는 것 교착상태: 자원을 선점하기 위해서 서로 대..

[컴퓨터 구조] 컴퓨터 구조 개론

디지털회로어떻게 하면 CPU 제작할 수 있을까에 대한 이야기이다.CPU는 전자계산기이다.전자식인 이유는 효율적이고 빠르기 때문이다. AND, OR, XOR, NOT 연산에 대해서 이야기를 하려고 한다. AND는 두개 다 참일경우 참OR의 경우 둘중 하나라도 참일경우 참XOR의 경우 두개가 서로 다를때 참NOT의 경우 0이면 1로 1이면 0으로 변경 이 위의 규칙은 모두 사칙연산을 위해서 세팅이 된다…! 이걸 적용시킨게 반도체이고… 빵판이라고 부르는게 된다고 한다…!컴퓨터가 덧셈하는 방법XOR 연산과 AND 연산을 사용하여 자리올림을 진행한다.컴퓨터가 뺄셈하는 방법NOT 연산을 하고 그 수에 1을 더한 후 자리올림은 버린다. (2의 보수)컴퓨터가 곱하고 나누는 방법왼쪽으로 Shift를 하고 오른쪽 맨 끝에..

[컴퓨터 공학] CS를 위한 기초 상식

1비트와 디지털1비트: 전기 스위치 1개전기가 흐르면 1, 아니면 0 4비트는 16가지의 경우의 수가 있다. 16, 8, 4, 2, 1 이렇게 외우면 된다.4비트와 16진수 그리고 진법변환거의 대부분의 경우 16진수 표기를 한다. 16진수 한글자는 4비트다. 16진수에서 10으로 넘어가는 경우가 A이다. 2진수로는 1010이다. 예를 들어 F4의 경우 8비트가 된다. => 1111 010016진수 표기가 사용되는 예색상표현, 컴퓨터 하드웨어 주소 표현, 메모리 값 표현 색상표현의 경우 8비트 => 256 (0 ~ 255)외워야 할 단위 체계와 숫자8비트를 하나로 묶어 1바이트라고 한다.1바이트는 영문자 한 글자가 저장될 수 있는 메모리 크기이며 관리의 최소 단위이다. 한글은 2바이트가 필요하다. 4비트는..

컴퓨터공학 2024.11.18

[Node.js] Prisma VS MikroORM VS Drizzle

prisma에 대해서 어느정도 학습을 해보면서 약간 아쉬운 점들이 많았습니다. 그래서 Node.js 진영의 다른 ORM은 어떻게 하고있을까? 그 궁금함에 세 ORM을 비교하며 학습해보기로 하였습니다. 3가지 ORM의 특징특성PrismaMikroORMDrizzle ORM사용 편의성매우 직관적이고 설정이 간단하며, 빠르게 학습할 수 있음.관계 설정 및 모델링이 초기 구성이 Prisma에 비해 다소 복잡할 수 있음.API가 간단하고, 최소한의 설정으로 사용할 수 있도록 하여 사용자가 직접 필요한 부분을 확장마이그레이션 관리강력한 마이그레이션 관리 지원함. 마이그레이션 변경 사항 추적 및 자동화가 쉬움.Migration 기능이 내장되어 있으나, Prisma에 비해 설정과 관리가 복잡할 수 있음.마이그레이션 관리..

[Node.js] 413 Payload Too Large 오류 해결

안녕하세요. 이번 시간에는 413 Payload Too Large 오류를 해결해보는 시간을 가져보겠습니다. 413 Payload Too Large란?서버에서 처리할 수 있는 요청이 지정된 제한보다 큰 오류 RFC 9110부터는 Content Too Large로 오류 명이 수정됨. https://developer.mozilla.org/ko/docs/Web/HTTP/Status/413 413 Content Too Large - HTTP | MDNHTTP 413 Content Too Large 응답 상태 코드는 요청 엔터티가 서버에 의해 정의된 제한보다 크다는 것을 나타냅니다. 서버는 연결을 닫거나 Retry-After 헤더 필드를 반환할 수 있습니다.developer.mozilla.org 해결 방법우선 저는..