# 공부

- [HTML, CSS](https://simian114.gitbook.io/blog/undefined/html-css.md)
- [GRID](https://simian114.gitbook.io/blog/undefined/html-css/grid.md)
- [emmet](https://simian114.gitbook.io/blog/undefined/html-css/emmet.md)
- [position](https://simian114.gitbook.io/blog/undefined/html-css/position.md)
- [CSS Unit](https://simian114.gitbook.io/blog/undefined/html-css/css-unit-7.md)
- [단위 정리](https://simian114.gitbook.io/blog/undefined/html-css/css-unit-7/undefined.md)
- [기준을 정해보자](https://simian114.gitbook.io/blog/undefined/html-css/css-unit-7/undefined-2.md)
- [em의 정확한 기준은 뭐야?](https://simian114.gitbook.io/blog/undefined/html-css/css-unit-7/em.md)
- [flex](https://simian114.gitbook.io/blog/undefined/html-css/flex.md)
- [NAVBAR 실습](https://simian114.gitbook.io/blog/undefined/html-css/navbar.md)
- [유튜브 화면 만들어보기](https://simian114.gitbook.io/blog/undefined/html-css/undefined.md)
- [SQL](https://simian114.gitbook.io/blog/undefined/sql.md)
- [이론](https://simian114.gitbook.io/blog/undefined/sql/theory.md)
- [1강 데이터베이스](https://simian114.gitbook.io/blog/undefined/sql/theory/chapter1.md)
- [2강 다양한 데이터 베이스](https://simian114.gitbook.io/blog/undefined/sql/theory/chapter2.md): DBMS에는 여러 종류가 있따 데이터베이스의 사용 용도나 이를 제어하는 프로그래밍 환경 등 각각의 조건에 들어맞는 다양한 DBMS가 고안되었기 때문. DB중에서도 SQL로 데이터를 다루는 DB를 관계형 데이터베이스 라고 한다.
- [3강 데이터베이스 서버](https://simian114.gitbook.io/blog/undefined/sql/theory/chapter3.md): 많은 RDBMS가 클라이언트 - 서버 모델을 채택해 가동중
- [명령어](https://simian114.gitbook.io/blog/undefined/sql/practice.md)
- [DB 관리](https://simian114.gitbook.io/blog/undefined/sql/practice/db.md): DB를 생성하고 삭제하는 명령에 대해 학습합니다.
- [TABLE 관리](https://simian114.gitbook.io/blog/undefined/sql/practice/table.md): 테이블의 생성과 삭제, 열을 관리하는 명령에 대해 학습합니다.
- [Constraints](https://simian114.gitbook.io/blog/undefined/sql/practice/constraints.md): 제약들에 대해 학습합니다.
- [SQL 명령어 - 1](https://simian114.gitbook.io/blog/undefined/sql/practice/untitled-2.md)
- [SQL 명령어 - 2](https://simian114.gitbook.io/blog/undefined/sql/practice/untitled-1.md): JOIN, UNION, GROUP BY, HAVING 에 대해 학습합니다.
- [SQL 명령어 - 3](https://simian114.gitbook.io/blog/undefined/sql/practice/untitled.md): 서브쿼리에 대해 학습합니다.
- [SQL 명령어 - 4](https://simian114.gitbook.io/blog/undefined/sql/practice/sql-4.md): ANY, ALL, SELECT INTO, INSERT INTO SELECT 를 학습합니다.
- [SQL 명령어 - 5](https://simian114.gitbook.io/blog/undefined/sql/practice/sql-5.md): CASE, NULL에 대해 학습합니다.
- [Ruby](https://simian114.gitbook.io/blog/undefined/ruby.md): 루비 언어를 학습합니다.
- [루비 객체와 클래스](https://simian114.gitbook.io/blog/undefined/ruby/undefined.md): '루비를 깨우치다' 책의 5장을읽고 정리했습니다.
- [곡괭이](https://simian114.gitbook.io/blog/undefined/ruby/1.md): 루비 언어를 학습합니다.
- [Chapter2. Ruby.new](https://simian114.gitbook.io/blog/undefined/ruby/1/chapter2.md): 간단히 루비 맛을 본다.
- [Chapter3. 클래스, 객체, 변수](https://simian114.gitbook.io/blog/undefined/ruby/1/chapter3.md)
- [Chapter4. 컨테이너, 블록, 반복자](https://simian114.gitbook.io/blog/undefined/ruby/1/chapter4.md): 참 신기해
- [Chapter5. 기능 공유하기](https://simian114.gitbook.io/blog/undefined/ruby/1/chapter5..md)
- [Chapter6. 표준 타입](https://simian114.gitbook.io/blog/undefined/ruby/1/chapter6..md)
- [Chapter8. 메서드 파헤치기](https://simian114.gitbook.io/blog/undefined/ruby/1/chapter8..md)
- [Python](https://simian114.gitbook.io/blog/undefined/undefined-2.md)
- [유용한 링크](https://simian114.gitbook.io/blog/undefined/undefined-2/untitled.md)
- [RubyOnRails](https://simian114.gitbook.io/blog/undefined/rubyonrails.md): ROB를 학습합니다.
- [아직 정리하지 못한 것들](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-4.md)
- [RSPEC 을 이용한 테스트 완전 자동화](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-4/rspec.md)
- [레일즈 이니셜라이징 과정](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-4/undefined-1.md)
- [액션케이블 구체적으로 정리하기](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-4/undefined.md)
- [웹팩으로 자바스크립트 모듈 관리하기](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-4/untitled.md)
- [ACTIVE JOB](https://simian114.gitbook.io/blog/undefined/rubyonrails/active-job.md)
- [액티브잡의 기본](https://simian114.gitbook.io/blog/undefined/rubyonrails/active-job/undefined.md)
- [실전! 액티브 잡을 이용한 스케쥴링](https://simian114.gitbook.io/blog/undefined/rubyonrails/active-job/undefined-2.md)
- [서버를 껏다 키면 스케쥴링 된 이벤트가 사라진다!](https://simian114.gitbook.io/blog/undefined/rubyonrails/active-job/undefined-1.md)
- [ACTION CABLE](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-6.md)
- [액션케이블 Consumer를 이용해서 문제 해결](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-6/consumer.md)
- [액션케이블 연결 순서](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-6/undefined-4.md)
- [ACTIVE STORAGE](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-2.md)
- [모델](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-7.md)
- [validation](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-7/validation-1.md)
- [seeds 데이터 validation 스킵](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-7/validation-1/seeds-validation.md)
- [validation 검사가 save, update, create 모든 경우에 일어난다](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-7/validation-1/validation-save-update-create.md)
- [validator 클래스](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-7/validation-1/validator.md)
- [커스텀Validation](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-7/validation-1/validation.md): 너무 오랜만이다...
- [validates format(정규표현식)](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-7/validation-1/validates-format.md)
- [액티브레코드 find의 다양한 활용](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-7/find.md)
- [한 레코드에 동시 접속 막자!! with\_lock](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-7/with_lock.md)
- [레일즈 where 사용법](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-7/where.md)
- [레일즈에서 모델 관련 이슈](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-7/undefined-3.md): 컨트롤러는 가볍게 모델은 두껍게
- [모델이름바꿀때명심할것](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-7/undefined-1.md)
- [모델의 includes 메서드](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-7/includes.md)
- [연관 모델을 다른 이름으로 설정하고 가져오기](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-7/undefined.md)
- [기본 상식](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-3.md)
- [form으로 전달되는 params를 분석해보자](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-3/form-params.md): 동작하는 순서를 따라가면서 분석함
- [StrongParameter 쿼리 배열 받기](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-3/strongparameter.md)
- [view helper로 디버깅 하는 방법](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-3/view-helper.md)
- [css 파일을 수정했는데 적용이 안된다?](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-3/css.md)
- [StrongParameter 일반데이터와 객체 데이터 한번에 받기](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-3/strongparameter-1.md)
- [wrap-parameter body가 두 번씩 날라오는 이유](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-3/wrap-parameter-body.md)
- [컬렉션 map에서 요소 스킵하는법](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-3/map.md)
- [CASE를 이용해서 정렬(일반적인 정렬 X)](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-3/case-x.md)
- [문자열(정규표현식)](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-3/undefined-5.md)
- [TIME ZONE 설정하기](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-3/time-utc-vs-local.md)
- [커스텀exception](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined-3/exception.md)
- [RSPEC으로 모델 테스트하기](https://simian114.gitbook.io/blog/undefined/rubyonrails/rspec.md)
- [한 눈에 읽는 루비 온 레일즈](https://simian114.gitbook.io/blog/undefined/rubyonrails/undefined.md): 구름에서 제공하는 강의입니다
- [Perfect RubyOnRails](https://simian114.gitbook.io/blog/undefined/rubyonrails/perfect-rubyonrails.md)
- [Chapter1. 소개](https://simian114.gitbook.io/blog/undefined/rubyonrails/perfect-rubyonrails/chapter1..md)
- [Chapter2. RubyOnRails 기본](https://simian114.gitbook.io/blog/undefined/rubyonrails/perfect-rubyonrails/chapter2.-rubyonrails.md): 기본이 중요하다..!
- [Chapter3. 스캐폴딩](https://simian114.gitbook.io/blog/undefined/rubyonrails/perfect-rubyonrails/untitled.md): 스캐폴딩은 한번에 아주 기초적인 CRUD를 만들어줍니다.
- [Chapter7. 라우팅](https://simian114.gitbook.io/blog/undefined/rubyonrails/perfect-rubyonrails/chapter7..md): 라우팅은 요청 URL에 따라 응답 처리 대상(액션)을 결정하는 것 또는 그 구조 자체를 말한다.
- [Chapter8. 테스트](https://simian114.gitbook.io/blog/undefined/rubyonrails/perfect-rubyonrails/chapter8..md): 아주 재밌었다. 앞으로 자주 사용해야겠다.
- [Javascript](https://simian114.gitbook.io/blog/undefined/javascript.md)
- [var, let, const 차이](https://simian114.gitbook.io/blog/undefined/javascript/var-let-const.md)
- [브라우저 동작 원리](https://simian114.gitbook.io/blog/undefined/javascript/undefined-6.md)
- [디바운싱과 쓰로틀링](https://simian114.gitbook.io/blog/undefined/javascript/undefined-1.md): 로대쉬의 DOC 을 보면 매우 쉽게 이해, 사용이 가능하다.
- [Tagged Template Literal(styled-components)](https://simian114.gitbook.io/blog/undefined/javascript/tagged-template-literal-styled-components.md)
- [IntersectionObserver 를 사용해서 스크롤 이벤트의 부하 줄여주기](https://simian114.gitbook.io/blog/undefined/javascript/intersectionobserver.md)
- [EVENT LOOP](https://simian114.gitbook.io/blog/undefined/javascript/event-loop.md)
- [자바스크립트에서 어떻게 비동기적인 실행이 가능한걸까?](https://simian114.gitbook.io/blog/undefined/javascript/event-loop/undefined.md): 브라우저에게 맡긴다.
- [이벤트 루프의 동작](https://simian114.gitbook.io/blog/undefined/javascript/event-loop/undefined-1.md)
- [setTimeout이 실행되면 어떤 동작이 일어날까?](https://simian114.gitbook.io/blog/undefined/javascript/event-loop/settimeout.md)
- [블록은 실행이 보장된다](https://simian114.gitbook.io/blog/undefined/javascript/event-loop/undefined-3.md)
- [콜스택에 있는 블록이 보장된다는 점을 이용해서 브라우저 죽이기](https://simian114.gitbook.io/blog/undefined/javascript/event-loop/undefined-2.md): 콜백메서드는 가볍게 만들자
- [setTimeout 무한반복으로 브라우저는 죽을까?](https://simian114.gitbook.io/blog/undefined/javascript/event-loop/settimeout-1.md): setTimeout의 콜백은 TASK QUEUE에 쌓인다. 결론은 죽지 않는다.
- [Promise 무한반복으로는 브라우저를 죽일 수 있을까?](https://simian114.gitbook.io/blog/undefined/javascript/event-loop/untitled-1.md): Promose로 전달된 call back 은 micro task queue로 전달된다.
- [RAF는 그럼 뭐야?](https://simian114.gitbook.io/blog/undefined/javascript/event-loop/untitled.md): RAF는 Request Animation Frame 의 약자. 렌더링 되기전에 수행되어야 하는 콜백을 지정하는 Web API 다.
- [forEach는 반복도중 멈출 방법이 throw 밖에 없다!](https://simian114.gitbook.io/blog/undefined/javascript/foreach-throw.md)
- [임시](https://simian114.gitbook.io/blog/undefined/javascript/undefined-5.md)
- [정리할 것 목록](https://simian114.gitbook.io/blog/undefined/javascript/undefined-5/undefined-1.md)
- [자바스크립트 기본 문법](https://simian114.gitbook.io/blog/undefined/javascript/undefined-5/undefined-1/undefined.md)
- [이벤트 임시 정리](https://simian114.gitbook.io/blog/undefined/javascript/undefined-5/undefined.md)
- [유용한 링크](https://simian114.gitbook.io/blog/undefined/javascript/undefined-3.md)
- [arrow function 을 이용한 bind 이슈 해결](https://simian114.gitbook.io/blog/undefined/javascript/arrow-function-bind.md)
- [preventDefault - passive](https://simian114.gitbook.io/blog/undefined/javascript/preventdefault-passive.md)
- [CRITICAL-RENDERING-PATH](https://simian114.gitbook.io/blog/undefined/javascript/critical-rendering-path.md): 명심하고 성능에 유의해서 코드를 짜도록하자.
- [setInterval에 클로져 개념 사용하기](https://simian114.gitbook.io/blog/undefined/javascript/setinterval.md)
- [오디오 문제 이슈](https://simian114.gitbook.io/blog/undefined/javascript/undefined-4.md)
- [자바스크립트의 식과 문](https://simian114.gitbook.io/blog/undefined/javascript/undefined-2.md)
- [식과 문이란 무엇인가...](https://simian114.gitbook.io/blog/undefined/javascript/undefined-2/....md)
- [식](https://simian114.gitbook.io/blog/undefined/javascript/undefined-2/undefined-1.md)
- [1. 기본값과 래퍼객체](https://simian114.gitbook.io/blog/undefined/javascript/undefined-2/undefined-1/1..md)
- [2. 참조값과 가비지컬렉팅](https://simian114.gitbook.io/blog/undefined/javascript/undefined-2/undefined-1/2..md)
- [식을 조금 더 자세히 알아보자](https://simian114.gitbook.io/blog/undefined/javascript/undefined-2/undefined.md)
- [prototype, \[\[Prototype\]\] 차이](https://simian114.gitbook.io/blog/undefined/javascript/prototype-prototype.md)
- [export, import 학습](https://simian114.gitbook.io/blog/undefined/javascript/export-import.md)
- [ESlint](https://simian114.gitbook.io/blog/undefined/javascript/eslint.md)
- [아주아주기본](https://simian114.gitbook.io/blog/undefined/javascript/undefined.md)
- [Chatper1. 기본](https://simian114.gitbook.io/blog/undefined/javascript/undefined/chatper1..md)
- [Chapter2. 타입](https://simian114.gitbook.io/blog/undefined/javascript/undefined/chapter2..md)
- [Chapter3. 연산자](https://simian114.gitbook.io/blog/undefined/javascript/undefined/chapter3..md)
- [Chapter4. 제어문](https://simian114.gitbook.io/blog/undefined/javascript/undefined/chapter4..md)
- [Chapter5. 배열](https://simian114.gitbook.io/blog/undefined/javascript/undefined/chapter5..md)
- [Chapter6. 함수](https://simian114.gitbook.io/blog/undefined/javascript/undefined/chapter6..md)
- [Chapter7-1. 객체](https://simian114.gitbook.io/blog/undefined/javascript/undefined/chapter7-1..md)
- [Chapter7-2. 객체](https://simian114.gitbook.io/blog/undefined/javascript/undefined/chapter7-2..md)
- [Chapter8. 표준객체](https://simian114.gitbook.io/blog/undefined/javascript/undefined/chapter8..md)
- [Chapter9. DOM](https://simian114.gitbook.io/blog/undefined/javascript/undefined/chapter9.-dom.md)
- [이벤트 위임](https://simian114.gitbook.io/blog/undefined/javascript/untitled.md)
- [이벤트가 버블링 되서 root 까지 가다보면... 부모의 부모의 ... 모든 click 이벤트를 발동시키는거 아니야?](https://simian114.gitbook.io/blog/undefined/javascript/root-...-...-click.md): 자바스크립트의 세계는 정말...
- [classList](https://simian114.gitbook.io/blog/undefined/javascript/classlist.md)
- [BackboneJS](https://simian114.gitbook.io/blog/undefined/backbonejs.md)
- [Backbone Model 프로토타입에 메서드 구현하기](https://simian114.gitbook.io/blog/undefined/backbonejs/backbone-model.md)
- [BackboneJS의 각 요소의 역할과 책임을 확실히 이해하자](https://simian114.gitbook.io/blog/undefined/backbonejs/backbonejs.md)
- [Window 이벤트를 listenTo로 감시하기](https://simian114.gitbook.io/blog/undefined/backbonejs/window-listento.md)
- [뷰 자신이 자신을 지워야 할 때를 감지하려면 어떻게 해야하는가?](https://simian114.gitbook.io/blog/undefined/backbonejs/undefined.md)
- [백본 VIEW의 remove와 jquery의 remove 는 다르다!](https://simian114.gitbook.io/blog/undefined/backbonejs/view-remove-jquery-remove.md)
- [백본 컬렉션 URL에 쿼리 붙이기](https://simian114.gitbook.io/blog/undefined/backbonejs/url.md)
- [index.html.erb와 BackboneJS의 결합](https://simian114.gitbook.io/blog/undefined/backbonejs/index.html.erb-backbonejs.md)
- [백본 모델과 컬렉션에서 fetch 를 통해 JSON 가져오기!](https://simian114.gitbook.io/blog/undefined/backbonejs/fetch-json.md)
- [모델은 urlRoot, 컬렉션은 url](https://simian114.gitbook.io/blog/undefined/backbonejs/urlroot-url.md)
- [ISSUE](https://simian114.gitbook.io/blog/undefined/backbonejs/issue.md)
- [Absolute Beginner](https://simian114.gitbook.io/blog/undefined/backbonejs/absolute-beginner.md)
- [Part1](https://simian114.gitbook.io/blog/undefined/backbonejs/absolute-beginner/part1.md): Backbone은 프레임워크가 아니라 라이브러리다.
- [Part2](https://simian114.gitbook.io/blog/undefined/backbonejs/absolute-beginner/part2.md): Models, Collection and Views
- [Part3](https://simian114.gitbook.io/blog/undefined/backbonejs/absolute-beginner/part3.md): CRUD!
- [Part4](https://simian114.gitbook.io/blog/undefined/backbonejs/absolute-beginner/part4.md): Router
- [문제풀이](https://simian114.gitbook.io/blog/undefined/undefined-1.md)
- [01. 유효한 팰린드롬(leetcode: 125)](https://simian114.gitbook.io/blog/undefined/undefined-1/01.-leetcode-125.md)
- [02. 문자열 뒤집기(leetcode: 344)](https://simian114.gitbook.io/blog/undefined/undefined-1/02.-leetcode-344.md)
- [03. 로그파일 재정렬(leetcode 937)](https://simian114.gitbook.io/blog/undefined/undefined-1/03.-leetcode-937.md)
- [04. 가장 흔한 단어(leetcode: 819)](https://simian114.gitbook.io/blog/undefined/undefined-1/04.-leetcode-819.md)
- [05. 그룹 애너그램(leetcode: 49)](https://simian114.gitbook.io/blog/undefined/undefined-1/05.-leetcode-49.md)
- [06. 가장 긴 팰린드롬 문자열(leetcode: 5)](https://simian114.gitbook.io/blog/undefined/undefined-1/06.-leetcode-5.md)
- [07. 두 수의 합(leetcode: 1)](https://simian114.gitbook.io/blog/undefined/undefined-1/07.-leetcode-1.md)
- [08. 빗물 트래핑](https://simian114.gitbook.io/blog/undefined/undefined-1/08..md)
- [09. 세 수의 합(leetcode: 15)](https://simian114.gitbook.io/blog/undefined/undefined-1/09.-leetcode-15.md)
- [BlackCoffeeStudy](https://simian114.gitbook.io/blog/undefined/blackcoffeestudy.md)
- [level1](https://simian114.gitbook.io/blog/undefined/blackcoffeestudy/zzz.md)
- [1주차](https://simian114.gitbook.io/blog/undefined/blackcoffeestudy/zzz/1.md)
- [express](https://simian114.gitbook.io/blog/undefined/express.md)
- [Untitled](https://simian114.gitbook.io/blog/undefined/express/untitled.md)
- [구글 애널리틱스 연결하기](https://simian114.gitbook.io/blog/undefined/express/undefined-1.md)
- [passport를 활용한 로그인](https://simian114.gitbook.io/blog/undefined/express/passport.md)
- [express-init 명령어 사용](https://simian114.gitbook.io/blog/undefined/express/express-init.md)
- [ec2와 DBeaver](https://simian114.gitbook.io/blog/undefined/express/ec2-dbeaver.md)
- [mariadb 설치](https://simian114.gitbook.io/blog/undefined/express/mariadb.md)
- [sequelize 설치 및 사용법](https://simian114.gitbook.io/blog/undefined/express/sequelize.md)
- [sequelize 설치](https://simian114.gitbook.io/blog/undefined/express/sequelize/sequelize.md)
- [sequelize-cli 사용법](https://simian114.gitbook.io/blog/undefined/express/sequelize/sequelize-cli.md)
- [모델 간 연관관계 맺기](https://simian114.gitbook.io/blog/undefined/express/sequelize/undefined.md)
- [Hook 사용하기](https://simian114.gitbook.io/blog/undefined/express/sequelize/hook.md)
- [express-ejs-layout 활용하기](https://simian114.gitbook.io/blog/undefined/express/express-ejs-layout.md)
- [Bootstrap](https://simian114.gitbook.io/blog/undefined/express/bootstrap.md)
- [npm install로 설치한 모듈 ejs에서 사용하기](https://simian114.gitbook.io/blog/undefined/express/npm-install-ejs.md)
- [미들웨어](https://simian114.gitbook.io/blog/undefined/express/undefined.md)
- [cypress](https://simian114.gitbook.io/blog/undefined/cypress.md)
- [window.alert 테스트는 어떻게 하지?](https://simian114.gitbook.io/blog/undefined/cypress/window.alert.md)
- [상수를 어디에 저장할건가?](https://simian114.gitbook.io/blog/undefined/cypress/undefined.md)
- [before()와 beforeEach()](https://simian114.gitbook.io/blog/undefined/cypress/before-beforeeach.md): before와 beforeEach
- [aws](https://simian114.gitbook.io/blog/undefined/aws.md)
- [aws로 프로젝트를 배포해보자!](https://simian114.gitbook.io/blog/undefined/aws/aws.md)
- [nginx로 리버스프록시 서버를 만들자](https://simian114.gitbook.io/blog/undefined/aws/nginx.md): 이전시간에 EC2 인스턴스에 필요한 프로그램을 설치하고 실제 프로젝트까지 배포해봤다. 하지만 우리의 프로젝트는 4000번 포트로 배포가 되고 있기 때문에 외부 웹브라우저로 접근하기 위해서는 IP:4000 이라는 아주 불편한 형태로 들어와야만 했다. 물론, 포트를 80으로 바꾸면 되긴하지만, 더 좋은 방법이 없는걸까?
- [github actions 로 푸쉬되면 자동으로 업데이트 하는 기능 만들어보기](https://simian114.gitbook.io/blog/undefined/aws/github-actions.md)
- [react](https://simian114.gitbook.io/blog/undefined/react.md)
- [Drag & Drop 를 이용해서 리스트 요소 순서 바꾸기](https://simian114.gitbook.io/blog/undefined/react/drag-and-drop.md)
- [CRA에서 CRACO 사용하지 않고 절대경로 import(NODE\_PATH)](https://simian114.gitbook.io/blog/undefined/react/cra-craco-import-node_path.md)
- [useEffect내에서 state의 dependency 문제](https://simian114.gitbook.io/blog/undefined/react/useeffect-state-dependency.md)
- [IntersectionObserverAPI로 무한스크롤 구현](https://simian114.gitbook.io/blog/undefined/react/intersectionobserverapi.md)
- [react-testing-library](https://simian114.gitbook.io/blog/undefined/react/react-testing-library.md)
- [기본](https://simian114.gitbook.io/blog/undefined/react/react-testing-library/undefined.md)
- [react-router-dom 에서의 에러](https://simian114.gitbook.io/blog/undefined/react/react-testing-library/react-router-dom.md)
- [event 발생시키기](https://simian114.gitbook.io/blog/undefined/react/react-testing-library/event.md)
- [Integration testing하기](https://simian114.gitbook.io/blog/undefined/react/react-testing-library/integration-testing.md): 별거 없다
- [async하게 렌더링 되는 요소 잡기](https://simian114.gitbook.io/blog/undefined/react/react-testing-library/async.md)
- [Mocking 하기](https://simian114.gitbook.io/blog/undefined/react/react-testing-library/mocking.md)
- [CRA로 만든 앱에서 절대경로로 import 해오기(alias하기)](https://simian114.gitbook.io/blog/undefined/react/cra-import-alias.md)
- [커스텀 훅 만들기](https://simian114.gitbook.io/blog/undefined/react/undefined.md)
- [타입스크립트](https://simian114.gitbook.io/blog/undefined/undefined-3.md)
- [조건부타입 (Conditional types)](https://simian114.gitbook.io/blog/undefined/undefined-3/conditional-types.md): 들어오는 input 에 따라 타입을 결정하는건 아주 중요한 작업이다. 꼭 내껄로 만들자
- [Generics](https://simian114.gitbook.io/blog/undefined/undefined-3/generics.md)
- [Keyof 타입 오퍼레이터](https://simian114.gitbook.io/blog/undefined/undefined-3/keyof.md)
- [Indexed Access Types](https://simian114.gitbook.io/blog/undefined/undefined-3/indexed-access-types.md)
- [타입 챌린지](https://simian114.gitbook.io/blog/undefined/undefined-3/undefined.md)
- [easy](https://simian114.gitbook.io/blog/undefined/undefined-3/undefined/easy.md)
- [00. Awaited](https://simian114.gitbook.io/blog/undefined/undefined-3/undefined/easy/0.-awaited.md)
- [01. Concat](https://simian114.gitbook.io/blog/undefined/undefined-3/undefined/easy/1.-concat.md)
- [02. Exclude](https://simian114.gitbook.io/blog/undefined/undefined-3/undefined/easy/untitled.md)
- [03. First Of Array](https://simian114.gitbook.io/blog/undefined/undefined-3/undefined/easy/03.-first-of-array.md)
- [04. If](https://simian114.gitbook.io/blog/undefined/undefined-3/undefined/easy/04.-if.md)
- [05. Includes](https://simian114.gitbook.io/blog/undefined/undefined-3/undefined/easy/05.-includes.md): 이번 문제는 업데이트되면서 난이도가 상승했다. 업데이트 이전으로 작성한다.
- [06. Pick](https://simian114.gitbook.io/blog/undefined/undefined-3/undefined/easy/06.-pick.md)
- [07. Readonly](https://simian114.gitbook.io/blog/undefined/undefined-3/undefined/easy/07.-readonly.md)
- [08. Length](https://simian114.gitbook.io/blog/undefined/undefined-3/undefined/easy/08.-length.md)
- [09. Tuple to Object](https://simian114.gitbook.io/blog/undefined/undefined-3/undefined/easy/09.-tuple-to-object.md)
- [mediun](https://simian114.gitbook.io/blog/undefined/undefined-3/undefined/mediun.md)
- [01. Absolute](https://simian114.gitbook.io/blog/undefined/undefined-3/undefined/mediun/01.-absolute.md)
- [Firebase](https://simian114.gitbook.io/blog/undefined/firebase.md)
- [파이어스토어 규칙](https://simian114.gitbook.io/blog/undefined/firebase/undefined.md)
- [기타](https://simian114.gitbook.io/blog/undefined/undefined.md)
- [협업 프로세스](https://simian114.gitbook.io/blog/undefined/undefined/undefined-2.md): 협업을 어떻게 진행할지에 대해 정리한다.
- [UUID](https://simian114.gitbook.io/blog/undefined/undefined/uuid.md)
- [구글애널리틱스 설치하기](https://simian114.gitbook.io/blog/undefined/undefined/undefined-1.md)
- [드림코딩 강의](https://simian114.gitbook.io/blog/undefined/undefined/undefined.md)
- [포트폴리오](https://simian114.gitbook.io/blog/undefined/undefined/undefined/undefined-1.md)
- [CSS](https://simian114.gitbook.io/blog/undefined/undefined/undefined/undefined-1/css-1.md)
- [nth-child](https://simian114.gitbook.io/blog/undefined/undefined/undefined/undefined-1/css-1/nth-child.md)
- [CSS 팁](https://simian114.gitbook.io/blog/undefined/undefined/undefined/undefined-1/css-1/css.md)
- [자바스크립트](https://simian114.gitbook.io/blog/undefined/undefined/undefined/undefined-1/undefined.md)
- [1. 스크롤에 따른 navbar 의 색 변경하기](https://simian114.gitbook.io/blog/undefined/undefined/undefined/undefined-1/undefined/1.-navbar.md)
- [2. navbar 버튼을 누르면 해당 페이지로 스크롤링 되게 만들자](https://simian114.gitbook.io/blog/undefined/undefined/undefined/undefined-1/undefined/untitled.md)
- [3. 스크롤 다운 하면 arrow-up 버튼 나오게 하기](https://simian114.gitbook.io/blog/undefined/undefined/undefined/undefined-1/undefined/arrow-up.md)
- [4. project 필터링 구현](https://simian114.gitbook.io/blog/undefined/undefined/undefined/undefined-1/undefined/4.-project.md)
- [5. project 필터링에 transition 효과 넣기](https://simian114.gitbook.io/blog/undefined/undefined/undefined/undefined-1/undefined/5.-project-transition.md)
- [GIT](https://simian114.gitbook.io/blog/undefined/undefined/git.md)
- [기본 사용법 정리](https://simian114.gitbook.io/blog/undefined/undefined/git/undefined.md)
- [git remote update - remote 브랜치 가져오기](https://simian114.gitbook.io/blog/undefined/undefined/git/git-remote-update-remote.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://simian114.gitbook.io/blog/undefined.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
