일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- JS
- 리액트
- 백준js
- css기초
- 백준구현
- 리액트댓글기능
- HTML5
- 포이마웹
- 백준알고리즘
- js코테
- 몽고DB
- 알고리즘
- 프로그래머스
- dp알고리즘
- 다이나믹프로그래밍
- 프로그래머스코테
- 백준구현문제
- 백준
- 코테
- JS프로그래머스
- 안드로이드 스튜디오
- 리액트커뮤니티
- CSS
- 코딩테스트
- 익스프레스
- 프로그래머스JS
- 백준골드
- HTML
- 자바스크립트
- 백준nodejs
- Today
- Total
목록전체 글 (454)
개발새발 로그
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ZT5Yl/btsvdqNWqy1/305ILDkbWjngWyK45ynlsK/img.png)
함수형 프로그래밍 함수형패러다임 - 패러다임은 무엇을 해야할지를 말하기보다 무엇을 해서는 안되는지 말해준다. 패러다임, paradigm 한 시대의 사람들의 견해나 사고를 근본적으로 규정하고 있는 인식의 체계. 또는, 사물에 대한 이론적인 틀이나 체계. 순화어는 `틀'. 프로그램은 순차, 분기, 반복, 참조로 구성 패러다임은 위 4가지 요소를 어떻게 이용할 것인가를 다룬다. 함수형 패러다임 - 객체지향 추상화의 최소단위가 객체인 것처럼 함수형은 함수가 최소 단위이다. - 재사용성이 높다. - 불변성을 지향하기에 동작을 예측하기 쉽고, 사이드 이펙트를 방지한다. -> 사이드 이펙트를 방지한다는 것은 동시성 문제도 해결된다는 의미 정리 - 객체 지향은 [순차, 분기, 반복, 참조] 이 4가지 제어흐름의 전환을..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cg51xY/btsu9RZKwF3/bdGZGngicx4OrCXfO7erxk/img.png)
암호화 - 평문(Plaintext)을 해독할 수 없는 암호문(Ciphertext)로 변환하는 것을 의미 - 단방향(해싱)과 양방향 암호화가 존재한다. 단방향 암호화 - 해시알고리즘을 이용하여 평문을 복호화할 수 없는 형태로 암호화 한다. - 보통 사용자 비밀번호를 저장할 때 사용 -> 저장하는 측에서도 해당 데이터를 모르게 하도록 하기 위해 - 대표적으로 MD5와 SHA 알고리즘이 있다. 단방향 암호화에서 고려할 점 -해킹공격 중 Rainbow Table에 대비해야한다. -Rainbow Table은 평문과 해시 함수로 만든 문자열을 모두 저장시켜놓은 표를 말한다. -만약 암호화된 데이터를 탈취당했을 때 해커들은 미리 평문 데이터들을 해시 알고리즘을 통해 DB에 저장해놓은 것들을 사용한다. 그 후 탈취한 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/rX6HC/btsu2bLmm9I/k8ruheJ8SbTIhdmv1m9HHK/img.png)
컴퓨터 시간 우리가 사용하는 컴퓨터의 시간은 어떤 원리로 작동하는 것일까? 컴퓨터의 시간은 현실세계의 시간을 전산화한 것이기 때문에 시간에 대한 개념을 잘 알아야한다. 시간은 어떤 기준으로 결정될까? 1. 물리량 - 시간은 물리학 관점에서 봤을 때 시각과 시각 사이 간격을 표현하는 단위를 뜻한다. 2. 위치 - 시간은 위치에 따라 다르게 표현된다. 3. 천문 현상 - 지구의 자전속도의 불규칙성, 지구의 자전주기와 공전주기 등 천문 현상으로 인한 시간보정이 필요 협의에 따른 표현 1. 문화 -문화에 따라 시간 표현이 다를 수 있다. - 태양력, 태음력, 이슬람력 2. 역사 - 역사적 사건에 의해 시간은 다르게 표현될 수 있다. - 1592년 10월 4일 다음날은?(그레고리력을 사용하는 국가는 10월 5일에..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b0cAEi/btsvdsSwZ03/AGWdUkXK13kLxyXKYmKofK/img.png)
브라우저에 URL을 입력하면 무슨일이 발생할까 1. URL을해석한다. -URL은 스키마,계정정보,호스트,포트와같은 정보로 이루어져있음 scheme://:@/ 스키마 : 프로토콜 계정정보 : 인증이 요구되는 경우 아이디와 패스워드를 입력해야 접속허가를 받음 2.DNS 조회 - DNS는 도메인과 IP주소를 서로 변환해준다. - DNS로 요청을 보내기 전에 브라우저 캐시와 Hosts파일을 참조한다. ->만약 해당하는 도메인을 알고 있다면 내부적으로 IP를 반환한다. -> 둘 다 해당이 안된다면 DNS 를 호출 -이 때 Root Server -> TLD Server -> Authoritative Server 순으로 탐색하게 된다. 도메인과 호스트 차이 3. 해당 IP가 존재하는 서버로 이동 - 네트워크 장비 라..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ON5Zu/btsuZRS3E5w/Tfog7MASB136g0jlH03Fik/img.png)
https://www.acmicpc.net/problem/2225 2225번: 합분해 첫째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 📋풀이방법 1. K와 N의 상관관계를 표로 나타내보았다. 2. 이를 통해 DP[K]N]의 값은 DP[K][N-1] 과 DP[K-1][N] 의 합으로 구할 수 있습니다 - 왜냐하면 DP[K][N-1] (왼쪽 파란색) 자체가 이미 DP[K-1][0] 부터 DP[K-1][N-1] 까지의 합 (이전 표에서 위쪽 파란색) 을 반영한 것이기 때문에, 그 값을 바로 더해줘도 되는 것입니다. 🤟내 제출 const fs = require("fs"); const filePath = process.platform === "linux" ? "/..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c86qgx/btsu17IQQpQ/IR3njAQAHLW87w0KsncLWK/img.png)
스코프 유효 범위라고도 부르며 변수가 어느 범위까지 참조되는 지를 뜻한다. - Global Scope - Local Scope 이때 var를 사용하면 개발자가 예상치 못한 오류가 생길 수 있다. - 호이스팅 되기 때문에 블록 내부에서 선언하더라도 블록 외부 변수 값도 변하게 된다. -> var를 가급적 사용하지 않는 이유 클로저 함수가 선언된 환경의 스코프를 기억하여 함수가 스코프 밖에서 실행될 때에도 기억한 스코프에 접근할 수 있게 만드는 문법 function outerFunc() { var x = 10; var innerFunc = function () { console.log(x); }; innerFunc(); } outerFunc(); // 10 은닉화 쿨로저를 이용하여 내부 변수와 함수를 숨길 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/br02vg/btsu9UIWD9o/g1Bk4Wl8wNZ69UxL47kt10/img.png)
아래 상황을 살펴보자 temp라는 변수가 선언되면 값을 바라보고 있는 것이 아닌 메모리 주소를 바라보고 있다. 만약 여기서 새로운 변수에 기존 변수를 대입하면 마찬가지로 기본변수의 메모리 주소를 바라보게 된다. 이때 기본 변수의 값을 조작하면 어떻게 될까요? 새로운 메모리 주소를 할당받고, 그것에 값을 넣게 된다. 이유는 자바스크립트에서 원시타입은 변경이 불가능하기 때문이다. 따라서 원시타입의 값이 변경될 때에는 항상 메모리가 새로 할당된다. 여기서 자바스크립트엔진은 가상머신으로 구성되어 있다. 이 가상머신에는 메모리모델을 구현해 놓았는데 각각 heap영역과 callstack영역이다. heap은 참조타입이. 들어가고 callstack은 원시타입이 들어간다. 아래의 상황을 보자. 좌측코드를 실행시키면 우측..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/q0lDc/btsvbE6L0Ef/f4Zkd7LAgLlKVRvc2BynBk/img.png)
변수 일반적으로 수학에서는 변하는 값 컴퓨터공학에서의 변수는 비슷하지만 조금 다른 의미를 가짐 상황에 따라 변하는 값이 아닌 우리가 직접 메모리에 할당한 값을 의미 컴퓨터 프로그래밍언어에서 무언가 명령을 내리기 위해서는 키워드를 사용해야 한다. 예약어라고도 불리는 키워드는 여러 가지가 존재하지만 변수를 선언하기 위해서는 var와 let 이 있다. var - ES6 이전에 사용되던 키워드 - 지금도 사용되지만 권장하지 않음 let - ES6 이후에 사용할 수 있는 키워드 - 현재 권장하는 키워드 var를 권장하지 않는 이유는? - 호이스팅 문제! https://gmlwjd9405.github.io/2019/04/22/javascript-hoisting.html [JavaScript] 호이스팅(Hoistin..