분류 전체보기

    [2021-1 프로그래밍언어론] Chapter 14: Exception Handling and Event Handling

    Introduction to Exception Handling 예외 처리가 불가능하다면, 예외가 발생했을 때 제어권은 운영체제로 이동하고, 에러 메세지가 표시되며 프로그램은 종료된다. 반면에 예외 처리가 가능하다면, 프로그램은 몇몇 예외에 대하여 적절한 처리를 함으로써 프로그램이 종료되지 않고 계속 실행될 수 있도록 할 수 있다. 예외(Exception)은 드물게 발생하는 이벤트로, 하드웨어나 소프트웨어에 의해 발견되며 특별한 처리가 필요하다. 이 특별한 처리를 exception handling이라고 부르며, 예외가 발견된 이후에 예외를 처리하는 코드 단위인 exception handler에 의해 진행된다. Exception Handling Alternatives 예외 처리가 불가능한 경우 대안들 보조 ..

    [2021-1 프로그래밍언어론] Chapter 12: Object-Oriented Programming

    객체지향 프로그래밍 언어의 3가지 특징 Abstract Data Types: 추상 자료형 Inheritance: 상속 Polymorphism: 다형성 Inheritance 상속 재사용이 가능하므로 생산성이 높아진다. ADT의 문제점이 모든 인스턴스가 독립적이고 동등하므로 재사용을 하기 어렵다는 것이었다. 이미 존재하는 것의 속성을 가져와 새로운 클래스를 정의하는 것을 허용한다. 👉🏻 ADT의 사소한 부분을 수정해 계층적으로 새로운 클래스를 정의해 재사용할 수 있도록 한다. (상속의 계층 구조) 유지보수가 어렵다는 단점이 있다. 부모가 바뀌면 자식들까지 모두 수정해야 하기 때문이다. Object-Oriented Concepts 객체지향의 개념 기본적으로 자식 클래스는 부모 클래스의 전부를 상속받지만, 캡슐..

    [2021-1 프로그래밍언어론] Chapter 11: Abstract Data Types and Encapsulation Constructs

    The Concept of Abstraction 추상화 특징적인, 가장 중요한 특성으로 전체를 표현하는 것 공통적인 속성이나 기능을 묶어 이름을 붙이는 것 거의 모든 프로그래밍 언어는 subprogram을 통해 process abstraction을 지원한다. 1980년대 이후의 거의 모든 프로그래밍 언어는 data abstraction을 지원한다. process abstraction에서 처리하는 데이터까지 추상화하는 방법 Abstract Data Type 다음의 두 조건을 만족하는 사용자 정의 자료형을 ADT라 칭한다: Hidden data representation 서비스하고자 하는 기능만 보여주며, 구체적인 내부 동작과 객체의 데이터 타입 등은 모두 숨긴다. 일종의 캡슐화 Operation 이 타입에..

    [2021-1 프로그래밍언어론] Chapter 10: Implementing Subprograms

    Subprogram Linkage 서브프로그램의 call과 return General sementics of calls: 파라미터 전달 방법 로컬 변수의 stack-dynamic 할당 호출한 프로그램의 실행 상태 저장 제어권 전달받기? 서브프로그램 중첩이 가능한 경우에서의 nonlocal variable 접근 방식 General sementics of returns: out mode와 inout mode 파라미터는 무조건 그들의 값을 반환해야 함 서브프로그램 안의 Stack-dynamic한 지역 변수들의 할당 해제 저장해뒀던 실행 상태로 되돌아가기 caller에게 제어권 반납하기 Implementing "Simple" Subprograms: 중첩 없이 모든 지역변수가 static인 경우 Stack-dyn..

    한국장학재단 국가우수장학금(이공계) 지원, 합격 후기

    한국장학재단 국가우수장학금(이공계) 지원, 합격 후기

    4월 20일에 학교로부터 어떤 문자를 받았다. 대충 내용은 내가 국가우수장학금(이공계) 재학중우수자 전형 지원 대상자이니, 관심 있으면 22일까지 지원서를 써서 내라는 것이었다. 스노위(학교 커뮤니티) 공지사항을 읽어보니 첨부된 지원서만 작성하여 제출하면 지원 끝이고, 선발될 경우 졸업할 때까지 매학기 무려 전액 장학금을 주겠단다. 나라에서 1,800만원을 주겠다는데 관심이 안생길 리가... 2학년 2학기에 역대급 성적 찍고, 그 이후로 다시는 성적으로 전액장학금을 못받을 줄 알았는데 이렇게 주시겠다니 너무 소중한 기회였다. 학기 중에 개발도 하고 싶고, 또 성적으로 장학금은 타야겠어서 고민이었는데, 국가우수장학생으로 선발되면 장학금에 대한 부담감이 확연히 줄어 내 미래에 좀 더 투자할 시간이 생길 것 ..

    백준 2812번 - 크게 만들기(Swift)

    문제 www.acmicpc.net/problem/2812 2812번: 크게 만들기 N자리 숫자가 주어졌을 때, 여기서 숫자 K개를 지워서 얻을 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 설명 n과 k를 입력받은 다음 들어오는 N자리 숫자는 Int로 저장하지 않고 인덱스를 통해 숫자 하나하나에 접근하기 위해 Character 배열로 저장한다. 숫자의 왼편부터 제일 오른편 숫자까지 하나씩 검사하며 지금 스택의 top에 있는 숫자와 비교한다. top보다 지금 검사하고 있는 수가 더 크다면 스택에서 top을 pop한 후에 지금 검사하고 있는 수를 집어넣고 k를 1만큼 감소시킨다. 모든 루프를 마친 후 stack의 0번째부터 stack.count - k - 1번째 인덱스에 ..

    [2021-1 데이터마이닝및분석] Chapter 2: Data (3) Similarity

    유사도 측정 Measures of Similarity 유사도(Similarity)는 두 데이터 객체가 얼마나 비슷한지에 대한 척도다. 두 객체가 더 비슷할수록 유사도는 높아진다. 비유사도(Dissimilarity)는 두 객체가 얼마나 다른지에 대한 척도다. 두 객체가 유사할수록 비유사도는 낮아진다. 데이터 객체간의 유사도와 비유사도는 Clustering, NN 등 많은 데이터 마이닝 기술에서 사용되므로, 유사도(또는 비유사도)에 대한 측정 방법에 대해서는 꼭 알아둬야 한다. 데이터 간 유사도를 측정하는 방법은 많으므로, 내가 뭘 판단하고 싶은 건지에 따라 선택하면 된다. 유사도-비유사도 변환 Transformations $s(similarity) ∈ [0, 1], d(dissimilarity) ∈ [0,..

    [2021-1 데이터마이닝및분석] Chapter 2: Data (2) Preprocessing

    이전 글(cocosy.tistory.com/32)과 이어집니다. [2021-1 데이터마이닝및분석] Chapter 2: Data (1) 숙명여자대학교 이기용 교수님의 데이터마이닝및분석 수업을 글로 정리한 것입니다. 데이터 마이닝에서의 데이터 관련 문제들 데이터의 타입 각 attributes는 다른 데이터 타입으로 표현될 수 있 cocosy.tistory.com 3. 데이터 전처리 데이터를 데이터 마이닝에 더 적합한 모습으로 가공하는 추가적인 단계다. 데이터 전처리에는 다양한 방법이 존재하며, 그 중 몇가지를 같이 알아보자. 1. 집계 Aggregation 두개 이상의 객체를 하나의 객체로 합치는 것이다. 예를 들어, 같은 DEPARTMENT_ID 값을 가진 레코드에 대하여 SALARY를 모두 집계하여 하나..

    [2021-1 데이터마이닝및분석] Chapter 2: Data (1)

    숙명여자대학교 이기용 교수님의 데이터마이닝및분석 수업을 글로 정리한 것입니다. 데이터 마이닝에서의 데이터 관련 문제들 데이터의 타입 각 attributes는 다른 데이터 타입으로 표현될 수 있다. 범주형(순서형, 명목형), 숫자형(연속형, 이산형) 등.. 데이터의 질 노이즈, 이상점, 데이터 중복, 상실, 편향 데이터를 이해하고 퀄리티를 높여야 결과도 좋게 나온다. 전처리 Row data는 우리가 사용하려는 알고리즘에 맞게 가공되어야 한다. 차원 압축, numeric -> categorical 등.. 유사도 측정 두 객체간의 유사도가 필요한 알고리즘이 꽤 있음 유사도 측정 방법을 여러가지인데, 그 중에서 적절한 방법을 택하는 것이 중요 1-1. 데이터 타입 어떤 알고리즘을 사용하느냐에 따라 데이터 타입 ..

    ICPC Sinchon 활동 회고 (1)

    보호되어 있는 글입니다.