Hacker on Campus

  • 일시: 1주차 [2019.10.08.화]
  • 장소: 성신여대
  • 인원: 6명

0. 스터디 이름을 정해보자!

우리 학교에는 성신스터디라는 제도가 있다.
이 제도를 통해 많은 학생들이 본인이 원하는 스터디에 들어가서 한 학기 동안 스터디원들과 함께 활동을 하게 된다. 또한, 성신스터디를 하게 되면 스터디의 이름을 정해야하는 규칙이 있다. 내가 스터디장으로서 참여하게 된 프로그래밍 스터디는 성신스터디는 아니었지만, 우리도 모임의 이름을 정하면 좋을 것 같아 단톡으로 다른 분들께 의견을 여쭤보았고 모두 찬성하셔서 스터디의 이름을 정하게 됐다.

후보로 나온 건

  1. 저스트코드(내가 좋아하는 문구인 "Just Do It." 에서 변형시킨 이름이다)
  2. 웹웹(우리가 웹 개발을 하게 될거니까 웹웹은 어떻냐며 스터디원 한 분이 아이디어로 내주신 이름이다^^ )

InkedKakaoTalk_20191009_194134554_LI.jpg

이 두 가지였는데 돌림판을 돌려서 스터디 이름으로 "저스트코드"가 선정되었다.
스터디의 이름까지 정하고 나니, 스터디장으로서 모임을 정말 잘 이끌어보고 싶다는 생각이 더욱 커지는 기분이다!

1. 첫 워크샵 전 자기소개

드디어 오늘, 저녁 6시부터 7시 반까지 첫 워크샵을 진행했다.
학교 커뮤니티를 통해 모집한 스터디 멤버들과 어색한 인사를 나눈 뒤^^, 일단 내가 준비한 PPT를 보여드리기 위해 빔 프로젝터에 노트북을 연결했는데 화면이 뜨지 않아서 엄청 당황했다. 다행히 스터디원분들이 이것 저것 함께 도와주신 덕분에 준비한 화면을 보여드릴 수 있었다. 휴...!

일단 본격적인 스터디를 진행하기에 앞서 먼저 자신의 전공, 이름, 프로그래밍을 얼마만큼 공부해왔는지, 어떻게 해서 이 스터디에 들어오게 됐는지에 대해 이야기를 나눠보았다. 스터디원 분들의 수준에 맞춰 스터디를 진행하기 위해서는 각자 프로그래밍에 대해 어느 정도 수준까지 아시는 지 내가 알고 있어야 스터디를 진행하는 데 도움이 될 것 같아서 이렇게 자기소개 하는 시간을 가졌다.
우리 스터디는 유아교육과인 나를 포함해 일문과, 컴퓨터공학과, 통계학과 이렇게 다양한 전공의 스터디원들이 함께하게 되었다. 자바스크립트는 아니지만 파이썬 등 프로그래밍을 어느 정도 접해보신 분도 있었고 프로그래밍이 아예 처음이신 분도 있었다. 스터디를 통해 처음 만나서 자신의 이야기를 하는 분위기가 쑥스럽게 느껴질 수 있음에도 불구하고, 모두들 잘 해보고 싶다는 열정 가득한 눈빛으로 자기소개를 해주셔서 정말 감사했다 :)

2. 자바스크립트 기본, 변수와 타입, 비교, 조건문, 함수

자기소개를 마친 후, 본격적인 스터디를 진행하였다.
스터디는 내가 이번 주차에 배울 내용의 핵심부분을 설명한 뒤, 실습과 질의응답을 함께 하는 식으로 진행되었다. 처음에는 긴장이 되어서 버벅거리면서 설명을 드렸지만, 스터디원분들이 반응을 잘해주신 덕분에 점점 긴장을 풀고 수업에 집중할 수 있었다. 자바스크립트 기본부터 함수까지 기본적인 사항에 대해서만 설명을 하려고 했는데도 역시 양이 많다보니까 시간이 훌쩍 가있었다. 그래도 첫주차다 보니까 내용이 크게 어렵지 않은 수준이라서 스터디원분들도 잘 따라오시는 것 같았다.

3. 질의응답

스터디원분들께서 하셨던 여러 질문 중에 프리 코스를 통해 배운 적은 있지만 명확하게 설명이 안되는 부분이 있었는데, 그건 바로 let과 var의 차이에 대한 질문이었다.

let과 var의 차이는?

  • var는 function scope
  • let은 block scope
function greetSomeone(name) {
  var time = 'night';
  if(time === 'night') {
    var greeting = 'Good Night';
  }
  return greeting + ' ' + name;
}

greetSomeone('alice');

var 키워드로 변수를 만들고, 위 함수를 실행시켜보자.

1.PNG

이처럼 함수가 잘 작동되는 것을 볼 수 있다.

하지만 let 키워드로 변수를 만들고 함수를 실행시켜보면,

function greetSomeone(name) {
  let time = 'night';
  if(time === 'night') {
    let greeting = 'Good Night';
  }
  return greeting + ' ' + name;
}

greetSomeone('alice');

2.PNG

이와 같이 greeting이라는 변수가 정의되지 않았다고 알려준다.
즉, let 키워드는 block scope이기 때문에 block 바깥에서 해당 키워드로 선언한 변수를 불러오려고 하면 에러를 발생시킨다.

이렇게 다시 한번 정리하고 나니까, var 키워드와 let 키워드의 차이점을 오랫동안 기억할 수 있을 것 같다. 또한 2주차 모임 때 이 부분에 대해 다시 한번 정확하게 설명을 드려야겠다.

4. 마무리

워크샵이 시작되기 전에는 조금 걱정이 되기도 했는데 막상 스터디원분들을 만나 수업을 하고 나니 뿌듯한 마음이 더 컸다. 첫주차에는 나 혼자 핵심사항에 대한 모든 설명을 하는 식으로 수업을 진행했지만, 2주차부터는 스터디원분들도 본인들이 이해한 바를 설명하는 식으로 스터디에 더욱 적극적으로 임할 수 있도록 진행방식을 약간 바꿔봐야겠다 :)
아무쪼록 앞으로 남은 7번의 만남 동안 '저스트코드' 스터디원분들이 더욱 많은 것들을 배워갈 수 있으셨으면 좋겠다.

저스트코드 파이팅!