내가 게임서버(Node) 트랙에 참여한 계기는 무엇인가요?어릴적부터 게임 개발에 흥미가 많았습니다. 게임학과를 전공하면서 프로그래밍을 배우고 개발자가 하고 싶었지만 독학에 어려움을 느껴 포기하게 되었습니다. 이후 QA 직군으로 일을 하면서 이직을 준비하는 도중 지금이
게임 서버와 클라이언트의 개념과 역할에 대해 설명하는 페이지이다.클라이언트: 게임을 플레이하는 컴퓨터 서버: 클라이언트들이 참가할 수 있는 네트워크 공간을 마련해주는 컴퓨터, 호스트(Host)과거에는 인터넷 연결이 안되는 컴퓨터가 많고, 속도가 느려 대부분의 패키지 게
훌륭한 개발자는 무엇인가?훌륭한 개발자가 되기 위해선 어떻게 해야할까?아직 개발자가 되진 않았지만 지금부터 어떻게 하면 좋은 개발자로 거듭될 수 있을지 미리 생각하고 고민해보는 시간을 가지고 싶었다.일단, 실무적인 스킬에 대해서는 지금 내가 전문가는 아니기 때문에 마음
최종 등록이 늦어 오늘부터 SQL 강좌를 듣게 되었다.DBeaver 로 수업을 진행하게 되며 설치를 마쳤다.데이터베이스는 서버를 만들어 공유할 수 있고, URL과 Password를 알고 있다면 공유받을 수 있다.스파르타코딩클럽에서 미리 만든 데이터베이스 폴더를 가져와
오늘은 주니어 개발자를 위한 엄청 쉬운 네트워크 이야기에 대해 알아보았다. 개발자는 꼭 네트워크를 알아야 할까? 이전 직장에서 회사 인프라를 관리하는 팀과 제품의 서버를 관리하는 팀이 나누어져 있었다. 제품의 서버가 관리하는곳은 회사내부에 있으니 회사 네트워크 안에
웹이 무엇이고 어떻게 작동하는지와 HTML과 CSS의 기본을 배우고 부트스트랩을 통해 웹 개발의 기초를 배우는 시간이었다.웹 페이지: 서버에서 준 데이터를 받아 브라우저에서 우리가 볼 수 있도록 그려주는 역할을 수행. 즉, 브라우저는 요청을 하고 응답한 것을 그려준다.
https://velog.io/@medi145/SQL-1%EC%9D%BC%EC%B0%A8 에 이어서 SQL 강의 1주차 마무리까지 정리한 글입니다.검색할 때 특정 조건을 필터링할 때 쓰인다.ex) 한국 음식인 경우, 나이가 19살인 경우 등...WHERE 을
1. 자바스크립트 자바스크립트(javascript)는 만들어진 프로그래밍 언어. 📝 생동감은 어떻게 불어넣을 수 있을까? 자바스크립트로 작성한 프로그램을 스크립트라고 한다. 스크립트는 웹페이지의 HTML 안에 작성할 수 있으며 웹페이지를 불러올 때 자동으로 실
Node.js에 대해서 알아보고 게임 개발에서 어떻게 사용되는지 어떤 게임에 적합한지 알아보았다. > ### 1. Node.js 는 무엇인가? Node.js는 이벤트 기반 JavaScript 이다. 노드는 구글의 V8 JavaScript 엔진 + 에 기반하여 싱
개발 용어를 간단하게 설명하여 정리한 페이지이다.HTML : 웹 브라우저의 기본 구조(뼈대)이다. 레이아웃의 크기나 오브젝트의 위치를 조절한다. CSS : 웹 브라우저에서 보이는 것들을 꾸며준다. 버튼이나 글꼴 등 오브젝트의 색상이나 크기, 정렬 등을 제어한다.Back
SQL 1주차 에 이어서 SQL 2주차 마무리까지 정리한 글이다.엑셀에서 기본적으로 사용하는 SUM(), AVERAGE(), COUNT(), MIN(), MAX() 함수를 SQL Query로 사용하는 법에 대해 공부했다.기본적으로 우리가 사용하는 +, -, /, \*
[왕초보] 웹개발 종합반 2주차 정리 웹개발 1주차 에 이어서 웹개발 2주차 마무리까지 정리한 글이다. > ### 1. Javascript 알아보기 🤔 자바스크립트란? 브라우저가 알아들을 수 있는 프로그래밍 언어! 정적인 웹 브라우저를 움직이게 하고 사용자와 상
웹 클라이언트와 웹 서버가 어떻게 작동할까?Node.js와 게임 개발 에서 예시로 들었던 햄버거 가게를 이어서 설명해보고 싶다.손님은 햄버거를 주문하기 위해 카운터로 가서 주문을 한다.카운터는 손님의 주문을 받고 주방에 작업을 알린다. 주방에서는 주문을 보고 재료들이
배열과 리스트가 어떤 차이가 있는지 알아보자.배열은 \`연관된 데이터를 모아서 관리하기 위한 데이터 타입' 이다.이렇게 변수는 하나의 데이터, 배열은 여러 개의 데이터가 담겨 있다.그러면 배열은 어떤 특징을 가지고 있을까?정적 자료구조배열의 크기를 선언할 떄 미리 정해
3주차에서 배운 내용 정리<script> 태그 안에 function 선언 및 기능 작성예시)그리고 원하는 곳에 해당 함수를 호출하면 된다.3주차에서는 호출하는 2가지 방법을 봤다.입력을 통해 함수 호출: 만약 <script> 태그에 openclose() 라
SQL 2주차에 이어서 SQL 3주차 마무리까지 정리한 글이다.이번 주차는 문자를 가공하여 조회하고 여러 조건식이 주어질 때 적용할 수 있는 방법에 대해 알게 되었다.업무에 필요한 문자 포맷이 기존과 다른경우 사용할 수 있었다.예를 들어, 1\. 주소가 달라져서 바뀐
[엑셀보다 쉽고 빠른 SQL] 5주차 정리 SQL 4주차 에 이어서 SQL 5주차 마무리까지 정리한 글이다. 이번 주차는 저번 주차에서 배웠던 서브쿼리, 조인을 활용해서 엑셀에서 자주 사용하던 Pivot Table을 SQL에서 만드는 법과 Window Function
웹개발 3주차 에 이어서 4주차를 정리하기 전에 5주차까지 마무리해서 한 번에 정리했다.파이어베이스는 구글(Google)이 개발한 모바일 및 웹 애플리케이션 개발 플랫폼이다.웹 서버를 대신해서 만들어준다.서버 개발 없이 제작이 가능하다.다만, 서버를 제어하고 추가적인
Chorme Devtools 에 있는 Console 창에서 강아지를 그려보는 실습을 해보았다.그림 예시)최종 출력 예시)구현하기 위해서는 출력에서 사용할 수 있는 여러 함수를 활용해야 한다.Console.logConsole.infoConsole.warnConsole.e
\[youtube] - Javascript 무료 풀강의 영상을 참고하여 자바스크립트 기본 문법을 공부하였다.반복문에는 for, while문이 있는데 새로 확실하게 알게된 내용은1\. for ... in: 딕셔너리 혹은 리스트 안에 담긴 index를 알고싶을 때 사용하는
자바스크립트로 숫자 기억 게임을 만들어 보는 실습을 진행하였다.그림 예제)시작 버튼을 누르면 1000~9999 숫자가 무작위로 나타남.3초 뒤 숫자가 다시 사라짐.사용자는 입력칸에 숫자를 입력하여 제출 버튼을 통해 정답 유무 확인정답인 경우 '정답입니다!' 노출오답인
SQL 코딩 테스트를 진행하다가 정답이 맞는데 도저히 맞지 않아서 10분을 헤맸던 것 같다.진행 문제: 고양이와 개는 몇 마리 있을까위 코드로 진행을 했는데 정답 예시와 동일한데도 오답이 나왔다..뭐지? 해서 계속 보다가Cat 혹은 Dog 가 오타가 있나? 해서 lik
숫자 기억 게임 실습 - 01 에 이어서 몇가지 로직을 추가한 내용이다.(01 편에서 작성한 내용)1 숫자 기억 게임 기록을 저장1-1. 제출한 경우 정답, 오답 확인하여 저장1-2. 제출하지 않은 경우 오답으로 저장1-3. 저장된 기록을 보여주는 로직 구현2 시작을
: 입양 시각 구하기: 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다.09:00 ~ 19:59
파이썬은 회사에서 일하다가 배우기 시작했다.QA 직군으로 일을 했었는데 자동화가 점점 필요해졌고, 스크래핑 및 문서 정리에 파이썬이 자주 사용된다는 얘기를 들었기 때문이다.당시 팀에 프로그래밍 경험이 있던 사람이 많지 않았고, 약간의 테스트를 진행한 끝에 자동화 담당을
메뉴를 렌더링하는 실습을 해보았다.배열과 배열 메서드를 사용주어진 데이터 확인배열 메서드로 데이터를 화면에 표시합니다.(선택 사항) CSS로 간단한 스타일을 적용합니다.(선택 사항) 객체의 속성을 추가 해봅니다.(e.g. 가격, 카테고리 등)(선택 사항) filter를
: 오랜 기간 보호한 동물(1): 아직 입양을 못 간 동물 중, 가장 오래 보호소에 있었던 동물 3마리의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일 순으로 조회해야 합니다.2개의 테이블을 다뤄야 하고 입양을 못간 동물까지 조회해야
Array Functions > ## 1. 삽입, 삭제, 반환 예제 배열 선언 및 정의 let fruits = ['사과', '배', '오렌지', '수박', '포도']; 1. 배열에 새로운 데이터 삽입 push() : Array 맨 뒷줄에 데이터를 삽입한다. 사용
: 문자열 내림차순으로 배치하기: 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.문자열의 각 문자를 배열에 담기
할 일 목록을 만드는 실습을 진행하였다.할 일을 추가 할 수 있는 투두 리스트를 만듭니다.HTML로 기본 구조를 만듭니다.자바스크립트로 할 일 추가 기능을 구현합니다.입력 필드와 “추가” 버튼을 통해 새로운 할 일을 추가합니다.(선택 사항) CSS로 간단한 스타일을 적
: 조건에 맞는 도서와 저자 리스트 출력하기: '경제' 카테고리에 속하는 도서들의 도서 ID(BOOK_ID), 저자명(AUTHOR_NAME), 출판일(PUBLISHED_DATE) 리스트를 출력하는 SQL문을 작성해주세요.결과는 출판일을 기준으로 오름차순 정렬해주세요.B
: 성분으로 구분한 아이스크림 총 주문량: 상반기 동안 각 아이스크림 성분 타입과 성분 타입에 대한 아이스크림의 총주문량을 총주문량이 작은 순서대로 조회하는 SQL 문을 작성해주세요. 이때 총주문량을 나타내는 컬럼명은 TOTAL_ORDER로 지정해주세요.상반기 주문 정
값에 의한 복사, 참조에 의한 복사는 어떤 언어든간에 명확하게 알고 넘어가야 할 만큼 중요한 내용이다.copy by value - 값에 의한 전달로 복사copy by reference - 참조에 의한 전달로 복사기본적으로 복사를 하게될 때,1\. 모든 primitive
자바스크립트에서 오브젝트는 객체를 의미한다.JS에서 가장 중요하고 많이 사용되는 데이터 타입이다.객체 선언 및 정의는 아래와 같다.각 문자열, 숫자, 함수 를 선언하고 정의했다.this 키워드는 현재 객체의 프로퍼티를 호출하기 위해 사용된다.추가로, 변수로 정의하는 방
처음 만난 팀원들과 간단한 자기소개와 함께 팀 소개 웹페이지를 제작하는 프로젝트에 직면했다. 1일차는 구현하기 전, 기획 및 설계를 진행했다. 왼쪽에 고정된 카테고리 바와, 각 메뉴들을 모든 레이아웃에 배치한다. 카테고리 바 우측에는 선택된 메뉴의 html 정보를
join 페이지 와이어프레임대로 구현 및 이미지 업로드 로직 구현Firebase 프로젝트 생성 및 Firestore DB를 구축하고 멤버 등록하는 로직을 구현GitHub에 팀 프로젝트용 레포지터리 생성 및 브랜치 구축 이미지는 <input type="file" i
기존 기획 내용대로 사이드바 카테고리를 선택하면 우측화면에 html 정보가 변경이되도록 하고싶었다.html 자체를 변경하는 일이라면 <a href="...html"></a>를 통해 로컬에 있는 해당 파일을 불러오면 된다.하지만 html 안에서 html을 불러
각자 담당한 구역 코드 리뷰 회의를 자주 진행하였고, 그 과정에서 효율적인 코딩과 다양한 접근 방식을 제시할 수 있어서 팀원들과 협업을 중시했다. 담당한 구역은 각자 달랐지만 스크립트를 통일화하고 스타일을 같이 맞추려고 했다.처음 만난 팀원들과 급하게 기획에 대한 회의
이번 프로젝트는 급하게 출발한 느낌이 있고 첫 프로젝트이다 보니 팀원들과 초면이어서 어색했던 부분이 있었다. 잘 해결해나갈 수 있을지 걱정도 되었지만 금방 친해질 수 있었고, 다 같이 적극적으로 회의를 거쳐 프로젝트를 완성도 높게 완수할 수 있었다는게 가장 뿌듯했다.
이번 주차는 JS 문법을 배운다.새로 알게된 내용을 조금 정리해보고 싶다.오브젝트 복사이라는 person 객체가 하나 선언 및 할당되어 있다.하면 Object를 복사할 수 있다.ES6 는 2015년에 자바스크립트에서 새롭게 발표한 문법과 기능의 버전이다.아래는 해당 문
Copy by Value & Copy by Reference 글에 primitive 변수와 object 변수에 대한 복사에 대해 다루었었는데 추가적으로 오늘 복습하면서 새롭게 알게된 부분을 추가 정리하였다.Shallow Copy(얕은 복사) 와 Deep Copy(깊은
다른 코드의 인자(매개변수)로 전달하는 함수들은 모두 콜백함수라고 한다.그리고, 콜백 함수를 사용하다 보면 콜백 지옥이라는 것을 볼 수 있으며,콜백 지옥에서 벗어나기 위한 동기 비동기 처리를 자연스레 배울 수 있다.ex) 콜백 지옥 예시그리고 콜백 함수는 호출 시점과
저번주에 제출했었던 숙제코드를 다시 확인해보다가 async / await 을 제대로 활용하지 못한 것 같아서 다시 둘러보았다.일단,이렇게 HttpError를 잡은 경우 어떤 Error인지 확인하기 위한 클래스 선언과 외부 API의 Json을 불러오는 기능을 Promis
클래스는 객체를 생성하기 위한 설계도이다.인스턴스는 클래스를 실체화한 객체이다.이렇게 하면 person이라는 Person 클래스의 인스턴스가 하나 생성되었다.클래스를 선언하고 각종 프로퍼티를 정의하는데 해당 프로퍼티에 접근하여 조작하는 방법 중 하나이다.직접 접근을 해
SQL > ### 1.
총 학생 수에 lost의 길이만큼 빼주어 사용할 체육복이 있는 학생들만 추렸다.answer += n-lost.length;여벌의 체육복이 있는 학생이 도난당했을 경우를 대비하여 lost와 reserve가 같은 번호인 경우 각 배열에서 삭제해주었다.남은 lost와 res
: 두 자연수 a와 b가 주어질 때, 이 둘의 최대공약수를 구하는 함수를 작성하세요.최대 공약수는 서로 나누어떨어지는 수를 구하고, 나누어 떨어지지 않을때까지 반복하면 된다.하지만 반복을 언제까지 하느냐? 이 부분을 처리하는 것이 관건이었다.약수를 구할 때, 자연수 x
JavaScript 강의를 듣고 Text 형식의 게임을 만들어 보는 프로젝트를 가졌다.기본적으로 제공된 리소스에서 주어진 필수+도전 과제가 있고, 추가로 기능을 넣어도 되었다.이름은 던전밥이 생각나서 DungeonLife 라는 이름으로 대충 작명했다.예전부터 턴제형식의
오늘 진행 현황에 대해 기록할 예정이다.할건 많은데 진행속도가 느려서 큰일이다...스테이지가 진입하기 전 몬스터 인스턴스를 생성하게 되는데 이 시점에서 랜덤으로 여러 몬스터 중 하나가 생성 되도록 하였다.몬스터의 종류는 Monster Class의 monsterTypes
클라이언트는 사용자가 직접 서비스를 요청할 수 있게 제공된 웹, 앱 등을 의미한다.웹이나 앱이 아니어도 식당에서 예를 들면 클라이언트는 메뉴판, 서비스는 주문할 메뉴같은 것이다.클라이언트는 서버에서 응답(제공)받은 서비스를 사용할 수 있다.서버는 네트워크를 통해 클라이
사전 정의: 컴퓨터 통신 분야에서 다양한 표준에 대한 국제적인 표준 정의를 위한 골격일상으로 예를 들어서만약 선생님이 동물에 대해 조사해온 것을 가져오라고 숙제를 내주었다고 가정해봅니다.각 학생들은 저마다 조사를 해서 숙제를 제출했고, 선생님은 숙제에 평가를 하기 위해
OSI 7 계층 모델 에서 OSI 7 계층 모델에 대한 개념과 각 계층의 간단한 개념에 대해서 알아보았습니다.그리고, 물리 계층의 경우 OSI 7 계층 모델에서 최하위인 1 계층인 것을 알 수 있었습니다.이번에는 물리 계층에 대해서 자세히 다루어볼 예정이며 주요 기능에
데이터 링크의 계층은 OSI 7계층 모델에서 2계층에 해당하며 1계층에서 변환된 비트신호를 전달하는 역할 중 여러 기능을 제공합니다.데이터 링크는 인접한 노드, 통신기기 간에 개설된 통로 혹은 연결로 혹은 통신채널이라고도 합니다.우리가 전달하고자 하는 데이터의 규칙(프
Node.js 입문 강의를 들으며 배운 것과 소감을 정리한 글1주차에서 개념과 작동원리를 이해하기 위해 이론적인 부분이 많았다.이론수업에 취약하지만 꾹꾹참으며 다 듣고 실습을 들어갔는데 어떤 방식으로 통신을 하게 되는지 이해가 잘 되었고, 코드에 대한 이해가 더 잘 되
Node.js는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임이다.브라우저 없이 Javascript를 실행할 수 있도록 도와주는 환경이며 이는 V8엔진과 libuv 라는 것을 통해 가능하다.V8, 논 블로킹 비동기I/O, 이벤트루프,
OSI 계층 모델에서 제 3계층인 네트워크 계층은 데이터 링크 계층에서 받은 목적지 주소에 따른 적절한 라우팅 기능을 수행하며 다양한 역할을 제공합니다.또한, 주로 인터넷에서 네트워크 간을 연결하는 역할을 하며 이는 패킷을 통해 가능합니다.데이터 링크를 통해 전달받은
item-simulator는 Node.js 기반 express.js를 사용하여 REST API로 만들어진 아이템 시뮬레이션이다.이번 포스트에서는 item-simulator 를 제작하면서 겪었던 스키마 작업과 API 비즈니스 로직의 관계에 대해 다루려고 한다.이번에 진행
Express.js 기반으로 item simulator를 개인 프로젝트로 제작해보았는데 이어서 금일부터는 팀 프로젝트로 온라인! 풋살 매니저를 구현해보는 것을 시작하였다.기본적으로 필수기능과 도전기능이 몇개 있는데 대부분은 item simulator에서 이미 구현해보았
Futsal Manager - 01 에 이어서 진행한 내용을 정리하며 웹 브라우저에서 서버와 통신하고 API를 호출하여 브라우저에 보여주는(렌더링) 방법에 대해 공부하고 그 과정에서 있었던 문제들에 대해 다루어 보려고 한다.서버 작업도 바쁜데 클라이언트 작업은 왜 하는