분류 전체보기

· CS지식
1. 프론트엔드가 생겨난 이유 프론트엔드는 웹 산업이 발전하며 세분화하는 단계에서 생겨난 포지션입니다. 웹 역사를 간단히 보고 프론트엔드가 어떻게 생겨나게 되었는지 알아보겠습니다. web 1.0 web 2.0 web 3.0 시기 1990 ~ 2000 2000 ~ 2010 2010 ~ 소통 방식 읽기만 가능 읽기 · 쓰기 읽기 · 쓰기 · 소유 운영 주체 회사 · 개인 거대 플랫폼 네트워크 인프라 개인 컴퓨터 클라우드 · 모바일 블록체인 · 메타버스 운영 · 소유권 탈중앙화 중앙화 탈중앙화 기반 기술 브라우저, 웹 저장 브로드밴드, 서버 클라우드 컴퓨팅 대응 단말 PC 주로 PC PC, 모바일 단말 ,웨어러블 기기 ✔️웹 1.0 ​ 문서를 공유하기 위해 웹이 만들어 졌습니다. (1990) web 1.0에는..
코딩 테스트 문제 중에 프로그램 실행 시간이 특정 시간 미만이어야 한다는 조건이 있는 경우가 있습니다. 효율성을 측정하는 문제의 경우 대부분 입력 크기가 매우 큽니다. 우리가 작성하는 코드의 실행 시간이 입력 데이터의 크기와 어떤 상관관계가 있는지 파악해서 효율성을 계산해야합니다. 알고리즘의 실행 시간과 데이터의 상관관계를 시간 복잡도라고 합니다. 시간 복잡도는 코딩 테스트 준비를 본격적으로 시작하기 전에 꼭 알아야 할 개념 중 하나입니다. 1. 시간 복잡도란?함수의 실행 시간을 표현하는 것. 주로 점근적 분석을 통해 실행 시간을 단순하게 표현합니다. 시간 복잡도는 빅오(Big-O) 표기법을 사용합니다. 2. 빅오 표기법알고리즘이 겪을 수 있는 최악의 경우에 걸리는 시간과 입력 간의 상관관계를 표현하는 ..
1. 연습문제 2. 테이블 정보 3. 결과 /*1-5*/ --박지성이 구매한 도서의 출판사 수 SELECT COUNT(PUBLISHER) FROM BOOK WHERE BOOKID IN( SELECT BOOKID FROM ORDERS O WHERE O.CUSTID = (SELECT CUSTID FROM CUSTOMER WHERE NAME = '박지성' ) -- 박지성의 CUSTID를 단일쿼리로 추출한다. ) /*1-6*/ --박지성이 구매한 도서의 이름, 가격, 정가와 판매가격의 차이 --박지성 정보는 CUSTOMER/ 도서이름,가격은 BOOK/ 판매가격은 ORDERS에서 가져올 수 있다. --그래서 위 3개 테이블을 조인했다. --데이터가 뻥튀기 되지않도록 ON조건을 줬다. SELECT B.BOOKNAM..
· CS지식
1. 일반화 관계 ( Generaliztion ) class Child extends Parent { ... } 하위 클래스가 상위 클래스의 특성을 상속받는 관계에서 사용합니다. 빈삼각형 화살표로 표현합니다. 2. 실체화 관계 ( Realization ) class ClassX implements Interface { ... } 클래스가 인터페이스를 구현할 때 사용합니다. 빈삼각형에 점선 화살표로 표현합니다. 3. 연관 관계 ( Association ) class ClassA { } class ClassB { private ClassA thing; } 두 클래스가 서로 상호작용할 수 있는 관계입니다. 일반적으로 한 클래스의 객체가 다른 클래스의 객체를 멤버 변수로 가지고 있는 경우 연관관계라 합니다. 짝..
1. 예제코드에 사용된 개념 네트워크 소켓 스트림 직렬화와 역직렬화 스레드 2. 개념정리 1) 네트워크 - 컴퓨터나 장치 사이에서 데이터를 주고받는 과정 - 네트워크 통신을 통해 원격 위치에 있는 시스템 간 통신이 가능하다. 2) 소켓(Socket) - 네트워크를 통해 데이터를 교환하기 위한 인터페이스다. - 소켓을 통해 클라이언트와 서버가 양방향 통신을 할 수 있다. - 소켓은 IP 주소와 포트 번호를 기반으로 통신한다. 3) 스트림 - 데이터의 입출력을 도와주는 중간 매개체다. 데이터의 흐름이나 통로로 보면 된다. - 스트림은 단방향이므로 하나의 스트림으로 입출력을 동시에 수행할 수 없다. 4) 직렬화와 역직렬화 - 직렬화 : 데이터를 스트림에 전송가능 한 형태(바이트 단위, 일렬)로 변환하는 과정 ..
1. 과제 - 빨간 동그라미를 '말'이라 하고 시작 버튼을 누름과 동시에 각자 달립니다. - 도착하는 순서대로 등수를 표현해주세요. 2. 필요 개념 * Thread 1) 정의 : 스레드는 프로세스 내에서 실행되는 여러 실행 흐름 중 하나로, 가장 작은 실행 단위입니다. 그동안 했던 과제는 main 스레드 하나로 실행해왔던 겁니다..! 2) 스레드의 장점 멀티태스킹 : 한 프로세스 내에서 여러 작업을 동시에 수행할 수 있습니다. 자원 공유 : 같은 프로세스 내의 스레드끼리 메모리(데이터, 힙)을 공유합니다. 응답성 향상 : 하나의 스레드가 작업을 수행하는 동안 다른 스레드는 다른 작업을 계속 할 수 있어 프로그램 반응시간이 단축됩니다. 3) 스레드 다룰 때 주의점 동시성 문제 : 여러 스레드가 같은 자원을..
1. 제네릭(generic)이란? 자바에서 제네릭(generic)이란 데이터의 타입(data type)을 일반화한다(generalize)는 것을 의미합니다. 제네릭(Generic)은 Java 프로그래밍 언어에서 타입(type)의 파라미터화를 가능하게 하는 언어 기능입니다. 이는 클래스, 인터페이스, 메소드를 정의할 때 타입을 하나의 파라미터처럼 취급할 수 있게 해 줍니다. 즉, 구체적인 타입을 명시하지 않고도 타입을 사용할 수 있는 방법을 제공합니다. 2. 제네릭 사용 시 얻을 수 있는 이점 1) 타입 안정성 : 제네릭을 사용하면 컴파일 시점에 타입 체크를 할 수 있어서 런타임에 발생할 수 있는 ClassCastException과 같은 오류를 방지할 수 있습니다. 2) 코드의 재사용성 증가 3) 유지보수..
1. 학습주제 : 싱글톤 패턴, 업캐스팅, 다운캐스팅 이해하기 ✔️싱글톤 패턴 2023.12.18 - [프로그래밍 언어/Java] - [Java] 싱글톤 패턴 개념 및 구현방법 [Java] 싱글톤 패턴 개념 및 구현방법 1. 싱글톤 패턴 개념 싱글톤 패턴은 객체 지향 디자인 패턴 중 하나로, 특정 클래스의 인스턴스가 단 하나만 생성되도록 보장하는 패턴이다. 이 패턴을 사용하면 전역적으로 접근 가능한 객체를 ururuwave.tistory.com ✔️ 업캐스팅, 다운캐스팅 2023.12.18 - [프로그래밍 언어/Java] - [Java] 업캐스팅(Upcasting)과 다운캐스팅(Downcasting) [Java] 업캐스팅(Upcasting)과 다운캐스팅(Downcasting) 1. 개념 1) 업캐스팅 :..