awesome-practical-posts icon indicating copy to clipboard operation
awesome-practical-posts copied to clipboard

I sum up the articles of tech blogs and share that.

Purpose

  • 2021.07.15. From now on, I'll not sum-up because of no time to describe.
  • 2021.01.07. I am going to share Posts are grouped by date that I read.
  • 2020.11.22. I am going to share posts I read with summary.

2022.02.21. ~

Principle

  • https://www.chromium.org/developers/core-principles/

Web

  • https://chromium.googlesource.com/chromium/src/+/main/docs/idn.md

Analytics

  • https://understandlegacycode.com/blog/demine-codebase-with-exploratory-refactoring/
  • https://css-tricks.com/send-an-http-request-on-page-exit/
  • https://nickcraver.com/blog/2013/11/22/what-it-takes-to-run-stack-overflow/

Ruby

  • https://www.reddit.com/r/rails/comments/txny1b/what_are_the_best_resources_out_there_to_learn/
  • https://nts.strzibny.name/gem-compare-1.0/

Project

  • https://www.atlassian.com/blog/productivity/how-to-write-smart-goals

Web Accessibility

  • https://www.craigabbott.co.uk/blog/using-the-language-attribute-to-make-your-website-accessible

2022.01.07. ~

Security

  • https://incolumitas.com/2016/06/08/typosquatting-package-managers/
  • https://shopify.engineering/fixing-dependency-confusion-ruby-applications

Test

  • https://testing.googleblog.com/2021/04/mutation-testing.html
  • https://testing.googleblog.com/2021/06/how-much-testing-is-enough.html

Interview

  • https://www.quora.com/What-is-the-hardest-thing-about-hiring-programmers/answer/John-Byrd-2?ch=10&oid=70250852&share=975c4ec0&target_type=answer

Event Streaming

  • https://itnext.io/contrasting-nats-with-apache-kafka-1d3bdb9aa767

Scaling Productivity

  • https://eng.lyft.com/scaling-productivity-on-microservices-at-lyft-part-1-a2f5d9a77813
  • https://eng.lyft.com/scaling-productivity-on-microservices-at-lyft-part-2-optimizing-for-fast-local-development-9f27a98b47ee

Ruby

  • https://www.speedshop.co/2020/05/11/the-ruby-gvl-and-scaling.html
  • https://www.bootrails.com/blog/ruby-strftime-short-and-long-story/

Front-end

  • https://joshcollinsworth.com/blog/introducing-svelte-comparing-with-react-vue

Css

  • https://www.aleksandrhovhannisyan.com/blog/writing-better-css/
  • https://web.dev/css-is-and-where/
  • https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity

2021.11.01. ~

Rails Tips

  • https://macarthur.me/posts/conditionally-rendering-templates-in-rails
  • https://www.hexdevs.com/posts/learn-ruby-best-practices-with-one-exercise/
  • https://rubyreferences.github.io/rubychanges/3.0.html
  • about update
    • https://www.ruby-lang.org/en/news/2021/12/25/ruby-3-1-0-released/
    • https://gettalong.org/blog/2021/benchmarking-rubies.html
    • https://twitter.com/yahonda/status/1474289305158053893?t=o0YoDiudxQo5XntX7XWHGw&s=19
  • csv
    • https://simpl1g.medium.com/handling-big-data-in-ruby-405111397d28

Distributed System

  • https://aws.amazon.com/builders-library/avoiding-fallback-in-distributed-systems/
  • https://medium.com/google-cloud/understand-cloud-load-balancer-like-a-senior-engineer-d4f55f3111fc
  • https://zonito.medium.com/everything-about-load-balancer-with-cheat-sheet-64b351f0f7b3

Performance

  • https://brunosutic.com/blog/async-ruby
  • https://blog.peterzhu.ca/ruby-memcheck/
  • https://instagram-engineering.com/dismissing-python-garbage-collection-at-instagram-4dca40b29172

Inspection

  • https://dougseven.com/2014/04/17/knightmare-a-devops-cautionary-tale/
  • https://developer.chrome.com/docs/devtools/recorder/
  • https://www.hexdevs.com/posts/code-quality-ruby-on-rails/#rails-code-quality-checklist

Upgrade

  • https://engineering.skroutz.gr/blog/monolith-diaries-upgrading-rails/#working-for-the-upgrade

Etc

  • https://dev.to/vitaliipaprotskyi/what-does-class-self-actually-do-in-ruby-2on1
  • https://betterprogramming.pub/avoiding-premature-software-abstractions-8ba2e990930a
  • https://www.figma.com/blog/realtime-editing-of-ordered-sequences/
  • https://v8.dev/features/top-level-await
  • https://daedtech.com/how-developers-stop-learning-rise-of-the-expert-beginner/
  • https://daedtech.com/how-software-groups-rot-legacy-of-the-expert-beginner/
  • https://blog.codinghorror.com/we-hire-the-best-just-like-everyone-else/
  • https://csstracking.dev/
  • https://nystudio107.com/blog/the-css-background-image-property-as-an-anti-pattern

