목록전체 글 (103)
coding etude
Interface Ts에서 가장 핵심적인 원칙 중 하나는 타입의 형태에 초점을 둔 타입 검사 라는 것이다. interface 는 이런 타입들의 이름을 짓는 역할 및 코드의 내/외부에서 행동을 정의 하는 강력한 방법이다. interface 는 각 속성에 타입을 정의한 후 다른 요소의 타입으로 정의 하여 사용 할 수 있다. Optional properties : Ts의 인터페이스를 사용 할때 정의된 요소를 모두 인자로 사용해야 한다. 하지만, 위의 예시 처럼 요소의 뒤에 ?를 사용하게 되면 선택적으로 사용 할 수 있게 된다. 선택적 속성의 이점은 인터페이스에 속하지 않는 프로퍼티의 사용을 방지하면서, 사용 가능한 속성을 기술하는 것입니다. Excess property checks : 선택적 속성을 사용하여 ..
문제 두 개의 배열(base, sample)을 입력받아 sample이 base의 부분집합인지 여부를 리턴해야 합니다. 입력 인자 1 : base number 타입을 요소로 갖는 임의의 배열 (base.length false base = [10, 99, 123, 7]; sample = [11, 100, 99, 123]; output = isSubsetOf(base, sample); console.log(output); // --> false Advanced 시간 복잡도를 개선하여, Advanced 테스트 케이스(base, sample의 길이가 70,000 이상)를 통과해 보세요. 풀이 // 포함이 되어 있는지 여부만 확인 시 // every, includes 를 사용해서 구할 수 있다. const isSu..
문제 아래와 같이 정의된 피보나치 수열 중 n번째 항의 수를 리턴해야 합니다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1입니다. 그 다음 2번째 피보나치 수부터는 바로 직전의 두 피보나치 수의 합으로 정의합니다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ... 인자 1 : n number 타입의 n (n은 0 이상의 정수) 출력 number 타입을 리턴해야합니다. 주의사항 재귀함수를 이용해 구현해야 합니다. 반복문(for, while) 사용은 금지됩니다. 함수 fibonacci가 반드시 재귀함수일 필요는 없습니다. //문제 풀이 // fibonacci = (n-1) + (n+2) // 기본적으로 직전의 수와 그 전의 수를 더하면 현재의 수가 나오는 공식이 성립. //..
Typescript(이하 Ts)는 MS 사에서 만든 오픈 소스 프로그래밍 라이브러리 이다. Ts를 배우기 위해서는 기본적으로 Javascript(이하 Js)에 대한 이해가 필요하다. Ts는 Js에서 각 변수와 함수에 type 을 정의하여 더 정확하고 유지 보수가 쉽게 만들어준다. 또한, interface와 class를 사용하여 재사용이 쉬워지는 효과도 가지고 있다. 더 자세한 기본적 개념 설명은 다음 기회에 상세히 포스팅 하도록 하고, 오늘은 Ts의 기본 타입에 대해 알아보겠다. 기본적인 개념은 Js 타입에서 조금 더 확장되었다고 생각하면 될 것 같다. Js 기본타입 : string, number, boolean, (null, undefined), array Ts 추가된 타입 : tuple, enum, ..
TS 를 공부하던 중 블록체인을 만드는 과정을 TS로 구현하는 방법을 봤는데 어렴풋이 알고 있던 블록체인의 개념을 조금 더 선명하게 만들기 위해서 이것 저것 알아봤는데.. 기본 개념은 단순하지만 구현은 어렵다는 결론... 평소에 자주 듣던.. 먼저 만들어둔 형들이 많으니.. 그냥 형들꺼 가져다 쓰라는 명언이 생각 난다. 블록체인? 블록 체인이란 무엇일까?? 말 그대로 블록들이 체인형태로 연결 되어 있는 Linked List 구조의 자료 구조라고 할 수 있다. 다시 말해 가장 처음 생성된 블록에서 부터 마지막에 생성된 블록까지 모두 연결되어 있고 여러개의 블록이 마치 하나의 체인처럼 연결되는 구조라고 할 수 있다. 즉, 수만 건의 거래내역을 하나로 묶은 블록체인은 여러 저장소에 분산되어 관리되는 거대한 분..
이전 포스팅에서는 zsh의 설치와 설정방법을 알아보았다. 이 포스팅에서는 폰트 문제와 테마를 조그 더 다양하게 이용하는 방법에 대해 포스팅 해보려고 한다. zsh을 설치 후 실행하면 대부분 폰트가 깨져서 나올 것이다. 그래서 기본 폰트를 다른 폰트로 변경해 줘야 하는데 이 폰트들은 새로 다운받아서 적용해 주어야 한다. 1. 다양한 폰트 다운로드 우선, ohmyzsh에서 기본 테마에 호환되는 폰트를 다운받아서 적용시켜주면 간단한 문제이지만 폰트는 워낙 종류도 많고 다운로드 루트를 찾기 난해하기 떄문에 어려움을 느낄 수도 있지만.. 그냥 구글링을 하면 바로 찾을 수 있다. 그 중에 D2Coding font 는 압축 파일을 받아서 ~/fonts 폴더에 새폴더를 생성해서 압축을 풀고 넣어주면 되기 때문에 비교적..
1. zsh는 무엇인가? 우선 ubuntu 를 사용하는 가난한 유져로서.. 지금까지 bash 를 사용해 왔는데 왜 굳이 zsh로 변경을 했을까 생각 하면 일단 디자인과 MacOS의 기본 z-shell 이기때문이라는 반반의 마음이였달까?? (언젠가.. MacBook를 쓸겠지...ㅠ) zsh 는 기본적으로 bash 와 매우 흡사하고 동일한 기능을 가지고 있으면 그 외 bash 에는 없는 추가기능 들이 추가되어 있다. 거대한 커뮤니티를 형성하고 있는 zsh은 oh my zsh 이라는 plugin 프레임 워크를 토하여 다양한 플러그인과 테마를 제공하고 있다. 또, 「기본 제공되는 맞춤법 수정, 향상된 명령 줄 완성, 셸의 플러그인 역할을하는 로드 가능한 모듈, 명령 대신 파일 이름 또는 명령 줄의 다른 항목을 ..
고난의 연속 2주 프로젝트 후 잠깐의 여유도 없이 바로 4주 프로젝트를 진행했다. 이전 프로젝트에 대한 아쉬움(조금 더 시간이 있었더라면..)을 상기하며, 새로운 프로젝트의 SR을 시작했고, 생각보다 빠르게 진행되었고 아이디어 역시 가능한 범위 내에서 선정하고.. 처음 시작은 매우 순조로웠다. 하지만, 첫 프로젝트에서 알게 된 지식들은 정말 빙산의 일각임을 금방 알게 되었다. 많은 언어, 프레임워크, 모듈이 존재하고, 그것들 중 하나를 선택하고 공부하고 사용하기까지의 시간은 퍽 힘들었다. 밤을 지새운다면 다음날에 팀원에게 피해를 주니 잠은 4시간 정도는 자야 했고, 그렇게 새벽까지 매일 자료를 찾아보고 사용해보고 오류를 수정해가는 나날을 보내게 되었다. 소통의 오류 프로젝트를 시작하고 열흘 정도.. 개인..