전체 글(334)
-
[Javascript] 객체 지향 프로그래밍의 정의
객체 지향 프로그래밍객체 지향 프로그래밍을 설명하기 위해 현실 세계를 비유로 많이 든다. 현실 세계에 실재하는 대상, 예를 들어 책상, 의자, 노트북 등 실재하는 대상을 소프트웨어 세계에서 표현할 때 “객체”라고 표현한다. 현실 세계에서 인간이 의자에 앉아 책상 위에 있는 노트북을 한다고 해보자. 이를 소프트웨어 세계에서 표현한다면 “객체”는 인간, 의자, 책상, 노트북과 같이 실재하는 대상이 될 것이다. 또한 각 대상들은 다른 대상과 식별할 수 있는 고유한 속성을 가지고 있고 동작을 가지고 있다. 인간은 남들과 식별할 수 있는 이름, 키, 몸무게와 같은 속성을 가지고 있고 숨 쉬기, 걷기와 같은 동작을 가지고 있다. 그리고 인간은 의자, 책상, 노트북과 같은 다양한 대상들과 유기적으로 연관되어 다양한 ..
2024.08.15 -
함수형 프로그래밍 개념 (불변성, 순수 함수, 참조 투명성, 1급 함수)
함수형 프로그래밍이란 데이터 처리를 수학적 함수 계산으롤 취급하고 불변성을 바탕으로 사이드 이펙트를 줄이려는 프로그래밍 패러다임이다. 함수형 프로그래밍에 대해 이해하기 위해서 다음과 같은 개념을 알아야 한다. 불변성순수 함수참조 투명성1급 객체1급 함수 불변성불변성이란 값이나 상태를 변경할 수 없는 것을 의미한다. 한 번 생성된 데이터의 값이나 상태를 변경하지 않고 새로운 값을 할당하는 것을 의미한다. 자바스크립트를 기준으로 불변성에 대해 자세히 알아보자. 구체적으로는 ”메모리 힙 영역의 값이 변하지 않는다”라고 해석할 수 있다. 원시 타입과 참조 타입을 기준으로 불변성에 대해 알아보자. 자바스크립트 기준으로 원시 타입은 다음 종류들이 있다.Boolean,StringNumberNullundefinedSy..
2024.08.14 -
네이버 부스트캠프 9기 챌린지 4주 과정 수료 후기
챌린지 수료2024년 8월 9일부로 길다면 길고 짧다면 짧은 4주 동안의 부스트캠프 챌린지 과정이 끝이 났습니다. 저에게는 학교 수업 외에 처음으로 받는 외부 교육이었는데 얻어간 것이 굉장히 많아서 너무 만족스러웠습니다. 저는 처음에 친구 소개로 네이버 부스트캠프를 알게 되었는데 주변에 부스트캠프를 수료했던 사람이 없어서 많이 궁금했던 기억이 납니다. 혹시 이후 부스트캠프를 준비하시는 분들에게 도움이 되고 싶어서 후기 글을 남겨보게 되었습니다. 네이버 부스트캠프 챌린지 과정에 대하여...이번 네이버 부스트캠프 9기 일정은 아래와 같이 진행되었습니다.1차 문제 해결력 테스트 -> 베이직 과정 -> 2차 문제 해결력 테스트를 거쳐 챌린지 과정에 선발됩니다. 운이 좋게도 2차 문제 해결력 테스트까지 통과하여 ..
2024.08.11 -
[Git] .git 디렉토리 내부 변화를 살펴보면서 Git 내부 동작 이해하기
https://growth-coder.tistory.com/129 [Git & GitHub] 깃 버전 관리 기초 사용법작업을 하다보면 예상치 못한 오류가 발생했을 때 이전에 정상적으로 작동했던 코드를 불러오고 싶은 마음이 있을 것이다. 여러 버전으로 나누어 이러한 정보들을 보관해두고 불러온다면 편리growth-coder.tistory.com 이전 포스팅에서 깃으로 버전 관리하는 방법을 알아보았다. 사실 아래 과정만 알고 있어도 깃으로 버전 관리 하는 것에 있어서 큰 어려움은 없을 것이다. git init으로 저장소를 생성한다.git add로 파일을 stage area에 올린다.git commit으로 stage area에 올라온 파일들을 하나의 커밋으로 만든다.그래도 깃을 사용할 때 내부 동작을 알고 있다..
2024.08.02 -
Path 환경 변수 역할
운영체제 별 Path 처리UNIX 계열 Windows디렉토리 구분자/ (forward slash)\ (backward slash)경로 구분자: (colon); (semi colon) UNIX 계열은 기본적으로 디렉토리 경로를 구분할 때 / 슬래시를 사용한다. 에를 들어 usr 디렉토리 내부의 bin 디렉토리를 표현할 때 다음과 같이 표현한다./usr/bin Windows는 디렉토리 경로를 구분할 때 \ 백슬래시를 사용한다. 예를 들어 C: 디렉토리 내부의 Program Files를 표현할 때 다음과 같이 표현한다.C:\\Program Files경로 구분자 사용하는 곳UNIX 계열UNIX 계열에서 여러 경로들을 사용할 때 경로들을 구분하기 위해 : colon을 사용한다. Linux 기반 Ubuntu 기..
2024.07.28 -
[Virtual Box] Virtual Box 네트워크 설정과 ssh 원격 접속 설정을 통해 NAT에 대해 이해해보기
https://growth-coder.tistory.com/290 [Virtual Box] Virtual Box에서 리눅스 기반 Ubuntu 운영 체제 설치Virtual machineVirtual Machine은 물리적인 컴퓨터에서 소프트웨어 방식으로 별도의 컴퓨터 시스템을 에뮬레이트하기 위한 시스템이다. 물리적인 컴퓨터 내부에 존재하는 또 다른 소프트웨어 컴퓨터growth-coder.tistory.com 이전 포스팅에서 Virtual Box 안에서 리눅스 기반 Ubuntu 운영체제를 설치하는 방법을 알아보았다. Virtual Machine은 물리적인 컴퓨터 내부에 존재하는 또 다른 소프트웨어 컴퓨터라고 볼 수 있다. 그래서 Virtual Box와 같은 프로그램을 사용해서 Virtual Machine을 ..
2024.07.20