반응형 전체보기260 [JavaScript] .getMonth() 메서드는 왜 zero-base일까? .getMonth() 메서드란 const moonLanding = new Date('July 20, 69 00:20:18'); console.log(moonLanding.getMonth()); // (January gives 0) // Expected output: 6 Date.prototype.getMonth() 메서드는 Date 객체의 월 값을 현지 시간에 맞춰 반환한다. 그런데 이 때 월은 0부터 시작한다. 월만 0부터 시작하는 이유는? 모든 Date관련 get 메서드가 zero-base라면 이상할 게 없다. 하지만 연, 일은 그렇지 않은데 월만 그런 것은 매우 이상하다. 사람에게 자연스럽지 않고 일관성도 없기 때문이다. 호기심이 발동했는데, JS의 아버지인 브랜든 아이크의 예전 트윗에서 답을 발견.. Programming/Javascript, Typescript 2023. 7. 25. 졸업은 했지만 3학년입니다 그것은 바로 사이버대 3학년~! 빠밤 사이버대 학사 편입을 결정한 이유 이직 후 재택근무를 하게 되면서 조지아텍 온라인 석사 지원 계획을 조금 더 앞당기기로 했다. 원래는 독학사를 이용해 학사 학위를 받으려고 했는데, 그럴 경우 두 가지 문제가 있었다. 조지아텍 입시에 필요한 세 장의 추천서를 써주실 교수님들을 만나기가 불가능함 사실상 대학으로 인정받지 못하는 경우가 많음 그래서 곧바로 방통대 vs 사이버대라는 두 가지 선택지를 놓고 고민하기 시작했다. 내가 학사 편입을 결심한 것은 물론 대학원을 위한 명목상의 학사 취득의 목적이 컸지만, 실제로 배움에 대한 욕구 때문이기도 했다. 학사 과정에 들어간다면 개발자로 일하는 데 필요한 공부를 하고자 하지 대충 강의를 틀어놨다가 베껴서 시험보는 식으로 학위를 .. My/Careerlog 2023. 7. 20. SPA(Single Page Application) Single Page Application (단일 페이지 애플리케이션) 현재 페이지를 동적으로 렌더링함으로써 사용자와 소통하는 웹 어플리케이션 단일 페이지로 구성되며 서버로부터 최초에만 페이지를 다운로드하고, 이후에는 동적으로 DOM을 구성 처음 페이지를 받은 이후부터는 서버로부터 새로운 전체 페이지를 불러오는 것이 아닌, 현재 페이지 중 필요한 부분만 동적으로 다시 작성함 연속되는 페이지 간의 사용자 경험(UX)을 향상 모바일 사용량이 증가하고 있는 현재 트래픽의 감소와 속도, 사용성, 반응성의 향상은 매우 중요하기 때문 동작 원리의 일부가 CSR(Client Side Rendering)의 구조를 따름 SPA 등장 배경 과거 웹 사이트들은 요청에 따라 매번 새로운 페이지를 응답하는 방식이었음 MPA(M.. Programming/ETC 2023. 7. 15. [JavaScript] new 연산자 예전에 정리해봐야지~ 했던 new 연산자. 왜 정리하고 싶었는지는 잊어버렸지만, 종종 만나게 되기에 정리해보자. 정의 new 연산자는 '생성자 함수' 앞에 붙여 객체를 만들어주는 연산자라고 할 수 있다. new라는 이름이 암시하듯이 새로운 객체입니다~! 라는 의미로 받아들였다. JavaScript에서 생성자 함수는 객체를 만드는 함수다. 아래에서 Person함수는 생성자 함수이며, 일반 함수와 구분하기 위해 대문자로 시작한다. function Person(name){ this.name = name; this.introduce = function(){ return 'My name is '+this.name; } } var p1 = new Person('river'); document.write(p1.int.. Programming/Javascript, Typescript 2023. 7. 13. [React] 'as' props React 컴포넌트 라이브러리 중 'as'라는 이름의 프로퍼티를 사용하는 경우가 있는 것 같다. (아마 material UI로 추측한다.) as의 역할은 해당 컴포넌트 외부(다른 파일)로부터 HTML을 가져와서 대체할 수 있도록 해주는 것이다. 기본 JSX/HTML 문법은 아니고, 일부 라이브러리에서 사용하는 것으로 보인다. 예시 코드 // class형 컴포넌트 ... return ( ... ) 'studentInputText' 컴포넌트에서는 태그에 전달된 prop들을 그대로 사용할 수 있다. 사용 이유? 정확히 알기 힘들지만(한글 자료 너무 없음!) 코드를 직접 만져 본 입장에서는 유지보수의 의미가 큰 것 같다. 해당 컴포넌트에 조건이 너무 많이 걸려 있거나 내부 작업이 많이 필요하다면 메인 컴포넌트(.. Programming/React 2023. 7. 13. Flyway에 대해 알아보자: 오픈소스 DB migration 툴 DB migration 툴 Flyway에 대해 알아보자. DB migration이라고 하면 싸피에서 처음으로 Django를 배웠을 때 model의 내용을 연결한 DB(당시에는 sqlite)에 적용시켰던 게 기억난다. Flyway도 그러한 DB migration을 해주는 도구다. 하지만 어떤 특정 프레임워크에 의존적이지 않은 '오픈 소스' 툴이다. Flyway를 사용하는 이유 이미 배포된 서비스의 DB가 있다. 스키마도 복잡하고 사용자 데이터도 많이 쌓인 상태다. 이 상태에서 model(entity)에 변화가 생긴다면 어떻게 적용해야 할까? DB에 직접 접속해서 매뉴얼하게 명령어를 칠 수도 있지만, Flyway를 적용하면 로컬에서 변경 사항을 적용하면 알아서 관리해준다. 휴먼 에러를 방지하기 위한 목적이 .. Programming/Database 2023. 7. 11. 2주간의 재택 온보딩 회고 지난 금요일부로 2주간의 재택 온보딩이 끝났다. 어느 집단에서든 온보딩은 흡사 새로운 행성에 발을 딛는 우주비행사와 같은 기분으로 시작한다. 조직마다 그들만의 문법, 일의 양식, 규칙을 가지고 있기 때문이다. 그리고 그 사회의 일원이 되기 위해서는 이전에 내가 몸 담고 있던 것들에서 한 발 벗어나 새로운 것을 적극적으로 맞이하는 자세가 필요하다. 나 또한 이 사회의 목표와 규칙을 잘 이해하고 있고 뜻을 같이 함을 보여주기 위해서다. 그래서 한 회사에 입사한다는 것은 단지 노동력을 제공하는 것에 국한되지 않고 이런 내용을 적극적으로 받아들이는 것 또한 포함한다. 완전 재택으로 일하는 상황에서 이런 과정에 가장 중요한 것은 조직에 관해 잘 정리된 글을 읽는 것과 구성원들과의 원격 소통인 것 같다. 이 과정을.. My/Careerlog 2023. 7. 8. 이전 1 ··· 5 6 7 8 9 10 11 ··· 38 다음