[컴퓨터구조] #3 정수표현법
·
CS/컴퓨터구조
• 정보를 어떻게 표현할까? 정보 = 비트 + 비트가 의미하는게 뭔지이진 숫자로 정보를 표현한다.2진수 N비트 = 2^N 경우의 수  •  Unsigned Integers(부호없는 정수형) 음수표현이 불가능하다.  • Signed Integers(부호가 있는 정수형) 양의 정수와 음의 정수 표현이 모두 가능하다.Positvie numbers(양수)는 Unsigned Integers와 동일하지만Negative numbers(음수)는 3가지 표현법을 이용해 표현할 수 있다.  공통 : 첫번째 비트는 부호를 표현하고, 나머지 비트로 크기를 표현한다.(첫번째 자리 0 : 양수 / 1 : 음수) 1. Sign-magnitude Representation(부호-크기 표현법)0..
[객체지향프로그래밍] #2 자바 기본 프로그래밍(2)
·
CS/객체지향프로그래밍
• System in키보드부터 직접 읽는 자바의 표준 입력 스트림이다.하지만 응용프로그램이 받은 바이트 정보를 문자나 실수로 변환해야 하는 번거로움이 있다.따라서 문자나 정수, 실수, 문자열 등 사용자가 원하는 타입으로 변환해주는 Scanner 클래스를 사용하는 것이 효과적이다.  • Scanner를 이용한 키 입력우선 다음과 같이 Scanner 객체를 생성한다.Scanner scanner = new Scanner(System.in); // Scanner 객체 생성 Scanner를 사용하기 위해서는 프로그램 맨 앞줄에 다음 import 문이 필요하다.import java.until.Scanner; Scanner 클래스는 사용자가 입력하는 키 값을 공백 문자를 기준으로 분리하여 토큰 단위로 읽는다. Sca..
[자료구조] #3 C++ 문법(1)
·
CS/자료구조
• 입력과 출력을 C와 C++에서 정의하는 방식 C C++ Header #include #include Input scanf() std::cin >> Output printf() std::cout num; // 입력 받은 정수 출력 std::cout
[객체지향프로그래밍] #1 자바 기본 프로그래밍(1)
·
CS/객체지향프로그래밍
전공교재인 '명품 Java 프로그래밍'을 바탕으로 정리한 내용입니다. 명품 JAVA Programming (개정4판) | 생능출판사명품 자바를 사랑해주시는 많은 교수님들과 독자들께 감사드립니다. 2017년 7월에 개정3판이 나오고, 두 달도 지나지 않아 Java 9가 출시되었습니다. 그리고 급기야 올해 3월에는 Java 10이 출시되었www.booksr.co.kr public class Hello { public static int sum(int n, int m) { return n + m; } // 메소드 1// main() 메소드에서 실행 시작 public static void main(string[] args) { int i = 20; int s; char a; s = sum(i, 10);..
[자료구조] #2 알고리즘 분석(2)
·
CS/자료구조
1. Big-O Notation Big-O Notaion은 Worst Case에 대한 상한을 제시하여 주어진 입력 크기에 대해 알고리즘이 Big-O로 표현된 함수보다 더 나빠질 수 없다는 것을 의미한다. 즉, 우리가 관심있는 시간복잡도가 Big-O 집합 안에 속해야 한다. (작게 수행되어야 한다.) 정의를 이용해서 어떤 시간복잡도가 Big-O에 속하는 것을 증명하는 문제가 자주 출제되는데, 이때 우리는 상수C와 n0를 찾아야 한다. 예를 들어 T(n) = 5n²이고 이때 T(n) ∈ O(n²)이라면, C(T(n)의 상수라고 가정)는 6, n0는 1이 되어야 한다.(여러 정답중 1개) Basic Operation에서 n0가 1일때 보통 '상수시간 걸린다' 라고 한다. • Tight Bound & Loose..
[컴퓨터구조] #2 성능
·
CS/컴퓨터구조
• 컴퓨터에서 성능을 평가하는 방식 여러가지가 존재하지만 대부분의 성능 평가 기준은 시간과 관련이 있다.(실행시간이 얼마나 빠른지) • 시간 측정 방법• Clock Frequency 시스템 내의 Clock 신호가 발생하는 속도를 나타낸다.아래는 단위를 정리한 표이다.Giga10⁹Mega10⁶Kilo10³Milli10⁻³Micro10⁻⁶Nano10⁻⁹  • Clock Cycle Time Clock 신호가 0 -> 1 -> 0 또는 1 -> 0 -> 1로 변하는데 걸리는 시간 Clock Cycle Time은 Positive 또는 Negative edge 사이의 시간이라고 할 수 있다.  • Clock Rate Clock C..
[자료구조] #1 알고리즘 분석(1)
·
CS/자료구조
• 알고리즘 알고리즘 : Input(입력)에서 Output(출력)으로 가는 논리적인 절차 • 알고리즘 표현 방식 Natural language(자연어) : 일상적인 언어로 표현Pseudo-code(슈도 코드) : 유사 코드(자연어와 프로그래밍 언어를 적절하게 섞는다.)Programming language(C++) • 알고리즘의 효율성 어떤 알고리즘이 가장 효율적일까? : 빠르면서 가벼운 것이 가장 효율적이다! 그렇다면 가장 효율적인 것을 판단해내기 위한 방법은 무엇일까? 자원측정법 : Time(시간), Space(공간) Empirical(정량적인 시간) : 실제로 재는 것을 의미한다. - 장점 : 실질적인 수치를 가지고 비교가 가능하다. - 단점 : 환경에 따라서 달라지며, 실제로 실험하지 않는 이상 모..
[컴퓨터구조] #1 컴퓨터구조
·
CS/컴퓨터구조
• 컴퓨터구조란? 컴퓨터구조(Computer Architecture)는 컴퓨터 시스템의 기본적인 구조와 동작원리를 배우는 과목이다.그렇다면 소프트웨어 전공자인 내가 왜 하드웨어를 배워야하는 것일까? 교수님의 말씀에 따르면, 하드웨어에 대한 높은 이해도를 가지게 되면 더 최적화된 프로그램을 만들 수 있다고 하셨다! 그럼 컴퓨터구조의 기초에 대해 알아보도록 하자.  • 폰노이만 구조CPU(중앙 처리 장치) : 프로그램을 실행하고 데이터를 처리하는 핵심 부품Memory(메모리) : 프로그램과 데이터가 저장되는 곳(폰노이만 구조에서는 프로그램 코드와 데이터가 동일한 메모리에 저장된다.)Control Unit(제어 유닛) : 명령어를 해독하고 실행하는 역할 담당Arithmetic/Logic Unit(산술 논리 장..
[PM] 초보 PM이 알려주는 좋은 PM 되는 법
·
공부기록/PM
나는 UMC라는 대학생 IT 연합동아리에서 5기 PM파트로 활동을 했다!PM 스터디와 겨울방학때 프로젝트를 하며 배웠던 것들을 공유해보려고 한다.  1. PM이란? PM은 Product Manager의 줄임말로, 쉽게 말해 프로덕트(제품)을 매니징(관리)하는 사람을 말한다. 2. 기획자 vs PM 대개 기획자와 PM이 같은 역할을 한다고 생각하지만, 실제로는 하는 일이 전혀 다르다. 기획자는 문제 상황을 바탕으로 그것을 해결할 아이디어를 도출해내는 역할이고, PM은 프로덕트가 잘 만들어질 수 있도록 '운영'하는 역할을 담당한다. 난 운좋게도 저번 겨울방학때 기획자와 PM을 동시에 경험해보았다.  3. 기획문서 PM은 이걸 작성하기 위해 존재한다고 해도 과언이 아니다. 그리고 이걸 바탕으로 개발자와 디자이..