전체 글 202

Day03 학습정리

컴파일러 참고자료 학교에서 강의를 들은 적 있어 정리해뒀던 자료를 참고했다. 그래도 다시 복습 해보자. Tokenizer Token은 의미있는 단위다. 주로 identifiers, reserved words, integers, doubles, floats, delimiters, operators, special symbols 로 이루어진다. 참고자료 : 강의에서 정리해둔 예시들이다. Lexer Tokenizer에 의해 만들어진 Token에 의미를 분석하는 역할을 한다. 예를 들어 4 : "number" 이런식으루 참고자료 : 강의 때 정리해둔 예시 Parser Token을 입력받아 Tree를 만든다. 구조적으로 나타내며, 데이터가 올바른지 검증하는 역할을 수행한다. Parser에 의해 도출된 결과는 AS..

boostcamp 2023.07.12

Day02 학습 정리

리눅스란? Linux는 오픈소스 운영체제(OS)다. 유닉스 기반으로 만들어졌으며, 무료 오픈소스다. 리누즈 토발즈가 미닉스(Minix)라는 운영체제가 불편해 GNU 프로젝트와 합작으로 리눅스를 만들게 되었다. 이 때, 유닉스는 비싼 운영체제라 많은 사람들이 유닉스 같은 무료 운영체제를 만들려고 했다고 한다. 그런다 리누즈 토발즈가 쓰던 BitKeeper가 유료화되어 대체할 프로그램으로 만든 것이 Git이라고 한다. 세상에 SSH (Secure SHell) 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜이다. 컴퓨터와 컴퓨터가 public Network를 통해 서로 통신할 때, 보안적으로 안전하게 통신하기 위해 사용하는 프로토콜이다. 예) git push SSH 작동 원리 Client와 Server가 ..

boostcamp 2023.07.11

Day01 학습정리

Git 동작 원리 Git 프로젝트의 3가지 구성요소 Working Directory : 작업할 파일이 있는 디렉토리 (Local) Staging Area : commit을 수행할 파일들이 올라가는 영역 (인덱스라고도 한다.) Git Directory : Git 프로젝트의 메타 데이터와 데이터 정보가 저장되는 디렉토리 (.git 폴더) 깃 프로젝트는 이러한 구성요소를 통해 동작한다. Git의 기본적인 동작 과정 git add : 현재 상태 추적 - 인덱스(staging area) 내용과 비교했을 때, 로컬에서 변동된 사항을 인덱스에 반영시킨다. git commit : 현재 상태 저장 - 인덱스에 추가된 변경 사항을 이력에 추가한다. git branch : branch 목록 조회, 이름을 붙이면 branch..

boostcamp 2023.07.10

크롤링 속도 개선

selenium driver.find_element_by_css_selector() HTML 코드 전체에서 매칭되는 처음 요소를 반환한다. driver.find_elements_by_css_selector() HTML 코드 전체에서 매칭되는 모든 요소를 리스트로 반환해준다. 발생했던 문제 꽤 많은 시간이 소요되었는데도 스크롤이 내려가지 않았다. 수집한 이미지의 정보가 출력되는 속도를 보니 너무 많은 시간이 소요되었다. 코드 수정 # 수정 전 images = driver.find_elements_by_css_selector(".grid-item") # 수정 후 images = driver.find_elements_by_css_selector(".lazy") 크롤링할 HTML 파일을 많이 가져오면, 네트워크..

학교/졸프 2023.07.09

네이버 부스트캠프 웹 8기

프로그램 지원 과정 1차 코딩 테스트 코딩 테스트 + CS 문제 음.. 코테는 사실 정확히 기억 안 난다. 특별히 안 나는거 보면 엄청 임팩트 있게 어려웠던 문제는 없었던거 같다. CS 문제는 어려웠다. 난 스터디도 했었고 검색도 가능하니 어느정도 풀 수 있을 줄 알았는데 아니었다. 객관식이었는데, 모두 고르세요. 이게 진짜 헷갈렸다. 아리까리와리가리 ++ 문제 하나가 생각났다. 하노이 탑. 출력이 정말.. 어마어마했다 2차 코딩테스트 코딩 테스트 + 서술형 코딩 테스트 문제가 나오고, 서술형은 내가 어떻게 풀어나갔는지에 대해 서술하는 것이었다. 42서울에서 다른사람한테 설명하던 짬밥이 있어서 간단하게는 했는데 자세히는 못 했다. 뭐랄까 문제를 좀 더 풀어야 할 거 같은데, 시간이 부족서 자세히는 못 썼..

