목록전체 글 (46)
나의 길

들어가기 전 이런 경험을 하는 이유는 기반 지식이 없다면 내가 필요한 것을 얼마나 이해하며 실행할 수 있을까?라는 생각과 부딪히며 배우자라는 마음으로 수행했습니다!(docker, Cluster 지식 아무것도 없이 시작했습니다...) 실습환경 oracle VM, VM내의 cnetos7, mariaDB 10.3, docker(최신 버전 사용) 참고 mariaDB 공식 문서 : https://mariadb.com/ko/resources/blog/installing-mariadb-10-on-centos-7-rhel-7/ docker 공식 문서 : https://docs.docker.com/engine/install/centos/ docker 설치 패키지 매니저를 이용한 설치 - yum install docker..

컴퓨터 - 크게 하드웨어, 소프트웨어로 나뉜다. - 그중 하드웨어는 또, 중앙처리장치(CPU), 기억장치(주기억장치 : RAM, 보조기억장치 : HDD), 입출력장치(모니터, 키보드)로 나뉜다. - 또 CPU는 ALU(산술논리연산장치), CU(제어장치), 레지스터 3가지로 구분할 수 있다. - 연산과정(매우 간단히...) 1. 주기억장치가 입력장치에서 입력된 데이터나 보조기억장치의 데이터를 가져온다. 2. CPU(ALU : 연산장치)가 연산을 하기 전 레지스터에 데이터를 임시 저장하고 이 저장된 값을 통해 연산을 한다. 3. 연산이 완료되면 마찬가지로 레지스터에 결과를 저장한다. 4. 레지스터에 저장된 것을 주기억장치로 옮긴다. 5. 이후 주기억장치는 상황에 따라 보조기억장치로 결과를 옮기거나 출력장치로..

6월에 접어들면서 지금 상황을 정리하고 가야겠다는 생각을 하게 되어 상반기 회고를 작성하기로 맘먹었다. 옆에 나침반처럼 지도를 보고 나의 길을 정하고 맘을 다지는 시간을 가져야겠다! 이미지 출처 : Freepik 작가 wirestock 현재 나의 마음 자신의 마음을 뚜렷하게 아는 것도 능력이라고 생각한다. 그래서 항상 내 마음이 어떤지 내가 원하는 것이 뭔지 생각하게 된다. 요즘은 더 그런 것 같다. 코드를 한 줄 적는 것도 중요하지만 내가 이 코드를 왜 적는지, 내가 왜 이 공부를 하고 있는지, 내가 살면서 어떤 것을 이루고 싶은지 등. 목표가 생겼고 그 목표를 위해 해야 할 것을 정리해 본다. 건강 챙기기 정보처리기사 실기 합격 코딩 테스트 사이드 프로젝트 첫 번째, 건강 챙기기 회사에 다니며 출퇴근..

bit - 신호를 나타내는 최소단위, 전기 스위치 하나 - 전기가 흐르면 1, 전기가 흐르지 않으면 0 - 이렇게 0과 1로 나타내야 하기 때문에 2진법을 사용한다.(디지털 신호) (확장 지식) - 4bit는?, 전기 스위치 4개라고 말할 수 있다. 4개의 전기 스위치로 만들 수 있는 경우의 수는 2의 4제곱 즉, 16이다. - 전기 스위치 4개 중 가운데 2개가 켜져 있다면? 0110 즉, 10진수로 6이다. 2진수와 16진수 - 위에서 말한 bit, 2진수로 디지털 정보를 표현할 수 있지만 보통 16진수로 나타낸다.(ex : 메모리 값, 주소, rgb)(이 의미를 모르고 나는 진수변환을 했던 적이 있다...) - 16진수(0~F)에서 10진수 10은 A이다. 그럼 10진수의 15는? F이다. - 여기..

오늘도 이전 포스팅에 이어 네트워크 글입니다! TCP의 중요 기능을 정리해 보겠습니다. 첫 번째 흐름 제어 즉, flow control은 send buffer가 receive buffer에게 받을 수 있는 만큼만 보내주는 기능입니다. 만약 receive buffer가 반만 받을 수 있는데 send buffer가 가득 준다고 하더라도 받을 수 없습니다. 그렇다면 send buffer는 상대방의 receive buffer의 사용 가능한 공간을 어떻게 알 수 있을까요? 그건 저번 포스팅의 TCP header에 window size를 통해 사용 가능한 공간을 send buffer에게 알려주기 때문에 알 수 있습니다. 이 과정에서 receive buffer가 받을 공간이 없다면 header에 0이 담겨 갈 것입니..

