전체 글 223

Day07 학습정리

JS는 진짜 너무 자유로워서 불안하지만, 그만큼 편하게 처리할 수 있는 것이 많아서 좋다. 함수형 프로그래밍 함수형 프로그래밍 원칙 입출력이 순수해야한다. 부작용이 없어야 한다. 함수와 데이터를 중점으로 생각행야 한다. 순수함수란? 받은 인자'만' 사용해서, 결과물을 내는 함수다. 부작용 프로그래머가 바꾸고자 하는 변수 외에는 바뀌어서는 안 된다는 뜻이다. 원본 데이터는 불변해야 한다는 것이다. ex) const arr = [1, 2, 3, 4, 5]; const map = arr.map(function(x) { return x * 5; }): // return : [5, 10, 15, 20, 25] map 함수는 마지막에 설명한다. arr를 사용했지만, 값은 변하지 않았고, map이라는 결과를 내고 다..

boostcamp 2023.07.18

Day06 학습 정리

클래스 프로그래밍상 정의되어 있는 데이터와 메소드의 집합으로, 객체를 생성하기 위한 설계도다. 인스턴스 클래스로부터 생성된 객체를 해당 클래스의 인스턴스라고 한다. 위의 반환받은 값을 저장한 것을 인스턴스라고 한다. 객체 물리적으로 존재하는 개념으로, 다른것과 식별이 가능한 것이다. 클래스, 인스턴스를 합해서 객체라고 한다. 다형성 정리해둔게 있는데 예제랑 잘 되어있다. 다형성 상속 객체가 다른 객체를 상속받아, 상속받은 객체의 요소를 사용하는 것이다. 이 때, 상속된 객체를 부모, 상속 받은 객체를 자식이라고 한다. 부모 객체가 추상 객체일 경우, 추상 메소드와 오버라이딩을 통해 부모 객체의 메소드를 구현하거나 다룰 수 있다. super JS에서 자식 클래스가 부모 클래스의 생성자와 메소드를 사용할 때..

boostcamp 2023.07.18

Day04 학습 정리

참고자료 : 전에 정리해둔 내용 참고 프로그램 : 명령어 리스트를 내용으로 가진, 디스트에 저장된 파일이다. 프로세스 : 프로그램이 메모리에 적재될 때 프로그램은 프로세스가 된다. 프로세스 메모리 구조 프로세스 메모리 배치 크기 동적 Heap : 프로그램 실행 중 동적으로 할당되는 메모리 - c언어의 malloc과 같이 사용자에 의해 관리되는 영역 - Java, C++의 클래스, new() 연산자, 참조 변수 - 대개 낮은 주소에서 높은 주소로 할당된다. Stack : 함수를 호출할 때 임시 데이터 저장소 - 함수 매개변수, 복귀 주소, 지역 변수 등이 해당한다. 크기 정적 Text : 실행 코드가 저장된다. - 코드영역 즉, 명령문, 제어문, 함수, 상수 등이 저장된다. Data : 전역 변수, 정적 ..

boostcamp 2023.07.13

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 (주문 취소) 주문 취소시 사용한다. 문 상태를 취..