코딩스뮤:)

    Introduction Advanced OOP

    Introduction Advanced OOP

    Advanced OOP-0-Introduction 소프트웨어 왜 문제인가? 소프트웨어 위기 위기의 원인? 소프트웨어 개발 프로세스의 복잡성 소프트웨어 공학의 미성숙 소프트웨어 규모가 커짐 소프트웨어의 품질 품질 문제는 정해진 시간에, 정해진 노력으로, 정해진 요구사항을 해결하지 못함 소프트웨어는 보이지 않기 때문에 품질 판단이 더욱 어려움 소프트웨어의 심각성 소프트웨어가 대형화되면서 더욱 위기가 심각해짐 소프트웨어 대형화로 인한 문제 협업의 문제 : 설계의 중요성 요구사항의 문제 : 요구사항은 계속해서 늘어남 소프트웨어 심각성 소프트웨어 오류의 심각성 눈에 보이지 않아서 오류의 심각성을 중요치않게 생각함 SW 오류로 생명의 손실 발생 가능 ex:) 자율주행사고 경제 손실 발생 가능 좋은 SW란? 좋은 S..

    [유닉스 이론과 실습] ch13. 배시쉘 프로그래밍

    [유닉스 이론과 실습] ch13. 배시쉘 프로그래밍

    (본 강의 노트는 한빛 미디어의 책을 기반으로 하고 있습니다) ch13. 배시쉘 프로그래밍 학습목표 다양한 쉘 변수를 이해하고 활용하는 방법을 익힌다 사용자로부터 입력을 받아 스크립트 파일에서 처리하는 방법을 익힌다 다양한 연산자와 문자열 테스트, 파일 테스트를 활용하는 방법을 익힌다 조건문과 반복문의 사용 방법을 익힌다 함수를 이용해 스크립트를 작성하는 방법을 익힌다 스크립트의 실행 오류를 찾아 수정하는 방법을 익힌다 목차 쉘 스크립트 쉘 변수 사용하기 사용자로부터 입력 받기 연산자 제어문 함수 디버깅 01. Shell 스크립트 스크립트 인터프리터라 불리는 다른 프로그램에 의해 실행되는 프로그램 자바스크립트, 파이썬 shell 스크립트란? Shell이 실행하는 프로그램 유닉스 명령 + Shell이 제공..

    [유닉스 이론과 실습] ch04. vi 사용법 익히기

    [유닉스 이론과 실습] ch04. vi 사용법 익히기

    (본 강의 노트는 한빛 미디어의 책을 기반으로 하고 있습니다) ch04. vi 사용법 익히기 학습목표 유닉스에서 사용하는 편집기의 종류를 알아본다 대표적인 화면 편집기인 vi의 사용 방법을 익힌다 vi의 환경 설정방법을 익힌다 목차 유닉스 편집기 vi의 사용법 01. 유닉스의 편집기 화면 편집기 vi vi editor는 리눅스 패밀리에서 가장 유명하고 classical한 텍스트 edit tool 대부분의 리눅스에서 사용 가능함 사용자 친화적인 환경이라서 적응되면 사용하기 편함 emacs 막강한 기능 제공, 설치해서 사용해야 함 모드형과 비모드형 모드형 명령모드에서 입력한 키는 명령으로, 입력모드에서 입력한 키는 데이터로 간주 모드를 바꾸기 위한 특수 키가 있음 비모드형 입력한 모든 키는 데이터로 간주 M..

    Introduction UNIX

    Introduction UNIX

    UNIX-0-Introduction Computing Era 1940~1970~2020 1940~1970 Turing Machine, ENIAC, machine language, assembly language IBM, Fortan, Algol, Cobol 1970 C, UNIX, OS 1970~2020 Sun OS MS-DOS Windows, Apple, GNU LINUX, Google SAMSUNG, iPhone UNIX Unix란? a family of multitasking(프로세서가 여러개), multiuser(late 1970s) computer OS that derives from the original AT&T(전신전화 회사) Unix 1970년대에 Bell Labs에서 Ken Thomps..

    [Head First Design Patterns] 03 데코레이터 패턴

    [Head First Design Patterns] 03 데코레이터 패턴

    (본 강의 노트는 한빛 미디어의책을 기반으로 하고 있습니다) 03 데코레이터 패턴 Decorator Pattern 목적 객체에 추가적인 책임을 동적으로 부여함. 데코레이터는 서브클래싱(상속)을 사용하지 않아도 유연하고 융통성 있는 기능 확장을 가능하게 함 문제 조금씩 기능을 추가하기 위해 새로운 클래스를 생성하는 경우 상속으로 문제를 풀면 너무 많은 상속 관계가 발생할 수 있음 상속을 사용하지 않고 새로운 기능을 추가할 수 있는가? 디자인 패턴 요소 요소 설명 이름 데코레이터(Decorator) 문제 조금씩 다른 다양한 종류. 늘어날수록 확장 어려움 해결방안 상속을 사용하지 않고 연관으로 필요한 기능 추가. 실행시점 확장 Extension at runtime (not compile time) 결과 확장성..

    [C++]  점프와 순간이동

    [C++] 점프와 순간이동

    programmers.co.kr/learn/courses/30/lessons/12980 코딩테스트 연습 - 점프와 순간 이동 OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈� programmers.co.kr c++ 코드 #include using namespace std; int solution(int n){ int tmp, ans; ans = 1;// 순간이동을 하기 위해서는 최초 1칸은 이동 while( n != 1){ tmp = 0; // 입력받은 길이가 홀수 일 경우 teleport후 jump 1번을 더 해줘야 하므로 비용 1 증가 if( n % ..

    [C++] BOJ 1051. 숫자 정사각형

    [C++] BOJ 1051. 숫자 정사각형

    www.acmicpc.net/problem/1051 1051번: 숫자 정사각형 N*M크기의 직사각형이 있다. 각 칸은 한 자리 숫자가 적혀 있다. 이 직사각형에서 꼭짓점에 쓰여 있는 수가 모두 같은 가장 큰 정사각형을 찾는 프로그램을 작성하시오. 이때, 정사각형은 행 또는 www.acmicpc.net #include #include #include #include using namespace std; int n,m; int rec[51][51]; vector square; vector column; vector tmp_square; int check_square(int start_row, int start_column);// 인덱스 별 가장 큰 정사각형 사이즈를 리턴해주는 함수 int main(void)..

    [쉬운 영어로 읽는 최신 전산 영어] 1 Introduction to Computer System(3)

    [쉬운 영어로 읽는 최신 전산 영어] 1 Introduction to Computer System(3)

    (해당 강의노트는 한빛아카데미의 을 기반으로 작성되었습니다) 1장 파트 2 CH01) Introcudtion to Computer System Section 02 The Structure of Computer(2) Memory volatile memory 휘발성 메모리 데이터를 유지하기 위해서는 Power가 필요함 Random Access Memory(RAM) Vs. Sequencial Acess Memory : 최초의 메모리 장치는 천공카드임. 이는 순차적으로 메모리를 저장하는 방식이었음 Vs. Direct Access Memory : 데이터 헤드가 있어서 헤드의 위치에 따라 데이터를 읽을 수 있음, Sequencial Acess Memory보다 데이터 접근 속도가 빠름 RAM에 있는 데이터는 주소를 ..