javascript
-
[프로그래밍 이론] 모던자바스크립트 Deep Dive(2)IT 지식 2021. 4. 3. 08:11
4장 p.35 메모리는 데이터를 저장할 수 있는 메모리 셀의 집합체다. 메모리 셀 하나의 크기는 1 바이트(8비트)이며, 컴퓨터는 메모리 셀의 크기, 즉 1 바이트 단위로 데이터를 저장하거나 읽어들인다. p.36 메모리 주소를 통해 값에 직접 접근하는 것은 치명적인 오류를 발생시킬 가능성이 매우 높은 매우 위험한 일이다. 만약 실수로 운영체제가 사용하고 있는 값을 변경하면 시스템을 멈추게 하는 치명적인 오류가 발생할 수도 있다. 따라서 자바스크립트는 개발자의 직접적인 메모리 제어를 허용하지 않는다. 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름을 말한다. p.38 변수 이름을 식별자라고도 한다. 식별자는 어떤 값을 구별해서 식별할 수 있는 고유..
-
객체지향 프로그래밍 - 캡슐화(encapsulation)IT 지식 2021. 3. 21. 11:37
객체 지향 프로그래밍 객체 지향 프로그래밍(영어: Object-Oriented Programming, OOP)은 컴퓨터 프로그래밍의 패러다임 중 하나이다. 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. 객체 지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다. 또한 프로그래밍을 더 배우기 쉽게 하고 소프트웨어 개발과 보수를 간편하게 하며, 보다 직관적인 코드 분석을 가능하게 하는 장점을 갖고 있다. 그러나 지나친 프로그램의 객체화 경향은 실제 세계의 모습을 그대로 반영하지 못한다는 ..
-
암호화에 대한 이해IT 지식 2021. 3. 7. 16:34
저번 포스팅에서는 암호화가 무엇인지에 대한 소개 없이, 바로 암호화를 하는 방식에 대해 소개해드렸는데요. 오늘은 저번 시간에 이어서 암호화에 대한 이해와 그 방식에 대해 알아보는 시간을 가져보도록 하겠습니다. 1. 암호화란? 암호화라는 말의 의미는 우리가 일상적으로 쓰는 평문을 다른 사람들이 쉽게 이해할 수 없도록 암호문으로 바꾸는 과정을 말합니다. 반대로 암호화된 문장을 이해할 수 있도록 암호문을 평문으로 바꾸는 과정을 복호화 라고 합니다. 키(Key)와 알고리즘을 통해 암호화와 복호화가 이루어지며, 이러한 일련의 과정들을 암호화 시스템이라고 합니다. 2. 암호화의 방식 암호화의 방식에는 크게 대칭키 방식, 비대칭키 방식, 해쉬함수로 분류할 수 있습니다. 1) 대칭키 방식 대칭키 방식은 암호화 키와 복..
-
[TIL] 21/01/19 알고리즘 풀이IT 지식 2021. 1. 19. 11:59
오늘의 문제 - 프로그래머스 '체육복' 문제 소개 더보기 문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 ..
-
[TIL] 21/01/18 알고리즘 풀이IT 지식 2021. 1. 18. 11:34
오늘의 문제 - 프로그래머스 '가운데 글자 가져오기' 문제 소개 더보기 가운데 글자 가져오기 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 제한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 sreturn abcde c qwer we 나의 풀이 초기 풀이 더보기 function solution(s) { var answer = ''; //단어를 추출하기 위해 단어를 하나하나 쪼개야 한다고 생각했습니다. let answerArr = []; s = s.split('') //그리고 가운데 글자의 위치를 파악하기 위해 중간 지점의 숫자도 설정해주었습니다. var n = parseInt((s.length - 1)..
-
[TIL] 21/01/15 알고리즘 풀이IT 지식 2021. 1. 15. 11:52
오늘의 문제 - 프로그래머스 코딩테스트 연습 '모의고사' 오늘 문제는 아쉽게도 해결하지 못해서 다른 분의 코드를 보면서 이해하는 쪽으로 공부를 했습니다. 문제 설명 더보기 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제..
-
[TIL] 21/01/12 알고리즘 풀이IT 지식 2021. 1. 12. 13:55
문제 - 프로그래머스 월간 코드 챌린지 시즌 1 > 두 개 뽑아서 더하기 문제 설명 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers의 길이는 2 이상 100 이하입니다. numbers의 모든 수는 0 이상 100 이하입니다. 입출력 예 더보기 numbersresult [2,1,3,4,1] [2,3,4,5,6,7] [5,0,2,7] [2,5,7,9,12] 입출력 예 설명 입출력 예 #1 2 = 1 + 1 입니다. (1이 numbers에 두 개 있습니다.) 3 = 2 + 1 입니다. 4 = 1 + 3 입니다. 5 = 1..
-
[TIL] 웹팩에 대하여IT 지식 2020. 12. 29. 15:10
저는 프로젝트 초기 셋팅을 주로 create-react-app 이나, create-next-app을 활용하여 진행합니다. 이 npx 명령어들은 웹팩과 바벨에 대한 셋팅까지 자동으로 해주기 때문에 이전까지는 제가 웹팩이나 바벨에 대해 신경을 쓰지 않아도 됐습니다. 하지만 프론트엔드 개발자로서 웹팩과 바벨에 대한 기본적인 이해가 필요하다고 생각하게 되었습니다(내가 활용하고 있는 기술 스택이 뭔지는 알고 써야하니까요). 그래서 이번 포스팅에서는 웹팩이란 무엇이고 이것을 어떻게 활용하는 지에 대해 알아보도록 하겠습니다. 1. 웹팩이란? 웹팩이란 최신 프런트엔드 프레임워크에서 가장 많이 사용되는 모듈번들러(Module Bundler)입니다. 모듈 번들러란 웹 애플리케이션을 구성하는 소스코드 등(HTML, CSS,..