목록모든 글 (126)
코딩쌀롱

✱ Promise const promise = new Promise((resolve, reject) => {...}); new Promise()로 프로미스를 생성할 수 있으며, 그 내부에 resolve, reject를 매개변수로 갖는 콜백함수(executor)를 넣는다. 이렇게 만든 promise 변수에 then과 catch 메서드를 붙일 수 있다. 프로미스 내부에서 비동기 작업이 성공적으로 이행됐으면 resolve가 호출되고, then이 실행된다. 작업에서 오류가 발생한 경우 reject가 호출되고, catch가 실행된다. finally는 성공/실패 여부와 상관없이 실행된다. const condition = true; // true면 resolve, false면 reject const promise =..

코드스쿼드 3주차📚 구글링으로 키워드를 검색하다보면 그 개념에 대해서는 어느 정도 알겠지만 뭔가 구조가 머리에 잡히지 않아 답답하다. 그래서 더 재미없게 느껴지는 것 같기도. 그런 점에서 접해본 적 없는 개념을 비전공자가 공부하기에는, 책을 읽거나 강의를 쭉 듣는 게 전반적인 흐름이 이해가 돼서 좋은 것 같다. 만화로 배우는 CPU책, Crash Course 유튜브 강의가 그런 면에서 아주 좋았다. 그래서 운영체제 책을 샀다. 서점 갈 때마다 없어서 미뤘는데 드디어 인터넷으로 주문을 했다. 미션 관련 공부를 하면서 이해를 못하고 넘어가는 느낌이 영 찝찝한 게 빨리 강의를 듣고 싶었다. 만화CPU책을 빨리 다 읽어야 하는데, 앞 내용이 제대로 안 잡혀서 읽었던 데를 반복해서 읽다보니 늦어진다. ⚡️다음주에..

티스토리는 블로그에 글을 쓸 때 글자 크기를 제목1~3, 본문1~3으로만 조절할 수 있다. 그런데 본문 글자 크기 중 가장 큰 본문1로 해도 작아서 글을 보는데 답답했다. css 편집으로 글자 크기를 키우고, 줄 간격도 키워주었다. 또 모바일 화면과 웹으로 볼 때 줄 간격이 다르게 적용돼서 모바일 화면일 경우에도 줄 간격도 설정해주었다. 아 그리고 내가 사용하고 있는 스킨이 '반응형 #2'라서 다른 스킨들은 CSS파일이 다를 것이기 때문에, '반응형 #2'스킨에만 해당하는 내용이다. 글의 순서는 아래와 같다. 1. 스킨 편집 → html 편집 2. 글자 크기 변경 3. 줄 간격 변경 4. 모바일 웹 반응형으로 변경 5. 모바일 웹 줄 간격 변경 6. 인용 글자 크기 변경 7. 인용1 왼쪽 바 두께, 스타..

✱ 프로그램, 프로세스 프로그램 • 파일이 저장 장치에 저장되어 있지만 메모리에는 올라가 있지 않은 정적인 상태 메모리에 올라가 있지 않은 : 운영체제가 프로그램에게 독립적인 메모리 공간을 할당해주지 않았다는 뜻, 모든 프로그램은 운영체제가 실행되기 위한 메모리 공간을 할당해줘야 실행될 수 있다. 정적인 상태: 아직 실행되지 않고 가만히 있는 상태 • 아직 실행되지 않은 파일 그 자체, 코드 덩어리 파일. 프로세스 • 프로그램을 실행하는 순간 해당 파일은 컴퓨터 메모리에 올라가게 되고, 이 상태를 동적인 상태라고 하며 이 상태의 프로그램을 프로세스라고 한다. 위키피디아에서는 프로세스를 '실행되고 있는 프로그램'이라고 정의를 내리고 있다. • CPU가 처리하는 작업(Task)라고도 불린다. • 디스크에 저..

프로그래밍 패러다임 •패러다임 : 세계를 이해하는 방식, 어떤 한 시대 사람들의 견해나 사고를 근본적으로 규정하고 있는 인식의 체계 •프로그래밍 패러다임 : 프로그래밍을 어떤 관점으로 보고 이해하는가, 프로그램을 작성할 때의 관점 프로그래밍 패러다임은 여러 가지가 있고, 대표적으로는 아래와 같다. •명령형 프로그래밍 : 절차지향, 객체지향 •선언형 프로그래밍 : 함수형, 반응형 최근 대부분의 프로그래밍 언어는 여러 개의 패러다임을 갖는데 이런 언어를 멀티 패러다임 언어라고 한다. 대표적으로 자바스크립트가 그러하다. 어떤 언어는 하나의 패러다임을 갖기도 하지만 최근에는 여러 패러다임들이 관대하게 지원되고 있다. 예로 자바는 람다가 생기면서 함수형 프로그래밍도 가능해졌다. 누구나 세계관을 가지고 있듯, 각각..

