반응형

2829

4chan 해킹 사건 분석: 오래된 PHP 코드가 불러온 보안 재앙

그날, 인터넷이 조용해졌다 – 4chan이 멈췄다2025년 4월 16일 아침, 평소처럼 커뮤니티 몇 개 둘러보려고 4chan에 접속했는데... 안 들어가지는 거예요. 처음엔 서버 점검인가 싶었는데, 분위기가 뭔가 이상했죠. 나중에 알고 보니, 소이잭파티라는 이름부터 웃긴 커뮤니티가 해킹을 해버린 겁니다.놀라운 건 방식이었어요. 비번 훔치거나 사람 속이는 그런 게 아니라, 영화에서 해커들이 코드 막 치다가 뚫는 그런 진짜 해킹! 오래된 코드 하나 찔러서 시스템을 뚫었다는 얘기를 듣고 ‘헉’ 했습니다.2025년 4월 16일, 4chan이 갑작스레 마비되며 전 세계가 주목해킹 주체는 소이잭파티라는 라이벌 커뮤니티비밀번호 도용이나 사회공학이 아닌 실제 보안 결함을 이용한 해킹 사라진 줄 알았던 게시판, 다시 ..

일상/IT 2025.06.02

자율주행차, 이제 말로 움직인다? LMDrive로 본 언어 기반 운전의 미래

LMDrive로 엿보는 자율주행의 새로운 이야기들어가며자율주행 기술의 발전 속도는 점점 빨라지고 있음LMDrive는 CVPR 2024에서 소개된 주목할 만한 연구임본 글은 딥러닝 논문 읽기 모임 발표를 바탕으로 내용을 정리함요즘 진짜 자율주행 기술, 하루가 다르게 바뀌는 거 아시죠? 저는 처음엔 그냥 '기계가 운전하는구나~' 했는데, 이번에 CVPR 2024에 나온 LMDrive를 보고는 생각이 좀 바뀌었어요. 조금 더 사람 냄새 나는 자율주행 이야기를 들려드릴게요. 핵심 질문: 언어 모델로 운전이 가능할까?LMDrive는 자연어만으로 자율주행 시스템을 구성할 수 있는지를 탐구함기존 시스템은 고정된 입력 포맷에 의존해 유연성이 부족함LLM을 활용해 차량이 직접 행동하도록 연결하는 방식을 제안함자, 한 ..

SW/딥러닝 2025.06.01

개발자라면 꼭 알아야 할 서비스 프로바이더 구조 이해하기

개발자 친구에게 들려주는 서비스 프로바이더 이야기개발하다 보면, 코드가 점점 엉켜서 뭔가 건드릴 때마다 터질 것 같은 느낌… 다들 한 번쯤은 겪어봤죠? 저도 그랬어요. 작은 기능 하나 넣었는데, 그게 왜 이리 복잡하게 꼬였는지 모르겠더라고요. 그래서 어느 날부터 코드를 정리하는 데 진심을 담기 시작했고, 그때 만난 개념이 바로 ‘서비스 프로바이더’였어요. 처음엔 이름부터 좀 거창해 보여서 거리감을 느꼈지만, 막상 알고 나니 “아, 이거 진작 쓸걸!” 싶었죠. 서비스 프로바이더가 뭐냐고?앱에서 복잡한 로직은 따로 떼어내서 처리하는 구조예요.코드가 깔끔해지고, 나중에 유지보수할 때도 스트레스가 훨씬 줄어요.크게 세 가지로 나뉘어요: 모델, 서비스, 그리고 유틸리티. 예전에 저는 컨트롤러 하나에 로직을 다..

SW/Coding 2025.05.31

AI 코딩툴 완전 활용법! 작업 자동화에 도움 되는 MCP 서버 8가지

