| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 29 | 30 | 31 |
- 사이클 판별
- 트리
- UMC 블로그챌린지
- 스프링부트
- abex_crackme
- 백준
- docker
- 코테
- frontend
- UMC
- Lexer
- 컴파일러
- parser
- 리버싱
- 코딩테스트
- 최대힙
- boj
- compiler
- c++
- IT동아리
- 백준온라인저지
- 자료구조
- UMC10기
- 레지스터
- 학습회고
- 투포인터
- 위상정렬
- abexcrackme
- 최소힙
- 자바스프링
- Today
- Total
목록전체 글 (146)
박박공부
학연생을 시작하게 됐는데 교수님 랩실에서 무슨 매주 1문제 교수님이 준 PS 문제풀기 못풀면 남기 이런걸 한다중학교 때 정올 사이트 계정 있었는데 남아있는지 모르겠어서 새로 팠다 (요이~) 생 구현 문제는 누가 시키지 않는 이상 먼저 손을 안 대는 유형이기도 해서 문제의 난이도와 별개로 꽤 해맸다 백준 사라지고 처음이라서 너무 오랜만이었고, 백준보다도 먼저 사용하던 사이트라 반가웠다 https://jungol.co.kr/problem/1733?cursor=Niw2LDc%3D 오목을 판별하는 문제인데 6목이 있으면 안된다6목 체크가 제일 어려운 문제 내가 난항을 겪은 이유는 2가지- (0,0)에서 시작하기 때문에 왼쪽 아래 대각선으로 움직이며 체크해야하면 충분한데 그 이외 4가지 방향까지 생각하느랴 dx..
💡 What I Learned- 어셈블리 코딩- pwntools 사용법- Command Injection 개념 + 실습- Shellcode 개념 + 실습 이번에도 중요하다 생각되고 다시 복습해야한다고 생각되는 친구들 위주로 Packing & UnPacking패킹과 언패킹은 데이터를 하나의 형태로 모아 포장하거나 다시 분해하는 것을 의미시스템 해킹에서는 정수 값을 bytes 클래스로 변환하거나 그 반대의 행위가 자주 요구되기에 pwntools에서는 이 기능이 함수로 구현되어 있음 → 이를 패킹과 언패킹이라고 함p8(), p16(), p32(), p64()는 숫자를 bytes 클래스로 패킹하는 함수u8(), u16(), u32(), u64()는 bytes 클래스를 숫자로 언패킹하는 함수from pwn im..
💡 What I Learned- 해킹 팁 (netcat, ssh, vm 포트포워딩, docker, 정규표현식)- 리버싱 팁 (확장자, HxD, Ghidra)- 리눅스 기초 (셸, 파일과 디렉터리, 프로세스 생성 및 관리, 환경 변수, 파일 디스크립터, 그룹)- 리눅스 초급 (APT 패키지 관리, 리눅스 네트워크)- 리눅스 메모리 레이아웃- GDB (pwngdb) 사용하기- NASM과 x86 어셈블리어- 함수호출 규약 (Calling Convention) 저번 주차보다는 pawnable 관련된 것들을 많이 배웠고, 처음 보는 친구들도 많았다.처음 봤는데 인상깊었거나, 이미 알던 내용인데 더 알게 되어 중요한 것들 위주로 정리 ↔ VM 포트포워딩과 VSC Remote-SSH ExtensionVM > 머신 ..
Entity Sets 엔티티 집합Entity현실 세계에서 구별 가능한 객체특정 사람, 회사, 이벤트, 식물Entity Set같은 타입의 엔티티들의 집합예: 모든 교수의 집합 → instructorAttribute엔티티를 설명하는 속성들instructor = (ID, name, salary)course = (course_id, title, credits)Primary Key엔티티 집합에서 각 멤버를 유일하게 식별하는 속성의 부분집합ER 다이어그램에서 Entity 집합 표현하기사각형 - Entity Set사각형 안 텍스트 - Attributes밑줄 - Primary key 속성!image.pngRelationship Sets 관계 집합Relationship(관계)여러 엔티티 간의 연관!image.pngRel..
프로그래밍 언어에서 SQLSQL만으로 부족한 이유 2가지SQL은 범용 언어의 표현력이 없음 → 재귀적 알고리즘이나 복잡한 반복 개산 불가능비선언적 작업이 불가능함 → 화면에 출력하거나, 사용자 입력받거나 GUI에 결과 보내는 것 불가능따라서 범용 언어 + SQL 같이 씀Accessing SQL프로그래밍 언어에서 SQL을 쓰는 방식 2가지API 방식 (Dynamic SQL)프로그램이 함수 집합을 통해 DB 서버에 연결ex) JDBC(Java), ODBC(C/C++)Embedded SQLSQL 문을 소스 코드에 직접 삽입컴파일 타임에 SQL이 함수 호출로 변환됨;런타임에 그 함수들이 DB API를 통해 실행ex) SQLJ💡API는 런타임에 SQL 문자열을 보내고, Embedded SQL은 컴파일 시점에 S..
Joined Relations 조인 관계조인 연산은 두 릴레이션을 입력받아 하나의 릴레이션을 결과로 반환카테시안 곱에서 조건에 맞는 튜플만 매칭, 결과에 포함될 속성을 따로 지정FROM 절 안에 서브쿼리 표현식으로 사용됨Join의 세 가지 종류Natural JoinInner JoinOuter JoinNatural Join in SQL (자동 JOIN)두 릴레이션에서 공통 속성(이름이 같은 컬럼)의 값이 모두 같은 튜플끼리 매칭공통 컬럼은 결과에 하나만 남음where 로 직접 조인 조건 명시select name, course_idfrom students, takeswhere student.ID = takes.IDnatural join으로 동일 쿼리select name, course_idfrom studen..
SQL 개요역사IBM이 System R 프로젝트에서 Sequel 언어 개발 → SQL 이름 변경변천사: SQL-86 → SQL-89 → SQL-92 → SQL:1999 → SQL:2003상용 DBMS는 SQL-92를 기본으로 하되 각자 확장/독자 기능을 가짐SQL partsSQL은 단순한 Query 언어가 아니라 6개 부분으로 구성됨DML: 조회, 삽입, 삭제, 수정Integrity: 무결성 제약 명세 (DDL의 일부)View definition: 뷰 정의 (DDL의 일부)Transaction control: 트랜잭션의 시작/끝Embedded/Dynamics SQL: 다른 언어에 SQL 삽입Authoriation: 권한 부여DDL Data Definition LanguageDDL이 명세하는 것릴레이션 스..
Attribute (속성, 열/Column)테이블의 각 열각 속성은 특정한 타입(도메인)의 값만 가질 수 있음Tuple (튜플, 행/Row)테이블의 각 행 하나각 튜플은 하나의 실제 데이터 개체를 나타냄Relation (릴레이션)전체 테이블 자체를 릴레이션이라고 함수학적으로 튜플들의 집합임 (중복 행 없음)Relation Schema and InstanceRelation Schema (릴레이션 스키마)릴레이션의 구조/설계도속성들의 이름과 타입을 정의A1, A2, … An 은 속성R = (A1, A2, … An)을 릴레이션 스키마라고 함ex) instructor = (IDm name, dept_name, salary)프로그래밍으로 비유하면 클래스 정의와 비슷거의 변하지 않음Relation Instance ..
2026-07-25 개발일지AWS 배포를 위한 docker 준비 과정 (로컬)Why Docker우리는 개발 전에 백엔드 컨벤션에서 많은 부분을 정하고 개발을 시작했기 때문에 개발 후반 단기까지에 와서도 docker를 통해 협업할 이유가 없었다. 배포에 대해 회의하면서도 그냥 Railway로 배포하고 AWS는 사용하지 말지, AWS 배포를 하더라도 도커 컨테이너는 사용하지 말지 등의 여러 논쟁이 있었다.마침 내가 그 즈음에 해킹을 공부하며 Docker에 익숙해져야 하는 상황이었어서 나는 시간이 된다면 꼭 Docker를 사용하고 싶었고 해당 부분을 전담하며 맡게 됐다.일정도 그렇고 이미 팀장 오빠가 AWS에 npm 서버를 돌리는 것을 준비하고 있었기에 나는 1차로 7월 마지막 주, 로컬에서 Docker 컨테..
2026-07-24 개발일지soft delete를 이용한 회원 삭제 구현batch를 통한 완전 삭제시의 Cascade vs SetNull vs 익명화 API 설계 — soft delete학기 중 배운 워크북에서 soft delete 부분을 강조했었기 때문에 회원 탈퇴는 당연히 soft delete 방식을 사용해서 진행해야 했다.💡 soft delete란?회원 탈퇴 등의 민감한 정보의 삭제에 있어 user.status를 ACTIVE에서 WITHDRAWN으로 바꾸고, deletedAt 시각을 기록 → 실제 Row는 DB에서 지우지 않는 방식DELETE ❌ UPDATE ⭕ 그러나 기존 API 설계에서 랜덤 배정 닉네임 수정이 이미 PATCH api/v1/auth/me를 사용중이였다보니 고민이 많았다.HTT..