boostcamp 2023.07.07

[Spring boot / JPA] 7. 웹 계층 개발

아래 강의 정리 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 - 인프런 | 강의 실무에 가까운 예제로, 스프링 부트와 JPA를 활용해서 웹 애플리케이션을 설계하고 개발합니다. 이 과정을 통해 스프링 부트와 JPA를 실무에서 어떻게 활용해야 하는지 이해할 수 있습니다., 스프 www.inflearn.com 목차 홈 화면과 레이아웃 회원 등록 회원 목록 조회 상품 등록 상품 목록 상품 수정 변경 감지와 병합(merge) 상품 주문 주문 목록 검색, 취소 홈 화면과 레이아웃 Log @Slf4j Logger log = LoggerFactory.getLogger(getClass()); HTML 관례상 th라고 많이 쓴다. th:replace와 같은 속성들을 사용할 수 있다. fragments/~로..

[Spring boot / JPA] 6. 주문 도메인 개발

아래 강의 정리 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 - 인프런 | 강의 실무에 가까운 예제로, 스프링 부트와 JPA를 활용해서 웹 애플리케이션을 설계하고 개발합니다. 이 과정을 통해 스프링 부트와 JPA를 실무에서 어떻게 활용해야 하는지 이해할 수 있습니다., 스프 www.inflearn.com 목차 주문, 주문 상품 엔티티 개발 주문 서비스 개발 주문 기능 테스트 주문 검색 기능 개발 구현 기능 상품 주문 주문 내역 조회 주문 취소 주문, 주문 상품 엔티티 개발 createOrder (생성 메서드) 주문 엔티티를 생성할 때 사용한다. 주문 회원, 배송 정보, 주문 상품의 정보를 받아서 실제 주문 엔티티를 생성한다. cancle (주문 취소) 주문 취소시 사용한다. 문 상태를 취..

[Spring boot / JPA] 5. 상품 도메인 개발

아래 강의 정리 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 - 인프런 | 강의 실무에 가까운 예제로, 스프링 부트와 JPA를 활용해서 웹 애플리케이션을 설계하고 개발합니다. 이 과정을 통해 스프링 부트와 JPA를 실무에서 어떻게 활용해야 하는지 이해할 수 있습니다., - 강 www.inflearn.com 목차 상품 엔티티 개발 (비즈니스 로직 추가) 상품 리포지토리 개발 상품 서비스 개발 상품 엔티티 개발 (비즈니스 로직 추가) 구현 기능 상품 등록 상품 목록 조회 상품 수정 addStock() 재고가 증가하거나, 상품 주문을 취소해서 재고를 다시 늘려야 할 때 사용한다. removeStock() 만약 재고가 부족하면, 예외가 발생한다. 주로 상품을 주문할 때 사용한다. 상품 리포지토리..

[Spring boot / JPA] 4. 회원 도메인 개발

아래 강의 정리 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 - 인프런 | 강의 실무에 가까운 예제로, 스프링 부트와 JPA를 활용해서 웹 애플리케이션을 설계하고 개발합니다. 이 과정을 통해 스프링 부트와 JPA를 실무에서 어떻게 활용해야 하는지 이해할 수 있습니다., - 강 www.inflearn.com 목차 회원 리포지토리 개발 회원 서비스 개발 회원 기능 테스트 회원 기능 회원 등록 : save 회원 목록 조회 : findOne, findAll, findByName 회원 리포지토리 개발 @Repository : 스프링 빈으로 등록, JPA 예외를 스프링 기반 예외로 예외 변환한다. @PersistenceContext : 스프링이 엔티티 매니저(EntityManager)를 만들어 in..

[Spring boot / JPA] 3. 애플리케이션 구현 준비

다음 강의 정리 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 - 인프런 | 강의 실무에 가까운 예제로, 스프링 부트와 JPA를 활용해서 웹 애플리케이션을 설계하고 개발합니다. 이 과정을 통해 스프링 부트와 JPA를 실무에서 어떻게 활용해야 하는지 이해할 수 있습니다., - 강 www.inflearn.com 목차 구현 요구사항 애플리케이션 아키텍처 구현 요구사항 기능 목록 회원 기능 - 회원 등록 - 회원 조회 상품 기능 - 상품 등록 - 상품 수정 - 상품 조회 주문 기능 - 상품 주문 - 주문 내역 조회 - 주문 취소 애플리케이션 아키텍처 계층형 구조 사용 controller, web : 웹 계층 service : 비즈니스 로직, 트랜잭션 처리 repository : JPA를 직접 사용..