프로그램 설계 방법론 -#02 [기초 클래스 구성]
·
CS 대학강의
객체가 아닌, 기본 타입 기본 타입은 객체가 아니다. 단순한 연산에도 객체가 사용되면, 복잡하고, 메모리 사용량이 늘어나기 때문이다. 변수 Java는 변수를 선언할 때 변수 타입을 같이 선언한다. int number; 지정식을 통해서 선언한 변수에 값을 담는다. number = 55; 변수의 타입과 값을 동시에 지정해서 변수를 선언할 수 있다. int number = 55; 사례1. 정사각형 면적 구하기 public class Geometry { public static void main(String[] args) { int side, area; side = 7; area = side * side; System.out.println(area); } } 사례2. 원 면적 구하기 public class Ge..
[CS 1-2 | 오픈소스 SW 기초] 오픈소스의 종류와 역사 1주차
·
CS 대학강의
오픈소스 란 사용자가 프로그램의 소스 코드에 아무런 제약없이 접근할 수 있다. 그렇기에, 오픈소스를 활용해서 자체적인 개발을 할 수 있다. - 수정 및 배포 가능하며 사용 상의 제약이 없다. 우리에게 가장 흔하고 많이 쓰고있는 오픈소스는 OS의 "리눅스"이다. 오픈소스 라이센스 오픈소스를 사용할 수 있는 범위가 명시된 라이센스입니다. - 오픈소스 라이센스는 법적과 연관되어 있으며, 배포 전 반드시 라이센스를 참고해야 한다. 오픈소스SW 개발자와 이용자간에 이용 방법 및 조건의 범위를 명시한 계약이다. GPL GPL로 규정된 오픈소스를 사용하게 되면 의무적으로 소스코드를 공개할 의무가 있다. AGPL 하이브리드 GPL 라이센스 GPL의 부담적인 의무 소스코드를 완화시킨 라이센스이다. BSD 소스코드의 공개..
[CS 1-2 | 대학생을 위한 실용금융] 전반적인 금융의 이해 0주차 OT
·
CS 대학강의
우리 경제세계는 미국이 주도한다 예를 들면, 미국이 금리를 인상하면 우리나라도 같이 금리를 올려야지만 경제 혼란이 발생하지 않는다. 수업 진행 방식 수업 시간 때 한 주에 있었던 금융이슈를 보여주며 교수님의 해석을 해주심. 따라서, 매주에 교수님의 해석을 듣고 스스로 금융 이슈를 해석하는 능력을 기를 수 있음. 금융의 이해 최근의 금융 용어들은 수시로 업데이트되고 어렵다. 그렇기에, 용어를 모르다면 수시로 교수님께 질문해서 이해하도록 해야한다. 금융 용어를 몰라서 이해의 오류가 생기는 걸 방지하자 - 뭐든지 처음엔 어설프게! - 금융 공부가 필요한 이유 - 돈이 어떻게 굴러가는지를 알 수 있음. - 경제가 어떻게 굴러가는지를 알 수 있음. -> 경제의 순환구조를 이해할 수 있음. -> 금리, 환율, 주가..
[CS 1-2 | 시스템 프로그래밍 기초] Replit을 활용한 C언어 클라우드 개발환경 구축 1주차
·
CS 대학강의
실습용 개발환경 구성 Log In Run code live in your browser. Write and run code in 50+ languages online with Replit, a powerful IDE, compiler, & interpreter. replit.com replit : docker를 이용했기에, 원격환경에서 소스코드를 관리할 수 있는 개발 툴이다. (vs Code의 확장된 개발환경) 아래 링크를 타고, replit의 시프기 organization 가입 https://replit.com/teams/join/hotlcwvhahgtxvdanydxlhkqgunbtsys-CSE2018-2022 링크를 타고가면, 로그인이 되어있으면 자동으로 organization에 가입이 된다. rep..
[CS 1-2 | 이산수학] 명제 논리문장 1주차
·
CS 대학강의
자연어 문장 -> 명제 논리 문장 p : 말은 동물이다 q : 뱀은 징그럽다. p and q : 말은 동물이고, 뱀은 징그럽다. 주의: 명제 논리문장은 (문장을)사용하는 사람에 따라서 의미가 달라진다. 부울 탐색 - 류현진 AND 진라면 - 류현진 OR 야구 # 구글에서 논리접속사를 사용해서 검색할 수 있게 검색엔진이 구현되어 있음. 논리 퍼즐 예제 #1 예제 #2 명제 논리문장의 진리 값은 긍정은 참 / 부정은 거짓으로 규칙을 정했다. 이에 따라 단순 명제논리 문장을 세우고, 해석에 대한 연습을 함. 디지털 논리 회로 하드웨어 상에서 전기적 신호를 전달할 때 규칙이 있는데, 이때의 규칙은 명제 논리에 따라서 전달된다. 항진명제 항진명제는 명제 논리문장의 모든 진리 값이 항상 참으로 일치한 명제를 의미한..
[CS 1-2 | 이산수학] 이산수학의 필요성 0주차 OT
·
CS 대학강의
이산수학이란 이산수학(Discrete mathematics은 이산적인 수학 구조에 대해 연구하는 학문으로, 연속되지 않는 공간을 다룬다. 유한수학이라고도 하며, 전산학적인 측면을 강조할 때는 전산수학이라고도 한다. - 이산적이라는 말은 연속되지 않은 원소들로 구성됨을 의미 (실수와 다르게 불연속적인 수를 다룸.) 미적분학이 연속된 수를 다루는 새로운 시각을 갖게 한다면, 이산수학(Discrete Mathematics)은 분리된 수에 대한 개념을 갖는다. 이산수학을 배우는 이유 컴퓨터의 내부 연산이 처리될 때 숫자가 이산적으로 처리된다. 그렇기에, 컴퓨터의 연산에 대한 작업을 할 때는 이산적으로 숫자를 대입해야 된다. 이산수학을 어느정도 공부해두면, 내부 연산의 최적화를 이뤄낼 수 있는 개발자로 성장할 수..
[CS 1-2 | 시스템 프로그래밍 기초] C언어 학습의 필요성 0주차 OT
·
CS 대학강의
C언어 함수 선언 형태 C언어에서 함수는 파이썬과 달리 반환 값에 대해서 타입값을 지정한다. 포인터는 메모리를 가르켜 연산속도를 향상시킨다 함수도 가르킬 수 있다. C는 포인터 개념이 있어서 데이터에 대한 정보를 가져올 때는 데이터가 저장된 메모리 위치를 가르켜 데이터를 가져와 연산을 진행한다. 저장된 데이터 정보를 가져올 때 파이썬, 자바와 같은 언어처럼 메모리 복제를 할 필요없이, 포인터로 가르키는 것만으로 데이터에 대한 정보를 가져다 쓸 수 있다. 그래서 상대적으로 적은 메모리를 사용해서 높은 성능의 연산을 수행할 수 있다. 운영체제 (OS)가 C 언어 기반으로 구축되어 있기에, 내가 git을 다룰 때 git pull 하면 FETCH_HEAD를 포인터로 가르켜서 코드파일을 가져오는 것 같다..!! ..
프로그램 설계 방법론 OT - 객체지향 프로그래밍이란?
·
CS 대학강의
오늘은 프설방 OT로 객체지향 프로그래밍에 대해 깊이있게 배울 수 있었다. 개발의 핵심은 기획 프로젝트 개발에 있어서 가장 중요한 절차가 설계이다. 따라서, 설계자 입장에서는 프로젝트 개발에 대해 전체적인 이해가 필요하다. (클라이언트 - 프론트의 뷰) (클라이언트 - 서버의 통신) 등 전반적인 프로젝트에 대한 이해가 필요하다. 그렇기에, 프로젝트 개발에서 첫 단계에서는 설계를 진행하고, 설계한 설계도를 기반으로 구현을 시작해 안정적인 개발을 한다. 우리가 "동네" 웹 개발에서도 개발하기 전에 개발 스텍, 개발 템플릿, API 목록 리스트를 정한 것도 설계 단계인 듯하다 ㅎㅎ 설계단계를 위한 도구, 아키텍처 [아키텍처 패턴] MVC 패턴이란? MVC (Model-View-Controller) Patter..