"Me" - 37 yo Senior JavaScript Developer in Atlassian, father of 3 boys and one Maine-Coon cat, plus active Open Source contributor.
Sometimes it's good to take a look back, and recall what you have done. Today I would try to remember all the things I've created past year, almost like I just did for my performance review at the work, but related to open source this time. Only about the stuff you might be interested in.
Why today? Well, it's my birthday!
- period: 9 August 2018 -> 9 August 2019
- 26 articles, 4 are not technical - an article every two weeks
- 1618 commits - 4 commits per day!
- 92 PRs and 124 issues created
- ~20 new projects, 161 total
August 80 commits in 19 repos
- replaced gaearon/react-side-effect by theKashey/react-clientside-effect to make my "singleton" components, like react-focus-lock more SSR-friendly, and more lightweight.
- team up-ed with react-powerplug. An awesome headless state containers, which were the hooks for be before the hooks. I saved so much time!
- created react-push-channel to solve "Helmet" rendering for async SSR. Basically that's a callbacks in a declarative form.
π Articles
Article introducing partial hydration and progressive code splitting - react-imported-component and react-prerendered-component I've created a bit before.
https://medium.com/@antonkorzunov/react-server-side-code-splitting-made-again-a61f8cbbd64b
Case study for react-remock and it's usage with shallow/mount testing. An easy way to handle render props and sugar.
https://medium.com/hackernoon/why-i-always-use-shallow-rendering-a3a50da60942
My first π· blog post - one day of my life in beautiful Australia :)
https://medium.com/@antonkorzunov/one-day-of-a-js-developer-in-sydney-from-50mm-1-8-0-3ev-point-of-view-5a65aa081905
My testament for Redux. You probably need it.
https://codeburst.io/you-probably-need-redux-e0c49ab4d98f
September 112 commits to 24 repos
- jumped into React/Redux/Context optimisations. Take aways are with-known-usage - a simple object keys usage tracker and react-event-horizon - just a declarative event suspender.
- published plimited - a small promised based connection pool I've created to control Puppeteer for our needs. Haven't seen anything more usable since then. > "Connection Pool quiz" was a common question in our technical interviews. A saw a few dozen times how interviewees were trying to implement it in 10 minutes, and spent a few days to do the same.
π Articles
What is immutability and why do you need it?
https://itnext.io/immutable-vs-immutable-js-d524bf515bcd
October 115 commits to 27 repos
- created runtime-compress-loader to remove burden of babel(or ts) helpers inlined into the every file. Result is a smaller bundle size, and hotter (faster) code!
- created jsx-compress-loader to replace all calls to
React.createElement
by$JSX$
. Result is a smaller bundle size and a bit better runtime performance. - created react-shallow-context shallow React.Context, which is a good solution to a few common Context related problems
- also created a very useful react-event-injector to passive (or aggressive) events. And never used since then.
- extracted aria-hidden code from reach-ui/smooth-ui to... aria-hidden.
- opened React RFC about controlled type comparison. All hot-reloading today is working literally on that principle.
π Articles
A "mocking" way to do your SSR better. Or just possible. Everything I know about dependency, and module management.
https://medium.com/hackernoon/ssr-dependency-mocking-is-the-answer-d8d8c371aa94
November 141 commit in 18 repos
- no new projects :)
π Articles
Using rewiremock
and react-remock
to control your storybook. Because you can, not because you should.
https://medium.com/@antonkorzunov/rewrite-a-storybook-ae4682176cc3
December 106 commits in 20 repos
and no new projects again
π JOINED DEV TO π
π Articles
React-Hot-Loader 4.6 was a big step forward(as I thought these days).
Testing Finite React Components. My main approach for designing since then.
January 102 commits in 20 repos
- created react-remove-scroll as a smaller version of react-scroll-locky. Created not for fun, but for
reach-ui
.
February 83 commits in 11 repos
- created devolution - a babel for your bundle. A super easy (and very fast) way to ship modern and legacy bundles, as well as use es6 in node_modules.
- created used-styles, a tool to extract, well, used styled during SSR process. One more issue to solve and it would be awesome!
March 107 commits in 24 repos
- created kashe, as weak map based memoization library.
- popularised multiple-entry-points-example pattern to ship :) multiple entry points.
π Articles
Mocking is a powerful pattern, here is why:
https://medium.com/@antonkorzunov/a-javascript-mocking-case-65f67ab9f6d2
Overview of all client side and server-side code splitting solutions.
π‘ React Code Splitting in 2019
Anton Korzunov γ» Mar 19 '19
CSS properly ordering could be hard, and there is a simple way, or let's call it a pattern, to fix it.
April 86 commits in 16 repos
- tried to created useReselect - a
kashe
powered version ofreselect
. - with help of my friend Dai-Shi made proxyequal
O(logn)
times faster.
π Articles
Super fast synchronous client/server side cache for React components.
Modern memoization is a hard thing. A big case study about it.
Memoization Forget-Me-Bomb
Anton Korzunov γ» Apr 1 '19
Object key usage based memoization (like MobX) testimonial.
How I wrote the worldβs fastest memoization library
Anton Korzunov γ» Apr 16 '19
Why sinon
and proxyquire
are bad, and why rewiremock
is slightly better.
Please, stop playing with proxyquire
Anton Korzunov γ» Apr 29 '19
May 103 commits in 20 repos
- published sidecar pattern
- open sourced my-sql-files - mysql-based small file storage
- and made rewiremock ESM compatible
π Articles
The SideCar (Batman/Robin as I called it) code splitting pattern
https://dev.to/thekashey/sidecar-for-a-code-splitting-1o8g
Using react-remock
to make snapshot testing more bearable
A single example how browser-driven "html state" could replace js-driven "component state".
June 153 commits in 17 repos
- created use-callback-ref. Should be in react standards!
- fixed size-limit a bit
- used
sidecar
to make react-focus-lock and friends at least twice smaller.
π Articles
createRef
, useRef
, too many refs, and all are different. useCallbackRef
this time.
π· Report from React Sydney
https://medium.com/@antonkorzunov/reactsydney-june-19-50mm-49de33daed8b
π· Report from SydJS
https://medium.com/@antonkorzunov/sydjs-jun-2019-aws-showcase-93265e4d0e10
July 115 commits in 17 repos
- no new (interesting) projects
π Articles
A never-endingβ article about fighting complexity we created for ourselves.
There are no such things as unit and integration tests. It requirement and implementation tests.
Prefer Integration Tests? Think twice
Anton Korzunov γ» Jul 29 '19
π· Report from React Sydney
https://medium.com/@antonkorzunov/react-sydney-45-1d52c061a3a5
August
- πΊ
π· Report from React Sydney
https://medium.com/@antonkorzunov/react-sydney-46-bfe5fa4fc658
Top comments (3)
Hey, would you be willing to help pioneer a new tag, Anton? There's a lot of awesome posts like this, but they don't exactly relate to
#opensource
, so the various tag mods have been discussing the idea of a#devjournal
tag. Would you be willing to adddevjournal
to this post's tags, to start that off? That would be awesome.I have a question? how much time you invest everyday for coding? Its surprise to see 4 commits per day. I think its difficult to see people like you :-) great!!! keep the good work going!
Well... 8 hours at work, 2 hours during the commute, at least one hour at home.