전체 글
-
1269 - 대칭 차집합카테고리 없음 2025. 5. 9. 21:22
이 전에 풀었던 1764번 문제를 참고해서 우선 구현했다.#include #include #include using namespace std;int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n, m; cin >> n >> m; vector l; vector s; vector ls; int t; for (int i = 0; i > t, l.push_back(t); sort(l.begin(), l.end()); for (int i = 0; i > t, s.push_back(t); sort(s.begin(), s.end()); for (in..
-
10816 - 숫자카드 2Etc./algorithm 2025. 5. 9. 19:06
일단 구현해보았다.#include #include #include using namespace std;int main(){ int n, m; cin >> n; int *arr = new int[n]; for (int i = 0; i > arr[i]; cin >> m; unordered_map map; unordered_map order; for (int i = 0; i > x; map[x] = 0; order[i] = x; } for (int i = 0; i 1 ≤ n, m ≤ 500,000인 문제고 map[arr[i]]가 포함된 반복문에서 timeout이 나는 것으로 추정됐다... 근데 아니었다.ios_base::sync_..
-
오늘 박치기 하고 배운것Web/Frontend 2025. 2. 24. 02:49
1. useEffect의 익명함수 안에서 사용된 변수의 값은 외부에서 바꿔도 달라지지 않는다. useState 훅을 사용해서 값을 바꾸려는 시도도 무의미2. 추가한 이벤트 리스너를 remove하기 위해서는 추가할 리스너 함수를 useCallback 훅을 통하여 넣어줘야 한다.3. recoil은 리액트 19와 호환되지 않는다4. 웹서버는 http 요청의 크기 제한을 없앨 수 있으나 사용자의 브라우저에 요청 크기제한이 있다. 크롬 기준 아마 2기가. 따라서 이걸 넘어가는 대용량 파일은 분할이 필수적이다.
-
데이터베이스에 자료의 순서를 저장하는 법 - float orderEtc. 2025. 2. 13. 21:58
사이드 프로젝트를 진행하면서 순서가 있는 자료를 저장해야 할 일이 있어 관련 내용을 간단히 정리합니다.우선 이 자료들은 1. 순서 변경이 잦고 2. 자료의 추가/삭제가 잦으며 3. 정렬도 쉬어야 합니다. 가장 적절해보이는 방법은 바로 float 자료형을 이용하는 것입니다. 초기 저장을 다음과 같이 합니다.A1B2C3 이 때 D를 2번째로 정렬되도록 하고 싶다면 다음과 같이 추가합니다.A1D1.1B2C3 A를 B 뒤로 보내고 싶다면 아래와 같이 합니다.D1.1B2A2.1C3 이렇듯 링크드 리스트 방식과 다르게 order by로 정렬하기도 쉬우며,int order와 다르게 순서에 변경이 있을 때 전체 순서 값들을 업데이트 할 필요도 없습니다.
-
[DreamHack] Broken Is SSRF possible? - Lev.2Security/Web Hacking 2024. 11. 23. 22:38
드림핵 웹해킹 2단계 Broken Is SSRF possible? Broken Is SSRF possible??? : 퍼벙-(ssrf 터지는 소리)dreamhack.io SSRF란? Server-Side Request Forgery서버측 요청을 위조하는 공격기법 제가 자주 사용하는 웹사이트 중에 인스타나 트위터 동영상을 다운로드 받게 해주는 사이트가 있습니다. 보통 그런 사이트는 인스타나 트위터 게시글 링크를 입력하면 동영상을 다운 받을 수 있는데, 아마 요청된 주소를 이용하여 동영상 정보를 따와서 다운로드 할 수 있도록 해주는 것으로 추측됩니다. 그렇다면 해당 웹사이트 서버는 요청한 인스타 or 트위터 주소로 요청을 보낼텐데, 만약 이 주소 값을 검증하지 않는다면 서버가 다른 곳으로 요청을 보내도록 ..
-
[React + Electron] #01 리액트와 일렉트론으로 데스크탑 앱 만들기App/Desktop 2024. 11. 2. 18:46
# 개인 기록용 리액트를 좀 공부하려는데 이것저것 웹서버를 만들려니 아이디어가 떠오르질 않습니다. 그래서 전에 시도했던 키보드 매핑 프로그램을 한번 다시 각 잡고 만들어보려고 합니다. react와 electron을 이용한 앱을 만들기 위해 우선 프로젝트 세팅부터 기록하겠습니다. 참고한 글 1. 프로젝트 생성 리액트 프로젝트 생성은 CRA (create-react-app)을 보편적으로 쓰지만, 저는 vite를 사용하겠습니다. CRA보다 빌드 속도가 빠르기 때문입니다. 사실 그렇게 대규모 ui가 될 것 같진 않아서 CRA를 써도 될 것 같긴한데, 나중을 위해 vite 연습하는 셈 치고 vite로 골랐습니다.$ npm create electron-vite$ cd [입력한 프로젝트 명]$ npm i npm c..
-
[Nest + Prisma] #03 Prisma SchemaWeb/Backend 2024. 10. 19. 13:40
# 개인 기록용 지난번에 설정한 prisma의 데이터 모델들을 짜보도록 하겠습니다.오늘 나오는 내용들은 전부 `./prisma/schema.prisma` 파일에 들어갈 내용입니다. 1. 모델 정의model User { // Fields @@maps("users")}모델 정의는 위과 같이 합니다. 관계형 데이터베이스에서 각 테이블의 이름이 되는 명칭이 모델명입니다. 모델명을 User로 주면 User라는 테이블이 생성될 것입니다. 다만 만약 모델명과 테이블명을 다르게 가져가고 싶다면 위와 같이 닫는 괄호 위에 `@@map("테이블명")`라는 구문을 붙여주시면 됩니다. 위의 경우에 모델명은 "User", 테이블명은 "users"가 됩니다. 2. 필드 정의model User { id Strin..
-
[Nest + Prisma] #02 Prisma 세팅Web/Backend 2024. 10. 16. 20:44
# 개인 기록용참조 글 1. Prisma 설치$ npm install prisma --save-dev--save-dev 옵션을 주는 이유는?=> prisma 패키지가 개발 과정에서만 사용하는 패키지이기 때문. 2. Prisma 초기화$ npx prisma$ npx prisma initnpx prisma 명령어로 사용 가능한 prisma 명령어 목록을 확인할 수 있다.npx prisma init 명령어를 입력하면 prisma 세팅에 필요한 기초적인 요소들이 생성된다. (prisma 폴더, .env 파일, 스키마 파일 등) 3. Prisma 세팅// ./prisma/schema.prismagenerator client { provider = "prisma-client-js"}datasource db { ..