진짜 사람처럼 똑똑한 AI, 나만의 작업 비서가 생긴 느낌이랄까? MCP 서버 8종 찐후기여러분, 상상해보세요. 내가 해야 할 일들을 누가 옆에서 하나하나 척척 도와준다면요? 코드도 짜주고, 회의 노트 정리도 대신해주고, 웹 브라우저 열어서 이것저것 클릭해주고, 유튜브 영상까지 요약해주는 친구요.그게 바로 MCP 서버입니다. 처음엔 좀 생소했는데, 써보니까 "와... 이게 진짜 가능하네?" 싶었어요. 저는 요즘 VS Code랑 Corsor 쓸 때 꼭 같이 씁니다. 이제 그 8가지 MCP 서버, 제가 직접 써본 느낌을 담아서 하나씩 소개해드릴게요. 설치하는 방법은 영상으로 따로 준비돼 있으니까, 궁금하시면 아래 링크도 확인해보세요! 1. Notion이랑 AI가 친구 먹으면 벌어지는 일회의 내용을 AI가..

SW/인공지능 2025.05.30

웹 개발자라면 꼭 알아야 할 사용자 인증과 로그인 흐름 실전 가이드

웹 애플리케이션에서 사용자 인증과 로그인 흐름, 제대로 이해하기이번 시간엔 좀 더 친근하게, 실제 개발자 입장에서 사용자 인증과 로그인 흐름에 대해 이야기해볼까 해요. 지난 강의에서 회원가입 과정을 다뤘으니, 이제 그 다음 단계로 넘어가 볼까요? 이메일 인증 흐름회원가입 후 사용자에게 인증 이메일이 전송되며, 링크에는 이메일과 토큰이 포함됨링크 클릭 시 인증 컨트롤러가 작동하여 인증 흐름을 시작함 사용자가 가입을 마치면 곧바로 인증 이메일이 날아가죠. 저도 실제로 이런 작업을 구현하다 보면, 링크 하나가 엄청 중요하단 걸 절감해요. 이 링크엔 사용자의 이메일과 '토큰'이라는 게 담겨 있는데요, 일종의 디지털 열쇠라고 보면 됩니다. 이건 회원정보랑 함께 DB에 저장돼요.그리고 그 링크를 사용자가 클릭하..

SW/Coding 2025.05.30

2025년에도 개발자 취업이 어려운 이유와 해결책

2025년, 개발자에게 세상이 말 거는 이야기세상은 이미 바뀌었고, 우리는 그 안에 살고 있어요요즘 개발자로 산다는 게 참 쉽지 않죠. 2025년이 된 지금, 예전과는 정말 다른 세상 속에서 우리 모두 살아가고 있어요. AI가 코드를 짜고, 해외 개발자들과 일하는 게 당연해졌고, 경기는 예측 불가하게 출렁이죠. 솔직히 말해, 불안한 게 당연한 시기예요.하지만, 그렇다고 기회가 아예 사라진 건 아니에요. 오히려 남들보다 한 발 먼저 깨달은 사람들한텐 더 많은 문이 열리고 있어요. 이 글은 그런 변화 속에서 우리가 뭘 알아야 하는지, 어떻게 살아남고 성장할 수 있는지를 이야기해보려 해요. 다소 솔직하고, 때로는 따뜻하게. 1장: 채용 시장, 요즘 분위기 어때요?2025년 초 개발자 채용 공고가 2022년..

SW/면접 2025.05.29

초보 개발자를 위한 회원가입 컨트롤러 구조 설계 방법

복잡한 회원가입, 컨트롤러 하나로 깔끔하게 정리하기프로그래밍 하다 보면 가장 헷갈리는 순간 중 하나가, 이 코드가 도대체 어디서부터 어디까지 연결돼 있는 건지 감이 안 올 때죠. 특히 회원가입처럼 꼭 필요한 기능이 복잡하게 얽혀 있으면, 진짜 머리 아파요. 저도 처음엔 여기저기서 가져온 코드들을 잔뜩 붙여 놓고 왜 이렇게 돌아가는지 이해 못 했던 기억이 나요. 근데 컨트롤러를 ‘쭉 읽히는 흐름’으로 정리하고 나니까... 와, 신세계! 이번 글에서는 제가 직접 해보면서 느꼈던 깨달음을 바탕으로, 회원가입 과정을 진짜 보기 좋게 구성하는 방법을 같이 나눠볼게요. 웹 페이지에서 모든 게 시작돼요사용자는 기본적인 회원가입 폼을 통해 정보를 입력하고 제출합니다.제출된 데이터는 컨트롤러로 전달되어 순차적으로 처리..

