본문 바로가기

Study

(120)
0. OOP(객체 지향 프로그래밍) 객체 지향 프로그래밍이란? 개념: OOP. Object Oriented Programming. 객체를 기반으로 한 프로그래밍. 객체지향 프로그래밍이란 캡슐화, 다형성, 상속 을 이용하여 코드 재사용을 증가시키고, 유지보수를 감소시키는 장점을 얻기 위해서 객체들을 연시켜 프로그래밍 하는 것을 말한다. 언어 혹은 기술이 객체지향인지 판별하는 기준은 다음과 같다. 1. 객체(Object): 2. 클래스(Class): 3. 캡슐화(Encapsulation): 4. 상속(Inheritance): 5. 다형성(Polymorpism): 이 다섯가지를 가지고 있다면 객체지향언어라고 말 할 수 있다. 절차지향과 객체지향: ① 객체지향 - 객체를 생성하고 객체들간의 메시지를 통하여 정보를 교환함으로서 프로그래밍이 이루어짐..
2. Hello, World! 0. 우선 환경변수를 등록하는 것 부터 시작한다. ...\MingW\bin을 Path에 등록한다. (gcc는 컴파일러다.) * gcc가 잘 설치되어있나 알아보기 위해 버전을 확인하는 방법: cmd에서 gcc --version 1. 텍스트 파일을 만들어 아래의 내용을 입력하고 .c파일로 저장하자. 1 2 3 4 5 6 #include int main() { printf("Hello, world!"); return 0; } cs 2. cmd를 열고 gcc ~.c를 입력하면(컴파일하면) a.exe파일이 나온다. 3. cmd에서 a를 실행시키면 "Hello, world!"가 뜬다. -
1. 기초부터 일단 C를 이용하여 자료구조를 공부할 것이다.CLion과 MingW를 깔았다. MingW에서는 C관련 플러그인들을 깔았고.찾아보니 GNU는 리눅스같은 OS인데 어떻게 쓸 지 모르겠다. | CPU CPU. 중앙처리장치. input을 받으면 output을 내는 함수같은 존재다. 연산을 담당한다.코어는 cpu의 핵심 부품 정도로 생각하면 된다. 클럭은 CPU의 속도랑 비슷한 개념이다. 클럭이 높을수록 같은 시간 내 처리하는 신호가 많다는 의미다.참고로 CPU는 표준화가 되어 있지 않다. 인텔과 AMD는 다르다는게 이거였다. | Assembly language [어셈블리어] cpu는 연산을 담당한다고 했다. 연산에 번호를 붙여서 1번 연산, 2번 연산, 3번 연산...힘들다. 그래서 이들에 이름을 붙여 준다. ..
0. Unix와 Linux | Unix 컴퓨터 운영체제 中 하나. 데스크탑/ 임베디드/ 서버용으로 쓰인다. C언어가 유닉스 프로그래밍을 하기 위해 만들어졌다고 한다.유닉스를 모방한 운영체제들이 나타나자, 이들을 표준화하기 위해 POSIX가 생겼다. 다르게 말해서, POSIX 표준을 만족하면? 유닉스 계열 운영체제다. 리눅스도 이중에 하나다. | Linux 유닉스 계열 운영체제 중 하나(or 커널). 즉, POSIX을 만족한다.(참고로 안드로이드는 리눅스 기반이다.)프리-소프트웨어다보니 버전(배포판)이 여러개다. 이 중에 유명한 버전이 우분투인거고. * POSIX ; 유닉스의 애플리케이션 프로그래밍 인터페이스(API) 규격.* 커널 ; OS의 기둥. 커널이 날아가면 운영체제를 못 쓰게 된다. 프로세스에 자원 배분 / 보안/ 추상화를..
0. GNU GNU [그누] "GNU's Not UNIX" https://www.gnu.org/home.ko.html ; 그누 한글 홈페이지https://www.gnu.org/home.en.html ; 그누 영문 홈페이지 | 그누? GNU는 유닉스 형태의 운영체제다. 그리고 프리-소프트웨어 하다.( 여기서 말하는 프리 소프트웨어는 무료 운영체제가 아니라, 사용자가 원하는 대로 만들 수 있는 자유로운 소프트웨어를 말한다. Free software puts its users in control of their own computing. Non-free software puts its users under the power of the software's developer. 루팅하여 관리자 권한을 갖는것과 비슷한 개념인 ..
0. MingW MinGW 밍! http://www.mingw.org/ ; MinGW 홈페이지. MinGW는 Minimalist GNU for Windows의 약자다. 3rd-part C-Runtime dll에 구애받지 않는, 윈도우 어플리케이션 개발을 위한 오픈소스 툴이다. MinGW 컴파일러들은 C 런타임과 몇몇 언어특화된 런타임에 접근할 수 있다. 하지만 POSIX런타임엔 접근 할 수 없다. 만약, POSIX에 접근하고 싶다면 시그윈을 사용하자. MinGW가 포함하는것: GCC(GNU 컴파일러 모음)GNU 바이너리 유틸리티 윈도우용command-line installer MSYS는 MinGW에 맞게 만들어진 커멘드라인이다. 터미널같은 것. -
0. MingW MinGW는 마이크로소프트 윈도로 포팅한 GNU 소프트웨어 도구 모음이다. mingw32로도 알려져 있다. MinGW는 윈도 API를 구현할 수 있는 헤더 파일들을 가지고 있으며 이로써 개발자들이 "자유롭게 쓸 수 있는" 컴파일러인 GCC를 사용할 수 있다. 시그윈 포팅을 사용할 런타임 경우 컴파일한 프로그램 결과물이 유닉스 계통의 기능을 가상으로 구현하는 런타임에 의존하는 반면, MinGW의 경우 이러한 기능에 의존하지 않고 마이크로소프트 윈도 기반 프로그램들을 만들 수 있다. 이 MinGW 프로젝트는 두 개의 기본 꾸러미를 관리하고 배포한다. 첫째로는 포팅된 GCC 컴파일러들은 윈도 명령 줄에서, 아니면 IDE에 통합된 채로 쓸 수 있다. 아니면 둘째로는 MSYS(minimal system의 약자)를..
IntelliJ 단축키 IntelliJ (인텔리제이) 단축키*참고로 인텔리제이 Ultimate는 학생이라면 무료로 다운받을 수 있다. 에디터- Ctrl+Shift+Enter : 자동완성 // for(...|) 커서를|에 놓고 쓰면 편하다Ctrl+Alt+L : 자동 줄맞춤Ctrl+[] : 가까운 []로 이동Shift+Alt (or Shift + Ctrl) 방향키 : 줄 이동Ctrl + W : 블럭 선택 (여러번하면 범위가 점점 커짐)Ctrl + Y : 한줄 삭제Ctrl + / (+Shift) : 주석 처리멀티커서. Sublime Text에 있는 기능과 비슷-Alt+Shift+Mouse Click : 멀티커서Alt+J / Shift+Alt+J : 같은단어 순서대로 선택/선택해제Shift+Ctrl+alt+J : 같은단어 모두 선택 ..