본문 바로가기

개발자 일지133

[혼공컴운] 6주차 가상 메모리, 파일 시스템 혼공학습단13기 6주차 활동의 일환으로 혼자공부하는 컴퓨터구조 + 운영체제 학습 내용을 정리해보는 포스팅입니다.오늘은 챕터14 가상 메모리, 챕터15 파일 시스템에 대해 학습해보려고 합니다.  [목차]가상 메모리파일 시스템마무리 1. 가상 메모리 1) 연속 메모리 할당 메모리에 프로세스들이 배치되는 걸 상상하면보통 연속적으로 배치되는 상상이 됩니다. 이를 연속 메모리 할당 방식이라 합니다. 이 메모리에 올라간 프로세스들 중,대기가 긴 프로세스, 오랫동안 안 쓰는 프로세스 등은정리를 해주는 것이 효율적이겠죠? 그래서 이런 프로세스들을 보조기억장치 일부 영역으로 쫓아내고메모리에 생긴 빈 공간에 다른 프로세스를 적재하여실행하는 방식을 스와핑이라고 합니다. 보조장치 일부 영역은 스왑 영역이라 하고,메모리에서 스.. 2025. 2. 23.
[혼공컴운] 혼공학습단13기 활동 회고 혼공학습단13기 혼자공부하는 컴퓨터구조와 운영체제를 스터디하면서 회고를 해보는 포스팅입니다.  [목차]우연히 발견한 혼공학습단그래서 도움이 되었나요?마무리(앞으로의 계획) 1. 우연히 발견한 혼공학습단 인프런에서 컴퓨터구조와 운영체제 관련된 공부를 하고 싶어서강의를 찾던 중, 혼공컴운 강의가 무료로 있어서 강의 수강을 하였습니다. 빠르게 듣다보니 머리에 생각보다 안 남아서,책을 사서 한 번 다시 공부하려고 했는데요! 우연히 책을 검색하던 중 혼공학습단이라는 키워드로 블로그 글들이 많이 올라온 것을 보고 '그냥 공부하는 것보다 스터디 하면 더 몰입 될 것 같은데'라는 생각을 하며 신청하게 되었네요.마침 13기를 모집하는 시기였고, 나름 정성껏 신청서를 작성했습니다. 감사하게도 13기에 선정 되서 6주차 포.. 2025. 2. 19.
[혼공컴운] 5주차 프로세스 동기화, 교착상태 혼공학습단13기 5주차 활동의 일환으로 혼자공부하는 컴퓨터구조 + 운영체제 학습 내용을 정리해보는 포스팅입니다.오늘은 챕터12 프로세스 동기화, 챕터13 교착상태에 대해 학습해보려고 합니다.  [목차]프로세스 동기화교착 상태마무리 1. 프로세스 동기화 1) 동기화란 프로세스 동기화란 프로세스가 아무렇게나동시에 실행되지 않도록 올바른 순서대로 실행되도록맞추는 것을 의미합니다. 그리고 동시에 접근해서 안 되는 자원에 하나의 프로세스만접근하도록 제어하는 것도 의미합니다. 즉, 프로세스 동기화란 실행순서 제어와 상호 배제두가지 측면을 갖고 있습니다. 참고로 쓰레드도 동기화 대상입니다.여러 쓰레드가 동시에 하나의 자원에 접근하면원하는 결과를 얻지 못할 수 있습니다.개발하면서 자주 듣게 되는 동시성이라는 키워드도 .. 2025. 2. 14.
[혼공컴운] 4주차 운영체제 시작하기, 프로세스와 스레드, CPU 스케줄링 혼공학습단13기 3주차 활동의 일환으로 혼자공부하는 컴퓨터구조 + 운영체제 학습 내용을 정리해보는 포스팅입니다.오늘은 챕터9 운영체제 시작하기, 챕터10 프로세스와 스레드, 챕터11 CPU 스케줄링을 정리해보겠습니다.  [목차] 운영체제 시작하기 프로세스와 스레드 CPU 스케줄링 마무리인프런 강의를 통해 들었을 때 조금 헷깔린 부분들도 있었는데확실히 책으로 다시 정리해보니이해가 잘 되었던 것 같습니다. 드디어 컴퓨터 구조가 끝났네요.이번 시간부터는 운영체제를 시작합니다! 1. 운영체제 시작하기 1)운영체제를 알아야 하는 이유 운영체제는 우리가 흔히 쓰는윈도우같은 것들을 말합니다.이런 운영체제가 왜 필요할까요? 예전에 관련업종이 아니었을 때는단순히 GUI를 통해 유저가 편히 쓰도록도와주는 프로그램 .. 2025. 2. 9.
[혼공컴운] 3주차 메모리와 캐시 메모리, 보조기억장치, 입출력장치 혼공학습단13기 3주차 활동의 일환으로 혼자공부하는 컴퓨터구조 + 운영체제 학습 내용을 정리해보는 포스팅입니다.오늘은 챕터6 메모리와 캐시 메모리, 챕터7 보조기억장치, 챕터8 입출력장치를 정리해보겠습니다.  [목차]메모리와 캐시 메모리보조기억장치입출력장치마무리1. 메모리와 캐시 메모리1) RAM의 특징과 종류 주기억장치인 램은 대표적으로 RAM, ROM이 있고보통 RAM을 지칭합니다. RAM의 가장 큰 특징은 휘발성입니다.전원을 끄면 말그대로 데이터가 날라간다는 것입니다. 데이터는 평소에 보조기억장치(하드디스크, SSD) 등에 보관이 되고메모리에 데이터를 읽어와서 명령어를 수행하는 방식으로프로그램을 수행합니다. 컴퓨터 구매할 때 RAM이 몇기가인지 많이 언급이 되는데요.이 RAM 용량이 속도에 직접적으.. 2025. 1. 19.
[혼공컴운] 2주차 CPU의 작동 원리, CPU 성능 향상 기법 정리 혼공학습단13기 2주차 활동의 일환으로 혼자공부하는 컴퓨터구조 + 운영체제 학습 내용을 정리해보는 포스팅입니다.오늘은 챕터4 CPU의 작동 원리, 챕터5 CPU 성능 향상 기법 관리를 정리해보겠습니다.   [목차]CPU의 작동 원리CPU 성능 향상 기법 마무리  1. CPU의 작동 원리 CPU의 구성요소 중 대표적으로ALU, 제어장치, 레지스터가 있습니다. 여기서는 ALU와 제어장치를 알아보려고 합니다. 1) ALU와 제어장치 ALU는 레지스터를 통해 피연산자를 받고,제어장치로부터 제어신호를 받아서 산술, 논리 연산 등 다양한 연산을 수행합니다. ALU의 결과값은 메모리에 바로 저장되는 것이 아니라레지스터에 저장됩니다. 그리고 ALU는 결과값 이외에도 연산 결과에 대한추가적 정보를 담는 플래그도 보냅니.. 2025. 1. 14.
[Cursor AI] Cursor AI 사용 이유, 자동완성 해제 방법 오늘은 Cursor AI를 쓰기 시작한 이유와 자동완성 기능을 끄는 법을 간단히 포스팅합니다.   [목차]Cursor AI 사용 이유자동완성 해제 방법 1.Cursor AI 사용 이유 회사에서 앞으로 인텔리제이가 아닌 Cursor AI로개발하기를 희망하면서 라이센스를 구입해줘서테스터로 발탁되었습니다. 그러나 인텔리제이의 익숙함 때문에미루다가 개인 공부에 우선 적용해볼까 해서알고리즘과 자료구조 공부할때 써보기 위해Cursor AI를 설치해서 써보고 있습니다. 회사에서도 조금 써봤지만 확실히 편하긴합니다.저는 코파일럿을 따로 써보진 않아서 잘 모르겠지만IDE 자체에 AI 기능을 통해 피드백 받을 수 있다는 것이정말 신기하고 대단한 것 같습니다. 근데 알고리즘과 자료구조를 연습용으로 쓰려는데자동완성 기능이 자.. 2025. 1. 11.
[혼공컴운] 1주차 컴퓨터 구조 시작하기, 데이터, 명령어 정리 혼공학습단13기 1주차 활동의 일환으로 혼자공부하는 컴퓨터구조 + 운영체제 학습 내용을 정리해보는 포스팅입니다.  [목차]컴퓨터 구조 시작하기데이터명령어정리 1. 컴퓨터 구조 시작하기 1) 컴퓨터 구조를 알아야 하는 이유 실무에서 오류가 발생했을 때, 컴퓨터 구조를 잘 알고 있으면문제 상황을 좀 더 빠르고 정확하게 캐치할 수 있습니다. 그밖에도 컴퓨터를 실제 구매할 때 더 적합한 컴퓨터 구매를 할 수도 있습니다. 채용 공고를 봐도 전공자 수준의 지식,컴퓨터 구조 지식을 요구하는 회사도 많기 때문에취업 및 이직시에도 도움이 될 수 있습니다. 2) 컴퓨터 구조의 큰 그림 크게 컴퓨터 구조 지식은 컴퓨터가 이해하는 정보와 4가지 핵심 부품으로 나눠볼 수 있습니다. 컴퓨터가 이해하는 정보는 2장에서 배울 데이터.. 2025. 1. 9.
[기타] 개발 커리어를 다시 신경 쓰기까지 + 나의 실적 평가 오블완 챌린지 마무리를 위해 별거 아닌 일기를 형식도 없이 쓰게 된다. 가끔 자유롭게 쓰고 싶었는데 이런 기회를 이용해야지..(브런치는 탈락 후 손을 못대는 중) 1. 개발 커리어를 다시 신경쓰기까지 사실 올해 7~8월까지만 해도 부동산 공부를 많이 진행했고 온갖 고민이 그쪽으로 가 있어서 개발자 커리어를 좀 놓아버렸다.2023년 6월정도부터 부동산 공부를 본격적으로 하기 시작했는데 커뮤니티에서 활동을 너무 강력하게(?) 해서다른 것에 시간과 에너지 내기가 쉽지가 않았다. 그러나 공부만 계속되고 투자금 문제나 현재 거주지 문제, 아내의 직장 문제, 본가 문제 등이 겹쳐서 투자는 엄두가 안 났다. 신혼인데 아내랑 시간도 보내기 힘들고 내 개발 공부도 좀 미뤄지는 것 같아서 과감하게 올해 7~8월부터 커뮤.. 2024. 11. 26.
[책 후기] SQL레벨업 리뷰 및 정리 아직 다 읽지는 않았지만 꽤 잘 읽고 있는 SQL레벨업이라는 데이터베이스 책을 소개해보려고 합니다. 개인적으로 내용이 좋아서 읽은 곳까지 간단히 정리해보고 후기를 남겨보겠습니다.  [목차]책 소개기억할 내용마치며 1. 책 소개 데이터베이스 아키텍처와 SQL 기능과 성능에 관한 내용을 담고 있는 책입니다. 우선 데이터베이스에 흥미가 많이 없었기 때문에 두꺼운 책을 엄두도 못 내고 있었는데요.한 2년 전 쯤인가.. 얇고 깔끔한 표지에 쉬워보인다고 덜컥 샀었습니다.그러나 당시 내공으로 결코 쉽게 읽히지 않아서 초중반에 덮어버린 기억이.. 그리고 시간이 지나서 최근 11월 초부터 시간날 때마다 조금씩 읽고 있습니다.다시 읽으니 꽤 잘 읽히고 배워가는 재미가 있습니다. 아키텍처, 결합(JOIN), 인덱스, 서브쿼.. 2024. 11. 25.
실력 있는 개발자가 되기 위한 깨달음 어떤 글을 보며 개발자 실력 향상에 대한 깨달은 점이 있어서 글로 정리해보려고 한다. 좋은 글을 볼 수 있어서 감사하다! 1. 컴퓨팅 사고와 실력 향상의 본질 평소 컴퓨팅적 사고에 관심이 있고,나도 이걸 키워야겠다는 목표를 잡은 적이 있다.그러나 실제로 행동에 옮기기가 쉽지 않다. 비전공자 문과 입장에서 컴퓨터공학 전공자나잘 하는 개발자들은 뭐가 다를까를 생각해봤을 때그들이 단순히 많이 컴퓨터를 공부해서가 아니라,컴퓨팅적 사고력 훈련이 많이 되어서잘 하는 것이 아닐까라는 생각을 했던 것 같다.  사실 컴퓨팅적 사고력에 대한 정확한 이해는 없고 조금 막연한 생각이긴 했다.그러나 분명 나같은 사람과 생각 방식은 다를 것이라고 생각했다.수학 잘 하는 사람들의 사고력과 비슷하지 않을까?라고 생각했었다.일단 A는.. 2024. 11. 24.
[강의 후기] 인프런 김영한님 실전 Querydsl 강의 후기 JPA 로드맵 마지막 강의 실전 Querydsl을 수강하고 기억할 내용들과 후기를 남겨봅니다.  [목차]강의 느낀점강의에서 기억할 것마치며[관련 포스팅]인프런 김영한님 자바 ORM 표준 JPA 프로그래밍인프런 김영한님 스프링부트와 JPA 활용1 강의 후기인프런 김영한님 스프링부트와 JPA 활용2 강의 후기 1. 강의 느낀점 스프링 로드맵의 마지막 강의 Querydsl을 드디어 완강했습니다. 사실 JPA를 좀 더 쉽게 써주는 라이브러리 정도를 공부하는데에 시간대비 괜찮은 강의일까? 라는 의문도 조금 있었습니다만, 역시 김영한님의 강의력과 팁들 덕분에 시간과 돈이 오히려 절약되었다는 생각을 많이 했습니다.  그리고 Querydsl강의지만 Querydsl의 문법만 배우는 것이 아니고 지금까지 로드맵을 수강하며.. 2024. 11. 19.
[개발 기타] 최근 학습 내용 정리 및 TODO 정리 한두달 전부터 개발 공부를 다시 제대로 해야겠다는 생각이 들었는데 지금까지 공부한 것들을 좀 정리하고 앞으로 나아갈 방향을 좀 정리해보려고 한다.  [목차]최근 학습 내용TODO기타 끄적끄적 1.  최근 학습 내용 1) JPA 공부를 다시 제대로 해봐야겠다는 생각이 들었을 때 가장 우선적으로 생각이 들었던 것은 JPA였다. 아직 우리 회사는 JPA를 쓰는 서비스가 많이 없고 내가 맡고 있는 서비스 역시 JPA를 사용하지 않는다.(여러 서비스 중에 하나가 있었는데 사라짐) JPA를 사용하지 않는데 왜 JPA를 공부할까? 왜냐면 대부분 서비스 회사들에서 이제 JPA를 많이 활용하고 있다는 것은 팩트니까..   개발자는 항상 준비되어 있어야 함을 최근에 많이 느꼈기 때문에, 내가 혹시 이직을 하더라도 JPA라.. 2024. 11. 15.
[강의 후기] 인프런 김영한님 스프링부트와 JPA 활용2 강의 후기 인프런 스프링 강의로 유명한 김영한님의 실전! 스프링 부트와 JPA 활용 2편을 공부하고 간단히 후기를 남겨보려고 합니다.  [목차]강의 느낀점강의에서 기억할 것마치며[관련 포스팅]인프런 김영한님 자바 ORM 표준 JPA 프로그래밍인프런 김영한님 스프링부트와 JPA 활용1 강의 후기 1. 강의 느낀점 드디어 JPA 활용2 강의를 다 들었습니다.예전에 들었을 때 활용1까지 이해도가 낮은 상태라 2를 도전하지 못했는데 이번에 완강할 수 있어서 좋았습니다.2에서도 새로운 개념이나 주의사항, 고려해야할점 등을 많이 소개해주셔서 시간이 아깝지 않은 강의였네요. 내년 목표 실적을 설정할 때 JPA와 관련된 기능 추가하거나, 토이프로젝트를 꼭 해봐야곘습니다.방대한 내용이니만큼 실무나 토이프로젝트 등에 적용하지 않으면.. 2024. 11. 6.
[강의 후기] 인프런 김영한님 자바 ORM 표준 JPA 프로그래밍 인프런 스프링 JPA 강의 기초인 자바 ORM 표준 JPA 프로그래밍을 완강한 후 후기를 남겨보려고 합니다.  [목차]강의 느낀점강의에서 기억할 것1강의에서 기억할 것2이후 계획 1. 강의 느낀점 저번 스프링부트와 JPA 활용1편을 들은 후, 이번에 가장 기초강의인 자바 ORM 표준 JPA 프로그래밍을 수강했습니다.원래 이것부터 들어야 하지만, 실제로 JPA 활용1편을 먼저 들으면서 일단 따라해보고 다시 기초강의를 듣는 방식도 상당히 효과가 좋은 것 같습니다. 좀 더 익숙해진 상태로 기초강의를 들으니 빠르게 들을 수 있었네요. JPA 활용1편과 다른점은 예제보다 이론에 좀 더 초점을 맞춘 강의인 것 같습니다. 활용1편에서는 나오지 않는 개념이 꽤 많이 나오네요. 그 중 가장 중요한 것은 fetch joi.. 2024. 10. 22.
[java] 동일성, 동등성 개념 및 equals, hashCode 최근 JPA 강의를 듣던 중 동일성과 동등성 개념 및 equals, hashCode에 대한 내용이 나왔습니다.예전에 배웠지만 또 가물가물해서 이번 기회에 제대로 정리해보려고 합니다.  [목차]동일성이란?동등성이란?equals와 hashCode동일성/동등성 테스트 예제1. 동일성이란?자바에서 동일성(Identity)이란 '==' 연산자를 사용하여 두 객체가 같은 메모리 주소를 참조하는지를비교하는 것을 의미합니다.즉, 두 객체가 메모리상에서 동일한 위치에 있는지 판단하는 것입니다.그래서 같은 타입이고 같은 값을 가지고 있더라도, 메모리 주소가 다르면 false를 반환하게 됩니다. String str1 = new String("hello"); String str2 = new String("hello"); Sy.. 2024. 10. 16.
[강의 후기] 인프런 김영한님 스프링부트와 JPA 활용1 강의 후기 인프런 스프링 강의로 유명한 김영한님의 실전! 스프링부트와 JPA 활용1편을 공부하고 간단히 후기를 남겨보려고 합니다.  [목차]강의 느낀점강의에서 기억할 것앞으로 공부 방향 [관련 포스팅]Entity와 EntityManager 개념, 관계Swagger와 Spring Data JPA를 활용한 예제 학습Java ORM 표준 JPA 프로그래밍 정리1(김영한 강사님)Java ORM 표준 JPA 프로그래밍 정리2(김영한 강사님) 1. 강의 느낀점 오랜만에 인프런에서 JPA 공부를 해봤습니다! 김영한님의 JPA 강의 예전에 한 번 들었는데 그당시에 어설프게 이해하고 몇 년 지나니 다 까먹었네요.오랜만에 인프런 강의를 들으니 재밌습니다. 특히 언젠간 다시 시작해봐야지..라고 했던 JPA로 시작하니 더 재밌게 봤네요.. 2024. 10. 8.
[C언어] C언어 기초 정리 (간단) C언어에 대해 전반적으로 간단히 정리해보는 포스팅을 해보려고합니다.  [목차]C언어 개요C언어 주요 특징기본 문법 비교(JAVA, C)포인터함수동적 메모리 할당배열마무리1. C 언어 개요 C언어는 JAVA와 다르게 객체지향 개념이 없는 절차적 언어입니다. 임베디드 프로그램, 운영체제 개발에 많이 사용됩니다.코드가 순차적으로 실행되고 함수 단위로 작업이 이루어집니다. 2. C 언어 주요 특징 메모리 관리가 JAVA와 다릅니다.자바는 가비지 컬렉션을 통해 메모리를 자동적으로 관리하는 반면, C는 malloc(), free() 함수등을 통해 메모리를 수동으로 관리합니다. 명시적으로 해제하지 않으면 메모리 누수가 발생할 수 있습니다. 또 그 유명한 포인터라는 개념이 있습니다.포인터는 메모리 주소를 저장하는 변수.. 2024. 10. 7.
[Java] Logback, SLF4J 기초, 사용 이유, 환경 설정 및 테스트 Java 개발시 로그 남길 때 많이 사용하는 Logback, SLF4J에 대해 알아보려고합니다.그리고 환경 설정 및 테스트 예제를 같이 포스팅해보겠습니다.  [목차]Logback, SLF4J란?Logback을 많이 사용하는 이유Logback 환경 설정 및 테스트1. Logback, SLF4J란? Logback은 자바 기반 로깅 프레임워크입니다.자바, 스프링 개발시 로그를 찍을 때 가장 많이 사용하는 프레임워크가 아닐까 싶습니다. Logback은 SLF4J(Simple Logging Facade for Java)를 구현한 구현체입니다.SLF4J는 로깅 프레임워크에 대한 추상화를 제공해 로깅 구현을 돕습니다. 이전에 Log4j가 많이 쓰였는데 지금은 Logback을 많이 사용하는 추세입니다. 2. Logba.. 2024. 10. 4.
[자료구조] 자료구조 개념, 종류 알아보기 자료구조 종류에 대해 전체적으로 알아보는 포스팅을 하려고 합니다.  [목차]배열연결 리스트스택큐해시 테이블트리그래프힙자료구조란 데이터를 효율적으로 저장하고 관리하는 방법을 의미합니다.흔히 말하는 배열이 자료구조입니다. 갑자기 자료구조를 공부하는 이유는 이직에 대한 생각도 있지만, 개발자라면 제대로 알아야한다는 생각이 들었습니다.개발자는 공부해야할 것이 산더미지만 그중에서도 기본은 알고 있어야 하는 것이 몇 개 있는데 그게 자료구조라는 생각이 들었습니다. 그래더 자료구조를 간단하게 전체적으로 한 번 정리해보려고 합니다.자료구조별로 상세한 정리도 할 예정인데 그것은 이후에 포스팅해보겠습니다. 1. 배열 배열(Array)은 동일한 데이터 타입 요소들이 연속된 메모리 공간에 저장되는 자료구조입니다.예를들어 데이.. 2024. 10. 2.