동적 메모리 할당이란?
·
TIL
💡 일단 이전 포스팅인 포인터에서 벗어나서 기분이 매우 좋다. 이 좋은 기분으로 동적 메모리 할당에 대해서 알아보기로 하자. 동적 메모리 할당이란? C언어에서 배열의 경우 사전에 적절한 크기만큼 할당해주어야 한다. 원하는 만큼만 메모리를 할당해서 사용하고자 한다면 프로그램 실행 도중에 메모리를 할당하는 방법인 동적 메모리 할당을 사용한다. 동적으로 할당된 변수는 힙 영역에 저장된다. 동적 메모리 할당 함수 malloc() 함수를 이용해 원하는 만큼의 메모리 공간을 확보할 수 있다. malloc() 함수는 메모리 할당에 성공하면 주소를 반환하고, 그렇지 않으면 NULL을 반환한다. malloc() 함수는 라이브러리에 정의되어 있다. free() 함수로 메모리 해제를 해주어야 메모리 내의 프로세스 무게가 더..
포인터 변수란?
·
TIL
💡 제일 이해하기 어려운 개념이었다. 아직까지 프로그램을 짜보지 않아서 포인터를 왜 쓰는지(오히려 복잡해..) 잘 모르겠다. 현업에서 정말 쓰이는지 궁금하기는 하지만 일단 배운 개념이니 정리해 보도록 하겠다. 포인터란? C언어에서 포인터란 메모리의 주소값을 저장하는 변수이며, 포인터 변수라고도 부른다. int n = 100; // 변수의 선언 int *ptr = &n; // 포인터의 선언 http://www.tcpschool.com/c/c_pointer_intro 코딩교육 티씨피스쿨 4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등 tcpschool.com 연산자 주소 연산자(&) 주소 연산자는 변수의 이름 앞에 사용하며 해당 변수의 주소값을 반환한다. & 기호는..
변수의 종류
·
TIL
💡 변수는 셀 수 없이 많이 써왔는데 그 종류나 쓰이는 방법에 대해 묻는다면 5초만에 답이 나올 것 같지는 않았다. 그래서 이번 포스트에서는 변수의 종류에 대해 블로깅 해보도록 하겠다. 컴퓨터가 변수를 처리하는 방법 코드 영역데이터 영역힙 영역스택 영역 소스코드 전역 변수, 정적 변수 동적 할당 변수 지역 변수, 매개변수 메모리의 구조는 너무 길어질 것 같아서 다른 포스팅에서 다루기로 하겠다. 전역변수 전역변수는 어디서든 접근가능한 변수이다. 해당 파일을 넘어 다른 파일에서도 접근이 가능하다. main 함수가 실행되기 전에 프로그램에 메모리에 할당된다. 메모리 데이터 영역에 적재된다. #include int global = 10; int globalTest() { global += 5; printf("함..
컴퓨터가 수를 표현하는 방법
·
TIL
💡 컴퓨터가 0과 1로 이루어져있다는 것을 알고는 있었으나 수포자에다가 컴공과도 아니어서 부끄럽지만 2진수가 아직도 조금 어려웠었다. 게다가 2진수로 -를 표헌하는 법?은 생각도 못해봐서 정말 구몬수학을 다시 풀어야하나….(먼 산..) 컴퓨터의 데이터 단위 일단 컴퓨터의 데이터 단위부터 알아보도록 하자 1Bit0 or 1 1Byte 8bit 1KB 1,024Byte 1MB 1,024KB 1GB 1,024MB 1TB 1,024GB 컴퓨터에서 의미있는 정보 하나를 표현하는 최소단위가 Byte부터라고 한다. 그래서 구글링해본 예제에서 너무나 당연시리 00000000로 예제를 보여주어서 왜인지 궁금증이 계속 생겼었다. 알고보니 그랬던 것… 기본 자료형의 종류 논리형boolean1Byte 문자형 char 2Byt..
도대체 TypeScript가 뭘까?
·
TIL
📌 TypeScript Documentation을 기반으로 하며, 저의 의견이 포함되어 있습니다. 갑자기 TypeScript? 💡 나는 자바를 조금 공부하긴 하였으나 자바스크립트를 주로 사용하면서 변수 타입에 대해 크게 생각하지 않고 사용했다. 짧은 나(코린이)의 생각으론, 여러가지 내 맘대로 사용할 수 있으면 좋은 거 아닌가?! 이렇게도 쓰고 저렇게도 쓰고! 자유로우니 좋잖아! 생각했다. 그러나 여러 피드백과 코드 작업으로 때론 이 자유로움이 독이 될 수 있다는 것을 점점 깨닫고 있고, 변수 타입에 대해 좀 더 고민하며 작업하고 있다. 혼자 작업하는 것이 아니기에 자유로움보다 안정성이 더 중요한 것이다. 그래서 TypeScript로의 이전을 위하여 검토하고 있으며, 그것에 대해 현재 페이지에 기록할 예..
async, await, Promise 그리고 동기와 비동기
·
TIL
💡 그동안 async/await, Promise를 수없이 써왔지만 왜 쓰는지, 어떤 방식으로 작동하는지 잘 몰랐던 것 같다. ᕙ( ︡’︡ 益 ’︠)ง▬▬█ 그래서 이번 기회에 다시 공부하고 공부한 것을 기록해보려고한다. 동기 vs 비동기 나는 위의 그림을 보면서 어느정도 이해가 됐다. 동기 : 앞의 작업의 응답을 기다린 뒤 다음 작업을 수행한다. 비동기 : 앞의 작업의 응답을 기다리지 않고 빨리 수행하는 작업부터 완료된다. 보통 동기는 은행, 비동기는 카페로 예를 많이 들던데, 나도 다른 예가 생각이 나지 않아 해당 예를 기록해두겠다. 동기적 방식 은행에 가면 순번표를 뽑고, 이전 대기자의 작업이 모두 끝나야 내 차례가 돌아온다. 예약시스템이란건 없기 때문에 내 앞에 갑자기 다른 이벤트가 생길 수도 없고..
node 버전 업데이트 하기
·
TIL
💡 Axios에서 http request가 종료되지 않은 현상이 있었고, 약 일주일 전에 원래 10.x 버전을 쓰다가 12.x로 업데이트 했다. 내가 업데이트 했던 것이 아니라 별 신경 크게 안쓰고 있었고, 로그에서 별 일 없었기 때문에 흠냐흠냐 신경 쓰지 않았었는데, Vue.js 환경 셋팅하다가 나는 아직도 10.x 버전을 쓰고 있었다! 아니 업데이트 할 생각을 방금하다니! 믿기지 않다! node 버전 업데이트 하기 나는 brew로 node를 설치하지 않았기 때문에 brew 명령어는 사용하지 않았다. // 노드 버전 확인 node --version // 캐시 삭제 npm cache clean -f // 원하는 버전으로 노드 설치 sudo n 12.22.6 // 노드 버전 확인 node --version..
use strict란? 왜 쓰는거야?
·
TIL
💡 정말 해서는 안되는 일을 저질렀다. node.js 6개월차가 되가는 지금, 내가 짜지 않은 api의 상단의 'use strict' 를 보고 흐린눈 해버렸다. 왜인지 주석처럼 느껴지는 그것은 코드라는 느낌도 안느껴졌다. 그리고 질문을 들었지. 왜 수민씨가 만드는 신규 api 는 'use strict'를 안쓰는 거죠? 나 : 음........ 죄송합니다..................... 생각을 못했습니다.. 📢 MDN Web Docs를 참고하여 작성하였습니다. Strict mode 💡 Strict mode (엄격 모드) ←→ default Sloppy mode (느슨한 모드) 기존에는 조용히 무시되던 에러들을 throwing JavaScript 엔진의 최적화 작업을 어렵게 만드는 실수를 바로잡음 느슨..
Serverless 개발 환경 셋팅하기 + iterm command not found error
·
TIL
💡 집 노트북 포맷하고 회사 셋팅 그대로 집에서도 셋팅하기 1. 포맷하기 💡 포맷은 노트북을 다시 실행할 때 command + R 을 계속 누르다보면 디스크 저장공간에 대한 내용이 뜨는데, 다 삭제하고 OS를 다시 설치해 주면 된다. 나는 백업 같은 거 안 키우니까 그냥 다 삭제해준다. (백업하는 방법은 모름) 2. .bash_profile 회사 노트북에 있는 .bash_profile을 그대로 복사하여 포맷한 노트북에도 넣어주자 vi .bash_profile 맨 아래 cd /Users/gimsumin/temp/FLo-handler-functions 는 현재 노트북의 원하는 위치로 변경해주자 source ~/.bash_profile 위의 명령어까지 해주어야 적용이 된다. echo $환경변수key 환경변수k..
[Git] 내가 보려고 정리하는 git 명령어
·
TIL
깃허브를 사용은 해봤지만 터미널로 사용해 본 적이 없어서 아주 아주 좌절했다. (소스트리를 사용은 했지만 브랜치 사용 경험 X, 그때도 풀, 커밋, 푸시가 전부였다.) 요새는 터미널을 사용해 그럭저럭 풀, 커밋, 푸시는 하고 있으나 아직도 모르는 것들이 한가득이다. 언제나처럼 아는 것 + 모르는 것 찬찬히 정리해 나갈 예정이다. 1. 클론 mkdir 폴더명 cd 폴더명 git clone HTTPS키 or SSH키 mkdir은 make directory라는 뜻으로 폴더를 만드는 명령어다. cd는 change directory라는 뜻으로 해당 폴더 속으로 들어가게 된다. 원하는 폴더를 만들고, 해당 폴더 안에 들어갔으면 git clone 명령어를 사용하여 해당 폴더와 git을 연결해주면 된다. git clo..
indeeah
하기나 해