8월, 2020의 게시물 표시

회고록

 이번 프리기간동안 배운것도 많았고 후회되는 점도 많았습니다. 그 중에 가장 후회 되는게 마지막 이틀 페어프로그래밍이였습니다. 제가 코드스테이츠에서  느낀 것은 사람들과 대화를 하면서 상대방의 나랑 다른 생각을 배우는 것을 가장 큰 장점일 수 있다고 생각 했습니다. 앞에 같이 페어를 했던 분들과는 완벽히 페어프로그래밍을 한 것은 아니지만 그 분의 생각과 내가 부족한 점을 같이 생각하고 찾아봤었기 때문에 정말 크게 실력이 향상됐다는 느낌을 받았습니다. 하지만 마지막 페어분과는 처음부터 삐걱거린 이유는 배우려고 온 것이 아니라 학원에 온 듯이 과제의 완성에만 포커싱을 맞추는게 제 입장에서는 그리 탐탁치 여기지는 않았습니다만 사람마다 다르고 지금까지 해왔던 것이 다 다르기 때문에 이해할 수 있었습니다. 하지만 여기서 중요하게 여긴 것이 '페어 프로그래밍'의 역활을 박살내고 개인 혼자서만 하고 커뮤니케이션이 전혀 되지 않았다라는 점에서 화가 났었습니다. 그래도 첫날 마지막에 제가 불편한 점을 말을 했고 이해한다고 하셨다라고 하셔서 저는 다음날에는 뭔가 오늘과는 다른 하루가 될줄 알았지만 서로 한번 좋지 않은 모습을 본 후에는 사소한 것도 좋지 않게 보였던 것이 있었던 것 같습니다. 그래서 페어분도 나는 전혀 그런 생각도 없었지만 그렇다고 개인 메세지를 받았고 저도 어제 내가 1시간 동안 말한 내용이 조금도 지켜지지 않는 모습을 보고 화가 나기 시작 했었습니다. 여기서 저의 잘못이 있었다고 생각합니다. 이제 페어프로그래밍 4시간만 지나면 끝나니까 그냥 참고 하자... 좋게 좋게 끝내자... 라는 마인드로 진행을 하다 페어분이 갑자기 쉬자하시면서 메세지로 좋지 않다라는 말을 듣고 화가나서 엄청 말로 쏘기 시작했습니다. 그러다가 전혀 대화가 되지 않는 것을 느끼고 포기하고 끝맺음을 하려했습니다. 이 내용은 나의 입장에서 본 상황이기에 나의 화가난 이유만 써있지만 분명 상대분의 상황은 또 다를 것입니다. 그런데 그 상황에서 나에게 불편했던 점을 끝까지 알지 ...

PRE코스 종료 아깝고 좋았던 점

 정말 4주 동안 배운게 많았던거 같았습니다. 끝나고 혼자 공부하는 시간에 시간가는줄 모르고 퇴근버튼을 누르지 못한적도 있었다. 블로그도 시작해서 맨날 하고 싶었지만... 마지막 4일은 과제를 하느라 생각조차 하지 못했다. 트위틀러 만들때 너무나 힘이 들었지만 그 힘든 과정이 끝나고 결과값이 눈앞에 나올때 희열을 느꼈고 동기여부가 되었다. 하지만 그렇다고 정말 다른 사람에게 이 코스를 무조건 추천하기는 너무나 어려울 것 같다고 느꼈다. 일단 하면서 사람들과 커뮤니케이션이 있었는데 나랑 잘맞는 경우도 있지만 정말로 안맞는 경우가 있는데 괜한 감정소비를 한다는 느낌이 들었다. 이게 정말 절실하거나 성실한 사람에게만 추천할 수 있는 과정이라고 많이 느꼈다. 이제 프리코스 과정 중 HA가 남았다, 준비를 해야하는데 지금 Dom에 대한 문제와 this에 대한 의문이 남아있는 상황이다. 물론 다른 곳이 완벽한건 아니지만 일단 제일 부족한 부분부터 준비를 해야할 것 같다. 지금 솔직히 피곤해서 내가 무슨말을 쓰고 있는지 나도 정리가 안된다 ^^... 지금까지 저랑 같이 페어를 같이 하신분들 너무 감사하고 배운 점 많았습니다. 전부 이머시브 과정에서 다시 만났으면 좋겠습니다~

