CS 13

Docker에 대해

Docker에 중요한 기능 중 하나: 서버에 사용자들이 몰려서 터지는 것을 방지해줌.(Scalable함) 작동 방식: 서비스 코드를 Docker로 이미지를 하나 만듦. 설치하는 순간 스냅샷같은걸 뜨고, 사용자가 몰리면 복제(컨테이너)를 하여 동시에 돌아가게 만들어서 서버가 터지지 않게 함. 도커 이미지 모아놓은 주소: https://hub.docker.com/설치 주소(Ubuntu): https://docs.docker.com/engine/install/ubuntu/ 도커 옵션-ddetached mode (background mode): 백그라운드 모드run docker as background. you have to stop it if not using-p호스트와 컨테이너의 포트를 연결 (포워딩)H..

CS 2025.09.15

CPP에서의 쓰레드, 뮤텍스, 레이스 컨디션 등(Thread, Mutex, race-condition) 기본 개념 잡기

1. 스레드 (Thread)정의: 운영체제가 하나의 프로세스 안에서 동시에 실행할 수 있는 실행 단위.C++에서: std::thread 클래스로 스레드 생성.문제점: 스레드끼리 메모리를 공유하기 때문에 “경쟁 상태(Race Condition)”가 발생할 수 있음.#include #include void worker(int id) { std::cout 2. 경쟁 상태 (Race Condition)여러 스레드가 동시에 공유 데이터를 읽고/쓰는 과정에서 순서에 따라 결과가 달라지는 문제.예시: counter++ 는 사실상 read → add → write 세 단계 → 동시에 두 스레드가 실행하면 하나의 연산이 덮어써짐.해결책 = 동기화(Synchronization) 필요.#include #include ..

CS 2025.09.15

C++ enum에 대해 정의되지 않은 값을 저장하려 할 때

enum Color{ RED = 0, GREEN = 1, BLUE = 2};이때 static_cast(3)처럼 열거형에 정의되지 않은 값을 캐스팅하면 컴파일 에러는 발생하지 않는다고 합니다.C나 C++에서는 enum은 내부적으로 정수형으로 처리되기 때문에, static_cast를 통해 어떤 정수든 enum타입으로 변환할 수 있다고합니다.Color c = static_cast(3);이러면 c에는 3이라는 값이 들어감즉enum Permission { READ = 1 (READ | WRITE); //0011}이렇게 사용하는게 가능함.

CS 2025.08.20

CWE, CVE 의미 및 CWE top 25 2024 설명

CWE(Common Weakness Enumeration)→ 전 세계적인 소프트웨어 공통 취약점 목록. MITRE(미국 비영리 단체. 사이버 보안 분야에서는 다양한 표준 제공)에서 관리소프트웨어의 보안 결함을 일관되게 설명하고 공유하기 위한 표준개발자, 보안 전문가, 도구(정적 분석기 등)가 같은 기준으로 취약점을 인식하게 함관리 기관MITRE Corporation형식CWE-번호 (예: CWE-79, CWE-89)용도정적 분석 도구, 보안 감사, 교육 자료, 규정 준수 등에 활용관련 표준CVE, OWASP Top 10, NIST 등과 연계 가능용어설명예시CWE보안 취약점 유형에 대한 표준 분류CWE-89: SQL InjectionCVE실제 발생한 보안 사건 결과에 대한 고유 식별자CVE-2023-XXXX..

CS 2025.05.27

정적 분석 도구 비교 분석(SonarQube, Coverity, PVS-Studio)

정적 분석(Static Analysis)프로그램을 실행하지 않고 코드 자체를 분석하는 방법. 소스코드(혹은 바이너리 코드)를 대상으로 함코드 검사: 코드의 문법, 스타일, 잠재적 버그, 보안 취약점 등을 찾기 위해 사용자동화: 지속적 통합(CI) 시스템에 통합되어 자동으로 코드 품질을 검사초기 발견과 예: 코드 작성 초기에 버그와 보안 취약점을 발견 -> 개발 비용 절감과 코드 품질 향상. 잠재적 문제를 미리 예방할 수 있어, 실제 소프트웨어 릴리스 전에 심각한 문제를 줄임정적 분석 도구(2025-05-02 기준. 특이점 및 오류 발견 시 댓글요망) SonarQubeCoverityPVS-Studio지원 언어Java, C#, JavaScript, Python 등 30여 개 https://www.sonar..

CS 2025.05.02

웹 서버 배포 시 유의사항

1. 개인정보 처리방침은 bold처리를 해야되는 약관이 법에 명시되어 있음. 2. 또한 약관을 다른 사이트에서 복사 붙여놓기를 해서 '뼈와 살이 분리될 수 있음' 같은 말도 안되는 문항이 들어감 유의https://namu.wiki/w/%EB%B9%85%EC%9E%A5%20%EC%95%BD%EA%B4%80 빅장 약관2005년 여름 인터넷에서 논란이 되었던 사건. 상세 ' 빅장 '이란 김성모 의 만화 쾌검에 나오는 공격 기술의namu.wiki 3. 비밀번호 해시화는 단방향으로써, 양방향 통신은 금지한다고 법에 명시되어 있음.https://www.kisa.or.kr/2060301/form?postSeq=2&lang_type=KO&page=1

CS 2024.10.18

json.dump와 json.dumps 차이

json.dumps()Python dict object를 JSON 문자열로 변환할 수 있습니다링크: https://docs.python.org/3/library/json.html#json.dumps 문법: json.dumps(dict, indent)  인자dict – dictionary 의 이름indent – 들여쓰기 숫자 예제import jsondictionary = { "id": "01", "name": "Kim", "department": "HR"}json_object = json.dumps(dictionary, indent=4)print(json_object)결과{ "department": "HR", "id": "01", "name": "Kim"}  json.dum..

CS 2024.09.27

CS관련 기술 모의 면접에 대한 간단한 고찰

1. OSI 7계층 '슬랙'에 빗대어 설명  1계층, 물리계층(Physical Layer): 허브, 케이블, 리피터 등등이 이에 속함. 데이터를 0과1로 만들어놨다면 encoding으로 전기 신호로 바꿔주어 보내고 decoding으로 다시 기계어로 바꾸는 행위와 전기적 전송, 증폭이 이 계층에서 담당함. (단위: 비트) 슬랙 서버에서 데이터가 랜선을 타기 전 후와, 탄 상태로 보면 됨.   아래는 물리계층의 간략 심화학습물리계층의 한 담당으로는 비트형식으로 전기신호를 보내면 0110이라는 비트를 보내면, 010인지 0110인지 0111111111110인지 구분이 잘 안됨.Sine등의 형식으로 신호를 바꾸어 부호화 및 레벨링을 하면, 비트(0,1) 구분과 전송 비트량이 많아 질수 있도록 해줌.    - 핵..

CS 2024.08.09