🦁멋쟁이 사자처럼 15기 29

멋쟁이 사자처럼 [MongoDB]

✅MongoDB1) 고정 되지 않은 테이블 스키마 ( 필요 시 필드ㅡ 추가/ 제거 가능 -> 개발 속도 향상 ) 2) 데이터 간의 관계를 정의하지 않는 데이터 베이스 3) 분산형 구조 ( 대용량 데이터 저장 용이 ) ➡️ MongoDB structure 1) 데이터베이스 ( database )mongoDB의 최상위 단위로 하나의 MongoDB 서버에는 여러 개의 database를 만들 수 있다. 각각의 database는 독립적인 공간을 가지며 , 다른 database와 데이터를 공유하지 않는다. ➡️ 컬렉션 (Collection)RDMS에서의 테이블과 유사한 개념으로 하나의 database 안에는 여러 개의 collection이 존재할 수 있다. collection은 같은 종류의 document의 집..

멋쟁이 사자처럼 41회차 ( 04 / 29 )

[학습 목표]1. React 프로젝트를 구성하여 JSX로 ui를 개발하고 , 함수형 컴포넌트 정의 및 화면 분할을 통해 구조화할 수 있다. - 함수형 컴포넌트 / 클래스 컴포넌트 extends React.Component{ } / HOOKS2. Props를 활용하여 컴포넌트 간에 데이터를 효율적으로 전달할 수 있다.3. useState 훅을 사용하여 컴포넌트의 동적인 상태를 관리하고, 이벤트 핸들러를 통해 사용자 입력을 처리할 수 있다.4. 입력 필드와 상태를 연결하여 폼 데이터를 실시간으로 반영하고, 폼 제출 이벤트를 처리하여 데이터 전송 로직을 구현할 수 있다.✅ React 기본 개념 1) React 실행 시키는 법 npx create-react-app text-uinpm start -> tex..

멋쟁이사자처럼 32회 ( 04 / 17 )

[학습 목표]1. Java의 Socket과 ServerSocket을 활용하여 기본적인 TCP 통신 구조를 설계하고 구현할 수 있다. Socket , ServerSocket, DatagramSocket 등의 클래스 이해, TCP(연결형) , UDP(비연결형) 구조 비교 , 클라이언트 –서버 간 메시지 송수신 실습2. 멀티 클라이언트 처리를 위한 스레드 기반의 서버 구조를 설계할 수 있다. 접속당 1스레드 구조 vs 스레드풀 구조 , 메시지 브로드캐스트 구현, 동시 접속 처리 시 고려할 예외 / 자원 관리 등 실습3. 자바의 InetAddress 및 포트 , IP 기반 주소 체계를 이해하고 활용할 수 있다. InetAddress, getHostName(), getHostAddress() 등 주요 API 사용..

멋쟁이 사자처럼 31회차 [ 04 / 15 ]

[학습목표]1. 새로운 스레드 api를 활용하여, i/o 바운드 작업과 cpu 바운드 작업에 적합한 동시성 프로그래밍 모델을 설계하고 구현할 수 있다. - jdk21의 virtual Thread와 전통 ThreadPool을 비교 - 작업 특성에 따른 최적의 스레드 구조를 설계2. Executors 및 Virtual Thread Executor를 활용하여, 다양한 유형의 작업을 분리 처리하는 병렬 구조를 구현할 수 있다.Executors.newFizedThreadPool() vs Executors.newVirtualThreadPerTaskExecutor()동시성 구조 설계 시 고려해야 할 자원 사용/ 스레드 수/ 작업 큐 등 분석다중 요청 시뮬레이션 + 성능 비교3. 실행 결과를 기반으로 V..

멋쟁이 사자처럼 27회 ( 04 / 08 )

[학습 목표][ 04 / 08 학습 목표]1. JDBC의 CallableStatement 인터페이스를 사용하여 입력 파라미터를 전달하고 출력 파라미터 또는 반환 값을 받는 방식으로 프로시저를 호출하는 코드를 구현할 수 있다.2. ResultSetMetaData 인터페이스를 통해 쿼리 결과셋의 컬럼 정보 (이름 , 타입 , 크기 등 )를 동적으로 획득하고 활용하여 일반화된 데이터 처리 로직을 구현할 수 있다.3. PreparedStatement의 ParameterMetaData 인터페이스를 통해 쿼리 파라미터 정보 (타입 , 모드 등 )를 파악하고 활용할 수 있다. 4. 데이터베이스 연동 로직 Model , View , Controller로 분리하여 애플리케이션의 구조를 이해하고 설명할 수 있다. view..

멋쟁이 사자처럼 26회 ( 04 / 07 )

