
오늘은 사전캠프를 첫 참가하게 되었다.사실 사전캠프 참여 전에도 내일배움캠프 강의실의 강좌들은 듣고 있었지만 출퇴근시간이 맞지 않아 부득이하게 참여하지 못했던 것을 오늘부터 할 수 있게 되었다.참여하자마자 프로필을 설정하고 매일매일 어떤 공부순서를 지켜야하는 지에 대해
오늘은 사전캠프 2일차그래봐야 남은 기간은 오늘 포함 3일남짓이지만 본캠프에 들어가기 앞서 준비하는 기간이라고 생각하고 학습 습관을 들이고 어떻게 공부해야할 지에 대해 생각해보면서 남은 강의를 듣는 시간을 가졌다.사전캠프 학습시간동안 정해진 루틴이 있었다.첫 한 시간은
오늘은 왕초보 웹개발입문(HTML CSS)를 완주했다.마지막 숙제에서 좀 헤멨었는데body 안에 쓰여지는 것들이 보여지는 틀을 꾸미는 것인데 이 순서가 잘못되어 firebase에 저장된 값을 카드형태로 불러오는 과정에서 순서가 뒤죽박죽 됐었다.오늘 실수했던 부분 중 배
사전캠프 마지막 날이 끝이 났다.오늘 처음으로 MySQL로 푸는 알고리즘 문제들을 풀었다.매우 간단한 기능들을 풀어냈기에 기본적인 사용법을 익힌다는 느낌으로 풀게 되었다.MySQL 기본 뼈대는 select로 반환한 값을 출력해주고, from으로 꺼낼 범위를 지정하고,
오늘 부트캠프 1일차로 프로젝트를 함께 만들어 갈 팀을 배정받았다.OT를 마치고 자리에 앉아 각자의 목표와 자기소개를 마치고 친해지는 시간을 가졌다.우리 팀은 미니프로젝트로 진행할 홈페이지를 만드는데 역할을 분담하기로 했다팀장을 맡은 나는 역할 분담을 하기 위해 서로
오늘은 미니 팀프로젝트 홈페이지 만들기 2일차Git을 이용해 서로 파일들을 합쳐서 만드는 작업을 진행했다.html 강의에서 배웠던 기능들을 써먹는 것 뿐인데도 만들면서 적응하는데 시간이 많이 필요했다.아직 어색해서 그런 듯 하지만 계속 모니터와 기싸움하면서 코드를 써내
오전에는 알고리즘 문제를 풀고 어제 진행했던 미니프로젝트의 코드를 채워넣었다.별다를 거 없이 잘 될 줄 알았는데 생각보다 db를 파이어베이스에 넣어주고 다시 불러오는 작업이라던가 버튼을 동작시켜서 모달을 띄워주는 방법을 직접 구현해보려니 정말 어려웠다.어찌저찌 구현은
오늘은 미니프로젝트 코드를 쓰는 마지막 날이다.거의 기능구현은 끝났고 파이어베이스의 해당 컬렉션을 만들어 문서 db를 등록할 수 있게 하고 데이터를 가져오거나 삭제도 가능하도록 기능을 구현하는 곳에 초점을 두었다.html로 외적인 부분을 디자인하는 것에는 초점을 크게
오늘은 html 팀소개페이지 만들어보기(미니프로젝트)를 발표하는 날이었다.팀원들이 함께 짠 코드를 목요일 밤까지 정리했고 오늘 오전에는 구현한 기능들을 설명하고 팀원들을 소개할 수 있도록 어떤 이야기를 발표해야할지 서로 의논했다.발표는 잘 끝난 것 같았다.딱히 피드백도
오늘부터는 이제 개인 JavaScript 문법강의 코스에 들어간다.아직 토요일이지만 월요일부터 시작될 JavaScript 문법반 참여에 앞서 미리 지급된 강의들 미리 공부해 볼 수 있는 기회가 생겨 공부를 시작하게 되었다.많은 것을 하지는 않았다.금요일까지 열심히 썼던
오늘은 자바스크립트 문법 강의를 주말간 들었던 것과 오늘 들었던 것들을 포함해서 정리하려고한다.오늘까지 배운 것 JavaScript 문법! 정리하자!JavaScript는함수를 사용하는 객체지향 프로그래밍이 필수적이다.함수는 서로가 독립적인 공간이어야한다.기능을 동작할
오늘은 많은 것을 배웠다.겉핥기로 넓게 배운 느낌이긴 하지만 주말에 다시 복습하고 많이 찾아보고 더 코드를 쳐보면서 연습하려고 한다.배운 것을 약간 정리해보자면,var, let, const는 무엇인지메모리 할당에 관한 지식undefined와 null의 차이실행 컨텍스트
오늘은 어제보단 비교적 널널하게 공부했다.사실 거의 공부를 못 했다고 봐야하긴 한다.집중이 너무 안 됐다.어제 밤늦게까지 공부를 하다가 유튜브보고 게임을 조금하다보니 새벽 2시에 잠을 자게 되었는데아침에 6시에 눈이 떠져버려서 점심까지 내내 집중을 못하고 헤롱헤롱거렸다