SW/Coding 2025.05.29

MVC 패턴 속 숨은 핵심, 컨트롤러 제대로 이해하기 위한 쉬운 예시 모음

컨트롤러, 우리가 앱을 조종하는 숨은 지휘자 이야기개발을 처음 배울 땐 정말 뭐가 뭔지 모르겠어요. 화면에 보이는 건 ‘뷰’, 데이터는 ‘모델’, 그 사이에서 뭐라뭐라 처리하는 게 ‘서비스’? 처음엔 진짜 머리 아프죠. 근데요, 그 중에서도 묵묵히 조율하는 존재가 있어요. 바로 ‘컨트롤러’입니다. 말 그대로, 뭔가를 ‘컨트롤’하는 역할인데, 생각보다 훨씬 중요한 일을 해요. 컨트롤러란 무엇일까요?컨트롤러는 사용자 입력(이벤트)을 감지하고 처리하는 역할을 합니다.입력을 적절한 서비스로 연결하고, 처리 결과를 사용자에게 전달합니다.앱의 흐름을 조율하며 시스템의 중간 다리 역할을 합니다. 개인적으로 이걸 처음 이해한 건, 친구가 만든 간단한 블로그 앱을 보면서였어요. 누가 글을 쓰면 그걸 받아서 데이터베이스..

SW/Coding 2025.05.28

개발자라면 알아야 할 폴더 구조 정리법: 협업이 쉬워지는 코드 관리 팁

개발자끼리 통하는 폴더 이름 짓기, 어렵지 않아요예전에 내가 만든 프로젝트인데, 딱 열자마자 '이게 뭐였더라…' 하고 멍했던 적 있죠? 아니면 다른 사람이 넘겨준 코드인데, 구조가 너무 뒤죽박죽이라 몇 시간은 구조 파악만 하게 되는 경우도요. 진짜 흔한 일이에요. 근데 꼭 그래야 할 필요는 없더라고요.여기서 소개하는 방법은 딱딱한 규칙이라기보다는, 코드 짜는 우리들끼리 약속 같은 거예요. 조금만 정리해두면 협업도 훨씬 편하고, 나중에 내가 다시 봐도 감 잡기 쉽거든요. 폴더 이름에도 '성격'이 담긴다니까요?이름만 봐도 '아, 이 폴더는 이런 거구나' 하고 느낌이 와야 해요.그래야 다른 사람이 들어와도 헷갈리지 않고 금방 적응할 수 있어요.저는 개인적으로 폴더 구조가 그 앱의 소개글처럼 느껴져야 한다고 ..

SW/Coding 2025.05.27

PLPD란? 테스트 타임 어댑테이션을 한층 더 똑똑하게 만드는 방법

테스트 타임 어댑테이션에서 신뢰도를 다시 생각하다: PLPD를 쉽게 이해하기요즘 AI 모델들, 진짜 똑똑하잖아요? 근데 말이죠, 얘네도 새로운 환경 가면 좀 헤매요. 우리가 익숙한 곳에서도 길 잃을 때 있는 것처럼요. 학습할 때 봤던 이미지랑 실제 사용하는 환경이 완전히 다르면 성능이 뚝— 하고 떨어지곤 합니다. 그런 상황을 도와주는 기술이 바로 **테스트 타임 어댑테이션(TTA)**이래요. 최근에 열린 ICLR 2024에서, PLPD라는 새로운 접근 방식이 소개됐어요. 이게 좀 흥미롭더라고요. 마치 기존의 기준을 살짝 뒤흔들면서 더 똑똑하게 문제를 해결하려는 느낌이랄까요? TTA란 무엇일까요?TTA는 테스트 중 들어오는 데이터에 AI 모델이 스스로 적응하도록 돕는 기술입니다.기존 학습 데이터와 전혀 ..

SW/인공지능 2025.05.26

