🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [21]일차🚀21일차에는 디자인패턴의 Facade 퍼사드 패턴과 Stategy 전략 패턴을 실습해본 후 프론트엔드를 배울 수 있었다.프론트엔드를 개인적으로 강의 듣거나 토이프로젝트를 진행할때 리액트, Expo 등으로 많이 접해봤다고 생각했다.하지만 잘 알지 못했던 자바스크립트를 실행을 위한 Node, Node의 버전관리를 도와주는 nvm 등을 배워보니 기초적인 부분이 부족하다고 느꼈다.회고를 통해 Node, nvm, npm 등을 다시 공부해보고 디자인패턴의 퍼사드, 전략 패턴 또한 정리해야겠다고 느꼈다.🚀EJBEnterprise java Bean : 기업환경 시스템 구현을 위한 서버 측 컴포넌트 모델로 업무로직을 가진 서버 어플리케이션즉 ..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [20]일차🚀20일차에는 객체지향설계원칙 중 DIP를 배우고, 디자인 패턴을 본격적으로 학습할 수 있었다.디자인 패턴을 사용하는 이유와 디자인패턴의 종류를 실습을 통해서 익힐 수 있어서 이해에 도움이되었다.디자인 패턴 개념을 단순히 공부할때는 왜 사용해야하고 어떤 코드로 동작할까를 짐작할 수 없었는데 디자인 패턴에 대해서 더 자세히 알 수 있게 되었다.물론 어댑터 패턴과 옵저버 패턴을 좀 더 공부해야겠다는 생각도 들었다.DIP객체지향 설계원칙 중 DIP (Dependency Inversion Principle) = 의존성 역전 원칙객체에서 어떤 Class를 참조해서 사용해야하는 상황이 생긴다면 직접 참조하지 않고 대상의 상위 요소(추상 클래스..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [19]일차🚀19일차에는 객체지향원칙과 객체지향설계원칙에 대해 배울 수 있었다.객체지향원칙 핵심개념으로 정보처리기사 공부할때 외워놨던 "캡상추다"를 다시 접할 수 있었다.캡슐화, 상속, 추상화, 다형성은 회고 초반에 진행했던 실습들과 연관이 많이 되어있어서 개념의 이해가 더 쉬웠다.객체지향설계원칙으로는 SOLID 가 있는데 이또한 이전에 공부할때는 약어만 외웠었지만 실제로 어떤 일들을 하는지를 예제코드와 함께 공부해보니 왜 사용하는 것인지, 어느때 사용해야하는지를 익힐 수 있었다.객체지향원칙 OOP핵심개념캡상추다 ➡️ 캡슐화 / 상속 / 추상화 / 다형성추상화복잡한 시스템이나 객체를 “단순화 하여 핵심적인 속성이나 기능만 나타냄”구체적인 세부..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [18]일차🚀18일차에는 스레드에 대해 배우면서 단일스레드, 멀티스레드, 스레드의 다양한 메소드 등을 실습해보았다.이번 실습에서는 println() 출력문이 중요한 것 같았다. 스레드의 수행 순서 및 수행 작업들을 눈으로 확인할 수 있어야했는데 직관적으로 구분할 수 있게 도와주었다.가장 큰 깨달음은 채팅프로그램을 만들기 위해서 A사용자가 입력할 때 B사용자는 무작정 기다리고만 있으면 안된다.동시에 채팅을 입력할 수 있어야하는데 이럴때 멀티스레딩을 하는 것이었다.스레드를 통해 멀티버스와 같이 여러 개의 수행흐름을 만들 수 있다는 것또한 배울 수 있었다.Thread 스레드프로세스 내에서 실제로 작업을 수행하는 최소단위를 의미스레드는 직접구현할 필..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [17]일차🚀17일차에는 입력과 출력을 담당하는 Java IO에 대해서 배웠다. BufferedReader와 Scanner는 자주 사용해봤지만 BufferedReader사용 시 왜 예외처리를 해주어야하는지, 사용 이후에는 close()를 통해 닫아주어야하는 이유 등에 대해 생각해보지 못했다. 또 다양한 Stream객체가 있다는 것, 각자 다른 일들을 수행한다는 것 등 이번 회고를 통해 몰랐던 부분들을 정리할 수 있게되었다.Java IO자바에서 입출력 담당텍스트문서 읽기, 인터넷에서 데이터 다운로드, 네트워크를 통한 데이터 전송 등Input과 Output으로 입력과 출력을 담당하는데 이들은 “데이터가 이동할 통로”를 가짐이 통로는 “데이터의 흐..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [16]일차🚀16일차에는 내부클래스와 제네릭 부분에서 잠깐 배울 수 있었던 "컬렉션 프레임워크"에 대해서 자세히 배우게되었다.데이터를 관리하는 자료구조에 대한 내용이었는데 각 자료구조마다 다른 특성과 장단점을 가지고 있어서경우에 맞게 사용해야한다는 것을 깨달았다.컬렉션 프레임워크 Collection Framework자바에서 데이터 집합을 효율적으로 처리할 수 있도록 설계된 표준화된 방법 (Collection이라는 인터페이스를 정의함으로써 표준화된 방법을 제공받음)다양한 데이터 구조가 있는데 각각 서로 다른 데이터 관리와 접근 방식을 제공일관된 인터페이스(→ Collection)와 제네릭을 제공List 리스트 : 순서 유지 - ArrayList..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [15]일차🚀15일차에는 JDBC 사용과 JDBC 문법들, DAO (Data Access Object)와 DTO (Data Transfer Object)를 배울 수 있었다. 사담이지만 DAO와 DTO를 자세히 배우다보니 DDD도 떠오르는데 이전에 대외활동을 진행하면서 MVC패턴, TDD(테스트 주도 개발), DDD (Domain Driven Design)등에 대한 용어를 접했었다. 🥲 👀DDD는 보통 원인 해결에 초점을 맞추어 복잡한 문제 상황에서 해결하기 위한 방법론이다. (도메인, 서브도메인, 바운디드컨텍스트 를 구분하고 정의해야한다) 오늘 데이터베이스와 자바를 연결하는 과정이 신기하기도하고 새로운 개념이 많이 등장하여 회고 시간 전까..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [14]일차🚀14일차에는 DML (데이터 조작어)를 SELECT, INSERT, UPDATE, DELETE 로 많은 예제를 진행해보았고,DDL (데이터 정의어)를 통해 CREATE, ALTER, DROP 등으로 테이블을 생성해보고 데이터베이스를 설계해볼 수 있었다.DCL (데이터 제어어)는 GRANT, REVOKE 등으로 객체들에게 권한을 설정 및 해제하는 명령이다. TCL (트랜잭션 제어어)를 통해서는 수정했던 사항들을 데이터베이스에 적용할 것인지를 COMMIT / ROLLBACK으로 제어하는 방법을 배울 수 있었다. 개념적으로는 큰 범주에서 배운 것 같은데 INSERT를 활용하는 방법, CREATE를 활용하는 방법 등 다양한 예제를 통해 ..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [13]일차🚀13일차 MySQL Workbench에서 실습을 진행하면서 다양한 단일행 함수, 그룹함수, 조인, 서브쿼리 등을 배울 수 있었다.하루만에 많은 개념을 익혀야해서 회고를 정리를 통해 복습해야겠다고 느꼈다.인덱스 Index데이터를 빠르게 찾아내기 위해 "인덱스 사용"고유값이 있으면 그것을 기준으로 트리를 만듦 (ex.작으면 왼쪽, 크면 오른쪽)모든 데이터를 검색해서 찾는 것보다 이렇게 트리구조로 찾게되면 더 빨라질 수 있다.검색 대상에 자주 검색하는 것(ex.컬럼)에 “인덱스”를 만들어두고,인덱스가 걸려있는 컬럼으로 데이터를 찾게 되면 훨씬 더 빠르게 데이터를 찾아낼 수 있음-- 이러한 방식으로 찾으면 시간이 오래걸릴 것selec..