전체 글

전체 글

    [회고] 나의 블로그에 대한 회고

    처음 코드스테이츠 부트캠프에서 블로그에 대한 강조를 많이 했다. 그리고 여러 유튜브 역시 개발자가 꿈인 사람에게 블로그의 중요성에 대해 설명한 영상 역시 많다. 하지만 나는 블로그의 순위를 굉장히 낮게 평가했던 모양인지 항상 뒷전이였다. '공부하고 나중에 정리하지 뭐', '블로그 작성 방법을 모르니 찾아보고 하지 뭐' 등등 괜한 사유를 만들어서 더 뒤로 미뤘고, 그리고 현재 블로그의 상태는 썩 좋지 않다. 최근 이력서를 작성하면서 비전공자인 나에겐 사실 보여줄 수 있는게 굉장히 없다는 걸 깨달았다. 어느 회사든 나라는 사람을 평가하고싶은데, 제출하는 이력서는 텅 비어있는 느낌뿐이고, Github나 블로그를 봐도 큰 메리트 없는 사람을 나라도 안 뽑고 싶을 것이다. 물론, 블로그를 열심히 작성한다고 모두가..

    [프로그래머스] 로또의 최고 순위와 최저 순위

    문제 설명 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호가 일치 3 4개 번호가 일치 4 3개 번호가 일치 5 2개 번호가 일치 6(낙첨) 그 외 로또를 구매한 민우는 당첨 번호 발표일을 학수고대하고 있었습니다. 하지만, 민우의 동생이 로또에 낙서를 하여, 일부 번호를 알아볼 수 없게 되었습니다. 당첨 번호 발표 후, 민우는 자신이 구매했던 로또로 당첨이 가능했던 최고 순위와 최저 순위를 알아보고 싶어 졌습니다. 알아볼 수 없는 번호를 0으로 표기하기로 하고, 민우가 구매한 로또 번호 6개가 44, 1, 0, 0, 31, 25라고 가정해보겠습니다..

    [JavaScript] Deep Dive 모던자바스크립트 1~2장

    [JavaScript] Deep Dive 모던자바스크립트 1~2장

    영풍문고 방문한 김에 부트캠프에서 추천해줬었던 책이 생각이나 읽다가 구매까지하게 되었다. 구매해서 읽다보니 나름 재미있다는 생각이 들었고 오늘부터 매일 읽으면서 TIL을 작성해야겠다 생각했다. 나를 위한 공부라 아마도 다른사람이 보기에 굉장히 불친절 할 것이라 예상이 된다. 그럼 각설하고 시작하겠다. 01장. 프로그래밍 1.1 프로그래밍이란? 컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션이다. 0과 1밖에 알지 못하는 기계가 실행할 수 있을 정도로 정확하고 상세하게 요구사항을 설명하는 작업이며, 그 결과물이 바로 코드다. 문제 해결 방안을 고려할 때 컴퓨터의 입장에서 문제를 봐야하는데, 이때 필요한 것이 컴퓨팅 사고(Computational thinking)이다. 컴퓨팅 사고의 예시로, 이처럼 "걷다" ..

    [개인프로젝트] WebSocket 실시간 채팅창 구현

    [개인프로젝트] WebSocket 실시간 채팅창 구현

    만들게 된 계기? 프로젝트 진행하면서 실시간 알람을 구현하려했으나, 실패했었다. 실패의 원인을 분석하기 위해 WebSocket에 대해 공부를 하면서 실시간 채팅창을 만들어봤다. HTTP? 웹소켓을 이해하기 위해 http를 먼저 이해해야한다. 인터넷 데이터 교환(업로드, 다운로드, 이미지, 문서 등등)을 http덕분에 소통할 수 있는 것 이다. 1.브라우저는 서버에게 http request(요청)을 보낸다. 2.브라우저의 요청을 확인한 서버는 http response를 돌려 보내준다. 위와 같은 과정이 끝나게되면 브라우저-서버간의 통신은 끝나게 된다. 이러한 특징을 단방향 통신이라한다. 여기서 핵심은 서버가 브라우저에게 데이터를 보낼 수 있는건, 브라우저가 요청을 했을 때 뿐이다. 무조건 1번의 과정이 있..

    [Error] 서버 실행 시 발생하는 에러

    어떤 에러인가요? 서버 실행 후 종료하지 않고 vscode를 껐다가 다시 켜서 서버를 실행하였을 때 발생한 오류 에러 메세지 node:events:368 throw er; // Unhandled 'error' event ^ Error: listen EADDRINUSE: address already in use :::4000 at Server.setupListenHandle [as _listen2] (node:net:1334:16) at listenInCluster (node:net:1382:12) at Server.listen (node:net:1469:7) at Function.listen (/Users/sangkan/Project/Final Project/Dev/NoStanding/server/nod..

    [Error] sequelize-auto를 사용했을 때, initModels파일로 테이블들을 Join할 때 마주하는 오류

    어떤 에러인가요? initModels 파일을 이용하여 table join을 할 때, as 키워드를 알맞게 넣지 않았을 때 발생하는 오류입니다. 에러 메세지 Shop is associated to User using an alias. You must use the 'as' keyword to specify the alias within your include statement. Shop은 가명을 사용하여 User와 연결된다. 포함 문에 별칭을 지정하려면 'as' 키워드를 사용해야 합니다. User is associated to Shop using an alias. You've included an alias (Users), but it does not match the alias(es) defined in..

    [Error] sequelize-auto를 사용 했을 때, associate 지정을 따로 해주지않고 사용하는 법

    어떤 에러인가요? 테이블간의 관계설정을 해줬을 때, sequelize-auto는 migrate를 하는 방법과 달리 models에 init-models가 생성되는데 이 파일 안에는 associate가 따로 지정이 되있지않아서 발생하는 오류 에러 메세지 [sequelizeeagerloadingerror]: shop is not associated to user! 에러 핸들링 방법 const { sequelize } = require('../../models'); const initModels = require('../../models/init-models'); const Models = initModels(sequelize); 위와 같은 코드를 상단에 넣어주고, Models.테이블명 으로 테이블을 불러내면 ..

    [Error]Access to XMLHttpRequest at '주소A' from origin '주소B' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

    [Error]Access to XMLHttpRequest at '주소A' from origin '주소B' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

    어떤 에러인가요? axios로 서버에 응답을 요청했을 때 CORS 오류 에러 메세지 Access to XMLHttpRequest at '주소A' from origin '주소B' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. 에러 핸들링 방법 CORS 설정에서 origin의 경로를 정확하게 기입한다. (https와 http를 제대로 기입하여 해결함.)