일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- react
- 취업
- 제일어려워
- grpahQL
- this
- method
- 연습
- 클라이언트
- 초보
- 포스기
- underscores
- 코드스테이츠
- vscode
- JavaScript
- 해커톤
- underbar
- nqueens
- ftech
- DOM
- 공부
- JS
- array
- 일상
- 코딩
- 리액트
- Instantiation Patterns
- 개발
- 알고리즘
- 자바스크립트
- 엔퀸즈
- Today
- Total
목록분류 전체보기 (176)
analogcoding
문제. 인자로 받는 문자열의 첫 글자들을 대문자로 변경한 뒤 리턴. Ex) input : "hello world" => output : "Hello World" input : "javascript is sexy" => output : "Javascript Is Sexy" 해결방안 1. 공백으로 구분된 단어를 배열로 나눔. 2. 첫 글자만 toUpperCase()를 사용해서 대문자로 변경. 3. 다시 문자열로 합친 뒤 리턴. split(' ') 메소드를 써서 공백으로 구분 된 단어 요소로 나누어준다. var letterCapitalize = function(str) { str = str.split(' '); map() 함수를 이용해서 elements의 0번째 요소를 대문자로 변경하고 남은 elements에..
Execution Context (실행 컨텍스트)는 scope, hoisting, this, function, closure 등의 동작원리를 담고 있다. 어떤 함수가 호출되면 execution context가 만들어진다. 정의 : 실행컨텍스트는 추상적인 개념 . 실행 컨텍스트는 실행 가능한 코드가 실행되기 위해 필요한 환경 변수 : 전역변수, 지역변수, 매개변수, 객체의 프로퍼티 함수 선언 변수의 유효범위(Scope) this this 자바스크립트에서 함수가 호출될 때, 함수 호출 방식에 따라 this 에 바인딩되는 객체가 달라진다. 정의 : 모든 함수 scope 내에서 자동으로 설정되는 특수한 식별자. execution context의 구성요소 중 하나로 , 함수가 실행되는 동안 이용할 수 있다. Bi..
문제. 인자로 받는 문자열의 숫자가 2의 제곱수면 true를 아닐 경우 false를 리턴. Ex) input : 2 , 4 , 8 , 16 , 32 , 64 , 128 ... => output : true input : 1 , 22 , 27 , 222 ... => output : false 해결방안. 1. input값을 숫자로 받기. 2. for문을 사용해서 input을 2의 i ( i는 input보다 작게 ) 제곱과 비교. 3. Boolean 값 리턴. iput을 숫자로 변환하고 i 번 제곱할 i 를 설정해준다. var powerOfTwo = function(str) { var num = Number(str); // 숫자로 변환 for(let i = 1 ; i < num ; i++){ // input이..
문제. 인자로 받는 문자열의 알파벳을 알파벳의 고유 index로 리턴. Ex) input : "The sunset sets at twelve o' clock." => output : "20 8 5 19 21 14 19 5 20 19 5 20 19 1 20 20 23 5 12 22 5 15 3 12 15 3 11" 해결방안. 1. 대소문자 구분 없이 작동하게 만들기. 2. 알파벳의 고유 index를 찾기 위해 알파벳 배열 만들기. 3. 문자열을 각 요소로 만들어 배열로 담기. 4. 특수문자나 공백 걸러내기. 5. iput으로 오는 배열의 요소를 알파벳 배열에 indexOf를 사용해서 index 찾기. 6. 다시 문자열로 리턴. 먼저 함수를 생성하고 input의 값을 소문자로 통일하고 각 배열로 나눠준다. ..
문제. 인자로 받는 문자열의 값이 연속된 홀수일 경우 홀수와 홀수 사이에 '-'를 입력한 후 리턴. Ex) input : '454793' => output : '4547-9-3' 해결방안. 1. 문자열을 하나씩 분리해서 배열에 각 요소를 담음. 2. 값이 홀수인지 확인. 3. 연속된 문자열 또한 홀수일시 '-' 추가. 4. 다시 배열을 문자열로 합침. 먼저 문자열을 인자로 받는 함수를 만들어준다. var DashInsert = function(str){ } 문자열을 분리해서 배열로 만들고 for문과 if문으로 값이 홀수인지 확인. str = str.split('') for(let i = 0; i < str.length; i++){ if(Number(str[i])%2!==0 && Number(str[i+1..
과제 발표 당일 발표 전까지 약 2시간 정도 여유시간이 있었다. 미처 수정하지 못한 코드나 오류를 수정하고 우리는 마지막으로 객체에 새 메뉴를 추가하면 메뉴 버튼이 자동적으로 생성되고 그 버튼 역시 기존 버튼과 똑같이 작동하게 만드는 것을 구현하기로 했다. 기존 버튼들 모두 메뉴이름과 가격이 적혀 있었는데 그 값 역시 객체에서 받아오고 객체에 수에 따라서 반복문을 이용해 모든 객체의 요소를 불러올 수 있게 설정하고 마무리 지었다. function makeMenu() { for(let i = 0; i < coffees.length; i++){ let makeMenuBtn = document.createElement('button'); makeMenuBtn.setAttribute('id' , coffees[..
그렇게 다시 일상으로 돌아와 수업과 함께 짬날 때마다 조금씩 진행이 되어가고 우리는 다시 뭉쳐서 지금까지의 진행 결과를 합쳤다. 참고로 우리 조 이름은 .. 그랑조였다. 물론 내 맘대로 그냥 지어버린 이름이지만 각자 역할을 맡고 합체시키는 게 마치 로봇 그랑죠 처럼.. 이라고 되지도 않는 핑곗거리가 하나 있다. (이런 느낌으로 조 이름을 지은거임) 다시 본론으로 돌아와서 포스기의 작동원리를 생각하면서 코드를 작성하면서 부딪힌 문제들이 꽤나 있었다. 먼저 수량이 증가하면 기존 div 밑에 동일한 메뉴가 주문창에 담겼다. 메뉴의 중복이 가장 먼저 극복해야할 문제였고 다른 우리 조의 가장 큰 문제는 메뉴 하나 당 함수가 엄청나게 길었다. 처음에 설계할 때 메뉴를 변수로 두지 않은 채 코드를 작성해서 메뉴 하나..
학원에서 함께 공부하는 동기분들과 3인 1조로 조를 꾸려서 함께 포스기를 만들어보는 작은 과제를 진행했다. 처음엔 "뭐야 쉽겠는데? 덧셈만 있는거잖아" 라고 생각했지만.. 아주 큰 오산이었다.. 간단하게만 보았던 진행 주제를 막상 백지에서 맞닥뜨리니 호락호락하지 않았다. javascript만으로도 벅찬 상태였지만 기본적인 html , css 지식조차 없던 나에게는 DOM 역시 큰 시련이었지만 훌륭한 동기분들을 믿고 과제를 시작했다. 정확히 전부를 기억하지는 않지만 조가 정해지고 시작된 건 설계와 목업 작업이었다. 여기서 목업이란? 우리는 먼저 어느 부분에 메뉴가 들어갈지 , 가격이 들어갈지 기본적인 틀을 잡으면서 화면을 간단하게 선으로 나누면서 이런 모습의 첫 화면을 완성했다. 왼쪽에는 메뉴가 오른쪽에는..