GithubHelp home page GithubHelp logo

kettanaito / kettanaito.com Goto Github PK

View Code? Open in Web Editor NEW
48.0 3.0 12.0 26.97 MB

@kettanaito's personal blog.

Home Page: https://redd.one

JavaScript 0.31% CSS 2.54% TypeScript 25.40% MDX 71.75%
blog software engineering redd publications writing

kettanaito.com's People

Contributors

adrian-cg avatar dandelionadia avatar kettanaito avatar seanmcp avatar vicsantizo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

kettanaito.com's Issues

Post: Debugging CircleCI jobs using SSH

  • the worst issues are those you don’t know how to reproduce
  • it takes me about 30 failed workflows in average to figure out what’s wrong
  • show the way to debug a remote CI machine using SSH
  • advice to tarball a directory and send it over to local machine via scp

MVP

  • Use optimized images
  • Add image embedding support to post detail
  • Fix code snippets highlighting in post detail
  • Integrate MDX
  • Integrate code snippets component with highlighting (Prisma?)
  • Add ability to save article to bookmark
  • Support adding to homepage (PWA)
  • Add Google Analytics
  • Add Privacy policy
  • Add contact details
  • Fix responsive layout of single post meta data (category, date)
  • Add "You may also like" section after each post detail
  • Add "/legacy-browser" page to discourage IE usage (website will be broken on IE)
  • Fix favicon used for PWA on mobile devices - use rect icon instead of a cirle
  • Share widget: Make more prominent

Content

  • Migrate existing content
  • Ensure proper og:image set for social sharing for pages and posts

Post: Why you should be skeptical about "don't use X"

  • People often preach about discouraging certain APIs (don't use for, don't chain .map().filter())
  • Those points often miss the context, leading people to believe the API itself is bad.

It's not. All APIs and patterns have a place to be. While this article would state what appears obvious things, "obvious" is relative, and I believe this kind of pragmatic thinking is something people should write more often about.

Improvements

Appearance

  • Support night theme
  • Redesign homepage, highlight the latest post, make other posts minified
  • Support pagination of posts

Post: Testing by usage examples

Showcase practical applications of "test based on usage" approach. I've used this pattern in multiple projects, and I can only say incredible things about it. A few reasons why one should consider adopting this pattern:

  • Determines proper concerns and scope of a test.
  • Focuses on the usage scenario, ensuring it doesn't have test-related things.
  • Effectively, you write both usage scenario (shareable publicly) and a test (confirming that usage actually works).

Post: CircleCI workflows for npm packages

  • What is CircleCI
  • How to take advantage of CircleCI workflows and parallel jobs
  • Show example of config.yml
  • How to boostrap project in one job, and execute the next jobs on already bootstrapped environment (storing cache node_modules)

Typo in the word through

In the article about typescript

in the following sentence:

I dare consider myself proficient with the language, having gone thourgh my share of type gymnastics, conditional types, nested generics

You misspelt thourgh through

Nice article by the way!

Comprehensive guide to writing a webpack plugin

Painpoints

  • How to work with compiler.parser.hooks API?
  • How to replace an identifier/expression in the app via the Parser API?
  • How to programmatically create an asset from within a plugin? (compiler.assets[n] = { source, length }).

bottom "like" button is broken

When I press a hard reload button then I see that the bottom "like" button shows that I do not have my "like" even if I did like it on the top "like" button.
image

Post: Bundling your library to be tree-shakable

Why

Not as easy as it seems. Webpack doesn't support ESM bundling just yet. Tree shaking is more or less clear when you are a consumer, but what about when you are a producer of packages?

Resources

  • Take a look at how Ramda is bundled, it's god-like

Post: Performance issues you don't need to fix

Performance concern is essential. However, people often dive into pre-mature performance-based decisions without a) monitoring, b) assessing the problem, c) solving the issue on the proper level.

This topic has been inspired by a Twitter discussion, where the usage of .map().filter() was stated as "harmful". One of the argumentations was performance. I find this statement farfetched and misleading. I generally see a lot of the idea that "X is better than Y" for performance on the Internet. I wish to dispel the myth that one/two/ten small API decisions are crucial for performance. It's not.

First, I'd like to speak about 2 types of performance:

  1. Architectural performance.
  2. Runtime performance. Affected by infrastructure, caching, CDN, transfer protocol, and then front-end build quality (compression, dead code elimination), and only then if you write the code effectively (and even then it's not about low-level API anyway, but rather about architectural decisions).

Key points I wish to convey:

  1. Don't optimize for performance if you don't have an issue.
  2. Don't think that for is faster than .map. Don't trust synthetic performance benchmarks. Trust in O(n).
  3. Suggestions what does affect performance, and how you can make safe decisions without limiting yourself, or creating pointless obscure guidelines.
  4. Choices like for vs map may have an effect when processing huge (and I mean HUGE) data. Be honest with yourself: are you processing such data? Then don't expect that choice to have any effect on your performance.

Quotes

If it's not broken, don't fix it.

Assuming that front-end is the reason for poor performance is like assuming a dash panel to be the cause of a slow vehicle. Just because front-end is the primary surface of experiencing the issue, doesn't mean it is the issue.

Basing your coding style and API choices around performance is, well, bad.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.