본문 바로가기

전체 글140

자료구조 한번에 정리 📑 자료구조란?데이터를 효율적으로 저장하고, 꺼내고, 조작하기 위한 구조이다.📦 기본 자료구조 총정리자료구조구조 특징꺼내는 순서사용 예시배열 (Array / List)선형구조, 순서가 있다인덱스로 접근리스트, 순회스택 (Stack)한 쪽 끝에만 넣고 꺼냄LIFO (나중에 넣은게 먼저 나옴) = 프링글스 통되돌리기(Undo), 괄호 검사큐 (Queue)한 쪽에 넣고 다른쪽에서 꺼냄FIFO (먼저 넣은게 먼저 나옴 / 선입선출) = 파이프BFS, 대기열덱 (Deque)양 쪽 끝에서 넣고 꺼내기 가능양방향 가능슬라이딩 윈도우, 양쪽 탐색힙 (Heap)완전 이진트리, 우선순위 기반우선순위 높은 값 먼저다익스트라, 스케줄링트리 (Tree)계층구조, 부모-자식 관계순회 법에 따라 다름폴더 구조, 트리 탐색그래프.. 2025. 4. 30.
[백준/Python] 1929 소수 구하기와 에라토스테네스의 체 프로젝트가 끝났다. 중간에 다른 팀원분들것도 내가 다 하게되어서 예상보다 시간 투자를 더 하게 되었지만그래도 빠듯한 일정을 쪼개가며 그래도 완성은 했다. (휴~) 이제 한숨 돌릴 겸 다시 알고리즘 문제를 풀기 시작했다. (어림도없지 쉴시간이 어딨어) 이번엔 오랜만에 다시 소수구하기 문제를 풀어보았다. https://www.acmicpc.net/problem/1929 내가 알고리즘 스터디를 하면서 프로그래머스에서 가장 처음 풀었던 문제가 소수찾기였는데,그때는 난 하꼬 1..2학년 그냥 그저 풀기에 바빴다.에라토스테네스? 그게 머임? 왜씀? 이랬는데, 아. 사용해보니 시간이 확실히 줄어들더라고.성장하긴 했다. 머리가 컸다 조금은. ㅋㅋ 소수찾기는 단순하다. 단순하지만 시간을 굉장히 줄여야하는 문제이다.시간을.. 2025. 4. 30.
실시간 채팅구현(2) - 1mm도 어긋나는걸 싫어하는 사람의 채팅창 UI 제작하기 계획크게 UI 화면 잡아서 만들고 -> 쪼개서 재 사용 가능하게 만들기 우선 채팅창을 어떻게 구현할것이냐? 에 대해 생각을 해보았다.우선 보이는 화면부터 만들어야할 것이라 생각했다. 그래서 계획을 굉장히 세분화해서 이슈를 작성했다. 우선 필요한것이 채팅창 컴포넌트 (채팅 로그창과 입력창)날짜를 표시할 수있는 날짜 분리 라인과 날짜 텍스트나, 상대, 그리고 챗봇의 말풍선이었다.이걸 바탕으로 이슈를 나눠서 작성하기 시작했다. 이슈를 작성할때는 나 스스로 스프린트 기간동안의 구간을 잡고 분리해서 작성하였다. STOMP, SockJs 의존성 추가: 채팅 위한 도구전체 채팅 페이지 구조 잡기 : 메세지 영역 / 입력 영역 구분, 반응형그라데이션 말풍선 구현하기 : 배경 투명 / 그라데이션메세지 영역 : 날짜 /.. 2025. 4. 19.
디프만 16기 런칭데이를 (구경) 다녀왔습니다. 다녀온지는 조금 되었지만 바빴던 나머지 이제야 글을 작성합니다. 개발자, 대학생, 취업 준비생 연합 동아리인 디프만의 런칭 데이에 다녀왔습니다.디자이너와 프로그래머의 만남으로, 디자이너 분들과 개발자분들이 함께 하는 동아리에요.개인적으로 관심을 가지고 있는 동아리인지라, 어떤 활동을 했는지 궁금했는데요.이번에 5000원의 입장료를 내고 다녀왔습니다. 장소는 성수 엘리스랩이었습니다. 우선 시간 약속을 너무 잘 지킨 나머지 너무 일찍 도착해버린 나..;; 2시부터 시작이라길래 2시에 맞춰서 갔더니 아직 준비중이래서 네트워킹존에서 대기하였습니다.그렇게 대기를 하다가 구경 스타트 규모는 생각보다 작았습니다만, 그래도 꽤 알찼습니다.마침 저도 프로젝트 기획 기간이라 많은걸 배워 갈 수 있었어요. 우선 디자이너분들.. 2025. 4. 18.
Exoprt default와 그냥 export (Named export) export default가 무엇인지 알고있는가? 부끄럽지만 사실 난 알지 못했다.그냥 리액트의 기본적인 구성으로 당연~하게 짜여진 틀로 사용했다. 이런 내가 이게 무엇인가 의문점을 가진것은 방금.함수 컴포넌트 하나를 import해오려는데import {ChatLog} from '@/pages/history/ChatLog.tsx';이렇게 썼더니 오류가 났다.왜?ChatLog가 export default 이기 때문이다..export default 를 사용했을 경우에는import {ChatLog} from '@/pages/history/ChatLog.tsx';이렇게 가져와야한다. 갑자기 머릿속에 든 의문점. 그러면 난 지금까지 어떻게 이걸 사용해왔는가.그래서 이 둘의 차이에 대해 지금! 알아보려한다.defau.. 2025. 4. 17.
실시간 채팅구현(1) - 서버에 따른 통신 도구 설정 이번 WEB IDE 프로젝트에서 실시간 채팅 구현! 을 맡게되었다.예전부터 구현해보고싶었던 기능인데 좋은 기회🎶 즐겁다. 우선, 어떻게 구현 해야할지 감이 안와서 검색을 해보았다. 보통 사람들이 사용하는것을 보면 socket.io, stomp, websoket 등등.. 이 있던데대체 뭐가 다른건지, 프론트는 뭘 해야하는건지.. 뭘 사용해야 적합한지 알아보다 마침내 결론내렸다. 백엔드를 무엇으로 구현하였냐!에 따라 달라지는것같다.우선, 채팅은 소켓을 기반으로 실시간 통신을 한다.이걸 어떤 방식으로 구현을 할지는 서버가 Node.js냐,Spring이냐에 따라 적합한 도구가 달라진다. 실시간 통신은 WebSoket이 담당하고, STOMP, Socket.io, Sockjs가 도와주는 방식이다. 여기서 Soke.. 2025. 4. 12.