[학습목표]1. JDBC 의 개념과 구조를 이해하고, 데이터베이스 연결을 위한 기본 설정을 수행할 수 있다.2. JDBC를 활용하여 SQL 쿼리를 실행하고, 결과를 처리하는 프로그램을 작성할 수 있다. JDBC에 대해1) JDBC 란? 자바에서 데이터베이스에 접근할 수 있도록 제공하는 API (Java Database Connectivity) 를 말한다. 2) JDBC  드라이버 JAR의 종류 - MYSQL MySQL Connector/J -> com.mysql.cj.jdbc.Driver.classClass.forName("com.mysql.cj.jdbc.Driver").newInstance(); // DB JAVA - OracleOracle JDBC DriverSQL Server: Microsoft ..

멋쟁이 사자처럼 25회 ( 04 / 04 )

[학습 목표]1. 데이터 모델링의 개념을 이해하고, 필요성과 목적을 설명할 수 있다.2. 엔티티(Entity)와 속성(Attribute)의 개념을 이해하고 예시를 통해 식별할 수 있다.3. 엔티티 간의 관계(Relationship)를 식별하고, 관계 유형을 표현할 수 있다.4. 식별자(Primary Key) 의 정의와 역할을 이해하고 , 올바른 식별자를 설계할 수 있다.5. JDBC의 개념과 구조를 이해하고 , 데이터베이스 연결을 위한 기본 설정을 수행할 수 있다.6. JDBC를 활용하여 SQL 쿼리를 실행하고, 결과를 처리하는 프로그램을 작성할 수 있다.데이터 모델링1) 데이터 모델링이란? 현실 세계의 추상화된 반영을 말한다. 2) 데이터 모델링 3가지 핵심 개념 - 추상화 (업무에 필요한 정보만 선별..

멋쟁이 사자처럼 24회 ( 04 / 03 )

[ 학습 목표 ]1. 데이터베이스 사용자 및 권한 관리 기능을 이해하고, 계정 생성과 권한 부여/ 회수 작업을 수행할 수 있다. --> 사용자 생성 (create user), 권한 부여 ( grant) , 회수 (revoke) , 역할 (role) 등의 개념을 이해하고 적용할 수 있다.2. 테이블의 파티션 (partition) 기능을 이해하고, range 파티셔닝을 통해 대용량 데이터를 효과적으로 분산 저장할 수 있다. --> partition by range, values less than, maxvalue 등을 활용하여 특정 기준 컬럼에 따라 데이터 분할이 가능하다.3. 파티션된 테이블에서 데이터 분포 상태 및 성능 최적화 여부를 정보 스키마와 실행 계획을 통해 분석할 수 있다. --> informa..

멋쟁이 사자처럼 24회 ( 04 / 02 )

[ 학습 목표 ]1. 프로시저(STORED PROCEDURE) 의 구조와 사용법을 이해하고, 입력 (IN)출력 (OUT) 파라미터를 통해 반복적 작업을 자동화할 수 있다.2. 사용자 정의함수(UDF:USER DEFINED FUNCTION)를 생성하고 호출하는 방법을 익혀, 쿼리 내에서 재사용 가능한 로직을 구현할 수 있다.3. 인덱스(INDEX)의 개념과 종류(PRIMARY, UNIQUE , COMPOSITE 등)를 이해하고, 조회 성능 향상을 위해 적절히 설계할 수 있다.4. EXPLAIN 명령어를 활용하여 인덱스가 적용되는 쿼리 실행 계획을 분석하고, 쿼리 최적화를 위한 인덱스 활용 방법을 설명할 수 있다.프로시저 1) 매개 변수를 받는 프로시저 ex)-- `PRO02_DELETE`(IN E_NO I..

멋쟁이 사자처럼 23회 ( 04 / 01 )

[학습 목표]1. VIEW를 생성하고 수정하여 복잡한 SELECT 문을 재사용 가능한가상 테이블 형태로 활용할 수 있다.2. VIEW에서 WITH CHECK OPTION, SQL SECURITY,ALOGORITHM 등의 옵션을 이해하고 적절하게 사용할 수 있다.3. 스토어드 프로시저와 사용자 정의 함수의 차이점과 사용 목적을 이해하고 설명할 수 있다.4. 프로시저와 함수를 생성(Create), 호출 (Call) , 수정(Alter) , 삭제(Drop) 하는 문법을 활용할 수 있다.5. 변수 선언 , 조건문(If) , 반복문(LOOP , WHILE, FOR), 커서 (CURSOR)를 활용하여 복잡한 로직을 구현할 수 있다.VIEW  1) VIEW 생성하기 및 조회하기 [형태]CREATE [OR REP..