가방끈이 짧다는 건 핑계다.오늘 알고리즘 문제를 풀면서 느꼈다.우리가 살아가는 지금 이 세상은 컴퓨터와 인터넷만 있다면 원하는 것을 어떤 분야든지 찾아보고 배워나갈 수 있는 환경이 됐다는 걸 새삼 느꼈다.배우려고 노력하면 배울 수 있다는 게 많다는 걸 알았다.필요하지
오늘은 콘솔을 이용한 텍스트 머드게임에 기능을 구현하는 과제를 받았다.일주일간(8.29까지) 게임의 기능을 구현하게 될 텐데 어떤식으로 만들어야할 지에 대해 설명을 들었고 정리해보았다.알면 좋은것)Promise / 동기-비동기 / aysnc await해야할 것도입 -
오늘 한 내용 정리 !알고리즘 풀이 사이트에서 알고리즘 풀기 콘솔 로그라이크 게임 이어만들기a. 스테이지 넘어가는 것 구현하기 (플레이어 또는 몬스터가 HP가 0이 되거나, 도망)b. 스테이지 클리어 시 보상 구현하기 (몬스터 HP가 0이 되어 다음 스테이지로 갔을 때
오늘은 개인과제 코드리뷰를 시작한 지 2일차내 눈에 코드를 잘 짜신 분들이 많아서 배울 점이 너무 많았다.횡설수설해도 리뷰하면서 메모했던 것들을 다시 조사해보기위해 여기에 같이 적는다.Static = 정적 메서드오브젝트풀링// 자주 사용하고 자주 사라져야하는 오브젝트를
오늘은 서버 클라이언트에 대해 조사해보고 게임 서버는 어떤 종류가 있는지에 대해 살펴봤다.게임 서버에 대해 막연하게 어렵게만 생각했는데간접적으로 접하고나니 더 어렵다는 것을 알게 되었다.난 이제 죽었다.잠깐 알게된 내용만 살짝 정리하자면옛날에는 게임을 즐길 때 P2P방
네트워크 계층에 대해 공부하며 OSI 7계층 모델에 대해 알게 되었다.7층 응용 프로그램6층 프레젠테이션5층 세션4층 전송3층 네트워크2층 데이터링크 1층 물리적해쉬 테이블키-값 쌍을 저장하는 자료 구조로 빠른 검색/삽입/삭제에 용이하다.'해시 함수'를 사용하면 키를
자바스크립트 클래스의 상속과 static(정적) 메소드에 대해서 다시 배웠다 > 프로그래밍에서 상속이라는 개념은 부모와 자식간의 관계처럼 어떠한 속성이나 유산을 대물림 받는 것을 말한다. 여기서 속성이나 유산이라 하면 부모 클래스 안에 있는 기능들을 말한다. 부모

알고리즘을 문제를 풀 때객체 또는 배열을 만들거나 변수를 만드는 데에는 이유가 있어야 한다.그냥 만들어놓고 아 이렇게 해볼까 저렇게 해볼까 보다는 확실한 이유와 과정을 생각하고 만드는 것이 의도를 명확하게 담을 수 있고 생각을 체계적으로 정리해가면서 코드를 써내려가기에

라인 옆에 빨간 점들이 바로 중단점을 찍은 코드라인이다. 해당 중단점을 컴퓨터가 읽어들이기 전에 컴퓨터의 연산을 일시중지 한다.컴퓨터는 코드를 빠르게 읽는다.사람이 읽는 속도보다 상상도 할 수 없을만큼 빠르게 읽는다.그래서 우리는 어느 코드의 위치에서 특정한 값이 변하
배운 것들을 따라해보고 응용해보려고 할 때 시간이 생각보다 더 오래걸리고남보다 느리게 나가는 것 같은 기분이 자주 들 때가 있다.슬로우스타터라고 생각하고 내 페이스대로 잘 나가야지 생각하면서도공부할 수 있는 지금의 기회가 결코 흔한 기회가 아니라는 걸 알기 때문에마지막

자바스크립트는 유난히도 비동기적 작동을 많이 한다. 자바스크립트 자체가 비동기적인 언어라는 느낌이다. 사실 맞다. >비동기적인 작동을 하기 위해서 만들어진 언어다. 동기적 작동도 수행하지만 promise와 asnyc-await를 주로 사용해서 비동기적인 동작을 많이

"관계형 데이터베이스 모델 시스템"테이블, 행(row), 열(column)로 표 방식으로 정보를 구조화한 데이터베이스 모델 시스템입니다.기본적으로 모든 테이블에는 "기본 키(Primary key)"라는 속성이 있고각 행은 "기본 키"에 대한 참조인 "외래 키(forei
아이템 시뮬레이터를 만드는 과제를 받았다. 기본적인 필수 구현 조건들은 모두 제공받았다. 어떻게 만들어야 할 지를 공부해 온 것들을 토대로 만들어야한다. 우선 엑셀표를 만들어 정리를 해보았다. 스키마 모델링 DB >Prisma를 사용해 스키마 내 모델 db를 어떤식
오늘은 DEFAULT, NOT NULL, Unique, Primary Key, Foreign Key 등 MySQL DB에서 사용하는 명령어에 대해 사용하면서 이해한 것들을 적으려고 합니다.DEFAULT는 기본값을 설정하는 것입니다.따로 값을 입력받지 않으면 기본값으로
쿠키 : 브라우저가 서버로부터 응답으로 Set-Cookie 헤더를 받은 경우 해당 데이터를 저장한 뒤 모든 요청에 포함하여 보낸다.쿠키는 사용자가 naver.com과 같은 웹 사이트를 방문할 때마다 이전에 방문했던 정보를 기억하는 데이터 파일이다.쿠키는 userId=u
우리가 서버에 접속하기 위해 나라는 사람을 증명해야하는 수단으로 사용하는 것이 인터넷에서는 ID와 PASSWORD다.공항에서 출입국절차를 밟을 때 필요한 여권처럼 우리를 증명해줄 수 있는 카드가 ID와 PASSWORD인 것이다.이 정보들은 누군가가 해킹해 사용할 수 있

많이도 걸렸다.개인과제 제출기한을 열흘이나 훌쩍 넘겨버린 시점에 겨우겨우 데드라인에 맞춰 제출을 끝내게 되었다.사실, 개념적인 부분도 많이 미흡했고 코드 사용이 너무 익혀지지가 않아서 머리박치기로 몇날 며칠을 같은 코드를 쳐보면서 이게 왜 이렇게 될까? 하는 고민만 많
MySQL로 작성된 DB에 있는 data들을 확인하거나 꺼내쓰기 위해서 사용하는 명령어들을 연습했다.ASAlias(별명)으로 대체할 때 사용한다.ex) SELECT \* FROM table1 AS t1(table1을 t1으로 부르며 t1 테이블의 모든 데이터를 찾는다.

HTTP : 요청에 의해 응답이 이뤄지는 단방향 프로토콜입니다. (요청이 없다면 연결 또한 있을 수 없다.)웹소켓 : 클라이언트- 서버 간 양방향 프로토콜입니다. (요청이 없어도 서버에서 클라이언트로 응답이 가능)우리가 웹을 사용할 때는 주로 HTTP를 사용하게 되지만
레벨 1짜리 문제인데 한 번 뿌셔봅시다.문제 링크 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges인자로 받아낼 number, limit, power를 어떻게 쓸 것인가 생각해봐야
정규화에는 몇가지 단계가 있다. 제 1 정규형 - 제 2 정규형 - 제 3 정규형 - BC 정규형 => 정규형은 줄여서 NF로 사용한다 (Normal Form 이라는 뜻) 예시를 위해 아래의 데이터테이블을 미리 만들고 정규화에 따라 나눠보려고 한다. 1NF 처음 정

스켈레톤코드(서버 + 클라이언트)가 주어진 프로젝트에서 여러 부분들을 만들어나가는 게 이번 과제의 주 목표였다.이번 과제의 필수 목표였던 것은 5가지를 구현했다.스테이지구분스테이지에 따른 점수 구분스테이지에 따른 아이템 생성(해금)아이템 획득 시 점수 획득아이템 별 점

제어 신호로 컴퓨터의 각 장치를 동작한다.논리 연산을 수행하는 디지털 회로=> 덧셈, 뺄셈, 비교 연산(& , | , ! ) 등처리할 명령어를 저장할 때 레지스터가 사용된다.메모리 주소 레지스터: (MAR) : 읽고 쓰기 위한 주기억장치의 주소를 저장한다.메모리 버퍼

CPU가 연산을 위한 계산기라면메모리는 저장소이자 연산처리장소이다.현재 CPU가 처리하고 있는 데이터를 저장하는 메모리.CPU에서 직접 접근이 가능한 메모리. '주기억장치 100번지의 내용을 레지스터 1번에 저장', '레지스터 1번의 내용을 주기억장치 100번에 덮어

팀단위로 웹소켓 연결을 이용한 간단한 타워디펜스 게임을 만들었다.데이터 처리(연산이나 검증)에 대해 클라이언트에서 조금 처리를 할 지아니면 서버에서 모든 것을 처리할 지 팀원들과 고민했다.백엔드 중심으로 만들 거라면 그래도 서버에서 연산과 검증을 끝내고 클라이언트에서는
우리가 어떤 의도를 갖고 무언가를 만들어낼 때만드는 과정을 알고 해당 과정이 왜 이뤄져야하는 지 알고 있다면그것을 만들기 위해 협업할 때 서로가 맡은 일을 이해하기 쉽고 함께 해나가야 할 때 작업능률이 올라가고 일의 강도 또한 수월해진다.또한 어떤 일에서라도 규격화 /
CPU에 가까울 수록 빠르지만 용량이 적다레지스터 (가장 빠른 저장장치)\--(캐시메모리)--메모리보조기억장치RAM읽기 쓰기 가능한 휘발성 메모리ROM HDD, SSD, CD-ROM, USB읽기 전용 메모리 (전원이 꺼져도 유지됨)CPU레지스터의 '논리' 주소를 이해하
우리가 온라인 게임을 플레이할 때 우리가 '게임 서버'로 접속해서 해당 서버로부터 데이터를 주고받으며 서버가 아닌 상대방(Client)과 게임을 하게 된다.게임을 플레이하는 유저들이 말하는 이 '서버'라는 것이 사실은 데디케이티드 서버이다.우리가 P2P 게임을 할 때,

삼각함수 직각삼각형 환경의 특정한 점을 기준으로 해당 점을 만드는 이웃하는 두 변 사이의 각(θ)을 통해 삼각비를 구하는 함수이다. sinθ : 해당 점으로부터 (마주보는 변/빗변) cosθ : 해당 점으로부터 (이웃하는 변/빗변) tanθ : sin/cos 모든

TCP 통신에서 버퍼(Buffer)는 데이터를 일시적으로 저장하는 메모리 공간을 말한다.클라이언트와 서버 간 데이터를 주고받을 때, 송신 측과 수신 측에서 각각 버퍼를 사용하여 데이터를 처리한다.송신 버퍼 : 송신 측에서 데이터를 네트워크로 보내기 전에 잠시 저장하는
실행 중인 프로그램의 인스턴스컴퓨터 시스템에서 프로그램이 실행되면 운영체제는 해당 프로그램에 메모리와 시스템 자원을 할당하여 프로세스를 생성한다. 이 때 생성된 프로세스는 자체의 메모리 공간을 가지며 각자의 프로세스가 독립된 실행 환경을 갖는다.특징각 프로세스는 고유한

github 홈페이지에서 이미 저장되어있는 파일이나 폴더들을 다른 폴더로 경로를 수정하고 싶다면 굉장히 번거로운 작업이 된다.예를 들자면, Repositoryalgo / programmers / Level 1 / 111. 어떤 알고리즘이런 식으로 되어있는 어떤 폴더가
간단 예시keyof유니온 타입(키가 string형태가 됨)으로 받을 수 있게 만든다.Partial 옵셔널 타입으로 받을 수 있게 만든다.Required모두 필수 타입으로 만든다. (옵셔널 파라미터또한)Readonly읽기 전용 타입으로 만든다.(==const / 수정불가
Redis (인메모리 데이터베이스)Redis는 빠른 읽기/쓰기 성능이 필요한 경우에 유리하다. 자주 변경되거나 실시간으로 액세스해야 하는 데이터를 저장하는 데 사용하자.▶ 실시간으로 자주 업데이트되어야 하는 것게임 세션에 입장하는 유저의 데이터유저 세션 정보: 현재 게

우선, 이번 글에서는 docker에 대한 이야기는 없다.docker를 왜 써야할 지에 대해서 느낀 경험을 적어본다.AWS EC2 서버를 ubuntu기반으로 만들어서 배포용 서버를 만들려고 했다.서버를 깃허브에서 가져와 빌드하는 과정에서 node, typescript버전
C에 대해서 공부하는 것을 비공개로 정리 중이었는데 블로그의 글들이 공개글이 없어서 갱신되지 않는 것 같아 TIL에 남기기로 했다.이 글은 오늘의 C 공부 내용에 대해 정리하기로 한다.참조 : 해당 값을 갖는 주소를 대입한다.역참조 : 해당 주소에 있는 값을 대입한다.