Google I/O 2025 요약: Gemini 2.5부터 Flow까지, 꼭 알아야 할 AI 기능 11가지

Google I/O 2025에서 진짜 말도 안 되는 AI 기능들이 쏟아졌습니다. 직접 보고도 믿기 힘들 정도예요.메타 설명: 이번 Google I/O 2025는 완전히 차원이 달랐어요. Gemini 2.5부터 Flow, Astra까지, 진짜 AI가 우리 삶 속으로 들어왔습니다. 어떤 게 가장 놀라웠는지 함께 보시죠! 이건 그냥 기술 발표가 아니었어요. 새로운 시대 선언이었습니다.2025년 5월 21일, Google은 우리 삶을 통째로 흔들어놓을 만큼 강력한 발표를 했어요. 이건 단순히 ‘AI가 좋아졌대~’ 하는 정도가 아니라, ‘이제부터 AI랑 같이 살아가야 해’ 수준이었죠.직접 발표 보면서 헛웃음이 나올 정도로 어이없고도 대단했던 11가지 기능들, 제가 직접 하나씩 풀어볼게요. 1. Gemini 2..

SW/인공지능 2025.05.25

개발 전에 꼭 알아야 할 유즈케이스 작성법, 이렇게 쉽다고요?

유즈케이스의 진짜 매력: 내 프로젝트에 날개를 달아준 결정적인 한 수진짜예요, 프로젝트 처음 시작할 땐 이것저것 정리하느라 머리가 복잡하잖아요? 그런데 유즈케이스를 제대로 작성하고 나니까, 갑자기 퍼즐 조각이 딱딱 맞아들어가는 느낌이었어요. 이게 바로 내가 만들고 싶은 시스템이구나—하는 확신이 생겼달까요. 여태 막연했던 기능들이 하나하나 생명을 얻는 순간이었죠.  유즈케이스, 이거 왜 써야 하냐고요?시스템이 언제 어떻게 반응해야 하는지 이야기처럼 풀어낼 수 있어요.순서대로 상황을 정리하니까 머릿속이 훨씬 깔끔해져요.소프트웨어 아니어도 적용 가능! 일상 업무에도 완전 유용해요.사실 저도 처음엔 '이걸 왜 굳이 써야 해?' 했거든요. 근데 막상 해보니까, 말도 안 되게 효율적이에요. 사용자가 뭔가를 클릭하거..

SW/Coding 2025.05.25

앱 기획 초보자를 위한 와이어프레임 그리기 실전 가이드

내 앱 아이디어, 이제 머릿속에서 꺼내보자!혹시 이런 경험 있으신가요? 머릿속엔 앱이 완전하게 그려져 있는데, 막상 화면으로 그리려니까 막막하고 손이 안 가는 거예요. 저도 그랬어요. 근데 이 '와이어프레임 그리기'라는 과정을 알게 된 후로, 진짜 큰 돌파구가 생겼죠.이게 별거 아닌 것 같지만, 생각을 정리하고 구조를 시각적으로 딱 잡아주는 데 최고예요. 그냥 사각형 몇 개 그리는 거 아니냐고요? 절대 아닙니다. 이건 앱의 뼈대를 만드는 일입니다! 뭘 할 수 있냐면요:앱에 뭔가 빠졌는지, 아니면 굳이 없어도 될 게 뭔지 찾아낼 수 있어요사람들이 이걸 실제로 쓸 때 어떤 식으로 움직일지, 미리 흐름을 그릴 수 있어요전체 사용자 경험의 기반을 만드는 셈이죠 그리고 디자인은? 전혀 꾸밀 필요 없어요. 그냥 작..

SW/Coding 2025.05.24

혼자 개발할 때 꼭 필요한 화면 구조도와 와이어프레임 설계 가이드

