전체 글 63

23.04.12. 혼자 공부하는 자바스크립트 확인문제 풀이 기록[1]

챕터 5 함수 1. 함수의 기본 형태 (1번 문제) A부터 B까지 범위를 지정했을 때 범위 안의 숫자를 모두 곱하는 함수를 만들기 다양한 방법으로 만들어 볼 수 있을 것 같아서 아래와 같은 방법으로 구현해 봤다. // while문으로 구현 function multiplyAllWhile(first, second) { let middle = second let result = 1 while (middle + 1 !== first) { result *= middle-- } return result } console.log(multiplyAllWhile(3, 5)) // 재귀함수로 구현 function multiplyAllRecursion(first, second) { if (second === first) {..

daily 2023.04.12

23, 13~14주차

13주차 간단한 풀스택 팀 프로젝트를 진행했다. (23.03.27. 간단한 로그인과 공유 기능을 넣은 To-Do 페이지 만들기) 아주 단순한 기능을 가진 ToDo 페이지. 아마 웹 개발 공부하면 가장 많은 예시로 나오지 않을까 싶다. 뭔가 새로운걸 만들어보기엔 시간이 짧아서 ToDo 리스트를 만드는 강의자료에서 몇가지 기능을 추가해서 만들어 봤다. 구현한 웹페이지는 DoTogether로 작명하고, ① 다른 사용자에게 내 ToDo를 공유하는 기능, ② 완료/취소 표시 기능, ③ ToDo를 삭제하는 기능을 구현했고, ④JWT를 쿠키에 저장해서 로그인 유지와 로그아웃 기능을 구현했다. 다른 팀원과 함께 기능을 나눠 구현하기로 했으나... 다들 여러 사정으로 혼자 재밌게 구현했으나, github으로 협업하는 연..

daily 2023.04.09

자바스크립트 ES, ES5, ES6(ES2015)

자바스크립트(Javascript), ECMAScript, ECMA-262 자바스크립트를 공부하다보면 ES6 문법이라는 이야기를 많이 듣는다. 특히 변수 선언하면서 사용하는 let과 const 설명을 하며 자주 듣는데, ES6, ES5 하면 뭔가 버전 같기도 하고, 어떤 것인지 궁금했다. ES ES는 ECMAScript의 약자이다. 그리고 ECMAScript는 자바스크립트 언어의 표준 사양을 정의하는 규격이다. 이 규격은 Ecma International라는 국제 표준화 기구에서 정한 것. (European Computer Manufacturers Association이라는 이름에서 국제적으로 커지다보니 이름을 그냥 Ecma로 바꿨다고 한다.. ISO와 비슷하다고 생각하면 편할 듯) ISO 9001, 14..

Javascript/Basics 2023.04.09

몰라도 괜찮지만 알아도 괜찮은 몇가지 문법/표현[0]

파이썬을 쓰다보면 영어 문장 읽듯 그냥 편하게 쓸 수 있다는 점이 참 좋다. 그런데 가끔은 그렇게 일일이 말하듯 쓰기 보다는 간결하게 쓰고 싶은 생각이 드는데, 그럴 때 사용하면 좋을 몇가지 문법/표현을 소개한다. 1. Conditional Expression (조건 표현, 삼항 연산자) 자바스크립트에서 삼항 연산자는 아래와 같이 심플하게 구현된다. let age = 19 let status = age >= 18 ? "Adult" : "Minor" 파이썬에서는 아래와 같이 가능한데, JS보다는 문장으로 읽힌다. age = 19 status = "Adult" if age >= 18 else "Minor" 읽어보면, status는 Adult이다. 만약 age가 18보다 크거나 같다면. 아니라면 Minor고...

Python/Basics 2023.04.09

this[0]

this, 이것 JS에서 this는 중요하다. 그리고 복잡하다. 지금까지 공부한 것을 정리하기 위해 글을 쓰지만, 아직 모르는 부분이 많은 것 같다. 우선 this를 쉽게 정리하면 "나를 불러온 객체가 이것이다"를 의미한다. 그러니까 this는 누가, 어떤 상황에서 불렀느냐에 따라 달라지는데 이때문에 헛갈리기 시작한다. 상황에 따라 달라진다는 것을 다음 두 상황에서 확인할 수 있다. ① 브라우저에서 this를 출력했을때와 ② node에서 this 출력했을때를 비교해보자. 위에서 보듯, 브라우저에서 출력한 this는 window라는 객체를 보여주고, node로 실행한 this는 빈 객체인 {}를 반환했다. 어떤 상황이냐에 따라 달라진다는 것은, 누가 나를 불러냈냐에 따라 다른데, 전역문맥이 다르기 때문이다..