2021.09.01. ~

  • https://nakabonne.dev/posts/depth-of-module/

Ruby upgrade guide

  • https://juanitofatas.com/ruby-3-keyword-arguments

Tips for PS

  • https://codeforces.com/blog/entry/57729

Rewrite legacy systems with no downtime

  • https://shopify.engineering/how-shopify-reduced-storefront-response-times-rewrite

Caching strategy

  • https://shopify.engineering/shop-app-custom-caching-solution

SOLID

  • https://blog.cleancoder.com/uncle-bob/2014/05/08/SingleReponsibilityPrinciple.html
  • https://sites.google.com/site/unclebobconsultingllc/getting-a-solid-start

Maximize developer productivity

  • https://shopify.engineering/deconstructing-monolith-designing-software-maximizes-developer-productivity
  • https://shopify.engineering/shopify-monolith
  • https://thoughtbot.com/blog/rubocop-custom-cops-for-custom-needs

Rails upgrade guide

  • https://shopify.engineering/upgrading-shopify-to-rails-5-0
  • https://shopify.engineering/living-on-the-edge-of-rails

Ruby internals

  • https://blog.peterzhu.ca/ruby-str-mem-leak/

Code smell

  • https://www.codewithjason.com/bloated-rails-active-record-models/
  • https://www.codewithjason.com/used-intelligently-rails-concerns-great/
  • https://signalvnoise.com/posts/3372-put-chubby-models-on-a-diet-with-concerns

To optimize performance for analytics

  • https://towardsdatascience.com/stop-using-csvs-for-storage-this-file-format-is-150-times-faster-158bd322074e

Software Test

  • https://www.guru99.com/mutation-testing.html

Package Design Principle

  • https://devlead.io/DevTips/StableDependenciesPrinciple
  • https://ganghee-lee.tistory.com/21

Software Architecture

  • https://karandhillon95.medium.com/the-morning-after-syndrome-4e49096156ed
  • http://blog.cleancoder.com/uncle-bob/2020/10/18/Solid-Relevance.html

Philosophy of Software Design Series

  • https://csruiliu.github.io/blog/20201115-a-philosophy-of-software-design-I/
  • https://csruiliu.github.io/blog/20201218-a-philosophy-of-software-design-II/
  • https://csruiliu.github.io/blog/20201221-a-philosophy-of-software-design-III/
  • https://csruiliu.github.io/blog/20201222-a-philosophy-of-software-design-IV/

2021.07.27. ~

  • https://azeynalli1990.medium.com/software-architecture-cheat-sheet-for-daily-usage-9923922ea75b
  • https://eng.uber.com/postgres-to-mysql-migration/
  • https://semaphoreci.com/blog/what-is-canary-deployment
  • https://www.mail-archive.com/[email protected]/msg86235.html
  • https://www.codeproject.com/Tips/1080308/An-Introduction-to-Integer-Compression
  • https://www.nngroup.com/articles/response-times-3-important-limits/
  • https://sorbet.org/blog/2021/07/30/open-sourcing-sorbet-compiler
  • https://blog.nelhage.com/post/reflections-on-performance/
  • https://mysqlserverteam.com/mysql-8-0-retiring-support-for-the-query-cache/
  • https://www.mongodb.com/blog/post/what-about-durability
  • https://en.wikipedia.org/wiki/CAP_theorem
  • https://codahale.com/you-cant-sacrifice-partition-tolerance/
  • https://www.programmersought.com/article/97893470229/
  • https://debugged.it/blog/cap-theorem/
  • https://mariadb.com/kb/en/query-cache/#limitations
  • https://www.logianalytics.com/5-benefits-3-tier-architecture/
  • https://www.infoq.com/articles/cap-twelve-years-later-how-the-rules-have-changed/
  • https://stackoverflow.com/a/59637676
  • http://codebetter.com/gregyoung/2010/02/16/cqrs-task-based-uis-event-sourcing-agh
  • https://martinfowler.com/bliki/CQRS.html
  • https://markgreville.ie/2021/07/23/technical-debt-is-not-debt-its-not-even-technical
  • https://nl.devoteam.com/expert-view/monitoring-driven-development-are-you-making-money
  • https://world.hey.com/jorge/making-rails-run-just-a-few-tests-faster-2c82dc4b
  • https://www.bigbinary.com/blog/rails-6-adds-parallel-testing

2021.07.15. ~

  • https://gungor.github.io/article/2021/05/02/tdd-outsidein-vs-insideout.html
  • https://betterprogramming.pub/the-art-of-choosing-the-right-index-in-mysql-968461bcabe8
  • https://medium.com/airbnb-engineering/building-a-faster-web-experience-with-the-posttask-scheduler-276b83454e91
  • https://medium.com/airbnb-engineering/building-an-inclusive-codebase-bbaa2315e5b8
  • https://semaphoreci.com/community/tutorials/applying-bdd-to-ruby-on-rails-web-applications
  • https://github.blog/2018-09-28-upgrading-github-from-rails-3-2-to-5-2/
  • https://medium.com/paypal-tech/pre-mortem-technically-working-backwards-1724eafbba02

