전체 글

주니어 프론트엔드 개발자의 기록들 ʕ •ᴥ•ʔ✎
· DEV
자꾸 같은 실수를 반복해서 메모용으로 작성해둔다 ㅎ 커밋 메세지에 오타를 냈다거나 커밋에 미처 포함하지 못한 작업 내용을 뒤늦게 발견하는 경우 해당 커밋을 작성하기 이전으로 돌아가기 위한 방법으로 reset을 자주 사용하고 있었다. $ git reset HEAD^ --soft // HEAD^ : 바로 직전(한 단계 이전)으로 돌아감 // --soft : 직전 작업을 staged에 가져옴 문제는 이렇게 돌아가고나니깐 수정할게 없는 경우 (...) 즉, 다시 reset하기 이전으로 돌아가고 싶은 경우다. staged에 작업이 들어가 있으니 다시 커밋할 수도 있지만 이 경우는 커밋 시간을 새로 갱신하는 것이기 때문에 이를 원하지 않는 경우가 종종 발생했다. 때문에 다른 해결 방법으로 reflog를 활용한다. ..
· TYPESCRIPT
Call Signatures 함수 위에 마우스를 올렸을 때보여지는 내용이 함수의 콜 시그니쳐 function add(a: any, b: any):any 와 같은 부분을 말한다. Call Signatures는 함수의 매개 변수(인자)의 타입과 return 되는 반환값의 타입을 지정한다. function add(a, b){ // Parameter 'a'/'b' implicitly has an 'any' type return a + b } 위의 경우 인자인 a와 b에 별도의 타입 지정을 해주지 않아 any임을 경고한다. 이는 각 인자에 타입을 지정해줌으로써 해결 가능하다. // argument에 number 타입 지정해줌 function add(a: number, b:number) { // function a..
· TYPESCRIPT
Basic Types 기본적인 number, string, boolean 등의 타입을 지정해줄 때 : 콜론 을 이용한다 let a: number = 1; let b: string = "i1"; let c: boolean = true 배열에 기본 타입 지정하기 배열에 타입을 지정하길 원하는 경우, 기본 타입 지정 다음에 배열 표시로 [ ] 를 붙여준다. 해당 타입 요소들로 배열을 만들겠다는 의미이다. // array let d: number[] = [1, 2]; let e: string[] = ["hello", "world"]; let f: boolean[] = [true]; 물론, 변수를 사용할 때 꼭 타입 지정해줄 필요는 없다. 어떤 때에는 typescript가 스스로 타입을 추론하도록 하는게 좋을 수..
· MARKUP
존재하지만 잘 쓰지 않는, 낯선 html 태그들을 개인 주관으로 추려서 정리한다. HTML5 미지원 태그는 정리 목록에서 제외한다. 크게는 ABC순으로 나열하고, 연관 있는 태그는 묶어서 정의한다. "W3C", "ASAP" 등 단어의 축약형이나 머리글자로만 된 단어를 정의할 때 사용한다. 브라우저나 번역 시스템, 검색 엔진에게 유용한 정보 전달을 가능하게 한다. ASAP (As Soon As Possible)은 통용적으로 쓰이는 업무 용어 중 하나이다. 해당 태그를 사용하면 text-decoration: underline dotted; 가 기본으로 적용된다. Bi-Directional Override. 텍스트의 쓰기 방향을 변경한다. 필수 속성 dir를 이용하여 방향을 지정합니다. dir="ltr" : ..
· TYPESCRIPT
추론적 타입 vs 명시적 타입 C나 C++ 같은 언어에서는 모든 것의 타입을 지정해줘야만 한다. 예를 들어 새로운 변수를 생성한다면 그 변수의 타입을 꼭 명시해줘서 "그 변수는 number고 항상 number일 것이다" 하고 컴파일러에게 알려줘야만 한다. 그에 반해 타입스크립트는 데이터와 변수의 타입을 명확하게 정의할 수도 있고 : 명시적 타입 (Explicit Types) 자바스크립트처럼 변수만 생성하고 넘어가도 된다 : 추론적 타입 (Implicit Types) 타입스크립트는 알아서 타입을 추론해주기 때문. 소스 코드로 명시적 타입과 추론적 타입을 비교하자면 아래와 같다. // 추론적 (Implicit Types) let a = "hello"; // a는 "hello"라는 문자열을 가지는 것으로 보아..
· CS/CS50
boostcource 모두를 위한 컴퓨터 과학 (CS50 2019) : David J. Malan www.boostcourse.org/cs11 실습환경 : https://sandbox.cs50.io/ 모두를 위한 컴퓨터 과학 (CS50 2019) 부스트코스 무료 강의 www.boostcourse.org C언어 오래되고 전통적인 순수 텍스트 기반의 언어 C 이전에 스크래치를 사용해서 만들어보던 프로그램을 이제는 프로그래밍 언어로 작성해볼 수 있다. int main(void){ } 는 "초록색 깃발을 클릭했을 때"와 같은 시작을 의미하는 부분이라 이해해볼 수 있다. 간략하게 C언어는 #include int main(void) { ... } 에서 ... 위치에 동작할 코드를 작성한다. 즉, 핵심은 printf..
· TYPESCRIPT
TypeScript 타입스크립트, TS, 타스라고 불리우는 언어로 공식 문서에서는 Strongly Typed Programming Langauge 라고 소개한다. JavaScript With Syntax For Types. TypeScript extends JavaScript by adding types to the language. TypeScript speeds up your development experience by catching errors and providing fixes before you even run your code. www.typescriptlang.org 해석하자면 자바스크립트에 타입을 강하게 부여한 언어이다. Type? 타입이란 자료형을 의미한다. 자바스크립트에서 사용되던 ..
· CS/CS50
boostcource 모두를 위한 컴퓨터 과학 (CS50 2019) : David J. Malan www.boostcourse.org/cs112 모두를 위한 컴퓨터 과학 (CS50 2019) 부스트코스 무료 강의 www.boostcourse.org 알고리즘 (Algorithm) 이전 시간 컴퓨터 과학에 대해서 공부할 때, 컴퓨터에는 input(입력)과 output(출력)이 존재하고 그 중간 과정, 입력을 받아 그 입력을 처리한 후 출력하는 과정을 computing(컴퓨팅) 이라고 정의했다. 그리고 컴퓨터가 input을 받을 때 사용하는 표현식인 2진법을 공부했다. 알고리즘은 input에서 받은 자료를 output 형태로 만드는 처리 과정을 의미한다. 즉, 입력값을 출력값의 형태로 바꾸기 위해 어떤 명령들..
· DEV
github, bitbucket과 같이 코드 형상 관리 프로그램을 사용하고 있다면내가 작업한 내용, 즉 코드의 변경 사항(diff)을 따로 전달할 필요가 없지만만일 소통하는 개발자가 같은 환경에 놓여있지 않는 경우에는, 별도의 프로그램을 이용해서 코드 변경 사항을 전달해야 할 수 있다. 나는 위와 같은 경우에서 diff2html 를 사용했는데diff2html 가 어떤 프로그램인지에 대해 가볍게 알아보자. (나의 경우는, php 페이지 작업은 react 기반 페이지와는 다르게 백엔드 개발자와 작업 저장소를 함께 사용하지 않고 아예 별개로 이용하던 것이 문제점이였다. 각자의 저장소 열람 권한도 없는 탓에 bitbucket 을 이용한 diff 공유가 불가능했고, 개별로 작업 내용을 전달해주었어야 ..
· CS/CS50
boostcource 모두를 위한 컴퓨터 과학 (CS50 2019) : David J. Malan www.boostcourse.org/cs112 모두를 위한 컴퓨터 과학 (CS50 2019) 부스트코스 무료 강의 www.boostcourse.org 컴퓨터 과학 (Computer Science) 문제 해결에 대한 학문 입력(input)을 전달받아 출력(output)을 만들어내는 과정에서 중간에 있는 과정을 컴퓨터 과학이라고 한다. 2진법 우리가 일상에서 사용하는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 총 10개의 기호로 수를 표현하는 방식을 10진법이라고 한다. "123" 을 우리가 "백이십삼" 이라고 읽는 이유는 "1x100 + 2x10 + 3x1 = 123" 과 같이 10의 거듭제곱으로 자..
개발하는 이령
Ryung Log