나 혼자 개발할 때 꼭 필요한 화면 설계 이야기 – 화면 구조도랑 와이어프레임 썰 푼다혹시 혼자 개발하다가 그냥 무작정 코딩부터 시작한 적 있나요? 저도 예전에 그랬어요. 막 첫 줄 코딩할 때 손이 덜덜 떨리면서도 짜릿하고, '와 나 진짜 만들고 있구나!' 하는 기분에 흠뻑 빠지곤 했죠. 근데요, 진짜 중요한 건 그 설렘을 어떻게 오래 유지하느냐더라고요. 어느 순간, 버그랑 구조 꼬임에 정신이 멍~해지고, 처음 의도랑 완전 다른 걸 만들고 있는 나를 보게 되거든요.그럴 때 '화면 구조도'나 '와이어프레임' 같은 걸 한번 그려보면요, 진짜 신기할 만큼 생각이 정리돼요. 머릿속에만 있던 걸 눈으로 보니까, 방향도 잡히고, 갑자기 '어, 이거 할 수 있겠다!' 하는 자신감도 생기고요. 대기업에서 쓰는 도구라고..

SW/Coding 2025.05.23

기능 요구사항을 쉽게 정리하는 방법: 개발자 포트폴리오에 바로 쓰는 실전 가이드

프로젝트 활동 2: 기능 요구사항 정리하기 - 내 이야기처럼 풀어본 버전처음엔 그냥 머릿속에 떠오른 아이디어였어요. 그런데 그걸 하나하나 적어보니까, 어느새 진짜 만들어질 것 같은 기분이 들더라고요.이번 단계는요, 내가 만들려는 서비스나 앱이 실제로 어떤 일을 해야 하는지를 정리해보는 시간이에요. 어렵게 생각하지 말고, “내가 사용자라면 뭘 하고 싶을까?” 이런 식으로 하나씩 적어보면 돼요. 말하자면 이건 여러분 프로젝트의 밑그림, 혹은 뼈대 같은 거예요.제가 아래에 소개할 내용은 ‘프로젝트 활동 2’라고 이름 붙인, 기능 요구사항을 정리하는 방법이에요. 막연한 생각들을 현실적인 기능들로 바꿔보는 거죠.   기능 요구사항? 그게 뭐길래?요리 좋아하세요? 전 예전에 무작정 파스타 만들겠다고 끓이다가 소금이..

SW/Coding 2025.05.22

소프트웨어 기획의 시작! 기능 브레인스토밍으로 프로젝트 방향 잡는 법

머릿속 아이디어, 어디서부터 꺼낼까?솔직히 말해서, 개발을 막 시작할 때 뭘 먼저 해야 할지 막막할 때 많잖아요? 저도 예전에 그랬어요. 디자인부터 해야 하나? 코딩 먼저? 그런데 사실은, 내가 만들고 싶은 게 '무엇을 할 수 있어야 하는지'부터 생각하는 게 제일 중요하더라고요.그럴 때 딱 필요한 게 바로 기능 브레인스토밍이에요. 어렵게 생각하지 말고, 그냥 '이 앱이 뭘 할 수 있었으면 좋겠는지' 막 적어보는 거예요. 오늘은 아주 익숙한 예시, 바로 회원가입 시스템을 가지고 예를 들어볼게요. 혼자 작업하든, 누군가와 같이 하든 진짜 유용해요.소프트웨어 프로젝트는 기능 브레인스토밍으로 시작된다처음에는 자유로운 사고와 상상이 중요하다회원가입 시스템을 예시로 브레인스토밍 방법을 설명한다   왜 굳이 이렇게까..

SW/Coding 2025.05.21

처음 만드는 나만의 코딩 프로젝트, 어떻게 시작할까?

PROJECT ACTIVITY 1: 뭘 만들어볼까? 내 손으로 직접!드디어 그 순간이에요! 뭔가 하나 만들어보고 싶다는 생각만 하다가, 드디어 ‘진짜로’ 시작하게 된 거죠. 이제 막 아이디어가 머릿속을 맴돌고 있다면, 아주 잘 오셨어요. 완벽할 필요는 전혀 없어요. 일단 해보는 게 중요하거든요.   뭐 만들지? 커피 한 잔 하면서 같이 생각해봐요저는 항상 뭔가 새로 만들고 싶을 땐 카페에 가서 노트북 켜놓고 멍하니 커피 마시면서 생각을 정리해요. 아마 여러분도 그럴지도 모르죠? 노트북 앞에 앉아서, 하얀 화면을 보면서… 이걸로 뭘 만들면 재밌을까? 이런 고민 많이 하잖아요.이번 활동은 딱 그 고민을 정리해주는 단계예요. 어떤 언어를 쓰든 상관없어요. Python이든, JavaScript든, 내가 좋아하는..