2021.07.15.

  • Too many articles I read so far so I can't sum-up. I just share now.
  • https://blog.saeloun.com/2020/02/10/rails-support-for-if_exists-if_not_exists-on-remove_column-add_column-in-migrations
  • https://guides.rubyonrails.org/6_1_release_notes.html
  • https://brilliant.org/wiki/cuckoo-filter/
  • https://tech.flipkart.com/remodelling-flipkarts-serviceability-data-an-optimization-journey-from-300-gb-to-150-mb-in-memory-5c7e9c38bde
  • https://medium.com/building-panorama-education/introducing-memowise-51a5f0523489
  • https://www.bugsnag.com/blog/app-stability-overview-dashboard
  • https://blog.appsignal.com/category/rails-patterns-and-anti-patterns.html
  • https://longliveruby.com/articles/includes-method-in-rails
  • https://betterprogramming.pub/why-github-copilot-will-not-change-programming-1bef41f35f6d
  • https://developer.chrome.com/blog/renderingng/
  • https://levelup.gitconnected.com/how-to-design-a-system-to-scale-to-your-first-100-million-users-4450a2f9703d
  • https://medium.com/opendoor-labs/how-we-made-our-maps-10x-faster-e2fa1eaebc65
  • https://web.dev/learn/css/
  • https://developers.google.com/web/fundamentals/performance/critical-rendering-path/render-tree-construction
  • https://blog.kiprosh.com/rails-7-activerecord-relation-load_async/
  • https://betterprogramming.pub/what-would-be-stack-overflows-future-after-this-1-8b-acquisition-607f50759699
  • https://www.computerminds.co.uk/articles/class-naming-javascript-development-drupal
  • https://testing.googleblog.com/2015/04/just-say-no-to-more-end-to-end-tests.html
  • https://blog.close.com/saas-startups-why-your-free-trials-are-way-too-long/
  • https://towardsdatascience.com/gpt-3-scared-you-meet-wu-dao-2-0-a-monster-of-1-75-trillion-parameters-832cd83db484
  • https://dev.to/pragativerma18/confusing-terms-in-the-git-terminology-1578
  • https://www.reddit.com/r/ruby/comments/nqlywb/yjit_building_a_new_jit_compiler_inside_cruby/
  • https://semver.org/
  • https://medium.com/google-developer-experts/how-to-pull-request-d75ac81449a5
  • https://javascript.plainenglish.io/9-hidden-features-of-chrome-devtools-78856b2a96de
  • https://www.bigbinary.com/blog/rails-6-1-adds-invert_where
  • and so on..

2021.05.31.

  • What Is MJIT in Ruby 2.6 & How Does It Work?
    • It explains that MJIT is method based just in time compiler as simple.
    • A look at how Ruby interprets your code
      • If you do not know about MJIT how it works, read this first. and you are into optimization, next up is Tail Call Optimization in Ruby
        • TCO is really intersting to me.
        • If you are intersted in algorithm problems, you may know TCO, is because stack overflow is occured in many recursion problems.
    • Get back to MJIT, Koichi Sasada's report is intersting "YARV: Yet Another RubyVM". I don't know its copyright so I just share the title.
    • Finally, we should know about MJIT. So what?
    • The real important thing is Ruby may not be used without any library such as Rails.
    • Ultimately, I was wondering if Ruby uses JIT, then RoR performance is better than that without JIT.
    • Ruby 3 JIT can make Rails faster Here is helper to solve my problem.
    • My conclusion is that we should not use RoR with JIT yet. Because it is unstable. However I think that metric of method usage would be better that it without JIT in the future.

2021.04.29.

2021.04.08.

2021.04.04.

2021.03.22.

2021.03.05.

  • What does the other user using Ruby thinks of harder test
    • Private method tested means to be complicated software and might be violated SRP. It says that to solve method is refactoring. But test would then be test still complicated. Hence says again that could be solved by stub or mock.
    • By the way, it may make following question. What are stub and mock? so is it appropriate solution? and in TDD can use that? does?
    • Martin Fowler(a.k.a Unkle Bob) introduces what is the unit test? and differences between classical testing and mockist testing.
      • It is helpful to understand that to use mock and stub might be appropriate in TDD.
      • What I'm saying is that in tranditional TDD, test is only concerned about input and output. However to use stub and mock means that test code knows how such implemented. But mockist testing is allowed mock and stub in test code since unit test must be isolated.
      • So, How am I supposed to choose? my answer is that it depends on.

2021.02.01.

  • Ruby on Rails about Predicate
    • Further article
    • It does not post. but it is important to think what rails core developers' think.
    • And make a deep think predicate methods.
    • Official Ruby FAQ
      • However, this post says predicate methods can return true or false. so I'm confused now.
      • Finally, I've realized good to use predicate method'd be return only true and false because of usability and for documenting. as you know nil is unexpected value.

2021.01.13.

2021.01.07.

Before

Ruby

JS

Architecture

Data Science

Basic CS

Refactoring

Web

Others

이전 문서