토스, 이소영님의 이야기
베어로보틱스 염재현님의 이야기
기존의 코드를 돌아보는 것은 자신을 위한 코드 리뷰이자 가치 있는 행동이다.
불필요한 코드는 기능보다 더 많은 비용을 만든다 — 만들지 말고, 제거하라.
Class 문법 기초
적은 코드가 더 나은 소프트웨어를 만든다. 삭제는 종종 최고의 개선이다.
얕은 복사와 깊은 복사의 개념과 방법
재귀 패턴 연습 문제 1
Radix Sort의 원리와 JavaScript 구현
좋은 코드란 올바르게 작동하며, 의도가 드러나며 유지 보수가 가능하고 정확해 협업하기 좋은 코드다.
보기 좋은 코드가 아니라, 읽기 쉬운 코드가 협업에 힘을 실어준다.
퀵 정렬의 원리와 JavaScript 구현
기본 정렬 알고리즘들의 시간 복잡도 및 공간 복잡도
병합 정렬의 원리와 JavaScript 구현
Insertion Sort 알고리즘의 원리와 자바스크립트 구현
Selection Sort 알고리즘의 원리와 자바스크립트 구현
Bubble Sort 알고리즘의 원리와 자바스크립트 구현
선형 검색, 이진 검색 알고리즘 구현하기
함수 내에서 자기 자신을 호출하는 방식으로 문제를 해결하는 재귀
문제를 더 작은 단위로 나눈 뒤, 그 하위 문제들을 해결해 전체 문제를 푸는, 검색·정렬 알고리즘에서 자주 사용되는 패턴
배열이나 문자열의 연속된 구간(슬라이딩 윈도우)을 움직이며 최적의 부분합이나 조건을 만족하는 구간을 찾는 알고리즘 패턴
데이터의 등장 빈도를 객체나 Map, Set 등의 자료 구조를 활용해 기록하고 비교하는 방식의 문제 해결 패턴
서로 다른 위치에서 시작한 두 개 이상의 포인터를 조건에 따라 이동시키며 문제를 해결하는 패턴
알고리즘 작성을 위한 계획 수립하기
자바스크립트 객체와 배열의 데이터에 접근, 추가, 제거, 검색, 메소드 사용에 따른 성능 비교
알고리즘의 성능을 평가하는 Big O 표기법
Postgres를 사용하는 앱의 테스트 기법
Prepared Statement로 보안 취약점 해결하기
모듈 시스템과 번들러의 역사
API를 통해 Postgres 데이터 접근하기
Repository 패턴으로 데이터에 접근하기
데이터를 옮기는 올바른 절차
고령자들을 타게팅한다면 주의해야할 디자인 요소들
Migration File을 통해 데이터베이스 구조를 변경하기
사람마다 다른 디지털 문해력에 대처하는 것이 좋은 디자인이다.
자주 사용되고 비싼 쿼리지만 업데이트 주기가 길 때 쓰는 Materialized View
만들어두면 언제든 쓸 수 있는 가상 테이블인 View
여러 쿼리가 모두 실행되게 보장해주는 Transaction
쿼리 가독성을 늘려주기도, 재귀적 쿼리 실행에 쓰이기도 하는 CTE
Cost의 개념
PostgreSQL의 쿼리 분석과 실행 계획 수립을 EXPLAIN을 통해 확인하기
인덱스가 디스크와 메모리에서 어떻게 구성되고 동작하는지
포스트그레스에서 데이터를 어디에 저장하는지
쿼리 성능을 개선하는 Index
디자인에서 접근성의 중요성
디자인에 영원한 것은 없으며, 디자인의 영속성, 작업의 품질 등과는 전혀 관련 없이 변경될 수 있음을 받아들여야 한다.
디자인한 데이터베이스 스키마를 실제 데이터베이스로 옮기기
디자인한 데이터베이스 스키마에서 쿼리 조회하기
해시태그 시스템 및 팔로우 시스템 추가하기
멘션(태그) 시스템 추가하기
좋아요 시스템 추가하기
데이터베이스 구조를 도식으로 그리게 도와주는 스키마 디자이너
디지털 시대의 중요한 핵심 기술, 아이디어 및 문제점들
디지털 시대의 프라이버시, 보안, 암호 기술의 원리와 중요성
사용성을 실제로 적용하기
웹사이트가 예의를 지켜야 하는 이유
여러분이 마쳤다고 생각할 때 고양이가 등에 묶인 버터 토스트 때문에 공중부양한다
여러 번 해도 부담없는 간단한 사용성 평가 방법
21새가애 온 것을 환영합니다 - 약간의 현기증을 느끼실 지도 모릅니다
사용자와 처음부터 좋은 관계를 맺는 게 중요하다
사용성에 대한 토론이 시간만 낭비하고 끝나는 이유와 방지 대책
웹의 개념과 주요 구성 요소 및 보안 관련 위험들
인터넷의 구성요소들과 작동 원리
네트워크의 속성들과 주요 개념 및 발전 과정
Suspense 영역에 업데이트가 발생하여 생긴 하이드레이션 문제 해결
자바스크립트와 파이썬으로 알아보는 프로그래밍 언어의 주요 개념
사용자는 웹페이지의 가치를 10초만에 파악하지 못하면 떠나버린다.
유저의 입력에 빠르게 반응하고, 그러지 못할 경우는 얼마나 더 기다려야하는지 알려라.
사용자가 신중해야하는 상호작용에는 마찰을 넣어야한다.
JavaScript에서 null과 undefined의 정의와 차이
기능과 개성 모두를 살리는 맥시멀리즘
복잡한 작업을 요구하는 인터페이스에서는 단순함이 중요하다.
서열 위치 효과
중요한 정보를 강조하거나, 경쟁이 심한 시장에서 영향력을 발휘할 제품을 만들려면 일단 달라야한다.
제품이 아름다울수록 사람들은 제품이 더 잘 작동한다고 생각하며, 제품에 보다 관대해진다.
Liinks의 창업자 Charlie Clark의 이야기
사진, 일러스트, 아이콘 등을 피그마 플러그인을 이용해 디자인에 활용하기
폰트의 종류 및 프로젝트에 적합한 폰트 선정하기
소리내어 읽었을때도 자연스러운 명확한 카피가 좋은 UX 디자인의 큰 부분을 차지한다.
좋은 시각적 메타포는 멘탈 모델을 통해 보다 깊은 인상을 남기고 공감대를 형성할 수 있게 돕는다.
컬러 선정과 피그마에서의 컬러 작업
사람들을 고의로 속이기 위해 디자인된 Dark Pattern들
예상치 못한 기능을 제공하고, 사람들을 몰입의 상태로 이끌어라
피그마에서 그리드 작업하기
운영체제의 역사 및 역할
좋은 디자인은 사용성이 좋은 디자인이며, UI 디자인은 사용성의 성패를 결정한다
사용자가 필요로 하는 것에 헌신적으로 귀를 기울여라
UX와 UI는 서로 다른 영역이지만, 처음부터 끝까지 긴밀한 협력이 필요하다
Amplifier(VCA)
Effect
Envelopes(ADSR)
Filters(VCF)
Low Frequency Oscillators(LFOs)
Oscillator(VCO)
Sound Design
Feedback 받기
Prototype 만들기
Wireframes 만들기
신디사이저의 작동 원리
브라우저 렌더링 원리에 관하여
Web Audio API의 시계와 JavaScript의 시계
Component 만들고 Variant로 관리하기
Debounce와 Throttle의 차이
Web Audio API 입문: AudioContext와 Audio Graph의 이해
PostgreSQL의 데이터 타입
데이터 단위 제약을 설정해 데이터 무결성 보장하기
중복값을 없애는 DISTINCT 키워드
WHERE로 데이터를 필터링하기
PostgreSQL의 의미와 데이터 삽입, 조회 및 기본 연산
Postgres Admin으로 PostgreSQL 관리
SQL문을 중첩시켜 보다 복잡한 조건이나 값을 계산할 수 있는 서브쿼리
GREATEST, LEAST와 CASE의 사용법
데이터 정렬 및 페이지 단위로 나누어 제공하기
UNION과 Set Operator(집합 연산자)를 활용해 복잡한 조건 조합한 쿼리 만들기
GROUP BY와 집계 함수를 통해 많은 데이터를 그룹으로 묶고 요약된 정보를 얻을 수 있다.
프로그래밍에 관하여
디자인을 위한 영감 얻기
데이터베이스의 다양한 관계들 및 연결하기
프로세서
디지털의 의미와 디지털화의 원리, 그리고 컴퓨터가 비트를 사용하는 이유
Shopify가 일하는 방식
컴퓨터 하드웨어의 구성 요소와 기능에 관하여
알고리즘에 관하여
JavaScript에서 Binary Data를 다루기 위한 객체인 Blob과 ArrayBuffer