오늘 배운 내용 📚 함수 배열 포인터 👉 정리글 보러가기 c언어로 배우다보니 기존에 함수와 배열 개념을 다른 방향으로 익힐수 있는 시간이 되었습니다. 특히 자바스크립트에서는 잘 모르는 포인터 개념을 짚어주셔서 좋았는데요. 그만큼 처음 접하는 이론들이 있었기 때문에 이해하는데 조금 시간이 걸렸던것 같습니다. 포인터의 개념은 알아두면 좋은 코딩 지식으로 자바스크립트를 하는 사람이라면 사용하지 않지만 그래도 한번쯤 읽고 넘어갔으면하는 개념이 아닐까 생각했습니다. 그리고 궁금했던게 c언어라서 문자열 배열의 마지막에 null값이 들어가는건지 자바스크립트에서도 null값을 받는지 알아보니 자바스크립트에서는 글자와 공백수만 길이로 들어가는걸 확인했습니다. 이게 c언어랑 자바스크립트랑 다른 개념을 발견하니 뭔가 새로운..
전체 글
병아리 코드 개발자, 코드둥오늘 배운 내용📚 연산자 분기문 (if) 반복문 ( while, for) 👉 정리글 보러가기 이번주에는 기본적으로 많이 사용되는 이론들을 정리하는 시간인 것 같다는 생각이 들었습니다. 다른점이 있다면 javascript가 아닌 c언어로 기본 개념을 정리중이라는 것인데요. 이전 회사에서 제가 후임들한테 하던 이야기가 생각이 났습니다. "javascript, php, python, java 형태만 다르고 기본적인 개념은 똑같으니 다른 언어를 하게 됐다고 해서 무작정 싫어하지 말아라 분명히 도움이 될것이다" 라고 했었는데 그때 조언해준 내용처럼 처음에는 당황스러웠지만 해당 내용들을 다시한번 개념정리한다는 마인드로 수업을 들었습니다. 오늘 수업에서 가장 인상깊었던 내용은 사소한 기능이라도 순서도를 그리라는 말과..
오늘 배운 내용 📚 컴파일 언어와 TypeScript 변수와 상수 그리고 자료형 [C 언어] 입력값을 받기 추가 정리 내용 📑 메모리와 자료구조 엄격한 strict mode 본격적으로 프론트엔드 수업에 들어가기 앞서서 기본적으로 TypeScript와 컴파일언어를 비교하고 JavaScript와 어떤차이점이 존재하는지 짧게 설명을 해주셨습니다. 사실 강의를 듣기 전까지 자바스크립트는 당연히 스크립트 언어니까 컴파일 언어와 완전히 별개의 언어라고 생각을 했었는데, TypeScript가 타입을 설정하는 면에 있어서 컴파일 언어와 유사하니 컴파일 언어를 조금 알아두면 좋을것같다는 말에 다시 생각을 고치게 되었습니다. 또한 변수와 상수를 배우면서 메모리의 자구조에 대해서 살짝 설명해주셨었는데 책으로 보기만한 큐나 ..
메모리의 구조 메모리는 기본적으로 코드영역 와 스택영역 힙영역, 데이터 영역으로 나뉩니다. 코드영역은 실행할 명령어들이 순서대로 쌓이고 CPU가 코드영역에서 하나씩 가져가 처리를 하는방식이고 스택영역은 기본적으로 선형 자료구조로 메모리에 들어온 데이터들의 입구와 출구가 같습니다. 때문에 후입선출방식(FILO : First In Last Out, 처음 들어온 게 가장 마지막에 나간다.)으로 동작을 합니다. 힙 영역은 컴파일 시에 메모리를 할당하는 게 아니라 코드가 실행할 때 사용자로부터 할당메모리를 입력받기 때문에 동적메모리라고도 불립니다. 데이터 영역은 전역변수와 static 변수가 저장되는 메모리 영역으로 이 메모리는 프로그램이 종료를 하게 되면 같이 소멸하게 됩니다. 메모리의 할당 일반적으로 메모리의..
변수 변수란 변경이 가능한 수를 말하며 변수에는 어떠한 값(문자열, 숫자, 객체, 배열 등등)이 들어갈지 알 수 없습니다. 그렇다면 왜 변수를 사용하는 것일까요? 변수는 메모리에 저장된 데이터들 중에 메모리 위치 즉, 주소값을 기억하는게 아니라 변수라는 이름으로 기억을 하는것입니다. 예시 ) 너 어제 서울특별시 OO구 OO로 XXX동 XXX호 갔어? -> 너 어제 홍길동네 갔어? 주소값 : 서울특별시 OO구 OO로 XXX동 XXX호 변수 : 홍길동네 상수 상수는 변수와 다르게 값을 변경할 수 없는데요. 때문에 상수는 변하지 않는 수라고 합니다. 상수는 꼭 선언과 동시에 초기 값을 설정을 해줘야 합니다. var a; // 가능 let b; // 가능 const c; // 불가능 > const c = 10 ..
strict mode라 불리는 엄격 모드는 기존 자바스크립트 언어의 일부 기능을 제한하고 엄격하게 문법 검사를 하기 때문에 기존에는 넘어갔던 에러들을 확인할 수 있습니다. strict 모드 설정 strict 모드 설정은 스크립트와 함수에서 선언을 할 수 있습니다. 1) 스크립트에서 선언 "use strict"; // code ... 2) 함수에서 선언 function foo () { "use strict"; // code ... } strict 모드 특징 대상 제한 사항 변수 선언되지 않은 변수나 객체를 사용할 수 없음. eval() 함수 내에서 선언된 변수는 외부에서 사용할 수 없음. 프로퍼티 읽기 전용 프로퍼티에는 대입할 수 없음. 한 프로퍼티를 여러 번 정의할 수 없음. 함수 함수를 구문이나 블록 ..
프로그래밍 언어로 컴파일 언어와 스크립트 언어가 존재합니다. 우리가 작성한 코드들은 컴퓨터가 알아들을 수 있는 기계어로 번역을 해주어야 하는데요 이때 해당 번역 과정을 컴파일러가 한 경우와 인터프리터가 번역을 한경우로 나뉘는데요. 컴파일러로 번역을 한 경우 컴파일언어, 인터프린터가 번역을 한경우 스크립트언어라고 합니다. 컴파일 언어 컴파일 언어는 소스코드를 컴파일 해서 기계어를 읽어 실행시키는 언어입니다. 컴파일 언어의 특징 문법적 제약이 많아서 작성이 어렵다. 운영체제마다 사용하는 기계어가 다르다. 즉, 운영체제마다 작업을 다르게 해줘야한다. 기계어로 프로그램이 실행되어 프로그램 소스코드 유출이 어렵다. 컴파일 작업(번역 작업)은 시간이 걸리지만 이후에는 기계어를 읽는거라 실행속도가 빠르다. 스크립트 ..
오늘 배운 내용 📚 Faker를 이용한 가짜 데이터 생성하기 추가 정리 내용 📑 프로젝트 패키지 구조 오늘 수업에서는 Faker를 이용하여 가짜 데이터를 생성하는것을 배웠습니다. 사용자 뿐만아니라 상품, 기타 등등 정보를 생성할수 있었는데요. 필요한 더미 데이터를 만드는데 있어서 편하게 생성할수 있는 모듈이었습니다. 간단하게 Faker를 이용하여 데이터를 전송하는 API를 만들어 보고나서 강사님이 체크해보면 좋을 리스트를 정리해주셨는데요. 기존 bookstore 프로젝트를 진행하면서 수업시간에 하지 않았지만 참고하면 좋을 리스트를 알려주셨습니다. 인증/인가 시스템 적용 입니다. auth를 통해서 인증/인가를 할수 있는부분들을 짚고 넘어가는것이었습니다. 이는 회원을 받고 이 회원이 어디에 사용되는지를 파악..
UPSERT란? 데이터베이스에서 기존에 값이 저장(INSERT)되어있는경우 UNIQUE 키 값을 설정을 해 놓으면 새로운 값이면 INSERT, 이미 존재하는 경우에는 UPDATE를 실행해주는 용어로 UP(DATE)와 (IN)SERT를 합쳐UPSERT라고 많이 부릅니다. UPSERT 사용 전 체크사항 - 유니크 키 값 설정 유니크 키 값을 설정해 놓는 이유는 유니크한 값을 이용하여 중복되는 행이 없게 설정을 하는것으로 유니크한 값이 존재하면 있는걸로 판단하고 UPDATE를 없으면 INSERT를 하기 위해서 꼭 필수로 설정을 해 놓아야 합니다. 하나로 유니크한 값을 설정할수 없는경우 두가지 컬럼으로 설정을 할수 있습니다. UPSERT문 사용하기 INSERT INTO 테이블 (컬럼1, 컬럼2, 컬럼3) VAL..