기술 습관/개발 잡학지식
-
클래스의 기본클래스란사용자 정의 데이터 타입내가 새로 정의한 데이터타입이므로 클래스를 추상적인 데이터타입이라고 함클래스의 본질은 데이터 타입이라는 점이다.구조체와 비슷멤버 변수와 멤버 함수로 구성클래스의 구성사물의 특성을 정리해 필드와 메서드로 표현하는 과정이 추상화추상화된 결과를 하나의 클래스에 포함시키고 스스로 보호하는 것을 캡슐화클래스의 선언 형식클래스 선언 시 class 키워드 작성, 그 뒤에 클래스 이름을 붙인다.클래스의 요소로는 생성자, 멤버 변수, 메서드 등으로 구성접근 지정자publicprotectedinternal : 같은 어셈블리(프로젝트) 내의 모든 클래스가 접근 가능하다.protected internalprivate객체의 선언클래스를 통해 선언한 변수를 객체라고 한다.
[프로그래머스] 타입스크립트로 함께하는 웹 풀 사이클 개발 10-5클래스의 기본클래스란사용자 정의 데이터 타입내가 새로 정의한 데이터타입이므로 클래스를 추상적인 데이터타입이라고 함클래스의 본질은 데이터 타입이라는 점이다.구조체와 비슷멤버 변수와 멤버 함수로 구성클래스의 구성사물의 특성을 정리해 필드와 메서드로 표현하는 과정이 추상화추상화된 결과를 하나의 클래스에 포함시키고 스스로 보호하는 것을 캡슐화클래스의 선언 형식클래스 선언 시 class 키워드 작성, 그 뒤에 클래스 이름을 붙인다.클래스의 요소로는 생성자, 멤버 변수, 메서드 등으로 구성접근 지정자publicprotectedinternal : 같은 어셈블리(프로젝트) 내의 모든 클래스가 접근 가능하다.protected internalprivate객체의 선언클래스를 통해 선언한 변수를 객체라고 한다.
2024.05.05 -
함수 포인터함수명 앞에 *만 붙여주면 함수 포인터가 선언된다.자료형(*함수 포인터 이름)(인자목록)int (*func)(int a);함수 포인터도 포인터이므로 주소값을 저장.(함수의 주소값만 저장하는 함수 포인터)#include int Plus(int a, int b) { return a+b;}int main(){ int (\*fPtr)(int pa, int pb); fPtr = Plus; // 주소를 받아 간접 참조 int result = fPtr(20,10); printf("결과값: %d\n", result); return 0; }함수 포인터의 사용 이유?직접 함수 호출하지 않고 왜 복잡하게 함수 포인터를 사용?메모리의 크기 및 위치가 결정되는 시점은 컴파일 타임 또는 런타임 시점.컴..
[프로그래머스] 타입스크립트로 함께하는 웹 풀 사이클 개발 10-4함수 포인터함수명 앞에 *만 붙여주면 함수 포인터가 선언된다.자료형(*함수 포인터 이름)(인자목록)int (*func)(int a);함수 포인터도 포인터이므로 주소값을 저장.(함수의 주소값만 저장하는 함수 포인터)#include int Plus(int a, int b) { return a+b;}int main(){ int (\*fPtr)(int pa, int pb); fPtr = Plus; // 주소를 받아 간접 참조 int result = fPtr(20,10); printf("결과값: %d\n", result); return 0; }함수 포인터의 사용 이유?직접 함수 호출하지 않고 왜 복잡하게 함수 포인터를 사용?메모리의 크기 및 위치가 결정되는 시점은 컴파일 타임 또는 런타임 시점.컴..
2024.05.04 -
반복문 (Break & Continue)break문과 continue문break문의 기본 원리반복문 while문 내부에서 특정 조건이 되면 break를 만나게 되는데, break문은 while문을 빠져나가게 된다.continue문의 기본 원리반복문 while문 내부에서 특정 조건이 되면 continue문을 만나게 되는데 이 때 continue 문 이하의 수행은 무시하며 다시 반복의 시작점으로 간다. (skip)평가 문제구구단 출력하되 짝수단만 출력하는 프로그램을 작성. 단 continue문을 이용하여 작성함수함수의 목적코드의 가독성 향상코드의 유지 보수 및 확장 용이함수형 기반 언어의 동작 구조대부분의 프로그래밍 언어는 함수의 집합체함수들이 서로 연동하여 유기적으로 동작함수의 종류표준 함수 : 언어에서 ..
[프로그래머스] 타입스크립트로 함께하는 웹 풀 사이클 개발 10-2반복문 (Break & Continue)break문과 continue문break문의 기본 원리반복문 while문 내부에서 특정 조건이 되면 break를 만나게 되는데, break문은 while문을 빠져나가게 된다.continue문의 기본 원리반복문 while문 내부에서 특정 조건이 되면 continue문을 만나게 되는데 이 때 continue 문 이하의 수행은 무시하며 다시 반복의 시작점으로 간다. (skip)평가 문제구구단 출력하되 짝수단만 출력하는 프로그램을 작성. 단 continue문을 이용하여 작성함수함수의 목적코드의 가독성 향상코드의 유지 보수 및 확장 용이함수형 기반 언어의 동작 구조대부분의 프로그래밍 언어는 함수의 집합체함수들이 서로 연동하여 유기적으로 동작함수의 종류표준 함수 : 언어에서 ..
2024.05.03 -
연산자정적인 데이터를 유기적으로 행동하게 해 새로운 가치를 창출해내는 것산술 연산자사칙 연산자대입 연산자오른쪽에 있는 값을 왼쪽에 대입하는 역할증감 연산자++a / a++ / --a / a--관계 연산자두 개의 피연산자로 관계를 따지는 연산자. 같은지 다른지 어느쪽이 큰지 작은지 비교하는 연산자== / != / > / = / 논리 연산자두개의 조건식 등을 결합하여 하나의 결과값을 만들어낸다.! / && / ||평가 문제사용자로부터 3개의 정수를 입력받아 3개의 수를 곱한 결과를 출력하는 프로그램사용자로부터 3개의 정수를 입력받아 입력한 세 정수의 합과 평균을 출력하는 프로그램분기문 1 (if문)조건이란어떤 의미를 이루게 하거나 이루지 못하게 하기 위하여 갖추어야할 상태나 요소If 조건문if문의 기본 원리..
[프로그래머스] 타입스크립트로 함께하는 웹 풀 사이클 개발 10-1연산자정적인 데이터를 유기적으로 행동하게 해 새로운 가치를 창출해내는 것산술 연산자사칙 연산자대입 연산자오른쪽에 있는 값을 왼쪽에 대입하는 역할증감 연산자++a / a++ / --a / a--관계 연산자두 개의 피연산자로 관계를 따지는 연산자. 같은지 다른지 어느쪽이 큰지 작은지 비교하는 연산자== / != / > / = / 논리 연산자두개의 조건식 등을 결합하여 하나의 결과값을 만들어낸다.! / && / ||평가 문제사용자로부터 3개의 정수를 입력받아 3개의 수를 곱한 결과를 출력하는 프로그램사용자로부터 3개의 정수를 입력받아 입력한 세 정수의 합과 평균을 출력하는 프로그램분기문 1 (if문)조건이란어떤 의미를 이루게 하거나 이루지 못하게 하기 위하여 갖추어야할 상태나 요소If 조건문if문의 기본 원리..
2024.04.29 -
수업 내용 중 Docker를 설명하고 설치하는 내용 중 의문이 생겨 조사해본 내용을 노션에서 블로그로 옮긴다. 처음 Docker를 설치해본게 약 4년 전으로, 당시에 나는 MacOS를 사용 중이었는데 그 때는 Docker를 사용하지 않으면 아예 사용 자체가 안되는게 있어 Docker를 설치했던 기억이 있는데, 당최 그 이유가 생각이 잘 나지가 않는다. 워낙 마이너한 이슈였었고 그때만 해도 Docker를 지금보다도 몰랐기 때문인 것 같다. 그래서 대충 MacOS 환경에서는 거의 필수적으로 Docker가 필요했다는 정도의 인상이 있었는데, 그렇다면 Windows 환경에서 꼭 Docker사용이 필요할까? 없이도 잘만 개발이 가능한데? 하는 의문이 들어 아래 내용을 구글링해보게 됐다. 결론적으로 말하자면 사실상..
[Docker] Windows에서 Docker를 사용하면 좋은 이유? 혹은 좋지 않은 이유?수업 내용 중 Docker를 설명하고 설치하는 내용 중 의문이 생겨 조사해본 내용을 노션에서 블로그로 옮긴다. 처음 Docker를 설치해본게 약 4년 전으로, 당시에 나는 MacOS를 사용 중이었는데 그 때는 Docker를 사용하지 않으면 아예 사용 자체가 안되는게 있어 Docker를 설치했던 기억이 있는데, 당최 그 이유가 생각이 잘 나지가 않는다. 워낙 마이너한 이슈였었고 그때만 해도 Docker를 지금보다도 몰랐기 때문인 것 같다. 그래서 대충 MacOS 환경에서는 거의 필수적으로 Docker가 필요했다는 정도의 인상이 있었는데, 그렇다면 Windows 환경에서 꼭 Docker사용이 필요할까? 없이도 잘만 개발이 가능한데? 하는 의문이 들어 아래 내용을 구글링해보게 됐다. 결론적으로 말하자면 사실상..
2024.03.23 -
3월부터 개발 TIL을 작성하기로 해놓고 가장 처음 쓰게되는 글이 인텔리제이 삽질일 줄은 몰랐다. 강의는 VSCode로 진행하지만 이 참에 다 까먹은 인텔리제이와 친해져보고자 인텔리제이로 프로그래밍을 위해 작성 중에 인텔리제이 CV가 씹히고 Insert가 눌려서 이게 뭔가.. 일단 CV가 안되는 문제이니 인텔리제이 CV 안됨으로 검색해봤더니 File > Settings > Paste 검색 > 좌측 Smart Keys 클릭 후 Reformat on paste를 None 또는 Indent block 으로 수정하라는 해결책을 확인. 그러나 백번 해줘도 안돼서 이번엔 IntelliJ insert 눌림으로 검색했더니 간단히 해결책이 나왔다. Vim Emulator가 필요할 것 같아서 플러그인을 설치한게 문제였다...
[IntelliJ] 코드 복사 붙여넣기(CV)도 안되고 자꾸 Insert가 눌릴 때3월부터 개발 TIL을 작성하기로 해놓고 가장 처음 쓰게되는 글이 인텔리제이 삽질일 줄은 몰랐다. 강의는 VSCode로 진행하지만 이 참에 다 까먹은 인텔리제이와 친해져보고자 인텔리제이로 프로그래밍을 위해 작성 중에 인텔리제이 CV가 씹히고 Insert가 눌려서 이게 뭔가.. 일단 CV가 안되는 문제이니 인텔리제이 CV 안됨으로 검색해봤더니 File > Settings > Paste 검색 > 좌측 Smart Keys 클릭 후 Reformat on paste를 None 또는 Indent block 으로 수정하라는 해결책을 확인. 그러나 백번 해줘도 안돼서 이번엔 IntelliJ insert 눌림으로 검색했더니 간단히 해결책이 나왔다. Vim Emulator가 필요할 것 같아서 플러그인을 설치한게 문제였다...
2024.03.14