ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 유데미 스타터스 취업 부트캠프 3기 - 백엔드 5주차
    스타터스 백엔드 3기 2022. 12. 23. 19:54

    하루입니다.


    221219. 컬렉션 프레임워크 (List, Set, Map), 제네릭<>

    • ArrayList
    • LinkedList
    • queue
    • stack
    • hashset
    • iterator
    • hashmap
    • Comparator



    221220 멀티스레드, 람다식

    멀티스레드 구현 방식

    java.lang.Thread 클래스 java.lang.Runnable 인터페이스
    다중상속 가능한 특징 사용한다.

    class A extends Thread {
        @override
       public void run() {
         다른 작업과 동시에 수행할 멀티스레드 수행 내용
        }
    }

    class A extends Thread B, implement Runnable {
        @override
       public void run() {
         다른 작업과 동시에 수행할 멀티스레드 수행 내용
        }
    }

    A a1 = new A();
    a1.start();

    Runnable r1 = new A();
    Thread t1 = new Thread(r1);
    t1.start();


    1. Thread 상속
    2. run() 오버라이딩
    3. Thread 객체 생성
    4. start() 호출

    1. Runnable 상속(구현)
    2. run() 오버라이딩
    3. Runnable 객체 생성
    4. Thread 객체 변환
    5. start() 호출

    스레드 상태도

    생성상태
    new Thread()
     
    실행 가능 상태
    start()

    t1()
    t2()

    자바 스레드 스케줄러

    스레드 실행순서 순위

    1. 우선순위가 높다
    기본으로 스레드는 우선순위 5를 가진다.
    숫자가 클 수록 우선순위가 높다.

    t1.setPriority(10);
    t1.getPriority(); ==> 10


    2. time slice 방법 - 시간을 일정하게 분할하기
    OS 종류마다 다르다.
    윈도우는 우선순위 무시, 일정한 시간 분배


    실행상태
    run()
    일시중지상태
    sleep(1/1000초)
    join()
    동기화 상태
    wait

    설정한 시간이 경과하면 다시 실행된다.
    join된 스레드의 실행이 완료된 후 다시 실행된다.

    t1.run{ t2.join() }

    종료상태



    https://harutocoding.tistory.com/194

    221220 자바 13 (스레드, 람다) : 람다식이 뭘까요?

    하루입니다. 람다식이란? 메서드를 하나의 식으로 정리한 것이다. 함수를 간략하면서도 명확하게 표현할 수 있게 해준다. 메서드 -> 람다식 : 이 경우 이름과 반환값이 없어지므로, 익명 함수라

    harutocoding.tistory.com






    221221 입출력, file

    java.oi의 class

      입력스트림클래스 출력스트림클래스
    입출력 1byte (byte stream) InputStream OutputStream
    입출력 2byte (문자 stream) Reader Writer

    1byte : 영문, 숫자, 특수문자의 일부
    2byte : 다국어, char, 한글

    입출력 무관 class File

    - 파일시스템 정보를 제공하는 클래스이다.
    - 파일 +디렉토리를 관리하는 시스템이다.
    - 모든 OS가 가지고 있으며,모두 다르게 작동한다.
    - window는 탐색기...

    보조 스트림도 있음!

    • BufferedReader, InputStreamReader 등



    https://harutocoding.tistory.com/197

    [  JAVA ] 내가 생각하는 직렬화. 왜 직렬화를 사용하는 걸까?

    하루입니다. 자바의 입출력을 다루다가 '직렬화' 를 배웠다. 정확히는 객체를 출력하기 위해서는 ObjectOutputStream을 사용하고, 이를 위해서는 객체를 직렬화해야 한다고 한다. 직렬화가 뭔데? 정말

    harutocoding.tistory.com




    221222 네트워크 (TCP, UDP)

    tcp방식 자바클래스

    전화한다고 하면
    - 미리 연결하자
    - 순서를 가지자. 메시지1(전달내용) 답1 메시지2 답2
    - 끝나면 연결이 해제된다.
    - 미리 연결을 해야 한다는 단점이 있다.
    - 일정한 메세지의 순서가 필요하거나, 답장이 필요한 경우 사용하자.

    1. ss = ServerSocket(port) 생성한다. 반드시 어느 포트에서 동작하는지 알려줘야 한다. (연결해야 함)
    2. 클라이언트가 대기한다.
    3. Socket s = new Socket(ip, port); 서버와 연결한다.
    4. 클라이언트가 1번 게시물을 요청햔다. 누군가 접속하면 Socket s = accept(ss) 한다.
    5. s.getOutputStream()
    6. s.getInputStream()
    7. 1번 게시물 찾는 처리를 한다.
    8. 1번 게시물 찾는 응답을 한다. s.getOutputStream()
    9. s.getInputStream()
    10. 서버로부터 응답이 출력된다. 서버와의 연결이 종료된다.
    11. 클라이언트가 종료된다. s.close();
    12. 클라이언트와의 연결 해제
    • 동시에 양쪽이 input하거나 output하지 않게 한다.




    udp방식 자바클래스

    우편을 보낸다고 하면
    - 내 주소, 내 port, 상대주소, 상대port, 전달할 내용을 보낸다. (연결 개념 X)
    - 나는 누구고 어디로 보내줘 라는 형태이다.
    - 연결지향적이지 않다.
    - 누가 먼저 받는지 모른다는 단점이 있다.
    - 대량의 메세지를 여러 클라이언트에게 날릴 때 좋다.

    1. 서버가 시작된다.
    2. 클라이언트가 대기한다.
    3. 클라이언트가 서버를 찾아서 요청한다.
    4. 클라이언트가 1번 게시물을 요청햔다.
    5. 1번 게시물 찾는 처리를 한다.
    6. 1번 게시물 찾는 응답을 한다.
    7. 서버로부터 응답이 출력된다. 서버와의 연결이 종료된다.
    8. 클라이언트가 종료된다.





    221223 MARIADB

    • 데이터는 의미있는 정보이다.
    • 데이터베이스는 연관된 데이터를 모은 것이다.
    • 실행 순서 : from - where - group by - having - select - order by

    sql 문법

    DDL
    Data Definition Language

    데이터 구조 정의 언어
    테이블 생성 : create table ...
    학생 테이블 : 학번 이름 성적
    student name char(40) ...
    사용자 생성 : create user
    데이터베이스 생성 : create database ...
    테이블 변경 : alter table
    테이블 drop table

    DML
    Data Mauipulation Language

    데이터 조작 언어
    insert / update / delete
    DQL
    Data Query Language

    데이터 조회 언어
    select

    DCL
    Data Control Language

    데이터 제어 언어
    테이블 조회/생성 권한 부여/회수
    root는 가능하다.
    GRANT / REVOKE

    TCL
    Transaction Control Language

    트랜잭션
    commit / rollback






    후반부의 내용은 조금 어려웠지만 꼭 알아야 하는 내용이었다. 국비 교육을 받을 때에 비해서는 확실히 성장했지만, 아직도 모르는 부분이 많다는 걸 체감하기도 했다. 시간이 된다면 네트워크 관련 책으로 네트워크에 대해 더 자세히 공부하고 싶다.



    * 유데미 바로가기 : https://bit.ly/3V220ri

       * STARTERS 취업 부트캠프 더 보러가기 : https://blog.naver.com/udemy-wjtb
    본 후기는 유데미-웅진씽크빅 취업 부트캠프 3기 백엔드 과정 학습 일지 리뷰로 작성되었습니다.
     
     
     

    '스타터스 백엔드 3기' 카테고리의 다른 글

    221226. DB 4. 서브쿼리  (0) 2022.12.26
    221226. DB 3. DML, 제약조건, ALTER TABLE  (0) 2022.12.26
    221223. DB 2. RDBMS, select  (0) 2022.12.23
    221221 자바15. 파일  (0) 2022.12.21
    221221 자바 14. 입출력  (0) 2022.12.21
Designed by Tistory.