이전 포스팅에 이어 네트워크의 Application(App) 계층과 Transport(Tr) 계층을 살펴보도록 하겠습니다! App 계층에서의 전송단위는 message이고, Tr 계층에서의 전송 단위는 segment입니다. Tr 계층에서는 TCP, UDP와 상관없이 multiplexing과 demultiplexing을 지원합니다. multiplexing은 App 계층에서 많은 Process들이 message를 내려보내주면 Tr 계층의 전송단위인 segment로 만들어 주는 것을 말합니다. 반대로 demultiplexing은 receiver가 segment를 받아 message를 받아야 하는 process(socket)들에게 알맞게 보내주는 것을 말합니다. demultiplexing을 할 때 알맞은 sock..

개발을 하며 말 그대로 컴퓨터에 대한 지식이 부족했지만 부끄럽게도 나중에 본다는 생각으로 접어 놓은 것들이 많습니다. 시간적으로 여유가 있지는 않지만 이제는 하지 않으면 영원히 하지 않을 것 같은 생각이 들어 조금씩 시간을 할애하여 공부를 해보려 합니다. (유튜브에서 시청한 2022 인프콘에서 영한님이 목표와 시스템을 만들며 살아간다고 얘기해 주신 게 맘에 와닿아서 실천!) 이 글에서는 저처럼 아예 모르는 사람들을 위해 지식을 정리해 보겠습니다.(나에게 필요한 것 위주!, 공부한 내용을 바탕으로 글을 구성하다 보니 부족한 설명과 틀린 부분이 있으면 댓글로 남겨주시면 정말 감사드리겠습니다!) 위의 그림은 네트워크의 구성입니다. 네트워크는 매우 간단하게 라우터끼리의 연결(network core)과 라우터와 ..

이전 포스팅에서 git의 버전관리를 알아보았는데 조금 더 완벽한 버전관리를 위해 git의 브랜치를 배워보도록 하겠습니다! 브랜치(branch)란? 원래 나뭇가지라는 뜻으로 가지를 뻗는 것처럼 관리하기 위한 개념입니다. (저도 이 말이 잘 이해되지 않지만 밑에 내용을 보면 이해가 될 거예요!) 브랜치의 필요성 이전 포스팅처럼 하나의 저장소가 있다고 가정해보자. 저장소에 코드 버전을 관리하던 중, 이 저장소의 코드와 유사하지만 조금은 다른 코드를 원하는 상황이 생긴다면 저장소를 복사한 후 이전 저장소의 코드와 다른 부분을 수정한 후 또다시 버전 관리하는 상황이 생길 수 있습니다. 이런 상황에 우리는 git init을 통해 만들어진 master 브랜치 이외의 브랜치를 만들어 해결할 수 있습니다. 예를 들어 우..

이전 글로 git과 github를 쬐금 알아보았습니다. 이번 포스팅은 git으로 파일 버전 관리를 할 때 알아두면 좋은 내용들을 정리해 보겠습니다! git은 파일을 수정할 경우 간단한 메모와 수정 내용을 스냅샷으로 찍어 저장합니다. 이렇게 저장된 것들이 버전이라고 불립니다. (물론 이전에 git을 초기화해야 합니다.) git 초기화부터 알아보도록 하겠습니다! 특정 디렉토리에 git -init 명령어를 사용하여 초기화하면 '. git/'이라는 숨긴 폴더가 생성됩니다. 위에서 말씀드린 것처럼 초기화가 되면 버전을 관리할 수 있습니다. 미리 용어를 정리하겠습니다! 작업트리(working directory) : 현재 내가 작업하고 있는 디렉토리 스테이지(stage) : 버전으로 만들 파일이 대기하는 곳 -> 스..

[2022년] 2022년을 늦게나마 정리해본다. 나에게 2022년은 새로운 시작을 위한 도전의 해였다. 회계학이라는 전공을 잠시 뒤로하고 개발자가 되기로 마음을 먹었기 때문이다. 결심을 한 후 혼자 공부하는것에 부족함을 느껴 학원을 다니며 익숙해지지 않던 프로그래밍 언어와 지식을 쌓았다. 학원에서 배운 것은 혼자 공부할 수 있는 프로그래밍의 기초체력을 다진 것, 3번의 팀 프로젝트를 통해 커뮤니케이션 능력을 배웠다. 그리고 마지막 프로젝트에서 나는 팀장을 맡아 팀원들과 우수 프로젝트 상을 받았다. (거의 두달 동안 고생하며 만든 프로젝트로 상을 받으니 뿌듯했다!) 지금은 취업을 통해 28년동안 연고지였던 대전을 떠나 서울에서 생활을 하려고 한다. 비전공자인 나에게 서울의 솔루션 회사에 입사할 수 있다는 ..