TIL💡(277)
-
[백준] 1669 멍멍이 쓰다듬기
https://www.acmicpc.net/problem/1669 1669번: 멍멍이 쓰다듬기 동물원에서 막 탈출한 원숭이 한 마리가 세상구경을 하고 있다. 그러다 오늘도 어김없이 그의 영원한 라이벌 멍멍이를 만나게 되었다. 원숭이는 멍멍이를 쓰다듬고 싶었다. 하지만 원숭이는 멍 www.acmicpc.net 🥈실버이지만 그렇다고 쉽지만은 않았던 문제였다. 우선 무턱대고 푸는 것이 아니라 규칙이 있나부터 살펴봐야했다. 문제에서 처음과 마지막에는 반드시 1cm만 클 수 있다고 했고, 1cm씩만 조정가능하다고 했기 때문에 n일 간 성장할 수 있는 최대 길이가 마치 정규분포를 그리듯 대칭적으로 규칙을 가지고 있다. 날짜 수 최대 성장 가능한 패턴 3 1 2 1 4 1 2 2 1 5 1 2 3 2 1 6 1 2 ..
2022.04.26 -
[프로그래머스] 신고 결과 받기(feat. unordered_map vs. map)
문제 https://programmers.co.kr/learn/courses/30/lessons/92334?language=cpp 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 사실 풀자마자 어떻게 푸는지 감은 왔으나, 지나치게 오랜만에 문제를 접한 탓에 메소드들이 생각이 잘 안 나서 살짝 헤맸다.. 그래도 풀자마자 통과할 수 있었다...(다행) 이 문제는 특별한 자료구조나 알고리즘이 필요한 것이 아니라 그냥 요구사항을 제대로 이해해야하는 게 관건이다. 특히 신고한 유저 - 신고 당한 유저의 관계에 ..
2022.04.25 -
React SSR, CSR 알아보기
SPA(Single Page Application) 서버에서 제공하는 페이지 하나(Single Page)이고, 외관상 페이지를 이동하는 것처럼 보여도 HTML 페이지 자체를 교체하는 것이 아니라 내부의 바뀐 데이터만을 교체한다. 이로써 부분적으로 업데이트하면서 훨씬 사용성이 향상된다. 그리고 사용자들의 PC 성능이 향상되면서 클라이언트단에서 많은 데이터와 동적 화면 변화를 처리할 수 있게 된다. 이를 활용해 CSR(Client Side Rendering)로 화면을 처리할 수 있게 된다. App.js 👉 index.html CRA 커맨드를 통해 리액트 프로젝트를 생성하다보면 기본적으로 index.html 안에 App.js가 렌더링되는 구조를 볼 수 있다. CSR 단점 1. 초기 렌더링이 느림 하지만 초기에..
2022.04.22 -
git 최초 push 시 왜 --set-upstream 옵션을 설정해야할까?
여기서 upstream은 로컬과 연결된 원격 저장소를 의미한다. git push --set-upstream A B = 로컬 A 저장소의 원격 저장소를 B로 지정하여 B에 push하라 최초 1회로 하고 나면 원격 저장소가 설정되기 때문에 이후에는 할 필요가 없다.
2022.04.19 -
[React] JWT
JWT의 이해 JSON Web Token의 약자로 데이터가 JSON으로 이루어져 있는 토큰을 의미한다. 두 개체가 서로 안전하게 정보를 주고받을 수 있도록 웹 표준으로 정의된 기술이다. 세션 기반 인증 vs. 토큰 기반 인증 세션 기반 인증 서버가 사용자가 로그인 중임을 기억하고 있다는 뜻 세션 기반 인증 시스템에서 사용자가 로그인을 하면, 서버는 세션 저장소에 사용자의 정보를 조회하고 세션 ID를 발급한다. 발급된 ID는 주로 브라우저의 쿠키에 저장한다. 그 다음에 사용자가 다른 요청을 보낼 때마다 서버는 세션 저장소에서 세션을 조회한 후 로그인 여부를 결정하여 작업을 처리하고 응답을 보낸다. 세션 저장소로는 주로 - 메모리 - 디스크 - 데이터베이스 단점 서버를 확장하기가 번거로워질 수 있다. 만약 ..
2022.04.03 -
[SQL] FROM절 JOIN 형태
ANSI/ISO SQL JOIN 설명 ANSI/ISO SQL에서 규정한 조인 문법은 WHERE 절에 조인 조건을 기술하는 전통적인 방식의 조인 문법과 차이가 있다. 사용자는 기존 WHERE 절의 검색 조건과 테이블 간의 조인 조건을 구분 없이 사용하던 방식으로 그대로 사용할 수 있으며, 추가된 선택 기능으로 테이블 간의 조인 조건을 FROM 절에서 명시적으로 정의할 수 있게 되었다. 가장 두드러지는 특징은 ON 조건절을 통해 JOIN 조건과 데이터 제한 조건을 분리해 기술하는 것이다. 전통적인 방식의 JOIN 문법에서는 WHERE 절에 JOIN 조건을 FROM 절의 ON 조건절로 분리해 표시함으로써 사용자가 이해하기 쉽도록 한다. ON 조건절의 경우 NATURAL JOIN처럼 JOIN 조건이 숨어 있지 ..
2022.03.29