본문 바로가기

Programming

(47)
Higher Order Function [고차함수] 1편 1. HOF (Higher Order Function) 오늘 알아볼 주제는 바로 HOF, 고차함수다. 고차함수란, 함수를 다루는 함수라고 말할 수 있다. 예를 들어서: 하나 이상의 함수를 인자로 받는다. 함수를 결과로 반환한다. HOF를 통해 우리는 더 유연하고 기능적인 코드를 사용할 수 있다. 고차함수의 간단한 예제를 먼저 살펴보자. const twice = function(f, v) { return f(f(v)); }; const plusOne = function(v) { return v + 1; }; console.log(twice(plusOne, 1)); // 3 위 예제에서 twice()는 HOF로 사용되는데, 함수를 인자로 받아서 2번 반복해준다. 이는 단 두번만 반복하는 함수지만, 인자로 받..
Recursion [재귀] 1. Recursion (재귀) 재귀 함수란: 함수 안에서 자기 자신을 다시 호출하는 것을 말한다. 1 - 1. Recursive vs Iterative 보통의 Recursion (재귀)를 사용할 수 있는 문제들은 Recursive 또는 Iterative 둘 중 어느 한 방법으로도 해결할 수 있다. 먼저, Iterative (반복적인) 함수는 우리가 일반적으로 사용하는 for문이라 forEach와 같은 반복연산을 사용한다. 반면에, Recursive 함수는 성능은 조금 떨어질지 몰라도 코드가 훨씬 가독성이 있다는 점에서 많이 사용된다. 1 - 2. What Is Recursion? 재귀 함수를 설명할 때 일반적으로 팩토리얼 (Factorial) 구하기를 예제로 많이 사용한다. 팩토리얼이란 자기 자신의 수..
textContent vs innerHTML 1. textContent와 innerHTML의 차이 (difference between textContent and innerHTML) Property textContect innerText innerHTML 값 raw text rendered text HTML parsed text 성능 좋음 보통 나쁨 보안 - - 취약 세 가지 혼동될 수 있는 property들을 위의 표로 비교해봤다. textContent는 컨텐츠 내용을 text/plain으로 파싱 (parsing) 한 결과다. 해당 요소의 내부는 원시 텍스트이므로 다른 프로퍼티들에 비해 파싱 속도도 빠른 편이라 성능이 좋다는 점이다. 참고원문: developer.mozilla.org/ko/docs/Web/API/Node/textContent in..
DOM 1. DOM (Document Object Model) 오늘 배운 개념은 DOM (Document Object Model), 문서 객체 모델이다. 텍스트 파일로 만들어져 있는 웹 문서를 브라우저에 렌더링하려면, 웹 문서를 브라우저가 이해할 수 있는 구조로 메모리에 올려야 한다. 브라우저의 렌더링 엔진은 웹 문서를 로드 및 파싱하여 웹 문서를 브라우저가 이해할 수 있는 구조로 구성하고 메모리에 적재한다. 이것을 DOM이라 한다. 즉, 모든 요소와 요소의 어트리뷰트 (Attribute), 텍스트를 각각의 객체로 만들고, 이 객체들의 부자 관계를 표현할 수 있는 트리 구조로 구성한 것이 바로 DOM이다. 웹 문서의 동적인 변경을 위해서 DOM은 프로그래밍 언어가 자신에게 접근하고 수정할 수 있는 방법을 제공하..
이중 for문 나의 첫 TIL ~ 1. for문, 이중 for문. 개발자로 취업 후에도 제일 많이 사용되는 반복문. for문, 그리고 이중/중복 for문을 다시 찾아가며 내 것으로 만들어 봤다. for문도 while문처럼 반복문인데, 차이점은 for문 자체적으로 초기화, 조건문, 반복문이 있다는 점이다. 이렇게 while문 보다는 간결한 코드를 작성할 수 있다. 위에 직접 콘솔창에 입력한 코드를 보면서 설명해 보겠다. 1. (i = 0;) 변수 'i' 및 초기값 (0) 설정 2. (i < 5;) 변수 'i'가 5보다 작을 동안 명령문을 실행 3. 증감문 실행으로 i의 값이 1씩 증가 코드를 콘솔에 찍어보면 위와 같이 0부터 4까지 숫자가 i가 1씩 증가하는 것이 잘 출력된다. 조금 복잡해질 수 있지만 알고보면 간단한 ..
PRE-Course The Past Four Weeks Reflection 지난 4주라는 Pre 과정을 다시 생각해보았다. 한번도 배워보지 않아 더욱 어렵게 느껴졌지만 매우 하고싶었고 실제로 정말 재미를 느꼈다. 풀어야하는 문제들 또한 한 문제마다 절대 만만치 않았는데 그런 문제들을 머리가 빠질 정도로 고민하다가 결국 풀어내는 순간, 그 짜릿함과 성취감은 배로 다가왔다. 또한 과정 중간중간 많은 일들이 있었지만 갑자기 엄마를 잃게 되었다... 너무 복잡해 그 어떤 말로도 그 심정을 표현 못하지만 더욱 열심히 행복하게 살아가야 할 이유가 한 가지 생겼다. 늘 걱정하셨던 안정된 길과 직장을 찾고 예쁘게 행복하게 그리고 건강하게, 지금의 아내와 가정을 꾸려가는 모습을 보여주고 싶다. 나의 모친상으로 4일치의 수업과 프로젝트를 빠지게 되어 그 타격이 조금 컸던 것 같다. 과정의 정규 ..
개발자 전환의 기초 과정 전체 과정 중에 4주를 차지하는 기초 과정이 벌써 끝나간다. 개발자 도구부터 시작해서, 변수와 자료형, 함수, 조건문, 배열, 객체, 반복문, HTML, CSS, DOM, 그리고 고차함수, 등등.. 기초적인(?) 수많은 지식들과 다양한 method 들을 알게 되었다. 기초 과정 중간에 가족일로 많이 힘든 시기가 있었지만 잘 극복했던 것 같고, 곧이어 찾아온 추석 연휴동안 쉬기보다는 복습하면서 공부했던 시간이 더 많았던 것 같다. 이번 추석은 꽤 알차게 보내서 뿌듯하다. 더 빡열공해서 최대한 빠른 시일내로 배운 내용 정리해서 조금씩 블로그에 올리기로 하겠다. 솔직히 더 빨리 지금이라도 올리고 싶지만, 너무 많은 내용이 후다닥 지나가서.. 과정 따라가기도 살짝 버거운 느낌이라 조금 속도가 안정되면 올리기로...