게임 서버(Node.js) 트랙에 합류하게 될 여러분 반갑습니다!
개강 후 여러분과 함께하게 될 강창민 튜터 입니다.
본 과정 개강 전, 미리 알고 오면 좋을 만한 지식과 학습방법에 대해 전달해드리는 알찬 시간이 되면 좋겠습니다.
•
일시 : 7/19(금) 오후3시 ~ 6시
튜터 소개
6기 여러분들 안녕하세요! 저는 Node.js 튜터이자 내일배움캠프 대표 튜터인 강창민 튜터에요!
게임 서버를 만들고 싶은 분들이 많으실텐데 Node.js 트랙 참여를 신청하신 것은 매우 잘 하신 선택이에요! 해당 트랙엔 저를 포함해서 게임업계 경력이 풍부하신 여러 튜터님들이 계시니 이번 트랙을 통해 어엿한 주니어 게임 서버 개발자로 취업할 수 있도록 같이 찐하게 달려보도록 해요!
게임 서버? 서버가 뭔가요?
코드카타는 왜 해야하나요?
1.
자기주도적 학습 및 메타인지
2.
자바스크립트 문법 및 내장 Method 학습
코드카타 어떻게 공부 해야하나요?
1.
a.
코드 풀이
function solution(angle) {
// 예각 - 1, 직각 - 2, 둔각 - 3, 평각 - 4
let answer = 0;
//if (true) {
// 실행해줭
//}
//if (a && b) {
// a도 참이고 b도 참이여야 함
//}
//if (a || b) {
// a가 참이거나 b가 참이면 해줭
//}
if (0 < angle && angle < 90) {
answer = 1;
} else if (angle === 90) {
answer = 2;
} else if (90 < angle && angle < 180) {
answer = 3;
} else if (angle === 180) {
answer = 4;
}
return answer;
}
JavaScript
복사
2.
문자열을 정수로 바꾸기 school.programmers.co.kr
a.
코드 풀이
function solution(s) {
// s는 최초에 문자열: e.g. "-1234"
// 부호는 맨 앞에만 붙을 수 있는 친구야!
// 0으로 시작하지 않아!
let answer = 0;
let sign = 0;
let startIndex = 0; // 0(부호가 없는 경우. e.g. 54321) 혹은 1(부호가 있는 경우)
if (s[0] === '-') {
sign = -1;
startIndex = 1;
} else if (s[0] === '+') {
sign = 1;
startIndex = 1;
}
let j = 0;
for (let i = s.length - 1; i >= startIndex; i--) {
answer += s[i] * Math.pow(10, j);
j++;
}
// 0번째는 부호니까 부호 체크만 하면 됨 -> 이게 마이너스인가 이게 플러스인가
// "1" 1000
// "2" 200
// "3" 30
// "4"
return (sign < 0) ? sign * answer : answer;
}
JavaScript
복사
3.
(추가 문제)햄버거 만들기 school.programmers.co.kr
a.
코드 풀이
function solution(ingredient) {
// 상수... 햄버거 포장... 맛있음...
// [2, 1, 1, 2, 3, 1, 2, 3, 1] 야채, 빵, 야채, 고기, 빵
let answer = 0;
const pattern = [1, 2, 3, 1];
for (let i = 0; i <= ingredient.length - pattern.length; i++) {
let match = true;
for (let j = 0; j < pattern.length; j++) {
if (pattern[j] !== ingredient[i + j]) {
match = false;
break;
}
}
// 여기로 감
if (match) {
answer += 1;
ingredient.splice(i, pattern.length);
i -= pattern.length;
}
}
return answer;
}
JavaScript
복사
4.
(추가 문제)자릿수 더하기 school.programmers.co.kr
a.
코드 풀이
function solution(n)
{
// n은 자연수야~ 엄청 큰 자연수야~ 1억 이하의 자연수야~
let answer = 0;
const nStr = n.toString();
for (let i = 0; i < nStr.length; i++) {
answer += Number(nStr[i]);
}
return answer;
}
JavaScript
복사
사전질문(공통 답변-매니저 답변 예정)
•
본 캠프에서 강의가 어떻게 진행 되는지 궁금합니다. (매일매일 실시간 강의가 있는지 아니면 동영상 녹화본을 보고 학습을 하는지 등등)
•
프로젝트를 진행하는 절차에 대해서 궁금합니다. 예를 들어 설계 부분으로 어떤 것들을 할 것인지, 개발 파트를 어떻게 나눌 것인지 등등 입니다.
•
간략하게 JavaScript로 서버가 구현된 모습이 보고 싶습니다. 현재 Node.js로 서버가 구현될 것이라는 건 알겠으나 추상적이라 생각하고, JavaScript로 작성된 Node.js 서버를 보면 어느 정도 구체화 될 것 같아서 입니다.
•
본 캠프 과정에서 HTML과 CSS가 사용되는지 궁금합니다
◦
클라이언트-서버 구조를 이해하기 위해서는 웹 개발 기초 지식이 필수적입니다. 그러기에 사전캠프 기간 동안 웹개발 종합반을 학습하고 개강 1주차에 미니 프로젝트를 진행하면서 HTML과 CSS 를 사용하여 간단한 웹 페이지를 만들 예정입니다.
•
본 캠프에서 어떤 언어(SQL, JavaScript)등이 사용되는지
◦
빠르고 확장 가능한 서버를 구축하기 위해 Node.js(JavaScript)를 사용하여 서버를 구축할 예정입니다.
•
협업 도구로 어떤 것이 사용되는지