문제 프로그래머스 모의고사 문제 input: 1번부터 마지막 문제까지 정답이 순서대로 들은 배열 answers output: 가장 많은 문제를 맞힌 사람이 누구인지 담음 배열 (여럿일 경우 오름차순) 나의 풀이 1, 2, 3번 학생들의 찍는 번호들을 담을 배열을 어떻게 저장할지 고민하다가 처음에는 2차원 배열로 저장했다. 코드를 모두 작성했을 때 지저분해보이고, forEach를 한 번 더 돌아야해서 각 학생들의 배열들을 따로 저장하는 것으로 수정했다. 그리고 메서드 체이닝을 많이 안 써봤는데 보기에 되게 좋은 것 같다! 자주 활용해봐야겠다.

문제 프로그래머스 크레인 인형뽑기 게임 문제 input: 1) 게임 화면의 격자 상태가 담긴 2차원 배열 board 2) 인형을 집기 위해 크레인을 작동시킬 위치가 담긴 배열 moves output: 크레인을 모두 작동시킨 후 터뜨려져 사라진 인형의 개수(number) 나의 풀이 한 달 전쯤 같은 문제를 풀었었는데 그 때는 이중 for문으로 풀었었다. 그래서 이번에는, 1. for문을 사용하지 않고 2. reduce를 사용해서 2차원 배열의 행, 열을 바꿔주는 함수도 직접 작성해보기로 했다. let board = [ [0, 0, 0, 0, 0] [0, 0, 1, 0, 3] [0, 2, 5, 0, 1] [4, 2, 4, 4, 2] [3, 5, 1, 3, 1] ]; 문제에서 input으로 주는 2차원 배열 ..

오랜만에 키캡을 샀다!! 엠스톤 그루브 sf 갈축 키보드를 살 때 포인트 키캡도 같이 구매해서 esc, enter만 바꿔 썼었다. 드보키님이 게저갈 영상에서 엠스톤 다크시티 키보드에 포인트 키캡을 낀 게 넘 예뻐보여서 그대로 따라 샀었다ㅋㅋㅋㅋ 바꾸고 싶어질 때쯤 사오파오에서 맘에 든 게 딱 새로 올라왔다. 돌치 RGBY🔺🟩🔹🟡 원래 돌치스타일을 좋아하지 않는데 RGBY는 폰트며 구글같은 색들이 너무 귀엽다! 가격도 괜찮은 것 같다 pbt, 염료승화에 499 팁 아닌 팁을 드리자면, 사오파오에서 5만원부터 무료배송인데 추가상품에 1500원짜리 와이어 리무버가 있어서 그걸 사면 49900 + 1500원에 무료배송이라 결과적으로 더 싸게 사면서 리무버를 겟할 수 있다! 나는 와이어 리무버는 있어서 2500원..

아래의 두 배열을 반복문 사용하지 않고 만들어보자. ① 인덱스가 곧 원소이고, 길이가 num인 배열 ex) num = 3 → [ 0, 1, 2 ] num = 5 → [ 0, 1, 2, 3, 4 ] ② 1부터 num까지의 원소를 갖는 배열 ex) num = 3 → [ 1, 2 , 3 ] num = 5 → [ 1, 2, 3, 4, 5 ] 1. new Array() + fill + map // 1번 const getArr1 = num => new Array(num).fill(0).map((_, i) => i); // 2번 const getArr2 = (num, start = 1) => new Array(num).fill(0).map((_, i) => start + i); 2. Array.from() // 1번..

함수형 프로그래밍에 대해 공부하면서 고민했던 과정들을 정리해보려고 한다. 1. 클래스를 사용해야 할까? 처음에 했던 생각 ➙ this.prop은 클래스 내 속성으로 함수에서 사용하면 외부 변수를 사용한 게 된다. 순수 함수를 작성하기 위해서는 외부 변수를 사용하면 안 되므로, 클래스 내 속성을 함수의 인자로 받는 것으로 모두 바꿨다. 속성을 사용하지 않게 되면서 굳이 class의 사용 필요성을 못 느껴 클래스를 없애고 함수표현식만으로 작성했다. 더 생각해보면, ➙ 클래스 내에 다른 메서드를 사용할 경우 this를 쓸 수 밖에 없는데, this를 쓴다는 것은 인스턴스를 참조한다는 것이고, 이 자체가 외부 변수를 사용한다는 것이 되므로, 클래스 내 메서드에서 순수함수를 만든다는 것은 쉽지 않을 것 같다. 메..