C언어 함수 선언 형태
C언어에서 함수는 파이썬과 달리 반환 값에 대해서 타입값을 지정한다.
포인터는 메모리를 가르켜 연산속도를 향상시킨다
함수도 가르킬 수 있다.
C는 포인터 개념이 있어서 데이터에 대한 정보를 가져올 때는
데이터가 저장된 메모리 위치를 가르켜 데이터를 가져와 연산을 진행한다.
저장된 데이터 정보를 가져올 때 파이썬, 자바와 같은 언어처럼 메모리 복제를 할 필요없이, 포인터로 가르키는 것만으로 데이터에 대한 정보를 가져다 쓸 수 있다.
그래서 상대적으로 적은 메모리를 사용해서 높은 성능의 연산을 수행할 수 있다.
운영체제 (OS)가 C 언어 기반으로 구축되어 있기에,
내가 git을 다룰 때 git pull 하면 FETCH_HEAD를 포인터로 가르켜서 코드파일을 가져오는 것 같다..!!
C언어와 어셈블리어의 차이점 - 고급언어의 등장 배경
어셈블리어는 하드웨어에 적합한 코드로 구성 해야된다.
즉, 코드가 하드웨어와 직접 연관되어있어서 코드에 따라 실행가능한 하드웨어가 구분되어 있다.
C언어(고급 언어)는 어셈블리어보다 코드가 추상적으로 구성되어, 어떤 하드웨어든 적절한 컴파일러가 있다면 C언어 코드를 구동시킬 수 있다.
그렇기에, 어셈블리어는 하드웨어에 따라 다른 코드를 구성해야되는 반면에,
C언어는 적절한 컴파일러만 사용하면 어떠한 하드웨어에서든 C언어 코드를 구동시킬 수 있다.
시스템 프로그래밍 기초를 배우는 이유
기존에 숙지하지 못했던, C언어에 대해서 심화적으로 공부해볼 수 있는 학문인 듯하다.
제대로 공부하면, C언어를 적극활용하고, C언어 기반으로 구축된 하드웨어, 소프트웨어를 쉽게 관리하고 다루는 존재가 될 수 있을 듯하다 ㅎㅎ
C언어는 대부분의 하드웨어, 소프트웨어에 C언어로 구축되어 있다.
- 운영체제, 컴파일러
- 데이터베이스 (응용 소프트웨어)
C언어를 깊이있게 이해한다면, 데이터베이스의 최적화에 대한 방법을 고안할 수 있을 듯하다..
그렇기에, C언어를 잘 다룰줄 안다면, 개발에 있어 최적화를 이뤄내는 방법을 찾을 수 있을 것 같다.
한줄 요약: C언어를 잘 다루면, 개발 최적화를 만들어낼 수 있는 혁신적인 개발자로 성장할 수 있다 ㅎㅎ
돈도 많이벌고, 교수님 말씀에 따르면 최적화만 잘해도 연봉 1억은 기본..
시프기에서 사용하는 개발환경 - replit
replit : 클라우드 서비스 (도커)에서 개발환경이 관리되는 통합개발환경이다.
(vscode를 원격서버에서 파일을 관리하는 통합 개발환경 느낌이다.)
교수님 말씀에 따르면, 다양한 통합개발환경을 사용해보며 익히는 과정을 하면 앞으로 개발할 때 훨씬 수월하다고 말씀해주셨다.
왜냐하면, 개발환경에 금방 적응하는 능력을 지니게 되고, 새로운 환경에 접해도 쉽게 적응할 수 있기에 개발하는데 시간을 절약할 수 있는 사람이 되기 때문이다.
그렇기에, "처음에는 모든지 어설프게 시작하는 것이고, 많이 하면서 감을 잡아가는 것"
이 말씀이 참으로 위로가 되었다.
나도 실은 방학 프로젝트하면서 다양한 개발환경에 대해 접해왔고, 그 경험을 통해서
새로운 개발환경에서도 쉽게 적응할 수 있는 능력을 갖춰지고 있는 느낌이 들었기 때문이다 ㅎㅎ
그렇기에, 생각만 하지말고, 행동으로 실천하면서 항상 내 것으로 만드는 존재가 되도록 노력하자.
OT 마지막 은재형 교수님의 말씀
서비스 쿠폰을 사두고 사용하지 않으면, 무용지물인 것처럼
곁에 있는 교수님이라는 전공에 대해 많은 지식을 지니고 있는 분들을 적극적으로 활용해서
자신이 모르는 것과 궁금한 것들을 해결해 더 빠르게 나아가라고 말씀해주셨다.
이는 참으로 맞는 말씀이지만, 가까이 있어서 잊고 있던 것 같다.
그래서, 2학기때는 개발하면서 생긴 궁금점들을 교수님께 여쭤보아 나의 개발 시야를 넓히도록 하겠다.
인생은 그 "순간"이 아니라, 순간 순간들이 모여 머나먼 "미래"를 스스로 만들어 가는 것
머나먼 "미래"를 위해 스스로의 순간 순간들을 가치있고, 시야를 넓힌 사고를 지니며 살아갈 수 있는 존재가 되자 !!
인간관계도 똑같은 것같다.. 그 순간을 가장 만족스러운 상황으로 만드려고 하지말고, 미래의 상황에서 만족스런 상황이 되도록 스스로 만들어 가야된다.
좋은 인맥을 가지고 싶다면, 그 순간에만 실패하지 않은 최적의 상황으로 만들지 말고, 그 순간에는 실패하더라도 미래의 상황에서 만족스런 상황을 될 수 있도록 스스로가 노력하는 것..
마치며..
참으로 항상 배울 자세를 지니면, 모든지 발전하고 얻어지는 듯하다..ㅎㅎ
" 불안한 감정은 안전지대를 벗어나 발전하고 있다는 시그널임 ㅎㅋㅋㅋ "
'CS 대학강의' 카테고리의 다른 글
[CS 1-2 | 대학생을 위한 실용금융] 전반적인 금융의 이해 0주차 OT (0) | 2022.09.07 |
---|---|
[CS 1-2 | 시스템 프로그래밍 기초] Replit을 활용한 C언어 클라우드 개발환경 구축 1주차 (0) | 2022.09.06 |
[CS 1-2 | 이산수학] 명제 논리문장 1주차 (0) | 2022.09.06 |
[CS 1-2 | 이산수학] 이산수학의 필요성 0주차 OT (0) | 2022.09.05 |
프로그램 설계 방법론 OT - 객체지향 프로그래밍이란? (0) | 2022.09.02 |