[항해 99] 2주차 WIL

박선우·2022년 5월 22일
0

WIL

목록 보기
2/33
post-thumbnail

TIL

항해99 2주차 Til 5.14 ~ 5.22

  • 이번 주차는 알고리즘 문제 풀이였다.
    중간에 두번 테스트를 진행하고, 낙제점이면 1:1 면담이 진행되는 상태다. 진짜 처음 시작할때는 어떻게 문제를 풀라고 하는지 막막하고 답답했다. 처음 문제 풀라고 했는데 2~3시간 동안 보았지만 도저히 어떻게 푸는지 모르겠어서 해설을 보며 공부하기 시작했다. 코드를 보는데 이게 무슨말??? 싶었다... 그이후도 거의 마찬가지 였다. 28번까지 계속 풀어보긴 했는데 거의 똑같았다. 그나마 나아졌다고 느꼇던건 이제는 코드를 보면 이해는 되고 문제를 어떤방식으로 접해야 하는지 감이 잡히기 시작했다. 처음보는 Method들도 많았고 다른 사람 풀이를 보면 엄청 간결하고, 팀원들을 보면 다들 잘 하셔서 그런지 더 주눅 들었다. 그리고 두번의 테스트, 화요일: 모의고사, 목요일: 테스트 모의고사 2시간을 주었는데 5분 남겨놓고 겨우 풀고 나왔다. 쫌 뿌듯했다. 목요일 테스트는 3시간을 주었는데 2시간안에 풀고 나왔다 이때는 뭐 나름 성공적이 라고 생각했다. ㅎㅅㅎ

2주차 Java Script 알고리즘

  • 항해 시작 2주차 달리기반,걷기반 선택후 팀원 배정을 받았다.
  • 우리는 3명이서 한조였다. 28번까지의 문제를 3명이서 나누어 일주일간 문제를 풀고, 푼 문제를 스터디 하는 방식으로 진행되었다.
  • 이번에도 어김없이 찾아온 멘붕... 아모것토 모르겠다...
  • 이번에도 팀원들의 도움을 받아가며 공부중..
  • js 의 대한 문법들 공부하였음!!

알고리즘을 하며 배운것들

  • 알고리즘을 알고있어야 오류가 났을때 잘 잡을수있다. (꼭 알고리즘을 잘알고 있어야 오류를 잘 잡는건 아니라고함!!)

  • 확실히 어떤 문제를 보면 어떤 목적? 제시하는 문제 파악 능력이 좋아지긴 했다. 내가 원하는 형태로 코드를 짤수 있어야 개발할때 엄청 수월하게 도움이 되겠군!! 이라고 생각했다.

  • 처음에는 모든것이 막막했지만, 결국 계속 풀어 나가고 코드를 이해하니 이제는 어느정도는 구글링하면서 이해하는 시간이 더 짧아 졌고, 문제들을 직관적으로 해석할 수 있게되었다.

2주차 후기

  • 아직도 코린이.. ㅋ자도 모르는 상태 하지만 조금씩 발전한것이 눈에 보임!!

  • 아직 갈길이 멀기만 하게 느껴졌던 한주....

  • 머리가 나쁜건지 이해를 못하겠는데도 어떻게든 엉덩이 붙이고 공부했음... 이게 맞나...??

  • 개발자는 항상 공부해야 하는 영역이란걸 다시 한번 깨닳게 됨

  • 아직 배울것이 많고 이제 개발이라는 세상을 보고 있을뿐...

  • 이제는 내가 개발하는 사람이 되려고 더 더욱 공부를 해야겠다는 생각을 하게되었음!!

3주차

  • 이제는 주특기node.js 배우는 주차

  • 역시나 너무 어렵다....

  • 그래도 이게 나의 첫 시작을 알리는 주차가 아닐까 싶다!!!

  • 요리로 따지면 요리를 보았다면 이 요리에 들어가는 재료들과 소스들을 공부하여 어떻게 적용할 것인가 공부하는 주차!!

  • 강의를 듣고있지만 아직 외계어같다..

JavaScript의 ES란?

ES -> ECMA Script

  • ES5,ES6은 버전 숫자를 붙여 ECMAScript를 줄여 쓰는 것이다.

  • 자바스크립트는 1990년대 Netscape 회사의 Brendan Eich 라는 사람에 의해 최초 개발되었습니다. 자바스크립트가 잘 되자, MS에서 Jscript라는 언어를 개발해 IE에 탑재하였는데, 이 두 스크립트가 너무 제가각이라, 표준이 필요하게 되었습니다.

  • 표준을 위해 자바스크립트를 ECMA(European Computer Manufactures Association)라는 정보와 통신시스템의 비영리 표준 기구에 제출하였고 표준에 대한 작업을 ECMA-262란 이름으로 1996년 11월에 시작해 1997년 6월에 채택되었습니다.

ES5/ES6 문법 차이

변수 선언

  • ES5 =>var만 있다. 재할당과 재선언에 굉장히 자유롭고 호이스팅 문제가 있다.

호이스팅이란
코드가 실행되기 전에 변수선언/함수선언이 해당 유효범위의 최상단으로 끌어 올려진 것과 같은 현상을 말한다.

  • ES6
    호이스팅 문제를 해결하기 위해 let, const가 추가 되었다.

  • let은 한번 선언된 변수의 이름과 동일한 이름으로 선언할 수 없다. 값은 재할당 할 수 있다.
    const는 재선언 재할당 모두 불가능하다.

화살표 함수

  • ES6부터 등장한 함수 선언법

ES5

var func = function(arg1, arg2) {console.log("ES5")}

ES6

let func = (arg1, arg2) => {console.log("ES6")}

템플릿 리터럴

  • ES6부터 등작한 백틱으로 문자열을 감싸 표현 가능

ES5

var name = "이름"
var age = 20
console.log("저의 이름은" + name + "이고, 나이는 " + age +"입니다.")

ES6

let name = "이름"
let age = 20
console.log(`저의 이름은 ${name}이고, 나이는 ${age}살 입니다.`)

Default parameter

ES5

var person = function(name) {
  var name = name || "이름"
  return name
}

ES6

let person = function(name="이름") {
  return name
}

클래스

  • ES6부터 class 키워드 사용 가능

ES5 프로토타입 기반

var Add = function(arg1, arg2) {
  this.arg1 = arg1
  this.arg2 = arg2
}
Add.prototype.calc = function() {
  return this.arg1 + "+" + this.arg2 + "=" + (this.arg1 + this.arg2)
}
var num = new Add(3,5)
console.log(num.calc())

ES6

class Add {
  constructor(arg1, arg2) {
    this.arg1 = arg1
    this.arg2 = arg2
  }
  calc() {
    return this.arg1 + "+" + this.arg2 + "=" + (this.arg1 + this.arg2)
  }
}
let num = new Add(3, 5)
console.log(num.calc())
profile
코린이 열심히 배우자!

0개의 댓글