Skip to content

Instantly share code, notes, and snippets.

View ApolloTang's full-sized avatar
🏠
Working from home

Apollo Tang ApolloTang

🏠
Working from home
  • Toronto Canada
View GitHub Profile
@sebmarkbage
sebmarkbage / The Rules.md
Last active April 12, 2025 17:55
The Rules of React

The Rules of React

All libraries have subtle rules that you have to follow for them to work well. Often these are implied and undocumented rules that you have to learn as you go. This is an attempt to document the rules of React renders. Ideally a type system could enforce it.

What Functions Are "Pure"?

A number of methods in React are assumed to be "pure".

On classes that's the constructor, getDerivedStateFromProps, shouldComponentUpdate and render.

@chronitis
chronitis / jupyter_kernel_list.md
Last active February 20, 2025 20:06
Updated Jupyter Kernels page

What is a kernel?

The kernel lets you run code in a particular programming language using one of the Jupyter tools, such as the Notebook, Jupyterlab or nteract. Installing additional kernels will let you run code in more languages using your existing jupyter installation.

Technically, the kernel is an application which speaks the Jupyter Messaging Protocol, to receive code input from the frontend and respond with the results.

Which kernels do I have installed?

In the Notebook or JupyterLab, the list of available kernels will be shown when trying to create a new notebook.

Pipenv Crash Course

  • pipenv is a virtual environment creating tool(like venv), which ships with its own package manager(like pip).

  • It is similar to conda(Anaconda), cz it creates environment related files in a default location (for example, /home/<user_name>/.local/share/virtualenvs/ in Unix). But the latter is used in Data Science and ML.

  • It creates Pipfile(TOML) and Pipfile.lock(JSON) files. The former is like a replacement to requirements.txt. The latter is for consistent and deterministic builds, mostly for other developers to install the exact versions.

  • pipenv automatically identifies files like .env, requirements.txt, .flaskenv etc.

@tykurtz
tykurtz / grokking_to_leetcode.md
Last active May 5, 2025 04:14
Grokking the coding interview equivalent leetcode problems

GROKKING NOTES

I liked the way Grokking the coding interview organized problems into learnable patterns. However, the course is expensive and the majority of the time the problems are copy-pasted from leetcode. As the explanations on leetcode are usually just as good, the course really boils down to being a glorified curated list of leetcode problems.

So below I made a list of leetcode problems that are as close to grokking problems as possible.

Pattern: Sliding Window

@sindresorhus
sindresorhus / esm-package.md
Last active May 6, 2025 22:41
Pure ESM package

Pure ESM package

The package that linked you here is now pure ESM. It cannot be require()'d from CommonJS.

This means you have the following choices:

  1. Use ESM yourself. (preferred)
    Use import foo from 'foo' instead of const foo = require('foo') to import the package. You also need to put "type": "module" in your package.json and more. Follow the below guide.
  2. If the package is used in an async context, you could use await import(…) from CommonJS instead of require(…).
  3. Stay on the existing version of the package until you can move to ESM.