전체 글

전체 글

    JAVA 라이브러리 - 컬렉션

    | 컬렉션이란? - 자바에서 자료구조를 구현한 클래스를 말한다. - 컬렉션을 추상적으로 구분한 분류는 크게 아래와 같다. - 단, 실제 Collection을 상속하는 건 List와 Set, Queue이며 Map은 별도의 인터페이스이다. - Collections를 통해서 List를 정렬할 수 있으며, Set이나 Map의 경우 TreeSet과 TreeMap을 쓰면 data가 정렬되어 저장된다. 구분 하위 클래스 중복 순서 List ArrayList, LinkedList, Vector, Stack(Vector 상속) o o Set HashSet, LinkedHashSet, TreeSet x - Map Hashtable, HashMap, LinkedHashMap, TreeMap key x, value o - |..

    [알고리즘] 정렬

    | 정렬이란 - 특정 값을 기준으로 데이터를 순서대로 배치하는 방법 - 기본 : 버블, 삽입, 선택 - 비교적 속도가 빠른 정렬 : 합병, 힙, 퀵, 트리 - 하이브리드 정렬 : 팀, 블록병합, 인트로 - 기타 : 기수, 계수(카운팅), 셸, 보고 | 정렬의 시간복잡도 요약 - 안정성이라는 것은, 어떤 데이터 { 1, 2, 3, 1, 1, 1 } 을 정렬한다고 할 때, 같은 숫자 1에 대해서 { 1, 1, 1, 1 } 의 순서가 유지되도록 정렬되는 것을 '안정성이 있다'라고 한다. - 아래의 보조 메모리는 추가적으로 드는 메모리를 이야기하는데, 버블이나 삽입, 선택의 경우 swap시에 드는 변수 1개만 필요하기 때문에 보조메모리가 1개만 소요된다. 정렬 방법 시간 복잡도 보조 메모리 안정성 Ω(n) Θ(..

    데이터베이스 환경 구축(설치)

    데이터베이스 환경 구축(설치)

    | 데이터베이스의 순위 - 출처 : https://db-engines.com/en/ranking - 2022년을 기준으로 데이터베이스의 순위는 아래와 같다 * 아래 [바로가기]를 선택 시, 해당 DBMS 사용 메뉴얼로 이동 - 예전에 오라클을 설치하는 것을 포스팅한 적이 있었는데 이번에는 MariaDB를 설치하는 법을 작성해보려한다. 1 Oracle RDMBS 오라클사 바로가기 2 MySQL RDMBS 오라클사 바로가기 3 Microsoft SQL Server RDMBS Microsoft 바로가기 4 PostgreSQL RDMBS PostgreSQL단체 바로가기 5 MongoDB NoSQL계열 MongoDB, Inc 바로가기 | MariaDB 설치하기 1. Windows 환경 (1) 다운로드 사이트로 이..

    JAVA 라이브러리 - 제네릭 클래스

    | 제네릭이란? [사전] Generic = 일반적이다 [정의] 하나의 코드로 여러 타입을 동시에 처리하는 기술 1. 타입 변수 표기법 - 제네릭에 지정하는 타입 변수 이름은 지정하는 사람의 마음이지만, 적어도 그 타입 이름을 사용하는 클래스 또는 인터페이스 내에서는 통일성있게 사용하게 한다. - 일반적으로 변수명과의 구분을 위해 한 개의 대문자로 표시하는 것이 관례이다. - 타입 매개 변수는 기초 자료형으로 객체화될 수 없다. T Type E Element(요소) N Number K Key V Value S,U,V..... 2. 제네릭 클래스 - 최상위 클래스 Object를 사용하면 어떤 타입의 인스턴스건 참조할 수 있다. (업캐스팅, 다형성) - 이러한 원리를 이용해서 클래스를 작성할때 데이터 타입을 ..

    파일시스템과 DBMS, RDMBS

    | 파일 시스템과 데이터베이스 관리시스템 - 영구적인 데이터 저장을 위해서는 보조기억장치에 파일 형식으로 저장을 하는 것이 필요하다. - 다만, 이런 파일 시스템은 응용 프로그램의 구조와 환경에 의존적이고(데이터 종속성), 그렇기에 같은 데이터여도 구조가 다르다면 여러 개로 중복되어 저장되는(데이터 중복성) 단점이 있다. - 데이터베이스는 이러한 파일시스템의 데이터 종속성과 데이터 중복성을 제거하기 위해 만들어졌다. 1. 파일 시스템 vs 데이터베이스 관리 시스템 파일 시스템 데이터베이스 관리 시스템 정의 컴퓨터에서 자료를 쉽게 찾을 수 있도록 파일 형식으로 보관 및 관리하는 체계 데이터베이스를 체계적으로 관리하기 위한 시스템 종류 FAT/NTFS(windows), ext(linux), APFS(macO..

    웹 프로그래밍 기초 개념 - 프론트엔드와 백엔드, 라이브러리/프레임워크?

    | 프로그래밍 프로그래밍이란, 사용자의 요구사항에 따라 프로그램 언어의 명령어 혹은 문법을 사용해 코드를 작성하는 일을 말한다. - 웹 or 앱 서비스 모두 아래와 같이 런칭까지 일련의 과정을 거치는데 [ 요구사항을 분석 -> 설계 -> (디자인 및 퍼블리싱) -> 개발 -> 테스트 -> 배포(런칭) ] 회사마다 방식은 조금씩 다르겠지만 이 과정을 원활히 수행하기 위해 프론트와 백엔드로 공수를 나누는 경향이 있다. 1. 프론트엔드와 백엔드 프론트엔드 백엔드 내용 웹 브라우저에 보이는 UI 및 화면에 대한 작업 네트워크를 통해 웹서버에 넘긴 요청을 처리하는 작업 * url 처리 및 데이터 처리 사용 언어 html, css, script(javascript) php, c#, java, python, java..

    JAVA 라이브러리 - 날짜, 시간 관련 클래스(java.util/java.time..)

    | 날짜, 시간 관련 클래스 1. 날짜 데이터는 언제 쓸까? - 날짜 및 시간에 관한 데이터는 아래의 예시와 같이 다양한 웹 or 앱 서비스에서 사용하고 있다. - 일반적인 회원가입일자 - 쇼핑몰의 주문일자 - 그룹웨어 회의일자 및 시간/장소대여일자 - 모바일앱 특정시간에 알람 - 등등 2. Java의 날짜 및 시간 관련 클래스 - 날짜 객체는 JDK업데이트 과정에서 Data -> Calender -> LocalDate로 발전하였다. (1) Date today = new Date(); 와 같이 Date 객체만을 사용해서 날짜를 표현 (2) Date today = Calendar.getInstance().getTime(); - Calendar를 통해 싱글톤 방식으로 인스턴스 생성하여 사용 (3) Local..

    [알고리즘] 알고리즘 개요

    | 알고리즘이란? 알고리즘이란, 어떤 문제를 해결하기 위한 절차나 방법을 말한다. - 알고리즘의 조건 입력 데이터의 입력 출력 처리 후 출력 명확성 동작의 흐름(flow)에 대한 명확성 유한성 정해진 시간 및 공간 내에서의 처리 효율성 같은 동작을 하더라도 시간 및 공간 면에서 보다 효율적이어야 한다. | 알고리즘은 결국 정확성과 시간 복잡도, 공간 복잡도를 말한다. - 어떻게 보다 적은 자원을 효과적으로, 정확하게 만들어 내느냐가 알고리즘의 핵심 | 알고리즘 정리 개요 - 앞으로 정리할 알고리즘 목록입니다. - (글 작성 후 링크 업로드 예정) 정렬 이진탐색 / 투 포인터 그리디 알고리즘 분할 정복 / 다이나믹 프로그래밍 백 트래킹 최단 경로 최소 신장 트리 [ 참고 및 출처 ] 부트 캠프 강의를 들은..

    웹 프로그래밍 기초 개념 - 웹, 웹표준/웹접근성, 디바이스

    웹 프로그래밍 기초 개념 - 웹, 웹표준/웹접근성, 디바이스

    | 인터넷과 웹 - 인터넷이란? 정보 공유를 위해 컴퓨터를 연결하는 방법 (연결 그 자체) - 월드 와이드 웹(World wide web, web) 전 세계적으로 연결되어 있는 네트워크 통신망 * 사람들이 웹 언어로 소통하고 브라우저가 번역가로 작용하는 일종의 가상의 대도시 https://www.youtube.com/watch?v=J8hzJxb0rpc 더보기 [ 간단 히스토리 ] - sir.팀 버너스리's "Information System : A Proposal" : 실험 결과 유실을 막기 위한 방안 제시 --> 문서, 이미지, 음성, 영상 등을 열람하는 방식 제안 --> HTML 표준을 비롯한 웹 표준안 제작 --> World Wide Web - HTML(HyperText Markup Language..

    JAVA 라이브러리 - Java.lang 패키지

    | Java.lang 패키지 - 가장 기본이 되는 클래스를 담고 있으며, import 없이 사용 가능하다. - Oracle에서 제공하는 java.lang 패키지에 대한 상세 정보는 아래 링크에 (JDK8 기준) https://docs.oracle.com/javase/8/docs/api/java/lang/package-summary.html - 아래 표는 위 링크에서 소개하는 java.lang의 인터페이스와 클래스 중 자주 사용할만한 것만 일부를 가져온 표이다. Interface Class Comparable Object Cloneable Math Runnable Process Readable Thread Thread.UncaughtExceptionHandler String Iterable System ...