본문 바로가기

728x90
반응형
Develop
728x90
반응형
116

백준 15705 단어 찾기 N*M 배열에 단어 S 있으면 1 반환 없으면 0 반환 브루트 포스 방식, 완전 탐색 python 풀이 import sys def Input_Data(): readl = sys.stdin.readline word = str(readl().split()[0]) N, M = map(int, readl().split()) word_map = [[i for i in str(readl().split()[0])] for _ in range(N)] return word, N, M, word_map def chk_word(r, c): for dy, dx in d: idx = 0 if word_map[r][c] == word[idx]: nr, nc = r+dy, c+dx idx += 1 while 0 2024. 2. 24.
Github profile 꾸미기 뭔가 허전한 내 github 프로필.. 꾸며보자 내 이름이랑 같은 레포 파면 꾸밀 수 있다. 이때 README 파일 꼭 추가하고 퍼블릭으로 해야된다고 귀여운 깃헙 고양이가 알려준다. README.md 수정 이제 만든 레포에서 readme 꾸미면 프로필에 나오게 되는데, 다른 개발자분들 프로필 구경하면서 꾸미면 된다. 보통 짧은 소개, 사용해본 기술스택, contact 등의 정보를 넣는 것 같아서 나도 그렇게 하기로 결정~! 마크다운 미리보기 👉🏻 https://dillinger.io/ 배지 활용하기 👉🏻 shields.io 이런식으로 논문 개발한 레포에서 많이 보던 뱃지들 넣을 수 있다. 내 github 방문자 수 확인 👉🏻 https://hits.seeyoufarm.com (http://hits.dwy.. 2022. 1. 19.
Access Token + Refresh Token JWT 인증 Refresh token 사용 이유 Access Token(JWT)를 통한 인증 방식의 문제 제 3자에게 탈취당할 경우 보안에 취약하다는 점입니다. 유효기간이 짧은 Token의 경우 그만큼 사용자는 로그인을 자주 해서 새롭게 Token을 발급받아야 하므로 불편합니다. ⇒ 유효기간을 늘리면, 토큰을 탈취당했을 때 보안에 더 취약해지게 됩니다. “유효기간을 짧게 하면서 좋은 방법이 있지는 않을까?”라는 질문의 답이 바로 "Refresh Token"입니다. Refresh Token Access Token과 똑같은 형태의 JWT 로그인 시 Access Token과 동시에 발급되는 Refresh Token은 긴 유효기간을 가지면서, Access Token이 만료됐을 때 새로 발급해주는 열쇠가 된다. ex. Ref.. 2021. 9. 10.
클로저- 콜백을 구현하는 이상적인 구조 자바스크립트를 공부하다 보면 흔히 접할 수 있는 단어 중 하나인 클로저! 콜백을 공부하다보면 접할 수도 있고, 전반적인 프로그래밍 언어를 공부할 때 등장하는 개념이기도 하다. 이 글은 mdn 클로저 문서를 보고 공부하며 적은 글입니다 ㅎㅎ.. 클로저 클로저란 함수와 함수가 선언된 어휘적 환경(Lexical scoping)의 조합이다. MDN 에서는 이렇게 클로저를 정의하고 있다. 그렇다면 어휘적 환경, Lexical scoping 은 뭘까? 쉽게 말하면 변수들의 범위를 어휘적으로 지정하겠다는 말이다. 즉 지역변수의 스코프(범위)를 어디에 선언했는지에 따라 결정하는 것. 예제를 보자. function init() { var name = "구운밤"; function displayName() { console.. 2021. 1. 27.
Javascript는 비동기를 어떻게 처리해 - async await 시리즈 목차 이 글은 시리즈 글입니다. 이번 글에서는 자바스크립트에서 비동기 작업을 더 쉽게 다룰 수 있는 방식인 async await 에 대해 알아볼 것입니다. 기본적으로 자바스크립트가 비동기로 동작하지 않는다는 사실과 비동기룰 다루던 첫 형태인 콜백함수, 그 콜백 함수를 더 쉽게 다루기 위해 등장한 프로미스는 저번 글에서 다루었습니다! 자바스크립트가 비동기함수를 어떻게 처리하는지 동작 원리를 모르시는 분과 콜백함수, 프로미스가 뭔지 잘 모르겠다 하시는 분들은 이전 글을 참고해보세요! Javascript는 비동기를 어떻게 처리해 - 동작 원리 Javascript는 비동기를 어떻게 처리해 - 콜백 함수 Javascript는 비동기를 어떻게 처리해 - 프로미스 Javascript는 비동기를 어떻게 처리해 .. 2021. 1. 22.
Javascript는 비동기 함수를 어떻게 처리해 - 프로미스 시리즈 목차 이 글은 시리즈 글입니다. 이번 글에서는 자바스크립트에서 비동기 작업을 더 쉽게 다룰 수 있는 방식인 Promise에 대해 알아볼 것입니다. 기본적으로 자바스크립트가 비동기로 동작하지 않는다는 사실과 비동기룰 다루던 첫 형태인 콜백함수는 저번 글에서 다루었습니다! 자바스크립트가 비동기함수를 어떻게 처리하는지 동작 원리를 모르시는 분과 콜백함수가 뭔지 잘 모르겠다 하시는 분들은 이전 글을 참고해보세요! Javascript는 비동기를 어떻게 처리해 - 동작 원리 Javascript는 비동기를 어떻게 처리해 - 콜백 함수 Javascript는 비동기를 어떻게 처리해 - 프로미스 Javascript는 비동기를 어떻게 처리해 - async await Promise 프로미스가 뭘까요? 프로미스는 약속을.. 2021. 1. 20.
Javascript는 비동기를 어떻게 처리해 - 콜백함수 시리즈 목차 이 글은 시리즈 글입니다. 이번 글에서는 자바스크립트에서 처음으로 비동기 작업을 다뤘던 방식인 콜백함수에 대해 알아볼 것입니다. 기본적으로 자바스크립트가 비동기로 동작하지 않는다는 사실은 저번 글에서 다루었죠! 자바스크립트가 비동기함수를 어떻게 처리하는지 동작 원리를 모르시는 분들은 이전 글을 참고해보세요! Javascript는 비동기를 어떻게 처리해 - 동작 원리 Javascript는 비동기를 어떻게 처리해 - 콜백 함수 Javascript는 비동기를 어떻게 처리해 - 프로미스 Javascript는 비동기를 어떻게 처리해 - async await 콜백함수 예제 자바스크립트를 비동기 처리하기 위해 제일 처음으로 등장했던 방식은 콜백함수를 이용해 처리하는 것이었습니다. 요즘은 이 방식을 잘 사.. 2021. 1. 20.
Javascript는 비동기를 어떻게 처리해 - 동작 원리 시리즈 목차 자바스크립트는 비동기 작업을 할 수 있다! 정도로 보통 알고 있죠. 이러면 안됩니다. 저 또한 이 과정을 모른 채 그냥 코딩만 해왔었는데 이젠 하나하나 공부해보려 합니다. 프로미스가 뭔지, async await가 뭔지 궁금해하고, 위의 내부과정을 알고싶어해야 했죠. 이를 알고 싶다면 먼저 자바스크립트에 대해 알아야 합니다. 이번 글에서는 자바스크립트가 비동기를 어떻게 처리하는지 그 원리에 대해 알아보고, 이후 글에서 프로미스, async await, fetch에 대해 비교하고 글을 수정해볼게요. Javascript는 비동기를 어떻게 처리해 - 동작 원리 Javascript는 비동기를 어떻게 처리해 - 콜백 함수 Javascript는 비동기를 어떻게 처리해 - 프로미스 Javascript는 비.. 2021. 1. 19.
CORS 이슈 해결하기 cors는 cross origin resource sharing의 약자로 개발할 때 많이 발생하는 이슈 중 하나입니다. 특히 최근에는 서버와 프론트의 ip 주소가 달라 이런 경우가 더 많이 발생하고 있는데, 이 이슈는 브라우저에서 요청 못하게 막는 거여서 제대로 해결하려면 어려운 부분이죠. cors가 뭔지 먼저 알아봅시다. CORS의 의미 cors에서 말하는 origin은 url에서 프로토콜(https) + 호스트(www.naver.com) + path(/users) + 쿼리(?sort=asc&page=1) + fragment(#foo)로 이루어진 부분을 말한다. 여기에 포트번호가 있다면 포트번호까지 합친 것이 origin 이고 포트번호가 없다면 기본포트인 80을 사용한다는 의미입니다. 여기서 포트번호까.. 2021. 1. 18.
웹사이트가 브라우저에 뜨는 과정 웹사이트가 브라우저에 뜨는 과정을 알아보자. 단골 개발자 면접 질문중에 하나로 네트워크가 있지. 네트워크 수업을 들었다면 조금 더 이해가 쉬울텐데 이 과정을 간단히 정리해보면 다음과 같다. 요약 사용자가 브라우저에 url 입력 url 에서 도메인 name 부분을 DNS 서버에서 검색한다. DNS 서버에서 해당 domain name에 해당하는 ip 주소를 찾아 url 정보와 함께 전달. 웹페이지 url 정보와 전달받은 ip 주소는 http 프로토콜을 사용해 http 요청 메세지를 생성. 4번에서 생성된 http 요청 메세지를 tcp 프로토콜을 사용해 인터넷을 거쳐 ip 주소의 컴퓨터로 전송. 도착한 http 요청 메시지는 http 프로토콜을 사용해 http 응답을 만든다. 만들어진 http 메시지를 다시 .. 2021. 1. 18.