Javascript/Basics 2023.04.08

Hoisting, 호이스팅

예전 회사에서 공장에 실사를 가면 호이스트를 많이 봤다. H빔에 연결된 도르레와 모터, 윈치... 물건을 들어 올리고 옮기는 데 사용하는 그 호이스트. 오늘 자바스크립트에서 호이스팅이라는 개념을 공부했다. 끌어 올린다는 뜻의 호이스트, 호이스팅은 JS가 브라우저나 node 같은 인터프리터에서 실행될 때, 어떤 순서로 변수를 선언하고 실행하느냐를 이해하는데 중요한 개념이다. function a () { console.log(b); var b = 'bbb'; console.log(b); function b() { } console.log(b); } a(); 위의 함수를 생각해보면, 처음 console.log(b)를 실행하면 b가 정의되지 않았으니, undefined가 출력이 되고, 그다음 b를 'bbb'로 ..

Javascript/Basics 2023.04.08

Flask로 간단한 웹 서버 만들기

Flask는 Python 웹 프레임워크로, 가볍고 간단하면서도 확장성이 높아 인기가 많은 웹 프레임워크다. Flask로 간단한 웹 서비스를 만들어 봤었고 이것에 대해서 조금 더 기능을 설명하면서 기록하기 위해 작성해본다. Flask 설치 Flask를 사용하기 위해서는 먼저 Flask를 설치해야 해야 한다. pip 으로 Flask를 설치한다. pip install flask Hello World 페이지 만들기 간단한 Hello World가 표시되는 웹 페이지를 만들어볼 수 있다. from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return 'Hello, World!' if __name__ == '__main__': app..

Python/Flask 2023.04.07

23.04.07. JS 기본 문법 연습

강의 연습 문제 풀이 문제 1. 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다. - 생각의 흐름 먼저 문자열 s를 인자로 받는 함수를 만들고, 문자열을 요소로 값을 참조하여 for문을 돌리고, 각 문자를 lower case로 변환해서, p인 경우와 y인 경우에 해당하는 경우 count하고, for문 종료하고 p counter와 y cou..

daily 2023.04.07

23.04.05. sorting 알고리즘 만들어보기

Issue 강의 숙제로 배열 연습을 위해 정렬 문제를 풀어보자 문제는 string의 요소를 가진 array에서 string의 index를 지정해서 그 순서로 정렬하는 함수를 만드는 것 Try&Error sorting이 복잡한 알고리즘이 많다는건 예전 유투브에서 sorting을 이미지와 소리로 표현한 영상을 봐서 알고 있었다. 여러 알고리즘이 있었고, 데이터의 종류에 따라 어떤 알고리즘이 더 주요하다는 등의 유불리가 있을 것으로 대충 알 고 있으나, 우선 생각나는대로 만들어봤다. function sortingMyWay(arr, where) { // 정렬할 새로운 배열을 만들고 arr의 첫 요소를 넣어주는 것으로 initialize let newArr = [arr.shift()] // for문 n-1회 반복..

daily 2023.04.05

23.04.03. 혼자 공부하는 자바스크립트 확인문제 풀이 기록[0]

책을 받았고, 강의와 함께 책을 보면서 스스로 공부하는 시간을 가지며 책에 있는 문제 풀이 기록을 과제로 제출해야 한다. 책을 보며 공부하는게 익숙하진 않지만 프로젝트 단위로 공부하는 것과 병행하는 것은 유익할 듯. 챕터 2 자료와 변수 1. 기본자료형 (1번 문제) 연산자의 대상이 되는 자료형에 대한 문제 && 원하는 답은 boolean이겠지만, null, undefined, string, number, Object, Array 등 자료형 모두 다 피연산자로 가능하다. 아래처럼 온갖 조합을 해보면 알 수 있겠지만 문서를 보면 truthy(참으로 간주하는)와 falsy(거짓으로 간주하는)를 비교해서 규칙을 갖고 반환하는 연산자라고 이해하면 된다. 즉, 아래 문서에서 따온 정의를 읽어보면 왼쪽 값에서 오른..

daily 2023.04.04
728x90