Skip to content

Instantly share code, notes, and snippets.

View pocojang's full-sized avatar
🐢

Poco pocojang

🐢
View GitHub Profile
@pocojang
pocojang / 2023-05-21-2016-to-2023-fe.md
Last active March 20, 2024 08:13
2016년에 FE를 배우는 기분, 2023년에 FE를 배우는 기분

시작하며

요즘 따라 과거 유행했던 2016년에 자바스크립트를 배우는 기분이라는 글이 떠오른다.
그때는 꼬꼬마 신입 개발자였고 어차피 글을 봐도 아무런 내용도 이해할 수 없었고 오히여 외계어에 가깝게 보였었는데 요즘은 얼추 아.. 이런 시절이 있었구나 새삼 많은 생각이 든다.

현재 2023년이 된 지금 프론트엔드 개발자를 꿈꾸는 어린 학생들도 신입 개발자들도 정말 많아졌다.
그들과 비교하면 난 먼저 시작한게 전부인데 조금은 더 쉽게 시작한게 아닐까 항상 반성하게 된다. 이 글로 그간 느꼈던 시대의 변화를 작성하고 한번 정리해보고자 한다.

>연대 별 타임라인을 목차로 이 글을 작성했으며 기술 수준이나 시기의 어긋남이 있을 수는 있습니다.

@pocojang
pocojang / dom_performance_reflow_repaint.md
Created April 28, 2022 12:43 — forked from faressoft/dom_performance_reflow_repaint.md
DOM Performance (Reflow & Repaint) (Summary)

DOM Performance

Rendering

  • How the browser renders the document
    • Receives the data (bytes) from the server.
    • Parses and converts into tokens (<, TagName, Attribute, AttributeValue, >).
    • Turns tokens into nodes.
    • Turns nodes into the DOM tree.
  • Builds CSSOM tree from the css rules.
@pocojang
pocojang / .eslintignore
Created October 27, 2020 06:31 — forked from RyanHirsch/.eslintignore
Typescript + Jest + ESLint + Tailwind
.next
__generated__
@pocojang
pocojang / React-Hooks.js
Created June 5, 2020 07:20 — forked from craigtaub/React-Hooks.js
Nested React Hooks
// Engine
const React = {
index: 0,
state: [],
useEffect: (callback, dependencies) => {
const cachedIndex = React.index;
const hasChanged = dependencies !== React.state[cachedIndex];
if (dependencies === undefined || hasChanged) {
callback();
@pocojang
pocojang / README-Template.md
Created February 16, 2020 07:15 — forked from PurpleBooth/README-Template.md
A template to make good README.md

Project Title

One Paragraph of project description goes here

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

@pocojang
pocojang / reactHoc.js
Created December 20, 2019 09:31
React HOC 컴포넌트
const Foo = ({ result }) => <ResultComponent result={result} />;
const withRequest = BaseComponent => ({ bar, ...props }) => {
const { result, loading, error } = useRequest(bar);
return (
<BaseComponent {...props} result={result} loading={loading} error={error} />
);
};
const withError = branch(({ error }) => error, ErrorComponent);
const withLoading = branch(({ loading }) => loading, LoadingComponent);
export default compose(
@pocojang
pocojang / useDetectScrollEnd.js
Created June 28, 2019 01:54 — forked from almond-bongbong/useDetectScrollEnd.js
custom hook for detecting scroll end
import { useState, useRef, useEffect, useCallback } from 'react';
import throttle from 'lodash/throttle';
const useDetectScrollEnd = (endPercent = 0.9) => {
const scrollEnded = useRef(false);
const [isScrollEnd, setIsScrollEnd] = useState(false);
const handleScroll = useCallback(throttle(() => {
const { scrollY, innerHeight } = window;
const scrollPercent = (scrollY + innerHeight) / document.body.scrollHeight;
@pocojang
pocojang / config.json
Created August 12, 2018 05:39
vscode config
{
"editor.detectIndentation": false,
"editor.tabSize": 2,
"editor.fontFamily": "d2coding ligature",
"editor.fontLigatures": true,
"editor.fontSize": 16,
"editor.formatOnSave": true,
"editor.formatOnPaste": true,
"editor.formatOnType": false,
"editor.insertSpaces": true,