전체 글

전체 글

    [DB]Intro 및 DB의 전반적인 기초개념

    [DB]Intro 및 DB의 전반적인 기초개념

    DB가 등장하게 된 이유 file system에서의 문제가 많았다. Data의 중복과 불일치 새로운 작업을 하기 위해선 새 프로그램을 만들어야 했다. -> 접근이 어려웠다. Integrity Problem : 제약조건을 걸기가 어려웠다. Atomicity of update : 만일 A, B에 수행되는 일이 있을 때, A와 B 모두 수행되거나 수행되지 않아야 함. file system에서는 이것을 만족하기 어려웠다. 여러 사용자가 동시에 접근할 때 문제 발생. 보안 이슈 -> DataBase System은 위 문제들을 모두 해결해 준다. DB는 추상적인 것을 제공해준다. Physical Level : 레코드가 어떻게 저장되는지 묘사함. Logical Level : 실제 데이터 베이스에서 데이터가 어떻게 저..

    [OS]Operating System의 전반적인 개념

    [OS]Operating System의 전반적인 개념

    OS의 정의 OS는 일반적으로 정의하기 어렵다. 따라서 공통적인 역할로 정의한다. 하드웨어(리소스)를 관리한다. -> I/O 장치 접근, 파일 접근, Accounting(하드웨어 사용 통계), 에러 탐지 응용 프로그램의 수행을 제어한다. -> 스케줄링, 에러 리포팅 OS는 하드웨어 접근을 제한해야 하므로 응용 프로그램과 하드웨어 사이에 위치한다. OS는 세 가지 목표가 있다. 응용 프로그램 쉽게 사용 컴퓨터 시스템 편하게 사용 하드웨어의 효율적 관리 OS는 또한 Kernel이라고도 불린다. (Android OS는 Linux Kernel을 포함하고, Linux OS보다는 Linux Kernel이라고 많이 부른다.) DMA / Interrupt 컴퓨터에서 CPU와 장치들은 메모리를 차지하기 위해 경쟁한다. ..

    [Kotlin]2020-여름 안드로이드 첫 앱. 알람메모-Alamemo

    [Kotlin]2020-여름 안드로이드 첫 앱. 알람메모-Alamemo

    학교 동아리에서 졸업한 후 현업에 계신 선배님들이 코딩에 대한 멘토링을 해 주는 좋은 기회가 생겼다. 여러가지가 있었는데 웹, 안드로이드, 알고리즘 등등이 있었다. 1순위 2순위를 정할 수 있었는데 당시에 2학년이기도 했고 뭔가 무작정 만들어보고 싶어서 1순위를 웹, 2순위를 안드로이드로 했었다. 웹을 하겠다는 사람이 꽤 많았어서 그런지 안드로이드를 하게 됐다. 사실 예전부터 안드로이드에 관심이 많았어서 안드로이드에 대한 앱을 제대로 만들어 보고 싶었다. 알람메모 - Alamemo – Apps on Google Play Manage your schedule and memo at once, make the schedule sound as an alarm, and pin your memo to the top..

    [Java]2020-1 자바 지뢰찾기 (학교수업 기말과제)

    [Java]2020-1 자바 지뢰찾기 (학교수업 기말과제)

    2학년 1학기(2020-1) 때 들은 자바수업 과제였다. 필수로 구현해야 했던 기능은 일단 일반적인 지뢰찾기 기능은 당연히 구현해야했고, 1. 새 게임 - 초급(10x10), 중급(20x10), 고급(30x20) 기능 2. 파일 저장 및 불러오기 기능 3. 남은 깃발 수 및 타이머 기능 그리고 부가적으로 추가 기능 구현 시, +@ 점수가 있다고 했다. 자바 GUI를 이용해서 구현했다. (1년넘은 코드라서 지금보면 왜 이렇게 짰는지 싶다.. 제출기간 지키느라 기능구현에 초점을 맞춰서 그런 것 같다.) 1. 새 게임 및 지뢰찾기 기능 말 그대로 새 게임 기능을 구현하는 것이다. 초 중 고급에 맞춰서 버튼의 개수가 늘어나도록 했다. 2. 파일 저장 및 불러오기 기능 사실 굉장히 난감한 부분이였다. 하나씩 눌러..

    [자료구조]1. 단일 링크드 리스트, 단일 연결 리스트

    [자료구조]1. 단일 링크드 리스트, 단일 연결 리스트

    자료구조란 쉽게 말해, 데이터를 저장하고 사용하기 위해 만드는 것이다. 세 가지 기본기능으로는 탐색(Search), 삽입(Insert), 삭제(Delete)가 있다. 자료구조는 구현방법과 성능분석이 중요하다. 링크드 리스트의 특징 (배열과 비교) 배열은 주소가 연속적이지만, 링크드 리스트는 주소가 연속적이지 않다. 배열은 크기가 고정이므로 공간이 부족하거나 낭비될 수 있지만, 링크드 리스트는 크기가 가변적이므로 부족, 낭비가 없다. 배열에 비해 접근이 느리고 구현도 어렵다. 단일 링크드 리스트 단일 링크드 리스트는 node가 순차적으로 이루어져 있다. 각 노드는 값을 나타내는 element 부분과 다음 node를 가리키는 주소(포인터)로 구성된다. 맨 앞 노드를 Head라고 가리키고 맨 뒤 노드를 Tai..