SW/Coding 2025.05.20

코딩 프로젝트, 분석부터 시작하자 – 초보자를 위한 실전 분석 가이드

생각보다 더 중요한 '분석 단계': 내 경험담으로 풀어보는 코딩의 첫걸음코딩이라고 하면 보통은 막 키보드를 두드리면서 스릴 있게 코드를 짜는 장면이 먼저 떠오르잖아요? 저도 그랬어요. 예전에 첫 사이드 프로젝트를 할 때, '일단 만들어보자!'라는 마음으로 코딩부터 시작했죠. 근데 딱 3일 만에 막히더라고요. 뭐부터 해야 할지도 모르겠고, 기능도 계속 바뀌고. 지금 생각하면 너무 당연했던 실수예요. 그때 알았죠. 분석 단계, 이거 정말 중요하다는 걸요.오늘은 제가 직접 느끼고 배운 걸 바탕으로, 이 '분석 단계'가 왜 그렇게 중요한지, 또 어떻게 하면 어렵지 않게 시작할 수 있는지를 얘기해보려 해요. 처음 프로젝트를 시작하려는 분들께 꼭 도움이 되면 좋겠어요.  코딩보다 먼저, 분석이 먼저분석 단계는 프로..

SW/Coding 2025.05.19

객체지향 설계의 진짜 매력은 무엇일까? 유연성과 재사용성을 중심으로 알아보기

객체지향 프로그래밍의 이야기: 어떻게 시작되었고 왜 중요한가솔직히 말하면, 객체라는 개념은 90년대 전에도 있었어요. 하지만 사람들이 본격적으로 관심을 갖고 진지하게 쓰기 시작한 건 그때쯤이죠. 이번 글에서는 객체지향 프로그래밍(OOP)이 어떻게 세상의 주목을 받게 되었는지, 그리고 그것이 왜 오늘날의 소프트웨어 개발에 큰 영향을 미쳤는지를 제 경험을 곁들여 가볍게 풀어볼게요.저는 어떤 개념이 왜 생겼는지를 이해하는 걸 참 좋아해요. 그래서 OOP가 태동하던 시기의 책들을 직접 찾아 읽어봤습니다. 마치 시간여행하는 기분이었죠. 그중에서도 베르트랑 메이어가 1988년에 쓴 『Object-Oriented Software Construction』이라는 책이 참 흥미로웠어요. 글을 읽는 내내, 왜 그가 새로운 ..

SW/Coding 2025.05.18

응집도가 뭐길래? 개발자가 꼭 알아야 할 소프트웨어 설계 원칙 7단계

소프트웨어 설계에서 '응집도'가 중요한 이유소프트웨어 구조를 짤 때, 꼭 기억해둘 개념이 있어요. 바로 결합도와 응집도라는 친구들인데요, 지난번엔 결합도 얘기를 했죠. 코드를 얼마나 잘 나눴는지, 각자 독립적으로 잘 돌아가는지를 보는 개념이었어요. 오늘은 그 짝꿍인 응집도 얘기를 해보려 해요.응집도는 한 모듈 안에서 이뤄지는 작업들이 서로 얼마나 잘 어울리는지 보는 거예요. 한 팀이 한 목표를 향해 달리는 것처럼, 코딩에서도 그 팀워크가 잘 맞는지를 보는 거죠.신기하게도, 응집도가 높으면 결합도는 자연스럽게 낮아져요. 두 개가 딱 맞물려서 서로를 도와주는 셈이죠.저도 예전에 이 개념을 처음 배웠을 땐 좀 어렵게 느껴졌는데, 실제로 코딩을 하다 보면 "아, 이래서 중요하구나" 싶은 순간이 오더라고요.이제부..

SW/Coding 2025.05.17
반응형