| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 투자
- algorithmTest
- JavaScript
- 다독
- 독서
- 경제
- 알고리즘공부
- 주식
- 화장품
- 독후감
- 지혜를가진흑곰
- 알고리즘 공부
- 성분
- 알고리즘트레이닝
- C++
- 책알남
- 돈
- algorithmStudy
- algorithmtraining
- 채권
- 서평
- 자바
- 자바스크립트
- 프로그래밍언어
- 책을알려주는남자
- 프로그래머스 알고리즘 공부
- C
- 재테크
- 백준알고리즘
- Java
- Today
- Total
목록전체 글 (574)
탁월함은 어떻게 나오는가?
배경기존 일일 피드백 푸시에 세 가지 문제가 있었다.1. 발송 시각이 코드에 고정 - 전 사용자가 08:45 / 12:30 / 18:30 / 21:00에 일괄 수신되도록 스케줄링이 동작한다. 생활 패턴이 다른 사용자를 배려할 수 없고, 시각 변경에 배포가 필요하다.2. 전송 실패가 조용히 사라짐 - Expo API 호출 실패 시 로그만 남기고 종료된다. 재시도도, 실패 추적도 업이 그날 발송분이 그대로 증발한다.3. 다중 인스턴스 안정성이 없음 - 중복 방지 자치가 전무해서 서버를 2대 이상 띄우면 사용자당 인스턴스 수만큼 중복 발송된다.AS-IS / TO-BEAS-IS123456[배치] 고정 cron 4개 ↓ 전체 사용자 조회 (findAllWithPushes) ↓ 실행 시각으로 슬롯 추론 (1..
목적로그인 과정에서 이메일 계정의 존재 여부가 노출되지 않도록 하고, 사용자가 오류를 쉽게 수정할 수 있는 일관된 안내를 제공해야합니다.배경이메일이 존재하지 않을 때와 비밀번호가 틀렸을 때 서로 다른 메시지를 보여주면, 외부 사용자가 이메일 주소를 반복 입력하여 가입 여부를 확인할 수 있습니다. 이를 계정 열거(Account Enumeration)라고 합니다.OWASP는 로그인·비밀번호 재설정·계정 생성 등 인증 흐름에서 계정 존재 여부에 따라 응답 메시지가 달라지지 않도록 권장합니다.참고OWASP Authentication Cheat Sheet Authentication - OWASP Cheat Sheet SeriesAuthentication Cheat Sheet Introduction Authenti..
카페에서 작업을 하다보면 왠지 "와이파이가 느린 것 같은데?" 싶은 순간들이 생긴다.그런데 정말 느린 걸까? 아니면 그냥 기분 탓일까? 이번 글에서는 카페 Wi-Fi에 직접 연결해서 네트워크 품질을 측정하고, AP 구조까지 분석해보는 과정을 정리해본다. 1. AP(Acess Point)란 무엇일까?- Wi-Fi 신호를 뿌리는 장치- 반도체를 포함한 "완제품 네트워크 장비"- 내부에는 Wi-Fi 칩셋, CPU, 메모리, LTE 모뎀 등이 들어 있을 수 있다. 그럼 내가 사용 중인 AP는 어떤 장비일까?먼저 노트북에서 ipconfig 명령어를 실행해보자.12IPv4 주소: 172.30.1.87기본 게이트웨이: 172.30.1.254cs 여기서 중요한 점은 IP 대역이다.- 192.168.x.x > 가정용 ..
1234567891011121314cd ~/actions-runner # 1. 러너를 systemd 서비스로 등록 (한 번만 수행)sudo ./svc.sh install # 2. 서비스 시작sudo ./svc.sh start # 3. 서비스 상태 확인sudo ./svc.sh status # 4. systemd 기준 전체 러너 상태 확인sudo systemctl status 'actions.runner*' --no-pager Colored by Color Scriptercs
SQL Injection 공격 원리와 취약 코드 재현, 파라미터 바인딩(Prepared Statement)으로 안전하게 고치는 방법을 Node.js + SQLite 실습으로 연습한 내용입니다. SQL Injection은 여전히 웹 보안에서 가장 흔한 취약점 중 하나이다. 이 글에서는 취약 코드를 직접 재현해보았고, 같은 요청을 파라미터 바인딩 방식으로 처리했을 때 결과가 왜 다른지 설명한다. 테스트 코드1234567891011121314151617181920212223242526272829303132333435363738394041const express = require('express');const sqlite3 = require('sqlite3').verbose();const app = expre..
실습 계기보안 공부를 하며, 세션 쿠키의 취약성을 직접 이해해보기 위해 진행했다. 해당 테스트를 진행하며 공용 와이파이, HTTP 환경 등에서 세션 탈취 위험이 존재함을 실제로 체감 할 수 있었다. Session Hijacking 개념 정리- 세션 기반 로그인 동작 방식 ( 로그인 > 서버가 Session cookie 발급 > 요청마다 쿠키 포함)- 공격자는 세션 쿠키를 훔쳐서 로그인 상태를 위조할 수 있게 된다.- 주요 공격 방식: Packet Snigging(패킷 도청), Cross-site scripting(XSS), Man-in-the-middle attack(중간자 공격) 등 핵심: 세션 쿠키(=Session ID, SID) 만 확보되면 비밀번호 없이 로그인 상태 재현이 가능하다. 코드..
1. Next.js의 빌드를 진행할 때 다음과 같은 에러가 발생할 수 있다.1Image Optimization using the default loader is not compatible with export.cs 2. 해결 방법 - 에러를 방지하기 위해서 다음과 같이 설정하면 된다.1234567891011121314151617// root/next.config.tsconst nextConfig = { // Next.js가 정적 사이트를 빌드 시 생성하도록 지시하며, 이전의 next export 명령을 대체한다. output: "export", // 내장 이미지 최적화 API를 비활성화하여 정적 내보내기 중 빌드 오류가 발생하지 않게 한다. images: { unoptimized: tr..
본론에 들어가기전에 Wireshark에 대한 특징을 간단히 소개한다. 와이어 샤크는 아래에 정리된 것 같이 다양하고, 파워풀한 기능을 제공한다.1. 패킷 캡처(Packet Capture)- 네트워크 인터페이스를 통해 오가는 모든 패킷(데이터 단위)을 실시간으로 기록- 이더넷, 와이파이, 블루투스 등 다양한 링크 계층 지원2. 프로토콜 디코딩(Protocol Deciding)- TCP/IP, HTTP, DNS, SSL/TLS, FTP, DHCP 등 수백 가지 프로토콜 를 자동으로 해석- 각 패킷을 계층별로 트리 구조로 보여주기 때문에 헤더 필드와 페이로드를 쉽게 확인 가능3. 필터링(Filtering)- 캡처 필터: 캡처 단계에서 "ip.addr == 192.168.0.1" 등 조건을 걸어 불필요 패킷 배..