15일차 부트캠프

 arr.map((v) => { function()} v는 배열(현재값)을 차례대로 읽는다 그래서 function안에 있는 조건식을 계산하고 새로운 값을 저장한다. arr.filter((v) => { if(v === ?) return true; else  return false; }); map과 동일하게 v(현재값)는 배열을 차례대로 값을 읽는다. 그래서 조건에서 true를 하면 그대로 배열에 가져오고 false라면 배열에서 삭제한다. 쉽게말하면 원하는 것을 제거할때 사용한다. arr.reduce((acc, cur, i, ?) => {return 결과}, 초깃값); acc=누적값, cur=현재값, i=인덱스, ?=요소 만약 초기값을 정해주지 않으면 저절로 0번째인덱스 값이 초기값이 됩니다. reduce는 누적값 acc가 중요한거 같다. acc의 누적 값은 자신이 조건을 통해서 원하는대로 누적시킬 수 있다. *arr.filter(function(v) {  });  arr.map(function(v) {  });  arr.reduce(function(acc, cur) {  }, 초기값); 이렇게도 쓸 수 있는데 위의 값과는 달라지지 않으나 es5, es6에서의 문법 차이로 보인다 es6에서는 arrow function(=>)이 가능해 지면서

14일차 부트캠프

이미지
 twittler라는 프로그램을 만들었다. 딱봐도 인터페이스가 구리다.... 처음에 손도 못댈정로 였지만... 결국 레슨을 다시보는 것이 정답이였던 것같다. 특히 어려웠던것은 onlick 을 한번도 안써본 상태에서 이름을 클릭시 그 동명의 아이디가 쓴 댓글만 보이게 하는 작업이 가장 어려웠던거 같다. 그래도 첫 눈에 보이는 작업이였어서 즐거웠고 더러웠다

12일차 부트캠프

 엘리먼트의 id 값을 이용해 접근 하는 메소드이다. 해당 id의 단일 객체를 리턴 document.getElementById( ) 단일객체를 리턴 // id가 name인 객체  var name = document.querySelector('#name') // class가 age인 객체 var age = document.querySelector('.age') 전체 객체를 리턴 // id가 name인 객체 var names = document.querySelectorAll('#name') // class가 age인 객체 var ages = document.querySelectorAll('.age')  class 값을 통해 접근하는 메소드, 단일객체가 아닌 컬렉션(collection) 객체를 리턴 // class가 age인 객체 var age = document.getElementsByClassName('age') 엘리먼트의 class 값을 통해 접근하는 메소드이다. 해당 class 을 가지는 객체를 리턴 // tag가 img인 객체 var images = document.getElementsByTagName('img') // tag가 div인 객체 var tasks = document.getElementsByTagName('div')

10일차 부트캠프

 객체 지향 function Car(brand, name, color){ this.brand = brand; this.name = name; this.color = color; } class Car { constructor(brand, name, color){ this.brand = brand; this.name = name; this.color = color; } } 두방법은 동일하나 밑의 예시는 ES5에서는 불가능하다. let avante = new Car('hyun', 'avante', 'black'); 이런식으로 새로운 인스턴스를 만들어 낼 수 있다. 메소드를 클래스 안에서 정의 할 수 있는데 function Car(brand, name, color){ } Car.prototype.refuel = function() { ... } class Car { constructor(brand, name, color){ } refuel() { } } 클래스를 이런식으로 정의를 했다면 우리는 class Car { constructor(brand, name, color){ this.brand = brand; this.name = name; this.color = color; } refuel() { console.log(this.name + '가 연료를 넣습니다') } } 이런 클래스를 만들 수있다. 이것을 밖에서 사용하기 위해 let avante = new Car('hyun', 'avante', 'black'); avante.color; //'black' avante.refuel(); // 'avante가 연료를 넣습니다'

8일차 부트캠프

Scope 스코프는 간단해게 변수에 접근 할 수 있는지를 정의 하는말      전역 스코프(Global Scope) / 지역 스코프(Local Scope) 변수가 {} 밖에 선언됐다면 전역 / 안에 선언됐다면 지역          지역 스코프 안에는 함수 스코프(Function Scope) / 블록 스코프(Block Scope) {}안에서 선언된 변수를 밖에서 선언가능 / 선언 불가능                                                                                         var                                  /                         let                                    const                        ...

7일차 부트캠프

LINUX / UNIX 를 사용하는 이유 서버 시장의 점유율이 매우높음 오픈 소스 AWS / Azure 제공하는 서버는 대부분 nix 계열 ls 파일과 폴더보기 cd ~  홈 디렉토리(/Home/User) cd /  루트 디렉토리(최상위 디렉토리  /) cd . 현재 디렉토리 cd .. 부모 디렉토리(바로 위 상위 디렉토리) pwd 현재 디렉토리 확인 clear 커멘드 창 전체 지우기 touch 파일이름 빈파일 생성 mkdir 폴더이름 디렉토리 생성 cat 파일이름 텍스트파일 내용확인 mv 파일(폴더)이름 파일(폴더)이름 파일(폴더)이름 변경 mv 파일(폴더)이름 위치 파일(폴더) 위치이동 cp 파일 위치 파일 복사제 ----------- rm 파일이름 파일삭제 rm -r 폴더이름 폴더삭제 sudo rm -rf 모두삭제 가능한 쓰지않기 ----------- sudo 관리자만 읽을 수 있는 파일 읽기 sudo chown username:username 파일이름 파일 소유권 변경 arr.filter(function) function 안에 있는 조건에서 true만 출력 obj.map(function{ ... }); obj에서 function 안에 조건에 맞는 것만 저장가능 더 알아보고 공부해야 할 것 들 map(), reduce(), filter()