본문 바로가기

전체 글41

그로스로그 북클럽 파이브북스 두 번째 책, "스타트업 서바이벌"을 읽고... 방송통신대학교 컴퓨터과학과에 편입해 학교 수업을 듣고 학과 개발 스터디 그로스로그에서 사람들과 함께 공부하면서 졸업 후의 진로에 대해 계속 고민을 하고 있다. 부트캠프를 거쳐서 취업을 할지, 아니면 프로젝트를 여러 개 해서 바로 취업에 도전을 해볼지, 애석하지만 적지 않은 내 나이 때문에 취업이 여의치 않다면 차라리 스타트업을 창업하는 방향은 어떨지 등등... 그러던 차에 그로스로그 북클럽에서 같이 읽을만한 책을 둘러보다 8년 차 스타트업 CEO인 '아샤그룹' 이은영 대표가 쓴 이라는 책을 발견했다. 저자가 스타트업을 창업하고 초기에 본인이 했던 회계, 인사, 운영상의 실수와 투자 유치의 애로사항들을 토대로, 처음 스타트업을 창업하려는 사람들에게 해줄 수 있는 실질적인 조언을 일목요연하게 정리해 놓은 .. 2025. 5. 12.
TinkerCAD로 아두이노와 친해질 준비하기 지난 주 그로스로그에서 프로젝트 팀빌딩이 진행되었다. 나는 아직 개발 경험은 없지만 사회적으로 의미 있는 좋은 프로젝트가 있어 용기 내서 참여하게 되었다. 내가 참여하게 된 프로젝트의 산출물은 IoT로 구현되기 때문에 기본적으로 C를 사용한 임베디드 프로그래밍이 필요하다. 내가 프로그래밍에 직접 참여할 수 있을지는 모르지만 어쨌든 프로젝트가 진행되는 동안 맥락을 이해하는 것이 반드시 필요할 것이기 때문에 나도 아두이노와 좀 친해져 보기로 했다. 우선 알리익스프레스에 아두이노 우노 키트를 주문해놨다. 어차피 키트를 받자마자 바로 코딩을 할 준비가 안 되어있기 때문에, 키트 없이도 아두이노를 실습해볼 수 있는 TinkerCAD로 먼저 간단한 실습을 해 보기로 했다. 마침 야심차게 1년치 구독중인 교보문고 .. 2025. 5. 10.
그로스로그 북클럽 파이브북스 첫번째 책, "IT세계의 괴물들" 모임 후기 올해 2월부터 대학생이 되어 CS 공부를 시작하면서 책을 읽는 시간이 급격히 줄어들었다. 세상에 좋은 책이 얼마나 많은데 갑자기 할 일이 많아졌다는 핑계로 이렇게 책 읽기를 내려놓는다는 게 여간 아쉬운 일이 아니었다. 그런데 마침 내가 활동 중인 방송통신대학교 컴퓨터과학과 개발자 스터디 그로스로그에서 4월부터 소모임을 개설할 기회가 주어졌다. 이 기회에 같은 공부를 하는 사람들과 책을 함께 읽고 얘기를 나눌 수 있다면 더할 나위 없이 좋은 동기부여가 될 것 같았다. 그래서 그로스로그에 북클럽을 열겠다고 했다. 한 달에 한 권씩, 5개월 동안 5권의 책을 읽자는 취지에서 클럽 이름을 "파이브북스"라고 지었다.개발자 커뮤니티 안에서 북클럽을 운영하려니 개발자들이 관심 가질만한 책들을 찾아 나서야만 했다. .. 2025. 4. 21.
가상 메모리와 주소 변환에 대해... 내가 이해하려고 쓰는 글✏ 가상 메모리란? 가상 메모리는 운영체제가 프로그램에게 제공하는 추상화된 메모리 주소 공간이다. 이는 실제 물리적 메모리(RAM)의 크기와 상관없이 프로그램에게 더 크고 연속적인 메모리 공간을 제공한다.가상 메모리의 핵심은 주소 변환 메커니즘이다. 프로그램은 가상 주소를 사용하고, 이 주소는 메모리 관리 장치(MMU)에 의해 실제 물리 주소로 변환된다. 이때 모든 가상 주소가 항상 물리 메모리에 매핑되어 있는 것은 아니며, 필요한 경우에만 하드 디스크와 같은 보조 기억장치에서 물리 메모리로 데이터를 가져온다.따라서 하드디스크 자체가 메모리처럼 동작하는 것이 아니라, 가상 주소 공간을 효율적으로 관리함으로써 제한된 물리 메모리를 효율적으로 사용하고 필요시 보조 기억장치를 활용하는 것이다. 운영체제는 가상 메.. 2025. 4. 21.
[SQL] 서브쿼리(Subquery)에 대해 알아보자 방송대 편입 첫 학기에 데이터베이스 과목을 수강하면서 SQL을 처음 배우기 시작했다. SQL의 핵심이라고 할 수 있는 그룹 질의, 중첩 질의, 조인 질의와 같은 질의(쿼리)의 여러 종류를 배우고 있다. 이러한 질의의 원리를 좀 더 꼼꼼하게 정리할 필요를 느껴서 이 포스팅을 쓰게 되었다. 오늘은 그 중에서도 서브쿼리에 대해 최대한 자세히 알아보려고 한다. 서브쿼리, 왜 필요할까?SQL을 쓰다보면 단일 쿼리만으로는 해결이 어려운 상황이 자주 발생할 것이다.예를 들어, 전체 평균 점수보다 점수가 높은 학생의 명단을 조회하는 쿼리는 단일 쿼리로 작성할 수 없다.이런 문제를 해결해주는 도구가 바로 서브쿼리(Subquery)다.서브쿼리를 이용하면 복잡한 조건이나 계산을 한 번에 처리할 수 있어서, SQL을 더 유연.. 2025. 4. 11.
[파이썬] OOP - 캡슐화 개념과 데이터 은닉, getter/setter 이해하기 지난 포스팅에서는 파이썬의 객체지향 프로그래밍(OOP) 핵심 개념 중 하나인 다형성(Polymorphism)에 대해 알아보았다. 이번 포스팅에서는 데이터 보호와 코드의 안정성에 매우 중요한 역할을 하는 캡슐화(Encapsulation) 개념과 함께 이를 구현하는 getter와 setter 메서드에 대해 자세히 알아보자. 캡슐화란?캡슐화(Encapsulation)는 객체의 내부 상태(속성)를 외부에서 직접 접근하지 못하도록 감추고, 접근을 위한 메서드를 통해 데이터를 간접적으로 제어하는 방법이다.즉, 객체 내부의 데이터 보호와 인터페이스 제공을 목적으로 하며, 불필요하거나 위험한 접근을 제한함으로써 코드의 안정성과 유지보수성을 높여준다. 만약 캡슐화를 통해 객체의 데이터를 보호하지 않으면, 외부에서 내부 .. 2025. 4. 10.
다익스트라(Dijkstra) 알고리즘으로 최단 경로 문제 해결하기 최단 경로 문제란 ?우리가 길을 찾을 때 가장 빠른 길을 고민하듯이, 컴퓨터 과학에도 비슷한 문제가 있다. 바로 최단 경로 문제(Shortest Path Problem)이다. 이 문제는 가중 그래프에서 한 정점(시작점)에서 다른 정점(도착점)까지 가는 경로 중 가중치의 합이 최소가 되는 경로를 찾는 것을 목표로 한다. 여기서 가중치는 간선(edge)에 붙은 숫자로, 거리, 시간, 비용 등을 나타낼 수 있다.예를 들어, 도시 A에서 도시 C로 가는 길이 두 개 있다고 해보자. 하나는 직진해서 10km이고, 다른 하나는 B를 거쳐서 7km라면, 당연히 7km인 경로를 선택할 것이다. 최단 경로 문제는 이런 상황을 수학적으로 해결하는 방법이다. 이번 포스팅에서는 이 문제를 효율적으로 푸는 방법 중 하나인 다익.. 2025. 4. 6.
팩토리얼(계승)함수의 재귀적 정의와 파이썬: 수학과 코딩의 만남🤍 이산수학의 함수 챕터를 공부하다가 팩토리얼의 '재귀적 정의'를 보고 왜 굳이 이렇게 정의를 해야 하는지 의문이 생겼다.팩토리얼은 지난 글에서도 한 번 다뤘지만 이번엔 좀 다른 관점에서 바라보려고 한다.팩토리얼이란? 팩토리얼은 양의 정수 n에 대해 n!라고 쓰고, 1부터 n까지의 모든 정수를 곱한 값이다. 수식으로 보면 다음과 같다. n!=1×2×3×⋯×n 그리고 하나 기억할 것은, 수학에서는 0!=1 로 정의되어 있다는 것이다. 이게 앞으로 다룰 재귀적 정의에서 중요한 역할을 하게 된다. 재귀적 정의, 팩토리얼의 마법 공식팩토리얼을 계산하는 방법은 여러 가지가 있지만, 오늘의 주인공은 재귀적 정의이다. 재귀(recursion)는 어떤 문제를 해결하기 위해 그 문제의 더 작은 버전을 반복적으로 해결하는 방.. 2025. 3. 27.
[파이썬] os 모듈, 언제 어떻게 쓰면 좋을까? 이번 포스팅에서는 다시 파이썬으로 돌아와 os모듈에 대해 알아본다. 파이썬의 os 모듈은 이름에서 알 수 있듯이 운영체제와 상호작용하는 다양한 기능을 제공하는 라이브러리로, 파일과 디렉토리를 관리하거나 시스템 명령어를 실행하는 등의 작업을 할 때 유용하다. 예를 들어, 운영체제 내의 특정 디렉토리의 파일 목록을 가져오거나, 파일 이름을 수정하고, 디렉토리를 생성하거나 삭제할 때 os 모듈을 사용할 수 있다. 따라서 텍스트, 이미지, 파이썬 파일 등 어떤 종류의 파일이든 다룰 수 있다. os 모듈이 필요한 이유디렉토리나 파일을 핸들링하는 일은 GUI나 CLI에서도 충분히 가능한데 "굳이 왜" 파이썬 os모듈을 사용해야 하는지 의문이 들 수 있다. 하지만 os 모듈은 우리가 일상에서 하는 많은 노가다 업무를.. 2025. 3. 21.