JakartaDev [Almost] Daily tech discoveries https://jakartadev.org/ Mon, 13 Jul 2020 16:53:20 +0000 Mon, 13 Jul 2020 16:53:20 +0000 Jekyll v3.8.7 Daily Digest #602 <ul> <li><a href="https://github.com/maxgoedjen/secretive">Secretive – Storing and managing SSH keys</a></li> <li><a href="https://hackernoon.com/aws-codepipeline-setup-and-maintenance-from-scratch-gz2x3uvt">AWS CodePipeline: Setup And Maintenance From Scratch</a></li> <li><a href="https://medium.com/@trials_eng_manager/why-okrs-are-broken-and-how-can-we-fix-it-6f736bd74516">Why OKRs are broken and how can we fix it?</a></li> <li><a href="https://yarmo.eu/post/keyoxide">Keyoxide – Lightweight and opensource solution for basic cryptography</a></li> </ul> Mon, 13 Jul 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-603/ https://jakartadev.org/daily-digest-603/ Daily Digest #602 <ul> <li><a href="https://www.cockroachlabs.com/blog/improving-application-performance-with-duplicate-indexes/">Improving Application Performance with Duplicate Indexes</a></li> <li><a href="https://www.infoq.com/presentations/iot-edge-ml-privacy-security/">The Internet of Things Might Have Less Internet Than We Thought?</a></li> <li><a href="https://github.com/schenkd/nginx-ui">Nginx-UI</a></li> <li><a href="https://duetcode.io/rails-api-only-course">Ruby on rails API-only course</a></li> <li><a href="https://foambubble.github.io/foam/">Foam is a personal knowledge management and sharing system</a></li> </ul> Fri, 10 Jul 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-602/ https://jakartadev.org/daily-digest-602/ Daily Digest #601 <ul> <li><a href="https://developer.nvidia.com/blog/merging-telemetry-and-logs-from-microservices-at-scale-with-apache-spark/">Merging Telemetry and Logs from Microservices at Scale with Apache Spark</a></li> <li><a href="https://tech.ebayinc.com/engineering/auto-effect-pattern-with-redux-and-react-hooks/">Auto Effect Pattern with Redux and React Hooks</a></li> <li><a href="https://www.infoq.com/news/2020/04/snap-architecture-service-mesh/">Monolith to Microservices: Migrating Snap’s Architecture Using a Service Mesh</a></li> <li><a href="https://engineering.fb.com/data-infrastructure/turbine/">Turbine: Facebook’s service management platform for stream processing</a></li> <li><a href="https://blog.cloudera.com/an-architecture-for-secure-covid-19-contact-tracing/">An Architecture for Secure COVID-19 Contact Tracing</a></li> </ul> Thu, 09 Jul 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-601/ https://jakartadev.org/daily-digest-601/ Daily Digest #600 <ul> <li><a href="https://www.scylladb.com/2020/04/16/ifood-relies-on-scylla-to-deliver-over-100-million-events-a-month-to-restaurants/">iFood Relies on Scylla to Deliver Over 100 Million Events a Month to Restaurants</a></li> <li><a href="https://towardsdatascience.com/cnn-for-reverse-engineering-an-approach-for-function-identification-1c6af88bca43">CNN for Reverse Engineering: an Approach for Function Identification</a></li> <li><a href="https://hacks.mozilla.org/2020/04/code-quality-tools-at-mozilla/">Engineering code quality in the Firefox browser: A look at our tools and challenges</a></li> <li><a href="https://engineering.shopify.com/blogs/engineering/software-release-culture-shopify">Software Release Culture at Shopify</a></li> </ul> Wed, 08 Jul 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-600/ https://jakartadev.org/daily-digest-600/ Daily Digest #599 <ul> <li><a href="https://blog.sqreen.com/dynamic-instrumentation-go/">Behind the scenes: building a dynamic instrumentation agent for Go</a></li> <li><a href="https://engineering.atspotify.com/2020/04/15/reach-for-the-top-how-spotify-built-shortcuts-in-just-six-months/">Reach for the Top: How Spotify Built Shortcuts in Just Six Months </a></li> <li><a href="https://www.infoq.com/presentations/bbc-distributed-monolith-microservices/">Beyond the Distributed Monolith: Rearchitecting the Big Data Platform</a></li> <li><a href="https://about.gitlab.com/blog/2020/04/16/geo-is-available-on-staging-for-gitlab-com/">Why we enabled Geo on the staging environment for GitLab.com</a></li> </ul> Tue, 07 Jul 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-599/ https://jakartadev.org/daily-digest-599/ Daily Digest #598 <ul> <li><a href="https://levelup.gitconnected.com/patterns-for-resilient-distributed-systems-750063996ee3">Patterns for resilient distributed systems</a></li> <li><a href="https://www.infoq.com/presentations/kubernetes-adoption-foundation/">Kubernetes is Not Your Platform, It’s Just the Foundation</a></li> <li><a href="https://www.infoq.com/presentations/kubernetes-interfaces-networking-storage-mesh/">Interoperability of Open-source Tools: The Emergence of Interfaces</a></li> <li><a href="https://engineering.atspotify.com/2020/04/14/when-should-i-write-an-architecture-decision-record/">When should I write an Architecture Decision Record</a></li> </ul> Mon, 06 Jul 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-598/ https://jakartadev.org/daily-digest-598/ Daily Digest #597 <ul> <li><a href="https://testandcode.com/116">15 amazing pytest plugins - Michael Kennedy</a></li> <li><a href="https://realpython.com/regex-python-part-2/">Regular Expressions: Regexes in Python (Part 2)</a></li> <li><a href="https://www.openshift.com/blog/monitoring-services-like-an-sre-in-openshift-servicemesh">Monitoring Services like an SRE in OpenShift ServiceMesh</a></li> <li><a href="https://opensource.com/article/20/6/data-science-nodejs">Why you should use Node.js for data science</a></li> <li><a href="https://www.redhat.com/sysadmin/how-run-skopeo-container">How to run Skopeo in a container</a></li> </ul> Fri, 03 Jul 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-597/ https://jakartadev.org/daily-digest-597/ Daily Digest #596 <ul> <li><a href="https://thenewstack.io/tutorial-use-ansible-collections-to-help-configure-and-manage-more-complex-systems/">Tutorial: Use Ansible Collections to Help Configure and Manage More Complex Systems</a></li> <li><a href="https://cacm.acm.org/magazines/2020/5/244339-measuring-and-mitigating-oauth-access-token-abuse-by-collusion-networks/fulltext">Measuring and Mitigating OAuth Access Token Abuse by Collusion Networks</a></li> <li><a href="https://www.redhat.com/sysadmin/container-security-seccomp">Improving Linux container security with seccomp</a></li> <li><a href="https://www.youtube.com/playlist?list=PLU1vS0speL2Z08BeKSwSqfxPEl3ta5UK3">DevConfCZ 2020</a></li> <li><a href="https://pythonwheels.com/">Python Wheels</a></li> </ul> Thu, 02 Jul 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-596/ https://jakartadev.org/daily-digest-596/ Daily Digest #595 <ul> <li><a href="https://developers.redhat.com/courses/service-mesh/">Istio Service Mesh Workshop</a></li> <li><a href="https://petapixel.com/2020/06/17/this-deepfacedrawing-ai-turns-simple-sketches-into-realistic-portraits/">This ‘DeepFaceDrawing’ AI Turns Simple Sketches Into Portrait Photos</a></li> <li><a href="https://developers.redhat.com/books/introducing-istio-service-mesh-microservices/">Streamline microservice management with Istio</a></li> <li><a href="https://www.openshift.com/blog/runtime-code-profile-for-kubernetes-operators">Runtime Code profile for Kubernetes Operators</a></li> </ul> Wed, 01 Jul 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-595/ https://jakartadev.org/daily-digest-595/ Daily Digest #594 <ul> <li> <table> <tbody> <tr> <td>[GitOps: Stop, collaborate and deploy</td> <td>DevNation Tech Talk](https://developers.redhat.com/devnation/tech-talks/gitops/)</td> </tr> </tbody> </table> </li> <li><a href="https://developers.redhat.com/cheat-sheets/writing-kubernetes-operator-java/">Writing a Kubernetes Operator in Java Cheat Sheet</a></li> <li><a href="https://rednafi.github.io/digressions/python/2020/06/03/python-configs.html">Pedantic Configuration Management with Pydantic</a></li> <li><a href="https://testdriven.io/blog/django-stripe-tutorial/">Django Stripe Tutorial</a></li> </ul> Tue, 30 Jun 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-594/ https://jakartadev.org/daily-digest-594/ Daily Digest #593 <ul> <li> <table> <tbody> <tr> <td>[Ansible playbook awesomeness</td> <td>DevNation Tech Talk](https://developers.redhat.com/devnation/tech-talks/ansible-playbook-awesomeness/)</td> </tr> </tbody> </table> </li> <li><a href="https://testdriven.io/blog/combine-flask-vue/">Combining Flask and Vue</a></li> <li> <table> <tbody> <tr> <td>[Distribute your microservices data with events, CQRS, and event sourcing</td> <td>DevNation Tech Talk](https://developers.redhat.com/videos/youtube/HdvWfr2KwA0/)</td> </tr> </tbody> </table> </li> <li><a href="https://realpython.com/podcasts/rpp/12/">Episode 12: Web Scraping in Python: Tools, Techniques, and Legality</a></li> </ul> Mon, 29 Jun 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-593/ https://jakartadev.org/daily-digest-593/ Daily Digest #592 <ul> <li><a href="https://chrisconlan.com/fastest-way-to-flatten-a-list-in-python/">Fastest Way to Flatten a List in Python</a></li> <li><a href="https://developers.redhat.com/blog/2020/06/04/an-easier-way-to-create-custom-jenkins-containers/">An easier way to create custom Jenkins containers</a></li> <li><a href="https://florian-dahlitz.de/blog/why-you-should-use-more-enums-in-python">Why You Should Use More Enums In Python</a></li> <li><a href="https://developers.redhat.com/blog/2020/04/30/creating-pipelines-with-openshift-4-4s-new-pipeline-builder-and-tekton-pipelines/">Creating Pipelines with OpenShift 4.4’s new Pipeline Builder and Tekton Pipelines</a></li> </ul> Fri, 26 Jun 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-592/ https://jakartadev.org/daily-digest-592/ Daily Digest #591 <ul> <li><a href="https://developers.redhat.com/blog/2020/05/26/build-a-go-application-using-openshift-pipelines/">Build a Go application using OpenShift Pipelines</a></li> <li><a href="https://martinheinz.dev/blog/24">Ultimate Guide to Python Debugging</a></li> <li><a href="https://developers.redhat.com/blog/2020/05/06/using-ansible-to-automate-google-cloud-platform/">Using Ansible to automate Google Cloud Platform</a></li> <li><a href="https://developers.redhat.com/blog/2020/04/28/operator-sdk-build-kubernetes-operators-and-deploy-them-on-openshift/">Operator SDK: Build Kubernetes Operators and deploy them on OpenShift</a></li> </ul> Thu, 25 Jun 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-591/ https://jakartadev.org/daily-digest-591/ Daily Digest #590 <ul> <li><a href="https://sobolevn.me/2020/06/how-async-should-have-been">How async should have been</a></li> <li><a href="https://developers.redhat.com/blog/2020/04/23/knative-cookbook-building-effective-serverless-applications-with-kubernetes-and-openshift/?utm_source=jakartadev.org">Knative Cookbook: Building Effective Serverless Applications with Kubernetes and OpenShift</a></li> <li><a href="https://developers.redhat.com/blog/2020/04/30/serverless-applications-made-faster-and-simpler-with-openshift-serverless-ga/">Serverless applications made faster and simpler with OpenShift Serverless GA</a></li> <li><a href="https://medium.com/opendoor-labs/our-python-monorepo-d34028f2b6fa">Our Python Monorepo</a></li> </ul> Wed, 24 Jun 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-590/ https://jakartadev.org/daily-digest-590/ Daily Digest #589 <ul> <li><a href="https://bytes.babbel.com/en/articles/2020-06-03-tech-radar.html">Tech Stack of Babbel</a></li> <li><a href="http://calpaterson.com/async-python-is-not-faster.html">Async Python is not faster</a></li> <li><a href="https://medium.com/madhash/9-courses-to-learn-for-free-d7951a959f82">9 Free Programming Courses by Harvard, MIT, IBM, Google, and Microsoft</a></li> <li><a href="https://bytes.yingw787.com/posts/2020/06/15/postgres_as_app_1/">Postgres…as an App?</a></li> <li><a href="https://lwn.net/Articles/821358/">Testing in Go: philosophy and tools</a></li> </ul> Tue, 23 Jun 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-589/ https://jakartadev.org/daily-digest-589/ Daily Digest #588 <ul> <li><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1743r0.pdf">Contracts, Undefined Behavior, and DefensiveProgramming</a></li> <li><a href="https://write.as/matt/text-communication">Text Communication</a></li> <li><a href="https://geshan.com.np/blog/2020/06/pair-programming-benefits-for-your-team/">5 benefits of pair programming you should know about</a></li> </ul> Mon, 22 Jun 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-588/ https://jakartadev.org/daily-digest-588/ Daily Digest #587 <ul> <li><a href="https://www.lpalmieri.com/posts/2020-06-06-zero-to-production-1-setup-toolchain-ides-ci/">Zero To Production in Rust</a></li> <li><a href="https://kevq.uk/whats-in-a-font-researching-website-typography/">What’s In A Font? Researching Website Typography</a></li> <li><a href="https://www.vidarholen.net/contents/blog/?p=878">Zsh and Fish’s simple but clever trick for highlighting missing linefeeds</a></li> <li><a href="https://github.com/unfog-io/unfog-cli">Unfog-cli - ⏱ A simple task &amp; time manager, written in Haskell</a></li> <li><a href="https://vas3k.com/blog/nocode/">No code</a></li> </ul> Fri, 19 Jun 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-587/ https://jakartadev.org/daily-digest-587/ Daily Digest #586 <ul> <li><a href="https://gist.github.com/richhickey/1563cddea1002958f96e7ba9519972d9">Open Source is Not About You</a></li> <li><a href="https://github.com/Phantas0s/devdash">DevDash - Highly Configurable Terminal Dashboard for Developers</a></li> <li><a href="https://fusionauth.io/learn/expert-advice/tokens/building-a-secure-jwt">Building a Secure Signed JWT</a></li> <li><a href="https://developer.sh/posts/curious-case-of-small-files">The Curious Case of Small Files</a></li> <li><a href="https://stackoverflow.blog/2020/06/05/why-the-developers-who-use-rust-love-it-so-much/">Why the developers who use Rust love it so much</a></li> </ul> Thu, 18 Jun 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-586/ https://jakartadev.org/daily-digest-586/ Daily Digest #585 <ul> <li><a href="http://boston.conman.org/2020/06/08.1">I can code that FizzBuzz function with only two tests</a></li> <li><a href="https://github.com/ahuth/emitter-gates">Node emitter-gates</a></li> <li><a href="https://veekaybee.github.io/2020/06/09/ml-in-prod/">Getting machine learning to production</a></li> <li><a href="https://djhworld.github.io/post/2020/06/07/running-linux-on-my-macbook/">Running Linux on my Macbook</a></li> <li><a href="https://prithu.xyz/posts/unix-pipeline/">The beauty of Unix pipelines</a></li> <li><a href="https://benhoyt.com/writings/go-intro/">An intro to Go for non-Go developers</a></li> <li><a href="https://redmonk.com/rstephens/2020/05/18/static-site-generators/">Static Site Generator Trends</a></li> </ul> Wed, 17 Jun 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-585/ https://jakartadev.org/daily-digest-585/ Daily Digest #584 <ul> <li><a href="https://product.hubspot.com/blog/making-hundreds-of-apps-fast">Making Hundreds of Apps Fast and Reliable</a></li> <li><a href="https://tech.ebayinc.com/engineering/front-end-debugging-tips-on-resolving-issues-quickly-so-you-can-move-on-to-better-things/">Front End Debugging — Tips on Resolving Issues Quickly so You Can Move on to Better Things</a></li> <li><a href="https://blog.coinbase.com/container-technologies-at-coinbase-d4ae118dcb6c">Container technologies at Coinbase</a></li> <li><a href="https://scottrogowski.com/the-seven-deceptions-of-microservices">The seven deceptions of microservices</a></li> <li><a href="https://utcc.utoronto.ca/~cks/space/blog/sysadmin/ChangeSubtleDangerExample">Why sysadmins don’t like changing things, illustrated</a></li> </ul> Tue, 16 Jun 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-584/ https://jakartadev.org/daily-digest-584/ Daily Digest #583 <ul> <li><a href="https://product.hubspot.com/blog/zookeeper-to-kubernetes-migration">Embrace and Replace: Migrating ZooKeeper into Kubernetes</a></li> <li><a href="https://itnext.io/how-we-do-gitops-mettle-4cc771a6c029">How we do GitOps @ Mettle</a></li> <li><a href="https://medium.com/zendesk-engineering/an-investigation-into-kafka-log-compaction-5e520f4291f0">An investigation into Kafka Log Compaction</a></li> <li><a href="https://boris.schapira.dev/2018/09/one-host-file-to-block-them-all/">One hosts file to block them all</a></li> <li><a href="https://product.hubspot.com/blog/synthesis-wave">Riding the Synthesis Wave: How to Avoid Drowning in Your Qualitative Data</a></li> </ul> Mon, 15 Jun 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-583/ https://jakartadev.org/daily-digest-583/ Daily Digest #582 <ul> <li><a href="https://medium.com/walmartlabs/building-secure-docker-images-101-3769b760ebfa">Building Secure Docker Images - 101</a></li> <li><a href="https://blog.cloudflare.com/project-crossbow-lessons-from-refactoring-a-large-scale-internal-tool/">Project Crossbow: Lessons from Refactoring a Large-Scale Internal Tool</a></li> <li><a href="https://hackernoon.com/a-deep-dive-into-aws-firecracker-ry9w3yc3?source=rss">A Deep Dive into AWS Firecracker</a></li> <li><a href="https://engineering.salesforce.com/automating-complex-end-to-end-tests-b0a5fc003592">Automating Complex End-to-End Tests</a></li> </ul> Fri, 12 Jun 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-582/ https://jakartadev.org/daily-digest-582/ Desain baru <p>Karena website ini menggunakan Jekyll untuk static site generator, penggunaannya juga sangat mudah, kali ini mencoba mengganti theme dari website ini, semacam <em>refreshing</em> kali ya.</p> <p>Penggunaan typeface monospace, niatnya agar lebih mewakili saja, dan juga setelah mengetes font <a href="https://fonts.google.com/specimen/Roboto+Mono"><code class="highlighter-rouge">Roboto Mono</code></a> ini sepertinya cocok di beberapa device yang saya coba, masih mudah untuk membacanya.</p> <p>Untuk warna, masih menggunakan putih sebagai basis warna, lebih simpel dan gampang dibaca.</p> <p>Semoga suka.</p> Thu, 11 Jun 2020 00:00:00 +0000 https://jakartadev.org/mencoba-desain-baru/ https://jakartadev.org/mencoba-desain-baru/ Daily Digest #581 <ul> <li><a href="https://codeascraft.com/2020/04/06/developing-in-a-monorepo-while-still-using-webpack/">Developing in a Monorepo While Still Using Webpack</a></li> <li><a href="https://blog.cloudflare.com/conntrack-tales-one-thousand-and-one-flows/">Conntrack tales - one thousand and one flows</a></li> <li><a href="https://www.infoq.com/presentations/riff-functions/">From Monolith to riff Functions</a></li> <li><a href="https://hackernoon.com/rethinking-programming-network-aware-type-system-8o7x3yh6?source=rss">Rethinking Programming: Network-Aware Type System</a></li> </ul> Thu, 11 Jun 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-581/ https://jakartadev.org/daily-digest-581/ Daily Digest #580 <ul> <li><a href="https://devblogs.microsoft.com/dotnet/work-flow-of-diagnosing-memory-performance-issues-part-1/">Work flow of diagnosing memory performance issues – Part 1</a></li> <li><a href="https://medium.com/engineering-housing/a-case-study-on-the-migration-of-housings-application-servers-fb898252c940">A case study on the migration of Housings’ application servers</a></li> <li><a href="https://blog.cloudflare.com/remote-work-regional-lockdowns-and-migration-of-internet-usage/">Remote work, regional lockdowns and migration of Internet usage</a></li> </ul> Wed, 10 Jun 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-580/ https://jakartadev.org/daily-digest-580/ Daily Digest #579 <ul> <li><a href="https://tech.wayfair.com/2020/04/multi-zone-cluster-management-at-wayfair-with-kubernetes/">Multi-zone Cluster Management at Wayfair with Kubernetes</a></li> <li><a href="https://blog.cloudflare.com/http-3-vs-http-2/">Comparing HTTP/3 vs. HTTP/2 Performance</a></li> <li><a href="https://nordicapis.com/api-archaeology-using-accidental-apis-to-inform-the-api-journey/">API Archaeology: Using Accidental APIs to Inform the API Journey </a></li> <li><a href="https://engineering.linecorp.com/en/blog/how-line-messaging-servers-prepare-for-new-years-traffic/">How LINE messaging servers prepare for New Year’s traffic</a></li> </ul> Tue, 09 Jun 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-579/ https://jakartadev.org/daily-digest-579/ Daily Digest #578 <ul> <li><a href="https://open.nytimes.com/we-built-a-plugin-but-its-not-a-secret-dfdf68b0e44f">We Built a Plugin, but It’s Not a Secrets</a></li> <li><a href="https://blog.cloudflare.com/rolling-with-the-punches-shifting-attack-tactics-dropping-packets-faster-cheaper-at-the-edge/">Rolling With The Punches: Shifting Attack Tactics &amp; Dropping Packets Faster &amp; Cheaper At The Edge</a></li> <li><a href="https://www.confluent.io/blog/fraud-prevention-and-threat-detection-with-kafka-streams/">Preventing Fraud and Fighting Account Takeovers with Kafka Streams</a></li> <li><a href="https://product.hubspot.com/blog/overhauling-the-index-page">Why We Overhauled the Most-Used Screen in Our Product</a></li> </ul> Mon, 08 Jun 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-578/ https://jakartadev.org/daily-digest-578/ Daily Digest #577 <ul> <li><a href="https://www.confluent.io/blog/real-time-business-intelligence-using-ksqldb/">Real-Time Small Business Intelligence with ksqlDB</a></li> <li><a href="https://www.infoq.com/articles/graph-knowledge-base-cloud-native/">Graph Knowledge Base for Stateful Cloud-Native Applications</a></li> <li><a href="https://ai.googleblog.com/2020/04/an-optimistic-perspective-on-offline.html">An Optimistic Perspective on Offline Reinforcement Learning</a></li> <li><a href="https://distill.pub/2020/circuits/">Thread: Circuits</a></li> <li><a href="https://stackshare.io/pinterest/powering-pinterest-ads-analytics-with-apache-druid">Powering Pinterest Ads Analytics with Apache Druid </a></li> </ul> Fri, 05 Jun 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-577/ https://jakartadev.org/daily-digest-577/ Daily Digest #576 <ul> <li><a href="https://slack.engineering/hacklang-at-slack-a-better-php-65f239cbc9e9">Hacklang at Slack: A Better PHP</a></li> <li><a href="https://shift.infinite.red/better-react-native-debugging-with-reactotron-in-flipper-6b823af29220">Better React Native Debugging with Reactotron in Flipper</a></li> <li><a href="https://technology.riotgames.com/news/demolishing-wallhacks-valorants-fog-war">Demolishing Wallhacks with VALORANT’s Fog of War</a></li> <li><a href="https://www.infoq.com/presentations/react-hooks/">React’s Future - under the Hook</a></li> <li><a href="https://www.infoq.com/presentations/facebook-google-bpf-linux-kernel/">eBPF - Rethinking the Linux Kernel</a></li> <li><a href="https://www.infoq.com/presentations/api-gateways-history/">The Future of Cloud Native API Gateways</a></li> </ul> Thu, 04 Jun 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-576/ https://jakartadev.org/daily-digest-576/ Daily Digest #575 <ul> <li><a href="https://medium.com/salesloft-engineering/automation-a-failure-story-94c2868488a5">Automation: A Failure Story</a></li> <li><a href="https://www.kabdebon.com/cto/2020/05/28/zen-of-continuous-deployment.html">The Zen of Continuous Deployment</a></li> <li><a href="https://secret.club/2020/05/26/introduction-to-uefi-part-1.html">Introduction to UEFI: Part 1</a></li> </ul> Wed, 03 Jun 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-575/ https://jakartadev.org/daily-digest-575/ Daily Digest #574 <ul> <li><a href="https://www.mikeperham.com/2020/03/09/creating-a-private-commercial-docker-registry/">Creating a private, commercial Docker registry</a></li> <li><a href="https://github.com/mhausenblas/cidrchk">CLI tool for CIDR range operations (check, generate)</a></li> <li><a href="https://segphault.io/posts/2020/03/crescendo/">Crescendo</a></li> <li><a href="https://blog.codefx.org/25-hours-of-java/">25 Hours of Java—May 23rd, 2020</a></li> <li><a href="https://containerjournal.com/topics/container-ecosystems/why-is-enterprise-kubernetes-important/">Why is Enterprise Kubernetes Important?</a></li> <li><a href="https://www.destroyallsoftware.com/talks/ideology">Ideology</a></li> <li><a href="https://vladocar.github.io/Basic.css/">Basic.css - Classless CSS Starter File</a></li> <li><a href="https://tuxurls.com/">Linux News</a></li> <li><a href="https://www.redhat.com/sysadmin/simple-http-server">A simple Python HTTP server for your sysadmin toolbox</a></li> </ul> Tue, 02 Jun 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-574/ https://jakartadev.org/daily-digest-574/ Daily Digest #573 <ul> <li><a href="https://www.infoq.com/presentations/api-envoy/">Next Generation Client APIs in Envoy Mobile</a></li> <li><a href="https://about.gitlab.com/blog/2020/02/10/lessons-learned-as-data-team-manager/">Lessons learned managing the GitLab Data team</a></li> <li><a href="https://itnext.io/faster-lower-better-with-quarkus-in-k8s-83185af46f36">Faster, Lower, Better with Quarkus in k8s</a></li> <li><a href="https://adamconrad.dev/blog/technical-lead-management/">Technical Lead Management 101 or How to Try Out Management</a></li> <li><a href="https://blog.jevsejev.io/2020/03/09/do-we-need-standup-in-tech-and-why/">Do we need Standup in Tech? Why?</a></li> </ul> Fri, 29 May 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-573/ https://jakartadev.org/daily-digest-573/ Daily Digest #572 <ul> <li><a href="https://developer.salesforce.com/docs/component-library/documentation/en/lwc/lwc.get_started_introduction">Lightning Web Components</a></li> <li><a href="https://developers.redhat.com/blog/2020/03/30/distribute-your-microservices-data-with-events-cqrs-and-event-sourcing/">Distribute your microservices data with events, CQRS, and event sourcing</a></li> <li><a href="https://blog.cloudflare.com/introducing-quicksilver-configuration-distribution-at-internet-scale/">Introducing Quicksilver: Configuration Distribution at Internet Scale</a></li> <li><a href="https://www.smashingmagazine.com/2020/03/visual-design-language-building-blocks/">Visual Design Language: The Building Blocks Of Design</a></li> <li><a href="https://www.infoq.com/presentations/microarchitecture-modern-cpu/">Understanding CPU Microarchitecture to Increase Performance</a></li> </ul> Thu, 28 May 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-572/ https://jakartadev.org/daily-digest-572/ Daily Digest #571 <ul> <li><a href="https://engineering.linkedin.com/blog/2020/advanced-schema-management-for-spark">Advanced schema management for Spark applications at scale</a></li> <li><a href="https://blog.cloudflare.com/speeding-up-linux-disk-encryption/">Speeding up Linux disk encryption</a></li> <li><a href="https://medium.com/walmartlabs/resilient-web-application-in-the-real-world-2a2d2ca0922a">Resilient Web Application in the real world</a></li> <li><a href="https://www.azavea.com/blog/2020/03/24/labeling-satellite-imagery-for-machine-learning/">Labeling Satellite Imagery for Machine Learning</a></li> <li><a href="https://fastapi.tiangolo.com/">FastAPI</a></li> </ul> Wed, 27 May 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-571/ https://jakartadev.org/daily-digest-571/ Daily Digest #570 <ul> <li><a href="https://www.telerik.com/blogs/can-we-make-open-source-more-sustainable">Can We Make Open Source More Sustainable?</a></li> <li><a href="https://sobolevn.me/2020/03/do-not-log">Do not log</a></li> <li><a href="https://github.com/feltcoop/why-svelte">Svelte</a></li> <li><a href="https://apenwarr.ca/log/20200309">Several grumpy opinions about remote work at Tailscale</a></li> <li><a href="https://kevq.uk/moving-from-nextcloud-to-synology/">Moving from Nextcloud to Synology</a></li> </ul> Tue, 26 May 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-570/ https://jakartadev.org/daily-digest-570/ Daily Digest #569 <ul> <li><a href="https://blog.cloudflare.com/migrating-to-react-land-gatsby/">Migrating to React land: Gatsby</a></li> <li><a href="https://www.cryptologie.net/article/495/cryptographic-signatures-surprising-pitfalls-and-letsencrypt/">Cryptographic Signatures, Surprising Pitfalls, and LetsEncrypt</a></li> <li><a href="https://www.tbray.org/ongoing/When/202x/2020/03/07/Eventing-Facets">Eventing Facets</a></li> <li><a href="https://devforth.io/blog/why-your-software-should-use-uuids">Why your software should use UUIDs</a></li> </ul> Fri, 22 May 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-569/ https://jakartadev.org/daily-digest-569/ Daily Digest #568 <ul> <li><a href="https://stackoverflow.blog/2020/03/31/building-dark-mode-on-stack-overflow/">Building dark mode on Stack Overflow</a></li> <li><a href="https://engineering.linkedin.com/blog/2020/building-a-platform-for-leverage">Building a platform: Learnings from our pursuit for leverage</a></li> <li><a href="https://blog.cloudflare.com/why-we-started-putting-unpopular-assets-in-memory/">Why We Started Putting Unpopular Assets in Memory</a></li> <li><a href="https://sbg.technology/2020/04/02/whats-the-worst-that-can-happen/">“What’s the worst that could happen?”: A worked example of how we deal with live incidents</a></li> <li><a href="https://www.infoq.com/presentations/test-android-apk/">Break Your App before Someone Else Does</a></li> </ul> Wed, 20 May 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-568/ https://jakartadev.org/daily-digest-568/ Daily Digest #567 <ul> <li><a href="https://klinger.io/post/71640845938/dont-drown-in-email-how-to-use-gmail-more">Don’t drown in email! How to use Gmail more efficiently</a></li> <li><a href="https://engineering.shopify.com/blogs/engineering/optimizing-ruby-lazy-initialization-in-truffleruby-with-deoptimization">Optimizing Ruby Lazy Initialization in TruffleRuby with Deoptimization</a></li> <li><a href="https://medium.com/zendesk-engineering/chaos-engineering-comes-to-ruby-8273333eff6c">Chaos Engineering comes to Ruby</a></li> <li><a href="https://about.gitlab.com/blog/2020/03/30/how-to-exploit-parser-differentials/">How to exploit parser differentials</a></li> <li><a href="https://www.erlang-solutions.com/blog/optimizing-graphql-with-dataloader.html">Optimizing GraphQL with Dataloader</a></li> </ul> Tue, 19 May 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-567/ https://jakartadev.org/daily-digest-567/ Daily Digest #566 <ul> <li><a href="https://allegro.tech/2020/03/understanding-accessibility.html">Understanding accessibility</a></li> <li><a href="https://sysdig.com/blog/challenges-scale-prometheus/">Challenges using Prometheus at scale</a></li> <li><a href="https://github.com/Lissy93/personal-security-checklist">Personal Security Checklist</a></li> <li><a href="https://blog.eyas.sh/2020/03/data-oriented-architecture/">Data-Oriented Architecture</a></li> <li><a href="https://kevq.uk/moving-from-nextcloud-to-synology/">Moving from Nextcloud to Synology</a></li> </ul> Mon, 18 May 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-566/ https://jakartadev.org/daily-digest-566/ Daily Digest #565 <ul> <li><a href="https://www.hashicorp.com/blog/new-guides-terraform-modules/">New Guides for Terraform Modules</a></li> <li><a href="https://blog.testdouble.com/talks/2020-03-12-cypress-vs-capybara/">Cypress vs. Capybara</a></li> <li><a href="https://www.infoq.com/news/2020/03/web-components-salesforce-lwc/">Web Components at Scale at Salesforce: Challenges Encountered, Lessons Learnt</a></li> <li><a href="https://adlrocha.substack.com/p/adlrocha-how-to-make-your-web-app">@adlrocha - How to make your web app work offline</a></li> <li><a href="https://pleroma.social/blog/2020/03/08/releasing-pleroma-2-0-0/">Releasing Pleroma 2.0.0</a></li> </ul> Fri, 15 May 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-565/ https://jakartadev.org/daily-digest-565/ Daily Digest #564 <ul> <li><a href="https://blog.insightdatascience.com/building-a-scalable-online-product-recommender-with-keras-docker-gcp-and-gke-52a5ab2c7688">Build a scalable, online recommender with Keras, Docker, GCP, and GKE</a></li> <li><a href="https://www.percona.com/blog/2020/03/25/migrating-a-postgresql-database-between-dbaas-providers/">A Tale About Migrating a PostgreSQL Database Between Different DBaaS Providers</a></li> <li><a href="https://slack.engineering/deploys-at-slack-cd0d28c61701">Deploys at Slack</a></li> <li><a href="https://aws.amazon.com/blogs/opensource/24-open-source-tools-for-the-serverless-developer-part-1/">24 open source tools for the serverless developer: Part 1</a></li> <li><a href="https://aws.amazon.com/blogs/opensource/24-open-source-tools-for-the-serverless-developer-part-2/">24 open source tools for the serverless developer: Part 2</a></li> </ul> Thu, 14 May 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-564/ https://jakartadev.org/daily-digest-564/ Daily Digest #563 <ul> <li><a href="https://techblog.commercetools.com/migrating-commerce-apple-watch-app-to-graphql-cc76ffa64eac">Migrating our Apple WatchOS Commerce App to GraphQL</a></li> <li><a href="https://blog.logrocket.com/state-driven-interfaces-with-xstate/">State-driven interfaces with XState</a></li> <li><a href="https://blog.logrocket.com/snowpack-vs-webpack/">Snowpack vs. webpack</a></li> <li><a href="https://blog.scottlogic.com/2020/03/19/offscreen-canvas.html">Rendering charts with OffscreenCanvas</a></li> <li><a href="https://thoughtbot.com/blog/best-practices-while-developing-a-react-native-app">Best practices while developing a React Native App</a></li> <li><a href="https://engineering.linkedin.com/blog/2020/data-sentinel-automating-data-validation">Data Sentinel: Automating data validation</a></li> <li><a href="https://getaround.tech/double-entry-bookkeeping/">Bookkeeping</a></li> </ul> Wed, 13 May 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-563/ https://jakartadev.org/daily-digest-563/ Daily Digest #562 <ul> <li><a href="https://blog.logrocket.com/automated-visual-regression-testing-with-jest/">Automated visual regression testing with Jest</a></li> <li><a href="https://tech.findmypast.com/k8s-dns-lookup/">Solving DNS lookup failures in Kubernetes</a></li> <li><a href="https://www.infoq.com/presentations/history-comments-git/">Git Best-Practice - Keeping a Diary</a></li> <li><a href="https://www.cockroachlabs.com/blog/hash-sharded-indexes-unlock-linear-scaling-for-sequential-workloads/">Hash Sharded Indexes Unlock Linear Scaling for Sequential Workloads</a></li> <li><a href="https://mymodernmet.com/studio-ghibli-virtual-backgrounds/">Studio Ghibli Releases Free Zoom Backgrounds for You to Use While Video Conferencing</a></li> </ul> Tue, 12 May 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-562/ https://jakartadev.org/daily-digest-562/ Daily Digest #561 <ul> <li><a href="https://product.hubspot.com/blog/making-hundreds-of-apps-fast">Making Hundreds of Apps Fast and Reliable</a></li> <li><a href="https://levelup.gitconnected.com/kubernetes-autoscaling-101-cluster-autoscaler-horizontal-pod-autoscaler-and-vertical-pod-2a441d9ad231">Kubernetes Autoscaling 101: Cluster Autoscaler, Horizontal Pod Autoscaler, and Vertical Pod Autoscaler</a></li> <li><a href="https://eng.uber.com/multitenancy-microservice-architecture/">Why We Leverage Multi-tenancy in Uber’s Microservice Architecture</a></li> <li><a href="https://netflixtechblog.com/ready-for-changes-with-hexagonal-architecture-b315ec967749">Ready for changes with Hexagonal Architecture</a></li> <li><a href="https://www.infoq.com/presentations/blue-green-refactoring/">Safe Refactoring!</a></li> </ul> Mon, 11 May 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-561/ https://jakartadev.org/daily-digest-561/ Daily Digest #560 <ul> <li><a href="https://distill.pub/2020/circuits/zoom-in/">Zoom In: An Introduction to Circuits</a></li> <li><a href="https://blog.scottlogic.com/2020/03/10/raytracer-how-to.html">How to Write a Ray Tracer Intuitively</a></li> <li><a href="https://www.infoq.com/presentations/ci-cd-security-pipeline/">Securing Your CI/CD Pipeline</a></li> <li><a href="https://netflixtechblog.com/open-sourcing-riskquant-a-library-for-quantifying-risk-6720cc1e4968">Open-Sourcing riskquant, a library for quantifying risk</a></li> <li><a href="https://about.gitlab.com/blog/2020/03/05/what-is-gitlab-flow/">The problem with Git flow</a></li> </ul> Fri, 08 May 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-560/ https://jakartadev.org/daily-digest-560/ Daily Digest #559 <ul> <li><a href="https://levelup.gitconnected.com/how-we-reduced-our-app-size-by-50-with-split-apks-c71196bbdde5">How We Reduced Our App Size By 50% With Split APKs</a></li> <li><a href="https://eng.lyft.com/building-a-design-systems-library-with-figma-scripter-c046df0a895c">Building a Design Systems Library with Figma &amp; Scripter</a></li> <li><a href="https://stackshare.io/pinterest/using-kafka-to-throttle-qps-on-mysql-shards-in-bulk-write-apis">Using Kafka to Throttle QPS on MySQL Shards in Bulk Write APIs</a></li> </ul> Wed, 06 May 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-559/ https://jakartadev.org/daily-digest-559/ Daily Digest #558 <ul> <li><a href="https://blog.cloudflare.com/on-the-shoulders-of-giants-recent-changes-in-internet-traffic/">On the shoulders of giants: recent changes in Internet traffic</a></li> <li><a href="https://www.infoq.com/news/2020/03/apative-loading-faster-web/">Adaptive Loading for a Faster Web</a></li> <li><a href="https://towardsdatascience.com/reducing-the-carbon-foot-prints-of-cnns-at-the-cost-of-interactions-depthwise-pointwise-conv-5df850ea33a4">Reducing the Carbon Foot Prints of CNNs at the cost of interactions-Depthwise &amp; Pointwise Convolution</a></li> <li><a href="https://techblog.commercetools.com/five-practical-tips-when-using-react-hooks-in-production-990a79745229">Five practical tips when using React hooks in production</a></li> </ul> Tue, 05 May 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-558/ https://jakartadev.org/daily-digest-558/ Daily Digest #557 <ul> <li><a href="https://netflixtechblog.com/introducing-dispatch-da4b8a2a8072">Netflix is pleased to announce the open-source release of our crisis management orchestration framework: Dispatch!</a></li> <li><a href="https://blog.cloudflare.com/keepalives-considered-harmful/">Keepalives considered harmful</a></li> <li><a href="https://towardsdatascience.com/deep-learning-based-super-resolution-with-opencv-4fd736678066">Deep Learning based Super Resolution with OpenCV</a></li> <li><a href="https://eng.uber.com/piranha/">Introducing Piranha: An Open Source Tool to Automatically Delete Stale Code</a></li> <li><a href="https://engineering.salesforce.com/mulesofts-online-migration-on-dynamodb-25e438c146c">MuleSoft’s Online Migration on DynamoDB</a></li> </ul> Mon, 04 May 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-557/ https://jakartadev.org/daily-digest-557/ Daily Digest #556 <ul> <li><a href="https://engineering.mongodb.com/post/getting-storage-engines-ready-for-fast-storage-devices">Getting storage engines ready for fast storage devices</a></li> <li><a href="https://www.percona.com/blog/2020/03/18/how-container-networking-affects-database-performance/">How Container Networking Affects Database Performance</a></li> <li><a href="https://www.infoq.com/news/2020/03/tesla-vpp/">Edge to Cloud: Building the Tesla Virtual Power Plant</a></li> <li><a href="https://engineering.linkedin.com/blog/2020/how-we-improved-latency-through-projection-in-espresso">How we improved latency through projection in Espresso</a></li> <li><a href="https://hackernoon.com/rethinking-programming-the-network-in-the-language-kn3z3y55">Rethinking Programming: The Network in the Language</a></li> </ul> Thu, 30 Apr 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-556/ https://jakartadev.org/daily-digest-556/ Daily Digest #555 <ul> <li><a href="https://www.infoq.com/presentations/netflix-streaming-data-infrastructure/">Monitoring and Tracing @Netflix Streaming Data Infrastructure</a></li> <li><a href="https://tech.ebayinc.com/engineering/enabling-hdfs-federation-having-1b-file-system-objects/">Enabling HDFS Federation Having 1B File System Objects</a></li> <li><a href="https://developers.soundcloud.com/blog/periskop-exception-monitoring-service">Periskop: Exception Monitoring Service</a></li> <li><a href="https://www.infoq.com/articles/making-code-faster-taming-branches/">Making Your Code Faster by Taming Branches</a></li> </ul> Wed, 29 Apr 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-555/ https://jakartadev.org/daily-digest-555/ Daily Digest #554 <ul> <li><a href="https://distill.pub/2020/grand-tour/">Visualizing Neural Networks with the Grand Tour</a></li> <li><a href="https://tech.wayfair.com/2020/03/the-importance-of-covariates-in-causal-inference/">The Importance of Covariates in Causal Inference: Shown in a Comparison of Two Methods</a></li> <li><a href="https://blog.cloudflare.com/the-problem-with-event-loops/">The problem with thread^W event loops</a></li> <li><a href="https://labs.spotify.com/2020/03/17/what-the-heck-is-backstage-anyway/">What the Heck is Backstage Anyway?</a></li> </ul> Tue, 28 Apr 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-554/ https://jakartadev.org/daily-digest-554/ Daily Digest #553 <ul> <li><a href="https://thanos.io/contributing/coding-style-guide.md/">Thanos Coding Style Guide</a></li> <li><a href="https://uxplanet.org/how-to-make-your-resume-as-user-centred-as-your-design-practise-45e4a0947db1">How to make your resume as user-centred as you are</a></li> <li><a href="https://k8slens.dev/">The Kubernetes ide</a></li> <li><a href="https://graphql-mesh.com/docs/getting-started/introduction/">Mesh GraphQL</a></li> </ul> Mon, 27 Apr 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-553/ https://jakartadev.org/daily-digest-553/ Daily Digest #552 <ul> <li><a href="https://www.infoq.com/presentations/kafka-zookeeper/">Kafka Needs No Keeper</a></li> <li><a href="https://blog.heroku.com/building-with-web-components">Building with Web Components</a></li> <li><a href="https://engineering.shopify.com/blogs/engineering/evolution-kit-automating-marketing-machine-learning">The Evolution of Kit: Automating Marketing Using Machine Learning</a></li> <li><a href="https://www.infoq.com/presentations/helm-3/">Helm 3: A Mariner’s Delight</a></li> <li><a href="https://uxdesign.cc/design-better-data-tables-4ecc99d23356">Design better data tables</a></li> </ul> Fri, 24 Apr 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-552/ https://jakartadev.org/daily-digest-552/ Daily Digest #551 <ul> <li><a href="https://blog.cloudflare.com/the-history-of-the-url/">The History of the URL</a></li> <li><a href="https://blog.scottlogic.com/2020/03/03/microbit-raytracer.html">3D Rendering on a Children’s Toy</a></li> <li><a href="https://tech.instacart.com/terraforming-rds-part-1-7cc78f92b24d">Terraforming RDS — Part 1</a></li> <li><a href="https://benchling.engineering/sqlalchemy-batch-inserts-a-module-for-when-youre-inserting-thousands-of-rows-and-it-s-slow-16ece0ef5bf7"><code class="highlighter-rouge">sqlalchemy_batch_inserts</code>: a module for when you’re inserting thousands of rows and it’s slow</a></li> </ul> Thu, 23 Apr 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-551/ https://jakartadev.org/daily-digest-551/ Daily Digest #550 <ul> <li><a href="https://levelup.gitconnected.com/handling-350k-requests-for-3-using-lambda-c258ace3da58">Handling 350k Requests for $3 using Lambda</a></li> <li><a href="https://blog.logrocket.com/rate-limiting-node-js/">Understanding and implementing rate limiting in Node.js</a></li> <li><a href="https://open.nytimes.com/connecting-the-dots-on-game-development-a28214b513bf">How The New York Times Games Team Designed and Built Vertex</a></li> <li><a href="https://engineering.fb.com/developer-tools/incident-tracker/">Preventing performance regressions with Health Compass and Incident Tracker</a></li> <li><a href="https://www.infoq.com/presentations/cloud-foundry-kubernetes-project-eirini-kative/">Platforms Demystified: Cloud Foundry, Kubernetes, Eirini, and Knative</a></li> </ul> Wed, 22 Apr 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-550/ https://jakartadev.org/daily-digest-550/ Daily Digest #549 <ul> <li><a href="https://www.infoq.com/presentations/high-resolution-telemetry/">High Resolution Performance Telemetry at Scale</a></li> <li><a href="https://blog.cloudflare.com/using-your-devices-as-the-key-to-your-apps/">Using your devices as the key to your apps</a></li> <li><a href="https://www.infoq.com/presentations/security-attack-surface/">Small Is Beautiful: How to Improve Security by Maintaining Less Code</a></li> <li><a href="https://tech.ebayinc.com/product/ebay-uses-computer-vision-to-enable-sellers-to-create-cleaner-images/">eBay Uses Computer Vision to Enable Sellers to Create Cleaner Images</a></li> </ul> Tue, 21 Apr 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-549/ https://jakartadev.org/daily-digest-549/ Daily Digest #548 <ul> <li><a href="https://codeascraft.com/2020/02/24/the-causal-analysis-of-cannibalization-in-online-products/">The Causal Analysis of Cannibalization in Online Products</a></li> <li><a href="https://blog.cloudflare.com/gen-x-performance-tuning/">Gen X Performance Tuning</a></li> <li><a href="https://developers.soundcloud.com/blog/how-not-to-build-datasets-and-consume-data-at-your-company">How (Not) to Build Datasets and Consume Data at Your Company</a></li> <li><a href="https://blog.logrocket.com/functional-programming-in-go/">Functional programming in Go</a></li> <li><a href="https://www.infoq.com/presentations/atom-editor-react-ui/">Declarative APIs in an Imperative World</a></li> </ul> Mon, 20 Apr 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-548/ https://jakartadev.org/daily-digest-548/ Daily Digest #547 <ul> <li><a href="https://www.scylladb.com/2020/02/20/nauto-achieving-consistency-in-an-eventually-consistent-environment/">Nauto: Achieving Consistency in an Eventually Consistent Environment</a></li> <li><a href="https://www.ably.io/concepts/pub-sub">Everything You Need To Know About Publish/Subscribe</a></li> <li><a href="https://www.infoq.com/articles/multi-runtime-microservice-architecture/">Multi-Runtime Microservices Architecture</a></li> <li><a href="https://www.scylladb.com/2020/03/03/tubi-scaling-up-machine-experimentation-with-scylla-and-scala/">Tubi: Scaling Up Machine Experimentation with Scylla and Scala</a></li> <li><a href="https://www.infoq.com/news/2020/02/airbnb-design-system-react-conf/">Building (and Re-Building) the Airbnb Design System - React Conf 2019</a></li> </ul> Fri, 17 Apr 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-547/ https://jakartadev.org/daily-digest-547/ Daily Digest #546 <ul> <li><a href="https://www.infoq.com/presentations/sorbet-type-checker-ruby/">Sorbet: Why and How We Built a Typechecker for Ruby</a></li> <li><a href="https://evilmartians.com/chronicles/beyond-fashion-deep-learning-with-catalyst">Beyond fashion: Deep Learning with Catalyst</a></li> <li><a href="https://engineeringblog.yelp.com/2020/02/accelerating-retention-experiments-with-partially-observed-data.html">Accelerating Retention Experiments with Partially Observed Data</a></li> <li><a href="https://medium.com/walmartlabs/bucketisation-using-cassandra-for-time-series-data-scans-2865993f9c00">Bucketisation: Using cassandra for time series data scans</a></li> <li><a href="https://artsy.github.io/blog/2020/03/02/ios-deploys-super-weird-totally-normal/">iOS Deploys: Super Weird And Totally Normal</a></li> </ul> Thu, 16 Apr 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-546/ https://jakartadev.org/daily-digest-546/ Daily Digest #545 <ul> <li><a href="https://levelup.gitconnected.com/browser-to-browser-communication-with-vert-x-and-hazelcast-cluster-450b16903a55">Browser to Browser Communication with Vert.x and Hazelcast</a></li> <li><a href="https://netflixtechblog.com/how-netflix-uses-druid-for-real-time-insights-to-ensure-a-high-quality-experience-19e1e8568d06">How Netflix uses Druid for Real-time Insights to Ensure a High-Quality Experience</a></li> <li><a href="https://engineering.remind.com/99-uptime-busiest-season/">How we reached 99.9% uptime during our busiest season</a></li> <li><a href="https://engineering.salesforce.com/hooking-your-audience-using-drag-drop-in-react-6ba1118dab84">‘Hooking’ Your Audience Using Drag &amp; Drop in React</a></li> <li><a href="https://labs.spotify.com/2020/02/24/how-spotify-aligned-cdn-services-for-a-lightning-fast-streaming-experience/">How Spotify Aligned CDN Services for a Lightning Fast Streaming Experience</a></li> <li><a href="https://tech.ebayinc.com/engineering/prefetch-caching-of-ebay-items/">Prefetch Caching of eBay Items</a></li> </ul> Wed, 15 Apr 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-545/ https://jakartadev.org/daily-digest-545/ Daily Digest #543 <ul> <li><a href="https://blog.overops.com/debugging-distributed-systems-3-common-distributed-tracing-challenges-how-to-overcome-them/">Debugging Distributed Systems: 3 Common Distributed Tracing Challenges &amp; How to Overcome Them</a></li> <li><a href="https://engineering.shopify.com/blogs/engineering/creating-native-components-accept-react-native-subviews">Creating Native Components That Accept React Native Subviews</a></li> <li><a href="https://blog.logrocket.com/how-to-bootstrap-your-project-with-json-server/">How to bootstrap your project with JSON Server</a></li> <li><a href="https://eng.lyft.com/building-an-adaptive-multi-tenant-stream-bus-with-kafka-and-golang-5f1410bf2b40">Building an Adaptive, Multi-Tenant Stream Bus with Kafka and Golang</a></li> <li><a href="https://nordicapis.com/introducing-the-api-security-maturity-model/">Introducing The API Security Maturity Model</a></li> </ul> Tue, 14 Apr 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-544/ https://jakartadev.org/daily-digest-544/ Daily Digest #543 <ul> <li><a href="https://www.infoq.com/articles/anatomy-cascading-failure/">How to Avoid Cascading Failures in Distributed Systems</a></li> <li><a href="https://www.infoq.com/presentations/cerner-resiliency/">Building Confidence in Healthcare Systems through Chaos Engineering</a></li> <li><a href="https://blog.cloudflare.com/impact-of-cache-locality/">Impact of Cache Locality</a></li> <li><a href="https://engineering.grab.com/returning-storage-space-back-to-our-users">Returning 575 Terabytes of storage space back to our users</a></li> <li><a href="https://engineering.thumbtack.com/building-a-native-design-system-for-ios/">Building a native design system for iOS</a></li> </ul> Mon, 13 Apr 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-543/ https://jakartadev.org/daily-digest-543/ Daily Digest #542 <ul> <li><a href="https://github.blog/2020-02-14-automating-mysql-schema-migrations-with-github-actions-and-more/">Automating MySQL schema migrations with GitHub Actions and more</a></li> <li><a href="https://netflixtechblog.com/essential-suite-artwork-producer-assistant-8f2a760bc150">Essential Suite — Artwork Producer Assistant</a></li> <li><a href="https://towardsdatascience.com/deep-transfer-learning-for-image-classification-f3c7e0ec1a14">Deep Transfer Learning for Image Classification</a></li> <li><a href="https://engineering.linecorp.com/en/blog/developing-the-antman-project/">Developing the Antman Project</a></li> </ul> Fri, 10 Apr 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-542/ https://jakartadev.org/daily-digest-542/ Daily Digest #541 <ul> <li><a href="https://blog.risingstack.com/mastering-async-await-in-nodejs/">Mastering Async Await in Node.js</a></li> <li><a href="https://engineering.shopify.com/blogs/engineering/circuit-breaker-misconfigured">Your Circuit Breaker is Misconfigured</a></li> <li><a href="https://tech.showmax.com/2020/02/ab-testing-part1/">The mechanics behind A/B testing</a></li> <li><a href="https://levelup.gitconnected.com/design-for-failure-distributed-transaction-in-microservices-f026b25ba847">Design for Failure — Distributed Transaction in Microservices</a></li> <li><a href="https://medium.com/zendesk-engineering/kafka-on-ruby-fdab12302146">Kafka on Ruby</a></li> </ul> Thu, 09 Apr 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-541/ https://jakartadev.org/daily-digest-541/ Daily Digest #540 <ul> <li><a href="https://levelup.gitconnected.com/how-worker-threads-boosted-my-node-application-9ff23abb8927">How worker threads boosted my Node application</a></li> <li><a href="https://blog.logrocket.com/simplifying-the-graphql-data-model/">Simplifying the GraphQL data model</a></li> <li><a href="https://www.erlang-solutions.com/blog/rabbitmq-quorum-queues-explained-what-you-need-to-know.html">RabbitMQ Quorum Queues explained - what you need to know</a></li> <li><a href="https://www.infoq.com/articles/service-mesh-ultimate-guide/">Service Mesh Ultimate Guide: Managing Service-to-Service Communications in the Era of Microservices</a></li> </ul> Wed, 08 Apr 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-540/ https://jakartadev.org/daily-digest-540/ Daily Digest #539 <ul> <li><a href="https://engineering.shopify.com/blogs/engineering/great-code-reviews">Great Code Reviews—The Superpower Your Team Needs</a></li> <li><a href="https://blog.logrocket.com/debugging-performance-problems-in-react/">Debugging performance problems in React</a></li> <li><a href="https://itnext.io/v8-function-optimization-2a9c0ececf5e">How V8 optimizes functions in JavaScript?</a></li> <li><a href="https://thoughtbot.com/blog/rebasing-your-branch-with-git-rebase-onto">Adventures with git Rebasing</a></li> <li><a href="https://tech.ebayinc.com/engineering/anomaly-detection/">Anomaly Detection — Product of Data Refinery</a></li> </ul> Tue, 07 Apr 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-539/ https://jakartadev.org/daily-digest-539/ Daily Digest #538 <ul> <li><a href="https://eng.lyft.com/observability-for-the-missing-hop-6688c6f3911a">Observability for the Missing Hop</a></li> <li><a href="https://itnext.io/k8s-vertical-pod-autoscaling-fd9e602cbf81">K8s Vertical Pod Autoscaling</a></li> <li><a href="https://tech.showmax.com/2020/02/clickhaton/">External Testing with Tesena</a></li> <li><a href="https://eng.uber.com/backtesting-at-scale/">Building a Backtesting Service to Measure Model Performance at Uber-scale</a></li> <li><a href="https://blog.scottlogic.com/2020/02/10/continuous-testing.html">Continuous Testing – Creating a testable CI/CD pipeline.</a></li> </ul> Mon, 06 Apr 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-538/ https://jakartadev.org/daily-digest-538/ Daily Digest #537 <ul> <li><a href="https://codeascraft.com/2020/02/03/production-webpack-builds/">The journey to fast production asset builds with Webpack</a></li> <li><a href="https://www.infoq.com/podcasts/cloud-native-scaling-kubernetes/">Anurag Goel on Cloud Native Platforms, Developer Experience, and Scaling Kubernetes</a></li> <li><a href="https://about.gitlab.com/blog/2020/02/05/kubernetes-and-multicloud/">What does Kubernetes have to do with it?</a></li> <li><a href="https://blog.discordapp.com/why-discord-is-switching-from-go-to-rust-a190bbca2b1f">Why Discord is switching from Go to Rust</a></li> </ul> Fri, 03 Apr 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-537/ https://jakartadev.org/daily-digest-537/ Daily Digest #536 <ul> <li><a href="https://www.oreilly.com/content/sre-as-a-team-sport/">SRE as a team sport</a></li> <li><a href="https://techblog.commercetools.com/how-we-transformed-the-product-search-for-the-better-7f8ac75dbeba">How we transformed the product search for the better</a></li> <li><a href="https://slack.engineering/how-big-technical-changes-happen-at-slack-f1569d25ee7b">How Big Technical Changes Happen at Slack</a></li> <li><a href="https://www.confluent.io/blog/elasticsearch-ksqldb-integration-for-data-enrichment-and-analytics/">Integrating Elasticsearch and ksqlDB for Powerful Data Enrichment and Analytics</a></li> </ul> Thu, 02 Apr 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-536/ https://jakartadev.org/daily-digest-536/ Daily Digest #535 <ul> <li><a href="https://about.gitlab.com/blog/2020/01/30/insights/">We’re dogfooding a tool to help visualize high-level trends in GitLab projects </a></li> <li><a href="https://ai.googleblog.com/2020/02/autoflip-open-source-framework-for.html">AutoFlip: An Open Source Framework for Intelligent Video Reframing</a></li> <li><a href="https://hackernoon.com/interview-with-yukihiro-matsumoto-ruby-is-designed-for-humans-not-machines-1fee3610?source=rss">Interview with Yukihiro Matsumoto: Ruby is Designed for Humans, not Machines</a></li> <li><a href="https://engineeringblog.yelp.com/2020/02/open-sourcing-varanus-and-rusty-jetpack.html">Open-Sourcing Varanus and Rusty Jetpack</a></li> </ul> Wed, 01 Apr 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-535/ https://jakartadev.org/daily-digest-535/ Daily Digest #534 <ul> <li><a href="https://blog.scottlogic.com/2020/01/29/typescript-pick-n-mix.html">TypeScript Pick ‘n Mix</a></li> <li><a href="https://engineering.linkedin.com/blog/2020/how-we-retired-python-2-and-improved-developer-happiness">How we retired Python 2 and improved developer happiness</a></li> <li><a href="https://product.hubspot.com/blog/treating-frontend-performance-as-a-feature">How We Started Treating Frontend Performance as a Feature</a></li> <li><a href="https://clevertap.com/blog/how-we-built-a-scalable-architecture-for-real-time-recommendations/">How We Built a Scalable Architecture for Real-Time Recommendations</a></li> <li><a href="https://eng.lyft.com/envoy-mobile-v0-2-deep-dive-7ed262cfdf93">Envoy Mobile v0.2 deep dive</a></li> <li><a href="https://developer.okta.com/blog/2020/02/07/transactional-mfa">Never Build MFA Again: A Developer’s Guide to Transactional MFA</a></li> <li><a href="https://medium.com/@Pinterest_Engineering/using-graph-algorithms-to-optimize-kafka-operations-part-2-c970d9c08c7d">Using graph algorithms to optimize Kafka operations, Part 2</a></li> </ul> Tue, 31 Mar 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-534/ https://jakartadev.org/daily-digest-534/ Daily Digest #533 <ul> <li><a href="https://www.smashingmagazine.com/2020/01/migration-from-wordpress-to-jamstack/">How Smashing Magazine Manages Content: Migration From WordPress To JAMstack</a></li> <li><a href="https://hackernoon.com/model-paradigm-for-engineering-f17g36rg?source=rss">Model Paradigm for Engineering</a></li> <li><a href="https://hackernoon.com/a-performance-optimization-of-flutter-webview-8f5336wa?source=rss">A Performance Optimization of Flutter WebView</a></li> <li><a href="https://medium.com/airbnb-engineering/building-an-effective-test-pipeline-in-a-service-oriented-world-6968c513c6bd">Building an Effective Test Pipeline in a Service Oriented World</a></li> <li><a href="https://www.scylladb.com/2020/02/04/fireeye-providing-real-time-threat-analysis-using-a-graph-database/">FireEye: Providing Real-Time Threat Analysis using a Graph Database</a></li> </ul> Mon, 30 Mar 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-533/ https://jakartadev.org/daily-digest-533/ Daily Digest #532 <ul> <li><a href="https://engineering.zomato.com/blog/food-preparation-time">The Deep Tech Behind Estimating Food Preparation Time</a></li> <li><a href="https://www.infoq.com/news/2020/01/distributed-data-mesh/">The Distributed Data Mesh as a Solution to Centralized Data Monoliths</a></li> <li><a href="https://engineering.shopify.com/blogs/engineering/react-native-future-mobile-shopify">React Native is the Future of Mobile at Shopify</a></li> <li><a href="https://hackernoon.com/observability-on-heroku-how-to-monitor-apps-on-a-managed-infrastructure-7x3o331b?source=rss">Observability on Heroku: How to Monitor Apps on a Managed Infrastructure</a></li> </ul> Fri, 27 Mar 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-532/ https://jakartadev.org/daily-digest-532/ Daily Digest #531 <ul> <li><a href="https://www.infoq.com/presentations/ci-cd-ml/">CI/CD for Machine Learning</a></li> <li><a href="https://www.infoq.com/podcasts/debugging-record-replay-data/">Greg Law on Debugging, Record &amp; Replay of Data, and Hyper-Observability</a></li> <li><a href="https://developers.soundcloud.com/blog/dagger-reflect">Speeding Up Builds with Dagger Reflect</a></li> <li><a href="https://engblog.nextdoor.com/data-migrations-dont-have-to-come-with-downtime-eabc15893700">Data Migrations Don’t Have to Come with Downtime</a></li> <li><a href="https://www.infoq.com/presentations/network-pneumatic-tubes/">It Really Is a Series of Tubes</a></li> </ul> Thu, 26 Mar 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-531/ https://jakartadev.org/daily-digest-531/ Daily Digest #530 <ul> <li><a href="https://sysdig.com/blog/troubleshoot-kubernetes-oom/">How to troubleshoot Kubernetes OOM and CPU Throttle</a></li> <li><a href="https://medium.com/walmartlabs/optimizing-experimentation-resources-with-shared-control-6a2677e6e513">Optimizing Experimentation Resources with Shared Control</a></li> <li><a href="https://medium.com/zendesk-engineering/pakkr-part-i-one-pipeline-to-rule-them-all-9f297cc617b">pakkr (Part I), One Pipeline to Rule Them All</a></li> <li><a href="https://www.infoq.com/presentations/collaborative-contract-driven-development/">Collaborative Contract-Driven Development</a></li> </ul> Tue, 24 Mar 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-530/ https://jakartadev.org/daily-digest-530/ Daily Digest #529 <ul> <li><a href="https://www.theguardian.com/info/2020/feb/04/taming-data-transfer-costs-with-elasticsearch">Taming data transfer costs with Elasticsearch </a></li> <li><a href="https://itnext.io/designing-the-shortening-url-system-like-bit-ly-loading-6-billion-clicks-a-month-78b3e48eee8c">Designing the Shortening URL system like Bit.ly, loading 6 billion clicks a month</a></li> <li><a href="https://www.infoq.com/news/2020/01/twitter-deterministic-aperture/">How Twitter Improves Resource Usage with a Deterministic Load Balancing Algorithm </a></li> <li><a href="https://hackernoon.com/configuring-sql-server-for-high-availability-in-the-cloud-rs4b36ns?source=rss">Configuring SQL Server for High Availability in the Cloud</a></li> </ul> Mon, 23 Mar 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-529/ https://jakartadev.org/daily-digest-529/ Daily Digest #528 <ul> <li><a href="https://developers.soundcloud.com/blog/power-of-types-for-errors">The Power of Types for Errors</a></li> <li><a href="https://tech.just-eat.com/2020/01/20/introduction-to-jubako/">Introduction to Jubako</a></li> <li><a href="https://www.infoq.com/presentations/aeron-cluster-raft/">Fault Tolerance at Speed</a></li> <li><a href="https://www.confluent.io/blog/infinite-kafka-storage-in-confluent-platform/">Infinite Storage in Confluent Platform</a></li> <li><a href="https://engineeringblog.yelp.com/2020/01/streams-and-monk-how-yelp-approaches-kafka-in-2020.html">Streams and Monk – How Yelp is Approaching Kafka in 2020</a></li> <li><a href="https://www.infoq.com/presentations/circleci-evolutionary-architecture/">Evolutionary Architecture as Product @ CircleCI</a></li> <li><a href="https://devopsdirective.com/posts/2020/02/hugo-cloud-build/">CI/CD for this site (Hugo + Cloud Build)</a>s</li> </ul> Fri, 20 Mar 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-528/ https://jakartadev.org/daily-digest-528/ Daily Digest #527 <ul> <li><a href="https://engineering.salesforce.com/how-to-continuously-profile-tens-of-thousands-of-production-servers-a5714bab4dc0">How to Continuously Profile Tens of Thousands of Production Servers</a></li> <li><a href="https://tech.ebayinc.com/engineering/speed-by-a-thousand-cuts/">Speed By A Thousand Cuts</a></li> <li><a href="https://devblog.songkick.com/how-we-migrated-to-google-cloud-8f0b352fdde4">How we migrated to Google Cloud</a></li> <li><a href="https://levelup.gitconnected.com/linux-kernel-tuning-for-high-performance-networking-high-volume-incoming-connections-196e863d458a">High Volume Incoming Connections</a></li> <li><a href="https://levelup.gitconnected.com/successfully-porting-complex-data-driven-frontends-to-react-w-graphql-83a011da5a2a">Successfully porting complex data-driven frontends to React with GraphQL</a></li> </ul> Thu, 19 Mar 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-527/ https://jakartadev.org/daily-digest-527/ Daily Digest #526 <ul> <li><a href="https://nohq.co/blog/sid-sijbrandij-people-dont-want-to-commute-they-ju/">Sid Sijbrandij: “People don’t want to commute; they just don’t want to miss out”</a></li> <li><a href="https://blog.cloudflare.com/a-cost-effective-and-extensible-testbed-for-transport-protocol-development/">A cost-effective and extensible testbed for transport protocol development</a></li> <li><a href="https://www.scylladb.com/2020/01/15/comcast-sprinting-from-cassandra-to-scylla/">Comcast: Sprinting from Cassandra to Scylla</a></li> <li><a href="https://product.hubspot.com/blog/building-products-across-multiple-teams">Building Products Across Multiple Teams</a></li> </ul> Wed, 18 Mar 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-526/ https://jakartadev.org/daily-digest-526/ Daily Digest #525 <ul> <li><a href="https://blog.heroku.com/terrier-open-source-identifying-analyzing-containers">Terrier: An Open-Source Tool for Identifying and Analyzing Container and Image Components</a></li> <li><a href="https://product.hubspot.com/blog/treating-frontend-performance-as-a-feature">How We Started Treating Frontend Performance as a Feature</a></li> <li><a href="https://tech.instacart.com/building-instacart-pickup-705a406b6350">Building Instacart Pickup</a></li> <li><a href="https://www.confluent.io/blog/kafka-streams-tables-part-2-topics-partitions-and-storage-fundamentals/">Streams and Tables in Apache Kafka: Topics, Partitions, and Storage Fundamentals</a></li> <li><a href="https://www.infoq.com/presentations/template-reactive-system/">The Value of Reactive Systems</a></li> </ul> Tue, 17 Mar 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-525/ https://jakartadev.org/daily-digest-525/ Daily Digest #524 <ul> <li><a href="https://suzettewoodward.org/2018/03/05/just-culture/">Just Culture</a></li> <li><a href="https://github.com/o2sh/onefetch">Onefetch - Git repository summary on your terminal</a></li> <li><a href="https://avdi.codes/on-gatekeeping-complicity-and-arrival/">On Gatekeeping, Complicity, and Arrival </a></li> <li><a href="https://ruthmalan.com/Journal/2019/20190629SlideDocTechnicalLeadershipDecisions.pdf">Technical Leadership Decisions</a></li> <li><a href="https://apiumhub.com/tech-blog-barcelona/the-circuit-breaker-pattern/">The Circuit Breaker Pattern</a></li> <li><a href="https://jvns.ca/blog/2019/10/28/sqlite-is-really-easy-to-compile/">SQLite is really easy to compile</a></li> </ul> Mon, 16 Mar 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-524/ https://jakartadev.org/daily-digest-524/ Daily Digest #523 <ul> <li><a href="https://tech.just-eat.com/2020/01/17/operating-load-testing-infrastructure-at-scale/">Operating Load Testing Infrastructure at Scale</a></li> <li><a href="https://blog.scottlogic.com/2020/01/13/selenium-vs-puppeteer.html">Selenium vs Puppeteer: testing the testing tools</a></li> <li><a href="https://itnext.io/react-native-performance-optimization-and-profiling-5b586e9018f8">React Native Performance Optimization and Profiling</a></li> <li><a href="https://medium.com/pinterest-engineering/powering-pinterest-ads-analytics-with-apache-druid-51aa6ffb97c1">Powering Pinterest ads analytics with Apache Druid</a></li> </ul> Fri, 13 Mar 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-523/ https://jakartadev.org/daily-digest-523/ Daily Digest #522 <ul> <li><a href="https://github.com/ValdikSS/GoodbyeDPI">GoodbyeDPI — Passive Deep Packet Inspection blocker and Active DPI circumvention utility (for Windows)</a></li> <li><a href="https://www.confluent.io/blog/kafka-streams-tables-part-4-elasticity-fault-tolerance-advanced-concepts/">Streams and Tables in Apache Kafka: Elasticity, Fault Tolerance, and Other Advanced Concepts</a></li> <li><a href="https://www.infoq.com/presentations/spinnaker-jpmorgan-chase/">The Reality of Managing Microservice Deployments at Scale: You Need a Spinnaker</a></li> <li><a href="https://www.scylladb.com/2020/01/16/maximizing-disk-utilization-with-incremental-compaction/">Maximizing Disk Utilization with Incremental Compaction</a></li> <li><a href="https://spin.atomicobject.com/2020/01/07/understanding-ruby-dsls/">Pay No Attention: Behind the Magic of Ruby DSLs</a></li> </ul> Thu, 12 Mar 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-522/ https://jakartadev.org/daily-digest-522/ Daily Digest #521 <ul> <li><a href="https://blogs.dropbox.com/tech/2020/01/store-grand-re-opening-loading-android-data-with-coroutines/">Store grand re-opening: loading Android data with coroutines</a></li> <li><a href="https://semaphoreci.com/community/tutorials/stubbing-and-mocking-in-java-with-the-spock-testing-framework">Stubbing and Mocking in Java with the Spock Testing Framework</a></li> <li><a href="https://ai.googleblog.com/2020/01/can-you-trust-your-models-uncertainty.html">Can You Trust Your Model’s Uncertainty?</a></li> <li><a href="https://stackoverflow.blog/2019/09/30/how-to-make-good-code-reviews-better/">How to Make Good Code Reviews Better</a></li> <li><a href="https://pganalyze.com/blog/efficient-graphql-queries-in-ruby-on-rails-and-postgres">Efficient GraphQL queries in Ruby on Rails &amp; Postgres</a></li> </ul> Wed, 11 Mar 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-521/ https://jakartadev.org/daily-digest-521/ Mengenal hub dari Github <p><img src="/public/images/posts/hub.jpg" alt="" /></p> <p><a href="https://hub.github.com/">Hub</a>, yang merupakan satu program yang dirilis oleh Github agar kita bisa melakukan aktivitas di Github melalui command line.</p> <p>Hal ini sangat berguna untuk developer atau orang yang memiliki tanggung jawab pada repo yang dibuat.</p> <p>Hub sendiri merupakan ekstensi dari perintah <code class="highlighter-rouge">git</code>, yang artinya hub dibangun di atas perintah git yang sudah ada, beberapa perintah hub ini dibuat spesifik untuk berhubungan dengan github, seperti <code class="highlighter-rouge">pull-request</code> dan beberapa perintah lain yang spesifik Github juga, selain <em>subcommand</em> ini, hub bisa digunakan juga untuk komunikasi dengan penyedia layanan git yang lain seperti <a href="https://bitbucket.org/">Bitbucket</a> atau <a href="https://gitlab.com/">Gitlab</a>.</p> <!--more--> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>❯ hub <span class="nb">help </span>usage: git <span class="o">[</span><span class="nt">--version</span><span class="o">]</span> <span class="o">[</span><span class="nt">--help</span><span class="o">]</span> <span class="o">[</span><span class="nt">-C</span> &lt;path&gt;] <span class="o">[</span><span class="nt">-c</span> &lt;name&gt;<span class="o">=</span>&lt;value&gt;] <span class="o">[</span><span class="nt">--exec-path</span><span class="o">[=</span>&lt;path&gt;]] <span class="o">[</span><span class="nt">--html-path</span><span class="o">]</span> <span class="o">[</span><span class="nt">--man-path</span><span class="o">]</span> <span class="o">[</span><span class="nt">--info-path</span><span class="o">]</span> <span class="o">[</span><span class="nt">-p</span> | <span class="nt">--paginate</span> | <span class="nt">-P</span> | <span class="nt">--no-pager</span><span class="o">]</span> <span class="o">[</span><span class="nt">--no-replace-objects</span><span class="o">]</span> <span class="o">[</span><span class="nt">--bare</span><span class="o">]</span> <span class="o">[</span><span class="nt">--git-dir</span><span class="o">=</span>&lt;path&gt;] <span class="o">[</span><span class="nt">--work-tree</span><span class="o">=</span>&lt;path&gt;] <span class="o">[</span><span class="nt">--namespace</span><span class="o">=</span>&lt;name&gt;] &lt;<span class="nb">command</span><span class="o">&gt;</span> <span class="o">[</span>&lt;args&gt;] ... These GitHub commands are provided by hub: api Low-level GitHub API request interface browse Open a GitHub page <span class="k">in </span>the default browser ci-status Show the status of GitHub checks <span class="k">for </span>a commit compare Open a compare page on GitHub create Create this repository on GitHub and add GitHub as origin delete Delete a repository on GitHub fork Make a fork of a remote repository on GitHub and add as remote gist Make a gist issue List or create GitHub issues <span class="nb">pr </span>List or checkout GitHub pull requests pull-request Open a pull request on GitHub release List or create GitHub releases <span class="nb">sync </span>Fetch git objects from upstream and update branches </code></pre></div></div> <h3 id="instalasi">Instalasi</h3> <p>Untuk pengguna mac, instalasi cukup gampang, dengan menggunakan <code class="highlighter-rouge">homebrew</code>, untuk yang belum mengetahui homebrew bisa membaca artikel <a href="https://jenius.tech/2018/01/11/hipster-commit/">jenius.tech yang lalu</a>.</p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="o">&gt;</span> brew <span class="nb">install </span>hub </code></pre></div></div> <p>verifikasi instalasi dan versinya</p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>❯ hub version git version 2.25.1 hub version 2.14.2 </code></pre></div></div> <h3 id="penggunaan">Penggunaan</h3> <p>Seperti penjelasan di atas, hub dapat digunakan untuk repository git yang ada di mesin kita, mengaturnya, seperti membuat branch, commit, push dan operasi git lainnya</p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>❯ hub status On branch master Your branch is up to <span class="nb">date </span>with <span class="s1">'origin/master'</span><span class="nb">.</span> Changes not staged <span class="k">for </span>commit: <span class="o">(</span>use <span class="s2">"git add &lt;file&gt;..."</span> to update what will be committed<span class="o">)</span> <span class="o">(</span>use <span class="s2">"git restore &lt;file&gt;..."</span> to discard changes <span class="k">in </span>working directory<span class="o">)</span> </code></pre></div></div> <p>Dan untuk perintah yang spesifik terhadap Github misalkan, bisa kita test dengan menggunakan subcommand <code class="highlighter-rouge">create</code> dan <code class="highlighter-rouge">delete</code> yang akan membuat repository baru dan menghapusnya.</p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>❯ hub create microservice-cendol A git remote named <span class="s1">'origin'</span> already exists and is <span class="nb">set </span>to push to <span class="s1">'ssh://git@github.com/dedenf/dedenf.github.io.git'</span><span class="nb">.</span> https://github.com/dedenf/microservice-cendol </code></pre></div></div> <p>Dengan perintah di atas, saya membuat repo <code class="highlighter-rouge">microservice-cendol</code>, dan jika kita lihat di halaman repo Github user kita</p> <p><img src="/public/images/posts/hub-create.jpg" alt="" /></p> <p>Atau jika kita sudah memiliki project di mesin kita yang hendak kita jadikan repo di Github, bisa dengan perintah git dulu untuk menginisiasi repo, dan kemudian membuat repo-nya berdasarkan folder yang sedang aktif.</p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>~/Developments/tem/hub ❯ <span class="nb">touch </span>readme.md ~/Developments/tem/hub ❯ git init Initialized empty Git repository <span class="k">in</span> /Users/dedenf/Developments/tem/hub/.git/ ~/Developments/tem/hub master<span class="k">*</span> ❯ git add <span class="nb">.</span> ~/Developments/tem/hub master<span class="k">*</span> ❯ git commit <span class="nt">-m</span> <span class="s2">"init"</span> <span class="o">[</span>master <span class="o">(</span>root-commit<span class="o">)</span> 7c38066] init 1 file changed, 0 insertions<span class="o">(</span>+<span class="o">)</span>, 0 deletions<span class="o">(</span>-<span class="o">)</span> create mode 100644 readme.md ~/Developments/tem/hub master ❯ hub create Updating origin https://github.com/dedenf/hub </code></pre></div></div> <p>Dan masih banyak lagi perintah yang bisa digunakan dalam pengoperasian git melalui perintah hub ini, silakan <a href="https://hub.github.com/hub.1.html">baca-baca dokumentasinya</a>.</p> Tue, 10 Mar 2020 00:00:00 +0000 https://jakartadev.org/mengenal-hub-command-line-git-github/ https://jakartadev.org/mengenal-hub-command-line-git-github/ Daily Digest #520 <ul> <li><a href="https://blog.colinbreck.com/observations-on-observability/">Observations on Observability</a></li> <li><a href="https://medium.com/walmartlabs/leveraging-api-blueprint-to-scale-application-development-ba69be715f90">Leveraging API Blueprint to Scale Application Development</a></li> <li><a href="https://github.com/testing-library/react-testing-library">React testing library</a></li> <li><a href="https://leimao.github.io/blog/Tmux-Tutorial/">Tmux Tutorial</a></li> <li><a href="https://blog.pragmatists.com/rethinked-guide-to-testing-react-redux-applications-4df038705ce8">Rethought guide to testing React &amp; Redux applications</a></li> </ul> Tue, 10 Mar 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-520/ https://jakartadev.org/daily-digest-520/ Daily Digest #519 <ul> <li><a href="https://tech.wayfair.com/2020/01/a-scientific-approach-to-capacity-planning/">A Scientific Approach to Capacity Planning</a></li> <li><a href="https://failfastmoveon.blogspot.com/2019/10/psychometry-science-pseudoscience-and.html">Psychometry: Science, pseudoscience and make-belief</a></li> <li><a href="https://medium.com/techies-toolkit/get-unused-routes-of-your-rails-app-be602766fda9">Get unused routes of large Rails App 🛠</a></li> <li><a href="https://www.conventionalcommits.org/en/v1.0.0/">Conventional Commits</a></li> <li><a href="https://codeascraft.com/2019/10/02/engineering-career-development-at-etsy/">Engineering Career Development at Etsy</a></li> </ul> Mon, 09 Mar 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-519/ https://jakartadev.org/daily-digest-519/ Daily Digest #518 <ul> <li><a href="https://www.infoq.com/articles/service-mesh-ultimate-guide/">Service Mesh Ultimate Guide: Managing Service-to-Service Communications in the Era of Microservices </a></li> <li><a href="https://fasterthanli.me/blog/2020/a-half-hour-to-learn-rust/">A half-hour to learn Rust </a></li> <li><a href="https://www.wired.com/story/wireguard-gives-linux-faster-secure-vpn/">WireGuard Gives Linux a Faster, More Secure VPN</a></li> <li><a href="https://blog.cloudflare.com/javascript-libraries-are-almost-never-updated/">JavaScript Libraries Are Almost Never Updated Once Installed</a></li> <li><a href="https://glitch.com/glimmer/post/react-starter-kit">Glitch React starter kit</a></li> <li><a href="https://stackoverflow.blog/2020/02/26/whats-behind-the-hype-about-blazor/">What’s behind the hype about Blazor?</a>`</li> </ul> Fri, 06 Mar 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-518/ https://jakartadev.org/daily-digest-518/ Daily Digest #517 <ul> <li><a href="https://www.infoq.com/articles/kotlin-coroutines-bottom-up/">A Bottom-Up View of Kotlin Coroutines</a></li> <li><a href="https://dev.to/whizzzoe/how-i-set-up-vscode-for-productivity-checklist-omc">How I set up VSCode for productivity? [Checklist] </a></li> <li><a href="https://cloud.google.com/blog/products/management-tools/sre-for-single-tiered-software-applications">Making your monolith more reliable</a></li> <li><a href="https://www.enterpriseai.news/2020/02/18/how-developers-can-overcome-the-microservices-deep-systems-problem/">The Problem with Microservices: ‘Deep Systems’</a></li> <li><a href="https://www.infoq.com/articles/anatomy-cascading-failure/">Anatomy of Cascading Failure</a></li> </ul> Thu, 05 Mar 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-517/ https://jakartadev.org/daily-digest-517/ Daily Digest #516 <ul> <li><a href="https://blog.cloudflare.com/accelerating-udp-packet-transmission-for-quic/">Accelerating UDP packet transmission for QUIC</a></li> <li><a href="https://levelup.gitconnected.com/secure-jwts-with-backend-for-frontend-9b7611ad2afb">JWT Architecture for Modern Apps</a></li> <li><a href="https://nordicapis.com/api-taxonomy-explained-the-many-types-of-apis/">API Taxonomy Explained: The Many Types of APIs</a></li> <li><a href="https://www.infoq.com/news/2020/01/blake3-fast-crypto-hash/">BLAKE3 Is an Extremely Fast, Parallel Cryptographic Hash</a></li> <li><a href="https://engineering.indeedblog.com/blog/2020/01/improving-incident-retrospectives/">Improving Incident Retrospectives</a></li> <li><a href="https://engineering.salesforce.com/finding-evil-on-the-network-using-ja3-s-and-hassh-11431a8606e4">Finding Evil on the Network Using JA3/S and HASSH</a></li> </ul> Wed, 04 Mar 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-516/ https://jakartadev.org/daily-digest-516/ Daily Digest #515 <ul> <li><a href="https://engineering.grab.com/designing-resilient-systems-part-1">Designing Resilient Systems: Circuit Breakers or Retries? (Part 1)</a></li> <li><a href="https://engineering.salesforce.com/salesforce-cloud-security-automating-least-privilege-in-aws-iam-with-policy-sentry-b04fe457b8dc">Salesforce Cloud Security: Automating Least Privilege in AWS IAM with Policy Sentry</a></li> <li><a href="https://hackernoon.com/very-basic-intro-to-aes-256-cipher-qxr32yk?source=rss">A Very Basic Introduction to AES-256 Cipher</a></li> <li><a href="https://www.confluent.io/blog/kafka-streams-tables-part-1-event-streaming/">Streams and Tables in Apache Kafka: A Primer</a></li> <li><a href="https://medium.com/@Pinterest_Engineering/interest-taxonomy-a-knowledge-graph-management-system-for-content-understanding-at-pinterest-a6ae75c203fd">Interest Taxonomy: A knowledge graph management system for content understanding at Pinterest Pinterest Engineering</a></li> </ul> Tue, 03 Mar 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-515/ https://jakartadev.org/daily-digest-515/ Daily Digest #514 <p>-<a href="https://qvault.io/2020/02/20/how-to-build-jwts-in-go-golang/">How To Build JWT’s in Go (Golang)</a></p> <ul> <li><a href="https://levelup.gitconnected.com/how-docker-authentication-works-by-documentation-mitm-and-implementation-e62cd7a31178">How Docker Authentication Works: By Documentation, MITM, and Implementation</a></li> <li><a href="https://www.infoq.com/presentations/redefining-software-engineering/">Taking Back Software Engineering</a></li> <li><a href="https://blog.logrocket.com/how-to-migrate-a-database-schema-at-scale/">How to migrate a database schema at scale</a></li> <li><a href="https://blogs.dropbox.com/tech/2020/01/intelligent-dns-based-load-balancing-at-dropbox/">Intelligent DNS based load balancing at Dropbox</a></li> </ul> Mon, 02 Mar 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-514/ https://jakartadev.org/daily-digest-514/ Daily Digest #513 <ul> <li><a href="https://tech.ebayinc.com/engineering/automation-via-the-accessibility-ruleset-runner/">Automation via the Accessibility Ruleset Runner</a></li> <li><a href="https://engineering.grab.com/preventing-app-performance-degradation-due-to-sudden-ride-demand-spikes">How We Prevented App Performance Degradation From Sudden Ride Demand Spikes </a></li> <li><a href="https://blog.cloudflare.com/workers-and-webpagetest/">Prototyping optimizations with Cloudflare Workers and WebPageTest</a></li> <li><a href="https://semaphoreci.com/blog/inside-wetransfer-testing-process">Inside WeTransfer’s App Testing Process with Antoine van der Lee</a></li> <li><a href="https://engineering.grab.com/plumbing-at-scale">Plumbing At Scale</a></li> <li><a href="https://engineering.prezi.com/prometheus-at-prezi-replacing-10-years-of-anti-patterns-e3c2317e6ca">Prometheus at Prezi: replacing 10 years of anti-patterns</a></li> </ul> Fri, 28 Feb 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-513/ https://jakartadev.org/daily-digest-513/ Daily Digest #512 <ul> <li><a href="https://blog.scottlogic.com/2020/01/03/rethinking-the-java-dto.html">Rethinking the Java DTO</a></li> <li><a href="https://medium.com/walmartlabs/routing-engine-central-work-dispenser-850567a0535d">Building a Central Work Dispenser</a></li> <li><a href="https://rachelbythebay.com/w/2020/02/09/horizonta/">Trying to sneak in a sketchy .so over the weekend</a></li> <li><a href="https://deliveroo.engineering/2020/01/02/CloudFormation-To-Terraform.html">CloudFormation To Terraform</a></li> <li><a href="https://www.infoq.com/presentations/data-streaming-kafka-debezium/">Practical Change Data Streaming Use Cases with Apache Kafka &amp; Debezium</a></li> <li><a href="https://allegro.tech/2020/01/design-for-failure.html">Design for failure - multiple layers of processing to protect against failures.</a></li> </ul> Thu, 27 Feb 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-512/ https://jakartadev.org/daily-digest-512/ Daily Digest #511 <ul> <li><a href="https://www.infoq.com/news/2020/01/can-we-build-trustable-hardware/">Can We Build Trustable Hardware? Andrew Huang at 36C3</a></li> <li><a href="https://eng.lyft.com/introducing-flyte-cloud-native-machine-learning-and-data-processing-platform-fb2bb3046a59">Introducing Flyte: A Cloud Native Machine Learning and Data Processing Platform</a></li> <li><a href="https://www.weave.works/blog/how-kubernetes-helps-solve-cloud-complexity">How Kubernetes Helps Solve Cloud Complexity</a></li> <li><a href="https://itnext.io/high-performance-web-apps-2a469cfd3550">High Performance Web Apps</a></li> <li><a href="https://nodesource.com/blog/memory-leaks-demystified">Memory Leaks Demystified</a></li> </ul> Wed, 26 Feb 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-511/ https://jakartadev.org/daily-digest-511/ Daily Digest #510 <ul> <li><a href="https://www.infoq.com/presentations/simplicity-spring-cloud-services/">From Idea to Dev to Ops</a></li> <li><a href="https://blog.cloudflare.com/cloudflare-and-remote-browser-isolation/">Cloudflare + Remote Browser Isolation</a></li> <li><a href="https://levelup.gitconnected.com/micro-frontend-architecture-dynamic-import-chunks-from-another-webpack-bundle-at-runtime-1132d8cb6051">Micro Frontend Architecture: Import chunks from another Webpack bundle at runtime</a></li> <li><a href="https://towardsdatascience.com/processing-mongodb-oplog-4884f702ec5">Processing MongoDB Oplog</a></li> <li><a href="https://www.infoq.com/news/2019/12/dynein-job-queue-airbnb/">Dynein – an Asynchronous Background Job Service from Airbnb</a></li> <li><a href="https://blog.cloudflare.com/adopting-a-new-approach-to-http-prioritization/">Adopting a new approach to HTTP prioritization</a></li> <li><a href="https://blog.scottlogic.com/2019/12/30/sustainability-in-software-development.html">Sustainability in Software Development</a></li> </ul> Tue, 25 Feb 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-510/ https://jakartadev.org/daily-digest-510/ Daily Digest #509 <ul> <li><a href="https://engineering.linkedin.com/blog/2020/making-the-linkedin-experimentation-engine-20x-faster">Making the LinkedIn experimentation engine 20x faster</a></li> <li><a href="https://engineering.grab.com/journey-to-a-faster-everyday-super-app">Journey to a Faster Everyday Super App Where Every Millisecond Counts</a></li> <li><a href="https://www.infoq.com/presentations/gitlab-monolith-scale/">How Gitlab Scaled Git Access with Go and What We Gained from It</a></li> <li><a href="https://towardsdatascience.com/making-python-programs-blazingly-fast-c1cd79bd1b32">Making Python Programs Blazingly Fast</a></li> <li><a href="https://tech.ebayinc.com/engineering/automate-problems-away-with-token-jobs/">Automate Problems Away with Token Jobs</a></li> <li><a href="https://itnext.io/biometrics-fingerprint-auth-in-your-web-apps-d5599522d0b3">Biometrics (fingerprint) auth in your web apps</a></li> </ul> Mon, 24 Feb 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-509/ https://jakartadev.org/daily-digest-509/ Daily Digest #508 <ul> <li><a href="https://blog.logrocket.com/safer-code-with-container-types-either-and-maybe/">Safer code with container types (Either and Maybe)</a></li> <li><a href="https://www.infoq.com/presentations/graphql-apollo-azure-functions/">GraphQL + Apollo Server + Azure Functions = Magic</a></li> <li><a href="https://www.smashingmagazine.com/2019/12/browsers-containment-css-contain-property/">Helping Browsers Optimize With The CSS Contain Property</a></li> <li><a href="https://developers.redhat.com/blog/2020/01/01/skupper-io-let-your-services-communicate-across-kubernetes-clusters/">Skupper.io: Let your services communicate across Kubernetes clusters</a></li> <li><a href="https://www.infoq.com/presentations/micro-front-end/">Micro-front-ends: The Golden Circle</a></li> </ul> Fri, 21 Feb 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-508/ https://jakartadev.org/daily-digest-508/ Daily Digest #507 <ul> <li><a href="https://itnext.io/creating-a-zero-downtime-cluster-in-nodejs-ad879ee3160">Scalability in NodeJS: Creating a Zero-downtime cluster</a></li> <li><a href="https://hackernoon.com/how-im-engineering-a-temporal-database-storage-engine-for-byte-addressable-non-volatile-memory-af1728kl?source=rss">How I’m Engineering a Versioned Database Storage Engine for Byte-Addressable NVM</a></li> <li><a href="https://medium.com/airbnb-engineering/better-android-testing-at-airbnb-661a554a8c8b">Better Android Testing at Airbnb — Part 5: Test Architecture</a></li> <li><a href="https://www.theguardian.com/info/2019/dec/26/how-the-guardians-engineering-team-supports-the-24-hour-news-cycle">How the Guardian’s engineering team supports the 24 hour news cycle</a></li> <li><a href="https://www.infoq.com/presentations/microservices-streams-state-scalability/">Beyond Microservices: Streams, State and Scalability</a></li> <li><a href="https://engineering.shopify.com/blogs/engineering/implement-secure-central-authentication-service-six-steps">How to Implement a Secure Central Authentication Service in Six Steps </a></li> <li><a href="https://eng.lyft.com/beyond-l2-loss-how-we-experiment-with-loss-functions-at-lyft-51f9303f5d2d">Beyond L2 Loss — How we experiment with loss functions at Lyft</a></li> <li><a href="https://engineering.linkedin.com/blog/2019/building-a-blazingly-fast-android-app-part-1">Building a blazingly fast Android app, Part 1</a></li> </ul> Thu, 20 Feb 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-507/ https://jakartadev.org/daily-digest-507/ Daily Digest #506 <ul> <li><a href="https://multithreaded.stitchfix.com/blog/2019/12/19/good-marketing-decisions/">Want to make good business decisions? Learn causality</a></li> <li><a href="https://medium.com/pinterest-engineering/how-ads-indexing-works-at-pinterest-99b4796f289f">How ads indexing works at Pinterest</a></li> <li><a href="https://www.infoq.com/news/2019/12/self-managed-kubernetes-ha/">High Availability for Self-Managed Kubernetes Clusters at DT One</a></li> <li><a href="https://www.infoq.com/presentations/webassembly-compiler/">Build Your Own WebAssembly Compiler</a></li> <li><a href="https://engineering.salesforce.com/provisioning-infrastructure-for-stateful-services-in-public-cloud-an-hbase-use-case-part-ii-f2d90721be8">Provisioning Infrastructure for Stateful Services in Public Cloud: An HBase Use Case (Part II)</a></li> </ul> Wed, 19 Feb 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-506/ https://jakartadev.org/daily-digest-506/ Daily Digest #505 <ul> <li><a href="https://tech.instacart.com/the-story-behind-an-instacart-order-part-3-predicting-the-shop-d1a3bb9f5d98">The story behind an Instacart order, part 3: predicting the shop</a></li> <li><a href="https://www.theguardian.com/info/2019/dec/22/async-failure-handling-in-typescript">Async Failure handling in Typescript </a></li> <li><a href="https://www.infoq.com/news/2019/12/spotify-event-delivery/">Experience Running Spotify’s Event Delivery System in the Cloud</a></li> <li><a href="https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/daperture-load-balancer.html">Deterministic Aperture: A distributed, load balancing algorithm</a></li> <li><a href="https://www.infoq.com/presentations/rabbitmq-kafka/">RabbitMQ and Kafka</a></li> </ul> Tue, 18 Feb 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-505/ https://jakartadev.org/daily-digest-505/ Daily Digest #504 <ul> <li><a href="https://about.gitlab.com/blog/2019/12/19/how-gitlab-handles-retrospectives/">How GitLab handles retrospectives</a></li> <li><a href="https://engineering.salesforce.com/provisioning-infrastructure-for-stateful-services-in-public-cloud-an-hbase-use-case-part-i-231b53964755">Provisioning Infrastructure for Stateful Services in Public Cloud: An HBase Use Case (Part I)</a></li> <li><a href="https://www.cockroachlabs.com/blog/multicloud-microservicecs/">How Microservices Enable Multi-Cloud at the Expense of Developers</a></li> <li><a href="https://www.theguardian.com/info/2019/dec/20/securing-and-centrally-monitoring-accounts-in-amazon-web-services">Securing and centrally monitoring accounts in Amazon Web Services</a></li> <li><a href="https://engineering.khanacademy.org/posts/goliath.htm">Go + Services = One Goliath Project</a></li> <li><a href="https://giamir.com/evolutionary-ui">Evolutionary UI</a></li> </ul> Fri, 14 Feb 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-504/ https://jakartadev.org/daily-digest-504/ Daily Digest #503 <ul> <li><a href="https://blog.logrocket.com/node-worker-threads-shared-array-buffers-rust-webassembly/">Node worker threads with shared array buffers and Rust WebAssembly</a></li> <li><a href="https://engineering.salesforce.com/provisioning-infrastructure-for-stateful-services-in-public-cloud-an-hbase-use-case-part-ii-f2d90721be8">Provisioning Infrastructure for Stateful Services in Public Cloud: An HBase Use Case (Part II)</a></li> <li><a href="https://blog.logrocket.com/comlink-web-workers-match-made-in-heaven/">Comlink and web workers: A match made in heaven</a></li> <li><a href="https://eng.uber.com/uber-infrastructure-2019/">Uber Infrastructure in 2019: Improving Reliability, Driving Customer Satisfaction</a></li> <li><a href="https://www.infoq.com/presentations/mastercard-distributed-gemfire/">Scaling Beyond a Billion Transactions Per Day with Sub-second Responses</a></li> </ul> Thu, 13 Feb 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-503/ https://jakartadev.org/daily-digest-503/ Daily Digest #502 <ul> <li><a href="https://www.infoq.com/presentations/coding-without-complexity/">Coding Without Complexity</a></li> <li><a href="https://blog.heroku.com/best-practices-nodejs-errors">Let It Crash: Best Practices for Handling Node.js Errors on Shutdown</a></li> <li><a href="https://engineering.salesforce.com/open-sourcing-the-jenkins-config-driven-pipelines-plugin-9c0becaa5f79">Open Sourcing the Jenkins Config-Driven Pipelines Plugin</a></li> <li><a href="https://hackernoon.com/the-critical-request-90bb47da5769?source=rss">The critical request</a></li> <li><a href="https://kubenav.io/">Kubenav – the navigator for your Kubernetes clusters right in your pocket.</a></li> <li><a href="https://github.com/sighupio/permission-manager">Permission Manager for Kubernetes</a></li> <li><a href="https://www.octarinesec.com/octarine-open-sources-kccss-and-kubescan/">Octarine Open Sources the Kubernetes Common Configuration Scoring System and kube-scan</a></li> <li><a href="https://platform9.com/blog/six-enterprise-kubernetes-takeaways-from-kubecon-2019-san-diego/">Six Enterprise Kubernetes Takeaways from KubeCon 2019, San Diego</a></li> </ul> Wed, 12 Feb 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-502/ https://jakartadev.org/daily-digest-502/ Daily Digest #501 <ul> <li><a href="https://blog.heroku.com/curious-case-table-locking-update-query">The Curious Case of the Table-Locking UPDATE Query</a></li> <li><a href="https://hackernoon.com/cqrs-command-query-responsibility-segregation-8vb32x3?source=rss">CQRS: Command Query Responsibility Segregation In Depth</a></li> <li><a href="https://www.infoq.com/presentations/interactions-servers-databases-transactions/">Concurrency, Scalability and Transactions – Myths and Surprises</a></li> <li><a href="https://www.memsql.com/blog/what-is-skiplist-why-skiplist-index-for-memsql/">The Story Behind MemSQL’s Skiplist Indexes </a></li> <li><a href="https://www.infoq.com/presentations/simdjson-parser/">Parsing JSON Really Quickly: Lessons Learned</a></li> <li><a href="https://devblogs.nvidia.com/how-to-build-domain-specific-automatic-speech-recognition-models-on-gpus/">How to Build Domain Specific Automatic Speech Recognition Models on GPUs</a></li> </ul> Tue, 11 Feb 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-501/ https://jakartadev.org/daily-digest-501/ Daily Digest #500 <p><em>Yeay! postingan ke-500</em> :tada:</p> <ul> <li><a href="https://engineering.shopify.com/blogs/engineering/shopify-manages-api-versioning-breaking-changes">How Shopify Manages API Versioning and Breaking Changes</a></li> <li><a href="https://technology.riotgames.com/news/controlled-chaos-fault-injection-testing">Controlled Chaos with Fault Injection Testing</a></li> <li><a href="https://tech.just-eat.com/2019/12/18/modular-ios-architecture-just-eat/">Modular iOS Architecture @ Just Eat</a></li> <li><a href="https://engineering.remind.com/hypothesis-testing-in-production/">Hypothesis Testing in Production</a></li> <li><a href="https://engineering.indeedblog.com/blog/2019/12/cpu-throttling-regression-fix/">Unthrottled: How a Valid Fix Becomes a Regression</a></li> <li><a href="https://engineeringblog.yelp.com/2019/12/cassandra-source-connector-part-2.html">Streaming Cassandra into Kafka in (Near) Real-Time: Part 2</a></li> <li><a href="https://www.confluent.io/blog/apache-kafka-producer-improvements-sticky-partitioner/">Apache Kafka Producer Improvements with the Sticky Partitioner</a></li> </ul> Mon, 10 Feb 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-500/ https://jakartadev.org/daily-digest-500/ Daily Digest #499 <ul> <li><a href="https://www.infoq.com/presentations/embracing-chaos-engineering-gamedays/">Embracing Chaos!</a></li> <li><a href="https://labs.spotify.com/2019/12/13/the-winding-road-to-better-machine-learning-infrastructure-through-tensorflow-extended-and-kubeflow/">The Winding Road to Better Machine Learning Infrastructure Through Tensorflow Extended and Kubeflow</a></li> <li><a href="https://engineeringblog.yelp.com/2019/12/architecting-wait-time-estimations.html">Architecting Restaurant Wait Time Predictions</a></li> <li><a href="https://www.infoq.com/presentations/netflix-edge-gateway/">Evolution of Edge @Netflix</a></li> <li><a href="https://blogs.dropbox.com/tech/2019/12/evaluating-bbrv2-on-the-dropbox-edge-network/">Evaluating BBRv2 on the Dropbox Edge Network</a></li> </ul> Fri, 07 Feb 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-499/ https://jakartadev.org/daily-digest-499/ Daily Digest #498 <ul> <li><a href="https://stackshare.io/cloudsponge/how-cloudsponge-protects-trillions-of-email-addresses-from-hackers-and-scammers-every-year">How CloudSponge Protects Trillions Of Email Addresses From Hackers And Scammers Every Year </a></li> <li><a href="https://instagram-engineering.com/instagram-data-saver-mode-ffb01fd5a6bd">Instagram Data Saver Mode</a></li> <li><a href="https://www.infoq.com/presentations/netflix-edge-scalability-patterns/">Scaling Patterns for Netflix’s Edge</a></li> <li><a href="https://www.hostinger.com/blog/presenting-ux-ideas-to-designers/">Presenting UX Ideas to Designers in Their Language</a></li> <li><a href="https://www.infoq.com/presentations/netflix-user-identity/">User &amp; Device Identity for Microservices @ Netflix Scale</a></li> <li><a href="https://www.docker.com/blog/deep-dive-into-new-docker-desktop-filesharing-implementation/">Deep Dive Into the New Docker Desktop filesharing Implementation Using FUSE</a></li> </ul> Thu, 06 Feb 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-498/ https://jakartadev.org/daily-digest-498/ Daily Digest #497 <ul> <li><a href="https://blog.logrocket.com/building-performant-web-applications-slow-networks/">How to build performant web applications for slow networks</a></li> <li><a href="https://blog.overops.com/how-we-built-overops-for-enterprise-scale-environments/">How We Built OverOps for Enterprise-Scale Environments</a></li> <li><a href="https://netflixtechblog.com/dblog-a-generic-change-data-capture-framework-69351fb9099b">DBLog: A Generic Change-Data-Capture Framework</a></li> <li><a href="https://product.hubspot.com/blog/frontend-platform">Making hundreds of developers more efficient by creating a Frontend Platform team</a></li> <li><a href="https://developer.okta.com/blog/2019/12/16/semantic-versioning">Semantic Versioning Sucks! Long Live Semantic Versioning </a></li> </ul> Wed, 05 Feb 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-497/ https://jakartadev.org/daily-digest-497/ Daily Digest #496 <ul> <li><a href="https://engineeringblog.yelp.com/2019/12/cassandra-source-connector-part-1.html">Streaming Cassandra into Kafka in (Near) Real-Time: Part 1</a></li> <li><a href="https://android-developers.googleblog.com/2019/12/android-game-sdk.html">Android Game SDK</a></li> <li><a href="https://www.scylladb.com/2019/12/12/how-scylla-scaled-to-one-billion-rows-a-second/">How Scylla Scaled to One Billion Rows a Second</a></li> <li><a href="https://www.elastic.co/blog/bkd-backed-geo-shapes-in-elasticsearch-precision-efficiency-speed">BKD-backed geo_shapes in Elasticsearch: precision + efficiency + speed</a></li> <li><a href="https://blog.cloudflare.com/how-we-used-our-new-graphql-api-to-build-firewall-analytics/">How we used our new GraphQL Analytics API to build Firewall Analytics</a></li> <li><a href="https://www.infoq.com/presentations/building-microservices-events-functions/">Monoliths, Microservices, Events, Functions: What It Takes to Go through the Transformation</a></li> </ul> Tue, 04 Feb 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-496/ https://jakartadev.org/daily-digest-496/ Daily Digest #495 <ul> <li><a href="https://medium.com/airbnb-engineering/dynein-building-a-distributed-delayed-job-queueing-system-93ab10f05f99">Dynein: Building an Open-source Distributed Delayed Job Queueing System</a></li> <li><a href="https://engineering.linkedin.com/blog/2019/eliminating-toil-with-fully-automated-load-testing">Eliminating toil with fully automated load testing</a></li> <li><a href="https://itnext.io/eks-fargate-extensibility-of-kubernetes-serverless-benefits-77599ac1763">EKS + Fargate = Extensibility of Kubernetes + Serverless Benefits</a></li> <li><a href="https://engineering.indeedblog.com/blog/2019/12/unthrottled-fixing-cpu-limits-in-the-cloud/">Unthrottled: Fixing CPU Limits in the Cloud</a></li> <li><a href="https://www.infoq.com/presentations/spring-reactor-kotlin-javafx-mongodb/">Fully Reactive: Spring, Kotlin, and JavaFX Playing Together</a></li> <li><a href="https://rapidapi.com/blog/how-rapidapi-uses-graphql-internally/">How RapidAPI Uses GraphQL Internally</a></li> </ul> Mon, 03 Feb 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-495/ https://jakartadev.org/daily-digest-495/ Daily Digest #494 <ul> <li><a href="https://www.infoq.com/podcasts/slack-building-resilient-data-engineering/">Josh Wills on Building Resilient Data Engineering and Machine Learning Products at Slack</a></li> <li><a href="https://itnext.io/parsing-18-billion-lines-json-with-go-738be6ee5ed2">Parsing 18 billion JSON lines with Go</a></li> <li><a href="https://www.smashingmagazine.com/2019/12/struggling-handle-traffic-surges/">Struggling To Get A Handle On Traffic Surges</a></li> <li><a href="https://blogs.dropbox.com/tech/2019/12/continuous-integration-and-deployment-with-bazel/">Continuous integration and deployment with Bazel</a></li> <li><a href="https://eng.lyft.com/announcing-omnibot-a-slack-proxy-and-slack-bot-framework-d4e32dd85ee4">Announcing omnibot: a Slack proxy and Slack bot framework</a></li> </ul> Fri, 31 Jan 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-494/ https://jakartadev.org/daily-digest-494/ Daily Digest #493 <ul> <li><a href="https://www.theguardian.com/info/2019/dec/06/software-quality-in-a-world-of-microservices-and-continuous-deployment">Software quality in a world of microservices and continuous deployment </a></li> <li><a href="https://alistapart.com/article/paint-the-picture-not-the-frame/">Paint the Picture, Not the Frame: How Browsers Provide Everything Users Need</a></li> <li><a href="https://www.theguardian.com/info/2019/dec/08/migrating-the-guardian-website-to-react">Migrating the Guardian website to React</a></li> <li><a href="https://www.infoq.com/news/2019/12/network-isolation-kubernetes/">How Monzo Isolated Their Microservices Using Kubernetes Network Policies</a></li> <li><a href="https://www.percona.com/blog/2019/12/09/mysql-encryption-talking-about-keyrings/">MySQL Encryption: Talking About Keyrings</a></li> </ul> Thu, 30 Jan 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-493/ https://jakartadev.org/daily-digest-493/ Daily Digest #492 <ul> <li><a href="https://blog.logrocket.com/how-javascript-works-optimizing-for-parsing-efficiency/">How JavaScript works: Optimizing for parsing efficiency</a></li> <li><a href="https://alistapart.com/article/semantics-to-screen-readers/">Semantics to Screen Readers</a></li> <li><a href="https://www.thoughtworks.com/insights/blog/how-tell-secrets-test">How to tell secrets</a></li> <li><a href="https://thoughtbot.com/blog/the-case-for-wet-tests">The Case for WET Tests</a></li> <li><a href="https://medium.com/walmartlabs/joint-intent-classification-and-entity-recognition-for-conversational-commerce-35bf69195176">Joint Intent Classification and Entity Recognition for Conversational Commerce</a></li> </ul> Wed, 29 Jan 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-492/ https://jakartadev.org/daily-digest-492/ Daily Digest #491 <ul> <li><a href="https://www.ably.io/blog/the-realtime-api-family/">The Realtime API Family</a></li> <li><a href="https://www.drmaciver.com/2019/10/vocabulary-building-satisficing/">Vocabulary Building: Satisficing</a></li> <li><a href="https://itnext.io/high-level-micro-ui-architecture-a033bc8e87a8">High level Micro-ui Architecture</a></li> <li><a href="https://rossta.net/blog/three-ways-webpack-surprises-rails-developers.html"> 3 ways Webpack surprises web developers </a></li> <li><a href="https://blog.gojekengineering.com/screenshot-testing-our-design-system-on-android-d78c9854eb6b">Screenshot Testing our Design System on Android</a></li> </ul> Tue, 28 Jan 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-491/ https://jakartadev.org/daily-digest-491/ Daily Digest #490 <ul> <li><a href="https://josemdev.com/articles/how-to-be-a-better-remote-worker/">How to be a better remote worker</a></li> <li><a href="https://www.infoq.com/news/2019/11/shopify-custom-autoscaler-k8s/">How Shopify Implements Custom Autoscaling Rules in Kubernetes</a></li> <li><a href="https://blog.scottlogic.com/2019/11/28/email-digests-with-elasticsearch-via-a-serverless-architecture.html">Email Digests with Elasticsearch via a Serverless Architecture</a></li> <li><a href="https://engineering.linecorp.com/en/blog/building-large-kubernetes-clusters/">Building Large Kubernetes Clusters</a></li> <li><a href="https://www.infoq.com/news/2019/12/kubernetes-hard-way-datadog/">Kubernetes the Very Hard Way with Large Clusters at Datadog</a></li> </ul> Mon, 27 Jan 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-490/ https://jakartadev.org/daily-digest-490/ Free report: What is SRE? <p><img src="/public/images/posts/ebook-sre-report.jpg" alt="" /></p> <p><a href="https://get.oreilly.com/ind_what-is-sre.html">Ebook</a> yang berjumlah 40 halaman, berisi dari mulai apa itu SRE, definisinya dan <em>role</em> yang dipegang oleh SRE, awal mula munculnya role ini, dan apakah perusahaan bisa mengimplementasikan SRE ini.</p> <p><a href="https://get.oreilly.com/ind_what-is-sre.html">Download</a>`</p> Fri, 24 Jan 2020 00:00:00 +0000 https://jakartadev.org/ebook-oreilly-sre-report/ https://jakartadev.org/ebook-oreilly-sre-report/ Daily Digest #489 <ul> <li><a href="https://eregon.me/blog/2020/01/13/a-migration-path-to-bundler2.html">A Migration Path to Bundler 2+</a></li> <li><a href="https://tech.ebayinc.com/engineering/autofill-deep-dive/">Autofill on Browsers: A Deep Dive</a></li> <li><a href="https://netflixtechblog.com/open-sourcing-metaflow-a-human-centric-framework-for-data-science-fa72e04a5d9">Open-Sourcing Metaflow, a Human-Centric Framework for Data Science</a></li> <li><a href="https://engineering.tumblr.com/post/189455858864/how-reblogs-work">How Reblogs Work</a></li> <li><a href="https://www.cockroachlabs.com/blog/follower-reads/">Reducing Multi-Region Latency with Follower Reads</a></li> </ul> Fri, 24 Jan 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-489/ https://jakartadev.org/daily-digest-489/ Daily Digest #488 <ul> <li><a href="https://www.infoq.com/presentations/data-engineering-pipelines-warehouses/">Future of Data Engineering</a></li> <li><a href="https://medium.com/pinterest-engineering/powering-pinterest-ads-analytics-with-apache-druid-51aa6ffb97c1">Powering Pinterest ads analytics with Apache Druid</a></li> <li><a href="https://blog.cloudflare.com/thinking-about-color/">Thinking about color</a></li> <li><a href="https://www.infoq.com/news/2019/12/ebay-architecture-knowledgegraph/">Managing eBay Vast Service Architecture Using Knowledge Graphs</a></li> <li><a href="https://shime.sh/deep-dive-into-did-you-mean">Deep dive into Did You Mean</a></li> <li><a href="https://age-of-product.com/peak-agile/">Have We Reached Peak Agile?</a></li> </ul> Thu, 23 Jan 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-488/ https://jakartadev.org/daily-digest-488/ Daily Digest #487 <ul> <li><a href="https://product.hubspot.com/blog/categories-associations-and-navigation-design">Categories, Associations, and Navigation Design</a></li> <li><a href="https://www.infoq.com/news/2019/12/airbnb-graphql-migration/">Migrating to GraphQL at Airbnb</a></li> <li><a href="https://tech.just-eat.com/2019/12/04/lessons-learned-from-handling-jwt-on-mobile/">Lessons learned from handling JWT on mobile</a></li> <li><a href="https://nordicapis.com/understanding-the-hidden-powers-of-curl/">Understanding the Hidden Powers of curl</a></li> <li><a href="https://stackshare.io/pinterest/building-a-kubernetes-platform-at-pinterest">Building a Kubernetes Platform at Pinterest </a></li> </ul> Wed, 22 Jan 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-487/ https://jakartadev.org/daily-digest-487/ Delivering Reliable Software in the Enterprise <p><img src="/public/images/posts/overops.png" alt="" /></p> <p>Ebook yang ditulis mengenai <em>software development</em>, oleh <a href="https://www.overops.com/">Overops</a>, yang mana dalam dunia <em>development</em> selalu fokus ke inovasi dan juga <em>maintainability</em>, dimana <em>software</em> bisa selalu mengikuti zaman dan juga kemajuan teknologi.</p> <p><a href="https://land.overops.com/deliver-reliable-software-ebook/">E-book bisa didownload di sini</a>.</p> Tue, 21 Jan 2020 00:00:00 +0000 https://jakartadev.org/ebook-delivering-reliable-software-in-the-enterprise/ https://jakartadev.org/ebook-delivering-reliable-software-in-the-enterprise/ Daily Digest #486 <ul> <li><a href="https://engineering.wingify.com/posts/wingify-towards-docker-kubernetes/">Wingify towards Docker and Kubernetes</a></li> <li><a href="https://medium.com/carousell-insider/assembling-robust-web-chat-applications-with-javascript-an-in-depth-guide-9f36685fc1bc">Assembling Robust Web Chat Applications with JavaScript: An In-depth Guide</a></li> <li><a href="https://engineering.thumbtack.com/targeted-code-coverage-for-android/">Targeted Code Coverage Reports for Android Continuous Builds</a></li> <li><a href="https://www.smashingmagazine.com/2019/12/git-hooks-team-development-workflow/">How To Ease Your Team’s Development Workflow With Git Hooks</a></li> <li><a href="https://engineering.zomato.com/blog/all-new-search-and-discovery-on-zomato">All new Search and Discovery on Zomato </a></li> </ul> Tue, 21 Jan 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-486/ https://jakartadev.org/daily-digest-486/ Daily Digest #485 <ul> <li><a href="https://blog.logrocket.com/kubernetes-log-aggregation/">Kubernetes log aggregation</a></li> <li><a href="https://medium.com/airbnb-engineering/better-android-testing-at-airbnb-a77ac9531cab">Better Android Testing at Airbnb — Part 2: Screenshot Testing</a></li> <li><a href="https://about.gitlab.com/blog/2019/11/29/shopping-for-an-admin-account/">Shopping for an admin account via path traversal</a></li> <li><a href="https://blog.cloudflare.com/html-parsing-2/">A History of HTML Parsing at Cloudflare: Part 2</a></li> <li><a href="https://itnext.io/infrastructure-resilience-handling-invalid-configuration-in-the-envoy-proxy-f20883eba8a7">Infrastructure Resilience: Handling Invalid Configuration in the Envoy Proxy</a></li> <li><a href="https://www.theguardian.com/info/2019/dec/02/faster-postgresql-connection-recovery">Faster PostgreSQL connection recovery</a></li> </ul> Mon, 20 Jan 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-485/ https://jakartadev.org/daily-digest-485/ Jetbrains Mono typeface <p><img src="/public/images/posts/jetbrain-mono.png" alt="" /></p> <p>Baru-baru ini JetBrains, perusahaan yang membuat editor, dan kebetulan juga banyak yang menggunakan editor ini di Jenius, meng-opensource-kan font yang digunakan dibanyak editor-editornya, yaitu <a href="https://www.jetbrains.com/lp/mono/">JetBrains Mono</a>, font ini masuk tipe <a href="https://en.wikipedia.org/wiki/Monospaced_font">Monospaced</a>, font ini memang enak untuk dibaca dan lebih jelas dalam melihat kode. <!--more--> Untuk melihat cara instalasi di berbagai sistem operasi, dan juga cara menggunakan di editor lain, bisa dilihat project repo-nya di <a href="https://github.com/JetBrains/JetBrainsMono">Github berikut</a>.</p> <p>Instalasi di Visual Code Studio terhitung gambang, cukup masuk ke preference -&gt; setting, masukkan font di konfigurasi font. <img src="/public/images/posts/jetbrain-mono-font-vcs.png" alt="" /></p> Fri, 17 Jan 2020 00:00:00 +0000 https://jakartadev.org/jetbrains-mono-font/ https://jakartadev.org/jetbrains-mono-font/ Daily Digest #484 <ul> <li><a href="https://eng.uber.com/optimizing-observability/">Optimizing Observability with Jaeger, M3, and XYS at Uber</a></li> <li><a href="https://engineering.fb.com/developer-tools/ccsm/">CCSM: Scalable statistical anomaly detection to resolve app crashes faster</a></li> <li><a href="https://www.infoq.com/articles/cloud-native-architecture-adoption-part1/">Adoption of Cloud-Native Architecture, Part 1: Architecture Evolution and Maturity </a></li> <li><a href="https://www.cockroachlabs.com/blog/joint-consensus-raft/">Availability and Region Failure: Joint Consensus in CockroachDB</a></li> <li><a href="https://technology.riotgames.com/news/bringing-features-life-legends-runeterra">Bringing Features to Life in Legends of Runeterra </a></li> <li><a href="https://tech.just-eat.com/2019/11/26/a-smart-feature-flagging-system-for-ios/">A Smart Feature Flagging System for iOS</a></li> <li><a href="https://nordicapis.com/the-differences-between-gateway-microgateway-and-service-mesh/">The Differences Between Gateway, Microgateway, and Service Mesh</a></li> <li><a href="https://thoughtbot.com/blog/solving-real-problems-with-design">Solving Real Problems With Design</a></li> </ul> Fri, 17 Jan 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-484/ https://jakartadev.org/daily-digest-484/ Daily Digest #483 <ul> <li><a href="https://americanexpress.io/choosing-go/">Choosing Go at American Express</a></li> <li><a href="https://engineering.thumbtack.com/detecting-leaky-view-controllers/">Detecting Leaky View Controllers</a></li> <li><a href="https://engineering.salesforce.com/stepping-up-to-the-graphql-buffet-c9011a92b4c0">Stepping Up to the GraphQL Buffet</a></li> <li><a href="https://engineering.squarespace.com/blog/2019/checkout-surveys-a-data-science-approach">Checkout Surveys: A Data Science Approach</a></li> <li><a href="https://blog.cloudflare.com/html-parsing-1/">A History of HTML Parsing at Cloudflare: Part 1</a></li> </ul> Thu, 16 Jan 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-483/ https://jakartadev.org/daily-digest-483/ Daily Digest #482 <ul> <li><a href="https://hackernoon.com/lessons-ive-learned-building-distributed-systems-with-cqrs-and-event-sourcing-ece284ecc1a1?source=rss">Lessons Learned Building Distributed Systems with CQRS and Event Sourcing</a></li> <li><a href="https://www.scylladb.com/2019/11/20/maximizing-performance-via-concurrency-while-minimizing-timeouts-in-distributed-databases/">Maximizing Performance via Concurrency While Minimizing Timeouts in Distributed Databases</a></li> <li><a href="https://tech.ebayinc.com/product/ebay-makes-mobile-web-login-easier/">eBay Makes Mobile Web Login Easier</a></li> <li><a href="https://engineering.grab.com/domain-driven-development-in-golang">How We Implemented Domain-Driven Development in Golang</a></li> <li><a href="https://medium.com/airbnb-engineering/better-android-testing-at-airbnb-3f5b90b9c40a">Better Android Testing at Airbnb — Part 1: Philosophy and Mocking</a></li> <li><a href="https://www.infoq.com/news/2019/11/mobile-share-code-costs/">Hidden Costs of iOS/Android Shared Development, at Dropbox and Slack</a></li> </ul> Wed, 15 Jan 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-482/ https://jakartadev.org/daily-digest-482/ Daily Digest #481 <ul> <li><a href="https://nodesource.com/blog/understanding-streams-in-nodejs">Understanding Streams in Node.js</a></li> <li><a href="https://www.confluent.io/blog/getting-started-with-rust-and-kafka/">Getting Started with Rust and Apache Kafka</a></li> <li><a href="https://product.hubspot.com/blog/backend-tooling">Tooling We’ve Built for Managing 3,000+ Microservices</a></li> <li><a href="https://engineeringblog.yelp.com/2019/11/organizing-and-securing-third-party-cdn-assets-at-yelp.html">Organizing and Securing Third-Party CDN Assets at Yelp</a></li> </ul> Tue, 14 Jan 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-481/ https://jakartadev.org/daily-digest-481/ Menginstal versi paket yang spesifik homebrew di macOS (contoh Tmux) <p>Terkadang dalam melakukan pekerjaan, kita membutuhkan versi software yang spesifik, bisa karena alasan software yang kita bangun atau library yang kita pakai, hanya kompatibel dengan versi tertentu saja, ini bisa jadi masalah, saya terkena masalah ini ketika menggunakan sass, imageoptim, tmux.</p> <p>Kita ambil contoh <a href="https://github.com/tmux/tmux/wiki">Tmux</a>, yang merupakan aplikasi multiplexter, sederhananya, tmux bisa mengemulasi terminal menjadi banyak dalam satu window, Tmux ini saya anggap sebagai improvement dari Screen.</p> <p>Pada versi 3.0, Tmux versi ini banyak nge-_break_ konfigurasi dotfiles yang sudah saya buat, dan versi yang kompatible adalah versi sebelumnya, dan yang paling stabil adalah 2.8.</p> <p>Menggunakan macOS, dan <a href="https://brew.sh/">Homebrew</a> adalah manajemen paket yang selalu saya gunakan, untuk menginstall versi yang spesifik dari Tmux di Homebrew, terutama yang sudah tidak ditampilkan di formulanya, jika software tersebut masih terdapat daftar versinya jika kita lakukan perintah ini,</p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>brew search node@ dedenf@elementium ~ <span class="nv">$ </span>brew search node@ <span class="o">==&gt;</span> Formulae node ✔ node-sass node@10 node@12 ... </code></pre></div></div> <p>Untuk install versi yang lain di paket Homebrew tinggal install dengan perintah <code class="highlighter-rouge">$ brew install node@12</code> maka akan menginstal spesifik versi 12.</p> <p>Jika versi yang dimaksud tidak ada, seperti Tmux, maka yang harus dilakukan adalah install melalui formula Tmux, caranya dengan meng-clone repo git Homebrew-core,</p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>git clone git@github.com:Homebrew/homebrew-core.git </code></pre></div></div> <p>kemudian cari versi yang diinginkan, dengan mencari commit hash versi yang dimaksud, karena saya mencari versi 2.8, maka tinggal mencari commit yang mengandung versi tersebut.</p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>git log <span class="nt">--</span> Formula/Tmux.rb </code></pre></div></div> <p>Hasil</p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>... commit 9d2ab46c92cc88470b1c54f5da2d0a1595188533 Author: Chongyu Zhu &lt;i@lembacon.com&gt; Date: Thu Oct 18 02:58:21 2018 +0800 tmux 2.8 Closes <span class="c">#33090.</span> Signed-off-by: Chongyu Zhu &lt;i@lembacon.com&gt; ... </code></pre></div></div> <p>Dengan informasi di atas, kita bisa melakukan instalasi berdasarkan commit hash dari versi 2.8.</p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>brew <span class="nb">install </span>https://raw.githubusercontent.com/Homebrew/homebrew-core/9d2ab46c92cc88470b1c54f5da2d0a1595188533/Formula/tmux.rb </code></pre></div></div> <p>Viola! maka Tmux yang terinstall adalah versi 2.8! check versinya untuk lebih yakin,</p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>tmux <span class="nt">-V</span> tmux 2.8 </code></pre></div></div> <p>Ini bisa diaplikasikan ke paket-paket lain yang sekiranya dibutuhkan, kadang versi terbaru tidak selalu dibutuhkan.</p> Mon, 13 Jan 2020 00:00:00 +0000 https://jakartadev.org/instal-paket-homebrew-versi-yang-spesifik/ https://jakartadev.org/instal-paket-homebrew-versi-yang-spesifik/ Daily Digest #480 <ul> <li><a href="https://towardsdatascience.com/deep-clustering-for-financial-market-segmentation-2a41573618cf">Deep Clustering for Financial Market Segmentation</a></li> <li><a href="https://nordicapis.com/4-ways-your-api-specification-can-fall-short-and-what-to-do-about-it/">4 Ways Your API Specification Can Fall Short (And What to Do About It)</a></li> <li><a href="https://stackshare.io/onesignal/rust-at-onesignal">Rust at OneSignal</a></li> <li><a href="https://www.infoq.com/articles/lessons-learned-performance-testing/">Lessons Learned in Performance Testing</a></li> </ul> Mon, 13 Jan 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-480/ https://jakartadev.org/daily-digest-480/ Daily Digest #479 <ul> <li><a href="https://thoughtbot.com/blog/javascript-type-systems-are-not-linters">JavaScript Type Checkers are More than Linters</a></li> <li><a href="https://medium.com/walmartlabs/https-medium-com-kharekartik-rocksdb-and-embedded-databases-1a0f8e6ea74f">A Glimpse into the World of Embedded Database Feat. RocksDB</a></li> <li><a href="https://open.nytimes.com/how-we-implemented-a-baseline-grid-using-css-cb13cac45201">How We Implemented a Baseline Grid Using CSS</a></li> <li><a href="https://itnext.io/deep-in-the-weeds-with-reactime-concurrent-react-fiberroot-and-browser-history-caching-7ce9d7300abb">Deep in the Weeds with Reactime, Concurrent React _fiberRoot, and Browser History Caching</a></li> </ul> Fri, 10 Jan 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-479/ https://jakartadev.org/daily-digest-479/ Daily Digest #478 <ul> <li><a href="https://blog.logrocket.com/writing-end-to-end-tests-for-graphql-servers-using-jest/">Writing end-to-end tests for GraphQL servers using Jest</a></li> <li><a href="https://github.blog/2019-11-21-debugging-network-stalls-on-kubernetes/">Debugging network stalls on Kubernetes</a></li> <li><a href="https://blog.cloudflare.com/introducing-flan-scan/">Introducing Flan Scan: Cloudflare’s Lightweight Network Vulnerability Scanner</a></li> <li><a href="https://blog.logrocket.com/a-practical-guide-to-accessibility-for-forms/">A practical guide to accessibility for forms</a></li> </ul> Thu, 09 Jan 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-478/ https://jakartadev.org/daily-digest-478/ Daily Digest #477 <ul> <li><a href="https://ai.googleblog.com/2019/09/an-inside-look-at-flood-forecasting.html">An Inside Look at Flood Forecasting </a></li> <li><a href="https://www.infoq.com/presentations/scalability-zalando/">Building and Running Applications at Scale in Zalando</a></li> <li><a href="https://itnext.io/monorepo-pains-9064db3b9882">Angular Monorepo pains</a></li> <li><a href="https://www.infoq.com/presentations/property-based-testing-lambda-days-2019/">Introduction to Stateful Property-Based Testing</a></li> <li><a href="https://lambda.grofers.com/a-comprehensive-guide-to-deploying-a-website-in-kubernetes-c5829bfa4519">A Comprehensive Guide To Deploying A Website In Kubernetes</a></li> <li><a href="https://engineering.shopify.com/blogs/engineering/improve-ui-performance-understanding-your-user">Want to Improve UI Performance? Start by Understanding Your User </a></li> <li><a href="https://blog.cloudflare.com/when-tcp-sockets-refuse-to-die/">When TCP sockets refuse to die</a></li> <li><a href="https://tech.gc.com/let-me-automate-that-for-you/">Let me automate that for you</a></li> <li><a href="https://www.infoq.com/news/2019/09/evans-improve-language-ddd/">Eric Evans Wants to Improve the Language of DDD </a></li> </ul> Wed, 08 Jan 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-477/ https://jakartadev.org/daily-digest-477/ Daily Digest #476 <ul> <li><a href="https://liveramp.com/engineering/joining-petabytes-of-data-per-day-how-liveramp-powers-its-matching-product/">Joining Petabytes of Data Per Day: How LiveRamp Powers its Matching Product</a></li> <li><a href="https://towardsdatascience.com/introduction-to-stream-mining-8b79dd64e460">Introduction to Stream Mining</a></li> <li><a href="https://engineering.linkedin.com/blog/2019/the-building-blocks-of-linkedin-skill-assessments">The building blocks of LinkedIn Skill Assessments</a></li> <li><a href="https://eng.uber.com/hypothesis-gu-funcs-unit-testing/">Introducing Hypothesis GU Funcs, an Open Source Python Package for Unit Testing</a></li> <li><a href="https://nordicapis.com/how-does-jsonapi-compare-to-rest-and-graphql/">How Does JSON:API Compare To REST and GraphQL?</a></li> </ul> Tue, 07 Jan 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-476/ https://jakartadev.org/daily-digest-476/ Daily Digest #475 <ul> <li><a href="https://www.oreilly.com/radar/podcast/understanding-deep-neural-networks/">Understanding deep neural networks</a></li> <li><a href="https://medium.com/netflix-techblog/reimagining-experimentation-analysis-at-netflix-71356393af21">Reimagining Experimentation Analysis at Netflix</a></li> <li><a href="https://developer.okta.com/blog/2019/09/12/why-public-key-cryptography-matters">Why Public Key Cryptography Matters</a></li> <li><a href="https://slack.engineering/the-gradual-design-system-how-we-built-slack-kit-8a2830484259">The Gradual Design System: How We Built Slack Kit</a></li> <li><a href="https://towardsdatascience.com/machine-learning-powered-content-moderation-computer-vision-applications-at-expedia-1297cb32d78d">Machine Learning Powered Content Moderation: Computer Vision Applications at Expedia</a></li> <li><a href="https://eng.uber.com/three-approaches-to-scaling-machine-learning-with-uber-seattle-engineering/">Three Approaches to Scaling Machine Learning with Uber Seattle Engineering</a></li> <li><a href="https://hackernoon.com/pilosa-a-scalable-high-performance-bitmap-database-index-82023c0c8ebc?source=rss">Pilosa: A Scalable High Performance Bitmap Database Index</a></li> </ul> Mon, 06 Jan 2020 00:00:00 +0000 https://jakartadev.org/daily-digest-475/ https://jakartadev.org/daily-digest-475/ Daily Digest #474 <ul> <li><a href="https://blog.cloudera.com/a-look-inside-kafka-mirrormaker-2/">A look inside Kafka Mirrormaker 2</a></li> <li><a href="https://www.infoq.com/presentations/paypal-scale-db/">Scaling DB Access for Billions of Queries Per Day @PayPal</a></li> <li><a href="https://engineering.linkedin.com/blog/2019/solving-manageability-challenges-with-nuage">Solving manageability challenges at scale with Nuage</a></li> <li><a href="https://eng.lyft.com/making-long-term-forecasts-at-lyft-fac475b3ba52">Making cohort-based long-term forecasts at Lyft</a></li> <li><a href="https://slack.engineering/how-slack-built-shared-channels-8d42c895b19f">How Slack Built Shared Channels</a></li> </ul> Thu, 26 Dec 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-474/ https://jakartadev.org/daily-digest-474/ Daily Digest #473 <ul> <li><a href="https://instagram-engineering.com/types-for-python-http-apis-an-instagram-story-d3c3a207fdb7">Types for Python HTTP APIs: An Instagram Story</a></li> <li><a href="https://medium.com/@armenzg/a-web-performance-issue-d44093cb896c">A web performance issue</a></li> <li><a href="https://tech.ebayinc.com/engineering/ebay-oauth-client-library-in-python-and-best-practices/">eBay OAuth Client Library in Python and Best Practices</a></li> <li><a href="https://benchling.engineering/jade-to-react-using-prod-validation-to-make-modernization-safe-fast-and-fun-766258ee8d35">Jade to React: using prod validation to make modernization safe, fast, and fun</a></li> <li><a href="https://engineering.indeedblog.com/blog/2019/09/jobs-filter/">Jobs Filter: Improving the Job Seeker Experience</a></li> </ul> Mon, 23 Dec 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-473/ https://jakartadev.org/daily-digest-473/ Daily Digest #472 <ul> <li><a href="https://stackshare.io/sqreen/how-sqreen-handles-50000-requests-every-minute-in-a-write-heavy-environment">How Sqreen handles 50,000 requests every minute in a write-heavy environment</a></li> <li><a href="https://blog.cloudflare.com/how-we-design-features-for-wrangler/">How We Design Features for Wrangler, the Cloudflare Workers CLI</a></li> <li><a href="https://itnext.io/how-to-easily-reuse-components-across-projects-and-repositories-fa73f8ba2a83">How to Easily Reuse Components Across Projects and Repositories</a></li> <li><a href="https://kinvolk.io/blog/2019/09/a-shallow-dive-into-distributed-tracing/">A Shallow Dive Into Distributed Tracing</a></li> </ul> Thu, 05 Dec 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-472/ https://jakartadev.org/daily-digest-472/ Daily Digest #471 <ul> <li><a href="https://www.tecmint.com/best-nodejs-frameworks-for-developers/">18 Best NodeJS Frameworks for Developers in 2019</a></li> <li><a href="https://blog.scottlogic.com/2019/09/11/Designing-with-accessibility-in-mind.html">Designing with accessibility in mind</a></li> <li><a href="https://blog.logrocket.com/how-javascript-works-optimizing-the-v8-compiler-for-efficiency/">How JavaScript works: Optimizing the V8 compiler for efficiency</a></li> <li><a href="https://www.infoq.com/presentations/datadog-metrics-db/">Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day</a></li> </ul> Wed, 04 Dec 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-471/ https://jakartadev.org/daily-digest-471/ Daily Digest #470 <ul> <li><a href="https://www.infoq.com/presentations/ml-salesforce-einstein/">Metrics-Driven Machine Learning Development at Salesforce Einstein</a></li> <li><a href="https://medium.com/walmartlabs/demand-forecasting-tech-stack-walmart-539d17f385db">Demand Forecasting Tech Stack @ Walmart</a></li> <li><a href="https://www.infoq.com/presentations/cockroachdb-distributed-sql/">CockroachDB: Architecture of a Geo-Distributed SQL Database</a></li> <li><a href="https://www.oreilly.com/ideas/kubernetes-a-simple-overview">Kubernetes: A simple overview</a></li> <li><a href="https://blog.discordapp.com/how-discord-achieves-native-ios-performance-with-react-native-390c84dcd502">How Discord achieves native iOS performance with React Native</a></li> <li><a href="https://beza1e1.tuxen.de/monorepo_vcs.html">Pondering a Monorepo Version Control System</a></li> <li><a href="https://cssdb.org/">CSSdb</a></li> <li><a href="https://hackernoon.com/lessons-from-a-product-manager-at-google-en4833ca">Lessons from a Product Manager at Google</a></li> <li><a href="https://dev.to/victoria/a-cron-job-that-could-save-you-from-a-ransomware-attack-46m">A cron job that could save you from a ransomware attack </a></li> <li><a href="https://firstround.com/review/dont-serve-burnt-pizza-and-other-lessons-in-building-minimum-lovable-products/">Don’t Serve Burnt Pizza (And Other Lessons in Building Minimum Lovable Products)</a></li> </ul> Tue, 03 Dec 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-470/ https://jakartadev.org/daily-digest-470/ Daily Digest #469 <ul> <li><a href="https://engineering.gusto.com/does-this-code-spark-joy/">Does this code spark joy? Tidying up your code bit by bit</a></li> <li><a href="https://www.smashingmagazine.com/2019/09/machine-learning-front-end-developers-tensorflowjs/">Machine Learning For Front-End Developers With Tensorflow.js</a></li> <li><a href="https://engineering.opensooq.com/the-power-of-headless-chrome-and-pwa-automation-using-puppeteer/">The Power of Headless Chrome and PWA Automation Using Puppeteer</a></li> <li><a href="https://medium.com/strava-engineering/android-launch-performance-1d3c9fe4af62">Android Launch Performance</a></li> <li><a href="https://crystal-lang.org/2019/09/06/parallelism-in-crystal.html">Parallelism in Crystal</a></li> </ul> Mon, 02 Dec 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-469/ https://jakartadev.org/daily-digest-469/ Daily Digest #468 <ul> <li><a href="https://instagram-engineering.com/making-instagram-com-faster-part-2-f350c8fba0d4">Making Instagram.com faster: Part 2</a></li> <li><a href="https://itnext.io/micro-frontend-941a5f1a3e72">Implementing a Frontend with Micro-Components</a></li> <li><a href="https://tech.wayfair.com/data-science/2019/09/introducing-harmonia-context-aware-product-recommendation-from-room-images/">Introducing Harmonia: Context-Aware Product Recommendation From Room Images</a></li> <li><a href="https://tech.showmax.com/2019/09/varnish-request-restarts/">Achieving a tenfold increase in Varnish throughput by replacing libvmod‑curl with native request restarts</a></li> </ul> Fri, 29 Nov 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-468/ https://jakartadev.org/daily-digest-468/ Daily Digest #467 <ul> <li><a href="https://eng.uber.com/loss-change-allocation/">Introducing LCA: Loss Change Allocation for Neural Network Training</a></li> <li><a href="https://medium.com/pinterest-engineering/pintext-a-multitask-text-embedding-system-in-pinterest-b80ece364555">PinText: A Multitask Text Embedding System in Pinterest</a></li> <li><a href="https://blog.statsbot.co/design-decisions-for-the-first-embedded-analytics-open-source-framework-8129c7f1d28a">Design Decisions for the First Embedded Analytics Open-Source Framework</a></li> <li><a href="https://product.hubspot.com/blog/understanding-thread-dumps">Understanding Thread Dumps</a></li> <li><a href="https://www.confluent.io/blog/event-sourcing-vs-derivative-event-sourcing-explained">Introducing Derivative Event Sourcing</a></li> </ul> Thu, 28 Nov 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-467/ https://jakartadev.org/daily-digest-467/ Daily Digest #466 <ul> <li><a href="https://tech.ebayinc.com/engineering/odm/">eBay’s Hyperscale Platforms</a></li> <li><a href="https://blog.developer.atlassian.com/java-debugging-at-scale-when-rare-events-become-commonplace/">Java debugging at scale: when rare events become commonplace</a></li> <li><a href="https://www.infoq.com/presentations/ai-7-steps/">Seven Steps to Design, Build, and Scale an AI Product</a></li> <li><a href="https://blog.logrocket.com/frustrations-with-react-hooks/">Frustrations with React Hooks</a></li> <li><a href="https://blog.sqreen.com/building-a-dynamic-instrumentation-agent-for-java/">Building a dynamic instrumentation agent for Java</a></li> </ul> Wed, 27 Nov 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-466/ https://jakartadev.org/daily-digest-466/ Daily Digest #465 <ul> <li><a href="https://blogs.dropbox.com/tech/2019/09/our-journey-to-type-checking-4-million-lines-of-python/">Our journey to type checking 4 million lines of Python</a></li> <li><a href="https://eng.lyft.com/how-to-solve-a-linear-optimization-problem-on-incentive-allocation-5a8fb5d04db1">How to solve a linear optimization problem on incentive allocation?</a></li> <li><a href="https://blog.sqreen.com/developer-security-best-practices-protecting-against-timing-attacks/">Developer security best practices: protecting against timing attacks</a></li> <li><a href="https://www.thoughtworks.com/insights/blog/big-data-fast-data">BIG Data, Fast Data - Part I</a></li> </ul> Tue, 26 Nov 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-465/ https://jakartadev.org/daily-digest-465/ Daily Digest #464 <ul> <li><a href="https://nordicapis.com/the-present-and-future-of-api-design/">The Present And Future Of API Design</a></li> <li><a href="https://hackernoon.com/different-strategies-for-designing-the-caching-in-large-scale-distributed-system-fg87307f?source=rss">Three Strategies For Designing The Caching In Large Scale Distributed System</a></li> <li><a href="https://developer.okta.com/blog/2019/09/04/securing-rest-apis">Securing REST APIs</a></li> <li><a href="https://hacks.mozilla.org/2019/09/debugging-webassembly-outside-of-the-browser/">Debugging WebAssembly Outside of the Browser</a></li> <li><a href="https://itnext.io/verifying-service-mesh-tls-in-kubernetes-using-ksniff-and-wireshark-2e993b26bf95">Verifying Service Mesh TLS in Kubernetes, Using ksniff and Wireshark</a></li> </ul> Mon, 25 Nov 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-464/ https://jakartadev.org/daily-digest-464/ Daily Digest #463 <ul> <li><a href="https://www.smashingmagazine.com/2019/08/beyond-browser-serverless-webassembly/">Beyond The Browser: Getting Started With Serverless WebAssembly</a></li> <li><a href="https://developers.soundcloud.com/blog/gradle-remote-build-cache-misses">Gradle Remote Build Cache Misses</a></li> <li><a href="https://engineering.zomato.com/blog/sushi">Zomato’s new Sushi Design System</a></li> <li><a href="https://allegro.tech/2019/09/page-visibility-and-performance-metrics.html">Page visibility and performance metrics</a></li> <li><a href="https://www.infoq.com/presentations/uber-microservices-distributed-tracing/">Conquering Microservices Complexity @Uber with Distributed Tracing</a></li> </ul> Fri, 22 Nov 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-463/ https://jakartadev.org/daily-digest-463/ Daily Digest #462 <ul> <li><a href="https://about.gitlab.com/blog/2019/08/26/managing-your-snowflake-spend-with-periscope-and-dbt/">How to manage your Snowflake spend with Periscope and dbt</a></li> <li><a href="https://www.memsql.com/blog/a-technical-introduction-to-memsql/">A Technical Introduction to MemSQL</a></li> <li><a href="https://tech.transferwise.com/bringing-data-sources-together-with-pipelinewise/">Bringing Data Sources Together with PipelineWise</a></li> <li><a href="https://hacks.mozilla.org/2019/08/the-baseline-interpreter-a-faster-js-interpreter-in-firefox-70/">The Baseline Interpreter: a faster JS interpreter in Firefox 70</a></li> <li><a href="https://webuild.envato.com/blog/the-tale-of-the-missing-semaphore/">The tale of the missing semaphore</a></li> </ul> Thu, 21 Nov 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-462/ https://jakartadev.org/daily-digest-462/ Daily Digest #461 <ul> <li><a href="https://developer.okta.com/blog/2019/08/26/combat-side-channel-attacks-with-corb">Combat Side-Channel Attacks with Cross-Origin Read Blocking </a></li> <li><a href="https://about.gitlab.com/blog/2019/08/30/software-test-at-gitlab/">An inside look at software testing at GitLab</a></li> <li><a href="https://www.toptal.com/natural-language-processing/accelerate-with-bert-nlp-optimization-models">Accelerate with BERT: NLP Optimization Models</a></li> <li><a href="https://www.infoq.com/podcasts/tracing-distributed-systems-using-jaeger/">Yuri Shkuro on Tracing Distributed Systems Using Jaeger</a></li> </ul> Wed, 20 Nov 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-461/ https://jakartadev.org/daily-digest-461/ Daily Digest #460 <ul> <li><a href="https://www.smashingmagazine.com/2019/08/faster-image-loading-embedded-previews/">Faster Image Loading With Embedded Image Previews</a></li> <li><a href="https://blog.sqreen.com/kubernetes-security-best-practices/">Kubernetes security best practices</a></li> <li><a href="https://engineering.linkedin.com/blog/2019/followfeed-features-auditing">Auditing Content Features in FollowFeed</a></li> <li><a href="https://towardsdatascience.com/cnn-architectures-a-deep-dive-a99441d18049">CNN Architectures, a Deep-dive</a></li> <li><a href="https://medium.com/walmartlabs/delivering-reactjs-applications-at-scale-5cb8a363f99">Delivering ReactJS applications at scale</a></li> </ul> Tue, 19 Nov 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-460/ https://jakartadev.org/daily-digest-460/ Daily Digest #459 <ul> <li><a href="https://www.infoq.com/articles/cellery-code-first-kubernetes/">Cellery: A Code-First Approach to Deploy Applications on Kubernetes</a></li> <li><a href="https://www.smashingmagazine.com/2019/08/bottom-navigation-pattern-mobile-web-pages/">Bottom Navigation Pattern On Mobile Web Pages: A Better Alternative?</a></li> <li><a href="https://about.gitlab.com/blog/2019/08/27/tyranny-of-the-clock/">6 Lessons we learned when debugging a scaling problem on GitLab.com </a></li> <li><a href="https://blog.developer.atlassian.com/lessons-learned-bitbucket-unit-testing-migration-jest/">What Bitbucket learned from migrating its unit testing tool</a></li> </ul> Mon, 18 Nov 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-459/ https://jakartadev.org/daily-digest-459/ Daily Digest #458 <ul> <li><a href="https://eng.uber.com/best-practices-for-react-v16/">Best Practices for Unit Testing in React Version 16</a></li> <li><a href="https://stackshare.io/segment/cultivating-your-data-lake">Cultivating your Data Lake</a></li> <li><a href="https://technology.riotgames.com/news/down-rabbit-hole-performance-monitoring">Down The Rabbit Hole of Performance Monitoring</a></li> <li><a href="https://www.zillow.com/tech/debugging-production-event-logging/">Debugging Production with Event Logging</a></li> <li><a href="https://engineering.shopify.com/blogs/engineering/building-resilient-graphql-apis-using-idempotency">Building Resilient GraphQL APIs Using Idempotency</a></li> </ul> Fri, 15 Nov 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-458/ https://jakartadev.org/daily-digest-458/ Daily Digest #457 <ul> <li><a href="https://www.infoq.com/articles/chaos-engineering-security-networking/">How to Use Chaos Engineering to Break Things Productively</a></li> <li><a href="https://www.confluent.io/blog/kafka-graph-visualizations">Using Graph Processing for Kafka Streams Visualizations</a></li> <li><a href="https://www.zillow.com/tech/federated-graphql-server-at-scale/">Federated GraphQL Server at Scale: Zillow Rental Manager Real-time Chat Application</a></li> <li><a href="https://tech.trello.com/adopting-graphql-and-apollo/">Adopting GraphQL and Apollo in a Legacy Application</a></li> <li><a href="https://slack.engineering/service-workers-at-slack-our-quest-for-faster-boot-times-and-offline-support-3492cf79c88">https://slack.engineering/service-workers-at-slack-our-quest-for-faster-boot-times-and-offline-support-3492cf79c88</a></li> </ul> Thu, 14 Nov 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-457/ https://jakartadev.org/daily-digest-457/ Daily Digest #456 <ul> <li><a href="https://medium.com/salesloft-engineering/developing-a-data-warehouse-in-cloud-for-saas-business-at-salesloft-c694a9ad662a">Developing a Data Warehouse in the Cloud for SaaS at SalesLoft</a></li> <li><a href="https://siliconangle.com/2019/10/13/six-steps-take-toward-automated-future/">Six steps to take toward an automated future</a></li> <li><a href="https://searchitoperations.techtarget.com/tip/Follow-these-6-steps-to-deploy-microservices-in-production">Follow these 6 steps to deploy microservices in production</a></li> <li><a href="https://www.fiercetelecom.com/telecom/red-hat-s-james-cloud-native-key-to-moving-to-cloud-and-containers">Red Hat’s James: Cloud-native is key to moving to the cloud and containers</a></li> </ul> Wed, 13 Nov 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-456/ https://jakartadev.org/daily-digest-456/ Daily Digest #455 <ul> <li><a href="https://www.sitepoint.com/interactive-data-visualization-javascript-d3/">Interactive Data Visualization with Modern JavaScript and D3</a></li> <li><a href="https://securityintelligence.com/posts/how-to-make-cryptography-services-work-for-your-organization/">How to Make Cryptography Services Work for Your Organization</a></li> <li><a href="https://www.sdxcentral.com/articles/news/whats-so-sassy-about-sase/2019/10/">What’s So Sassy About SASE</a></li> <li><a href="http://tech.gc.com/let-me-automate-that-for-you/">Let me automate that for you</a></li> </ul> Tue, 12 Nov 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-455/ https://jakartadev.org/daily-digest-455/ Mengaktifkan fitur DoH di Chrome, Edge, Brave, Opera, Vivaldi <p>Di <a href="https://jakartadev.org/mengaktifkan-fitur-doh-di-mozilla-firefox/">artikel sebelumnya</a> ditulis bagaimana mengaktifkan DoH di Mozilla Firefox, menemukan link ke <a href="https://fossbytes.com/how-to-enable-dns-over-https-on-chrome-firefox-edge-brave/">artikel berikut</a> untuk mengaktifkan DoH di Chrome, Edge, Vivaldi, Opera, Brave.</p> <blockquote> <ul> <li>Google Chrome – Visit chrome://flags/#dns-over-https</li> <li>Edge (Chromium version) – edge://flags/#dns-over-https</li> <li>Opera – Visit opera://flags/opera-doh</li> <li>Vivaldi – Visit vivaldi://flags/#dns-over-https</li> <li>Brave – Visit brave://flags/#dns-over-https</li> <li>Mozilla Firefox – You can find the “Enable DNS over HTTPS” in the browser settings.</li> </ul> </blockquote> Mon, 11 Nov 2019 00:00:00 +0000 https://jakartadev.org/mengaktifkan-doh-di-brave-edge-chrome/ https://jakartadev.org/mengaktifkan-doh-di-brave-edge-chrome/ Daily Digest #454 <ul> <li><a href="https://www.infoq.com/presentations/strategic-ddd/">Strategic Domain-Driven Design</a></li> <li><a href="https://kvz.io/tobuntu.html">Going from macOS to Ubuntu</a></li> <li><a href="https://www.itproportal.com/features/why-democratising-devops-capabilities-is-the-only-way-to-stay-ahead-today/">Why democratising DevOps capabilities is the only way to stay ahead today</a></li> <li><a href="https://www.qrcodepress.com/hows-your-docker-image-security-within-the-development-environment/8537243/">How’s Your Docker Image Security Within The Development Environment</a></li> <li><a href="https://devclass.com/2019/10/22/netflixs-shares-mantis-to-get-to-the-bottom-of-system-downtime/">Netflix’s shares Mantis to get to the bottom of system downtime</a></li> </ul> Mon, 11 Nov 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-454/ https://jakartadev.org/daily-digest-454/ Daily Digest #453 <ul> <li><a href="https://engineering.salesforce.com/making-life-easier-with-immutable-deployment-64baca14395c">Making life easier with immutable deployment</a></li> <li><a href="https://eng.lyft.com/presto-infrastructure-at-lyft-b10adb9db01">Presto Infrastructure at Lyft</a></li> <li><a href="https://www.smashingmagazine.com/2019/08/testing-framework-minimalism-software-architecture/">Testing Made Easier Via Framework Minimalism And Software Architecture</a></li> <li><a href="https://medium.com/pinterest-engineering/building-a-universal-search-system-for-pinterest-e4cb03a898d4">Building a universal search system for Pinterest</a></li> </ul> Fri, 08 Nov 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-453/ https://jakartadev.org/daily-digest-453/ Mengaktifkan fitur DoH di Mozilla Firefox <p><a href="https://notes.dedenf.com/2019/09/menjaga-privasi-dan-keamanan-dalam-berinternet">Privacy dan kemanan di internet sangat penting</a>, ada beberapa cara yang bisa dilakukan untuk melindungi diri kita dari ancaman-ancaman digital, selain ancaman virus, malware, pishing, juga potensi orang lain mengintip komunikasi kita.</p> <p>Untuk itu, teknologi bernama <a href="https://en.wikipedia.org/wiki/DNS_over_HTTPS">DNS over HTTPS</a> atau juga <a href="https://en.wikipedia.org/wiki/DNS_over_TLS">DNS over TLS</a>, implementasi bisa menggunakan aplikasi lain, atau cukup dengan browser, Google Chrome akan segera implementasikan, Mozilla Firefox sudah bisa menggunakan teknologi DoH ini, untuk artikel ini, saya gunakan DoH yang dibangun oleh <a href="https://github.com/pengelana/blocklist/wiki/DNS-over-HTTPS-(DoH)">@Pengelana</a>.</p> <p>Untuk aktivasi DoH di Mozilla Firefox, tanpa harus install aplikasi lain lagi, bisa mengakses ke Preference, kemudian pilih “Network Settings”</p> <p><img src="/public/images/posts/setting1.png" alt="" /></p> <p>Kemudian aktifkan pilihan “Enable DNS over HTTPS” <img src="/public/images/posts/setting2.png" alt="" /></p> <p>Kemudian masukkan url <code class="highlighter-rouge">https://doh.tiar.app/dns-query</code></p> <p>Dan koneksi anda sudah terenkripsi!, mudah, bukan?.</p> Thu, 07 Nov 2019 00:00:00 +0000 https://jakartadev.org/mengaktifkan-fitur-doh-di-mozilla-firefox/ https://jakartadev.org/mengaktifkan-fitur-doh-di-mozilla-firefox/ Daily Digest #452 <ul> <li><a href="https://eng.uber.com/web-booking-flow/">Building a More Seamless Web Booking Flow for Uber</a></li> <li><a href="https://developer.okta.com/blog/2019/07/25/the-hardest-thing-about-data-encryption">The Hardest Thing About Data Encryption</a></li> <li><a href="https://www.confluent.io/blog/fault-tolerance-distributed-systems-tracing-with-apache-kafka-jaeger">Fault Tolerance in Distributed Systems: Tracing with Apache Kafka and Jaeger</a></li> <li><a href="https://medium.com/netflix-techblog/applying-netflix-devops-patterns-to-windows-2a57f2dbbf79">Applying Netflix DevOps Patterns to Windows</a></li> <li><a href="https://eng.uber.com/uber-freight-app/">Building the New Uber Freight App as Lists of Modular, Reusable Components</a></li> </ul> Thu, 07 Nov 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-452/ https://jakartadev.org/daily-digest-452/ Top 10 Ekstensi (plugin) untuk Visual Studio Code <p>Ekstensi yang disediakan diekosistem Visual Studio Code sangat beragam, dan digunakan untuk banyak hal, dari mulai mempercepat kerja, menjadikan kode, document, lebih mudah dibaca, menjadikan tampilan lebih menarik, dan lainnya.</p> <p>Berikut Ekstensi yang saya gunakan</p> <h4 id="settings-sync"><a href="https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync&amp;WT.mc_id=jakartadev">Settings Sync</a></h4> <p>Dengan ekstensi ini, konfigurasi Visual Studio Code (VSC) bisa lebih portabel, kita install ulang sistem operasi, atau pindah mesin, bisa konsisten menggunakan profile konfigurasi yang sama, pikirkan ini seperti menggunakan <code class="highlighter-rouge">.vim</code> profile (<a href="https://github.com/dedenf/dotfiles">koleksi dotfiles</a>)</p> <h4 id="prettier---code-formatter"><a href="https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode">Prettier - Code formatter</a></h4> <p>Ekstensi ini melakukan apa yang prettify lakukan, tapi ada fitur lebih dan juga konfigurasi yang membantu, yan menjadikan kode yang kita tulis lebih gampang dibaca, direview.</p> <!--more--> <h4 id="bookmarks"><a href="https://marketplace.visualstudio.com/items?itemName=alefragnani.bookmarks">Bookmarks</a></h4> <p>Bookmarks ini berguna jika kita ingin menandai baris kode yang hendak kita tandai, bisa itu untuk direvisit nanti, atau menandakan hal yang penting yang hendak dijabarkan, atau untuk kebutuhan laiinnya.</p> <h4 id="better-comments"><a href="https://marketplace.visualstudio.com/items?itemName=aaron-bond.better-comments">Better Comments</a></h4> <p>Seperti yang developer ketahui, comment adalah salah satu bentuk komunikasi, memudahkan developer lain atau documentation generator untuk membaca dan memahami apa yang ditulis kode tersebut.</p> <h4 id="eslint"><a href="https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint">ESLint</a></h4> <p>Ekstensi ini untuk Javascript dan JSX linter, menjadikan kode yang dibuat mudah dibaca, <a href="https://eslint.org/">dokumetasi</a>.</p> <h4 id="gitlens--git-supercharged"><a href="https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens">GitLens — Git supercharged</a></h4> <p>Dengan GitLens, kita dapat melihat informasi histori dari kode yang sedang kita buka, lengkap dengan siapa yang melakukan commit di baris tersebut, dan informasi lain yang didapat dari GIT. Ekstensi lain yang berhubungan dengan git, <a href="https://marketplace.visualstudio.com/items?itemName=donjayamanne.githistory">Git History</a>, <a href="https://marketplace.visualstudio.com/items?itemName=felipecaputo.git-project-manager">Git Project Manager</a>.</p> <h4 id="python"><a href="https://marketplace.visualstudio.com/items?itemName=ms-python.python">Python</a></h4> <p>Python merupakan salah satu bahasa yang sangat populer, dan ekstensi ini membantu developer agar lebih produktif dengan fitur seperti IntelliSense, linting, debugging, dan lainnya.</p> <h4 id="yaml"><a href="https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml">YAML</a></h4> <p>YAML sebagai salah satu format yang biasanya digunakan oleh orang operation di infrastuktur, terutama untuk dukungan terhadap Kubernetes.</p> <h4 id="rest-client"><a href="https://marketplace.visualstudio.com/items?itemName=humao.rest-client">REST Client</a></h4> <p>Dengan menggunakan ekstensi ini, developer bisa melakukan HTTP request/API call dan melihat responnya langsung di Editor.</p> <h4 id="ansible"><a href="https://marketplace.visualstudio.com/items?itemName=vscoss.vscode-ansible">Ansible</a></h4> <p>Untuk DevOps, dan organisasi yang menggunakan falsafah infrastructure as a code, Ansible (dan tools lainnya) sangat berguna, tools automation/provisioning lain yang bisa digunakan, <a href="https://marketplace.visualstudio.com/items?itemName=mauve.terraform">Terraform</a>, <a href="https://marketplace.visualstudio.com/items?itemName=chef-software.Chef">Chef</a>, <a href="https://marketplace.visualstudio.com/items?itemName=jpogran.puppet-vscode">Puppet</a>.</p> <h4 id="docker"><a href="https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker">Docker</a></h4> <p>Ekstensi resmi dari Microsoft, yang menangani Docker, baik Dockerfile, membangun atau deploy container.</p> <h4 id="material-icon-theme"><a href="https://marketplace.visualstudio.com/items?itemName=pkief.material-icon-theme">Material Icon Theme</a></h4> <p>Dengan menggunakan Material icon theme ini, tampilan VSC kita jadi lebih berwarna, dan icon-icon yang merepresentasikan jenis file bisa lebih terbaca. <img src="/public/images/posts/material-icon.png" alt="" /></p> <h4 id="kubernetes"><a href="https://marketplace.visualstudio.com/items?itemName=ms-kubernetes-tools.vscode-kubernetes-tools">Kubernetes</a></h4> <p>Ekstensi ini berguna untuk developer yang sedang membangun aplikasinya di atas Kubernetes, bisa melakukan banyak operasi di Kubernetes.</p> Wed, 06 Nov 2019 00:00:00 +0000 https://jakartadev.org/visual-code-studio-extension/ https://jakartadev.org/visual-code-studio-extension/ Daily Digest #451 <ul> <li><a href="https://blog.developer.atlassian.com/how-we-stopped-vulnerable-code-from-landing-in-production/">How we stopped vulnerable code from landing in production</a></li> <li><a href="https://stackshare.io/circleci/update-how-circleci-processes-over-30-million-builds-per-month">Update: How CircleCI Processes Over 30 Million Builds Per Month</a></li> <li><a href="https://engineering.mixpanel.com/2019/07/24/safely-rewriting-mixpanels-highest-throughput-service-in-golang/"> Safely Rewriting Mixpanel’s Highest Throughput Service in Golang</a></li> <li><a href="https://tech.ebayinc.com/engineering/item-fast-light-service/">Improving the Speed and Accuracy of the Item Page with Light Service</a></li> </ul> Wed, 06 Nov 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-451/ https://jakartadev.org/daily-digest-451/ Daily Digest #450 <ul> <li><a href="https://www.infoq.com/presentations/kafka-distributed-deployments/">Streaming Log Analytics with Kafka</a></li> <li><a href="https://engineering.giphy.com/luigi-the-10x-plumber-containerizing-scaling-luigi-in-kubernetes/">Luigi the 10x Plumber: Containerizing &amp; Scaling Luigi in Kubernetes</a></li> <li><a href="https://tech.ebayinc.com/engineering/low-latency-and-high-throughput-cal-ingress/">Low Latency and High Throughput in CAL Ingress</a></li> <li><a href="https://www.infoq.com/articles/rethinking-flink-api/">Rethinking Flink’s APIs for a Unified Data Processing Framework</a></li> <li><a href="https://medium.com/walmartlabs/demand-forecasting-tech-stack-walmart-539d17f385db">Demand Forecasting Tech Stack @ Walmart</a></li> <li><a href="https://nordicapis.com/how-granular-should-you-design-apis/">How Granular Should You Design APIs?</a></li> </ul> Tue, 05 Nov 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-450/ https://jakartadev.org/daily-digest-450/ Daily Digest #449 <ul> <li><a href="https://blog.imaginea.com/semantic-graphs/">Semantic Graphs</a></li> <li><a href="https://medium.com/airbnb-engineering/supporting-dynamic-type-at-airbnb-b47c68b0c998">Supporting Dynamic Type at Airbnb</a></li> <li><a href="https://medium.com/airbnb-engineering/scaling-a-mature-data-pipeline-managing-overhead-f34835cbc866">Scaling a Mature Data Pipeline — Managing Overhead</a></li> <li><a href="https://blog.timescale.com/blog/implementing-constraint-exclusion-for-faster-query-performance/">Implementing constraint exclusion for faster query performance</a></li> <li><a href="https://devblog.songkick.com/migrating-our-etl-pipeline-to-luigi-on-a-cloud-8fde921cec51">Migrating our ETL pipeline to Luigi on a Cloud</a></li> </ul> Mon, 04 Nov 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-449/ https://jakartadev.org/daily-digest-449/ Daily Digest #448 <ul> <li><a href="https://towardsdatascience.com/machine-learning-powered-content-moderation-computer-vision-applications-at-expedia-1297cb32d78d">Machine Learning Powered Content Moderation: Computer Vision Applications at Expedia</a></li> <li><a href="https://eng.uber.com/uber-poet/">Introducing Uber Poet, an Open Source Mock App Generator for Determining Faster Swift Builds</a></li> <li><a href="https://blog.statsbot.co/design-decisions-for-the-first-embedded-analytics-open-source-framework-8129c7f1d28a">Design Decisions for the First Embedded Analytics Open-Source Framework</a></li> <li><a href="https://umbrella.cisco.com/blog/2019/07/24/picture-perfect-how-jpg-exif-data-hides-malware/">Picture Perfect: How JPG EXIF Data Hides Malw</a></li> <li><a href="https://medium.com/pinterest-engineering/real-time-experiment-analytics-at-pinterest-using-apache-flink-841c8df98dc2">Real-time experiment analytics at Pinterest using Apache Flink</a></li> </ul> Fri, 01 Nov 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-448/ https://jakartadev.org/daily-digest-448/ Daily Digest #447 <ul> <li><a href="http://blog.kubecost.com/blog/requests-and-limits/">A Practical Guide to Setting Kubernetes Requests and Limits </a></li> <li><a href="https://semaphoreci.com/blog/observability-measuring-microservices">What Is Observability &amp; How to Measure the Quality of Microservices</a></li> <li><a href="https://www.stackrox.com/post/2019/09/5-kubernetes-rbac-mistakes-you-must-avoid/">5 Kubernetes RBAC Mistakes You Must Avoid</a></li> <li><a href="https://slack.engineering/rebuilding-slack-on-the-desktop-308d6fe94ae4">When a rewrite isn’t: rebuilding Slack on the desktop</a></li> <li><a href="https://blog.octo.com/en/accelerating-nifi-flows-delivery-part-1/">Accelerating NiFi flows delivery: Part 1</a></li> <li><a href="https://blog.cloudera.com/kafka-replication-the-case-for-mirrormaker-2-0/">Kafka Replication: The case for MirrorMaker 2.0</a>, part 2 <a href="https://blog.cloudera.com/a-look-inside-kafka-mirrormaker-2/">A look inside Kafka Mirrormaker 2</a></li> </ul> Thu, 31 Oct 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-447/ https://jakartadev.org/daily-digest-447/ Daily Digest #446 <ul> <li><a href="https://medium.com/walmartlabs/how-tcp-segment-size-can-affect-application-traffic-flow-7bbceed5816e">How TCP segment size can affect application traffic flow</a></li> <li><a href="https://medium.com/cruise/container-platform-networking-kubernetes-e888a07407ab">Container Platform Networking at Cruise</a></li> <li><a href="https://blog.scottlogic.com/2019/07/23/Testing-WebSockets-for-beginners.html">Testing WebSockets for beginners</a></li> <li><a href="https://www.confluent.io/blog/build-streaming-etl-solutions-with-kafka-and-rail-data">On Track with Apache Kafka – Building a Streaming ETL Solution with Rail Data</a></li> <li><a href="https://www.sugarkube.io/blog/2019-10-16-your-kubernetes-clusters-should-be-ephemeral-too/">Your Kubernetes clusters should be ephemeral too</a></li> <li><a href="https://www.docker.com/blog/designing-your-first-application-kubernetes-part1/">Designing Your First App in Kubernetes, Part 1: Getting Started</a></li> </ul> Wed, 30 Oct 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-446/ https://jakartadev.org/daily-digest-446/ Daily Digest #445 <ul> <li><a href="https://medium.com/flant-com/comparing-ingress-controllers-for-kubernetes-9b397483b46b">Comparing Ingress controllers for Kubernetes</a></li> <li><a href="https://www.infoq.com/presentations/rust-webassembly-javascript/">Rust, WebAssembly, and Javascript Make Three: An FFI Story</a></li> <li><a href="https://www.magalix.com/blog/kubernetes-patterns-capacity-planning">Kubernetes Patterns : Capacity Planning</a></li> <li><a href="https://www.infoq.com/presentations/linkerd-cloud-native/">The Service Mesh: It’s about Traffic</a></li> <li><a href="https://linkerd.io/2019/10/07/a-guide-to-distributed-tracing-with-linkerd/">A guide to distributed tracing with Linkerd</a></li> </ul> Tue, 29 Oct 2019 00:00:00 +0000 https://jakartadev.org/daily0-digest-445/ https://jakartadev.org/daily0-digest-445/ Daily Digest #444 <ul> <li><a href="https://github.com/vmware-tanzu">VMware Tanzu – Cloud native open source from VMware</a></li> <li><a href="https://projectcontour.io/from-ingressroute-to-httpproxy/">From IngressRoute to HTTPProxy</a></li> <li><a href="https://github.com/salesforce/sloop">Sloop – Kubernetes History Visualization</a></li> <li><a href="https://www.getambassador.io/resources/envoyproxy-performance-on-k8s/">Benchmarking Envoy Proxy, HAProxy, and NGINX Performance on Kubernetes</a></li> <li><a href="https://srcco.de/posts/how-zalando-manages-140-kubernetes-clusters.html">How Zalando manages 140+ Kubernetes Clusters</a></li> <li><a href="https://srcco.de/posts/kubernetes-liveness-probes-are-dangerous.html">Liveness Probes are Dangerous</a></li> </ul> Mon, 28 Oct 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-444/ https://jakartadev.org/daily-digest-444/ Daily Digest #443 <ul> <li><a href="https://tech.ebayinc.com/product/how-ebay-uses-microinteractions-to-delight-customers-in-china/">How eBay Uses Microinteractions to Delight Customers</a></li> <li><a href="https://hackernoon.com/stretching-the-mold-how-alibaba-enhances-database-flexibility-78ec97fcfd8a?source=rss----3a8144eabfe3---4">Stretching the Mold: How Alibaba Enhances Database Flexibility</a></li> <li><a href="https://www.infoq.com/presentations/rust-security-guarantees/">The Most Secure Program Is One That Doesn’t Exist</a></li> <li><a href="https://blog.twitter.com/engineering/en_us/topics/insights/2018/ml-workflows.html">Productionizing ML with workflows at Twitter</a></li> <li><a href="https://geshan.com.np/blog/2019/10/get-laravel-6-running-on-google-cloud-run-step-by-step-with-ci/">Set up Laravel 6 on Google Cloud Run step by step with Continuous Integration (CI)</a></li> <li><a href="https://vfoley.xyz/lesser-known-coding-fonts/">Lesser Known Coding Fonts</a></li> </ul> Fri, 25 Oct 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-443/ https://jakartadev.org/daily-digest-443/ Daily Digest #442 <ul> <li><a href="https://blog.cloudflare.com/diving-into-technical-seo-cloudflare-workers/">Diving into Technical SEO using Cloudflare Workers</a></li> <li><a href="https://www.weave.works/blog/10-tips-for-building-and-managing-containers">10 Tips for Building and Managing Containers</a></li> <li><a href="https://medium.com/zendesk-engineering/datadog-log-management-from-zero-to-one-3a5a5675dff9">Datadog Log Management from Zero to One</a></li> <li><a href="https://distill.pub/2019/activation-atlas/">Exploring Neural Networks with Activation Atlases</a></li> </ul> Thu, 24 Oct 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-442/ https://jakartadev.org/daily-digest-442/ Daily Digest #441 <ul> <li><a href="https://www.infoq.com/articles/monitor-workflow-collaborating-microservices/">Monitoring and Managing Workflows across Collaborating Microservices</a></li> <li><a href="https://www.infoq.com/presentations/architecting-transactional-system/">Achieving High Throughput with Reliability in Transactional Systems</a></li> <li><a href="https://blog.scottlogic.com/2019/03/04/lambda-global-state.html">Maintaining global state in AWS Lambda functions with Async Hooks</a></li> <li><a href="https://eng.uber.com/machine-learning-capacity-safety/">Using Machine Learning to Ensure the Capacity Safety of Individual Microservices</a></li> </ul> Wed, 23 Oct 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-441/ https://jakartadev.org/daily-digest-441/ Daily Digest #440 <ul> <li><a href="https://blog.sqreen.com/single-page-application-auditing/">Single-page applications need better auditing</a></li> <li><a href="https://blog.risingstack.com/rest-in-peace-long-live-graphql/">REST in Peace. Long Live GraphQL!</a></li> <li><a href="https://blog.heroku.com/reactive-programming-salesforce-data">Reactive Programming with Salesforce Data</a></li> <li><a href="https://engineering.salesforce.com/how-we-built-an-automated-anomaly-detection-system-onto-a-streaming-pipeline-84ecfd6420e0">How We Built an Automated Anomaly Detection System onto a Streaming Pipeline</a></li> </ul> Tue, 22 Oct 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-440/ https://jakartadev.org/daily-digest-440/ Daily Digest #439 <ul> <li><a href="https://engineering.linkedin.com/blog/2019/03/feature-highlight--scaling-autoplay-videos-for-hundreds-of-milli">Feature Highlight: Scaling Autoplay Videos for Hundreds of Millions</a></li> <li><a href="https://www.bigeng.io/native-react-native-bigcommerce/">Native &amp; React Native @ BigCommerce</a></li> <li><a href="https://levelup.gitconnected.com/to-create-an-evolvable-api-stop-thinking-about-urls-2ad8b4cc208e">To Create An Evolvable API, Stop Thinking About URLs</a></li> <li><a href="https://eng.uber.com/introducing-kraken/">Introducing Kraken, an Open Source Peer-to-Peer Docker Registry</a></li> </ul> Mon, 21 Oct 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-439/ https://jakartadev.org/daily-digest-439/ Daily Digest #438 <ul> <li><a href="https://blog.rapidapi.com/api-vs-web-service/">API vs Web Service: What’s the Difference?</a></li> <li><a href="https://www.infoq.com/presentations/failure-cache-redis-pcc-hazelcast/">Enterprise Systems Built with Microservices are Designed to Expect Failures, But Then What? How Do We Handle Failures?</a></li> <li><a href="https://hacks.mozilla.org/2019/02/rewriting-a-browser-component-in-rust/">Implications of Rewriting a Browser Component in Rust</a></li> <li><a href="https://blog.cloudera.com/transparent-hierarchical-storage-management-with-apache-kudu-and-impala/">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a></li> <li><a href="http://highscalability.com/blog/2019/3/4/how-is-software-developed-at-amazon.html">How is software developed at Amazon?</a></li> </ul> Fri, 18 Oct 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-438/ https://jakartadev.org/daily-digest-438/ Daily Digest #437 <ul> <li><a href="https://engineering.grab.com/data-ingestion-transformation-product-insights">How we simplified our Data Ingestion &amp; Transformation Process</a></li> <li><a href="https://medium.com/netflix-techblog/how-data-inspires-building-a-scalable-resilient-and-secure-cloud-infrastructure-at-netflix-c14ea9f2d00c">How Data Inspires Building a Scalable, Resilient and Secure Cloud Infrastructure At Netflix</a></li> <li><a href="https://www.bigeng.io/re-platforming-data-at-bigcommerce-5-second-latency-on-petabytes-of-data/">Re-Platforming Data @BigCommerce: five second latency on Petabytes of data</a></li> </ul> Thu, 17 Oct 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-437/ https://jakartadev.org/daily-digest-437/ Daily Digest #436 <ul> <li><a href="https://auth0.com/blog/what-is-identity-infrastructure/">What is Identity Infrastructure?</a></li> <li><a href="https://blog.cloudflare.com/building-fast-interpreters-in-rust/">Building fast interpreters in Rust</a></li> <li><a href="https://itnext.io/performance-optimized-js-architecture-e95241d061f">Performance optimized JS architecture</a></li> <li><a href="https://tech.just-eat.com/2019/03/04/out-with-the-old-in-with-the-new-part-1-%E2%80%8A-%E2%80%8Areplacing-legacy-components-without-down-time/">Out with the old, in with the new! Part 1  -  Replacing legacy components without down time</a></li> </ul> Wed, 16 Oct 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-436/ https://jakartadev.org/daily-digest-436/ Daily Digest #435 <ul> <li><a href="https://tech.showmax.com/2019/03/divide-encode-2/">Divide &amp; Encode: How to Encode Videos Blazingly Fast: Part II - Under The Hood</a></li> <li><a href="https://engineering.grab.com/structured-logging">Structured Logging: The Best Friend You’ll Want When Things Go Wrong</a></li> <li><a href="https://www.smashingmagazine.com/2019/03/robust-layouts-container-units-css/">Building Robust Layouts With Container Units</a></li> <li><a href="https://hackernoon.com/microservices-on-fargate-part1-f26a318827a8?source=rss----3a8144eabfe3---4">Independently Scalable Multi-Container Microservices Architecture on AWS Fargate (I)</a></li> <li><a href="https://tech.showmax.com/2019/02/automl-predictive-modeling/">AutoML for predictive modeling</a></li> </ul> Tue, 15 Oct 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-435/ https://jakartadev.org/daily-digest-435/ Daily Digest #434 <ul> <li><a href="https://blog.logrocket.com/state-management-pattern-in-javascript-sharing-data-across-components-f4420581f535?source=rss----7f3d96429888---4">State management pattern in JavaScript: Sharing data across components</a></li> <li><a href="https://engineering.linkedin.com/blog/2019/02/rebuilding-the-profile-highlights-system-at-linkedin">Rebuilding the Profile Highlights System at LinkedIn</a></li> <li><a href="https://www.confluent.io/blog/journey-to-event-driven-part-3-affinity-between-events-streams-serverless">Journey to Event Driven – Part 3: The Affinity Between Events, Streams and Serverless</a></li> <li><a href="https://blog.logrocket.com/how-streams-can-simplify-your-life-494a4b247f36?source=rss----7f3d96429888---4">How streams can simplify your life</a></li> </ul> Mon, 14 Oct 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-434/ https://jakartadev.org/daily-digest-434/ Daily Digest #433 <ul> <li><a href="https://hackernoon.com/limiting-your-api-requests-the-right-way-9608b661a0ce?source=rss----3a8144eabfe3---4">Limiting your API requests: the right way</a></li> <li><a href="https://blog.heroku.com/debugging-year-old-sprockets-bug">Debugging in Ruby—Busting a Year-old Bug in Sprockets</a></li> <li><a href="https://www.bigeng.io/a-simple-architecture-for-mobile-apps/">A Simple Architecture for Mobile Apps</a></li> <li><a href="https://itnext.io/on-grpc-load-balancing-683257c5b7b3">On gRPC Load Balancing</a></li> </ul> Fri, 11 Oct 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-433/ https://jakartadev.org/daily-digest-433/ Daily Digest #432 <ul> <li><a href="https://medium.com/@SilentHackz/rendering-on-the-web-80a30c678c3a">Rendering on the Web</a></li> <li><a href="https://sysdig.com/blog/the-art-of-writing-ebpf-programs-a-primer/">The art of writing eBPF programs: a primer.</a></li> <li><a href="https://medium.com/walmartlabs/rendezvous-with-kafka-a-simple-guide-to-get-started-48db3b921cc">Rendezvous with Kafka : A simple guide to get started</a></li> </ul> Thu, 10 Oct 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-432/ https://jakartadev.org/daily-digest-432/ Daily Digest #431 <ul> <li><a href="https://medium.com/dailyjs/tracing-or-debugging-vue-js-reactivity-the-computed-tree-9da0ba1df5f9">Tracing or Debugging Vue.js Reactivity: The computed tree</a></li> <li><a href="https://www.oreilly.com/ideas/3-reasons-to-add-deep-learning-to-your-time-series-toolkit">3 reasons to add deep learning to your time series toolkit</a></li> <li><a href="https://nordicapis.com/functional-contract-testing-a-case-study/">Functional Contract Testing: A Case Study</a></li> <li><a href="https://www.toptal.com/data-science/data-warehouse-concepts-principles">Three Principles of Data Warehouse Development</a></li> </ul> Wed, 09 Oct 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-431/ https://jakartadev.org/daily-digest-431/ Daily Digest #430 <ul> <li><a href="https://techblog.commercetools.com/graphql-and-rest-level-3-hateoas-70904ff1f9cf">GraphQL and REST Level 3 (HATEOAS)</a></li> <li><a href="https://towardsdatascience.com/exploring-virtual-worlds-with-reinforcement-learning-25a245e9afea">Exploring virtual worlds with reinforcement learning</a></li> <li><a href="https://blog.novoda.com/the-ultimate-guide-to-ar-design-arkit-coreml-and-more/">The ultimate guide to AR Design, ARKit, CoreML and more!</a></li> <li><a href="https://itnext.io/apache-solr-because-your-database-is-not-a-search-engine-57705352df8a">Apache Solr: Because your Database is not a Search Engine</a></li> <li><a href="https://www.toptal.com/designers/company-website-design/ui-design-best-practices">UI Design Best Practices for Better Scannability</a></li> </ul> Tue, 08 Oct 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-430/ https://jakartadev.org/daily-digest-430/ Daily Digest #429 <ul> <li><a href="https://engineering.thumbtack.com/moving-forward-on-android-with-graphql/">Moving forward on Android with GraphQL</a></li> <li><a href="https://blog.heroku.com/ten-ways-to-secure-your-apps">Ten Ways to Secure your Applications</a></li> <li><a href="https://blog.algolia.com/query-suggestion-ux-like-googles/">Building a query suggestion UX like Google’s</a></li> <li><a href="http://highscalability.com/blog/2019/2/25/design-of-a-modern-cachepart-deux.html">Design Of A Modern Cache—Part Deux</a></li> <li><a href="https://www.percona.com/blog/2019/02/25/mysql-challenge-100k-connections/">MySQL Challenge: 100k Connections</a></li> </ul> Mon, 07 Oct 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-429/ https://jakartadev.org/daily-digest-429/ Daily Digest #428 <ul> <li><a href="https://hackernoon.com/is-shared-database-in-microservices-actually-anti-pattern-8cc2536adfe4?source=rss----3a8144eabfe3---4">Is a Shared Database in Microservices Actually an Anti-pattern?</a></li> <li><a href="https://engineering.gusto.com/debugging-sidekiq-poison-pills/">Debugging Sidekiq Poison Pills</a></li> <li><a href="https://www.scylladb.com/2019/02/25/in-memory-scylla-or-racing-the-red-queen/">In-Memory Scylla, or Racing the Red Queen</a></li> <li><a href="https://www.confluent.io/blog/sysmon-security-event-processing-real-time-ksql-helk">Sysmon Security Event Processing in Real Time with KSQL and HELK</a></li> </ul> Fri, 04 Oct 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-428/ https://jakartadev.org/daily-digest-428/ Daily Digest #427 <ul> <li><a href="https://deliveroo.engineering/2019/02/22/go-down-the-rabbit-hole.html">Go down the rabbit hole</a></li> <li><a href="https://www.smashingmagazine.com/2019/02/wordpress-modern-php/">Improving WordPress Code With Modern PHP</a></li> <li><a href="https://www.infoq.com/presentations/wepay-database-streaming/">The Whys and Hows of Database Streaming</a></li> <li><a href="https://engineering.shopify.com/blogs/engineering/deconstructing-monolith-designing-software-maximizes-developer-productivity">Deconstructing the Monolith: Designing Software that Maximizes Developer Productivity </a></li> </ul> Thu, 03 Oct 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-427/ https://jakartadev.org/daily-digest-427/ Daily Digest #426 <ul> <li><a href="https://hackernoon.com/deconstructing-the-magic-behind-react-hooks-33ca987e5307?source=rss----3a8144eabfe3---4">Deconstructing the Magic Behind React Hooks</a></li> <li><a href="https://www.colorbox.io/">ColorBox by Lyft Design</a></li> <li><a href="https://www.bugsnag.com/blog/avoid-android-app-crashes">How to avoid delivering a crash-prone Android app</a></li> <li><a href="https://www.infoq.com/presentations/monolith-microservices-refactoring-analysis-tools/">Getting from Monolith to Microservices</a></li> </ul> Wed, 02 Oct 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-426/ https://jakartadev.org/daily-digest-426/ Daily Digest #425 <ul> <li><a href="https://www.infoq.com/presentations/credhub-kubernetes-pcf/">Using CredHub for Kubernetes Deployments</a></li> <li><a href="https://codeclimate.com/blog/time-wasting-code-review/">Keep Code Review from Wasting Everyone’s Time</a></li> <li><a href="https://www.infoq.com/presentations/microservices-agility-communication/">Microservice Agility</a></li> <li><a href="https://slack.engineering/how-to-fail-at-accessibility-99bdf3504f19">How to Fail at Accessibility</a></li> </ul> Tue, 01 Oct 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-425/ https://jakartadev.org/daily-digest-425/ Daily Digest #424 <ul> <li><a href="https://www.railstutorial.org/book/beginning">Ruby on Rails Tutorial</a></li> <li><a href="https://m.stopa.io/how-to-get-those-9s-on-improving-service-uptime-7f5b42ac6a47">How to get those 9s: on improving service uptime</a></li> <li><a href="https://medium.com/carousell-insider/introducing-image-search-price-suggestions-ce8e40a0163f">Introducing Image Search &amp; Price Suggestions</a></li> <li><a href="https://medium.com/swlh/rethinking-web-accounts-using-rails-e74f3ad7098">Rethinking web accounts (using Rails)</a></li> </ul> Mon, 30 Sep 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-424/ https://jakartadev.org/daily-digest-424/ Kubernetes: Up and Running, Second Edition <p>Ebook yang ditulis oleh Brendan Burns, Joe Beda &amp; Kelsey Hightower. Brendan dan Joe merupakan developer awal yang membuat Kubernetes, buku ini diterbitkan oleh O’reilly dan Microsoft, gratis lho.</p> <p><a href="https://azure.microsoft.com/en-us/resources/kubernetes-up-and-running/">Download link</a></p> <p><img src="/public/images/posts/kubernetes-up-and-running-2.png" alt="Kubernetes: Up and Running, Second Edition" /></p> Thu, 26 Sep 2019 00:00:00 +0000 https://jakartadev.org/kubernetes-up-and-running-ebook/ https://jakartadev.org/kubernetes-up-and-running-ebook/ Daily Digest #423 <ul> <li><a href="https://opensource.com/article/19/8/why-spinnaker-matters-cicd">Why Spinnaker matters to CI/CD</a></li> <li><a href="https://thenewstack.io/migrate-a-simple-sam-application-to-the-serverless-framework/">Migrate a Simple SAM Application to the Serverless Framework</a></li> <li><a href="https://devops.com/accelerating-software-delivery-doesnt-mean-compromising-on-quality/">Accelerating Software Delivery Doesn’t Mean Compromising on Quality</a></li> <li><a href="https://www.forbes.com/sites/janakirammsv/2019/09/03/how-vmware-leveraged-kubernetes-for-its-cloud-native-and-multi-cloud-strategy/">How VMware Leveraged Kubernetes For Its Cloud-Native And Multi-Cloud Strategy</a></li> </ul> Thu, 26 Sep 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-423/ https://jakartadev.org/daily-digest-423/ Daily Digest #422 <ul> <li><a href="https://engineering.linkedin.com/blog/2019/02/migz-for-compression-and-decompression">MiGz for Compression and Decompression</a></li> <li><a href="https://techbeacon.com/enterprise-it/why-cios-need-build-cloud-culture-drive-digital-transformation">Why CIOs need to build cloud culture to drive digital transformation</a></li> <li><a href="https://www.techrepublic.com/article/why-doesnt-anyone-weep-for-docker/">Why doesn’t anyone weep for Docker?</a></li> <li><a href="https://thenewstack.io/4-different-approaches-for-kubernetes-in-the-enterprise/">4 Different Approaches for Kubernetes in the Enterprise</a></li> <li><a href="https://enterprisersproject.com/article/2019/8/devops-terms-10-essential-concepts">DevOps terms: 10 essential concepts, explained</a></li> </ul> Wed, 25 Sep 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-422/ https://jakartadev.org/daily-digest-422/ Daily Digest #421 <ul> <li><a href="https://engineering.opensooq.com/opensooq-android-performance-testing-make-hard-things-easy/">OpenSooq Android Performance Testing: Make Hard Things Easy</a></li> <li><a href="https://engineering.grab.com/understanding-supply-demand-ride-hailing-data">Understanding Supply &amp; Demand in Ride-hailing Through the Lens of Data</a></li> <li><a href="https://itnext.io/functional-architecture-e9031090ff18?source=rss----5b301f10ddcd---4&amp;gi=f5f865632a25">Taming Side-Effects</a></li> <li><a href="https://open.nytimes.com/remembering-a-programming-language-that-helped-shape-the-digital-new-york-times-cd809d707c74">Remembering a Programming Language that Helped Shape the Digital New York Times</a></li> </ul> Tue, 24 Sep 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-421/ https://jakartadev.org/daily-digest-421/ Daily Digest #420 <ul> <li><a href="https://enterprisersproject.com/article/2019/8/continuous-improvement-7-ways-encourage">7 ways to encourage continuous improvement</a></li> <li><a href="https://techbeacon.com/enterprise-it/6-application-performance-management-trends-watch">6 application performance management trends to watch</a></li> <li><a href="https://devblogs.nvidia.com/optimizing-end-to-end-memory-networks-using-sigopt-gpus/">Optimizing End-to-End Memory Networks Using SigOpt and GPUs</a></li> <li><a href="https://www.percona.com/blog/2019/02/21/parallel-queries-in-postgresql/">Parallel queries in PostgreSQL</a></li> <li><a href="https://www.smashingmagazine.com/2019/02/animation-design-system/">Including Animation In Your Design System</a></li> </ul> Mon, 23 Sep 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-420/ https://jakartadev.org/daily-digest-420/ Daily Digest #419 <ul> <li><a href="https://engineeringblog.yelp.com/2019/02/autoscaling-mesos-clusters-with-clusterman.html">Autoscaling Mesos Clusters with Clusterman</a></li> <li><a href="https://blog.cloudflare.com/stop-the-bots-practical-lessons-in-machine-learning/">Stop the Bots: Practical Lessons in Machine Learning</a></li> <li><a href="https://medium.com/netflix-techblog/extending-vector-with-ebpf-to-inspect-host-and-container-performance-5da3af4c584b">Extending Vector with eBPF to inspect host and container performance</a></li> <li><a href="https://getvector.io/">Vector Monitoring</a></li> <li><a href="https://devops.com/5-tips-to-eliminate-knowledge-gaps-in-dev-and-qa/">5 Tips to Eliminate Knowledge Gaps in Dev and QA</a></li> <li><a href="https://medium.com/faun/bringing-your-k8s-cluster-back-from-death-k8s-recovery-series-f599c3f63c95">Bringing your k8s cluster back from death — K8s recovery series</a></li> </ul> Fri, 20 Sep 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-419/ https://jakartadev.org/daily-digest-419/ Daily Digest #418 <ul> <li><a href="https://medium.com/zendesk-engineering/a-beginners-guide-to-deploys-and-releases-d2a823f274c4">A Beginners Guide to Deploys and Releases</a></li> <li><a href="https://www.infoq.com/articles/death-agile-beyond/">The Death of Agile and Beyond</a></li> <li><a href="https://thenewstack.io/dataops-and-the-problem-with-ops-terminology/">DataOps and the Problem with ‘Ops’ Terminology</a></li> <li><a href="https://www.infoq.com/presentations/vitess/">Massively Scaling MySQL Using Vitess</a></li> </ul> Thu, 19 Sep 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-418/ https://jakartadev.org/daily-digest-418/ Daily Digest #417 <ul> <li><a href="https://www.infoq.com/presentations/apache-flink-streaming-app/">Patterns of Streaming Applications</a></li> <li><a href="https://opensource.com/article/19/8/what-devops-principle-changed-your-career">What piece of advice had the greatest impact on your career in DevOps?</a></li> <li><a href="https://www.infoq.com/articles/lean-into-practice/">Rediscovering Lean</a></li> <li><a href="https://medium.com/dev-channel/javascript-loading-priorities-in-chrome-57c54cfa6672">JavaScript Loading Priorities in Chrome</a></li> </ul> Wed, 18 Sep 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-417/ https://jakartadev.org/daily-digest-417/ Daily Digest #416 <ul> <li><a href="https://thenewstack.io/create-the-ideal-work-environment-for-developers/">Create the Ideal Work Environment for Developers</a></li> <li><a href="https://www.scylladb.com/2019/02/20/valustor-a-memcached-alternative-built-on-scylla/">ValuStor — a memcached alternative built on Scylla</a></li> <li><a href="https://blog.algolia.com/challenging-migration-heroku-google-kubernetes-engine/">The Challenging Migration from Heroku to Google Kubernetes Engine</a></li> <li><a href="https://opensource.com/article/19/8/ops-tasks-ansible">5 ops tasks to do with Ansible</a></li> </ul> Tue, 17 Sep 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-416/ https://jakartadev.org/daily-digest-416/ Daily Digest #415 <ul> <li><a href="https://medium.com/better-programming/how-to-build-dark-and-light-theme-with-web-components-a63ca1570bfe">How to Build Light and Dark Themes With Web Components</a></li> <li><a href="https://www.amie-chen.com/blog/20190206-build-a-site-with-vuepress-part1.html">[Part 1] Setup a working Vuepress blog with Tailwind.css</a></li> <li><a href="https://css-irl.info/how-to-accessibly-split-text/">How to Accessibly Split Text</a></li> <li><a href="https://medium.com/young-coder/the-pain-points-of-web-development-with-wordpress-9bbaf5393202">The Pain Points of Web Development with WordPress</a></li> <li><a href="https://css-tricks.com/in-search-of-a-stack-that-monitors-the-quality-and-complexity-of-css/">In Search of a Stack That Monitors the Quality and Complexity of CSS </a></li> </ul> Mon, 16 Sep 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-415/ https://jakartadev.org/daily-digest-415/ Daily Digest #414 <ul> <li><a href="https://www.aaron-powell.com/posts/2019-08-14-css-can-do-this-and-its-terrifying">CSS Can Do This… And It’s Terrifying!</a></li> <li><a href="https://www.telerik.com/blogs/7-ways-to-make-your-angular-app-more-accessible">7 Ways to Make Your Angular App More Accessible</a></li> <li><a href="http://thecodebarbarian.com/a-practical-guide-to-symbols-in-javascript.html">A Practical Guide to Symbols in JavaScript</a></li> <li><a href="https://www.smashingmagazine.com/2019/08/vuepress-documentation/">VuePress: Documentation Made Easy</a></li> </ul> Fri, 13 Sep 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-414/ https://jakartadev.org/daily-digest-414/ Daily Digest #413 <ul> <li><a href="https://devops.com/weighing-the-cost-of-improper-devsecops/">Weighing the Cost of Improper DevSecOps</a></li> <li><a href="https://www.cio.co.uk/it-infrastructure/how-cios-are-using-microservices-3701395/">How are CIOs using microservices</a></li> <li><a href="https://devops.com/out-of-date-cloud-anti-trends-of-2019/">Out of Date: Cloud Anti-Trends of 2019</a></li> <li><a href="https://medium.com/young-coder/how-javascript-grew-up-and-became-a-real-language-17a0b948b77f">How JavaScript Grew Up and Became a Real Language</a></li> </ul> Thu, 12 Sep 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-413/ https://jakartadev.org/daily-digest-413/ Daily Digest #412 <ul> <li><a href="https://medium.com/better-programming/linux-survival-guide-for-beginners-c18bfd982036">Linux: A Survival Guide for Beginners</a></li> <li><a href="https://www.zdnet.com/article/how-to-become-a-serverless-architect/">Serverless architect emerges as in-demand job role</a></li> <li><a href="https://containerjournal.com/topics/container-ecosystems/cncf-highlights-kubernetes-progress-5-years-on/">CNCF Highlights Kubernetes Progress 5 Years On</a></li> <li><a href="https://thenewstack.io/why-software-testing-shouldnt-be-as-boring-as-you-know-what/">Why Software Testing Shouldn’t Be as Boring as ‘You Know What’</a></li> <li><a href="https://dzone.com/articles/from-black-hat-usa-the-inevitable-marriage-of-devo">From Black Hat USA: The Inevitable Marriage of DevOps &amp; Security</a></li> <li><a href="https://techbeacon.com/app-dev-testing/3-frameworks-make-ui-testing-more-resilient">3 frameworks that make UI testing more resilient</a></li> </ul> Wed, 11 Sep 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-412/ https://jakartadev.org/daily-digest-412/ Daily Digest #411 <ul> <li><a href="https://medium.com/dailyjs/flatten-array-using-array-flat-in-javascript-ee4d0b2423e5">Flatten Array using Array.flat() in JavaScript</a></li> <li><a href="https://tobiasahlin.com/blog/move-from-jquery-to-vanilla-javascript/">Cheat sheet for moving from jQuery to vanilla JavaScript</a></li> <li><a href="https://medium.com/better-programming/overvue-a-vue-prototyping-tool-f2b8a2f0c229">OverVue, a Vue Prototyping Tool</a></li> <li><a href="https://csswizardry.com/2019/08/time-to-first-byte-what-it-is-and-why-it-matters/">Time to First Byte: What It Is and Why It Matters</a></li> <li><a href="https://www.smashingmagazine.com/2019/08/faster-image-loading-embedded-previews/">Faster Image Loading With Embedded Image Previews</a></li> </ul> Tue, 10 Sep 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-411/ https://jakartadev.org/daily-digest-411/ Daily Digest #410 <ul> <li><a href="https://blog.logrocket.com/the-history-and-legacy-of-jquery/">The history and legacy of jQuery</a></li> <li><a href="https://thedigitalprojectmanager.com/stakeholder-management-101-types-of-stakeholders-how-to-manage-them/">Stakeholder Management 101: Types of Stakeholders &amp; How to Manage Them</a></li> <li><a href="https://dsternlicht.github.io/react-dynamic-charts/">Reactjs Dynamic Charts</a></li> <li><a href="https://css-tricks.com/all-the-new-es2019-tips-and-tricks/">All the New ES2019 Tips and Tricks</a></li> </ul> Fri, 06 Sep 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-410/ https://jakartadev.org/daily-digest-410/ Daily Digest #409 <ul> <li><a href="https://tympanus.net/codrops/2019/08/20/react-slider-with-parallax-hover-effects/">React Slider with Parallax Hover Effects</a></li> <li><a href="https://medium.com/the-computer-engineer-weekly-code-challenge">The Computer Engineer Weekly Code Challenge</a></li> <li><a href="https://techbeacon.com/enterprise-it/hosted-private-cloud-key-benefits-drawbacks">Hosted private cloud: Key benefits and drawbacks</a></li> <li><a href="https://devops.com/faas-is-key-to-devops-efficiency/">FaaS is Key to DevOps Efficiency</a></li> </ul> Thu, 05 Sep 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-409/ https://jakartadev.org/daily-digest-409/ Daily Digest #408 <ul> <li><a href="https://medium.com/@jan_5421/insider-trading-visualised-with-python-sec-api-io-5f12a7799b3e">Insider trading visualised with Python &amp; sec-api.io</a></li> <li><a href="https://blog.startifact.com/posts/refactoring-to-multiple-exit-points.html">Refactoring to Multiple Exit Points</a></li> <li><a href="https://testdriven.io/blog/deploying-django-to-digitalocean-with-docker-and-gitlab/">Continuously Deploying Django to DigitalOcean with Docker and GitLab</a></li> <li><a href="https://medium.com/the-computer-engineer-weekly-code-challenge/ive-been-working-as-a-software-developer-for-almost-two-years-now-dealing-with-big-frameworks-5b35d0784943">What’s up with Gunicorn</a></li> </ul> Wed, 04 Sep 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-408/ https://jakartadev.org/daily-digest-408/ Daily Digest #407 <ul> <li><a href="https://www.cdotrends.com/story/14405/six-best-practices-creating-container-platform-strategy?refresh=auto">Six Best Practices for Creating a Container Platform Strategy</a></li> <li><a href="https://www.datacenterknowledge.com/industry-perspectives/six-considerations-adopting-microservices-architecture">Six Considerations for Adopting a Microservices Architecture</a></li> <li><a href="https://thenewstack.io/a-practical-approach-to-understanding-kubernetes-authorization/">A Practical Approach to Understanding Kubernetes Authorization</a></li> <li><a href="https://realpython.com/cpython-source-code-guide/">Your Guide to the CPython Source Code</a></li> <li><a href="https://www.mattlayman.com/blog/2019/starlette-mock-service/">Quick and dirty mock service with Starlette</a></li> </ul> Tue, 03 Sep 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-407/ https://jakartadev.org/daily-digest-407/ Daily Digest #406 <ul> <li><a href="https://sobolevn.me/2019/08/typechecking-django-and-drf">Typechecking Django and DRF</a></li> <li><a href="https://opensource.com/article/19/8/guide-agile-project-management">A comprehensive guide to agile project management</a></li> <li><a href="https://thenewstack.io/shifting-zero-trust-left-with-cloud-native-software/">Shifting Zero Trust Left with Cloud Native Software</a></li> <li><a href="https://www.linuxjournal.com/content/experts-attempt-explain-devops-and-almost-succeed">Experts Attempt to Explain DevOps–and Almost Succeed</a></li> <li><a href="https://github.com/netromdk/vermin">Vermin – Concurrently detect the minimum Python versions needed to run code</a></li> </ul> Mon, 02 Sep 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-406/ https://jakartadev.org/daily-digest-406/ Daily Digest #405 <p>-<a href="https://techbeacon.com/app-dev-testing/boost-your-agile-experiments-how-ideem-articulates-benefit">Boost your agile experiments: How IDEEM articulates benefit</a></p> <ul> <li><a href="https://github.com/alttch/rapidtables">Rapidtables - Super fast list of dicts to pre-formatted tables conversion library for Python 2/3</a></li> <li><a href="https://thenewstack.io/how-ai-solves-the-kubernetes-complexity-conundrum/">How AI Solves the Kubernetes Complexity Conundrum</a></li> <li><a href="https://enterprisersproject.com/article/2019/8/kubernetes-secrets-explained-plain-english">How to explain Kubernetes Secrets in plain English</a></li> <li><a href="https://blog.datasciencedojo.com/machine-learning-algorithms/">101 Machine Learning Algorithms for Data Science with Cheat Sheets</a></li> <li><a href="https://thenewstack.io/measuring-ci-cd-adoption-rates-is-a-problem/">Measuring CI/CD Adoption Rates Is a Problem</a></li> </ul> Fri, 30 Aug 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-405/ https://jakartadev.org/daily-digest-405/ Daily Digest #404 <ul> <li><a href="https://thenewstack.io/what-is-aiops-and-why-you-should-care/">What Is AIOps — And Why You Should Care</a></li> <li><a href="https://enterprisersproject.com/article/2019/8/devops-role-digital-transformation">10 ways DevOps helps digital transformation</a></li> <li><a href="https://techbeacon.com/app-dev-testing/how-i-jumped-software-testing-data-science">How I jumped from software testing to data science</a></li> <li><a href="https://www.oreilly.com/playlists/36e619f6-45c1-409f-a608-d5558fc95193/">Understanding the Cloud</a></li> <li><a href="https://www.infoworld.com/article/3432155/how-to-stop-people-from-causing-bad-cloud-architectures.html">How to stop people from causing bad cloud architectures</a></li> </ul> Thu, 29 Aug 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-404/ https://jakartadev.org/daily-digest-404/ Daily Digest #403 <ul> <li><a href="https://medium.com/swlh/javascripts-magical-tips-every-developer-should-remember-38c71b1cbfba">JavaScript’s Magical Tips Every Developer Should Remember</a></li> <li><a href="https://www.smashingmagazine.com/2019/08/writing-modes-layout/">Writing Modes And CSS Layout</a></li> <li><a href="https://www.jonrcorbin.com/the-best-vs-code-extension-list-for-full-stack-developers/">The Best VS Code Extension List for Full Stack Developers</a></li> <li><a href="https://tympanus.net/codrops/2019/08/07/image-trail-effects/">Image Trail Effects</a></li> <li><a href="https://github.com/goldbergyoni/javascript-testing-best-practices">📗🌐 🚢 Comprehensive and exhaustive JavaScript &amp; Node.js testing best practices (August 2019)</a></li> </ul> Wed, 28 Aug 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-403/ https://jakartadev.org/daily-digest-403/ Daily Digest #402 <ul> <li><a href="https://thenewstack.io/security-concerns-around-rapid-container-growth/">Security Concerns Around Rapid Container Growth</a></li> <li><a href="https://learning.oreilly.com/learning-paths/learning-path-implementing/9781492054948">Implementing Cisco Network Security, Part 1</a></li> <li><a href="https://learning.oreilly.com/learning-paths/learning-path-implementing/0636920303152">Implementing Cisco Network Security, Part 2</a></li> <li><a href="https://learning.oreilly.com/learning-paths/learning-path-implementing/0636920303183">Implementing Cisco Network Security, Part 3</a></li> <li><a href="https://www.oreilly.com/library/view/oreilly-software-architecture/9781492050506/">O’Reilly Software Architecture Conference 2019 - New York, New York</a></li> <li><a href="https://devops.com/the-sre-pressure-cooker-balancing-velocity-against-risk/">The SRE Pressure Cooker: Balancing Velocity Against Risk</a></li> <li><a href="https://thenewstack.io/observability-a-3-year-retrospective/">Observability — A 3-Year Retrospective</a></li> </ul> Tue, 27 Aug 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-402/ https://jakartadev.org/daily-digest-402/ Daily Digest #401 <ul> <li><a href="https://towardsdatascience.com/a-hitchhikers-guide-to-mixture-density-networks-76b435826cca?source=rss----7f60cf5620c9---4">A Hitchhiker’s Guide to Mixture Density Networks</a></li> <li><a href="https://techblog.commercetools.com/graphql-adoption-at-commercetools-cab25a1d1f4a?source=rss----d3d69d818e3d---4&amp;gi=463d6877546d">GraphQL adoption at commercetools</a></li> <li><a href="https://blog.cloudflare.com/sockmap-tcp-splicing-of-the-future/">SOCKMAP - TCP splicing of the future</a></li> <li><a href="https://opensource.com/article/19/8/scrum-vs-kanban">Scrum vs. kanban: Which agile framework is better?</a></li> <li><a href="https://devops.com/relentless-automation-the-roadmap-to-success/">Relentless Automation: The Roadmap to Success</a></li> </ul> Mon, 26 Aug 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-401/ https://jakartadev.org/daily-digest-401/ Daily Digest #400 <ul> <li><a href="https://developer.okta.com/blog/2019/02/15/user-migration-the-definitive-guide">User Migration: The Definitive Guide</a></li> <li><a href="https://www.infoq.com/presentations/scalability-performance-benchmark/">Scaling up Performance Benchmarking</a></li> <li><a href="https://medium.com/zendesk-engineering/maintaining-binary-compatibility-in-scala-6e07157aac23">Maintaining Binary Compatibility in Scala</a></li> <li><a href="https://www.smashingmagazine.com/2019/02/accessibility-webinar/">How A Screen Reader User Accesses The Web: A Smashing Video</a></li> <li><a href="https://hackernoon.com/messaging-pattern-for-high-availability-and-handling-failures-in-microservices-26cdd7a0aec6?source=rss----3a8144eabfe3---4">Messaging Pattern For High Availability and Handling Failures in Microservices 🔥</a></li> </ul> Fri, 23 Aug 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-400/ https://jakartadev.org/daily-digest-400/ Daily Digest #399 <ul> <li><a href="https://eng.uber.com/modeling-censored-time-to-event-data-using-pyro/">Modeling Censored Time-to-Event Data Using Pyro, an Open Source Probabilistic Programming Language</a></li> <li><a href="https://blog.arkency.com/read-model-patterns-in-case-of-lack-of-order-guarantee/">Patterns for asynchronous read models in infrastructure without order guarantee</a></li> <li><a href="https://towardsdatascience.com/ai-for-algorithmic-trading-rethinking-bars-labeling-and-stationarity-90a7b626f3e1">AI for algorithmic trading: rethinking bars, labeling, and stationarity</a></li> <li><a href="https://hackernoon.com/understanding-ipfs-in-depth-1-5-a-beginner-to-advanced-guide-e937675a8c8a?source=rss----3a8144eabfe3---4">Understanding IPFS in Depth(1/6): A Beginner to Advanced Guide</a></li> <li><a href="https://open.nytimes.com/how-we-prepared-new-york-times-engineering-for-the-midterm-elections-2a615fe4196e?source=rss----51e1d1745b32---4&amp;gi=20537d10f65">How We Prepared New York Times Engineering for the Midterm Elections</a></li> </ul> Thu, 22 Aug 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-399/ https://jakartadev.org/daily-digest-399/ Daily Digest #398 <ul> <li><a href="https://hackernoon.com/understanding-micro-frontends-b1c11585a297?source=rss----3a8144eabfe3---4">Understanding Micro Frontends</a></li> <li><a href="https://www.infoq.com/presentations/memory-jvm/">The Trouble with Memory</a></li> <li><a href="https://medium.com/myntra-engineering/myntra-scheduler-service-a0153a04526c">Myntra Scheduler Service -Fault tolerant, horizontally scalable managed scheduler service</a></li> <li><a href="https://jobs.zalando.com/tech/blog/end-to-end-microservices/index.html">A Journey On End To End Testing A Microservices Architecture</a></li> </ul> Wed, 21 Aug 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-398/ https://jakartadev.org/daily-digest-398/ Daily Digest #397 <ul> <li><a href="https://distill.pub/2019/safety-needs-social-scientists/">AI Safety Needs Social Scientists</a></li> <li><a href="https://becominghuman.ai/real-time-finger-detection-1e18fea0d1d4?source=rss----5e5bef33608a---4&amp;gi=24268a0d3dab">Real-time Finger Detection</a></li> <li><a href="https://www.opsian.com/blog/what-is-continuous-profiling/">What is Continuous Profiling?</a></li> <li><a href="https://blog.cloudflare.com/solving-problems-with-serverless-the-cloudflare-led-data-center-board-part-i/">Solving Problems with Serverless – The Cloudflare LED Data Center Board, Part I</a></li> </ul> Mon, 19 Aug 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-397/ https://jakartadev.org/daily-digest-397/ Daily Digest #396 <ul> <li><a href="https://www.infoq.com/presentations/data-driven-decision-making/">Data-Driven Decision Making</a></li> <li><a href="https://blog.logrocket.com/divide-and-conquer-scale-your-node-js-app-using-distributed-queues-8231a9486d3a?source=rss----7f3d96429888---4">Divide and conquer: Scale your Node.js app using distributed queues</a></li> <li><a href="https://eng.uber.com/avs-autonomous-vehicle-visualization/">Introducing AVS, an Open Standard for Autonomous Vehicle Visualization from Uber</a></li> <li><a href="https://www.infoq.com/news/2019/02/rethinking-observability/">Three Pillars with Zero Answers: Rethinking Observability with Ben Sigelman</a></li> <li><a href="https://www.infoq.com/presentations/net-runtime-architecture/">Tuning a Runtime for Both Productivity and Performance</a></li> </ul> Fri, 16 Aug 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-396/ https://jakartadev.org/daily-digest-396/ Daily Digest #395 <ul> <li><a href="https://medium.com/zendesk-engineering/hunting-for-memory-leaks-in-python-applications-6824d0518774">Hunting for Memory Leaks in Python applications</a></li> <li><a href="https://medium.com/walmartlabs/cloud-native-application-architecture-a84ddf378f82">Cloud Native Application Architecture</a></li> <li><a href="https://about.gitlab.com/2019/02/13/delayed-replication-for-disaster-recovery-with-postgresql/">How we used delayed replication for disaster recovery with PostgreSQL</a></li> <li><a href="https://www.smashingmagazine.com/2019/02/introduction-to-webbluetooth/">An Introduction To WebBluetooth</a></li> <li><a href="https://www.toptal.com/front-end/guide-to-monorepos">Guide to Monorepos for Front-end Code</a></li> </ul> Mon, 12 Aug 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-395/ https://jakartadev.org/daily-digest-395/ Daily Digest #394 <ul> <li><a href="https://levelup.gitconnected.com/typesafe-frontend-development-89c7600f2759?source=rss----5517fd7b58a6---4&amp;gi=f3d9855fd31f">Type-safe Frontend Development</a></li> <li><a href="http://tech.gc.com/application-performance-monitoring/">Fishing For Correlations</a></li> <li><a href="https://towardsdatascience.com/consistent-hashing-simplified-7fe4e512324?source=rss----7f60cf5620c9---4">Consistent Hashing Simplified</a></li> <li><a href="https://eng.uber.com/uber-beacon-bluetooth-mobile-app/">Engineering Uber Beacon: Matching Riders and Drivers in 24-bit RGB Colors</a></li> <li><a href="https://medium.com/@Pinterest_Engineering/developing-fast-reliable-ios-builds-at-pinterest-part-one-cb1810407b92">Developing fast &amp; reliable iOS builds at Pinterest (Part one)</a></li> </ul> Tue, 06 Aug 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-394/ https://jakartadev.org/daily-digest-394/ Daily Digest #393 <ul> <li><a href="https://towardsdatascience.com/deep-compression-optimization-techniques-for-inference-efficiency-615252c18f18?source=rss----7f60cf5620c9---4">Deep Compression: Optimization Techniques for Inference &amp; Efficiency</a></li> <li><a href="https://engineering.shopify.com/blogs/engineering/unifying-graphql-design-patterns-best-practices-tutorials">Unifying Our GraphQL Design Patterns and Best Practices with Tutorials </a></li> <li><a href="https://www.ebayinc.com/stories/blogs/tech/complementary-item-recommendations-at-ebay-scale/">Complementary Item Recommendations at eBay Scale</a></li> <li><a href="https://www.viget.com/articles/getting-organized-with-an-engineering-logbook/">Getting Organized with an Engineering Logbook</a></li> <li><a href="https://blog.novoda.com/working-with-legacy-testing-frameworks-part-1-huge-checks/">Working with Legacy Testing Frameworks</a></li> </ul> Mon, 05 Aug 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-393/ https://jakartadev.org/daily-digest-393/ Daily Digest #392 <ul> <li><a href="https://www.infoq.com/presentations/chaos-engineering-gamedays/">Chaos Engineering with Containers</a></li> <li><a href="https://eng.uber.com/introducing-ludwig/">Introducing Ludwig, a Code-Free Deep Learning Toolbox</a></li> <li><a href="https://engineering.linkedin.com/blog/2019/02/learning-hiring-preferences--the-ai-behind-linkedin-jobs">Learning Hiring Preferences: The AI Behind LinkedIn Jobs</a></li> <li><a href="https://www.smashingmagazine.com/2019/02/testing-mobile-first-experiences/">A/B Testing For Mobile-First Experiences</a></li> <li><a href="https://blog.logrocket.com/how-to-extract-text-from-an-image-using-javascript-8fe282fb0e71?source=rss----7f3d96429888---4">How to extract text from an image using JavaScript</a></li> <li><a href="https://hacks.mozilla.org/2019/02/fearless-security-thread-safety/">Fearless Security: Thread Safety</a></li> <li><a href="https://deliveroo.engineering/2019/02/14/moving-from-ruby-to-rust.html">Moving from Ruby to Rust</a></li> </ul> Fri, 02 Aug 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-392/ https://jakartadev.org/daily-digest-392/ Daily Digest #391 <ul> <li><a href="https://www.infoq.com/presentations/10-kubernetes/">The 10 Kubernetes Commandments</a></li> <li><a href="http://rockthecode.io/blog/using-svg-build-better-reports/">Build Great PDFs on the Web Using SVG</a></li> <li><a href="https://www.infoq.com/podcasts/joe-beda-kubernetes-cncf/">Joe Beda on Kubernetes &amp; the CNCF</a></li> <li><a href="https://nordicapis.com/introduction-to-unikernels/">Introduction To Unikernels</a></li> <li><a href="https://medium.com/netflix-techblog/building-a-cross-platform-in-app-messaging-orchestration-service-86ba614f92d8">Building a Cross-platform In-app Messaging Orchestration Service</a></li> </ul> Thu, 01 Aug 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-391/ https://jakartadev.org/daily-digest-391/ Daily Digest #390 <ul> <li><a href="https://towardsdatascience.com/machine-learning-for-detecting-code-bugs-a79f37f144b7?source=rss----7f60cf5620c9---4&amp;gi=e8d998142ac0">Machine Learning for Detecting Code Bugs</a></li> <li><a href="https://hackernoon.com/how-i-get-rid-of-the-new-sponsored-facebook-posts-138d013f4bbe?source=rss----3a8144eabfe3---4">How I got rid of the new sponsored Facebook posts</a></li> <li><a href="https://towardsdatascience.com/anomaly-detection-with-isolation-forest-visualization-23cd75c281e2?source=rss----7484818e9f88---4">Anomaly Detection with Isolation Forest &amp; Visualization</a></li> <li><a href="https://www.infoq.com/news/2019/02/mysql-clustering-wepay/">Highly Available MySQL Clustering at WePay Using Orchestrator, Consul and HAProxy</a></li> <li><a href="https://itnext.io/under-the-hood-of-apollo-6d8642066b28?source=rss----5b301f10ddcd---4&amp;gi=587d59b7f6cb">Under-the-hood of Apollo</a></li> </ul> Wed, 31 Jul 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-390/ https://jakartadev.org/daily-digest-390/ Daily Digest #389 <ul> <li><a href="https://www.oreilly.com/ideas/the-next-age-of-open-innovation">The next age of open innovation</a></li> <li><a href="https://towardsdatascience.com/your-dataset-is-a-giant-inkblot-test-b9bf4c53eec5?gi=61b39011bd4">Your dataset is a giant inkblot test</a></li> <li><a href="https://blog.pragmaticengineer.com/operating-a-high-scale-distributed-system/">Operating a Large, Distributed System in a Reliable Way: Practices I Learned</a></li> <li><a href="https://multithreaded.stitchfix.com/blog/2019/07/09/simulacra-and-selection/">Simulacra And Selection</a></li> </ul> Tue, 30 Jul 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-389/ https://jakartadev.org/daily-digest-389/ Daily Digest #388 <ul> <li><a href="https://babeljs.io/blog/2019/07/03/7.5.0">Babel 7.5.0 Released</a></li> <li><a href="https://medium.com/better-programming/50-thingsyou-should-know-before-going-to-a-javascript-developer-job-interview-b1f1dfbf945c">50 Things You Should Know Before Going to a JavaScript Developer Job Interview</a></li> <li><a href="https://web.dev/layout-instability-api/">The Layout Instability API</a></li> </ul> Mon, 29 Jul 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-388/ https://jakartadev.org/daily-digest-388/ Daily Digest #387 <ul> <li><a href="https://marcus.io/blog/menu-or-not">Menu (or not)</a></li> <li><a href="https://www.viget.com/articles/beginners-guide-to-variable-fonts-part-1/">Beginner’s Guide to Variable Fonts: Part 1</a></li> <li><a href="https://www.viget.com/articles/beginners-guide-to-variable-fonts-2/">Beginner’s Guide to Variable Fonts: Part 2</a></li> <li><a href="https://changelog.com/jsparty/84">React + WebAssembly = ❤️</a></li> <li><a href="https://medium.com/young-coder/learning-to-code-by-hacking-minecraft-8c3da41e741a">Learning to Code by Hacking Minecraft</a></li> </ul> Fri, 26 Jul 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-387/ https://jakartadev.org/daily-digest-387/ Daily Digest #386 <ul> <li><a href="https://calibreapp.com/blog/how-pagespeed-works/">How Google Pagespeed works: Improve Your Score and Search Engine Ranking</a></li> <li><a href="https://nodesource.com/blog/worker-threads-nodejs/">Understanding Worker Threads in Node.js</a></li> <li><a href="https://www.twilio.com/blog/optimize-javascript-application-performance-web-workers">Optimizing JavaScript Application Performance with Web Workers</a></li> <li><a href="https://tympanus.net/codrops/2019/07/10/how-to-add-smooth-scrolling-with-inner-image-animations-to-a-web-page/">How to Add Smooth Scrolling with Inner Image Animations to a Web Page</a></li> </ul> Thu, 25 Jul 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-386/ https://jakartadev.org/daily-digest-386/ Daily Digest #385 <ul> <li><a href="https://opensource.com/article/19/7/devops-vs-sysadmin">The case for making the transition from sysadmin to DevOps engineer</a></li> <li><a href="https://techbeacon.com/app-dev-testing/7-pitfalls-could-ruin-your-app-testing-cycle">7 pitfalls that could ruin your app testing cycle</a></li> <li><a href="https://thenewstack.io/what-makes-docker-so-important/">What Makes Docker So Important</a></li> <li><a href="https://opensource.com/article/19/7/code-reviews-devops">What makes a good code review in DevOps?</a></li> <li><a href="https://containerjournal.com/2019/07/09/building-secure-production-ready-kubernetes-clusters-and-containers-part-2/">Building Secure Production-Ready Kubernetes Clusters and Containers, Part 2 </a></li> </ul> Wed, 24 Jul 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-385/ https://jakartadev.org/daily-digest-385/ Daily Digest #384 <ul> <li><a href="https://cloud.google.com/blog/products/databases/to-run-or-not-to-run-a-database-on-kubernetes-what-to-consider">To run or not to run a database on Kubernetes: What to consider</a></li> <li><a href="https://thenewstack.io/organizations-running-on-more-clouds-less-likely-to-see-security-threats/">Organizations Running on More Clouds Less Likely to See Security Threats</a></li> <li><a href="https://techbeacon.com/enterprise-it/why-we-need-transform-internet-cloud-native-world">Why we need to transform the Internet for a cloud-native world</a></li> <li><a href="https://devops.com/5-ways-devsecops-can-manage-software-supply-chains/">5 Ways DevSecOps Can Manage Software Supply Chains</a></li> </ul> Tue, 23 Jul 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-384/ https://jakartadev.org/daily-digest-384/ Daily Digest #383 <ul> <li><a href="https://medium.com/sequoia-capital/role-of-a-data-science-manager-2c69264511d3">Role of a Data Science Manager</a></li> <li><a href="https://www.fastcompany.com/90374429/how-etsy-taught-style-to-an-algorithm">How Etsy taught style to an algorithm</a></li> <li><a href="https://www.oreilly.com/ideas/toward-learned-algorithms-data-structures-and-systems">Toward learned algorithms, data structures, and systems</a></li> <li><a href="https://towardsdatascience.com/jupyter-is-the-new-excel-but-not-for-your-boss-d24340ebf314">Jupyter is the new Excel (but not for your boss)</a></li> <li><a href="https://www.oreilly.com/ideas/tools-for-machine-learning-development">Tools for machine learning development</a></li> </ul> Mon, 22 Jul 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-383/ https://jakartadev.org/daily-digest-383/ Daily Digest #382 <ul> <li> <table> <tbody> <tr> <td>[The modern PWA Cheat Sheet by Maximiliano Firtman</td> <td>JSConf EU 2019](https://www.youtube.com/watch?v=cybhV88KLfI)</td> </tr> </tbody> </table> </li> <li><a href="https://facebook.github.io/react-native/blog/2019/07/03/version-60">React Native 0.60</a></li> <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/68">Firefox 68 for developers</a></li> <li><a href="https://github.com/cjss-group/CJSS">A CSS based web framework</a></li> <li><a href="https://medium.com/@nodejs/the-openjs-foundation-is-official-now-what-21eecf28ffd8">The OpenJS Foundation is Official! Now What?</a></li> <li><a href="https://www.oreilly.com/ideas/the-future-of-machine-learning-is-tiny">The future of machine learning is tiny</a></li> </ul> Fri, 19 Jul 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-382/ https://jakartadev.org/daily-digest-382/ Daily Digest #381 <ul> <li><a href="https://lethain.com//head-in-the-clouds/">Head in the clouds.</a></li> <li><a href="https://blog.dereferenced.org/federation-what-flows-where-and-why">Federation – what flows where, and why?</a></li> <li><a href="https://www.pixelstech.net/article/1562942424-A-simple-example-of-git-bisect-command">A simple example of git bisect command</a></li> <li><a href="https://nora.codes/post/what-is-rusts-unsafe/">What Is Rust’s unsafe?</a></li> </ul> Thu, 18 Jul 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-381/ https://jakartadev.org/daily-digest-381/ Daily Digest #380 <ul> <li><a href="https://thenewstack.io/security-metrics-that-actually-matter-in-a-devops-world/">Security Metrics that Actually Matter in a DevOps World</a></li> <li><a href="https://sdtimes.com/test/a-guide-to-continuous-testing-tools/">A guide to continuous testing tools</a></li> <li><a href="http://elementsofprogramming.com/">Elements of Programming – <em>free</em> </a></li> <li><a href="https://blog.softwaremill.com/autoscaling-kafka-streams-applications-with-kubernetes-9aed2e37d3a0?gi=5c72db3c9281">Autoscaling Kafka Streams applications with Kubernetes</a></li> <li><a href="http://huseyinpolatyuruk.com/2019/05/03/the-most-important-skill-a-programmer-can-learn/">The Most Important Skill a Programmer Can Learn</a></li> </ul> Wed, 17 Jul 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-380/ https://jakartadev.org/daily-digest-380/ Daily Digest #379 <ul> <li><a href="https://xon.sh/">Xonsh – Python-powered shell and command prompt</a></li> <li><a href="https://opensource.com/article/19/7/code-reviews-devops">What makes a good code review in DevOps?</a></li> <li><a href="https://thenewstack.io/it-monitoring-in-the-era-of-containers-tapping-into-ebpf-observability/">IT Monitoring in the Era of Containers: Tapping into eBPF Observability</a></li> <li><a href="https://containerjournal.com/2019/07/01/building-secure-production-ready-kubernetes-clusters-and-containers-part-1/">Building Secure Production-Ready Kubernetes Clusters and Containers, Part 1</a></li> <li><a href="https://techbeacon.com/security/reverse-engineering-attacks-6-tools-your-team-needs-know">Reverse engineering attacks: 6 tools your team needs to know</a></li> <li><a href="https://devops.com/how-systemic-approaches-to-itops-impact-the-business-culture/">How Systemic Approaches to ITOps Impact the Business Culture</a></li> </ul> Tue, 16 Jul 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-379/ https://jakartadev.org/daily-digest-379/ Daily Digest #378 <ul> <li><a href="https://eng.uber.com/financial-planning-for-data-scientist/">Why Financial Planning is Exciting… At Least for a Data Scientist</a></li> <li><a href="https://www.ebayinc.com/stories/blogs/tech/sre-case-study-triage-a-non-heap-jvm-out-of-memory-issue/">SRE Case Study: Triaging a Non-Heap JVM Out of Memory Issue</a></li> <li><a href="https://itnext.io/improving-react-application-perfomance-by-avoiding-unnecessary-updates-bd96d03dec40">Improving React Application Performance by Avoiding Unnecessary Updates</a></li> <li><a href="https://security.googleblog.com/2019/02/introducing-adiantum-encryption-for.html">Introducing Adiantum: Encryption for the Next Billion Users</a></li> </ul> Mon, 15 Jul 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-378/ https://jakartadev.org/daily-digest-378/ Daily Digest #377 <p>Selamat berakhir pekan!</p> <ul> <li><a href="https://hackernoon.com/consider-grpc-for-mobile-apis-2f0a8552ec23">Consider gRPC for Mobile APIs</a></li> <li><a href="https://www.smashingmagazine.com/2019/02/complex-web-tables/">How To Architect A Complex Web Table</a></li> <li><a href="https://www.infoq.com/presentations/kafka-pks/">Cloud-Native Streaming Platform: Running Apache Kafka on PKS</a></li> <li><a href="https://security.googleblog.com/2019/02/open-sourcing-clusterfuzz.html">Open sourcing ClusterFuzz</a></li> <li><a href="https://medium.com/walmartlabs/so-you-think-you-know-java-multi-threading-f38e3fd5df85">So you think you know Java Multi threading!</a></li> <li><a href="https://blog.logrocket.com/the-only-reason-your-css-fails-8e4388d562af">The only reason your CSS fails</a></li> </ul> Fri, 12 Jul 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-377/ https://jakartadev.org/daily-digest-377/ Daily Digest #376 <ul> <li><a href="https://nordicapis.com/should-you-design-natural-language-first-apis/">Should You Design Natural Language First APIs?</a></li> <li><a href="https://medium.com/@Pinterest_Engineering/automating-shop-the-look-on-pinterest-a17aeff0eae2">Automating Shop the Look on Pinterest</a></li> <li><a href="https://benchling.engineering/move-fast-and-migrate-things-how-we-automated-migrations-in-postgres-d60aba0fc3d4">Move fast and migrate things: how we automated migrations in Postgres</a></li> <li><a href="https://blogs.dropbox.com/tech/2019/02/incrementally-migrating-over-one-million-lines-of-code-from-python-2-to-python-3/">Incrementally migrating over one million lines of code from Python 2 to Python 3</a></li> <li><a href="https://www.digitalocean.com/community/tutorials/understanding-database-sharding">Understanding Database Sharding</a></li> <li><a href="https://medium.com/jobteaser-dev-team/python-packaging-how-do-we-manage-it-at-jobteaser-2bc8d1e9d206">Python Packaging : How we manage it at JobTeaser</a></li> </ul> Thu, 11 Jul 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-376/ https://jakartadev.org/daily-digest-376/ Daily Digest #375 <ul> <li><a href="https://medium.com/airbnb-engineering/machine-learning-powered-search-ranking-of-airbnb-experiences-110b4b1a0789">Machine Learning-Powered Search Ranking of Airbnb Experiences</a></li> <li><a href="https://www.toptal.com/swift/advanced-concurrency-in-swift-with-honeybee">Advanced Concurrency in Swift with HoneyBee</a></li> <li><a href="https://www.infoq.com/articles/api-gateway-clojure-golang/">Rewriting an API Gateway Service from Clojure to Golang: AppsFlyer Experience Report</a></li> <li><a href="https://nordicapis.com/using-hypermedia-to-design-event-driven-uis/">Using Hypermedia To Design Event-Driven UIs</a></li> </ul> Wed, 10 Jul 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-375/ https://jakartadev.org/daily-digest-375/ Daily Digest #374 <ul> <li><a href="https://www.scylladb.com/2019/02/01/meshify-and-scylla-an-industrial-strength-iot-solution/">Meshify and Scylla: an Industrial-Strength IoT Solution</a></li> <li><a href="https://codeascraft.com/2019/02/01/executing-a-sunset/">Executing a Sunset</a></li> <li><a href="https://www.cockroachlabs.com/blog/vectorized-hash-joiner/">40x faster hash joiner with vectorized execution</a></li> <li><a href="https://blog.scottlogic.com/2019/01/31/the-curious-case-of-disappeared-buses.html">The curious case of disappearing buses</a></li> <li><a href="https://blog.sourced.tech/post/formatting-with-style/">Formatting. With style.</a></li> <li><a href="https://www.semantics3.com/blog/how-we-do-data-qa-semantics3-processes-humans-in-the-loop-part-2/">How we do Data QA @ Semantics3: Processes &amp; Humans-in-the-Loop (Part 2)</a></li> </ul> Tue, 09 Jul 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-374/ https://jakartadev.org/daily-digest-374/ Daily Digest #373 <ul> <li><a href="https://www.smashingmagazine.com/2019/02/ios-performance-tricks-apps/">iOS Performance Tricks To Make Your App Feel More Performant</a></li> <li><a href="https://medium.com/netflix-techblog/engineering-to-scale-paid-media-campaigns-84ba018fb3fa">Engineering to Improve Marketing Effectiveness (Part 3) — Scaling Paid Media campaigns</a></li> <li><a href="https://www.confluent.io/blog/beginners-perspective-kafka-streams-building-real-time-walkthrough-detection">A Beginner’s Perspective on Kafka Streams: Building Real-Time Walkthrough Detection</a></li> <li><a href="https://medium.com/netflix-techblog/detecting-performance-anomalies-in-external-firmware-deployments-ed41b1bfcf46">Detecting Performance Anomalies in External Firmware Deployments</a></li> <li><a href="https://www.infoq.com/articles/overcoming-restlessness/">Overcoming RESTlessness</a></li> <li><a href="https://medium.com/walmartlabs/debug-nodejs-dependencies-51eb40f484ec">Debug Node.js Dependencies</a></li> <li><a href="https://hackernoon.com/asymmetric-cryptography-in-blockchains-d1a4c1654a71">Asymmetric Cryptography In Blockchains</a></li> </ul> Mon, 08 Jul 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-373/ https://jakartadev.org/daily-digest-373/ Daily Digest #372 <p>Selamat berakhir pekan!</p> <ul> <li><a href="https://www.linkedin.com/pulse/un-safe-any-speed-rethinking-scale-agility-sam-mcafee">Un-SAFe At Any Speed: Rethinking Scale and Agility</a></li> <li><a href="https://engineering.linkedin.com/blog/2019/01/bridging-offline-and-nearline-computations-with-apache-calcite">Bridging Offline and Nearline Computations with Apache Calcite</a></li> <li><a href="https://github.com/trimstray/nginx-admins-handbook">nginx-admins-handbook – How to improve NGINX performance</a></li> <li><a href="https://medium.com/airbnb-engineering/contextualizing-airbnb-by-building-knowledge-graph-b7077e268d5a">Contextualizing Airbnb by Building Knowledge Graph</a></li> <li><a href="https://artsy.github.io/blog/2019/01/29/from-tslint-to-eslint/">From TSLint to ESLint, or How I Learned to Lint GraphQL Code</a></li> <li><a href="https://engineering.salesforce.com/building-a-scalable-event-pipeline-with-heroku-and-salesforce-2549cb20ce06">Building a Scalable Event Pipeline with Heroku and Salesforce</a></li> <li><a href="https://www.confluent.io/blog/journey-to-event-driven-part-1-why-event-first-thinking-changes-everything">Journey to Event Driven – Part 1: Why Event-First Thinking Changes Everything</a></li> <li><a href="https://deliveroo.engineering/2019/02/05/improving-stream-data-quality-with-protobuf-schema-validation.html">Improving Stream Data Quality With Protobuf Schema Validation</a></li> </ul> Fri, 05 Jul 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-372/ https://jakartadev.org/daily-digest-372/ OSS Gems: Azakaban, Nginx admin handbooks <p>Segment baru yang akan menuliskan proyek-proyek open source software (oss) yang menurut saya menarik untuk dibahas dan berguna untuk kebutuhan dikerjaan atau sekedar <em>ngulik</em>.</p> <h3 id="azkaban"><a href="https://azkaban.github.io/">Azkaban</a></h3> <p>Sebuah <em>Workflow Manager</em> yang open source tentunya, pertama di-develop oleh linkedin, software ini digunakan untuk batch workflow job scheduler untuk dijalankan di Hadoop jobs, yang pada zaman dulu menggunakan cron, yang mana tidak scalable, dengan menggunakan ini bisa lebih scalable dan gampang untuk <em>tracking</em> jobs yang ada di server.</p> <h3 id="nginx-admin-handbooks"><a href="https://github.com/trimstray/nginx-admins-handbook">Nginx Admin Handbooks</a></h3> <p>Sebuah repo yang dibuat oleh <a href="https://github.com/trimstray">trimstray</a> dan <a href="https://github.com/trimstray/nginx-admins-handbook/graphs/contributors">kontributor lain</a>, yang berisi tutorial, pengalaman, masalah dan lainnya ketika menggunakan nginx, membahas keamanan, <em>performance</em> dan topik lainnya.</p> Thu, 04 Jul 2019 00:00:00 +0000 https://jakartadev.org/oss-azkaban-nginx-book/ https://jakartadev.org/oss-azkaban-nginx-book/ Daily Digest #371 <ul> <li><a href="https://itnext.io/api-gateways-are-going-through-an-identity-crisis-e5dc3a5ab6d4">API Gateways are going through an identity crisis</a></li> <li><a href="https://github.com/arp242/hello-css">hello-css - A CSS template focused on readability</a></li> <li><a href="https://blogs.dropbox.com/tech/2019/01/finding-kafkas-throughput-limit-in-dropbox-infrastructure/">Finding Kafka’s throughput limit in Dropbox infrastructure</a></li> <li><a href="https://medium.com/myntra-engineering/how-to-build-a-technology-platform-5d0b0fc92af1">How to build a technology platform</a></li> <li><a href="https://medium.com/walmartlabs/streamlining-frontend-as-a-service-for-backend-teams-69d9223efcec">Streamlining Frontend-as-a-Service for Backend Teams</a></li> <li><a href="https://github.com/pomber/git-history">git-history – Quickly browse the history of a file from any git repository</a></li> <li><a href="https://stylelint.io/">stylelint – A mighty, modern linter for css/no-css</a></li> </ul> Thu, 04 Jul 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-371/ https://jakartadev.org/daily-digest-371/ Daily Digest #370 <ul> <li><a href="https://kubernetes.io/blog/2019/05/23/kyma-extend-and-build-on-kubernetes-with-ease/">Kyma - extend and build on Kubernetes with ease</a> – <a href="https://kyma-project.io/docs/root/kyma#overview-overview">Kyma overview</a></li> <li><a href="https://www.computerworlduk.com/infrastructure/how-trustpilot-pivoted-infrastructure-as-code-serverless-first-3698203/">How Trustpilot pivoted to infrastructure-as-code and serverless first</a></li> <li><a href="https://cloudblogs.microsoft.com/opensource/2019/05/21/kubecon-microsoft-updates-helm-3-virtual-kubelet-1-visual-studio-code-service-mesh-interface/">Extending Kubernetes in the open</a></li> <li><a href="https://blog.appsignal.com/2019/01/29/graphql.html">An instrumental intro to GraphQL with Ruby</a></li> <li><a href="https://techbeacon.com/security/how-track-security-problems-your-kubernetes-deployments">How to track security problems in your Kubernetes deployments</a></li> <li><a href="https://cloud.google.com/blog/products/application-development/5-principles-for-cloud-native-architecture-what-it-is-and-how-to-master-it">5 principles for cloud-native architecture—what it is and how to master it</a></li> </ul> Wed, 03 Jul 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-370/ https://jakartadev.org/daily-digest-370/ Daily Digest #369 <ul> <li><a href="https://www.toptal.com/designers/ux/ux-trends-2018">UX Trends 2018: A Retrospective</a></li> <li><a href="https://99designs.com/blog/inside-99designs/engineering-managers-guide-to-rebranding/">An engineering manager’s guide to rebranding </a></li> <li><a href="https://www.codewithjason.com/write-characterization-tests/">How I write characterization tests</a></li> <li><a href="https://engineering.linkedin.com/blog/2019/01/managing-distributed-tasks-with-helix-task-framework">Managing Distributed Tasks with Helix Task Framework</a></li> <li><a href="https://open.nytimes.com/faster-and-lighter-moving-ad-tech-server-side-ef4bd6d2f2eb">Faster and Lighter: Moving Ad Tech Server-Side</a></li> <li><a href="https://blog.cloudflare.com/http-3-from-root-to-tip/">HTTP/3: From root to tip</a></li> <li><a href="https://techbeacon.com/devops/state-devops-europe-how-become-devops-determined">The state of DevOps in Europe: How to become ‘DevOps Determined’</a></li> </ul> Tue, 02 Jul 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-369/ https://jakartadev.org/daily-digest-369/ Daily Digest #368 <ul> <li><a href="https://www.infoq.com/presentations/kubernetes-yaml/">Dissecting Kubernetes (K8s) - An Intro to Main Components</a></li> <li><a href="https://blog.appsignal.com/2019/02/26/diving-into-dup-and-clone.html">Diving into Ruby’s #dup and #clone</a></li> <li><a href="https://eng.uber.com/aresdb/">Introducing AresDB: Uber’s GPU-Powered Open Source, Real-time Analytics Engine</a></li> <li><a href="https://itnext.io/auditing-containers-with-osquery-389636f8c420">Auditing containers with osquery</a></li> <li><a href="https://andycroll.com/ruby/secure-your-staging-environment-with-basic-auth/">Secure Your Rails Staging Environment with HTTP Basic Authentication</a></li> <li><a href="https://hackernoon.com/parallel-programming-and-developing-fast-solutions-for-your-slow-programs-using-threads-585708c1e533">Parallel programming and developing fast solutions for your slow programs using threads</a></li> </ul> Mon, 01 Jul 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-368/ https://jakartadev.org/daily-digest-368/ Daily Digest #367 <ul> <li><a href="https://medium.com/walmartlabs/be-creative-with-midway-mock-3e0e0c2d1524">Be creative with Midway mock</a></li> <li><a href="http://highscalability.com/blog/2019/1/28/a-hybrid-cloud-approach-from-fraudguardio-that-handles-50m-r.html">A Hybrid Cloud Approach from FraudGuard.io that Handles 50M Requests a Day</a></li> <li><a href="https://tech.just-eat.com/2019/01/28/ltdd/">Building Stable Systems with Load-Test Driven Development</a></li> <li><a href="https://hackernoon.com/distributed-pki-development-and-use-cases-a828287a2e67">Distributed PKI: Development and Use Cases</a></li> <li><a href="https://blog.heroku.com/debugging-year-old-sprockets-bug">Debugging in Ruby—Busting a Year-old Bug in Sprockets</a></li> <li><a href="https://dev.to/nholden/how-i-replaced-a-rails-app-with-a-few-dozen-lines-of-ruby-3l1m">How I replaced a Rails app with a few dozen lines of Ruby</a></li> </ul> Fri, 28 Jun 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-367/ https://jakartadev.org/daily-digest-367/ Daily Digest #366 <ul> <li><a href="https://www.infoq.com/presentations/type-system-typescript-flow-graphql/">Learning to Love Type Systems</a></li> <li><a href="https://eng.uber.com/applied-behavioral-science-at-scale/">How Uber Leverages Applied Behavioral Science at Scale</a></li> <li><a href="https://www.smashingmagazine.com/2019/01/api-based-platforms-product-managers/">Understanding API-Based Platforms: A Guide For Product Managers</a></li> <li><a href="https://levelup.gitconnected.com/rolling-our-own-medium-style-wysiwyg-c10fda0e5699">Rolling our own Medium-style WYSIWYG</a></li> <li><a href="https://www.ruby-toolbox.com/blog/2019-02-25/historical-gem-download-charts">Historical Rubygem Download Charts</a></li> </ul> Thu, 27 Jun 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-366/ https://jakartadev.org/daily-digest-366/ Daily Digest #365 <ul> <li><a href="https://www.infoq.com/articles/microservices-bdd-interface-oriented/">Developing Microservices with Behavior Driven Development and Interface Oriented Design</a></li> <li><a href="https://nebulab.it/blog/actioncable-vs-anycable-fight/">Action Cable vs AnyCable: fight! </a></li> <li><a href="https://engineering.shopify.com/blogs/engineering/how-shopify-uses-recommender-systems-to-empower-entrepreneurs">How Shopify Uses Recommender Systems to Empower Entrepreneurs</a></li> <li><a href="https://blog.mozilla.org/blog/2019/02/04/putting-users-and-publishers-at-the-center-of-the-online-value-exchange/">Putting Users and Publishers at the Center of the Online Value Exchange</a></li> <li><a href="https://github.com/derailed/k9s">K9s – 🐶 Kubernetes CLI To Manage Your Clusters In Style!</a></li> <li><a href="https://medium.com/@rieckpil/30-minutes-every-day-for-your-craft-committing-code-to-github-for-365-consecutive-days-eec8b73b5105">30 minutes every day for your craft: Committing code to GitHub for 365 consecutive days</a></li> <li><a href="https://cssreference.io/">CSS Reference</a></li> </ul> Wed, 26 Jun 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-365/ https://jakartadev.org/daily-digest-365/ Daily Digest #364 <ul> <li><a href="http://www.theengineeringmanager.com/growth/working-from-home-the-yin-and-yang/">Working from home: the yin and yang</a></li> <li><a href="https://blog.boltops.com/2019/02/25/sqs-events-and-aws-lambda-with-ruby-on-jets">SQS Events and AWS Lambda with Ruby on Jets</a></li> <li><a href="https://www.smashingmagazine.com/2019/01/introducing-component-based-api/">Introducing The Component-Based API</a></li> <li><a href="https://mermaidjs.github.io/">MermaidJS – Create diagram or charts in a text</a> – <a href="https://mermaidjs.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ3JhcGggVERcbkFbQ2hyaXN0bWFzXSAtLT58R2V0IG1vbmV5fCBCKEdvIHNob3BwaW5nKVxuQiAtLT4gQ3tMZXQgbWUgdGhpbmt9XG5DIC0tPnxva2V8IERbTGFwdG9wXVxuQyAtLT58YmxhaHwgRVtpUGhvbmVdXG5DIC0tPnxkYWRhfCBGW2ZhOmZhLWNhciBDYXJdXG4iLCJtZXJtYWlkIjp7InRoZW1lIjoiZGVmYXVsdCJ9fQ">in action</a></li> <li><a href="https://spacevim.org/use-vim-as-a-ruby-ide/">Use Vim as a Ruby IDE</a></li> <li><a href="https://hackernoon.com/competing-frameworks-alibaba-puts-sdk-flutter-to-the-test-88eb8cf1f35a">Competing Frameworks: Alibaba Puts SDK Flutter to the Test</a></li> </ul> Tue, 25 Jun 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-364/ https://jakartadev.org/daily-digest-364/ Daily Digest #363 <ul> <li><a href="https://github.com/shawnxlw/infra-dev-env">Infrastructure Development Environment – A docker image that contains the necessary tools for doing Infrastructure Development</a></li> <li><a href="https://naturaily.com/blog/8-frameworks-ruby-not-rails">8 Ruby frameworks that aren’t Rails</a></li> <li><a href="https://medium.com/@avik.das/creating-raspberry-pi-applications-with-raylib-and-ruby-fba3d35b2877">Creating Raspberry Pi applications with Raylib and Ruby</a></li> <li><a href="https://blog.cloudflare.com/enjoy-a-slice-of-quic-and-rust/">Enjoy a slice of QUIC, and Rust!</a></li> <li><a href="https://www.scylladb.com/2019/01/21/scylla-summit-video-grab-and-scylla-driving-southeast-asia-forward/">Scylla Summit Video: Grab and Scylla Driving Southeast Asia Forward</a></li> <li><a href="https://github.com/vinistock/sail">Sail - lightweight Rails engine for admin panel</a></li> </ul> Fri, 21 Jun 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-363/ https://jakartadev.org/daily-digest-363/ Daily Digest #362 <ul> <li><a href="https://www.smashingmagazine.com/2019/01/designing-emotional-interfaces-future/">Designing Emotional Interfaces Of The Future</a></li> <li><a href="https://www.infoq.com/presentations/front-end-performance-optimization">Fantastic Front-End Performance Tricks &amp; Why We Do Them</a></li> <li><a href="https://spin.atomicobject.com/2019/01/21/replace-unit-test-types/">Type-Driven Development – Replacing Unit Tests with Types in Typescript</a></li> <li><a href="https://medium.com/airbnb-engineering/discovering-and-classifying-in-app-message-intent-at-airbnb-6a55f5400a0c">Discovering and Classifying In-app Message Intent at Airbnb</a></li> </ul> Thu, 20 Jun 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-362/ https://jakartadev.org/daily-digest-362/ Daily Digest #361 <ul> <li><a href="https://www.theguardian.com/info/2019/jan/24/leaving-scribe">Leaving Scribe</a></li> <li><a href="https://developers.soundcloud.com/blog/garbage-collection-in-redux-applications">Garbage Collection in Redux Applications</a></li> <li><a href="https://eng.uber.com/engineering-uber-lite/">Expanding Access: Engineering Uber Lite</a></li> <li><a href="https://blogs.dropbox.com/tech/2019/01/the-scalable-fabric-behind-our-growing-data-center-network/">The scalable fabric behind our growing data center network</a></li> </ul> Wed, 19 Jun 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-361/ https://jakartadev.org/daily-digest-361/ Daily Digest #360 <ul> <li><a href="http://www.pregamemagazine.com/dear-ceo-your-feel-good-diversity-initiative-is-undermined-by-every-other-way-youre-doing-business/">Dear CEO: Your Feel-Good Diversity Initiative is Undermined By Every Other Way You’re Doing Business</a></li> <li><a href="https://github.com/amatsuda/heavens_door">Capybara test scenario recorder for Rails</a></li> <li><a href="https://medium.com/capgemini-dynamics-365-team/opportunity-cost-for-developers-a02aa3dc1035">Opportunity Cost for developers — or how I stopped worrying about the future and learned to code for the present</a></li> </ul> Tue, 18 Jun 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-360/ https://jakartadev.org/daily-digest-360/ Daily Digest #359 <ul> <li><a href="https://towardsdatascience.com/understanding-customer-churning-with-big-data-analytics-70ce4eb17669">Understanding Customer Churning with Big Data Analytics</a></li> <li><a href="https://www.toptal.com/designers/ui/minimal-web-design">Simplicity is Key – Exploring Minimal Web Design</a></li> <li><a href="https://www.smashingmagazine.com/2019/01/table-design-patterns-web/">Table Design Patterns On The Web</a></li> <li><a href="https://www.ebayinc.com/stories/blogs/tech/explainable-reasoning-over-knowledge-graphs-for-recommendation/">Explainable Reasoning over Knowledge Graphs for Recommendation</a></li> <li><a href="https://github.com/TrillCyborg/onefraction">React/ApolloGraphQL/Node/Mongo demo written in Typescript</a></li> </ul> Mon, 17 Jun 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-359/ https://jakartadev.org/daily-digest-359/ Daily Digest #358 <ul> <li><a href="https://www.railscarma.com/blog/technical-articles/preload-eager-load-includes-and-joins-in-ruby-on-rails/">Preload, Eager Load, Includes and Joins in Ruby on Rails</a></li> <li><a href="https://www.xkyle.com/Being-a-Great-Engineering-Mentor/">Being a Great Engineering Mentor</a></li> <li><a href="https://chriskiehl.com/article/event-sourcing-is-hard">Don’t Let the Internet Dupe You, Event Sourcing is Hard</a></li> <li><a href="https://cloudbootup.com/post/the-cost-of-bad-software-architecture.html">The Cost of Bad Software Architecture</a></li> <li><a href="https://github.com/postlight/mercury-parser">Mercury parser</a></li> </ul> Fri, 14 Jun 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-358/ https://jakartadev.org/daily-digest-358/ Daily Digest #357 <ul> <li><a href="https://www.ebayinc.com/stories/blogs/tech/interactive-visual-search/">Interactive Visual Search</a></li> <li><a href="https://github.com/nosarthur/gita">Gita – Manage multiple git repos side by side for sanity</a></li> <li><a href="https://www.weave.works/blog/feedback-and-control-an-essential-gitops-component">Feedback and Control - an Essential GitOps Component</a></li> <li><a href="https://medium.com/culture-of-change/edito-culture-change-whitepaper-d8d8b66749">Edito — Culture Change whitepaper</a></li> <li><a href="https://github.com/ioquatix/covered">Covered – modern Ruby features to generate comprehensive coverage</a></li> <li><a href="https://git.occrp.org/libre/fonts-degooglifier">fonts-degooglifier</a></li> </ul> Thu, 13 Jun 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-357/ https://jakartadev.org/daily-digest-357/ Daily Digest #356 <ul> <li><a href="https://engineering.salesforce.com/big-data-metrics-discovery-842e3cac6d1d?source=rss----cfe1120185d3---4">Big Data Metrics Discovery</a></li> <li><a href="https://www.pikapkg.com/blog/introducing-pika-pack/">Introducing: @pika/pack npm package building, reimagined</a></li> <li><a href="https://overreacted.io/react-as-a-ui-runtime/">React as a UI Runtime</a></li> <li><a href="https://crate.io/a/how-we-use-trello-to-help-us-onboard-our-new-employees/">How We Use Trello to Help Us Onboard Our New Employees</a></li> <li><a href="https://medium.com/walmartlabs/writing-a-graphql-client-in-vanilla-js-d2a09aee7c6c">Working with GraphQL using Vanilla JS</a></li> <li><a href="https://blog.twitch.tv/analyzing-twitch-chat-during-a-pok%C3%A9mon-marathon-8f53ca281d4f">Analyzing twitch chat during a pokémon marathon</a></li> <li><a href="https://faastruby.io/blog/introducing-templates/">Introducing Templates: A way to share your Serverless Functions with the Community</a></li> </ul> Wed, 12 Jun 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-356/ https://jakartadev.org/daily-digest-356/ Daily Digest #355 <ul> <li><a href="https://www.infoq.com/articles/why-architectural-diagrams/">Why Do We Need Architectural Diagrams?</a></li> <li><a href="https://www.infoq.com/presentations/microsoft-tfs-azure-devops">Journey to Cloud Architecture</a></li> <li><a href="https://rewind.io/blog/feature-flagging-in-ruby-using-eightball/">Feature Flagging in Ruby Using EightBall</a></li> <li><a href="https://blog.logrocket.com/node-js-multithreading-what-are-worker-threads-and-why-do-they-matter-48ab102f8b10?source=rss----7f3d96429888---4">Node.js multithreading: What are Worker Threads and why do they matter?</a></li> <li><a href="https://engineering.salesforce.com/performance-analysis-of-linux-kernel-library-user-space-tcp-stack-be75fb198730">Performance Analysis of Linux Kernel Library User-Space Tcp Stack Go to the profile of Aditya Kamath</a></li> </ul> Tue, 11 Jun 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-355/ https://jakartadev.org/daily-digest-355/ Daily Digest #354 <ul> <li><a href="https://blog.octo.com/en/octos-vision-on-the-service-mesh-radiography-of-the-service-mesh/">OCTO’s vision on the Service Mesh: radiography of the Service Mesh</a></li> <li><a href="https://medium.com/@octoz/thoughts-about-scaled-agile-frameworks-and-why-they-are-useless-bfdf29f968af">Thoughts about scaled agile frameworks and why they are useless</a></li> <li><a href="https://engineering.grab.com/experimentation-platform-data-pipeline">A Lean and Scalable Data Pipeline To Capture Large Scale Events and Support Experimentation Platform</a></li> <li><a href="https://medium.com/airbnb-engineering/empowering-data-science-with-data-engineering-education-ef2acabd3042">Empowering Data Science with Engineering Education</a></li> <li><a href="http://highscalability.com/blog/2019/1/8/mysql-high-availability-framework-explained-part-ii.html">MySQL High Availability Framework Explained – Part II</a></li> </ul> Mon, 10 Jun 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-354/ https://jakartadev.org/daily-digest-354/ Daily Digest #353 <ul> <li><a href="https://www.cockroachlabs.com/blog/cockroachdb-on-rocksd/">Why we built CockroachDB on top of RocksDB</a></li> <li><a href="https://www.infoq.com/articles/patient-care-stream-processing/">Increasing the Quality of Patient Care through Stream Processing</a></li> <li><a href="http://rockthecode.io/blog/distributed-application-using-raft/">Application Scaling with Raft</a></li> <li><a href="https://www.percona.com/blog/2019/01/17/using-parallel-query-with-amazon-aurora-for-mysql/">Using Parallel Query with Amazon Aurora for MySQL</a></li> <li><a href="https://medium.com/airbnb-engineering/avoiding-double-payments-in-a-distributed-payments-system-2981f6b070bb">Avoiding Double Payments in a Distributed Payments System</a></li> </ul> Mon, 03 Jun 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-353/ https://jakartadev.org/daily-digest-353/ Daily Digest #352 <ul> <li><a href="https://www.infoq.com/news/2019/01/rearchitecture-system-success/">An Incremental Architecture Approach to Building Systems</a></li> <li><a href="https://engineeringblog.yelp.com/2019/01/migrating-kafkas-zookeeper-with-no-downtime.html">Migrating Kafka’s Zookeeper With No Downtime</a></li> <li><a href="https://blogs.dropbox.com/tech/2019/01/automating-datacenter-operations-at-dropbox/">Automating Datacenter Operations at Dropbox</a></li> <li><a href="https://blog.logrocket.com/why-are-we-getting-streams-in-redis-8c36498aaac5?source=rss----7f3d96429888---4">Why are we getting Streams in Redis?</a></li> <li><a href="https://www.eventbrite.com/engineering/why-would-webpack-stop-re-compiling-the-quest-for-micro-apps/">Why Would Webpack Stop Re-compiling? (The Quest for Micro-Apps)</a></li> </ul> Fri, 31 May 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-352/ https://jakartadev.org/daily-digest-352/ Daily Digest #351 <ul> <li><a href="https://artsy.github.io/blog/2019/01/14/graphql-union-vs-interface/">GraphQL: Union vs. Interface</a></li> <li><a href="https://blog.logrocket.com/how-to-limit-front-end-bugs-27d5648dd3ee?source=rss----7f3d96429888---4">How to limit front-end bugs</a></li> <li><a href="https://developer.okta.com/blog/2019/01/16/history-and-future-of-async-javascript">The History (and Future) of Asynchronous JavaScript</a></li> <li><a href="https://blog.sqreen.com/demystifying-radix-trees/">How Radix trees made blocking IPs 5000 times faster</a></li> <li><a href="https://engineering.linecorp.com/en/blog/overview-of-2018-language-models/">An overview of 2018 language models</a></li> </ul> Thu, 30 May 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-351/ https://jakartadev.org/daily-digest-351/ Daily Digest #350 <ul> <li><a href="https://engineering.salesforce.com/tls-fingerprinting-with-ja3-and-ja3s-247362855967?source=rss----cfe1120185d3---4">TLS Fingerprinting with JA3 and JA3S</a></li> <li><a href="https://www.memsql.com/blog/porting-30k-lines-of-code-from-flow-to-typescript/">Porting 30K Lines of Code from Flow to TypeScript</a></li> <li><a href="https://hacks.mozilla.org/2019/01/augmented-reality-and-the-browser%E2%80%8A-%E2%80%8Aan-app-experiment/">Augmented Reality and the Browser — An App Experiment</a></li> <li><a href="https://shopifyengineering.myshopify.com/blogs/engineering/ios-application-testing-strategies-at-shopify">iOS Application Testing Strategies at Shopify</a></li> <li><a href="https://medium.com/walmartlabs/interpretable-machine-learning-part-i-bd1829b42b3a">Interpretable Machine learning : Part I</a></li> </ul> Wed, 29 May 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-350/ https://jakartadev.org/daily-digest-350/ Daily Digest #349 <ul> <li><a href="https://developers.redhat.com/blog/2019/01/15/podman-managing-containers-pods/">Podman: Managing pods and containers in a local container runtime</a></li> <li><a href="https://www.weave.works/blog/managing-secrets-in-kubernetes">Managing Secrets in Kubernetes</a></li> <li><a href="https://spin.atomicobject.com/2019/01/14/android-vs-ios-development/">With Jetpack, Android Development Has Leapfrogged iOS</a></li> <li><a href="https://americanexpress.io/git-bisect/">Using Git Bisect To Find Bugs</a></li> <li><a href="https://blog.logrocket.com/common-api-mistakes-and-how-to-avoid-them-804fbcb9cc4b">Common api mistakes and how to avoid them</a></li> </ul> Tue, 28 May 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-349/ https://jakartadev.org/daily-digest-349/ Daily Digest #348 <ul> <li><a href="https://blog.logrocket.com/reverse-engineering-observable-4069f3853139"> Reverse engineering Observable</a></li> <li><a href="https://www.infoq.com/presentations/nvme-cache">Caching Beyond RAM: The Case for NVMe</a></li> <li><a href="https://hackernoon.com/why-and-how-we-built-a-temporal-database-system-called-sirixdb-open-source-from-scratch-a7446f56f201">Pushing Database Versioning to Its Limits by Means of a Novel Sliding Snapshot Algorithm and Efficient Time Travel Queries</a></li> <li><a href="https://security.googleblog.com/2019/01/pha-family-highlights-zen-and-its.html">PHA Family Highlights: Zen and its cousins</a></li> <li><a href="https://www.infoq.com/presentations/modern-operating-systems">The Operating System in 2018</a></li> </ul> Mon, 27 May 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-348/ https://jakartadev.org/daily-digest-348/ Daily Digest #347 <ul> <li><a href="https://dev.to/tlakomy/7-years-as-a-developer-lessons-learned-29ic">7 years as a developer - lessons learned </a></li> <li><a href="https://blog.logrocket.com/using-animation-worklet-4a3914c19112?source=rss----7f3d96429888---4">Using Animation Worklet</a></li> <li><a href="https://hacks.mozilla.org/2019/01/designing-the-flexbox-inspector/">Designing the Flexbox Inspector</a></li> <li><a href="https://dev.to/ronsoak/the-lies-and-lack-of-self-respect-that-lead-to-burnout-5007">The lies and lack of self respect that lead to burnout </a></li> <li><a href="https://tech.showmax.com/2019/01/divide-encode-1/">Divide &amp; Encode: How to Encode Videos Blazingly Fast</a></li> <li><a href="https://dev.to/borrellidev/impress-your-colleagues-with-these-npm-tricks-3fcb">Impress your colleagues with these NPM tricks </a></li> <li><a href="https://hackernoon.com/websockets-api-gateway-9d4aca493d39?source=rss----3a8144eabfe3---4">WebSockets &amp; API Gateway</a></li> <li><a href="https://engineering.linkedin.com/blog/2019/01/introducing-thirdeye--linkedins-business-wide-monitoring-platfor">Introducing ThirdEye: LinkedIn’s Business-Wide Monitoring Platform</a></li> <li><a href="https://eng.uber.com/atari-zoo-deep-reinforcement-learning/">Creating a Zoo of Atari-Playing Agents to Catalyze the Understanding of Deep Reinforcement Learning</a></li> <li><a href="https://blog.logrocket.com/new-horizons-in-css-houdini-and-the-paint-api-8b307cf387bb?source=rss----7f3d96429888---4">New horizons in CSS: Houdini and the Paint API</a></li> <li><a href="https://www.viget.com/articles/using-arkit-and-image-tracking/">Using ARKit and Image Tracking to Augment a Postcard</a></li> </ul> Fri, 24 May 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-347/ https://jakartadev.org/daily-digest-347/ Daily Digest #346 <ul> <li><a href="https://hackernoon.com/exploring-distributed-system-theory-availability-and-consistency-e8c59e0875cd">Exploring Distributed System Theory: Availability and Consistency</a></li> <li><a href="https://blog.octo.com/en/better-understanding-of-android-accessibility-for-blind-people/">Better understanding of Android accessibility for blind people</a></li> <li><a href="https://engineering.grab.com/designing-resilient-systems-part-2">Designing resilient systems: Circuit Breakers or Retries? (Part 2)</a></li> <li><a href="https://lambda.grofers.com/progressive-web-apps-ux-and-engagement-96aca0025580">Progressive Web Apps, UX and Engagement</a></li> <li><a href="https://engineering.vena.io/2019/01/08/the-case-of-the-hidden-mongo-data/">The Case of the Hidden Mongo Data</a></li> <li><a href="https://shopifyengineering.myshopify.com/blogs/engineering/unreasonable-effectiveness-test-retries-android-monorepo-case-study">The Unreasonable Effectiveness of Test Retries: An Android Monorepo Case Study</a></li> <li><a href="https://hackernoon.com/lessons-ive-learned-building-distributed-systems-with-cqrs-and-event-sourcing-ece284ecc1a1">Lessons Learned Building Distributed Systems with CQRS and Event Sourcing</a></li> <li><a href="https://dev.to/borrellidev/impress-your-colleagues-with-these-npm-tricks-3fcb">Impress your colleagues with these NPM tricks</a></li> </ul> Thu, 23 May 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-346/ https://jakartadev.org/daily-digest-346/ Daily Digest #345 <ul> <li><a href="https://blogs.dropbox.com/tech/2019/01/courier-dropbox-migration-to-grpc/">Courier: Dropbox migration to gRPC</a></li> <li><a href="https://nordicapis.com/should-you-build-an-api-gateway-in-house/">Should You Build An API Gateway In-House?</a></li> <li><a href="https://towardsdatascience.com/a-deep-dive-into-data-quality-c1d1ee576046">A Deep Dive Into Data Quality</a></li> <li><a href="https://blog.octo.com/en/industrial-document-classification-with-deep-learning/">Industrial document classification with Deep Learning</a></li> <li><a href="https://www.smashingmagazine.com/2019/01/front-end-performance-checklist-2019-pdf-pages/">Front-End Performance Checklist 2019 [PDF, Apple Pages, MS Word]</a></li> <li><a href="https://itnext.io/pointlessly-writing-redux-in-lua-b64894e8ede5">Redux on an ESP8266</a></li> </ul> Wed, 22 May 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-345/ https://jakartadev.org/daily-digest-345/ Daily Digest #344 <ul> <li><a href="https://medium.com/walmartlabs/reverse-engineering-an-obfuscated-malicious-macro-3fd4d4f9c439">Reverse Engineering an Obfuscated Malicious Macro</a></li> <li><a href="https://www.infoq.com/presentations/design-automatic-pipelines-ml">Designing Automated Pipelines for Unseen Custom Data</a></li> <li><a href="https://levelup.gitconnected.com/stack-too-deep-error-in-solidity-ca83326ff0f0">Understanding the “Stack Too Deep” Error in Solidity</a></li> <li><a href="https://www.infoq.com/presentations/java-responsive-cloud">Building Responsive Systems with Serverless, Event-Driven Java</a></li> <li><a href="https://eng.uber.com/poet-open-ended-deep-learning/">POET: Endlessly Generating Increasingly Complex and Diverse Learning Environments and their Solutions through the Paired Open-Ended Trailblazer</a></li> <li><a href="https://www.infoq.com/presentations/mobile-testing-apps">Break Things to Fix Things: Testing More than What “Should” Work</a></li> </ul> Tue, 21 May 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-344/ https://jakartadev.org/daily-digest-344/ Daily Digest #343 <ul> <li><a href="https://www.infoq.com/presentations/serverless-chatbots">Serverless and Chatbots: A Match Made in the Cloud</a></li> <li><a href="https://blog.fastforwardlabs.com/2018/12/28/finetuning-for-natural-language-processing.html">Fine-tuning for Natural Language Processing</a></li> <li><a href="https://towardsdatascience.com/multitask-learning-in-tensorflow-with-the-head-api-68f2717019df">Multitask learning in TensorFlow with the Head API</a></li> <li><a href="https://blog.octo.com/en/gardez-les-cles-de-votre-infrastructure-a-labri-avec-vault/">Keep your infrastructure keys safe with Vault</a></li> <li><a href="https://www.infoq.com/presentations/devops-database">DevOps for the Database</a></li> </ul> Mon, 20 May 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-343/ https://jakartadev.org/daily-digest-343/ Daily Digest #342 <ul> <li><a href="https://developers.soundcloud.com/blog/integration-testing-for-memory-leaks">Integration Testing for Memory Leaks</a></li> <li><a href="https://www.percona.com/blog/2019/01/03/mongodb-engines-mmapv1-vs-wiredtiger/">MongoDB Engines: MMAPV1 Vs WiredTiger</a></li> <li><a href="https://towardsdatascience.com/data-science-project-flow-for-startups-282a93d4508d">Data Science Project Flow for Startups</a></li> <li><a href="https://levelup.gitconnected.com/basics-of-caching-data-in-graphql-7ce9489dac15">Basics of Caching Data in GraphQL Apollo React Client</a></li> <li><a href="https://www.infoq.com/presentations/data-validation-netflix">Crisis to Calm: Story of Data Validation @ Netflix</a></li> <li><a href="http://engineering.curalate.com/2018/12/31/holiday-load-prep.html">Hey, you busy? I have thousands of questions to ask you</a></li> <li><a href="https://buildingvts.com/moving-on-from-angularjs-5417b79693a9">Why VTS is Moving Off of AngularJS</a></li> </ul> Wed, 15 May 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-342/ https://jakartadev.org/daily-digest-342/ Daily Digest #341 <ul> <li><a href="https://towardsdatascience.com/understanding-how-ime-shapley-values-explains-predictions-d75c0fceca5a">Understanding how IME (Shapley Values) explains predictions</a></li> <li><a href="https://www.smashingmagazine.com/2019/01/how-to-learn-css/">How To Learn CSS</a></li> <li><a href="https://www.dataquest.io/blog/advanced-jupyter-notebooks-tutorial/">Tutorial: Advanced Jupyter Notebooks</a></li> <li><a href="https://blog.logrocket.com/reactivity-with-rxjs-force-press-63bfc907f295?source=rss----7f3d96429888---4">Reactivity with RxJS: force press</a></li> <li><a href="https://engineering.linkedin.com/blog/2019/01/scaling-machine-learning-productivity-at-linkedin">Scaling Machine Learning Productivity at LinkedIn</a></li> <li><a href="https://eng.uber.com/carbon-dual-binary-mobile-app/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=carbon-dual-binary-mobile-app">How to Ship an App Rewrite Without Risking Your Entire Business</a></li> </ul> Tue, 14 May 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-341/ https://jakartadev.org/daily-digest-341/ Daily Digest #340 <ul> <li><a href="https://www.toptal.com/designers/usability/mobile-heuristic-principles">Heuristic Principles for Mobile Interfaces</a></li> <li><a href="https://blog.logrocket.com/using-typescript-transforms-to-enrich-runtime-code-3fd2863221ed?source=rss----7f3d96429888---4">Using TypeScript transforms to enrich runtime code</a></li> <li><a href="https://nordicapis.com/review-of-gloo-the-function-api-gateway/">Review of Gloo, The Function Gateway</a></li> <li><a href="https://engineering.vena.io/2019/01/02/fast-gaussian-distributed-random-numbers/">Fast Gaussian-distributed Random Numbers</a></li> <li><a href="https://towardsdatascience.com/understanding-high-dimensional-spaces-in-machine-learning-4c5c38930b6a">Understanding High Dimensional Spaces in Machine Learning</a></li> <li><a href="https://hackernoon.com/implementing-audioworklets-with-react-8a80a470474">Implementing AudioWorklets with React</a></li> </ul> Mon, 13 May 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-340/ https://jakartadev.org/daily-digest-340/ Daily Digest #339 <ul> <li><a href="https://hackernoon.com/postgresql-connection-pooling-and-load-balancing-with-pgpool-ii-cluster-edbbb7959ef1">PostgreSQL Connection Pooling and Load Balancing with PgPool-II Cluster (Updated)</a></li> <li><a href="https://www.infoq.com/presentations/design-app-improve">Improving the Design of Existing Software</a></li> <li><a href="https://engineering.opensooq.com/testing-android-deep-linking-at-opensooq/">Testing Android Deep Linking at OpenSooq</a></li> <li><a href="https://itnext.io/webpack-from-0-to-automated-testing-4634844d5c3c">webpack: From 0 to automated testing</a></li> <li><a href="https://tech.wayfair.com/2018/12/self-service-hybrid-performance-engineering/">Our Self-Service Hybrid Performance Engineering Platform</a></li> <li><a href="https://www.infoq.com/presentations/service-mesh-microservices-2018">Connecting, Managing, Observing, and Securing Services</a></li> </ul> Fri, 10 May 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-339/ https://jakartadev.org/daily-digest-339/ Daily Digest #338 <ul> <li><a href="https://spin.atomicobject.com/2018/12/27/inheriting-a-codebase/">Four Steps for Inheriting a Codebase</a></li> <li><a href="https://www.smashingmagazine.com/2018/12/common-css-issues-front-end-projects/">Common CSS Issues For Front-End Projects</a></li> <li><a href="https://www.thoughtworks.com/insights/blog/risk-management-engineering-resilience">Risk Management for Engineering Resilience</a></li> <li><a href="https://hackernoon.com/sharding-writes-with-mysql-and-increment-offsets-48df32379563">Sharding Writes with MySQL and Increment Offsets</a></li> <li><a href="https://engineering.grab.com/big-data-real-time-presto-talariadb">Querying Big Data in Real-Time with Presto &amp; Grab’s TalariaDB</a></li> <li><a href="https://nordicapis.com/key-lessons-from-100-api-projects/">Key Lessons From 100 API Projects</a></li> <li><a href="https://hackernoon.com/one-year-with-flutter-my-experience-5bfe64acc96f">One Year with Flutter: My Experience</a></li> <li><a href="https://www.infoq.com/news/2018/12/envoycon-ebay-edge">Running Envoy as an Edge Proxy at eBay: Replacing Hardware Load Balancers with a Software Solution</a></li> </ul> Thu, 09 May 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-338/ https://jakartadev.org/daily-digest-338/ Redireksi multiple URI dengan menggunakan NGINX <p>Kemarin ini menemukan kasus yang lumayan menarik, yaitu migrasi URL yang lama dan sudah ada di mesin pencari google dan lainnya, yang berpindah ke URL baru, misalkan URI awal adalah <code class="highlighter-rouge">https://old.jakartadev.org/publish-website</code> dan hendak diubah menjadi <code class="highlighter-rouge">https://new.jakartadev.org/publish-website</code>, untuk perubahan ini memang menjadikan URI lama yang sudah terdaftar di mesin pencari menjadi tidak berlaku lagi dan juga sebagai pemilik website proses migrasi ini harus dilakukan, dan ini akan ada efek untuk SEO dan tentunya bisnis.</p> <p>Alasan untuk mengubah ini macam-macam, ada karena perubahan nama, atau URI yang lama tidak <em>SEO friendly</em> (misal <code class="highlighter-rouge">https://website/?p=122</code> hendak diubah ke <code class="highlighter-rouge">https://website/ini-mudah-diingat</code>), dan banyak alasan lain.</p> <!--more--> <p>Untuk mencapai tujuan ini, <a href="https://www.nginx.com/">NGINX</a> menyediakan fitur <em>mapping</em> untuk mendukung redireksi banyak URI lama ke URI yang baru, konfigurasi ini dipasang di <em>site</em> lama, untuk meng-<em>enable</em> konfigurasi <em>mapping</em> di NGINX, biasanya tersimpan di <em>path</em> <code class="highlighter-rouge">/etc/nginx/</code> (di sini menggunakan distro Ubuntu), bisa ditambahkan di file <em>nginx.conf</em> diblok bagian <code class="highlighter-rouge">http {}</code>, untuk jumlah byte <em>map_hash…</em> tergantung dari jumlah URI yang akan di <em>mapping</em>, di sini menggunakan 256MB (dalam byte).</p> <div class="language-conf highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">map_hash_max_size</span> <span class="m">262144</span>; <span class="c"># 256 </span><span class="n">map_hash_bucket_size</span> <span class="m">262144</span>; <span class="c"># 256 </span></code></pre></div></div> <p>Supaya lebih bersih file <em>site</em>, karena NGINX juga mudah sekali untuk membuat <em>config</em> yang modular, jadi bisa membuat file terpisah yang nantinya akan di-<em>include</em>-kan di <em>file site</em>, lalu buat file config mapping (ini bisa dimana saja, untuk contoh ini fokus di lokasi <code class="highlighter-rouge">/etc/nginx/conf.d/</code>).</p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># vim /etc/nginx/conf.d/uri-mapping.conf //root</span> </code></pre></div></div> <p>atau jika sudoer</p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span><span class="nb">sudo </span>vim /etc/nginx/conf.d/uri-mapping.conf </code></pre></div></div> <p>Pada file tersebut, tambahkan daftar URI yang hendak dilakukan redireksi dengan blok <code class="highlighter-rouge">map {}</code></p> <div class="language-conf highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">map</span> $<span class="n">request_uri</span> $<span class="n">redirect_uri</span> { /<span class="n">publish</span>-<span class="n">website</span> <span class="n">https</span>://<span class="n">new</span>.<span class="n">jakartadev</span>.<span class="n">org</span>/<span class="n">publish</span>-<span class="n">website</span> /<span class="n">path</span>-<span class="n">uri</span>-<span class="n">lain</span> <span class="n">https</span>://<span class="n">new</span>.<span class="n">jakartadev</span>.<span class="n">org</span>/<span class="n">path</span>-<span class="n">uri</span>-<span class="n">lain</span> /<span class="n">path</span>-<span class="n">to</span>-<span class="n">article</span> <span class="n">https</span>://<span class="n">new</span>.<span class="n">jakartadev</span>.<span class="n">org</span>/<span class="n">path</span>-<span class="n">to</span>-<span class="n">article</span> ... ... } </code></pre></div></div> <p>Untuk konfigurasi <em>mapping</em> di atas, menggunakan spasi atau tab tidak berbeda. di file ini, setelah <code class="highlighter-rouge">map</code> terdapat map variable <code class="highlighter-rouge">$request_uri</code> dan variable <code class="highlighter-rouge">$redirect_uri</code>, variable <code class="highlighter-rouge">$request_uri</code> akan menangkap URI yang diminta oleh client, sedangkan <code class="highlighter-rouge">$redirect_uri</code> untuk memberikan URI baru jika ada di mapping. <br /> File kemudian disimpan dan beralih ke file <em>site</em> yang ada di <code class="highlighter-rouge">/etc/nginx/sites-enabled/</code> yang menjadi konfigurasi file untuk site <a href="https://old.jakartadev.org">https://old.jakartadev.org</a>, edit file tersebut dengan menambahkan baris di blok <code class="highlighter-rouge">server{}</code></p> <div class="language-conf highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">include</span> /<span class="n">etc</span>/<span class="n">nginx</span>/<span class="n">conf</span>.<span class="n">d</span>/<span class="n">uri</span>-<span class="n">mapping</span>.<span class="n">conf</span> <span class="n">server</span> { ... <span class="n">if</span> ( $<span class="n">redirect_uri</span>) { <span class="n">return</span> <span class="m">301</span> $<span class="n">redirect_uri</span>; } ... } </code></pre></div></div> <p>Baris di atas akan mengambil <code class="highlighter-rouge">request_uri</code> yang didapat oleh nginx dan kemudian mengubahnya sesuai dengan mapping yang sudah dibuat di file <code class="highlighter-rouge">uri-mapping.conf</code> dan dibuat kan redireksi menuju ke URI yang baru jika URI yang direquest terdapat di <em>mapping</em>.</p> <p><a href="https://en.wikipedia.org/wiki/HTTP_301">Kode HTTP 301</a> adalah untuk memberi tahu browser atau mesin pencari bahwa URI yang dimaksud sebelumnya sudah pindah permanen ke URI yang baru, dan diharapkan jika ada request ke URI lama ini akan langsung dialihkan ke URI yang baru.</p> <p>Untuk mengetes apakah redireksi berjalan dengan baik bisa dengan menggunakan aplikasi <code class="highlighter-rouge">curl</code>, dengan perintah</p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>curl <span class="nt">-IL</span> https://old/path-to-article </code></pre></div></div> <p>hasilnya biasanya berupa</p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>dedenf@Skypeia ~ <span class="nv">$ </span>curl <span class="nt">-IL</span> https://old/path-to-article HTTP/1.1 301 Moved Permanently Date: Wed, 08 May 2019 05:43:32 GMT Content-Type: text/html Connection: keep-alive Location: https://new/ HTTP/1.1 200 OK Server: nginx/1.10.3 <span class="o">(</span>Ubuntu<span class="o">)</span> Date: Wed, 08 May 2019 05:43:33 GMT Content-Type: text/html<span class="p">;</span> <span class="nv">charset</span><span class="o">=</span>UTF-8 Connection: keep-alive ... </code></pre></div></div> <p>Dengan melihat hasil di atas, dan perhatikan diberikan <code class="highlighter-rouge">301</code> dari URI lama yang direquest oleh server. proses redireksi ini telah sukses, redireksi ini penting untuk mesin pencari atau untuk orang lain ketemukan dan tidak mau memberikan halaman 404 dari website yang lama, karena ini akan sangat jelek tentunya untuk pembaca atau bisnis.</p> <p>Jika terkendala masalah, bisa langsung lihat error nginx-nya saja, biasanya terletak di <code class="highlighter-rouge">/var/log/nginx/error.log</code> dan bisa melakukan analisa masalah di situ.</p> Wed, 08 May 2019 00:00:00 +0000 https://jakartadev.org/redirection-nginx-multiple-uri/ https://jakartadev.org/redirection-nginx-multiple-uri/ Daily Digest #337 <ul> <li><a href="https://blog.cloudflare.com/improving-html-time-to-first-byte/">Improving HTML Time to First Byte</a></li> <li><a href="https://www.infoq.com/articles/blockchain-basics-use-cases">Understanding Blockchain Basics and Use Cases</a></li> <li><a href="https://www.infoq.com/presentations/reactive-ddd">Reactive DDD—When Concurrent Waxes Fluent</a></li> <li><a href="https://medium.com/zendesk-engineering/the-history-of-infrastructure-at-zendesk-part-2-the-messy-middle-59f16a959b7f">The history of infrastructure at Zendesk (Part 2) — the messy middle</a> (<a href="https://medium.com/zendesk-engineering/the-history-of-infrastructure-at-zendesk-constant-tradeoffs-bdfa916ff4c3">part 1</a>)</li> <li><a href="https://engineering.linkedin.com/blog/2018/12/improving-member-productivity-with-in-product-help-">Improving Member Productivity with In-Product Help</a></li> </ul> Wed, 08 May 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-337/ https://jakartadev.org/daily-digest-337/ Daily Digest #336 <ul> <li><a href="https://opensource.com/article/19/4/devops-pipeline-acceptance-testing">Automate user acceptance testing with your DevOps pipeline</a></li> <li><a href="https://techbeacon.com/app-dev-testing/4-tips-agile-testing-waterfall-world">4 tips for agile testing in a waterfall world</a></li> <li><a href="https://enterprisersproject.com/article/2019/4/kubernetes-jobs-hunt-how-land-role">Kubernetes jobs hunt: How to land that role</a></li> <li><a href="https://www.forbes.com/sites/forbestechcouncil/2019/04/09/how-to-approach-the-transformation-to-microservices/">How To Approach The Transformation To Microservices</a></li> <li><a href="https://thenewstack.io/logging-and-monitoring-why-you-need-both/">Logging and Monitoring: Why You Need Both</a></li> <li><a href="https://www.kenneth-truyers.net/2016/10/13/git-nosql-database/">Git as a NoSql database</a></li> </ul> Tue, 07 May 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-336/ https://jakartadev.org/daily-digest-336/ Daily Digest #335 <ul> <li><a href="https://hiringengineersbook.com/post/trouble-hiring/">Trouble hiring senior engineers? It’s probably you</a></li> <li><a href="https://www.wired.com/story/algoraves-live-coding-djs/">DJs of the Future Don’t Spin Records—They Write Code</a></li> <li><a href="https://thenewstack.io/how-to-bring-legacy-systems-to-devops-speed/">How to Bring Legacy Systems to DevOps Speed</a></li> <li><a href="https://devops.com/5-mistakes-to-avoid-when-chasing-devops-transformation/">5 Mistakes to Avoid When Chasing DevOps Transformation</a></li> <li><a href="https://thenewstack.io/8-best-practices-for-container-secrets-management/">8 Best Practices for Container Secrets Management</a></li> <li><a href="https://searchmicroservices.techtarget.com/tip/The-key-differences-between-stateless-and-stateful-microservices?">The key differences between stateless and stateful microservices</a></li> </ul> Mon, 06 May 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-335/ https://jakartadev.org/daily-digest-335/ Daily Digest #334 <ul> <li><a href="http://blog.felipe.rs/2019/01/29/demystifying-join-algorithms/">Demystifying JOIN Algorithms</a></li> <li><a href="https://www.rubypigeon.com/posts/value-semantics-gem-for-making-value-classes/">ValueSemantics—A Gem for Making Value Classes</a></li> <li><a href="https://www.codewithjason.com/rspec-mocks-stubs-plain-english/">RSpec mocks and stubs in plain English</a></li> <li><a href="https://larahogan.me/blog/team-introspection/">Tools for Introspection</a></li> <li><a href="https://github.com/gruns/ImmortalDB">ImmortalDB – 🔩 A relentless key-value store for the browser</a></li> <li><a href="https://blog.mozilla.org/security/2019/01/28/defining-the-tracking-practices-that-will-be-blocked-in-firefox/">Defining the tracking practices that will be blocked in Firefox</a></li> </ul> Fri, 03 May 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-334/ https://jakartadev.org/daily-digest-334/ Daily Digest #333 <ul> <li><a href="https://orbifold.xyz/open-source-safety.html">Staying Safe with Open Source</a></li> <li><a href="https://lethain.com//examples-delightful-developer-experiences/">Some delightful developer experiences in 2019.</a></li> <li><a href="http://theengineeringmanager.com/growth/towards-remote-working/">Towards remote working</a></li> <li><a href="https://objective-see.com/products/reikey.html">ReiKey</a></li> <li><a href="https://www.trek10.com/blog/dynamodb-single-table-relational-modeling/">From relational DB to single DynamoDB table: a step-by-step exploration</a></li> <li><a href="https://medium.com/javascript-scene/the-typescript-tax-132ff4cb175b">The TypeScript Tax</a></li> <li><a href="https://www.businesswire.com/news/home/20190122005035/en/McKinsey-Company-Scrum.org-Release-Joint-Research-Study">McKinsey &amp; Company and Scrum.org Release Joint Research Study on Agile Teams</a></li> </ul> Thu, 02 May 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-333/ https://jakartadev.org/daily-digest-333/ Daily Digest #332 <ul> <li><a href="https://www.hillelwayne.com/post/why-dont-people-use-formal-methods/">Why Don’t People Use Formal Methods?</a></li> <li><a href="https://webauthn.guide/">WebAuthn</a></li> <li><a href="https://queue.acm.org/detail.cfm?id=3308563">Design Patterns for Managing Up</a></li> <li><a href="https://jwongworks.com/blog/2019/1/17/on-accountability">On Accountability</a></li> <li><a href="https://www.fast.ai/2019/01/24/course-v3/">Practical Deep Learning for Coders 2019 </a></li> <li><a href="https://www.ebgconsulting.com/blog/using-product-canvas-define-product-getting-started/">Using the Product Canvas to Define Your Product: Getting Started</a></li> <li><a href="https://github.com/ohler55/agoo">Agoo – A High Performance HTTP Server for Ruby</a></li> </ul> Tue, 30 Apr 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-332/ https://jakartadev.org/daily-digest-332/ Daily Digest #331 <ul> <li><a href="https://pragmacoders.com/blog/packages-and-modern-security">Packages and Modern Security</a></li> <li><a href="https://solnic.codes/2019/01/31/introducing-dry-schema/">Introducing dry-schema</a></li> <li><a href="http://olafurw.com/2019-01-27-programmer-advice/">Advice to new Programmers</a></li> <li><a href="https://www.linkedin.com/pulse/how-make-things-high-quality-julie-zhuo/">How to Make Things High-Quality</a></li> <li><a href="https://github.com/matti/kommando">kommando</a></li> <li><a href="https://www.faucet-pipeline.org/">faucet-pipeline</a></li> <li><a href="https://medium.com/mindtouch-engineering/%CE%BB-accelerate-serverless-development-with-cloudformation-3f57ab27d6a3">λ# — Accelerate Serverless Development with CloudFormation</a></li> <li><a href="https://www.linkedin.com/pulse/once-again-scrum-master-project-manager-tobias-mayer-/">Scrum Master ≠ Project Manager</a></li> </ul> Mon, 29 Apr 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-331/ https://jakartadev.org/daily-digest-331/ Daily Digest #330 <ul> <li><a href="https://steemit.com/blockchain/@ivoras/putting-wikipedia-on-the-blockchain">Putting Wikipedia on the blockchain</a></li> <li><a href="https://github.com/tyroprogrammer/learn-react-app">Learn react app</a></li> <li><a href="https://github.com/danluu/post-mortems">Post-mortems lesson</a></li> <li><a href="https://www.cs.uaf.edu/users/chappell/public_html/class/2018_spr/cs331/docs/types_primer.html">CS 331 Spring 2018 A Primer on Type Systems</a></li> <li><a href="https://lukekanies.com/my-losing-battle-with-enterprise-sales/">My Losing Battle with Enterprise Sales</a></li> <li><a href="https://blog.dbsmasher.com/2019/01/28/on-being-a-principal-engineer.html">On Being A Principal Engineer</a></li> </ul> Tue, 23 Apr 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-330/ https://jakartadev.org/daily-digest-330/ Daily Digest #329 <ul> <li><a href="https://code.fb.com/data-infrastructure/hyperloglog/">HyperLogLog in Presto: A significantly faster way to handle cardinality estimation</a></li> <li><a href="https://nordicapis.com/the-role-of-domain-driven-architecture-and-graphql-in-digital-transformation/">The Role of Domain Driven Architecture and GraphQL in Digital Transformation</a></li> <li><a href="https://www.toptal.com/designers/typography/web-typography-infographic">Designing for Readability - A Guide to Web Typography (with Infographic)</a></li> <li><a href="https://labs.spotify.com/2018/12/18/bigtable-autoscaler-saving-money-and-time-using-managed-storage/">Bigtable Autoscaler: saving money and time using managed storage</a></li> <li><a href="https://code.fb.com/security/dns-over-tls/">DNS over TLS: Encrypting DNS end-to-end</a></li> </ul> Mon, 22 Apr 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-329/ https://jakartadev.org/daily-digest-329/ Daily Digest #328 <ul> <li><a href="https://diamantidis.github.io/2019/01/06/curl-options">Useful Curl features</a></li> <li><a href="http://theengineeringmanager.com/growth/the-joy-of-caretaking/">The joy of caretaking</a></li> <li><a href="http://blog.plataformatec.com.br/2019/01/working-with-distributed-teams/">Working with distributed teams</a></li> <li><a href="https://github.com/twpayne/chezmoi">Chezmoi – Manage your dotfiles across multiple machines, securely</a></li> <li><a href="https://medium.com/netflix-techblog/implementing-the-netflix-media-database-53b5a840b42a">Implementing the Netflix Media Database</a></li> <li><a href="https://engineering.pivotal.io/post/stateful-apps-toc/">Stateful Apps in Kubernetes</a></li> </ul> Tue, 16 Apr 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-328/ https://jakartadev.org/daily-digest-328/ Daily Digest #327 <ul> <li><a href="https://www.techcoil.com/blog/how-i-use-my-raspberry-pis-to-help-me-work-on-with-my-side-projects/">How I use my Raspberry Pis to help me work on with my side projects </a></li> <li><a href="https://github.com/alash3al/sqler">Sqler – write APIs using direct SQL queries with no hassle, let’s rethink about SQL</a></li> <li><a href="https://cathydutton.co.uk/posts/why-i-stopped-using-sass/">Stepping away from Sass</a></li> <li><a href="https://securitycheckli.st/">Be safe on the internet</a></li> <li><a href="https://www.abstract.com/blog/decolonizing-silicon-valley/">Decolonizing Silicon Valley: The critical role of inclusion in tech</a></li> <li><a href="https://research.swtch.com/deps">Our Software Dependency Problem </a></li> </ul> Mon, 15 Apr 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-327/ https://jakartadev.org/daily-digest-327/ Daily Digest #326 <ul> <li><a href="https://www.jamesshore.com/Blog/Where-Do-You-Want-Your-Complexity.html">Large-Scale Agile: Where Do You Want Your Complexity?</a></li> <li><a href="https://medium.com/@nickcaldwell/menteegoals-prepping-for-your-mentoring-relationship-bdfeca70f0a3">#MenteeGoals Prepping for a mentoring relationship</a></li> <li><a href="https://knowyourteam.com/blog/2019/01/15/building-trust-in-teams-what-and-why/"> Building trust in teams: What and why? </a></li> <li><a href="https://redmonk.com/sogrady/2019/01/25/open-source-cloud-apis/">What Does Open Source Mean in the Era of Cloud APIs?</a></li> <li><a href="https://dzone.com/articles/the-design-of-engineering-culture">The Design of Engineering Culture</a></li> <li><a href="https://github.com/charlax/professional-programming">A collection of full-stack resources for programmers</a></li> <li><a href="https://www.keyvalues.com/blog/what-exactly-do-developer-advocates-do?">What exactly do developer advocates do?</a></li> </ul> Thu, 11 Apr 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-326/ https://jakartadev.org/daily-digest-326/ Daily Digest #325 <ul> <li><a href="http://blog.plataformatec.com.br/2019/01/lets-talk-about-story-mapping/">Let’s talk about Story Mapping</a></li> <li><a href="https://aws.amazon.com/blogs/startups/what-is-an-engineering-manager/">What is an Engineering Manager?</a></li> <li><a href="https://github.com/zegl/kube-score">kube-score – Kubernetes object analysis with recommendations for improved reliability and security</a></li> <li><a href="https://medium.com/@mattholt/its-2019-and-i-still-make-websites-with-my-bare-hands-73d4eec6b7">It’s 2019 and I Still Make Websites with my Bare Hands</a></li> <li><a href="https://code.fb.com/ai-research/pytext-open-source-nlp-framework/">Open-sourcing PyText for faster NLP development</a></li> <li><a href="https://medium.com/walmartlabs/scaling-secure-tunnels-for-browser-testing-9673c71505d">Scaling secure tunnels for browser testing</a></li> <li><a href="https://blog.doyensec.com/2019/01/24/electronegativity.html">Electronegativity is finally out!</a></li> </ul> Wed, 10 Apr 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-325/ https://jakartadev.org/daily-digest-325/ Daily Digest #324 <ul> <li><a href="https://medium.com/airbnb-engineering/beyond-how-may-i-help-you-fd6a0d385d02">Beyond “How May I Help You?”</a></li> <li><a href="https://medium.com/airbnb-engineering/introducing-deploy-pipelines-to-airbnb-fc804ac2a157">Introducing Pipelines to Airbnb’s Deployment Process</a></li> <li><a href="https://deliveroo.engineering/2018/12/07/monte-carlo-power-analysis.html">Monte Carlo Power Analysis</a></li> <li><a href="https://www.infoq.com/presentations/cf-pipeline-mastercard">Extreme Pipelines</a></li> <li><a href="https://blog.twitter.com/engineering/en_us/topics/infrastructure/2018/native-secondary-indexing-in-manhattan.html">Native secondary indexing in Manhattan</a></li> <li><a href="https://www.toptal.com/android/benefits-of-clean-architecture-android">Discover the Benefits of Android Clean Architecture</a></li> </ul> Tue, 09 Apr 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-324/ https://jakartadev.org/daily-digest-324/ Daily Digest #323 <ul> <li><a href="https://hackernoon.com/from-code-quality-to-integration-optimizing-alibabas-blink-testing-framework-dc9c357319de">From Code Quality to Integration: Optimizing Alibaba’s Blink Testing Framework</a></li> <li><a href="https://medium.com/walmartlabs/learnings-from-rebuilding-our-checkout-experience-1d1ddebed00">Learnings from rebuilding our checkout experience</a></li> <li><a href="https://redditblog.com/2018/12/18/envoy-proxy-at-reddit/">Envoy Proxy at Reddit</a></li> <li><a href="https://medium.com/square-corner-blog/operating-vitess-d90eb01e5b4d">Operating Vitess</a></li> <li><a href="https://instagram-engineering.com/lessons-learned-at-instagram-stories-and-feed-machine-learning-54f3aaa09e56">Lessons Learned at Instagram Stories and Feed Machine Learning</a></li> </ul> Mon, 08 Apr 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-323/ https://jakartadev.org/daily-digest-323/ Daily Digest #322 <ul> <li><a href="https://developers.redhat.com/blog/2018/12/19/security-considerations-for-container-runtimes/">Security Considerations for Container Runtimes</a></li> <li><a href="https://thoughtbot.com/blog/how-to-get-better-at-pair-programming"> How to Get Better at Pair Programming </a></li> <li><a href="https://blogs.dropbox.com/tech/2018/12/cape-technical-deep-dive/">Cape Technical Deep Dive</a></li> <li><a href="https://blog.golang.org/modules2019">Go Modules in 2019</a></li> <li><a href="https://www.infoq.com/presentations/netflix-migration-resilience">Building Resilience in Production Migrations</a></li> </ul> Fri, 05 Apr 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-322/ https://jakartadev.org/daily-digest-322/ Daily Digest #321 <ul> <li><a href="https://blog.twitch.tv/how-does-vp9-deliver-value-for-twitchs-esports-live-streaming-35db26f6322f">How VP9 delivers value for Twitch’s esports live streaming</a></li> <li><a href="https://itnext.io/kubernetes-in-production-shopgun-2c280f0c0923">Kubernetes in production @ ShopGun</a></li> <li><a href="https://eng.uber.com/uber-beacon/">How Uber Beacon Helps Improve Safety for Riders and Drivers</a></li> <li><a href="https://code.fb.com/core-data/zstandard/">5 ways Facebook improved compression at scale with Zstandard</a></li> <li><a href="https://www.ebayinc.com/stories/blogs/tech/sharing-modules-across-experience-services-and-multi-screen-applications/">Sharing Modules Across Experience Services and Multi-Screen Applications</a></li> </ul> Thu, 04 Apr 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-321/ https://jakartadev.org/daily-digest-321/ Daily Digest #320 <ul> <li><a href="https://eng.lyft.com/running-apache-airflow-at-lyft-6e53bb8fccff">Running Apache Airflow At Lyft</a></li> <li><a href="https://blog.scottlogic.com/2018/12/21/decent-code-a-concise-guide-to-writing-better-code.html">Introducing decent-code: A concise guide to writing better code</a></li> <li><a href="https://itnext.io/kubernetes-multi-cluster-networking-made-simple-c8f26827813">Kubernetes multi-cluster networking made simple</a></li> <li><a href="https://medium.com/netflix-techblog/netflix-oss-and-spring-boot-coming-full-circle-4855947713a0">Netflix OSS and Spring Boot — Coming Full Circle</a></li> </ul> Wed, 03 Apr 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-320/ https://jakartadev.org/daily-digest-320/ Daily Digest #319 <ul> <li><a href="https://blog.cloudera.com/blog/2018/12/faster-swarms-of-data-accelerating-hive-queries-with-parquet-vectorization/">Faster Swarms of Data : Accelerating Hive Queries with Parquet Vectorization</a></li> <li><a href="https://www.percona.com/blog/2018/12/20/benchmark-postgresql-with-linux-hugepages/">Benchmark PostgreSQL With Linux HugePages</a></li> <li><a href="https://code.fb.com/ai-research/nevergrad/">Nevergrad: An open source tool for derivative-free optimization</a></li> <li><a href="https://kubedb.com/">KubeDB – Run production-grade databases easily on Kubernetes</a></li> <li><a href="https://diogomonica.com/2018/10/07/a-pirates-take-on-strategy-vs-tactics/">A Pirate’s take on Strategy vs. Tactics</a></li> <li><a href="https://medium.com/@wgalyean/how-to-lead-f4383da7047c">How To Lead</a></li> </ul> Tue, 02 Apr 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-319/ https://jakartadev.org/daily-digest-319/ Daily Digest #318 <ul> <li><a href="https://engineering.grab.com/designing-resilient-systems-part-1">Designing resilient systems – part 1</a></li> <li><a href="https://github.com/dpc/crev">Crev – Scalable, social, Code REView and recommendation system that we desperately need</a></li> <li><a href="http://theengineeringmanager.com/growth/flexibility-is-the-greatest-perk/">Flexibility is the greatest perk</a></li> <li><a href="https://www.schemacrawler.com/diagramming.html">SchemaCrawler Database Diagramming</a></li> <li><a href="https://likewise.am/2018/12/01/seven-tough-lessons-from-ten-years-in-bootstrapped-business/">Seven tough lessons from ten years in bootstrapped business</a></li> </ul> Mon, 01 Apr 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-318/ https://jakartadev.org/daily-digest-318/ Daily Digest #317 <p>weekend reading!</p> <ul> <li><a href="https://www.speedshop.co/2019/01/10/three-activerecord-mistakes.html">3 ActiveRecord Mistakes That Slow Down Rails Apps: Count, Where and Present</a></li> <li><a href="https://heleo.com/conversation-why-the-best-leaders-dont-always-have-a-plan/19649/">Why the Best Leaders Don’t Always Have a Plan</a></li> <li><a href="https://blog.usejournal.com/agile-isnt-new-it-s-just-common-sense-rebranded-d4238a40c800">Agile Isn’t New, It’s Just Common Sense Rebranded</a></li> <li><a href="https://www.infoq.com/news/2018/12/stackoverflow-monitoring">Inside Stack Overflow’s Monitoring Systems</a></li> <li><a href="https://www.smashingmagazine.com/2018/12/generic-css-mobile-first/">Generic First CSS: New Thinking On Mobile First</a></li> </ul> Fri, 29 Mar 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-317/ https://jakartadev.org/daily-digest-317/ Daily Digest #316 <ul> <li><a href="https://github.com/mrzasa/call_logger">Call Logger – A debugging tool that lets you log method usage</a></li> <li><a href="https://noncombatant.org/2019/01/06/state-of-security-2019/">The State Of Software Security In 2019</a></li> <li><a href="https://medium.com/@Ne0nd0g/introducing-merlin-645da3c635a">Introducing Merlin — A cross-platform post-exploitation HTTP/2 Command &amp; Control Tool</a></li> <li><a href="https://blog.golang.org/debugging-what-you-deploy">Debugging what you deploy in Go 1.12</a></li> <li><a href="https://spotify.design/articles/2018-12-04/the-paradox-of-design-systems/">The Paradox of Design Systems</a></li> <li><a href="https://medium.com/@nikitavoloboev/karabiner-god-mode-7407a5ddc8f6">Karabiner God Mode</a></li> </ul> Thu, 28 Mar 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-316/ https://jakartadev.org/daily-digest-316/ Daily Digest #315 <ul> <li><a href="https://github.com/joelparkerhenderson/queueing_theory">Queueing theory: an introduction for software development</a></li> <li><a href="https://medium.com/@fxn/zeitwerk-a-new-code-loader-for-ruby-ae7895977e73">Zeitwerk: A new code loader for Ruby</a></li> <li><a href="https://hackernoon.com/going-agile-c9fcce6cb65">“Going Agile”</a></li> <li><a href="https://cloud.google.com/blog/products/devops-sre/canary-analysis-lessons-learned-and-best-practices-from-google-and-waze">Canary analysis: Lessons learned and best practices from Google and Waze</a></li> <li><a href="https://hackernoon.com/four-startup-engineering-killers-1fb5c498391d">Four Startup Engineering Killers</a></li> <li><a href="https://amy.dev/?p=853">Data structures to name-drop when you want to sound smart in an interview</a></li> <li><a href="https://medium.com/@copyconstruct/effective-mental-models-for-code-and-systems-7c55918f1b3e">Effective Mental Models for Code and Systems</a></li> </ul> Wed, 27 Mar 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-315/ https://jakartadev.org/daily-digest-315/ Daily Digest #314 <ul> <li><a href="https://orbifold.xyz/not-callable.html">Don’t Make It Callable</a></li> <li><a href="https://medium.com/packagr/using-packagr-with-poetry-4bc986215bd2">Using Packagr with poetry</a></li> <li><a href="https://medium.com/adobetech/why-i-a-serverless-developer-dont-care-about-your-containers-40c08d36aee4">Why I, A Serverless Developer, Don’t Care About Your Containers</a></li> <li><a href="https://github.com/autonomy/talos">Talos is a modern Linux distribution designed to be secure, immutable, and minimal.</a></li> </ul> Tue, 26 Mar 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-314/ https://jakartadev.org/daily-digest-314/ Daily Digest #313 <ul> <li><a href="https://www.loodse.com/blog/2019-03-12-running-kubernetes-in-the-ci-pipeline-/">Running Kubernetes In The CI Pipeline For Integration and End-To-End Tests</a></li> <li><a href="https://www.slideshare.net/wallyqs/connect-everything-with-nats-cloud-expo-europe">Connect Everything with NATS</a></li> <li><a href="https://pydist.com/blog/python-packages-since-2005">Python Packages Since 2005</a></li> <li><a href="https://m.subbu.org/taming-the-rate-of-change-439e3dccbb5d">Taming the Rate of Change</a></li> <li><a href="https://medium.com/adobetech/serverless-microservices-and-service-mesh-oh-my-cd7903bd499d">Serverless, Microservices, and Service Mesh — Oh My</a></li> </ul> Mon, 25 Mar 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-313/ https://jakartadev.org/daily-digest-313/ Daily Digest #312 <ul> <li><a href="https://speakerdeck.com/garethr/a-continuation-of-devops-policy-as-code">A continuation of devops: policy as code</a></li> <li><a href="https://thewomenintechshow.com/2019/03/11/cloud-computing-tools-with-priyanka-sharma/">Cloud Computing Tools with Priyanka Sharma</a></li> <li><a href="https://stackshare.io/launchdarkly/redux-scaling-launchdarkly-from-4-to-200-billion-feature-flags-daily"> Redux: Scaling LaunchDarkly from 4 to 200 billion feature flags daily </a></li> <li><a href="https://www.cloudatomiclab.com/rustyk8s/">Kubernetes as an API standard</a></li> <li><a href="https://getdockup.com/">On demand staging environments for engineering teams</a></li> <li><a href="https://forrestbrazeal.com/2019/02/18/cloud-irregular-iam-is-the-real-cloud-lock-in/"> Cloud Irregular: IAM Is The Real Cloud Lock-In </a></li> </ul> Fri, 22 Mar 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-312/ https://jakartadev.org/daily-digest-312/ Daily Digest #311 <ul> <li><a href="https://thenewstack.io/3-trends-in-tracking-software-delivery/">3 Trends in Tracking Software Delivery</a></li> <li><a href="https://thispointer.com/pandas-how-to-merge-dataframes-using-dataframe-merge-in-python-part-1/">Pandas : How to Merge Dataframes using Dataframe.merge() in Python – Part 1</a></li> <li><a href="https://medium.com/@jpaulreed/the-737max-and-why-software-engineers-should-pay-attention-a041290994bd">The 737Max and Why Software Engineers Might Want to Pay Attention</a></li> <li><a href="https://speakerdeck.com/sarahjwells/qcon-london-2019-mature-microservices-and-how-to-operate-them">QCon London 2019: Mature microservices and how to operate them</a></li> <li><a href="https://medium.com/@semaphoreci/a-reality-check-about-cloud-native-devops-384aee39a2e0">A Reality Check About Cloud Native DevOps</a></li> <li><a href="https://thenewstack.io/a-docker-product-manager-on-what-the-future-holds-for-containers/">A Docker Product Manager on What the Future Holds for Containers</a></li> </ul> Thu, 21 Mar 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-311/ https://jakartadev.org/daily-digest-311/ Daily Digest #310 <ul> <li><a href="https://blog.gruntwork.io/automated-testing-for-kubernetes-and-helm-charts-using-terratest-a4ddc4e67344">Automated Testing for Kubernetes and Helm Charts using Terratest</a></li> <li><a href="https://medium.com/@samdemers/software-estimates-and-other-lies-17ffc29ea6b7">Software Estimates and Other Lies</a></li> <li><a href="https://medium.com/outsystems-engineering/the-three-pillars-of-product-agility-part-1-the-north-star-354ddf4ef51">The Three Pillars of Product Agility — Part 1: The North Star</a></li> <li><a href="https://techbeacon.com/devops/whats-wrong-your-value-stream-mapping">What’s wrong with your value stream mapping </a></li> <li><a href="https://itnext.io/murder-on-the-kubernetes-express-the-life-and-death-of-a-docker-container-d7aec13f8188">Murder On The Kubernetes Express: The Life And Death Of A Docker Container</a></li> </ul> Wed, 20 Mar 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-310/ https://jakartadev.org/daily-digest-310/ Daily Digest #309 <ul> <li><a href="https://blog.hltbra.net/2019/03/06/aws-fargate.html">Is AWS Fargate The Future of Containers?</a></li> <li><a href="https://blogs.vmware.com/cloudnative/2019/03/14/what-and-why-of-cluster-api/">The What and the Why of the Cluster API</a></li> <li><a href="https://www.cloudops.com/2019/01/a-brief-guide-to-securing-containers-at-scale/">A Brief Guide to Securing Containers at Scale</a></li> <li><a href="https://github.com/triggermesh/aktion">Aktion – Translates GitHub Actions into Tekton and Knative Objects</a></li> <li><a href="https://engineering.grab.com/structured-logging">Structured Logging: The Best Friend You’ll Want When Things Go Wrong</a></li> </ul> Tue, 19 Mar 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-309/ https://jakartadev.org/daily-digest-309/ Daily Digest #308 <ul> <li><a href="https://www.pyimagesearch.com/2019/03/11/liveness-detection-with-opencv/">Liveness Detection with OpenCV</a></li> <li><a href="https://towardsdatascience.com/10-steps-to-set-up-your-python-project-for-success-14ff88b5d13">10 Steps to Set Up Your Python Project for Success</a></li> <li><a href="https://www.phoronix.com/scan.php?page=article&amp;item=wsl-february-2018&amp;num=1">Windows 10 WSL vs. Linux Performance For Early 2018</a></li> <li><a href="https://www.mattlayman.com/blog/2018/python-code-black/">Consistent Python code with Black</a></li> <li><a href="https://realpython.com/lessons/what-pep-8-and-why-you-need-it/">What PEP 8 Is and Why You Need It</a></li> </ul> Mon, 18 Mar 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-308/ https://jakartadev.org/daily-digest-308/ Daily Digest #307 <ul> <li><a href="https://thenewstack.io/what-the-fork-amazon/">What the Fork, Amazon?</a></li> <li><a href="https://mezerotm.com/i-learned-python-in-a-week-here-is-my-reflection/">I Learned Python in a week and only sorta regret it</a></li> <li><a href="https://github.com/eabglobal/minik">Minik: Serverless Web Framework</a></li> <li><a href="https://victorzhou.com/blog/intro-to-neural-networks/">Machine Learning for Beginners: An Introduction to Neural Networks</a></li> <li><a href="https://blog.quiltdata.com/import-almost-anything-in-python-an-intro-to-module-loaders-and-finders-f5e7b15cda47">Import almost anything in Python: an intro to module loaders and finders</a></li> <li><a href="https://realpython.com/intro-to-pyenv/">Managing Multiple Python Versions With pyenv</a></li> </ul> Fri, 15 Mar 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-307/ https://jakartadev.org/daily-digest-307/ Daily Digest #306 <ul> <li><a href="https://blog.cloudflare.com/the-truth-about-black-friday-and-cyber-monday/">The truth about Black Friday and Cyber Monday</a></li> <li><a href="https://medium.com/airbnb-engineering/building-services-at-airbnb-part-3-ac6d4972fc2d">Building Services at Airbnb, Part 3</a></li> <li><a href="https://eng.uber.com/neural-networks-jpeg/">Faster Neural Networks Straight from JPEG</a></li> <li><a href="https://medium.com/@nnja/the-ultimate-guide-to-memorable-tech-talks-e7c350778d4b">The Ultimate Guide To Memorable Tech Talks</a></li> <li><a href="https://stratechery.com/2019/aws-mongodb-and-the-economic-realities-of-open-source/">AWS, MongoDB, and the Economic Realities of Open Source</a></li> <li><a href="https://towardsdatascience.com/learn-enough-python-to-be-useful-argparse-e482e1764e05">Learn Enough Python to be Useful: argparse</a></li> <li><a href="https://github.com/zachvalenta/nginx-wsgi">setup servers (Nginx, Gunicorn) 🦄 on macOS 🍎 for Python 🐍</a></li> <li><a href="https://testdriven.io/blog/running-flask-on-kubernetes/?source=4320ef6a6395">Running Flask on Kubernetes</a></li> </ul> Thu, 14 Mar 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-306/ https://jakartadev.org/daily-digest-306/ Daily Digest #305 <ul> <li><a href="https://nordicapis.com/the-three-principles-of-excellent-api-design/">The Three Principles of Excellent API Design</a></li> <li><a href="https://americanexpress.io/on-the-importance-of-commit-messages/">On the Importance of Commit Messages</a></li> <li><a href="https://artsy.github.io/blog/2018/12/11/GraphQL-Stitching/">GraphQL Stitching 101</a></li> <li><a href="https://blog.logrocket.com/the-quiet-revolution-how-json-displaced-xml-1e1f3e8552f7">The quiet revolution: How JSON displaced XML</a></li> </ul> Wed, 13 Mar 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-305/ https://jakartadev.org/daily-digest-305/ Daily Digest #304 <ul> <li><a href="http://bradfrost.com/blog/post/big-ol-ball-o-javascript/">Big ol’ Ball o’ JavaScript</a></li> <li><a href="https://medium.com/@chris.rimondi/aws-app-mesh-first-take-f959b7d8430b">AWS App Mesh — First Take</a></li> <li><a href="https://medium.com/serious-scrum/top-traits-of-a-lazy-scrum-master-9ff49cc23e7a">Top Traits of a lazy Scrum Master</a></li> <li><a href="https://opensource.com/article/19/2/linux-distributions-still-matter-containers">Do Linux distributions still matter with containers?</a></li> <li><a href="https://thenewstack.io/7-key-considerations-for-kubernetes-in-production/">7 Key Considerations for Kubernetes in Production</a></li> <li><a href="https://opensource.com/article/19/2/infrastructure-monitoring">Infrastructure monitoring: Defense against surprise downtime</a></li> <li><a href="https://thenewstack.io/serverless-needs-a-bolder-stateful-vision/">Serverless Needs a Bolder, Stateful Vision</a></li> <li><a href="https://techbeacon.com/devops/5-red-flags-when-devops-might-not-be-good-fit">5 red flags: When DevOps might not be a good fit</a></li> </ul> Tue, 12 Mar 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-304/ https://jakartadev.org/daily-digest-304/ Daily Digest #303 <ul> <li><a href="https://blog.brunomiranda.com/professional-focus-8f9fe082a593">Professional Focus Planning for the New Year</a></li> <li><a href="https://lwn.net/Articles/775736/">The Firecracker virtual machine monitor</a></li> <li><a href="https://medium.com/@mattklein123/monorepos-please-dont-e9a279be011b">Monorepos: Please don’t!</a></li> <li><a href="https://techbeacon.com/devops/how-accenture-retrofitted-site-reliability-engineering">How Accenture retrofitted for site reliability engineering</a></li> <li><a href="https://www.eclipse.org/Xtext/">Xtext</a></li> </ul> Mon, 11 Mar 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-303/ https://jakartadev.org/daily-digest-303/ Daily Digest #302 <ul> <li><a href="https://blog.heroku.com/event-streams-kafka-redshift-metabase">Managing Real-time Event Streams and SQL Analytics with Apache Kafka on Heroku, Amazon Redshift, and Metabase</a></li> <li><a href="https://github.com/bkuhlmann/git-cop">git-cop – enforces consistent Git commits.</a></li> <li><a href="https://github.com/dwyl/learn-json-web-tokens/blob/master/README.md">Learn JSON web tokens</a></li> <li><a href="https://altkomsoftware.pl/en/blog/headless-cms-as-a-microservice/">Headless CMS as a Microservice</a></li> <li><a href="https://anonoz.github.io/tech/2018/12/29/aws-secrets-in-rails.html">How to use AWS Secrets Manager in Ruby on Rails</a></li> </ul> Fri, 08 Mar 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-302/ https://jakartadev.org/daily-digest-302/ Daily Digest #301 <ul> <li><a href="https://tech.showmax.com/2018/12/building-scalable-highly-reliable-asynchronous-user-service/">Building a scalable, highly reliable, asynchronous user service</a></li> <li><a href="https://towardsdatascience.com/tagoverflow-correlating-tags-in-stackoverflow-66e2b0e1117b">TagOverflow — Correlating Tags in Stackoverflow</a></li> <li><a href="https://hacks.mozilla.org/2018/12/rust-2018-is-here/">Rust 2018 is here… but what is it?</a></li> <li><a href="https://jobs.zalando.com/tech/blog/front-end-micro-services/index.html">Front-End Micro Services</a></li> <li><a href="https://developers.redhat.com/blog/2018/12/07/ip-packet-buffering-in-ovn/">IP packet buffering in OVN</a></li> </ul> Thu, 07 Mar 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-301/ https://jakartadev.org/daily-digest-301/ Daily Digest #300 <ul> <li><a href="https://eng.uber.com/makisu/#utm_source=jakartadev">Introducing Makisu: Uber’s Fast, Reliable Docker Image Builder for Apache Mesos and Kubernetes</a></li> <li><a href="https://hackernoon.com/from-mvc-to-modern-web-frameworks-8067ec9dee65">From MVC to Modern Web Frameworks</a></li> <li><a href="https://www.smashingmagazine.com/2018/12/real-time-app-graphql-subscriptions-postgres/">How To Build A Real-Time App With GraphQL Subscriptions On Postgres</a></li> <li><a href="https://blog.timescale.com/high-availability-timescaledb-postgresql-patroni-a4572264a831/">Evaluating high availability solutions for TimescaleDB + PostgreSQL</a></li> </ul> Wed, 06 Mar 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-300/ https://jakartadev.org/daily-digest-300/ Daily Digest #299 <ul> <li><a href="https://www.toptal.com/android/android-apps-mvvm-with-clean-architecture">Better Android Apps Using MVVM with Clean Architecture</a></li> <li><a href="https://medium.com/walmartlabs/midway-simplifying-mocked-responses-da5601fc667d">Midway: Simplifying Mocked Responses</a></li> <li><a href="https://www.infoq.com/presentations/containers-net">Containers - What Are They Good For?</a></li> <li><a href="https://lambda.grofers.com/how-we-load-tested-our-apis-in-production-18225ee77f45">How we load tested our APIs in Production</a></li> <li><a href="https://medium.com/netflix-techblog/our-learnings-from-adopting-graphql-f099de39ae5f">Our learnings from adopting GraphQL</a></li> <li><a href="https://www.ebayinc.com/stories/blogs/tech/an-approach-for-metadata-store-on-large-volume-data-sets/">Providing Metadata Discovery on Large-Volume Data Sets</a></li> <li><a href="https://www.smashingmagazine.com/2018/12/gutenberg-accessibility-situation/">What Can Be Learned From The Gutenberg Accessibility Situation?</a></li> </ul> Tue, 05 Mar 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-299/ https://jakartadev.org/daily-digest-299/ Daily Digest #298 <ul> <li><a href="https://medium.com/@chris.rimondi/devops-embedding-as-aiding-and-abetting-db112d1977a">DevOps embedding as aiding and abetting</a></li> <li><a href="https://www.intercom.com/blog/learning-fixing-value-triage-engineers/">Learning by fixing — the value of triage engineer rotations</a></li> <li><a href="https://github.com/lorin/resilience-engineering">resilience engineering</a></li> <li><a href="https://sosedoff.github.io/pgweb/">Pgweb – Cross-platform client for PostgreSQL databases</a></li> <li><a href="https://hackertarget.com/ssh-examples-tunnels/">SSH Examples, Tips &amp; Tunnels</a></li> </ul> Mon, 04 Mar 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-298/ https://jakartadev.org/daily-digest-298/ Daily Digest #297 <ul> <li><a href="https://github.com/linux-noah/noah">Bash on Ubuntu on macOS</a></li> <li><a href="https://hackernoon.com/forget-docker-the-future-is-jamstack-aae5bcaf4616">Forget Docker, the future is JAMstack</a></li> <li><a href="https://blog.imaginea.com/why-we-fancied-testcafe-over-webdriver/">Why we fancied Testcafe over Webdriver for a mordern web app?</a></li> <li><a href="https://www.infoq.com/presentations/airbnb-soa-migration">The Great Migration: from Monolith to Service-Oriented</a></li> </ul> Fri, 01 Mar 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-297/ https://jakartadev.org/daily-digest-297/ Daily Digest #296 <ul> <li><a href="https://evilmartians.com/chronicles/big-on-heroku-scaling-fountain-without-losing-a-drop">Big on Heroku: Scaling Fountain without losing a drop</a></li> <li><a href="https://benchling.engineering/enforcing-transitive-constraints-in-sql-bc9caaf06884">Enforcing Transitive Constraints in SQL</a></li> <li><a href="https://www.weave.works/blog/why-is-a-pull-vs-a-push-pipeline-important">Why is a PULL vs a PUSH pipeline important?</a></li> <li><a href="https://medium.com/netflix-techblog/cache-warming-agility-for-a-stateful-service-2d3b1da82642">Cache warming: Agility for a stateful service</a></li> <li><a href="https://objective-see.com/blog/blog_0x3C.html">The Mac Malware of 2018</a></li> </ul> Thu, 28 Feb 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-296/ https://jakartadev.org/daily-digest-296/ Daily Digest #295 <ul> <li><a href="https://blog.twitter.com/engineering/en_us/topics/insights/2018/twitters-kafka-adoption-story.html">Twitter’s Kafka adoption story</a></li> <li><a href="https://www.future-processing.pl/blog/how-to-build-a-fault-tolerant-system/">How to build a fault tolerant system?</a></li> <li><a href="https://engineering.pivotal.io/post/ssh_handshake_failed/">Troubleshooting Obscure OpenSSH Failures</a></li> <li><a href="https://medium.com/carousell-insider/deep-image-understanding-at-carousell-121857434837">Deep image understanding at Carousell</a></li> <li><a href="https://blog.wallaroolabs.com/2018/11/horizontal-scaling-reasons/">Reasons to Scale Horizontally</a></li> </ul> Wed, 27 Feb 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-295/ https://jakartadev.org/daily-digest-295/ Daily Digest #294 <ul> <li><a href="https://eng.uber.com/sessionizing-data/">Sessionizing Uber Trips in Real Time</a></li> <li><a href="https://tech.instacart.com/predicting-real-time-availability-of-200-million-grocery-items-in-us-canada-stores-61f43a16eafe">Predicting the real-time availability of 200 million grocery items</a></li> <li><a href="https://medium.com/@baweaver/sf-abusing-operators-and-method-missing-ced78ab428cb">Sf — Abusing Operators and Method Missing</a></li> <li><a href="https://www.eventbrite.com/engineering/automated-cross-browser-testing-webgl-not-going-happen/">Automated Cross-Browser Testing for WebGL— It’s Not Going to Happen</a></li> <li><a href="https://emilyfreeman.io/blog/developer-relations-more-than-the-art-of-talking-good">Developer Relations: (More Than) The Art of Talking Good</a></li> </ul> Tue, 26 Feb 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-294/ https://jakartadev.org/daily-digest-294/ Daily Digest #293 <ul> <li><a href="https://eng.uber.com/payments-platform/">Engineering Uber’s Next-Gen Payments Platform</a></li> <li><a href="https://www.smashingmagazine.com/2018/12/caching-smartly-gutenberg/">Caching Smartly In The Age Of Gutenberg</a></li> <li><a href="https://www.infoq.com/articles/relational-nosql-fauna">Back to the Future with Relational NoSQL</a></li> <li><a href="https://medium.com/square-corner-blog/cross-shard-queries-lookup-tables-9d5d0ed847c1">Cross-Shard Queries &amp; Lookup Tables</a></li> <li><a href="https://medium.com/dev-channel/visbug-101-749f26a485c8">VisBug 101</a></li> <li><a href="https://medium.com/pinterest-engineering/an-update-on-pixie-pinterests-recommendation-system-6f273f737e1b">An update on Pixie, Pinterest’s recommendation system</a></li> </ul> Mon, 25 Feb 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-293/ https://jakartadev.org/daily-digest-293/ Daily Digest #292 <ul> <li><a href="https://codeburst.io/apollo-client-with-rest-apis-7f3b15a291a4">Apollo Client with REST APIs</a></li> <li><a href="https://jobs.zalando.com/tech/blog/exploring-fashion-catalog/index.html">Tag-based Navigation of a Fashion Catalog </a></li> <li><a href="https://medium.com/square-corner-blog/shard-splits-with-consistent-snapshots-adcf622842dd">Shard Splits with Consistent Snapshots</a></li> <li><a href="https://www.infoq.com/presentations/state-ai-marketing">The State of AI Marketing</a></li> <li><a href="https://ai.googleblog.com/2018/12/tf-ranking-scalable-tensorflow-library.html">TF-Ranking: A Scalable TensorFlow Library for Learning-to-Rank</a></li> <li><a href="https://www.infoq.com/presentations/google-microservices">What We Got Wrong: Lessons from the Birth of Microservices</a></li> </ul> Fri, 22 Feb 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-292/ https://jakartadev.org/daily-digest-292/ Daily Digest #291 <ul> <li><a href="https://tailwindcss.com/">Tailwind CSS</a></li> <li><a href="https://blog.arkency.com/command-sourcing-why-i-am-considering-it/">Command sourcing - why I am considering it</a></li> <li><a href="https://codewithoutrules.com/2018/12/12/tests-are-not-enough/">Tests won’t make your software correct</a></li> <li><a href="https://www.ebayinc.com/stories/blogs/tech/tips-for-visual-search-at-scale/">Seven Tips for Visual Search at Scale</a></li> <li><a href="https://lethain.com//model-document-share/">Model, document and share</a></li> <li><a href="https://techbeacon.com/security/hackers-love-docker-container-catastrophe-3-2-1">Hackers love Docker: Container catastrophe in 3, 2, 1…</a></li> <li><a href="https://thenewstack.io/how-serverless-platforms-could-power-an-event-driven-ai-pipeline/">How Serverless Platforms Could Power an Event-Driven AI Pipeline</a></li> <li><a href="https://devops.com/devops-disillusionment-4-behaviors-to-get-your-team-to-the-other-side/">DevOps Disillusionment? 4 Behaviors to Get Your Team to the Other Side</a></li> <li><a href="https://medium.freecodecamp.org/how-to-set-up-continuous-deployment-in-your-home-project-the-easy-way-41b84a467eed">How to set up continuous deployment in your home project the easy way</a></li> </ul> Thu, 21 Feb 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-291/ https://jakartadev.org/daily-digest-291/ Daily Digest #290 <ul> <li><a href="https://medium.com/square-corner-blog/abstracting-sharding-with-vitess-and-distributed-deadlocks-3128d7c8ffd1">Abstracting Sharding with Vitess and Distributed Deadlocks</a></li> <li><a href="http://klinger.io/post/180989912140/managing-remote-teams-a-crash-course">Managing Remote Teams - A Crash Course</a></li> <li><a href="https://www.infoq.com/news/2018/11/instagram-across-continents">Splitting Stateful Services across Continents at Instagram</a></li> <li><a href="https://engineering.riotgames.com/news/globalizing-player-accounts">Globalizing Player Accounts</a></li> <li><a href="https://eng.uber.com/mh-gan/">How to Get a Better GAN (Almost) for Free: Introducing the Metropolis-Hastings GAN</a></li> <li><a href="https://blog.arkency.com/our-slack-bot-now-on-lambda-with-ruby/">Serverless Slack bot on Lambda with Ruby (and what’s the less pleasant part about it)</a></li> <li><a href="https://hackernoon.com/certainty-theater-43f18c278cf9">Certainty Theater</a></li> </ul> Wed, 20 Feb 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-290/ https://jakartadev.org/daily-digest-290/ Daily Digest #289 <ul> <li><a href="https://www.thoughtworks.com/insights/blog/xworks-my-machine-and-also-everywhere-else-local-build-and-testing-environments-code">Works on my machine… and also everywhere else: local build and testing environments as code</a></li> <li><a href="https://hackernoon.com/debugging-node-services-in-kubernetes-with-linkerd-2-0-f878382fb380">Debugging Node Services in Kubernetes With Linkerd 2.0</a></li> <li><a href="https://www.toptal.com/designers/ux/design-thinking-process">Breaking Down the Design Thinking Process</a></li> <li><a href="https://medium.com/netflix-techblog/netflix-information-security-preventing-credential-compromise-in-aws-41b112c15179">Netflix Information Security: Preventing Credential Compromise in AWS</a></li> <li><a href="https://www.smashingmagazine.com/2018/11/structured-content-done-right/">Strategies For Headless Projects With Structured Content Management Systems</a></li> <li><a href="https://blog.arkency.com/our-slack-bot-now-on-lambda-with-ruby/">Serverless Slack bot on Lambda with Ruby (and what’s the less pleasant part about it)</a></li> </ul> Tue, 19 Feb 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-289/ https://jakartadev.org/daily-digest-289/ Daily Digest #288 <ul> <li><a href="https://medium.com/pinterest-engineering/how-pinterest-runs-kafka-at-scale-ff9c6f735be">How Pinterest runs Kafka at scale</a></li> <li><a href="https://circleci.com/blog/tools-for-effective-pairing/">Tools for effective pairing</a></li> <li><a href="https://blog.algolia.com/advanced-search-experience-for-e-commerce/">Beyond the search bar: advanced e-commerce search experiences</a></li> <li><a href="https://developers.redhat.com/blog/2018/11/27/microservices-debugging-openshift-kubernetes/">Solving the challenges of debugging microservices on a container platform</a></li> <li><a href="https://medium.com/square-corner-blog/reliable-webhooks-using-serverless-architecture-e009a2096732">Reliable Webhooks Using Serverless Architecture</a></li> <li><a href="https://www.smashingmagazine.com/2018/11/guide-pwa-progressive-web-applications/">An Extensive Guide To Progressive Web Applications</a></li> </ul> Mon, 18 Feb 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-288/ https://jakartadev.org/daily-digest-288/ Daily Digest #287 <ul> <li><a href="https://www.tbray.org/ongoing/When/201x/2018/12/09/Serverlessness">Tim Bray – Serverlessness</a></li> <li><a href="https://aws.amazon.com/quickstart/architecture/git-to-s3-using-webhooks/">Git Webhooks with AWS services</a></li> <li><a href="https://github.com/intika/Librefox">Librefox</a></li> <li><a href="https://engineering.gusto.com/how-to-run-docker-and-get-more-sleep-than-i-did/">How to run Docker and get more sleep than I did</a></li> <li><a href="https://www.sicpers.info/2018/12/more-speed-lower-velocity/">More speed, lower velocity</a></li> </ul> Fri, 15 Feb 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-287/ https://jakartadev.org/daily-digest-287/ Daily Digest #286 <ul> <li><a href="https://smallstep.com/blog/everything-pki.html">Everything you should know about certificates and PKI but are too afraid to ask</a></li> <li><a href="https://hackernoon.com/the-ultimate-guide-to-starting-your-first-iot-project-8b0644fbbe6d">The Ultimate Guide To Starting Your First IoT Project</a></li> <li><a href="https://eng.uber.com/driver-app-optimistic-mode/">How Uber’s New Driver App Overcomes Network Lag</a></li> <li><a href="https://open.nytimes.com/reimagining-the-morning-briefing-655100304624">Reimagining the Morning Briefing</a></li> <li><a href="https://artsy.github.io/blog/2018/11/28/artsy-auth/">Everything You Ever Wanted To Know About Authentication at Artsy (But Didn’t Know How To Ask)</a></li> </ul> Thu, 14 Feb 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-286/ https://jakartadev.org/daily-digest-286/ Daily Digest #285 <ul> <li><a href="https://www.oreilly.com/ideas/the-trinity-of-errors-in-financial-models-an-introductory-analysis-using-tensorflow-probability">The trinity of errors in financial models: An introductory analysis using TensorFlow Probability</a></li> <li><a href="https://www.oreilly.com/ideas/using-machine-learning-and-analytics-to-attract-and-retain-employees">Using machine learning and analytics to attract and retain employees</a></li> <li><a href="https://github.com/ankane/blazer">Blazer – Business intelligence made simple</a></li> <li><a href="https://medium.com/@jamal.robinson/how-facebook-scales-artificial-intelligence-machine-learning-693706ae296f">How Facebook Scales Machine Learning</a></li> </ul> Wed, 13 Feb 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-285/ https://jakartadev.org/daily-digest-285/ Daily Digest #284 <ul> <li><a href="https://medium.com/fm-stories/how-developers-and-designers-can-collaborate-using-flutter-35b3e49046ca">How Developers and Designers Can Collaborate Using Flutter</a></li> <li><a href="https://medium.com/the-hamato-yogi-chronichels/how-we-moved-from-wordpress-to-react-and-raised-80-million-6e80b88be28">How We Moved From Wordpress to React and Raised $80 Million</a></li> <li><a href="https://eng.uber.com/manifold/">Manifold: A Model-Agnostic Visual Debugging Tool for Machine Learning at Uber</a></li> <li><a href="https://www.oreilly.com/ideas/artificial-intelligence-and-machine-learning-adoption-in-european-enterprise">Artificial intelligence and machine learning adoption in European enterprise</a></li> <li><a href="https://towardsdatascience.com/the-cold-start-problem-how-to-build-your-machine-learning-portfolio-6718b4ae83e9">The cold start problem: how to build your machine learning portfolio</a></li> </ul> Fri, 08 Feb 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-284/ https://jakartadev.org/daily-digest-284/ Daily Digest #283 <ul> <li><a href="http://richardmavis.info/a-complete-program">A Complete Program</a></li> <li><a href="https://github.com/RustPython/RustPython">A Python Interpreter written in Rust</a></li> <li><a href="https://realpython.com/python-development-visual-studio-code/">Python Development in Visual Studio Codehttps://medium.freecodecamp.org/how-to-be-more-productive-on-github-c3cedab043e3</a></li> <li><a href="https://www.wired.com/story/google-chrome-kill-url-first-steps/">Google Takes Its First Steps Toward Killing the URL</a></li> <li><a href="https://www.smashingmagazine.com/2019/02/css-browser-support/">A Guide To CSS Support In Browsers</a></li> </ul> Thu, 07 Feb 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-283/ https://jakartadev.org/daily-digest-283/ Daily Digest #282 <ul> <li><a href="https://www.smashingmagazine.com/2018/11/pitfalls-automatically-inlined-code/">Avoiding The Pitfalls Of Automatically Inlined Code</a></li> <li><a href="https://evilmartians.com/chronicles/errors-in-go-from-denial-to-acceptance">Errors in Go: From denial to acceptance</a></li> <li><a href="https://www.smashingmagazine.com/2019/01/web-standards-guide/">Web Standards: The What, The Why, And The How</a></li> <li><a href="https://medium.freecodecamp.org/trending-web-technologies-to-follow-in-2019-fc382b09198b">Interesting Web Technologies to follow in 2019</a></li> <li><a href="https://www.heartinternet.uk/blog/the-developers-guide-to-native-web-animation/">The developer’s guide to native web animation</a></li> <li><a href="https://www.oreilly.com/ideas/gradually-then-suddenly">Gradually, then suddenly</a></li> <li><a href="https://medium.com/chingu/protect-application-assets-how-to-secure-your-secrets-a4165550c5fb">Protect Application Assets: How to Secure Your Secrets</a></li> <li><a href="https://standalone-sysadmin.com/the-impostor-effect-vs-dunning-kruger-d2bafb774347">The Impostor Effect vs Dunning-Kruger</a></li> </ul> Mon, 04 Feb 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-282/ https://jakartadev.org/daily-digest-282/ Daily Digest #281 <ul> <li><a href="https://engineeringblog.yelp.com/2018/11/ttl-as-a-service.html">TTL as a Service: Automatic Revocation of Stale Privileges</a></li> <li><a href="https://www.eventbrite.com/engineering/fundamental-problem-search/">The Fundamental Problem of Search</a></li> <li><a href="https://medium.freecodecamp.org/these-are-the-features-in-es6-that-you-should-know-1411194c71cb">These are the features in ES6 that you should know</a></li> <li><a href="https://blog.twitter.com/engineering/en_us/topics/infrastructure/2018/dynamic-configuration-at-twitter.html">Dynamic configuration at Twitter</a></li> <li><a href="https://blog.prototypr.io/dissecting-front-end-job-titles-7f72a0ef0bc5">Dissecting Front-end Job Titles</a></li> </ul> Fri, 01 Feb 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-281/ https://jakartadev.org/daily-digest-281/ Daily Digest #280 <ul> <li><a href="https://hacks.mozilla.org/2018/11/decentralizing-social-interactions-with-activitypub/">Decentralizing Social Interactions with ActivityPub</a></li> <li><a href="https://drivy.engineering/airflow-architecture/">Airflow Architecture at Drivy</a></li> <li><a href="https://blog.cloudflare.com/fast-google-fonts-with-cloudflare-workers/">Fast Google Fonts with Cloudflare Workers</a></li> <li><a href="https://nordicapis.com/5-ways-to-hack-an-api-and-how-to-defend/">5 Ways To Hack An API (And How To Defend)</a></li> <li><a href="https://auth0.com/blog/zero-config-javascript-app-prototyping-with-webpack/">Zero Config JavaScript App Prototyping with Webpack</a></li> <li><a href="https://www.confluent.io/blog/using-apache-kafka-drive-cutting-edge-machine-learning">Using Apache Kafka to Drive Cutting-Edge Machine Learning</a></li> </ul> Thu, 31 Jan 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-280/ https://jakartadev.org/daily-digest-280/ Daily Digest #279 <ul> <li><a href="https://engineering.blogfoster.com/snapshot-testing-going-beyond-ui/">Snapshot Testing Going Beyond UI</a></li> <li><a href="https://open.nytimes.com/experiments-with-link-previews-to-help-guide-readers-79dbe843ad29">Experiments with Link Previews to Help Guide Readers</a></li> <li><a href="https://blog.sourced.tech/post/pga_history/">The Public Git Archive Story</a></li> <li><a href="https://eng.uber.com/observability-at-scale/">Observability at Scale: Building Uber’s Alerting Ecosystem</a></li> <li><a href="https://www.smashingmagazine.com/2018/11/implications-blocks-blobs/">Implications Of Thinking In Blocks Instead Of Blobs</a></li> <li><a href="https://medium.com/airbnb-engineering/scaling-spark-streaming-for-logging-event-ingestion-4a03141d135d">Scaling Spark Streaming for Logging Event Ingestion</a></li> </ul> Wed, 30 Jan 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-279/ https://jakartadev.org/daily-digest-279/ Daily Digest #278 <ul> <li><a href="https://blog.insightdatascience.com/whats-the-big-deal-about-decentralized-consensus-12876bb80064?source=rss----d02e65779d7b---4&amp;gi=35c8dc60af02">What’s the big deal about Decentralized Consensus?</a></li> <li><a href="https://hackernoon.com/breaking-the-ice-a-crash-course-in-ipfs-ethereum-and-fat-protocols-of-the-future-eb9bd15eb96e">Breaking The Ice: A Crash Course In IPFS, Ethereum And Fat Protocols Of The Future</a></li> <li><a href="https://engineering.linkedin.com/blog/2018/11/coding-conversations--the-perfect-storm--that-brought-down-linke">Coding Conversations: The “Perfect Storm” that Brought Down LinkedIn.com</a></li> <li><a href="https://blogs.dropbox.com/tech/2018/11/offensive-testing-to-make-dropbox-and-the-world-a-safer-place/">Offensive testing to make Dropbox (and the world) a safer place</a></li> <li><a href="https://www.future-processing.pl/blog/storing-files-in-a-distributed-file-system-using-blockchain-technology/">Storing files in a distributed file system using blockchain technology</a></li> </ul> Tue, 29 Jan 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-278/ https://jakartadev.org/daily-digest-278/ Daily Digest #277 <ul> <li><a href="https://opensource.com/article/19/1/what-small-scale-scrum">What is Small Scale Scrum?</a></li> <li><a href="https://thenewstack.io/devops-demands-netops/">DevOps Demands NetOps</a></li> <li><a href="https://medium.com/myntra-engineering/real-time-context-based-smart-type-ahead-suggestions-316ac7a25107">Real-time context based smart type-ahead suggestions</a></li> <li><a href="https://hackernoon.com/achieving-blockchain-scalability-with-sparse-merkle-trees-and-bloom-filters-3b9945f003f">Achieving Blockchain Scalability with Sparse Merkle Trees and Bloom Filters</a></li> <li><a href="https://www.infoq.com/presentations/uber-big-data-dl-ml">Big Data and Deep Learning: A Tale of Two Systems</a></li> <li><a href="https://www.percona.com/blog/2018/11/15/mysql-high-availability-on-premises-a-geographically-distributed-scenario/">MySQL High Availability On-Premises: A Geographically Distributed Scenario</a></li> </ul> Mon, 28 Jan 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-277/ https://jakartadev.org/daily-digest-277/ Daily Digest #276 <ul> <li><a href="https://open.nytimes.com/measuring-what-makes-readers-subscribe-to-the-time-fa31f00a3cdd">Measuring What Makes Readers Subscribe to The New York Times</a></li> <li><a href="https://www.smashingmagazine.com/2018/11/interactive-infographic-vue-js/">Building An Interactive Infographic With Vue.js</a></li> <li><a href="https://hackernoon.com/can-snmp-still-be-used-to-detect-ddos-attacks-32b03aa9df8a">Can SNMP (Still) Be Used to Detect DDoS Attacks?</a></li> <li><a href="https://bytes.grubhub.com/how-we-build-services-fast-a-look-at-the-grubhub-service-framework-181ae2091391">How we build services fast: A look at the Grubhub service framework</a></li> <li><a href="https://techbeacon.com/3-prioritization-techniques-beat-software-deadline-stress">3 prioritization techniques to beat software deadline stress</a></li> </ul> Fri, 25 Jan 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-276/ https://jakartadev.org/daily-digest-276/ Daily Digest #275 <ul> <li><a href="https://developers.redhat.com/blog/2018/11/16/microcontainers-for-unit-testing/">Microcontainers for Unit Testing</a></li> <li><a href="https://android-developers.googleblog.com/2018/11/combating-potentially-harmful.html">Combating Potentially Harmful Applications with Machine Learning at Google: Datasets and Models</a></li> <li><a href="https://medium.com/@maarten.goet/securing-kubernetes-on-microsoft-azure-are-your-container-doors-wide-open-bb6e879cec5d">Securing Kubernetes on Microsoft Azure: are your container doors wide open?</a></li> <li><a href="https://medium.com/earnest-engineering/continuous-improvement-delivering-jenkins-through-jenkins-pt-1-4dd3e5af8cb0">Continuous Improvement: Delivering Jenkins Through Jenkins Pt 1</a></li> <li><a href="https://medium.com/earnest-engineering/continuous-delivery-of-jenkins-by-jenkins-26b649a94fac">Continuous Improvement: Delivering Jenkins Through Jenkins Pt 2</a></li> </ul> Thu, 24 Jan 2019 00:00:00 +0000 https://jakartadev.org/dail-digest-275/ https://jakartadev.org/dail-digest-275/ Daily Digest #274 <ul> <li><a href="https://medium.com/@midn/high-availability-vpn-on-aws-with-strongswan-bba12b5d4e55">High-Availability VPN on AWS with Strongswan</a></li> <li><a href="https://www.theregister.co.uk/2019/01/16/devops_salary_report/">The DevOps Salary Report is in, and is great news for American men</a></li> <li><a href="https://medium.com/capital-one-tech/4-lessons-learned-from-scaling-ios-ci-cd-60c2f0cd7c94">4 Lessons From Scaling iOS CI/CD</a></li> <li><a href="https://thenewstack.io/why-you-cant-afford-to-ignore-distributed-tracing-for-observability/">Why You Can’t Afford to Ignore Distributed Tracing for Observability</a></li> <li><a href="https://medium.com/myntra-engineering/my-journey-with-golang-web-services-4d922a8c9897">Building Scalable Web Services in Golang</a></li> <li><a href="https://techbeacon.com/4-agile-best-practices-every-enterprise-architect-should-follow">4 agile best practices every enterprise architect should follow</a></li> </ul> Wed, 23 Jan 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-274/ https://jakartadev.org/daily-digest-274/ Daily Digest #273 <ul> <li><a href="https://medium.com/coryodaniel/bonny-extending-kubernetes-with-elixir-part-1-34ccb2ea0b4d">Bonny: Extending Kubernetes with Elixir — Part 1</a></li> <li><a href="https://medium.com/coryodaniel/bonny-extending-kubernetes-with-elixir-part-2-efdf8e422085">Bonny: Extending Kubernetes with Elixir — Part 2</a></li> <li><a href="https://medium.com/coryodaniel/bonny-extending-kubernetes-with-elixir-part-3-fdfc8b8cc843">Bonny: Extending Kubernetes with Elixir — Part 3</a>- <a href="https://m.subbu.org/contemporary-views-on-serverless-and-implications-1c5907c611d8">Contemporary Views on Serverless and Implications</a></li> <li><a href="https://medium.com/@adamhjk/monorepo-please-do-3657e08a4b70">Monorepo: please do!</a></li> <li><a href="https://thenewstack.io/wso2-ceo-tyler-jewell-ballerina-and-the-end-of-middleware/">WSO2 CEO Tyler Jewell: Ballerina and the End of Middleware</a></li> </ul> Tue, 22 Jan 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-273/ https://jakartadev.org/daily-digest-273/ Daily Digest #272 <ul> <li><a href="https://thenewstack.io/getting-legit-with-git-and-github-the-art-of-the-commit-message/">Get Legit with Git (and GitHub): The Art of the Commit Message</a></li> <li><a href="https://grafana.com/blog/2018/12/12/loki-prometheus-inspired-open-source-logging-for-cloud-natives/">Loki: Prometheus-inspired, open source logging for cloud natives</a></li> <li><a href="https://thenewstack.io/ballerina-an-api-first-programming-language/">Ballerina: An API-First Programming Language</a></li> <li><a href="https://github.com/zalando/skipper">Skipper – An HTTP router and reverse proxy for service composition</a></li> <li><a href="https://thenewstack.io/what-we-learned-about-kotlins-growth-this-year/">What We Learned About Kotlin’s Growth This Year</a></li> </ul> Mon, 21 Jan 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-272/ https://jakartadev.org/daily-digest-272/ Daily Digest #271 <ul> <li><a href="https://hackernoon.com/microservices-architecture-the-new-business-enablers-3b237807c103">Microservices Architecture: The New Business Enablers</a></li> <li><a href="https://mesosphere.com/blog/the-4-top-service-orchestration-challenges/">The 4 Top Service Orchestration Challenges </a></li> <li><a href="https://charity.wtf/2019/01/04/engineering-management-the-pendulum-or-the-ladder/">Engineering Management: The Pendulum Or The Ladder</a></li> <li><a href="https://medium.com/@gavinlewis/3-top-tips-for-your-next-serverless-project-2ea87bc833e7">3 top tips for your next serverless project</a></li> <li><a href="https://towardsdatascience.com/learn-enough-docker-to-be-useful-b7ba70caeb4b">Learn Enough Docker to be Useful</a></li> <li><a href="https://opensource.com/article/19/1/why-data-scientists-love-kubernetes">Why data scientists love Kubernetes</a></li> </ul> Fri, 18 Jan 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-271/ https://jakartadev.org/daily-digest-271/ Daily Digest #270 <ul> <li><a href="https://towardsdatascience.com/dash-a-beginners-guide-d118bd620b5d">Dash: A Beginner’s Guide</a></li> <li><a href="https://thenewstack.io/principles-of-good-large-scale-agile/">Principles of Good Large-Scale Agile</a></li> <li><a href="https://opensource.com/article/19/1/automating-deployment-strategies-ansible">Automating deployment strategies with Ansible</a></li> <li><a href="https://thenewstack.io/microservices-and-nosql-a-great-match/">Microservices and NoSQL: A Great Match</a></li> <li><a href="https://thenewstack.io/aiops-and-the-myth-of-efficient-multitasking/">AIOps and the Myth of Efficient Multitasking</a></li> </ul> Thu, 17 Jan 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-270/ https://jakartadev.org/daily-digest-270/ Daily Digest #269 <ul> <li><a href="https://shopifyengineering.myshopify.com/blogs/engineering/handling-addresses-from-all-around-the-world">Handling Addresses from All Around the World</a></li> <li><a href="https://blog.cloudflare.com/the-rise-of-multivector-amplifications/">The rise of multivector DDoS attacks</a></li> <li><a href="https://blog.scottlogic.com/2018/10/23/automating-terraform-abstracting-terraform-behind-a-web-service.html">Automating Terraform: Infrastructure as Code as a Service</a></li> <li><a href="https://towardsdatascience.com/doing-machine-learning-the-uber-way-five-lessons-from-the-first-three-years-of-michelangelo-da584a857cc2">Doing Machine Learning the Uber Way: Five Lessons From the First Three Years of Michelangelo</a></li> <li><a href="https://about.gitlab.com/2018/11/14/how-we-spent-two-weeks-hunting-an-nfs-bug/">How we spent two weeks hunting an NFS bug in the Linux kernel</a></li> </ul> Wed, 16 Jan 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-269/ https://jakartadev.org/daily-digest-269/ Daily Digest #268 <ul> <li><a href="https://blog.risingstack.com/nodejs-microservices-scaling-case-study/">Serving Millions of Users in Real-Time with Node.js &amp; Microservices [Case Study]</a></li> <li><a href="https://hacks.mozilla.org/2018/11/the-power-of-web-components/">The Power of Web Components</a></li> <li><a href="https://www.ebayinc.com/stories/blogs/tech/planning-and-execution-of-a-high-risk-network-upgrade/">Working on the Engines While the Plane is Flying</a></li> <li><a href="https://blogs.dropbox.com/tech/2018/11/cross-shard-transactions-at-10-million-requests-per-second/">Cross shard transactions at 10 million requests per second</a></li> <li><a href="https://hackernoon.com/activerecord-on-mysql-iterating-over-large-tables-with-conditions-453bd8761c8b">ActiveRecord on MySQL— Iterating over large tables with conditions</a></li> <li><a href="https://engineering.linkedin.com/blog/2018/11/using-translatable-portable-UDFs">Transport: Towards Logical Independence Using Translatable Portable UDFs</a></li> </ul> Tue, 15 Jan 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-268/ https://jakartadev.org/daily-digest-268/ Daily Digest #267 <h3 id="happy-monday">Happy Monday!</h3> <ul> <li><a href="https://medium.com/airbnb-engineering/druid-airbnb-data-platform-601c312f2a4c">How Druid enables analytics at Airbnb</a></li> <li><a href="https://hacks.mozilla.org/2018/11/firefox-sync-privacy/">Private by Design: How we built Firefox Sync</a></li> <li><a href="https://tech.showmax.com/2018/11/sinkholing-2/">Sinkholing - Face the Threat, Beat the Threat – Part II - Implementation</a></li> <li><a href="https://medium.com/@wei.surya/demystify-the-multi-threading-in-node-js-4ff07eae9abe">Demystify The Multi-threading in Node.JS</a></li> <li><a href="https://blog.fastforwardlabs.com/2018/11/14/federated-learning.html">Federated learning: distributed machine learning with data locality and privacy</a></li> <li><a href="https://auth0.com/blog/progressive-service-architecture-at-auth0/">Progressive Service Architecture At Auth0</a></li> </ul> Mon, 14 Jan 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-267/ https://jakartadev.org/daily-digest-267/ Daily Digest #266 <ul> <li><a href="https://www.toptal.com/designers/ux/visual-hierarchy">Boost Your UX with Clear Visual Hierarchy</a></li> <li><a href="https://eng.uber.com/driver-app-ribs-architecture/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=driver-app-ribs-architecture">Architecting Uber’s New Driver App in RIBs</a></li> <li><a href="https://www.infoq.com/articles/challenges-realtime-chat-service-pusher">Challenges of Building a Reliable Realtime Chat Service</a></li> <li><a href="https://www.infoq.com/presentations/blazor-web-assembly">Blazor: C# Running in the Browser via WebAssembly</a></li> <li><a href="https://ferdychristant.com/the-state-of-web-browsers-f5a83a41c1cb">The State of Web Browsers 2018</a></li> <li><a href="https://techcrunch.com/2019/01/05/how-trulia-began-paying-down-its-technical-debt/">How Trulia began paying down its technical debt</a></li> <li><a href="https://blog.scottlogic.com/2019/01/07/introduction-to-contract-testing-part-1.html">Introduction to contract testing - pt.1</a></li> </ul> Fri, 11 Jan 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-266/ https://jakartadev.org/daily-digest-266/ Daily Digest #265 <ul> <li><a href="https://capgemini.github.io/accessibility/Basic-Accessibility-for-Web-Applications/">Basic Accessibility for Web Applications</a></li> <li><a href="https://multithreaded.stitchfix.com/blog/2018/11/08/bandits/">Your Client Engagement Program Isn’t Doing What You Think It Is</a></li> <li><a href="https://www.weave.works/blog/optimizing-cluster-resources-for-kubernetes-team-development">Optimizing Cluster Resources for Kubernetes Team Development</a></li> <li><a href="https://medium.com/fuzzy-sharp/building-a-type-safe-embedded-dsl-for-form-components-with-validation-e7ffaaf537e4">Using PureScript to create a domain-specific language for building forms with validation</a></li> <li><a href="https://blog.cloudflare.com/cloud-computing-without-containers/">Cloud Computing without Containers</a></li> </ul> Thu, 10 Jan 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-265/ https://jakartadev.org/daily-digest-265/ Daily Digest #264 <ul> <li><a href="https://medium.com/netflix-techblog/netflix-mediadatabase-media-timeline-data-model-4e657e6ffe93">Netflix Media Database — the Media Timeline Data Model</a></li> <li><a href="https://www.ebayinc.com/stories/blogs/tech/sre-case-study-mysterious-traffic-imbalance/">SRE Case Study: Mysterious Traffic Imbalance</a></li> <li><a href="https://medium.com/zendesk-engineering/how-we-use-aws-batch-at-zendesk-to-build-all-the-machine-learning-models-a41d93eabd45">How we use AWS Batch at Zendesk to Build All The Machine Learning Models</a></li> <li><a href="https://hacks.mozilla.org/2018/11/into-the-depths-the-technical-details-behind-av1/">Into the Depths: The Technical Details Behind AV1</a></li> <li><a href="https://arcentry.com/blog/postgres-might-just-be-the-most-advanced-database-ever">At 22 years old, Postgres might just be the most advanced database yet</a></li> <li><a href="https://blog.cloudera.com/blog/2018/11/proactive-data-pipeline-alerting-with-pulse/">Proactive Data Pipeline Alerting with Pulse</a></li> </ul> Wed, 09 Jan 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-264/ https://jakartadev.org/daily-digest-264/ Daily Digest #263 <ul> <li><a href="https://jobs.zalando.com/tech/blog/front-end-micro-services/">Front-End Micro Services</a></li> <li><a href="https://charity.wtf/2018/12/02/software-sprawl-the-golden-path-and-scaling-teams-with-agency/">Software Sprawl, The Golden Path, and Scaling Teams With Agency</a></li> <li><a href="https://medium.com/@mctaylorpants/a-weird-and-wonderful-trip-through-rubys-standard-library-762ddcf7a908">A Weird and Wonderful Trip through Ruby’s Standard Library</a></li> <li><a href="https://www.awsadvent.com/2018/12/04/unlearning-for-dynamodb/">Unlearning for DynamoDB</a></li> <li><a href="https://sophiebits.com/2018/12/03/yak-shaving-fixing.html">Yak shaving and fixing</a></li> </ul> Tue, 08 Jan 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-263/ https://jakartadev.org/daily-digest-263/ Daily Digest #262 <ul> <li><a href="https://blog.wallaroolabs.com/2018/11/horizontal-scaling-reasons/">Reasons to Scale Horizontally</a></li> <li><a href="https://github.com/wagoodman/dive">Dive – A tool for exploring each layer in a docker image</a></li> <li><a href="https://serverless.com/blog/api-ruby-serverless-framework/">Building an API with Ruby and the Serverless Framework</a></li> <li><a href="https://medium.com/netflix-techblog/netflix-information-security-preventing-credential-compromise-in-aws-41b112c15179">Netflix Information Security: Preventing Credential Compromise in AWS</a></li> <li><a href="https://hackernoon.com/eli5-plasma-cash-ff242c55e8de">ELI5: Plasma Cash — Scaling Ethereum</a></li> <li><a href="https://www.cockroachlabs.com/blog/building-cost-based-sql-optimizer/">How We Built a Cost-Based SQL Optimizer</a></li> </ul> Mon, 07 Jan 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-262/ https://jakartadev.org/daily-digest-262/ Daily Digest #261 <ul> <li><a href="http://lucteo.ro/2018/11/18/look-ma-no-locks/">Look ma, no locks</a></li> <li><a href="https://isc.sans.edu/diary/rss/24388">A Dive into malicious Docker Containers</a></li> <li><a href="https://henrikwarne.com/2018/12/03/developer-on-call/">Developer On Call</a></li> <li><a href="https://robertheaton.com/2018/11/28/https-in-the-real-world/">HTTPS in the real world</a></li> <li><a href="https://www.percona.com/blog/2018/12/05/nondeterministic-functions-in-mysql-i-e-rand-can-surprise-you/">Nondeterministic Functions in MySQL (i.e. rand) Can Surprise You</a></li> </ul> Fri, 04 Jan 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-261/ https://jakartadev.org/daily-digest-261/ Daily Digest #260 <h3 id="selamat-tahun-baru">Selamat tahun baru!</h3> <ul> <li><a href="https://engineering.skybettingandgaming.com/2018/11/09/optimising-microservices-part-2/">Optimising an AWS microservice - Part 2</a></li> <li><a href="https://medium.com/airbnb-engineering/how-airbnb-is-moving-10x-faster-at-scale-with-graphql-and-apollo-aa4ec92d69e2">How Airbnb is Moving 10x Faster at Scale with GraphQL and Apollo</a></li> <li><a href="https://engineering.appfolio.com/appfolio-engineering/2018/11/28/how-fast-is-ruby-260preview3-for-discourse">How Fast is Ruby 2.6.0preview3 for Discourse?</a></li> <li><a href="https://robots.thoughtbot.com/ruby-memoization-and-alternatives">Ruby Memoization and Alternatives</a></li> <li><a href="https://www.youtube.com/watch?v=tfnldxWlOhM">Hillel Wayne - Everything about distributed systems is terrible</a></li> </ul> Thu, 03 Jan 2019 00:00:00 +0000 https://jakartadev.org/daily-digest-260/ https://jakartadev.org/daily-digest-260/ Daily Digest #259 <ul> <li><a href="https://eng.uber.com/analyzing-experiment-outcomes/">Analyzing Experiment Outcomes: Beyond Average Treatment Effects</a></li> <li><a href="https://blog.octo.com/en/i-am-a-developer-why-should-i-use-docker/">I am a Developer: why should I use Docker?</a></li> <li><a href="https://blog.cotten.io/a-very-sleepy-mysql-attack-bff80975fda7">A Very SLEEPy MySQL Attack</a></li> <li><a href="https://medium.com/netflix-techblog/scaling-time-series-data-storage-part-ii-d67939655586">Scaling Time Series Data Storage — Part II</a></li> <li><a href="https://css-tricks.com/front-end-development-is-not-a-problem-to-be-solved/">Front-end development is not a problem to be solved</a></li> <li><a href="https://codeascraft.com/2018/11/07/double-bucketing-in-ab-testing/">Double-bucketing in A/B Testing</a></li> <li><a href="https://www.smashingmagazine.com/2018/11/virtual-reality-model-real-time-cross-device-preview/">How To Build A Virtual Reality Model With A Real-Time Cross-Device Preview</a></li> <li><a href="https://shopifyengineering.myshopify.com/blogs/engineering/running-apache-kafka-on-kubernetes-at-shopify">Running Apache Kafka on Kubernetes at Shopify</a></li> <li><a href="https://martinfowler.com/articles/refactoring-2nd-ed.html">The Second Edition of “Refactoring”</a></li> </ul> Fri, 28 Dec 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-259/ https://jakartadev.org/daily-digest-259/ Daily Digest #258 <ul> <li><a href="https://www.theguardian.com/info/2018/nov/30/bye-bye-mongo-hello-postgres">Bye bye Mongo, Hello Postgres</a></li> <li><a href="https://www.macrumors.com/2018/12/18/facebook-ad-tracking-ip-address/">Facebook Uses IP Address and Other Info to Deliver Location-Based Ads Even When Location Options are Disabled</a></li> <li><a href="https://medium.com/square-corner-blog/sharding-cash-10280fa3ef3b">Sharding Cash</a></li> <li><a href="https://eng.lyft.com/empowering-personalized-marketing-with-machine-learning-fd36e6bdeca6">Empowering personalized marketing with machine learning</a></li> <li><a href="https://blog.brunomiranda.com/building-a-distributed-engineering-team-85d281b9b1c">Building Distributed Engineering Teams</a></li> <li><a href="https://www.awsgeek.com/">AWSGeek – Diagrams of all AWS services</a></li> </ul> Thu, 27 Dec 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-258/ https://jakartadev.org/daily-digest-258/ Daily Digest #257 <ul> <li><a href="https://engineering.linkedin.com/blog/2018/11/rebuilding-the-groups-experience-on-linkedin">Rebuilding the Groups Experience on LinkedIn</a></li> <li><a href="https://cameronlonsdale.com/2018/11/26/whats-in-a-docker-image/">What’s in a Docker image?</a></li> <li><a href="https://medium.com/react-in-depth/the-how-and-why-on-reacts-usage-of-linked-list-in-fiber-67f1014d0eb7">The how and why on React’s usage of linked list in Fiber to walk the component’s tree</a></li> <li><a href="https://code.fb.com/developer-tools/getafix-how-facebook-tools-learn-to-fix-bugs-automatically/">Getafix: How Facebook tools learn to fix bugs automatically</a></li> <li><a href="https://www.eventbrite.com/engineering/rethinking-quality-engineers/">Rethinking quality and the engineers who protect it</a></li> <li><a href="https://firecracker-microvm.github.io/">Secure and fast microVMs for serverless computing</a></li> <li><a href="https://engineering.bitnami.com/articles/announcing-the-bitnami-kubernetes-production-runtime-bkpr.html">Announcing the Bitnami Kubernetes Production Runtime (BKPR)</a></li> </ul> Wed, 26 Dec 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-257/ https://jakartadev.org/daily-digest-257/ Daily Digest #256 <ul> <li><a href="https://medium.com/jettech/a-short-introduction-to-windows-containers-db5adc0db536">A short introduction to Windows Containers</a></li> <li><a href="https://github.com/alertlogic/erllambda">Erllambda – Enable AWS Lambda functions to be written in Erlang</a></li> <li><a href="https://medium.com/square-corner-blog/enabling-modern-javascript-in-rails-with-webpack-er-fd4a1b8dd0c6">Enabling Modern JavaScript in Rails with Webpack(er)</a></li> <li><a href="https://open.nytimes.com/how-to-grow-as-an-engineer-working-remotely-3baff8211f3e">How to Grow as an Engineer (Working Remotely)</a></li> <li><a href="https://blog.codeship.com/what-is-the-difference-between-implicit-vs-explicit-programming/">What’s the Difference Between Implicit vs. Explicit Programming?</a></li> </ul> Mon, 24 Dec 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-256/ https://jakartadev.org/daily-digest-256/ Daily Digest #255 <ul> <li><a href="https://medium.com/google-cloud/developing-with-containers-done-right-831a4bae1d28">Developing With Containers Done Right</a></li> <li><a href="https://code.fb.com/ai-research/zero-shot-learning/">Zero-shot learning: Using text to more accurately identify images</a></li> <li><a href="https://medium.com/airbnb-engineering/building-services-at-airbnb-part-3-ac6d4972fc2d">Building Services at Airbnb, Part 3</a></li> <li><a href="https://opensource.com/article/18/12/introduction-kubeflow">An introduction to Kubeflow</a></li> <li><a href="https://13brane.net/rants/de-facto-closed-source/">De-facto closed source: the case for understandable software</a></li> <li><a href="https://medium.com/airbnb-engineering/applying-deep-learning-to-airbnb-search-7ebd7230891f">Applying Deep Learning To Airbnb Search</a></li> </ul> Fri, 21 Dec 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-255/ https://jakartadev.org/daily-digest-255/ Daily Digest #254 <ul> <li><a href="https://blogs.dropbox.com/tech/2018/11/crash-reporting-in-desktop-python-applications/">Crash reporting in desktop Python applications</a></li> <li><a href="https://www.dataquest.io/blog/linear-regression-in-real-life/">Linear Regression in Real Life</a></li> <li><a href="https://medium.com/swlh/how-agile-done-wrong-can-hurt-your-company-7c0d26bd84f7">How Agile done wrong can hurt your company</a></li> <li><a href="https://www.toptal.com/devops/terraform-aws-cloud-iac">Terraform AWS Cloud: Sane Infrastructure Management</a></li> <li><a href="https://thenewstack.io/how-your-role-changes-when-devops-goes-cloud-native/">How Your Role Changes When DevOps Goes Cloud Native</a></li> <li><a href="https://opensource.com/article/18/12/deep-learning-inference">How to build deep learning inference through Knative serverless framework</a></li> </ul> Thu, 20 Dec 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-254/ https://jakartadev.org/daily-digest-254/ Daily Digest #253 <ul> <li><a href="https://techbeacon.com/how-symlinks-pwned-kubernetes-how-we-fixed-it">How symlinks pwned Kubernetes (and how we fixed it)</a></li> <li><a href="https://github.com/knadh/git-bars">git-bars – A utility for visualising git commit activity as bars on the terminal</a></li> <li><a href="https://medium.com/the-mission/the-greatest-sales-deck-ive-ever-seen-4f4ef3391ba0">The Greatest Sales Deck I’ve Ever Seen</a></li> <li><a href="http://plantuml.com/">PlantUML</a></li> <li><a href="https://engineering.udacity.com/three-simple-rules-for-putting-secrets-into-git-d47b207852b9">Three Simple Rules for Putting Secrets into Git</a></li> <li><a href="https://evilmartians.com/chronicles/five-years-of-postcss-state-of-the-union">Five years of PostCSS: State of the Union</a></li> <li><a href="https://hackernoon.com/how-docker-changed-software-engineering-b87982f0029f">How Docker Changed Software Engineering</a></li> </ul> Wed, 19 Dec 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-253/ https://jakartadev.org/daily-digest-253/ Daily Digest #252 <ul> <li><a href="https://blog.papertrailapp.com/best-practices-for-logging-in-nodejs/">Best Practices for Logging in Node.js</a></li> <li><a href="http://theengineeringmanager.com/growth/collaborating-with-marketing-on-launches/">The Engineering Manager</a></li> <li><a href="https://medium.com/dev-channel/a-netflix-web-performance-case-study-c0bcde26a9d9">A Netflix Web Performance Case Study</a></li> <li><a href="https://verve.co/engineering/graphql-a-retrospective/">GraphQL: A Retrospective</a></li> <li><a href="https://medium.com/the-mission/the-greatest-sales-deck-ive-ever-seen-4f4ef3391ba0">The Greatest Sales Deck I’ve Ever Seen</a></li> <li><a href="https://github.com/pcottle/learnGitBranching">learn Git Branching</a></li> </ul> Tue, 18 Dec 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-252/ https://jakartadev.org/daily-digest-252/ Daily Digest #251 <ul> <li><a href="https://www.thoughtworks.com/insights/blog/modernizing-your-build-pipelines">Modernizing your build pipelines</a></li> <li><a href="https://hackernoon.com/blockchains-vs-hashgraphs-66a2058c8b43">Blockchains vs. Hashgraphs</a></li> <li><a href="https://www.infoq.com/presentations/asynchronous-methods-task">I’ll Get Back to You: Task, Await, and Asynchronous Methods</a></li> <li><a href="https://hackernoon.com/writing-a-frontend-web-framework-with-webassembly-and-go-ff84cd1346fe">Writing a Frontend Web Framework with WebAssembly And Go</a></li> <li><a href="https://hackernoon.com/create-your-own-dysfunctional-single-page-app-in-five-easy-steps-7bfcba9df6df">Create your own dysfunctional single-page app in five easy steps</a></li> <li><a href="https://obdurodon.silvrback.com/never-ssh-into-production"> Never ‘ssh’ Into Production? </a></li> <li><a href="https://sdd-manifesto.org/">The Software Defined Delivery Manifesto</a></li> <li><a href="https://blog.florence.chat/tutorial-how-to-host-your-own-file-transfer-service-on-your-pc-22698c9d6362">Tutorial: How to host your own distributed file sharing service on your pc</a></li> </ul> Tue, 11 Dec 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-251/ https://jakartadev.org/daily-digest-251/ Daily Digest #250 <ul> <li><a href="https://thenewstack.io/will-kubernetes-sink-the-hadoop-ship/">Will Kubernetes Sink the Hadoop Ship?</a></li> <li><a href="https://medium.com/static-void-academy/easy-peasy-ci-cd-w-circleci-282bc85ddcf5">Easy-Peasy CI/CD w/ CircleCI</a></li> <li><a href="https://techbeacon.com/how-containerization-brings-ai-your-devops-pipeline">How containerization brings AI to your DevOps pipeline</a></li> <li><a href="https://devops.com/the-devops-role-not-a-one-person-job/">The DevOps Role: Not a One-Person Job</a></li> <li><a href="https://engineering.skybettingandgaming.com/2018/11/02/optimising-microservices-part-1/">Optimising an AWS microservice - Part 1</a></li> </ul> Mon, 10 Dec 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-250/ https://jakartadev.org/daily-digest-250/ Daily Digest #249 <ul> <li><a href="https://medium.com/@jaycoon/9-emerging-operations-gaps-that-will-accelerate-cloud-adoption-part-1-58cef12f34d2">9 Emerging Operational Gaps That Will Accelerate Cloud Adoption — Part 1</a></li> <li><a href="https://opensource.com/article/18/11/why-sharing-important-devops-culture">Why giving back is important to the DevOps culture</a></li> <li><a href="https://techbeacon.com/threat-modeling-devops-3-lessons-front-lines">Threat modeling and DevOps: 3 lessons from the front lines</a></li> <li><a href="https://medium.com/@vaibhavgoel_20415/agile-methodology-at-zomato-b5b4659b57ae">Agile Methodology at Zomato</a></li> <li><a href="https://thenewstack.io/google-integrates-istio-service-mesh-into-kubernetes-service/">Google Integrates Istio Service Mesh into Kubernetes Service</a></li> <li><a href="https://medium.com/@slightlytyler/https-medium-com-slightlytyler-containerizing-modern-front-end-applications-part-1-c6aa6cb458a6">Containerizing modern front-end applications: Part 1 — Building</a></li> </ul> Fri, 07 Dec 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-249/ https://jakartadev.org/daily-digest-249/ Daily Digest #248 <ul> <li><a href="https://code.fb.com/ml-applications/horizon/">Horizon: The first open source reinforcement learning platform for large-scale products and services</a></li> <li><a href="https://blog.fastforwardlabs.com/2018/10/29/the-decentralized-web.html">The Decentralized Web</a></li> <li><a href="https://www.scylladb.com/2018/11/01/more-efficient-range-scan-paging-with-scylla-3-0/">More Efficient Range Scan Paging with Scylla 3.0</a></li> <li><a href="https://medium.com/@skamille/i-hate-manager-readmes-20a0dd9a70d0">I hate manager READMEs</a></li> <li><a href="https://www.tbray.org/ongoing/When/201x/2018/11/18/Post-REST">Post-REST</a></li> <li><a href="http://blairreeves.me/2018/11/09/dont-work-remotely/?resubmit=hn">Don’t work “remotely”</a></li> <li><a href="https://github.com/aurelg/ipfs-wormhole">ipfs-wormhole</a></li> <li><a href="https://qz.com/work/1470164/what-is-psychological-safety/">What psychological safety is not</a></li> </ul> Wed, 05 Dec 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-248/ https://jakartadev.org/daily-digest-248/ Daily Digest #247 <ul> <li><a href="https://github.com/GitSquared/edex-ui">Edex-UI – A science fiction terminal emulator</a></li> <li><a href="https://blog.jessfraz.com/post/you-might-not-need-k8s/">You might not need Kubernetes</a></li> <li><a href="https://slikts.github.io/concurrency-glossary/">Concurrency glossary</a></li> <li><a href="https://www.toptal.com/designers/product-design/guide-to-onboarding-ux">First Impressions - a Guide to Onboarding UX</a></li> <li><a href="https://angel.co/blog/want-to-recruit-better-engineers-open-source-your-code">Want To Recruit Better Engineers? Open Source Your Code</a></li> <li><a href="https://github.com/jarun/nnn">nnn – The fastest terminal file manager ever written</a></li> <li><a href="http://blairreeves.me/2018/08/30/why-youre-having-trouble-hiring/">Why you’re having trouble hiring</a></li> <li><a href="https://sysdig.com/blog/java-troubleshooting-guide/">A Java troubleshooting guide: network, memory leaks and threads</a></li> </ul> Tue, 04 Dec 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-247/ https://jakartadev.org/daily-digest-247/ Daily Digest #246 <ul> <li><a href="https://auth0.com/blog/introducing-fusebox-an-alternative-to-webpack/">Introducing FuseBox, an alternative to Webpack</a></li> <li><a href="https://blog.georgovassilis.com/2016/04/16/advanced-web-security-topics/">Advanced web security topics</a></li> <li><a href="https://eng.uber.com/scaling-michelangelo/">Scaling Machine Learning at Uber with Michelangelo</a></li> <li><a href="https://github.com/kgretzky/evilginx2">EvilGinx – Standalone man-in-the-middle attack framework </a></li> <li><a href="https://blog.logrocket.com/why-you-should-avoid-orms-with-examples-in-node-js-e0baab73fa5">Why you should avoid ORMs (with examples in Node.js)</a></li> <li><a href="https://blog.documentnode.io/learn-document-node-in-10-seconds">Learn Document Node in 10 seconds from my business card</a></li> </ul> Mon, 03 Dec 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-246/ https://jakartadev.org/daily-digest-246/ Daily Digest #245 <ul> <li><a href="https://medium.com/@yellow/monolithic-architecture-vs-microservices-choosing-the-right-architecture-for-the-project-4985b2253778">Monolithic Architecture vs. Microservices: Choosing the Right Architecture for the Project</a></li> <li><a href="https://hackernoon.com/apache-kafkas-distributed-system-firefighter-the-controller-broker-1afca1eae302">Apache Kafka’s Distributed System Firefighter — The Controller Broker</a></li> <li><a href="https://engineering.riotgames.com/news/profiling-case-missing-milliseconds">Profiling: The Case of the Missing Milliseconds </a></li> <li><a href="https://itnext.io/power-efficiency-for-performance-deficiency-a1ef79d1379b">Power-efficiency for performance-deficiency</a></li> <li><a href="https://thenewstack.io/avoid-architectural-change-disaster-with-app-performance-monitoring/">Avoid Architectural Change Disaster with App Performance Monitoring</a></li> <li><a href="https://towardsdatascience.com/neural-networks-for-music-a-journey-through-its-history-91f93c3459fb">Neural Networks For Music: A Journey Through Its History</a></li> <li><a href="https://devops.com/role-of-devops-in-mobile-app-development/">Role of DevOps in Mobile App Development</a></li> <li><a href="https://medium.com/outsystems-engineering/a-container-for-your-app-my-dear-87118ca84739">A Container For Your App, My Dear!</a></li> </ul> Fri, 30 Nov 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-245/ https://jakartadev.org/daily-digest-245/ Daily Digest #244 <ul> <li><a href="https://medium.com/uptime-99/kubernetes-202-making-it-fully-operational-7416e4bb15ab">Kubernetes 202 — Making It Fully Operational</a></li> <li><a href="https://thenewstack.io/who-is-in-charge-of-developing-a-devops-culture/">Who Is in Charge of Developing a DevOps Culture?</a></li> <li><a href="https://opensource.com/article/18/11/open-source-serverless-platforms">7 open source platforms to get started with serverless computing</a></li> <li><a href="https://medium.com/s/story/mobile-apps-will-disappear-soon-4b4e54f46eb8">The End Is Near for Mobile Apps</a></li> <li><a href="https://opensource.com/article/18/11/best-practices-cicd">3 best practices for continuous integration and deployment</a></li> <li><a href="https://hackernoon.com/reflecting-on-building-real-time-apis-at-facebook-6089f4b7de56">Reflecting on Building Real-time APIs at Facebook</a></li> <li><a href="https://thenewstack.io/add-it-up-china-uses-open-source-to-deliver-cloud-services/">Add It Up: China Uses Open Source to Deliver Cloud Services</a></li> </ul> Thu, 29 Nov 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-244/ https://jakartadev.org/daily-digest-244/ Daily Digest #243 <ul> <li><a href="https://github.com/pxlpnk/awesome-ruby-security">awesome-ruby-security</a></li> <li><a href="https://www.cockroachlabs.com/blog/join-ordering-pt1/">An Introduction to Join Ordering</a></li> <li><a href="https://auth0.com/blog/how-to-build-an-app-with-react-and-mdx/">Building Ambitious Apps with MDX</a></li> <li><a href="https://itnext.io/immutable-infrastructure-using-packer-ansible-and-terraform-7ca6f79582b8">Immutable Infrastructure Using Packer, Ansible, and Terraform</a></li> <li><a href="https://www.mayerdan.com/ruby/2018/10/03/coverband-3">Coverband 3</a></li> <li><a href="http://theengineeringmanager.com/growth/switching-to-a-remote-manager/">Switching to a remote manager</a></li> <li><a href="https://gower.st/blog/2018/how-we-pair-on-code/">How we pair using AWS, tmux, vim and emacs</a></li> <li><a href="https://medium.com/myheritage-engineering/reacts-render-props-in-practice-b3775fcbf3c3">React’s Render Props in Practice</a></li> <li><a href="https://hackernoon.com/cloud-based-file-transfer-at-scale-63d8e2dacb3a">Cloud-based file transfer at scale</a></li> </ul> Wed, 28 Nov 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-243/ https://jakartadev.org/daily-digest-243/ Daily Digest #242 <ul> <li><a href="https://github.com/troxler/awesome-css-frameworks">awesome-css-frameworks</a></li> <li><a href="https://towardsdatascience.com/how-to-solve-the-last-mile-logistics-conundrum-2ced70f5f7f3">How to solve the last mile logistics conundrum?</a></li> <li><a href="https://www.smashingmagazine.com/2018/10/performance-server-timing/">Measuring Performance With Server Timing</a></li> <li><a href="https://advancedweb.hu/2018/10/30/s3_signed_urls/">How S3 Signed URLs work</a></li> <li><a href="https://blog.apollographql.com/introducing-the-apollo-graphql-platform-8ef34bb269e5">Introducing the Apollo GraphQL Platform</a></li> <li><a href="https://www.opsian.com/blog/understanding-production-what-can-you-measure/">Understanding Production: What can you measure?</a></li> <li><a href="https://towardsdatascience.com/uber-introduces-pyml-their-secret-weapon-for-rapid-machine-learning-development-c0f40009a617">Uber Introduces PyML: Their Secret Weapon for Rapid Machine Learning Development</a></li> </ul> Tue, 27 Nov 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-242/ https://jakartadev.org/daily-digest-242/ Daily Digest #241 <ul> <li><a href="https://code.fb.com/ai-research/xlni/">Facebook, NYU expand available languages for natural language understanding systems</a></li> <li><a href="https://www.infoq.com/presentations/code-documentation">How to Write Code That Documents Itself</a></li> <li><a href="https://blog.logrocket.com/lazy-loading-components-in-react-16-6-6cea535c0b52">Lazy-loading components in React 16.6</a></li> <li><a href="https://www.confluent.io/blog/atm-fraud-detection-apache-kafka-ksql">ATM Fraud Detection with Apache Kafka and KSQL</a></li> <li><a href="https://engineering.salesforce.com/anomaly-detection-in-zipkin-trace-data-87c8a2ded8a1">Anomaly Detection in Zipkin Trace Data</a></li> <li><a href="https://devblogs.nvidia.com/deep-learning-hotel-aesthetics-photos/">Deep Learning for Classifying Hotel Aesthetics Photos</a></li> </ul> Mon, 26 Nov 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-241/ https://jakartadev.org/daily-digest-241/ Daily Digest #239 <ul> <li><a href="https://github.com/zammad/zammad">Zammad – web based open source helpdesk/customer support system</a></li> <li><a href="https://www.contentful.com/blog/2018/11/20/graphql-ruby-love-backend-developer/">Writing GraphQL queries in native Ruby = Love ❤️</a></li> <li><a href="https://github.com/uohzxela/clean-code-ruby">🛁 Clean Code concepts adapted for Ruby</a></li> <li><a href="https://medium.com/@rebo_dood/the-benefits-of-materialized-views-and-how-to-use-them-in-your-ruby-on-rails-project-4ac1b5432881">The Benefits of Materialized Views (and how to use them in your Ruby on Rails project)</a></li> <li><a href="https://www.rubyguides.com/2018/11/ruby-mjit/?tl_inbound=1&amp;tl_target_all=1&amp;tl_form_type=1&amp;tl_period_type=1">What Is MJIT in Ruby 2.6 &amp; How Does It Work?</a></li> <li><a href="https://developer.epages.com/blog/coding/no-more-hassle-with-rails-secret-management/">No more hassle with Rails secret management</a></li> </ul> Fri, 23 Nov 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-240/ https://jakartadev.org/daily-digest-240/ Daily Digest #239 <ul> <li><a href="https://chrisshort.net/one-fish-two-fish-blue-fish-sporting-new-red-hat/">One Fish, Two Fish, Blue Fish Sporting New Red Hat</a></li> <li><a href="https://dev.to/neshaz/ruby-on-rails-guide-to-debugging-22fg">Ruby on Rails Guide to Debugging</a></li> <li><a href="https://medium.com/@dominik.tornow/kubernetes-api-server-part-i-3fbaf2138a31">Kubernetes API Server, Part I</a></li> <li><a href="https://github.com/Canner/canner">⚡️Agile CMS) for Firebase/Firestore, GraphQL and Restful APIs.</a></li> <li><a href="https://www.robinwieruch.de/the-road-to-graphql-book/">The Road to GraphQL [Book]</a></li> </ul> Thu, 22 Nov 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-239/ https://jakartadev.org/daily-digest-239/ Daily Digest #238 <ul> <li><a href="https://medium.com/@tamas.csaba/maintainable-software-why-would-i-care-and-once-i-do-how-do-i-know-i-see-one-91896ecff08f">Maintainable software: why would I care and once I do, how do I know I see one?</a></li> <li><a href="http://leewaterman.com/dont-make-squirrel-burgers/">Don’t Make Squirrel Burgers</a></li> <li><a href="https://github.com/minimaxir/big-list-of-naughty-strings">The Big List of Naughty Strings</a></li> <li><a href="https://blog.github.com/2018-11-15-state-of-the-octoverse-top-programming-languages/">The State of the Octoverse: top programming languages of 2018</a></li> </ul> Wed, 21 Nov 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-238/ https://jakartadev.org/daily-digest-238/ Daily Digest #237 <ul> <li><a href="https://gitlab.com/daamien/postgresql_anonymizer">postgresql_anonymizer – 🐘🕶️ Anonymization &amp; Data Masking for PostgreSQL</a></li> <li><a href="https://bundler.io/blog/2018/11/04/an-update-on-bundler-2.html">An Update on Bundler 2.0</a></li> <li><a href="https://paulmillr.com/posts/using-dark-mode-in-css/">Using dark mode in CSS with MacOS Mojave</a></li> <li><a href="https://evilmartians.com/chronicles/meet-yabeda-modular-framework-for-instrumenting-ruby-applications">Meet Yabeda: A Ruby instrumentation framework</a></li> </ul> Tue, 20 Nov 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-237/ https://jakartadev.org/daily-digest-237/ Daily Digest #234 <ul> <li><a href="https://www.pipelinedb.com/blog/three-sales-mistakes-software-engineers-make">Three Sales Mistakes Software Engineers Make</a></li> <li><a href="https://blog.gitprime.com/drift-3-day-onboarding-process/">How Drift Gets Engineers up to Speed by Day 3</a></li> <li><a href="https://buttercms.com/blog/launching-your-own-ruby-gem-build-it">Launching Your Own Ruby Gem - Part 1: Build It</a></li> <li><a href="https://itnext.io/why-reacts-hooks-api-is-a-game-changer-8731c2b0a8c">Why React’s new Hooks API is a game changer</a></li> <li><a href="https://www.makeuseof.com/tag/2-anonymous-web-browsers-completely-private-secure/">4 Anonymous Web Browsers That Are Completely Private</a></li> <li><a href="https://github.com/wagoodman/dive">Dive – A tool for exploring each layer in a docker image</a></li> <li><a href="https://towardsdatascience.com/a-tour-of-the-top-10-algorithms-for-machine-learning-newbies-dde4edffae11">A Tour of The Top 10 Algorithms for Machine Learning Newbies</a></li> <li><a href="https://www.linuxjournal.com/content/cloudwatch-devil-i-must-use-it">CloudWatch Is of the Devil, but I Must Use It</a></li> </ul> Sun, 18 Nov 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-236/ https://jakartadev.org/daily-digest-236/ Daily Digest #234 <ul> <li><a href="https://medium.com/@Pinterest_Engineering/api-profiling-at-pinterest-6fa9333b4961">API Profiling at Pinterest</a></li> <li><a href="https://blog.bugsnag.com/the-monitoring-landscape/">Getting started with monitoring for developers</a></li> <li><a href="https://lambda.grofers.com/credentials-leaked-in-public-heres-what-grofers-implemented-to-prevent-such-mishaps-66a40b5743af">Credentials leaked in public? Here’s what Grofers implemented to prevent such mishaps!</a></li> <li><a href="https://github.com/palmerhq/the-platform">The Platform – Web. Components.</a></li> <li><a href="https://fs.blog/2018/10/long-game/">The Surprising Power of The Long Game</a></li> <li><a href="https://medium.com/zero-to-code/vuejs-cheat-sheet-part-1-b30f772ed72">VueJS Cheat Sheet Part 1</a></li> <li><a href="https://kickstarter.engineering/a-guide-to-mindful-communication-in-code-reviews-48aab5282e5e">A Guide to Mindful Communication in Code Reviews</a></li> </ul> Fri, 16 Nov 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-235/ https://jakartadev.org/daily-digest-235/ Daily Digest #234 <ul> <li><a href="https://www.vuedarkmode.com/">A minimalist dark design system for vue.js 🎨</a></li> <li><a href="https://blog.tanelpoder.com/posts/visualizing-sql-plan-execution-time-with-flamegraphs/">Visualizing SQL Plan Execution Time With FlameGraphs</a></li> <li><a href="https://medium.com/paxos/how-to-build-a-great-engineering-team-af545a7fe0ee">How to Build a Great Engineering Team</a></li> <li><a href="https://hacks.mozilla.org/2018/10/testing-privacy-preserving-telemetry-with-prio/">Testing Privacy-Preserving Telemetry with Prio</a></li> <li><a href="https://tinnedfruit.com/articles/create-your-own-dysfunctional-single-page-app.html">Create your own dysfunctional single-page app in five easy steps</a></li> <li><a href="https://metaredux.com/posts/2018/10/27/a-safer-rubocop.html">A Safer RuboCop</a></li> <li><a href="https://public.digital/2018/10/12/internet-era-ways-of-working/">Internet-era ways of working</a></li> </ul> Thu, 15 Nov 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-234/ https://jakartadev.org/daily-digest-234/ Daily Digest #233 <ul> <li><a href="https://github.com/cullum/dank-selfhosted">Automated solution for hosting email, web, DNS, XMPP, and ZNC on OpenBSD</a></li> <li><a href="https://github.com/vifreefly/procsd">Procsd – Manage your application processes in production hassle-free like Heroku CLI with Procfile and Systemd</a></li> <li><a href="https://itnext.io/immutable-infrastructure-using-packer-ansible-and-terraform-7ca6f79582b8">Immutable Infrastructure Using Packer, Ansible, and Terraform</a></li> <li><a href="https://itnext.io/architecture-no-one-needs-is-server-side-templating-78331391274">Architecture no one needs is server side templating</a></li> <li><a href="https://blog.github.com/2018-10-30-oct21-post-incident-analysis/">October 21 post-incident analysis </a></li> <li><a href="https://medium.com/the-set-list/ruby-on-rails-security-be16bd1a8b02">Ruby on Rails Security</a></li> </ul> Wed, 14 Nov 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-233/ https://jakartadev.org/daily-digest-233/ Daily Digest #232 <ul> <li><a href="https://medium.com/poka-techblog/the-best-way-to-store-secrets-in-your-app-is-not-to-store-secrets-in-your-app-308a6807d3ed">The best way to store secrets in your app is not to store secrets in your app</a></li> <li><a href="https://blog.arkency.com/2017/07/how-to-safely-store-api-keys-in-rails-apps/">How to safely store API keys in Rails apps</a></li> <li><a href="https://www.memsql.com/blog/announcing-memsql-free-tier/">MemSQL: Now Free to Use</a></li> <li><a href="https://opensource.com/article/18/11/gitbase">Gitbase: Exploring Git repos with SQL</a></li> <li><a href="https://deliveroo.engineering/2017/03/27/every-service-is-an-island.html">Every service is an island</a></li> <li><a href="https://arcentry.com/blog/an-introduction-to-medieval-cities-and-cloud-security/">An introduction to medieval cities and cloud security</a></li> <li><a href="https://multithreaded.stitchfix.com/blog/2016/03/16/engineers-shouldnt-write-etl/">Engineers Shouldn’t Write ETL: A Guide to Building a High Functioning Data Science Department</a></li> </ul> Tue, 13 Nov 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-232/ https://jakartadev.org/daily-digest-232/ Daily Digest #231 <ul> <li><a href="https://phoenixframework.org/blog/phoenix-1-4-0-released">Phoenix 1.4.0 released</a></li> <li><a href="https://craigmod.com/essays/ipad_pro/">Getting the iPad to Pro</a></li> <li><a href="https://sysdig.com/blog/20-docker-security-tools/">29 Docker security tools compared</a></li> <li><a href="https://realpython.com/python-comments-guide/">Writing Comments in Python (Guide)</a></li> <li><a href="https://narimiran.github.io/2018/05/10/python-numpy-nim.html">Python vs NumPy vs Nim</a></li> <li><a href="https://towardsdatascience.com/looking-for-a-house-build-a-web-scraper-to-help-you-5ab25badc83e">I was looking for a house, so I built a web scraper in Python!</a></li> <li><a href="https://www.divio.com/blog/documentation/">What nobody tells you about documentation</a></li> <li><a href="https://the-pastry-box-project.net/ed-finkler/2014-july-6">The Developer’s Dystopian Future</a></li> <li><a href="https://www.peterbe.com/plog/jsonschema-validate-10x-faster-in-python">How to JSON schema validate 10x (or 100x) faster in Python</a></li> </ul> Mon, 12 Nov 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-231/ https://jakartadev.org/daily-digest-231/ Daily Digest #230 <ul> <li><a href="https://thenewstack.io/puresec-founder-on-taking-control-of-serverless-security/">PureSec Founder on Taking Control of Serverless Security</a></li> <li><a href="https://medium.com/beamly/ci-cd-how-to-level-up-your-development-flow-221e9172f5f2">CI/CD — How to level up your development flow</a></li> <li><a href="https://techbeacon.com/how-use-universal-package-manager-containerized-scheduled-jobs">How to use a universal package manager for containerized, scheduled jobs</a></li> <li><a href="https://opensource.com/article/18/11/kubernetes-resource-statistics">KRS: A new tool for gathering Kubernetes resource statistics</a></li> <li><a href="https://www.gremlin.com/community/tutorials/how-to-establish-a-high-severity-incident-management-program/">How To Establish a High Severity Incident Management Program</a></li> <li><a href="https://opensource.com/article/18/4/introduction-python-bytecode">An introduction to Python bytecode</a></li> </ul> Fri, 09 Nov 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-230/ https://jakartadev.org/daily-digest-230/ Daily Digest #229 <ul> <li><a href="https://thenewstack.io/workflows-for-the-new-developer-experience/">Workflows for the New Developer Experience</a></li> <li><a href="https://opensource.com/article/18/10/what-coding-dojo-taught-me-about-agile">What a Coding Dojo taught me about agile</a></li> <li><a href="https://www.oreilly.com/library/view/technology-strategy-patterns/9781492040866/">Technology Strategy Patterns</a></li> <li><a href="https://opensource.com/article/18/10/podman-more-secure-way-run-containers">Podman: A more secure way to run containers</a></li> <li><a href="https://github.com/containers/buildah">Buildah – A tool that facilitates building OCI images</a></li> <li><a href="https://medium.com/thg-tech-blog/monitoring-multiple-kubernetes-clusters-88cf34442fa3">Monitoring Multiple Kubernetes Clusters</a></li> </ul> Thu, 08 Nov 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-229/ https://jakartadev.org/daily-digest-229/ Daily Digest #228 <ul> <li><a href="https://medium.com/@joulee/how-to-be-strategic-f6630a44f86b">How to be Strategic</a></li> <li><a href="https://css-tricks.com/introducing-github-actions/">Introducing GitHub Actions</a></li> <li><a href="https://davrodpin.github.io/mole/">Mole – Easily create SSH tunnels</a></li> <li><a href="https://evergreen.segment.com/">Evergreen – A Design System for the Web</a></li> <li><a href="https://blog.heroku.com/cache-invalidation-rails-5-2-dalli-store">Cache Invalidation Complexity: Rails 5.2 and Dalli Cache Store</a></li> <li><a href="https://techbeacon.com/how-avoid-security-fails-public-cloud">How to avoid security fails in the public cloud</a></li> </ul> Wed, 07 Nov 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-228/ https://jakartadev.org/daily-digest-228/ Daily Digest #227 <ul> <li><a href="https://sgoel.org/posts/the-most-dynamic-static-site-youll-ever-see/">The most dynamic static site you’ll ever see</a></li> <li><a href="https://stackshare.io/stackups/docker-swarm-vs-kubernetes">Docker Swarm or Kubernetes</a></li> <li><a href="https://goharbor.io/">Harbor – Manage and serve container images in a secure environment</a></li> <li><a href="https://stackshare.io/stackups/mariadb-vs-mysql-vs-postgresql">PostgreSQL vs MySQL vs MariaDB</a></li> <li><a href="https://winterwindsoftware.com/serverless-definitions/">The differing definitions of “serverless”</a></li> </ul> Tue, 06 Nov 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-227/ https://jakartadev.org/daily-digest-227/ Daily Digest #226 <ul> <li><a href="https://css-tricks.com/demystifying-javascript-testing/">Demystifying JavaScript Testing</a></li> <li><a href="https://medium.freecodecamp.org/how-you-can-improve-your-workflow-using-the-javascript-console-bdd7823a9472">How you can improve your workflow using the JavaScript console</a></li> <li><a href="https://medium.com/samsung-internet-dev/disappearing-frameworks-ed921f411c38">Disappearing Frameworks</a></li> <li><a href="https://nemethgergely.com/coding-as-an-engineering-manager/">Coding as an Engineering Manager</a></li> <li><a href="https://towardsdatascience.com/weapons-of-micro-destruction-how-our-likes-hijacked-democracy-c9ab6fcd3d02">Weapons of Micro Destruction: How Our ‘Likes’ Hijacked Democracy</a></li> <li><a href="https://medium.com/predict/three-popular-clustering-methods-and-when-to-use-each-4227c80ba2b6">Three Popular Clustering Methods and When to Use Each</a></li> </ul> Mon, 05 Nov 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-226/ https://jakartadev.org/daily-digest-226/ Daily Digest #225 <ul> <li><a href="http://willcrichton.net/notes/systems-programming/">What is Systems Programming, Really? </a></li> <li><a href="https://pierrchen.blogspot.com/2018/08/understand-container-index.html?m=1">Understand Container</a></li> <li><a href="https://medium.com/elbstack/the-largest-benchmark-of-serverless-providers-ac19b55750f4">The largest benchmark of Serverless providers</a></li> <li><a href="https://bravenewgeek.com/the-observability-pipeline/">The Observability Pipeline</a></li> <li><a href="https://www.youtube.com/playlist?list=PLs4CJRBY5F1KrUr7z_2mur2QdAKXyh-k3">PyCon Australia</a></li> <li><a href="https://dev.to/srebalaji/useful-tricks-you-might-not-know-about-git-stash-117e">Useful tricks you might not know about Git stash</a></li> </ul> Fri, 02 Nov 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-225/ https://jakartadev.org/daily-digest-225/ Ansible dasar <p>Belajar menggunakan <a href="https://ansible.com/">Ansible</a> untuk mengatur mesin remote atau untuk provisioning.</p> <h3 id="install">Install</h3> <p>Untuk macOS, bisa langsung pakai homebrew untuk instalasi</p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>brew <span class="nb">install </span>ansible </code></pre></div></div> <p>Jika sukses di-instal, kita test dengan perintah</p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>ansible <span class="nt">--version</span> ansible 2.7.0 </code></pre></div></div> <!--more--> <h3 id="konfigurasi">Konfigurasi</h3> <p>Untuk contoh sederhana ini, kita buat dengan menuliskan konfigurasi file yang berisi <em>host</em> target yang akan kita <em>provisioning</em>, di dalam folder project kita,</p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span><span class="nb">touch </span>hosts </code></pre></div></div> <p>Kemudian <code class="highlighter-rouge">vi hosts</code> dan masukkan daftar <em>host</em> yang akan digunakan, di sini menggunakan host yang telah saya buat sebelumnya di <a href="https://m.do.co/c/714b3c32b2e7">digitalocean</a>, menggunakan Terraform (!TODO nulis), contoh.</p> <div class="language-ini highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">[webserver]</span> <span class="err">123.123.123.123</span> </code></pre></div></div> <p>Kemudian tiba dihal yang penting, membuat ansible playbook, playbook memiliki format <code class="highlighter-rouge">.yml</code> yang mana lebih mudah dimengerti daripada <code class="highlighter-rouge">json</code> atau format lainnya, <code class="highlighter-rouge">xml</code> misalkan.</p> <h4 id="siteyml"><code class="highlighter-rouge">site.yml</code></h4> <p>Kita buat file tersebut</p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>vim site.yml </code></pre></div></div> <p>Untuk isinya, saya coba tulis yang sederhana terlebih dahulu.</p> <pre><code class="language-YAML">--- - name: Install web server hosts: all remote_user: root tasks: - name: Install mariadb server apt: name: mariadb-server register: mariadbinstall - name: Uninstall mariadb server apt: name: mariadb-server state: absent register: mariadbuninstall </code></pre> <p>Save file, kemudian jalankan perintah</p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>ansible-playbook <span class="nt">-i</span> hosts site.yml </code></pre></div></div> <p>Dan seharusnya akan keluar <code class="highlighter-rouge">stdout</code></p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>PLAY <span class="o">[</span>Install web server] <span class="k">*****************************************************************************************</span> TASK <span class="o">[</span>Gathering Facts] <span class="k">*****************************************************************************************</span>ok: <span class="o">[</span>128.199.76.43] TASK <span class="o">[</span><span class="nb">install </span>mysql-server] <span class="k">*****************************************************************************************</span>ok: <span class="o">[</span>128.199.76.43] TASK <span class="o">[</span>uninstall mysql-server 1.0] <span class="k">*****************************************************************************************</span>ok: <span class="o">[</span>128.199.76.43] PLAY RECAP <span class="k">*****************************************************************************************</span>128.199.76.43 : <span class="nv">ok</span><span class="o">=</span>3 <span class="nv">changed</span><span class="o">=</span>0 <span class="nv">unreachable</span><span class="o">=</span>0 <span class="nv">failed</span><span class="o">=</span>0 </code></pre></div></div> <p>Dan kita sudah belajar melakukan provisioning dengan menggunakan Ansible!</p> Fri, 02 Nov 2018 00:00:00 +0000 https://jakartadev.org/ansible-dasar/ https://jakartadev.org/ansible-dasar/ Daily Digest #224 <ul> <li><a href="https://thenewstack.io/learning-at-the-speed-of-modern-infrastructure/">Learning at the Speed of Modern Infrastructure</a></li> <li><a href="https://ecomfe.github.io/echarts-doc/public/en/index.html">echarts</a></li> <li><a href="https://ops.tips/blog/using-network-namespaces-and-bridge-to-isolate-servers/">Using network namespaces and a virtual switch to isolate servers</a></li> <li><a href="https://opensource.com/article/18/10/what-mmorpgs-can-teach-us">What MMORPGs can teach us about leveling up a heroic developer team</a></li> <li><a href="https://itnext.io/the-abc-of-kubernetes-access-control-e7d280af5c88">The ABC of Kubernetes access control</a></li> <li><a href="https://techbeacon.com/devseccon-container-serverless-growth-haunts-devops-security">DevSecCon: Container, serverless growth haunts DevOps security</a></li> <li><a href="https://opensource.com/article/18/10/instagram-scaled-infrastructure">How Instagram is scaling its infrastructure across the ocean</a></li> </ul> Thu, 01 Nov 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-224/ https://jakartadev.org/daily-digest-224/ Daily Digest #223 <ul> <li><a href="https://tech.iheart.com/building-a-microservice-api-gateway-for-iheartradios-radio-station-network-with-graphql-5f9ddb37a314">Building a Microservice API Gateway for iHeartRadio’s Radio Station Network with GraphQL</a></li> <li><a href="https://techbeacon.com/how-hearst-built-its-devops-organization-4-step-process">How Hearst built its DevOps organization: A 4-step process</a></li> <li><a href="https://opensource.com/article/18/10/agile-culture-5-tips-meeting-facilitators">5 tips for facilitators of agile meetings</a></li> <li><a href="https://jvns.ca/blog/2018/10/27/envoy-basics/">Some Envoy basics</a></li> <li><a href="https://techbeacon.com/blockchain-data-security-resource-guide-it-ops-teams">Blockchain for data security: A resource guide for IT Ops teams</a></li> <li><a href="https://andre.arko.net/2018/10/25/parsing-logs-230x-faster-with-rust/">Parsing logs 230x faster with Rust</a></li> </ul> Wed, 31 Oct 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-223/ https://jakartadev.org/daily-digest-223/ Daily Digest #222 <ul> <li><a href="https://www.sethvargo.com/secrets-in-serverless/">Secrets in Serverless</a></li> <li><a href="https://opensource.com/article/18/10/ansible-operators-kubernetes">An introduction to Ansible Operators in Kubernetes</a></li> <li><a href="https://devops.com/adobe-looks-to-drive-devops-adoption-via-the-cloud/">Adobe Looks to Drive DevOps Adoption via the Cloud</a></li> <li><a href="https://thenewstack.io/towards-better-devops-kpis-a-codeless-change-maturity-model/">Towards Better DevOps KPIs: A Codeless Change Maturity Model</a></li> <li><a href="https://medium.com/@nmckinnonblog/microservices-42b09caeb73d">Microservices – A journey through microservices</a></li> <li><a href="https://thenewstack.io/use-kubernetes-to-speed-machine-learning-development/">Use Kubernetes to Speed Machine Learning Development</a></li> <li><a href="https://medium.com/devopslinks/devops-without-devops-tools-3f1deb451b1c">DevOps without DevOps tools</a></li> <li><a href="https://opensource.com/article/18/10/phase-approach-IT-systems">4-phase approach for taking over large, messy IT systems</a></li> <li><a href="https://medium.com/@balibone/using-docker-containers-to-run-a-distributed-application-locally-eeabd360bca3">Using Docker Compose to Run Your Applications</a></li> <li><a href="https://opensource.com/article/18/10/what-site-reliability-engineer">What is a site reliability engineer and why you should consider this career path</a></li> <li><a href="https://medium.com/devopslinks/why-kubernetes-and-terraform-are-the-pillars-of-modern-it-infrastructure-feb420d28a76">Why Kubernetes and Terraform are the pillars of modern IT infrastructure</a></li> </ul> Tue, 30 Oct 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-222/ https://jakartadev.org/daily-digest-222/ Daily Digest #221 <ul> <li><a href="https://github.com/inspec/terraform-provisioner-inspec">Terraform InSpec Provisioner Plugin</a></li> <li><a href="https://theagileadmin.com/2018/10/02/sre-the-biggest-lie-since-kanban/">SRE: The Biggest Lie Since Kanban</a></li> <li><a href="https://docs.google.com/presentation/d/1GsOYK5UGjQEgl2rNjSI7TAapkfYsNje87NBr37K36gE/edit#slide=id.g3a081004a6_0_0">SLO Burn</a></li> <li><a href="https://tjaddison.com/2018/09/23/Saving-and-reporting-on-Pester-Infrastructure-test-results-in-Log-Analytics">Saving and reporting on Pester Infrastructure test results in Log Analytics</a></li> <li><a href="https://www.hpe.com/us/en/insights/articles/how-to-secure-your-server-room-1809.html">How to secure your server room</a></li> <li><a href="https://tech.showmax.com/2018/10/sinkholing-1/">This is the first in a three part series on sinkholing, targeted attacks, and how to defend your platform</a></li> <li><a href="https://zwischenzugs.com/2018/10/02/why-are-enterprises-so-slow/">Why Are Enterprises So Slow?</a></li> </ul> Mon, 29 Oct 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-221/ https://jakartadev.org/daily-digest-221/ Daily Digest #220 <ul> <li><a href="https://veekaybee.github.io/2018/09/24/the-case-of-the-broken-lambda/">The Case of the Broken Lambda</a></li> <li><a href="http://www.anniehedgie.com/azure-managed-images">Packer and Azure Managed Images</a></li> <li><a href="https://www.datadoghq.com/blog/pivotal-cloud-foundry-architecture/">Pivotal Cloud Foundry architecture</a></li> <li><a href="https://www.datadoghq.com/blog/pivotal-cloud-foundry-metrics/">Key metrics for monitoring Pivotal Cloud Foundry</a></li> <li><a href="https://www.datadoghq.com/blog/collecting-pcf-logs/">Collecting Pivotal Cloud Foundry logs and metrics</a></li> <li><a href="https://opensource.com/article/18/10/nice-things">We already have nice things, and other reasons not to write in-house ops tools</a></li> <li><a href="https://gitlab.com/msvechla/kubehiera/blob/master/README.md">Kubehiera – Lightweight tool to render go template</a></li> </ul> Fri, 26 Oct 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-220/ https://jakartadev.org/daily-digest-220/ Daily Digest #219 <ul> <li><a href="https://jeffknupp.com/blog/2018/10/11/write-better-python-functions/">Write Better Python Functions</a></li> <li><a href="https://tech.blue-yonder.com/oxidizing-python-speeding-up-urlquoting-by-using-rust/">Oxidizing Python: Speeding up URL quoting by 10x using Rust</a></li> <li><a href="https://medium.com/@jonathansmart1/organisational-agility-give-people-a-voice-5d5e68449aa7">Organisational Agility: Give People a VOICE</a></li> <li><a href="https://www.change.org/p/sustainable-servers-by-2024">Sustainable Servers by 2024</a></li> <li><a href="https://leebriggs.co.uk/blog/2018/09/20/using-pulumi-for-k8s-config-mgmt.html">Using Pulumi for Kubernetes configuration management</a></li> <li><a href="https://medium.com/netflix-techblog/netflix-edge-load-balancing-695308b5548c">Rethinking Netflix’s Edge Load Balancing</a></li> <li><a href="https://tech.holidayextras.com/multi-dc-consul-on-kubernetes-9a6a7dcb89e3">Multi-DC Consul on Kubernetes</a></li> <li><a href="https://medium.com/@AaronKalair/devopsdays-london-2018-notes-38f1ae44c95">DevOpsDays London 2018 Notes</a></li> </ul> Thu, 25 Oct 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-219/ https://jakartadev.org/daily-digest-219/ Daily Digest #218 <ul> <li><a href="https://www.slideshare.net/ConfluxDigital/5-practical-operability-techniques-for-teams-matthew-skelton-addo-2018">5 practical operability techniques for teams - Matthew Skelton</a></li> <li><a href="https://tech.bigbasket.com/bigbaskets-experience-with-istio/">Bigbasket’s Experience with Istio</a></li> <li><a href="https://medium.com/yld-engineering-blog/testing-kubernetes-rbac-5e00dc93af8e">Testing Kubernetes RBAC</a></li> <li><a href="https://blog.remix.com/orm-we-approve-60f2a68f73fb">ORM: We Approve</a></li> <li><a href="https://www.gremlin.com/chaos-monkey/">Chaos Monkey Guide for Engineers</a></li> <li><a href="https://leebriggs.co.uk/blog/2018/10/16/using-kubeless-for-kubernetes-events.html">Using Kubeless for Kubernetes Events</a></li> </ul> Wed, 24 Oct 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-218/ https://jakartadev.org/daily-digest-218/ Daily Digest #217 <ul> <li><a href="https://medium.com/@jdxcode/12-factor-cli-apps-dd3c227a0e46">12 Factor CLI Apps</a></li> <li><a href="https://dev.to/jimsy/please-stop-using-ruby-4lf1">Please stop using Ruby</a></li> <li><a href="https://medium.com/@lukethomas14/the-employee-engagement-myth-3885526782d7">The Employee Engagement Myth</a></li> <li><a href="https://developer.mozilla.org/en-US/docs/Web/CSS/Layout_cookbook">CSS Layout cookbook</a></li> <li><a href="https://medium.com/coaching-notes/everybodys-crazy-why-management-is-hard-and-what-to-do-about-it-f444c5263ffe">Everybody’s Crazy: Why Management is Hard (And What to Do About It)</a></li> <li><a href="https://robots.thoughtbot.com/people-not-resources">People, not resources</a></li> <li><a href="https://reinteractive.com/posts/366-to-microservice-or-monolith-that-is-the-question">To Microservice or Monolith, that is the question…</a></li> <li><a href="https://seedsforchange.org.uk/tools.pdf">Facilitation Tools for Meetings and Workshops</a></li> </ul> Tue, 23 Oct 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-217/ https://jakartadev.org/daily-digest-217/ Daily Digest #216 <ul> <li><a href="https://bogdanvlviv.com/posts/ruby/rails/what-is-new-in-rails-6_0.html">What is new in Rails 6.0</a></li> <li><a href="https://penguindreams.org/blog/the-decline-of-openid/">The Decline of OpenID</a></li> <li><a href="http://danabrit.blogspot.com/2018/10/surfing-as-metaphor-for-software.html">Surfing as a Metaphor for Software Development</a></li> <li><a href="https://medium.com/swlh/here-is-how-ux-design-integrates-with-agile-and-scrum-4f3cf8c10e24">Here is how UX Design Integrates with Agile and Scrum</a></li> <li><a href="http://tech.marksblogg.com/top-htop-glances.html">Systems Monitoring: top vs Htop vs Glances</a></li> <li><a href="https://medium.com/neutralinojs/developing-cross-platform-apps-using-neutralinojs-latest-release-2cec09d34553">Developing cross-platform apps using Neutralinojs latest release</a></li> <li><a href="https://robertnorthard.com/devops-days-well-architected-monoliths-are-okay/">Well Architected Monoliths are Okay</a></li> </ul> Mon, 22 Oct 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-216/ https://jakartadev.org/daily-digest-216/ Daily Digest #215 <ul> <li><a href="https://github.com/viatsko/awesome-vscode">Awesome vscode – 🎨 A curated list of delightful VS Code packages and resources</a></li> <li><a href="https://github.com/csv11/csvreader">csvreader library</a></li> <li><a href="https://github.com/Chocobozzz/PeerTube/tree/v1.0.0">PeerTube – Federated (ActivityPub) video streaming platform using P2P (BitTorrent) directly in the web browser with WebTorrent and Angular</a></li> <li><a href="https://github.com/me-io/memcached-util">memcached-util – Memcached utility to backup and restore the cache</a></li> <li><a href="https://github.com/gunnihinn/crashdb">CrashDB – an ephemeral in-memory NoSQL database for the confident developer</a></li> <li><a href="https://segment.com/blog/goodbye-microservices/">Goodbye Microservices: From 100s of problem children to 1 superstar</a></li> <li><a href="https://github.com/features/actions">Github Actions</a></li> </ul> Fri, 19 Oct 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-215/ https://jakartadev.org/daily-digest-215/ Daily Digest #214 <ul> <li><a href="https://www.toptal.com/designers/ux/design-system">Understanding Design Systems and Patterns</a></li> <li><a href="https://medium.com/strava-engineering/experimenting-with-graphql-b0c31c8ca3cd">Experimenting with GraphQL</a></li> <li><a href="https://developers.redhat.com/blog/2018/10/01/patterns-for-distributed-transactions-within-a-microservices-architecture/">Patterns for distributed transactions within a microservices architecture</a></li> <li><a href="https://blog.cloudflare.com/webassembly-on-cloudflare-workers/">WebAssembly on Cloudflare Workers</a></li> <li><a href="https://hackernoon.com/secrets-management-within-aws-ecs-1b6975819ccd">Secrets Management within AWS ECS</a></li> </ul> Thu, 18 Oct 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-214/ https://jakartadev.org/daily-digest-214/ Daily Digest #213 <ul> <li><a href="https://tls.ulfheim.net">The Illustrated TLS Connection</a></li> <li><a href="https://medium.com/@rakyll/cpdd-critical-path-driven-development-6c2592fb8ea4">CPDD: Critical Path Driven Development</a></li> <li><a href="https://medium.com/s/story/how-to-recruit-and-hire-when-you-need-to-move-fast-2d5f21fab5bc">How to Recruit and Hire When You Need to Move Fast</a></li> <li><a href="https://medium.com/compassionate-coding/be-a-mentor-not-a-bully-80b0dc9ed1b2">Be a Mentor, Not a Bully</a></li> <li><a href="https://hbr.org/2018/10/why-agile-goes-awry-and-how-to-fix-it">Why Agile Goes Awry — and How to Fix It</a></li> <li><a href="https://medium.com/the-vue-point/plans-for-the-next-iteration-of-vue-js-777ffea6fabf">Plans for the Next Iteration of Vue.js</a></li> <li><a href="https://www.ebayinc.com/stories/blogs/tech/unicorn-rheos-remediation-center/">Unicorn—Rheos Remediation Center</a></li> </ul> Wed, 17 Oct 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-213/ https://jakartadev.org/daily-digest-213/ Daily Digest #212 <ul> <li><a href="https://github.com/sourcegraph/sourcegraph">Sourcegraph</a></li> <li><a href="https://github.com/awslabs/aws-service-operator">AWS Service Operator</a></li> <li><a href="https://github.com/zegl/kube-score">Kube-score – Kubernetes object static code analysis</a></li> <li><a href="https://github.com/oscarmorrison/md-page">Markdown Page – build webpage with markdown</a></li> <li><a href="https://blog.bejarano.io/hardening-macos.html">Hardening macOS</a></li> <li><a href="https://github.com/socketry/falcon">Falcon – A modern high-performance web server for Ruby</a></li> </ul> Tue, 16 Oct 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-212/ https://jakartadev.org/daily-digest-212/ Daily Digest #211 <ul> <li><a href="https://medium.com/bench-engineering/breaking-good-55fed1d81aac">Breaking Good — Having a blameless engineering culture</a></li> <li><a href="https://codeascraft.com/2018/10/10/etsys-experiment-with-immutable-documentation/">Etsy’s experiment with immutable documentation</a></li> <li><a href="https://www.trek10.com/blog/business-case-for-serverless/">The Business Case For Serverless</a></li> <li><a href="https://hub.packtpub.com/chaos-conf-2018-recap-chaos-engineering-hits-maturity-as-community-moves-towards-controlled-experimentation/">Chaos Conf 2018 Recap: Chaos engineering hits maturity as community moves towards controlled experimentation</a></li> <li><a href="https://speakerdeck.com/jthomas/serverless-the-missing-manual">Serverless: The Missing Manual</a></li> <li><a href="https://read.acloud.guru/dear-aws-we-need-to-talk-about-service-naming-d33ea68027d8">Dear AWS, we need to talk about your service names</a></li> <li><a href="https://buttercms.com/blog/5-things-your-team-should-do-to-make-pull-requests-less-painful">5 Things Your Team Should Do to Make Pull Requests Less Painful</a></li> <li><a href="https://suva.sh/posts/well-documented-makefiles/">Well documented Makefiles (available via <code class="highlighter-rouge">make help</code>)</a></li> </ul> Mon, 15 Oct 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-211/ https://jakartadev.org/daily-digest-211/ Daily Digest #210 <ul> <li><a href="https://gizmodo.com/how-to-get-more-out-of-your-chromebook-by-running-linux-1829058899">Get More Out of Your Chromebook by Running Linux Apps</a></li> <li><a href="https://github.com/slothking-online/graphql-editor">GraphQL Visual Node Editor</a></li> <li><a href="https://codeascraft.com/2018/09/26/how-etsy-localizes-addresses/">How Etsy Localizes Addresses</a></li> <li><a href="https://auth0.com/blog/how-we-store-data-in-the-cloud-at-auth0/">How We Store Data in the Cloud at Auth0</a></li> <li><a href="https://engineering.salesforce.com/open-sourcing-hassh-abed3ae5044c">Open Sourcing HASSH</a></li> <li><a href="https://blogs.dropbox.com/tech/2018/09/architecture-of-nautilus-the-new-dropbox-search-engine/">Architecture of Nautilus, the new Dropbox search engine</a></li> </ul> Fri, 12 Oct 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-210/ https://jakartadev.org/daily-digest-210/ Daily Digest #209 <ul> <li><a href="https://dbngin.com/">Free All-in-One Database Version Management Tool</a></li> <li><a href="https://www.templarbit.com/blog/2018/09/07/the-story-of-why-chrome-and-firefox-will-soon-block-sites-with-certain-ssl-certificates/">The story of why Chrome and Firefox will soon block sites with certain SSL certificates</a></li> <li><a href="https://vapid.com/">Vapid – Content management system</a> – new kids on the block</li> <li><a href="https://www.imaginarycloud.com/blog/ditching-ruby-on-rails-for-javascript-and-nodejs/">Why we’re ditching ruby on rails for javascript &amp; node.js</a></li> <li><a href="https://medium.com/netflix-techblog/enhancing-the-netflix-ui-experience-with-hdr-1e7506ad3e8">Enhancing the Netflix UI Experience with HDR</a></li> <li><a href="https://engineering.laterooms.com/making-search-work-for-us/">Making Search Work For Us</a></li> </ul> Thu, 11 Oct 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-209/ https://jakartadev.org/daily-digest-209/ Daily Digest #208 <ul> <li><a href="https://devops.com/is-noops-the-future-of-cloud-networking/">Is NoOps the Future of Cloud Networking?</a></li> <li><a href="https://www.itopstimes.com/itops/beyond-blockchain-building-trustless-networks/">Beyond blockchain: Building trustless networks</a></li> <li><a href="https://opensource.com/article/18/10/what-agile">What is agile?</a></li> <li><a href="https://itnext.io/why-you-should-not-neglect-your-developers-kubernetes-clusters-a658c8ca0e78">Why You Should Not Neglect Your Developer’s Kubernetes Clusters</a></li> <li><a href="https://opensource.com/article/18/10/devops-measurement-tools">13 tools to measure DevOps success</a></li> <li><a href="https://thenewstack.io/serverless-for-teams/">Serverless for Teams</a></li> <li><a href="https://www.ansible.com/blog/make-your-ansible-playbooks-flexible-maintainable-and-scalable">Make your ansible playbooks flexible, maintainable, and scalable</a></li> </ul> Wed, 10 Oct 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-208/ https://jakartadev.org/daily-digest-208/ Daily Digest #207 <ul> <li><a href="https://github.com/danmayer/coverband">Rack middleware to help measure production code line of code usage</a></li> <li><a href="https://justinjackson.ca/cost/">The hidden cost of bootstrapping</a></li> <li><a href="https://hackernoon.com/is-agile-the-enemy-of-good-design-14a35806cde7">Is Agile the Enemy (of Good Design)?</a></li> <li><a href="https://benjiweber.co.uk/blog/2018/09/12/learning-from-pain/">Learning from Pain</a></li> <li><a href="https://thenewstack.io/baking-compliance-in-your-ci-cd-pipeline/">Baking Compliance in your CI/CD Pipeline</a></li> <li><a href="https://opensource.com/article/18/10/scaling-your-developer-community-plugins">Scaling your developer community with plugins</a></li> <li><a href="https://www.itopstimes.com/contain/kubernetes-1-2-released-with-kubelet-tls-bootstrap-and-azure-virtual-machine-scale-sets/">Kubernetes 1.2 released with Kubelet TLS Bootstrap and Azure Virtual Machine Scale Sets</a></li> </ul> Tue, 09 Oct 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-207/ https://jakartadev.org/daily-digest-207/ Baker bake <h3 id="install">Install</h3> <p><code class="highlighter-rouge">brew install ottomatica/ottomatica/baker --devel</code></p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>dedenf@skypeia <span class="o">[</span>23:12:00] <span class="o">[</span>~/devs/ops/baker] -&gt; % baker init ? Baker environment name: test-env ? Amount of memory to share with this environment <span class="o">(</span><span class="k">in </span>MB<span class="o">)</span>: 1024 ? IP to use <span class="k">for </span>this VM: 192.168.10.11 ? Forward ports comma separated, <span class="o">(</span>GUEST:HOST<span class="o">)</span> or <span class="o">(</span>GUEST<span class="o">)</span>: 80 ? Select languages: ? Select services: ? Select tools: </code></pre></div></div> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>dedenf@skypeia <span class="o">[</span>23:13:27] <span class="o">[</span>~/devs/ops/baker] -&gt; % baker bake <span class="nt">--local</span> ✔ Downloading BakerForMac kernel ⠧ Downloading BakerForMac filesystem image </code></pre></div></div> Tue, 09 Oct 2018 00:00:00 +0000 https://jakartadev.org/baker-bake/ https://jakartadev.org/baker-bake/ Daily Digest #206 <ul> <li><a href="https://www.wired.com/story/javascript-developers-more-choices-mean-hard-choices/?utm_source=jakartadev">For javascript developers, more choices mean hard choices</a></li> <li><a href="https://www.infoworld.com/article/3305340/tensorflow/tensorflowjs-puts-machine-learning-in-the-browser.html?utm_source=jakartadev">TensorFlow.js puts machine learning in the browser</a></li> <li><a href="https://blog.cloudflare.com/using-cloudflare-registrar/?utm_source=jakartadev">Cloudflare Registrar: what happens when you register a domain?</a></li> <li><a href="https://medium.com/@Charles_Stover/cache-your-react-event-listeners-to-improve-performance-14f635a62e15?utm_source=jakartadev">Cache your React event listeners to improve performance</a></li> <li><a href="https://www.darkreading.com/application-security/overestimating-webassemblys-security-benefits-is-risky-for-developers-/v/d-id/1332697?utm_source=jakartadev">Overestimating WebAssembly’s Security Benefits Is Risky for Developers</a></li> <li><a href="https://css-tricks.com/what-makes-a-good-front-end-developer/?utm_source=jakartadev">What makes a good front-end developer?</a></li> </ul> Mon, 08 Oct 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-206/ https://jakartadev.org/daily-digest-206/ Daily Digest #205 <ul> <li><a href="https://github.com/hellofresh/janus-dashboard">Janus Dashboard</a> – a dashboard for <a href="https://github.com/hellofresh/janus">Janus Api Gateway</a> from HelloFresh</li> <li><a href="https://github.com/jetstack/cert-manager">Cert Manager – Automatically provision and manage TLS certificates in Kubernetes</a> – Kinda need this one</li> <li><a href="https://kubernetes.io/blog/2018/09/27/kubernetes-1.12-kubelet-tls-bootstrap-and-azure-virtual-machine-scale-sets-vmss-move-to-general-availability/">Kubernetes 1.12 released</a></li> <li><a href="https://blog.cloudflare.com/roughtime/">Roughtime: Securing Time with Digital Signatures</a></li> <li><a href="https://engineering.linecorp.com/en/blog/detail/342">Go GC</a></li> <li><a href="https://medium.com/@Pinterest_Engineering/building-a-dynamic-and-responsive-pinterest-7d410e99f0a9">Building a dynamic and responsive Pinterest</a></li> <li><a href="https://hackernoon.com/real-time-linux-communications-2faabf31cf5e">Real-time Linux communications</a></li> <li><a href="http://eng.wealthfront.com/2018/09/20/our-adventures-in-scaling/">Our Adventures in Scaling</a></li> <li><a href="https://medium.com/dailyjs/comparison-of-state-management-solutions-for-react-2161a0b4af7b">Comparison of state management solutions for React</a></li> </ul> Fri, 05 Oct 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-205/ https://jakartadev.org/daily-digest-205/ Daily Digest #204 <ul> <li><a href="https://resources.codeship.com/ebooks/webrtc-debugging">How to Debug WebRTC Issues</a></li> <li><a href="https://labs.spotify.com/2018/09/18/scalable-user-privacy/">Scalable User Privacy</a></li> <li><a href="https://www.infoq.com/presentations/blockchain-bioxroute">How Blockchains Work and How to Scale Them</a></li> <li><a href="https://blog.logrocket.com/how-browser-rendering-works-behind-the-scenes-6782b0e8fb10">How browser rendering works — behind the scenes</a></li> <li><a href="https://www.infoq.com/presentations/continuous-security">CI/CD/CS: Implementing Continuous Security across Your Delivery Pipeline and at Run-Time</a></li> <li><a href="https://www.oreilly.com/ideas/kelsey-hightower-and-chris-gaun-on-serverless-and-kubernetes">Kelsey Hightower and Chris Gaun on serverless and Kubernetes</a></li> <li><a href="https://developers.soundcloud.com/blog/using-kubernetes-pod-metadata-to-improve-zipkin-traces">Using Kubernetes Pod Metadata to Improve Zipkin Traces</a></li> <li><a href="https://engineering.grab.com/mockers">Mockers - overcoming testing challenges at Grab</a></li> <li><a href="https://medium.com/@Pinterest_Engineering/looking-inside-the-technology-that-powers-pinterest-2e8bd1cfc329">Looking inside the technology that powers Pinterest</a></li> <li><a href="https://medium.com/airbnb-engineering/production-secret-management-at-airbnb-ad230e1bc0f6">Production Secret Management at Airbnb</a></li> </ul> Thu, 04 Oct 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-204/ https://jakartadev.org/daily-digest-204/ Daily Digest #203 <ul> <li><a href="https://thenewstack.io/temper-kubernetes-and-container-fomo-through-security/">Temper Kubernetes and Container FOMO Through Security</a></li> <li><a href="https://itnext.io/dockerizing-modern-web-apps-cd9667eebf44">Dockerizing modern web apps</a></li> <li><a href="https://opensource.com/article/18/9/distributed-tracing-tools">3 open source distributed tracing tools</a></li> <li><a href="https://thenewstack.io/the-future-of-inner-source/">The Future of Inner Source</a></li> <li><a href="https://dev.to/bgadrian/16-free-toolsservices-that-any-developer-should-use-4e7e">16 free tools &amp; services that any developer should use</a></li> <li><a href="http://technosophos.com/2018/07/04/be-nice-and-write-stable-code.html">Be Nice And Write Stable Code</a></li> <li><a href="http://publications.lib.chalmers.se/records/fulltext/232550/local_232550.pdf">Experiences with QuickCheck: Testing the Hard Stuff and Staying Sane</a></li> </ul> Wed, 03 Oct 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-203/ https://jakartadev.org/daily-digest-203/ Daily Digest #202 <ul> <li><a href="https://medium.com/@bbideep/why-should-chaos-be-part-of-your-distributed-systems-engineering-5bcb21497660?utm_source=jakartadev">Why should Chaos be part of your Distributed Systems Engineering?</a></li> <li><a href="https://techbeacon.com/7-leadership-skills-will-make-or-break-your-devops-transformation?utm_source=jakartadev">7 leadership skills that will make or break your DevOps transformation</a></li> <li><a href="https://grahamc.com/blog/nix-and-layered-docker-images?utm_source=jakartadev">Optimising Docker Layers for Better Caching with Nix</a></li> <li><a href="https://thenewstack.io/how-container-based-architectures-require-different-networking?utm_source=jakartadev">How Container-Based Architectures Require Different Networking</a></li> <li><a href="https://thenewstack.io/temper-kubernetes-and-container-fomo-through-security?utm_source=jakartadev">Temper Kubernetes and Container FOMO Through Security</a></li> <li><a href="https://medium.com/serious-scrum/the-logic-of-noestimates-4238e0be3bb6?utm_source=jakartadev">The logic of #NoEstimates</a></li> </ul> Tue, 02 Oct 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-202/ https://jakartadev.org/daily-digest-202/ Daily Digest #201 <ul> <li><a href="https://itnext.io/containers-as-i-didnt-know-them-67cd4eaf3739">Containers as I didn’t know them</a></li> <li><a href="https://www.digitalocean.com/community/tutorials/modernizing-applications-for-kubernetes">Modernizing Applications for Kubernetes</a></li> <li><a href="https://hackernoon.com/flutter-pros-and-cons-for-seamless-cross-platform-development-c81bde5a4083">Flutter: Pros and Cons for Seamless Cross Platform Development</a></li> <li><a href="https://www.occamslabs.com/blog/securing-your-ruby-and-rails-codebase">Securing your Ruby and Rails Codebase</a></li> <li><a href="https://hackernoon.com/top-5-courses-to-learn-python-in-2018-best-of-lot-26644a99e7ec">Top 5 Courses to Learn Python in 2018 — Best of Lot</a></li> <li><a href="https://trix-editor.org/">Trix Editor – A rich text editor for everyday writing from Basecamp</a></li> <li><a href="https://medium.com/@Pinterest_Engineering/goku-building-a-scalable-and-high-performant-time-series-database-system-a8ff5758a181">Goku: Building a scalable and high performant time series database system</a></li> </ul> Mon, 01 Oct 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-201/ https://jakartadev.org/daily-digest-201/ Membangun cluster Kubernetes di Vagrant + CentOS <p><a href="https://kubernetes.io/">Kubernetes</a>, sebagai sistem orkestrasi container yang dirilis open-source untuk mengautomasi deployment, dan juga dapat digunakan untuk mengatur aplikasi di server, saat ini sedang naik daun, dan banyak digunakan di beberapa perusahaan besar, saat ini penyedia layanan cloud seperti Amazon (AWS EKS), Google (GKE), AliCloud dan beberapa penyedia lain juga menyediakan layanan Kubernetes.</p> <p>Di sini akan mencoba membangun cluster kubernetes dilokal mesin kita, bisa berupa laptop atau desktop yang biasa digunakan, untuk membangun cluster ini setidaknya dibutuhkan beberapa hal berikut:</p> <ul> <li>RAM 8GB</li> <li>Storage, setidaknya membutuhkan 4GB per-node</li> <li>Virtualbox</li> <li>Vagrant (opsional) <!--more--> Vagrant digunakan sebagai alat untuk membuat development environment lebih mudah disini, dan virtualbox digunakan sebagai mesin virtualisasinya, cluster ini terdiri dari 1 <code class="highlighter-rouge">master</code> dan 3 <code class="highlighter-rouge">node</code> (slave) kubernetes. Untuk OS yang digunakan adalah GNU/Linux distribusi Centos, bisa saja menggunakan distro lain, seperti Ubuntu, tinggal ubah perintah package management sesuai dengan distro yang digunakan.</li> </ul> <h3 id="setup">Setup</h3> <p>Untuk setup awal, kita akan mendefinisikan host atau node yang akan kita gunakan di Vagrantfile, disini akan disetup 4 node, sourcecode untuk artikel ini ada <a href="https://github.com/dedenf/kubernetes">disini</a>.</p> <p><code class="highlighter-rouge">$ vagrant up</code></p> <p>Untuk menghidupkan 4 node yang sudah ditulis di <code class="highlighter-rouge">Vagrantfile</code>. Setelah semua node hidup, kita bisa melihat status dari masing-masing node di vagrant dengan perintah <code class="highlighter-rouge">$ vagrant status</code> dan akan mendapat respon berikut.</p> <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Current machine states: master running <span class="o">(</span>virtualbox<span class="o">)</span> kube1 running <span class="o">(</span>virtualbox<span class="o">)</span> kube2 running <span class="o">(</span>virtualbox<span class="o">)</span> kube3 running <span class="o">(</span>virtualbox<span class="o">)</span> </code></pre></div></div> <p>Setelah hidup <em>node-node</em> tersebut, ssh ke node master <code class="highlighter-rouge">$ vagrant ssh master</code>.</p> <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="o">[</span>vagrant@master ~]<span class="nv">$ </span><span class="nb">sudo </span>su - </code></pre></div></div> <p>Perintah ini untuk bisa bertukar posisi ke <code class="highlighter-rouge">root</code> sehingga lebih mudah, untuk yang lebih <em>concern</em> dengan keamanan, cukup dengan perintah <code class="highlighter-rouge">sudo</code> ditiap perintah yang membutuhkan privilege lebih tinggi, hanya pastikan bahwa user anda bisa sudah mendapatkan izin di <code class="highlighter-rouge">visudo</code>.</p> <h3 id="mempersiapkan-host">Mempersiapkan host</h3> <h4 id="mendaftarkan-ip-address">Mendaftarkan IP Address</h4> <p>Agar masing-masing hosts dapat mengenali satu sama lain, baik master dan worker, dibutuhkan untuk mendaftarkan masing-masing IP address di setiap node (master node dan worker node), lakukan edit di file <code class="highlighter-rouge">/etc/hosts</code>, dan tambahkan IP-nya, untuk setup workshop ini, seperti yang dituliskan di <code class="highlighter-rouge">Vagrantfile</code>, digunakan daftar IP sebagai berikut</p> <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>master 192.168.10.11 kube1 192.168.10.12 kube2 192.168.10.13 kube3 192.168.10.14 </code></pre></div></div> <p><em>hal ini bisa saja diautomasi misalkan dengan Ansible atau provisioning di Vagrant</em></p> <h4 id="firewall-dan-filesystem">Firewall dan filesystem</h4> <p>setelah kita akan mendaftarkan 4 node yang digunakan ini di <code class="highlighter-rouge">/etc/hosts</code> masing-masing node, selanjutnya adalah melakukan perubahan setting di firewall dan filesystem agar masing-masing node bisa berkomunikasi tanpa ada pengecekan paket dan akses ke node-node yang ada di cluster.</p> <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># lakukan ini di semua node</span> <span class="o">[</span>vagrant@master ~]<span class="nv">$ </span><span class="nb">sudo </span>setenforce 0 <span class="o">[</span>vagrant@master ~]<span class="nv">$ </span><span class="nb">sudo sed</span> <span class="nt">-i</span> <span class="nt">--follow-symlinks</span> <span class="se">\ </span> <span class="s1">'s/SELINUX=enforcing/SELINUX=disabled/g'</span> <span class="se">\</span> /etc/sysconfig/selinux </code></pre></div></div> <p>Disable swap</p> <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># lakukan ini di semua node</span> <span class="o">[</span>vagrant@master ~]<span class="nv">$ </span><span class="nb">sudo </span>swapoff <span class="nt">-a</span> </code></pre></div></div> <p>Dan edit file di <code class="highlighter-rouge">/etc/fstab</code></p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># lakukan ini di semua node</span> <span class="o">[</span>vagrant@master ~]<span class="nv">$ </span><span class="nb">sudo </span>vi /etc/fstab </code></pre></div></div> <p>cari dan ubah baris ini dengan menambahkan komentar</p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>/dev/mapper/VolGroup00-LogVol01 swap swap defaults 0 0 </code></pre></div></div> <p>Menjadi</p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c">#/dev/mapper/VolGroup00-LogVol01 swap swap defaults 0 0</span> </code></pre></div></div> <p>Kemudian aktifkan kernel modul <code class="highlighter-rouge">br_netfilter</code>, hal ini agar paket yang berkomunikasi melalui <code class="highlighter-rouge">bridge</code> diproses oleh <code class="highlighter-rouge">iptables</code> untuk dilakukan filter paket asal dan juga untuk kebutuhan komunikasi antar <code class="highlighter-rouge">pods</code> didalam <code class="highlighter-rouge">cluster</code>.</p> <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># lakukan ini di semua node</span> <span class="o">[</span>vagrant@master ~]<span class="nv">$ </span><span class="nb">sudo </span>modprobe br_netfilter <span class="o">[</span>vagrant@master ~]<span class="nv">$ </span><span class="nb">sudo echo</span> <span class="s1">'1'</span> <span class="o">&gt;</span> /proc/sys/net/bridge/bridge-nf-call-iptables </code></pre></div></div> <h4 id="install-docker-kubernetes-dan-paket-lainnya">Install Docker, Kubernetes dan paket lainnya</h4> <p>Kubernetes membutuhkan <em>container</em>, dan yang kita gunakan untuk workshop ini adalah Docker, untuk menginstall-nya ikuti langkah berikut</p> <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># lakukan ini di semua node</span> <span class="o">[</span>vagrant@master ~]<span class="nv">$ </span><span class="nb">sudo </span>yum <span class="nb">install</span> <span class="nt">-y</span> yum-utils <span class="se">\</span> device-mapper-persistent-data <span class="se">\</span> lvm2 </code></pre></div></div> <h5 id="tambahkan-repo-docker">Tambahkan repo Docker</h5> <p>Tambahkan repo docker ke centos repo master dan workers</p> <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># lakukan ini di semua node</span> <span class="o">[</span>vagrant@master ~]<span class="nv">$ </span><span class="nb">sudo </span>yum-config-manager <span class="se">\</span> <span class="nt">--add-repo</span> <span class="se">\</span> https://download.docker.com/linux/centos/docker-ce.repo </code></pre></div></div> <p>Di <em>howto</em> setup kubernetes, disarankan untuk menggunakan menggunakan docker versi <code class="highlighter-rouge">17.03</code>, tapi sejauh ini menggunakan versi <code class="highlighter-rouge">18.06.1-ce</code> tidak ada masalah, karena jika install langsung biasanya merujuk ke versi yang terbaru, maka untuk memilih menggunakan versi yang diharapkan bisa menggunakan perintah</p> <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="o">[</span>vagrant@master ~]<span class="nv">$ </span><span class="nb">sudo </span>yum list docker-ce <span class="nt">--showduplicates</span> | <span class="nb">sort</span> <span class="nt">-r</span> </code></pre></div></div> <p>Dan untuk install versi yang spesifik sesuai dengan tulisan versi yang keluar dari hasil menjalankan perintah di atas.</p> <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># lakukan ini di semua node</span> <span class="o">[</span>vagrant@master ~]<span class="nv">$ </span><span class="nb">sudo sudo </span>yum <span class="nb">install </span>docker-ce-&lt;VERSION STRING&gt; </code></pre></div></div> <h4 id="install-kubernetes">Install Kubernetes</h4> <p>Untuk menginstall kubernetes, tambahkan repo kubernetes ke centos repo di semua node.</p> <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># lakukan ini di semua node</span> <span class="o">[</span>vagrant@master ~]<span class="nv">$ </span><span class="nb">sudo cat</span> <span class="o">&lt;&lt;</span><span class="no">EOF</span><span class="sh"> &gt; /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg         https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg </span><span class="no">EOF </span></code></pre></div></div> <p>Install <code class="highlighter-rouge">kubectl</code>, <code class="highlighter-rouge">kubeadm</code> dan <code class="highlighter-rouge">kubelet</code></p> <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># lakukan ini di semua node</span> <span class="o">[</span>vagrant@master ~]<span class="nv">$ </span><span class="nb">sudo </span>yum <span class="nb">install</span> <span class="nt">-y</span> kubelet kubeadm kubectl </code></pre></div></div> <p>Kemudian reboot semua node.</p> <p>Setelah semua node up, enable service docker, kubelet di sytemd dan juga mulai service docker, kubelet</p> <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># lakukan ini di semua node</span> <span class="o">[</span>vagrant@master ~]<span class="nv">$ </span><span class="nb">sudo </span>systemctl start docker <span class="o">&amp;&amp;</span> systemctl <span class="nb">enable </span>docker <span class="o">[</span>vagrant@master ~]<span class="nv">$ </span><span class="nb">sudo </span>systemctl start kubelet <span class="o">&amp;&amp;</span> systemctl <span class="nb">enable </span>kubelet </code></pre></div></div> <p>Cek apakah docker masuk Cgroup driver</p> <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># lakukan ini di semua node</span> <span class="o">[</span>vagrant@master ~]<span class="nv">$ </span><span class="nb">sudo </span>docker info | <span class="nb">grep</span> <span class="nt">-i</span> cgroup </code></pre></div></div> <p>Masukkan cgroup-driver ini masuk ke konfigurasi <code class="highlighter-rouge">kubeadm</code> ke <code class="highlighter-rouge">cgroupfs</code></p> <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># lakukan ini di semua node</span> <span class="o">[</span>vagrant@master ~]<span class="nv">$ </span><span class="nb">sudo sed</span> <span class="nt">-i</span> <span class="s1">'s/cgroup-driver=systemd/cgroup-driver=cgroupfs/g'</span> /etc/systemd/system/kubelet.service.d/10-kubeadm.conf </code></pre></div></div> <p>Reload systemd dan restart service kubelet</p> <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># lakukan ini di semua node</span> <span class="o">[</span>vagrant@master ~]<span class="nv">$ </span><span class="nb">sudo </span>systemctl daemon-reload <span class="o">[</span>vagrant@master ~]<span class="nv">$ </span><span class="nb">sudo </span>systemctl restart kubelet </code></pre></div></div> <h4 id="inisiasi-cluster">Inisiasi cluster</h4> <p>Langkah ini untuk menginisiasi cluster yang dimulai di <code class="highlighter-rouge">master</code> terlebih dahulu, karena dari <code class="highlighter-rouge">master</code> inilah kita dapat melakukan operasi yang berhubungan dengan cluster.</p> <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># lakukan HANYA di master</span> <span class="o">[</span>vagrant@master ~]<span class="nv">$ </span><span class="nb">sudo </span>kubeadm init <span class="nt">--apiserver-advertise-address</span><span class="o">=</span>192.168.10.11 <span class="nt">--pod-network-cidr</span><span class="o">=</span>10.244.0.0/16 </code></pre></div></div> <p>Opsi perintah <code class="highlighter-rouge">--apiserver-advertise-address=</code> di atas untuk menginisiasi <code class="highlighter-rouge">master</code> sebagai apiserver dan disini master memiliki IP address <code class="highlighter-rouge">192.168.10.11</code>, dan <code class="highlighter-rouge">--pod-network-cidr=</code> adalah untuk menspesifikasi range IP yang digunakan nanti untuk pod-pod yang akan hidup dicluster. Untuk virtual networking atau network overlay, workshop ini menggunakan <code class="highlighter-rouge">flanel</code>, <a href="https://kubernetes.io/docs/concepts/cluster-administration/networking/">selengkapnya bisa dilihat disini</a> untuk pilihan networking model lainnya selain <code class="highlighter-rouge">flanel</code>.</p> <p>Setelah perintah di atas dijalankan, jika sukses, akan keluar pesan-pesan sukses dan fokus ke baris terakhir yang berisi baris ini, yang akan dijalankan dimasing-masing node worker. baris ini mengandung token dan juga perintah untuk join cluster.</p> <p>Agar kubernetes bisa digunakan, maka diperlukan file konfigurasi yang akan kita simpan di <code class="highlighter-rouge">$HOME</code> user kita, tidak disarankan menjalankan kubernetes sebagai root. Untuk itu, kita siapkan direktori dotfile, dan juga salin file <code class="highlighter-rouge">admin.conf</code> di kubernetes folder.</p> <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># lakukan ini HANYA di master</span> <span class="o">[</span>vagrant@master ~]<span class="nv">$ </span><span class="nb">mkdir</span> <span class="nt">-p</span> <span class="nv">$HOME</span>/.kube <span class="o">[</span>vagrant@master ~]<span class="nv">$ </span><span class="nb">sudo cp</span> <span class="nt">-i</span> /etc/kubernetes/admin.conf <span class="nv">$HOME</span>/.kube/config <span class="o">[</span>vagrant@master ~]<span class="nv">$ </span><span class="nb">sudo chown</span> <span class="si">$(</span><span class="nb">id</span> <span class="nt">-u</span><span class="si">)</span>:<span class="si">$(</span><span class="nb">id</span> <span class="nt">-g</span><span class="si">)</span> <span class="nv">$HOME</span>/.kube/config </code></pre></div></div> <p>Seperti yang kita sebutkan sebelumnya, kita menggunakan <code class="highlighter-rouge">flannel</code>, untuk itu kita akan mendeploy <code class="highlighter-rouge">flannel</code> di master node kita.</p> <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="o">[</span>vagrant@master ~]<span class="nv">$ </span><span class="nb">sudo </span>kubectl apply <span class="nt">-f</span> https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml </code></pre></div></div> <p>Perintah di atas akan mendeploy flannel networking cluster.</p> <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="o">[</span>vagrant@master ~]<span class="nv">$ </span>kubectl get nodes <span class="o">[</span>vagrant@master ~]<span class="nv">$ </span>kubectl get pods <span class="nt">--all-namespaces</span> </code></pre></div></div> <p>Output perintah tersebut</p> <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>NAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-78fcdf6894-5kcl4 1/1 Running 7 19d kube-system coredns-78fcdf6894-dmckh 1/1 Running 6 19d kube-system etcd-master 1/1 Running 7 19d kube-system kube-apiserver-master 1/1 Running 6 19d kube-system kube-controller-manager-master 1/1 Running 7 19d kube-system kube-flannel-ds-amd64-2smlw 1/1 Running 7 19d kube-system kube-proxy-47zxs 1/1 Running 0 19d kube-system kube-scheduler-master 1/1 Running 7 19d </code></pre></div></div> <p>Bisa dilihat flannel untuk master telah up, dan pastikan <code class="highlighter-rouge">kube-system</code> berstatus RUNNING, dengan ini maka inisiasi master telah sukses.</p> <h4 id="menambahkan-node-worker-ke-cluster">Menambahkan node worker ke cluster</h4> <p>Langkah selanjutnya adalah menambahkan <code class="highlighter-rouge">kube1</code>, <code class="highlighter-rouge">kube2</code> dan <code class="highlighter-rouge">kube3</code> ke cluster, yang pertama dilakukan adalah perintah yang sebelumnya muncul dari hasil <code class="highlighter-rouge">kubeadmin init</code> diatas.</p> <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># lakukan ini di semua node WORKER</span> <span class="o">[</span>vagrant@kube1 ~]<span class="nv">$ </span><span class="nb">sudo </span>kubeadm <span class="nb">join </span>192.168.10.11:6443 <span class="nt">--token</span> 0d3sfd.0ky3mcq2hof7a72a <span class="nt">--discovery-token-ca-cert-hash</span> sha256:9adc5abcb739cac1ff5fcf0b8d3523c869ed498af768eb85b5187e570869e949 </code></pre></div></div> <p>Jalankan perintah diatas disemua node worker di cluster.Jika sudah, silakan cek apakah node worker sudah bergabung dengan cluster ini atau belum.</p> <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="o">[</span>vagrant@master ~]<span class="nv">$ </span>kubectl get nodes <span class="o">[</span>vagrant@master ~]<span class="nv">$ </span>kubectl get pods <span class="nt">--all-namespaces</span> </code></pre></div></div> <p>akan menghasilkan tabel status seperti ini</p> <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>NAME STATUS ROLES AGE VERSION master Ready master 19d v1.11.2 kube1 Ready &lt;none&gt; 19d v1.11.2 kube2 NotReady &lt;none&gt; 19d v1.11.2 kube3 NotReady &lt;none&gt; 19d v1.11.2 </code></pre></div></div> <p>Tabel diatas mengindikasikan bahwa node worker dengan nama <code class="highlighter-rouge">kube1</code> sudah join cluster, lakukan perintah yang sama terhadap sisa node worker yang belum join. Jika semua node telah berstatus <code class="highlighter-rouge">Ready</code>, maka cluster sudah selesai dikonfigurasi.</p> <h4 id="testing-cluster-dengan-deploy-pod">Testing cluster dengan deploy pod</h4> <p>Untuk mengetest apakah cluster sudah bisa digunakan untuk deployment dan menerima request, kita buat deploymet dan service sederhana, kita akan mendeploy webserver nginx dicluster ini.</p> <p>Dimulai dengan membuat deployment dinode master.</p> <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="o">[</span>vagrant@master ~]<span class="nv">$ </span>kubectl describe deployment nginx deployment.apps/nginx created </code></pre></div></div> <p>Cek apakah deployment ini sudah ada, dan juga untuk melihat spesifikasi pod</p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="o">[</span>vagrant@master ~]<span class="nv">$ </span>kubectl describe deployment nginx Name: nginx Namespace: default CreationTimestamp: Tue, 25 Sep 2018 16:51:45 +0000 Labels: <span class="nv">app</span><span class="o">=</span>nginx Annotations: deployment.kubernetes.io/revision<span class="o">=</span>1 Selector: <span class="nv">app</span><span class="o">=</span>nginx Replicas: 1 desired | 1 updated | 1 total | 0 available | 1 unavailable StrategyType: RollingUpdate MinReadySeconds: 0 RollingUpdateStrategy: 25% max unavailable, 25% max surge Pod Template: Labels: <span class="nv">app</span><span class="o">=</span>nginx Containers: nginx: Image: nginx Port: &lt;none&gt; Host Port: &lt;none&gt; Environment: &lt;none&gt; Mounts: &lt;none&gt; Volumes: &lt;none&gt; Conditions: ... </code></pre></div></div> <p>Untuk dapat mengakses nginx ini, diperlukan untuk mengekspos nginx service dengan perintah</p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="o">[</span>vagrant@master ~]<span class="nv">$ </span>kubectl create service nodeport nginx <span class="nt">--tcp</span><span class="o">=</span>80:80 service/nginx created </code></pre></div></div> <p>Lihat apakah pods nginx sudah up</p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="o">[</span>vagrant@master ~]<span class="nv">$ </span>kubectl get pods NAME READY STATUS RESTARTS AGE nginx-78f5d695bd-29jzh 1/1 Running 0 8m </code></pre></div></div> <p>Dan lihat juga service yang sudah ter-ekspos</p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="o">[</span>vagrant@master ~]<span class="nv">$ </span>kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT<span class="o">(</span>S<span class="o">)</span> AGE kubernetes ClusterIP 10.96.0.1 &lt;none&gt; 443/TCP 19d nginx NodePort 10.96.12.181 &lt;none&gt; 80:31802/TCP 8m </code></pre></div></div> <p>Di sini nginx jalan di IP <code class="highlighter-rouge">10.96.12.181</code> didalam cluster dan dengan port 80, dan jika kita coba akses dari master node</p> <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="o">[</span>vagrant@master ~]<span class="nv">$ </span>curl 192.168.10.12:31802 &lt;<span class="o">!</span>DOCTYPE html&gt; &lt;html&gt; &lt;<span class="nb">head</span><span class="o">&gt;</span> &lt;title&gt;Welcome to nginx!&lt;/title&gt; ... </code></pre></div></div> <p>Via browser</p> <p><a href="/public/images/posts/kubernetes-nginx-large.png"><img src="/public/images/posts/kubernetes-nginx.png" alt="kubernetes nginx" /></a></p> Wed, 26 Sep 2018 00:00:00 +0000 https://jakartadev.org/deploy-kubernetes-cluster-vagrant-centos/ https://jakartadev.org/deploy-kubernetes-cluster-vagrant-centos/ Daily Digest #200 <ul> <li><a href="https://www.infoq.com/presentations/agile-2018">Martin Fowler – Agile in 2018</a></li> <li><a href="https://www.thoughtworks.com/insights/blog/techie-tech-lead-my-5-biggest-mistakes">Techie to tech lead: My five biggest mistakes</a></li> <li><a href="https://medium.freecodecamp.org/from-zero-to-hero-with-vue-up-and-running-f1acd4696b71">From zero to hero with Vue — getting up and running</a></li> <li><a href="http://wiremock.org/">WireMock – API mocking</a></li> <li><a href="https://nickwignall.com/productive-procrastination/">Productive Procrastination: How to Get More Done by Procrastinating on Purpose</a></li> <li><a href="https://medium.freecodecamp.org/the-terrible-performance-cost-of-cors-api-on-the-single-page-application-spa-6fcf71e50147">How Cross-Origin Resource Sharing requests affect your app’s performance</a></li> <li><a href="https://intensecrypto.org/public/">An Intensive Introduction to Cryptography</a></li> <li><a href="https://medium.com/digital-anatomy/five-facets-of-flow-strategy-96a737243ee5">Five Facets of Flow Strategy</a></li> </ul> Wed, 26 Sep 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-200/ https://jakartadev.org/daily-digest-200/ Daily Digest #109 <ul> <li><a href="https://medium.com/engineering-housing/running-production-elasticsearch-cluster-on-spot-instances-80bf03655092">Running elasticsearch cluster on spot instances</a></li> <li><a href="https://hackernoon.com/going-on-a-tair-an-alibaba-guide-to-nvm-caching-optimization-97f799675a44">Going on a Tair: A Guide to NVM Caching Optimization</a></li> <li><a href="https://medium.com/skills-matter/the-horrors-lurking-in-your-legacy-codebase-616d7d631f35">The Horrors Lurking in your Legacy Codebase</a></li> <li><a href="https://hackernoon.com/the-evolution-of-healthchecks-io-hosting-setup-4fa0d249a35a">From DigitalOcean to Linode to Google Cloud Platform: the Evolution of healthchecks.io Hosting Setup</a></li> <li><a href="https://robots.thoughtbot.com/the-real-story-behind-story-points">The Real Story Behind Story Points</a></li> <li><a href="https://s3-us-west-2.amazonaws.com/buttercms/ButterCMS+presents+MicroservicesForStartups.pdf">Microservices for startups</a></li> </ul> Tue, 25 Sep 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-109/ https://jakartadev.org/daily-digest-109/ Daily Digest #108 <ul> <li><a href="https://github.com/Physiix/topsi-project-manager">Topsi – A Desktop Kanban board app</a></li> <li><a href="https://www.infoq.com/presentations/microservices-infrastructure">No Microservice Is an Island</a></li> <li><a href="https://jobs.zalando.com/tech/blog/shop-look-deep-learning/index.html">Shop the Look with Deep Learning</a></li> <li><a href="https://ubereng.wpengine.com/marmaray-hadoop-ingestion-open-source/">Marmaray: An Open Source Generic Data Ingestion and Dispersal Framework and Library for Apache Hadoop</a></li> <li><a href="https://medium.com/engineering-housing/image-resizing-architecture-at-housing-com-86fcd295bdab">Image Resizing Architecture at housing.com</a></li> <li><a href="https://www.oreilly.com/ideas/progress-for-big-data-in-kubernetes">Progress for big data in Kubernetes</a></li> </ul> Mon, 24 Sep 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-108/ https://jakartadev.org/daily-digest-108/ Daily Digest #107 <p>3 hari ini waktu dibuat untuk menyiapkan materi untuk <a href="http://agileimpact.id/">Agile Impact</a>, akan dibuatkan artikel khusus tentang ini.</p> <ul> <li><a href="https://www.7pace.com/blog/become-a-better-programmer-skills-development">How to Become a Better Software Developer: A Handbook on Personal Performance</a></li> <li><a href="https://githubengineering.com/removing-jquery-from-github-frontend/">Removing jQuery from GitHub.com frontend</a></li> <li><a href="https://www.confluent.io/blog/data-wrangling-apache-kafka-ksql">Data Wrangling with Apache Kafka and KSQL</a></li> <li><a href="https://engineering.linkedin.com/blog/2018/09/managing-software-dependency-at-scale">Managing Software Dependency at Scale</a></li> <li><a href="https://ubereng.wpengine.com/forecasting-introduction/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=forecasting-introduction">Forecasting at Uber: An Introduction</a></li> </ul> Fri, 21 Sep 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-107/ https://jakartadev.org/daily-digest-107/ Daily Digest #106 <p>Senin, iya, sudah senin lagi, dan selamat bekerja!</p> <ul> <li><a href="https://frontendian.co/service-workers">Service Workers</a></li> <li><a href="http://hickori.es/blog/2018/what-if-learning-code-started-in-an-agile-environment">What if learning code started in an agile environment?</a></li> <li><a href="https://www.infoq.com/articles/microservices-post-kubernetes">Microservices in a Post-Kubernetes Era</a></li> <li><a href="https://hackernoon.com/lessons-learned-code-splitting-with-webpack-and-react-f012a989113">Lessons Learned: Code Splitting with Webpack and React</a></li> <li><a href="https://hackernoon.com/goodbye-redux-26e6a27b3a0b">Goodbye Redux</a></li> <li><a href="https://blog.octo.com/en/octo-vision-on-service-mesh-the-challenges/">OCTO vision on Service Mesh : the challenges</a></li> <li><a href="https://www.erlang-solutions.com/blog/receiving-messages-in-elixir-or-a-few-things-you-need-to-know-in-order-to-avoid-performance-issues.html">Receiving messages in Elixir, or a few things you need to know in order to avoid performance issues</a></li> </ul> Mon, 17 Sep 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-106/ https://jakartadev.org/daily-digest-106/ Daily Digest #105 <p>Happy friday, here are some links for your weekend!</p> <ul> <li><a href="https://www.future-processing.pl/blog/cypress-io-the-reason-why-were-not-stuck-with-selenium/">Cypress – the reason why we’re not stuck with Selenium</a></li> <li><a href="https://blog.wallaroolabs.com/2018/08/real-time-streaming-pattern-analyzing-trends/">Real-time Streaming Pattern: Analyzing Trends</a></li> <li><a href="https://sysdig.com/blog/kubernetes-monitoring-prometheus/">Kubernetes Monitoring with Prometheus, the ultimate guide (part 1)</a></li> <li><a href="https://semaphoreci.com/blog/2018/08/22/continuous-delivery-patterns-with-serverless.html">Continuous Delivery Patterns with Serverless Applications</a></li> <li><a href="https://tech.wayfair.com/2018/08/optimizing-tv-advertising-toward-return-on-investment/">Optimizing TV Advertising Toward Return on Investment</a></li> <li><a href="https://towardsdatascience.com/building-machine-learning-engineering-tools-e348ae4edf8">Building Machine Learning Engineering Tools</a></li> <li><a href="https://itnext.io/an-oauth-2-0-introduction-for-beginners-6e386b19f7a9">An OAuth 2.0 introduction for beginners</a></li> <li><a href="https://tech.instacart.com/leveraging-elastic-demand-for-forecasting-6278b45f805f">Leveraging Elastic Demand for Forecasting</a></li> </ul> Fri, 14 Sep 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-105/ https://jakartadev.org/daily-digest-105/ Daily Digest #104 <ul> <li><a href="https://crate.io/a/on-writing-beautiful-tests/">On Writing Beautiful Tests</a> – should be writing about this</li> <li><a href="https://blog.mozilla.org/security/2018/09/11/protecting-mozillas-github-repositories-from-malicious-modification/">Protecting Mozilla’s GitHub Repositories from Malicious Modification</a> <br /> yeah, i learn the hard way.</li> <li><a href="https://blog.eutopian.io/the-age-of-invisible-disasters/">The Age Of Invisible Disasters</a></li> <li><a href="https://dockyard.com/blog/2018/08/22/employee-engagement-in-a-remote-world">Employee Engagement in a Remote World</a></li> <li><a href="https://developers.soundcloud.com/blog/hands-off-deployment-with-canary">Hands-Off Deployment with Canary</a></li> <li><a href="https://blog.mozilla.org/futurereleases/2018/08/30/changing-our-approach-to-anti-tracking/">Changing Our Approach to Anti-tracking</a></li> </ul> Thu, 13 Sep 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-104/ https://jakartadev.org/daily-digest-104/ Daily Digest #103 <ul> <li><a href="https://blog.cloudflare.com/i-wanna-go-fast-load-balancing-dynamic-steering/">I Wanna Go Fast - Load Balancing Dynamic Steering</a></li> <li><a href="https://medium.com/dev-channel/service-worker-caching-strategies-based-on-request-types-57411dd7652c">Service Worker Caching Strategies Based on Request Types</a></li> <li><a href="https://blog.scottlogic.com/2018/07/20/wasm-future.html">The future of WebAssembly - A look at upcoming features and proposals</a></li> <li><a href="https://jobs.zalando.com/tech/blog/economic-perspective-testing/index.html">Lean Testing, or Why Unit Tests are Worse than You Think</a></li> <li><a href="https://engineering.linkedin.com/blog/2018/07/how-we-improved-build-time-by-400-percent">Productivity at Scale: How We Improved Build Time by 400% at LinkedIn</a></li> <li><a href="https://getstream.io/blog/simple-steps-to-optimize-your-app-performance/">Simple Steps to Optimize Your App Performance with MongoDB, Redis, and Node.js</a></li> <li><a href="https://blog.wallaroolabs.com/2018/07/event-triggered-customer-segmentation/">Event Triggered Customer Segmentation</a></li> </ul> Wed, 12 Sep 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-103/ https://jakartadev.org/daily-digest-103/ Daily Digest #102 <ul> <li><a href="https://stackexchange.com/performance">stackexchange performance report</a></li> <li><a href="https://www.reaktor.com/celebrationofcode/">A celebration of code – 6 pieces of code that had an impact</a></li> <li><a href="https://itnext.io/kubernetes-networking-behind-the-scenes-39a1ab1792bb">Kubernetes Networking: Behind the scenes</a></li> <li><a href="https://mesosphere.com/blog/brief-history-containers/">A Brief History of Containers</a></li> <li><a href="https://stackshare.io/posts/companies-using-graphql-in-production-2018">How Big Companies Are Using GraphQL in 2018</a></li> <li><a href="https://fly.io/articles/lighthouse-how-to-reduce-render-blocking-scripts/">Lighthouse: how to reduce render-blocking scripts</a></li> </ul> Mon, 10 Sep 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-102/ https://jakartadev.org/daily-digest-102/ Daily Digest #101 <ul> <li><a href="https://research.fb.com/building-switch-software-at-facebook-scale/">Building Switch Software at Facebook Scale</a></li> <li><a href="https://gojko.net/2018/08/30/sprints-marathons-root-canals.html">Sprints, marathons and root canals</a></li> <li><a href="https://medium.com/@george3d6/stop-future-proofing-software-c984cbd65e78">Stop future proofing software</a></li> <li><a href="https://beeceptor.com/">Rest API mocking and intercepting in seconds</a></li> <li><a href="https://github.com/aergoio/litetree"> SQLite with Branches – <em>interesting</em>..</a></li> <li><a href="https://blog.cloudflare.com/african-traffic-growth-and-predictions-for-the-future/">African traffic growth and predictions for the future</a></li> <li><a href="https://about.gitlab.com/2018/08/17/designing-for-developers/">How to design for (and with) developers</a></li> </ul> Fri, 07 Sep 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-101/ https://jakartadev.org/daily-digest-101/ Daily Digest #100 <p>Edisi ke-100 dari Daily Digest, kategori ini diawali dari sharing apa yang dibaca pada hari ini yang menarik, biasanya dari teknologi, development.</p> <ul> <li><a href="https://www.datacenterdynamics.com/opinions/why-bare-metal-servers-are-new-king/">Why bare metal servers are the new king</a></li> <li><a href="https://www.smashingmagazine.com/2018/08/designing-for-micro-moments/">Designing For Micro-Moments</a></li> <li><a href="https://blog.codeship.com/microservices-messaging-rest-isnt-always-best-choice/">Microservices Messaging: Why REST Isn’t Always the Best Choice</a></li> <li><a href="https://blog.wallaroolabs.com/2018/08/utilizing-elixir-as-a-lightweight-tool-to-store-real-time-metrics-data/">Utilizing Elixir as a lightweight tool to store real-time metrics data </a></li> <li><a href="https://charity.wtf/2018/08/17/on-engineers-and-influence/">On Engineers and Influence</a></li> <li><a href="https://hbr.org/2018/01/how-to-hire">How to Hire</a></li> <li><a href="https://wildbit.com/blog/2018/08/17/remote-product-management-challenges-and-opportunities">Remote product management: challenges and opportunities</a></li> <li><a href="https://ronjeffries.com/articles/018-01ff/agile-manager/">Manager Responsibilities</a></li> <li><a href="https://dannorth.net/2018/01/26/in-praise-of-swarming/amp/">In praise of SWARMing</a></li> </ul> Thu, 06 Sep 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-100/ https://jakartadev.org/daily-digest-100/ Daily Digest #99 <ul> <li><a href="https://engineering.gusto.com/old-write/">Zero Downtime Table Migrations using a Double Write Methodology</a></li> <li><a href="https://blog.timescale.com/timescaledb-vs-influxdb-for-time-series-data-timescale-influx-sql-nosql-36489299877">TimescaleDB vs. InfluxDB: purpose built differently for time-series data</a></li> <li><a href="https://developer.ibm.com/dwblog/2018/monolithic-microservices-transformation-journey/">From monolithic to microservices: A transformation journey</a></li> <li><a href="https://eng.uber.com/maze/?utm_source=jakartadev">Maximizing Process Performance with Maze, Uber’s Funnel Visualization Platform</a></li> <li><a href="https://www.olioapps.com/blog/automatic-code-formatting/">Automatic Code Formatting for Partially-Staged Files</a></li> </ul> Wed, 05 Sep 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-99/ https://jakartadev.org/daily-digest-99/ Tmuxinator <p>Originally published at <a href="https://jenius.tech/2018/09/03/tmuxinator/">Jenius.tech</a></p> <p>Di Jenius, <em>automation</em> adalah salah satu kunci untuk men-<em>deliver</em> software dengan cepat, tanpa mengorbankan kualitas, automasi juga digunakan untuk kebutuhan sehari-hari, salah satunya untuk menyiapkan <em>environment</em> development, Setelah sebelumnya diperkenalkan dengan <a href="https://jenius.tech/2018/01/30/pengenalan-tmux/"><code class="highlighter-rouge">tmux</code></a>, yang sangat berguna untuk bekerja di <em>multi-shell</em>. di sini akan diperkenalkan <em>tool</em> pendukung untuk tmux, yaitu <a href="https://github.com/tmuxinator/tmuxinator"><code class="highlighter-rouge">tmuxinator</code></a><sup id="fnref:1"><a href="#fn:1" class="footnote">1</a></sup>, tool ini digunakan untuk meng-automasi shell yang biasa digunakan untuk developer, biasanya untuk mempersiapkan shell yang digunakan.</p> <!--more--> <p>Sebagai contoh, saya menggunakan 6 ‘tab’ di shell yang saya gunakan.</p> <p><img src="/public/images/posts/tmuxinator/tmuxinator.jpg" alt="shell" /></p> <p>Jika kita melakukan pembukaan shell secara manual, misalkan jika <code class="highlighter-rouge">keybinding</code> menggunakan <code class="highlighter-rouge">ctrl + a + c</code> maka akan dibutuhkan setidaknya 6 kali untuk membuat 6 tab. kita bisa menggunakan Tmuxinator untuk meng-automasi ini, menjadikan tiap kali kita membuka tmux, shell yang menjadi favorit atau shell yang biasa kita gunakan untuk bekerja bisa langsung terhadirkan.</p> <h3 id="install">install</h3> <p>sesuai dengan howto dari github page-nya, kita install tmuxinator, dan karena tmuxinator dipaketkan sebagai <code class="highlighter-rouge">gem</code>, maka untuk meng-install menginstallnya digunakan <code class="highlighter-rouge">ruby-gem</code>.</p> <p><code class="highlighter-rouge">gem install tmuxinator</code> ↩</p> <p>Setelah ini, set editor yang anda gunakan, saya menggunakan <code class="highlighter-rouge">vim</code> sebagai default editor, jika hendak mengubahnya, tinggal ubah shell config ke editor pilihan, misalkan jika hendak mengubah default editor ke vim atau visual code editor dengan perintah <code class="highlighter-rouge">export EDITOR='vim'</code> atau <code class="highlighter-rouge">export EDITOR='code'</code> untuk vsc.</p> <p>Setelah setting default editor buatlah project baru dengan perintah <code class="highlighter-rouge">tmuxinator new development</code> (di sini saya menggunakan development sebagai nama project), dan akan diberikan semacam template window yang bisa digunakan sebagai tahap awal.</p> <p>Untuk setting saya sendiri, berikut file yml tmuxinator project yang dibuat.</p> <div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code># ~/.tmuxinator/development.yml name: dev root: ~/ windows: - System: layout: even-vertical root: ~ panes: - htop - vtop - JeniusApp: layout: even-vertical root: ~/Developments/jenius/jenius2-apps/ panes: - gss - git pull origin develop - Microservice: layout: even-vertical root: ~/Developments/jenius/microservice/ panes: - git multi pull - Mongo: layout: tiled panes: - cd ~/Developments/devops/mongodb-vagrant/ &amp;&amp; vagrant status - cd ~/Developments/devops/mongodb-vagrant/ &amp;&amp; vagrant status - cd ~/Developments/devops/mongodb-vagrant/ &amp;&amp; vagrant status - cd ~/Developments/devops/mongodb-vagrant/ &amp;&amp; vagrant status - Orchestrator: layout: tiled panes: - ls - Side: layout: tiled root: ~/Developments/blogs/ panes: - cd ~/Developments/blogs/dedenf.github.io; gss - cd ~/Developments/blogs/jeniusteam.github.io; gss - cd ~/Developments/blogs/jakartadev.github.io; gss - cd ~/Developments/blogs/epicoffee.github.io; gss - Infra: layout: tiled panes: - ls </code></pre></div></div> <p>Untuk koleksi dotfiles yang digunakan, saya simpan <a href="https://github.com/dedenf/dotfiles">di repo ini</a></p> <h3 id="eksekusi">Eksekusi</h3> <p>Setelah membuat konfigurasi yang dibutuhkan, jalankan dengan menggunakan perintah</p> <p><code class="highlighter-rouge">$ tmux</code> ↩</p> <p>Dengan memanggil perintah ini, maka session tmux dibuat, baru kita bisa menjalankan <code class="highlighter-rouge">tmuxinator</code> diatas session <code class="highlighter-rouge">tmux</code>.</p> <p><code class="highlighter-rouge">$ tmuxinator development</code> ↩</p> <p>Maka shell anda akan menampilkan 6 tab, sesuai dengan konfigurasi yang ditulis. Silakan ubah dan gunakan perintah sesuai dengan project yang sedang aktif digunakan.</p> <h3 id="footnote">Footnote</h3> <div class="footnotes"> <ol> <li id="fn:1"> <p>tmuxinator salah satu tool yang bisa digunakan, masih banyak project lain yang bisa digunakan, misalkan <a href="https://github.com/remiprev/teamocil">teamocil</a> dan project lainnya. <a href="#fnref:1" class="reversefootnote">&#8617;</a></p> </li> </ol> </div> Tue, 04 Sep 2018 00:00:00 +0000 https://jakartadev.org/tmuxinator/ https://jakartadev.org/tmuxinator/ Daily Digest #98 <ul> <li><a href="https://tech.instacart.com/scaling-at-instacart-distributing-data-across-multiple-postgres-databases-with-rails-13b1e4eba202">Scaling at Instacart: Distributing Data Across Multiple Postgres Databases with Rails</a> <br /> Interesting part of scaling distributed data at Instacart.</li> <li><a href="https://blog.risingstack.com/how-to-debug-a-node-js-app-in-a-docker-container/">How to Debug a Node.js app in a Docker Container</a> <br /> Debugging directly on container can be a faster way to know what’s going on.</li> <li><a href="https://www.toptal.com/react-native/react-native-for-android-development">Dive into React Native for Android Development</a> <br /> pros and cons using react-native as its engine to develop android application</li> <li><a href="https://blog.logrocket.com/webassembly-how-and-why-559b7f96cd71">WebAssembly: How and why</a> <br /> How to run native code in the browser, why would you do that, and what does it all mean for JavaScript and the future of web development</li> </ul> Tue, 04 Sep 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-98/ https://jakartadev.org/daily-digest-98/ Daily Digest #97 <ul> <li><a href="https://frontside.io/blog/2018/08/09/kubernetes-for-the-kubernewbie/">Kubernetes for the Kubernewbie - The Journey</a></li> <li><a href="https://www.infoworld.com/article/3297437/javascript/vue-javascript-cli-tool-gets-a-rewrite.html">Vue JavaScript CLI tool gets a rewrite</a></li> <li><a href="https://www.smashingmagazine.com/2018/08/scroll-bouncing-websites/">Scroll Bouncing On Your Websites</a></li> <li><a href="https://apnews.com/f60bc112665b458cb6473d7ee9492932">AP Exclusive: Google tracks your movements, like it or not</a></li> <li><a href="https://www.influencive.com/5-questions-to-ask-before-any-ux-project/">5 Questions to Ask Before Any UX Project</a></li> <li><a href="https://medium.com/netflix-techblog/notebook-innovation-591ee3221233">Beyond Interactive: Notebook Innovation at Netflix</a></li> </ul> Mon, 03 Sep 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-97/ https://jakartadev.org/daily-digest-97/ Daily Digest #96 <ul> <li><a href="https://hackernoon.com/you-have-to-choose-between-software-delivered-on-time-and-good-software-44f4af1249b1">You have to choose between Software Delivered on Time and Good Software</a></li> <li><a href="https://medium.com/project-management-learnings/spotify-squad-framework-part-ii-c5d4b9398c30">Spotify Squad framework — Part II</a></li> <li><a href="https://blog.ably.io/the-18-ghosts-in-your-infrastructure-stack-that-can-cause-failure-and-how-to-avoid-them-1373daebfe1a">The 18 ghosts in your infrastructure stack that can cause failure (and how to avoid them)</a></li> <li><a href="https://www.michaelnygard.com/blog/2016/07/qa-instability-implies-production-instability/">QA Instability Implies Production Instability</a></li> <li><a href="https://www.hpcs.cs.tsukuba.ac.jp/~tatebe/lecture/h23/dsys/dsd-tutorial.html">Introduction to Distributed System Design</a></li> <li><a href="https://grafana.com/blog/2018/08/02/the-red-method-how-to-instrument-your-services/">The RED Method: How to Instrument Your Services</a></li> </ul> Fri, 31 Aug 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-96/ https://jakartadev.org/daily-digest-96/ Daily Digest #95 <ul> <li><a href="https://bessey.io/blog/2018/08/04/rails-webpacker-react-ssr/">Rails + React Server Side Rendering, with Webpacker + Hypernova</a></li> <li><a href="https://buttercms.com/books/microservices-for-startups/should-you-build-or-buy-microservices">Should you build or buy microservices?</a></li> <li><a href="https://github.com/jesseduffield/lazygit">Lazygit – simple terminal UI for git commands</a></li> <li><a href="https://blog.docker.com/2018/07/introducing-docker-application-guides/">Introducing docker application guides</a></li> <li><a href="https://www.intercom.com/blog/the-orange-juice-test/">The Orange Juice Test</a></li> <li><a href="https://www.girlboss.com/work/first-time-manager-checklist">First time manager checklist</a></li> </ul> Thu, 30 Aug 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-95/ https://jakartadev.org/daily-digest-95/ Publish web Jekyll + Netlify <p><a href="https://www.netlify.com/">Netlify</a> adalah salah satu penyedia service untuk <em>deploy</em> aplikasi atau halaman web yang mendukung web statis atau dinamis melalui dukungan <em>serverless</em> web. Dengan menggunakan menggunakan Netlify, pengguna dapat membangun web tanpa harus memiliki atau berlangganan service ke penyedia server seperti AWS atau Digital Ocean. Untuk kasus saya, saya menggunakan Neetlify karena selain gratis untuk publish web ini, ada juga opsi berbayar dengan banyak dukungan fitur pendukung lainnya, di sini akan mencontohkan men-<em>deploy</em> dengan menggunakan gabungan antara Github sebagai SCM <em>web static</em> yang saya gunakan, yaitu Jekyll, Dan membuat <em>pipeline</em> dari Github ke Netlify melalui panel Netlify.</p> <h3 id="domain">Domain</h3> <p>Untuk memudahkan <em>deployment</em> kita bisa memindahkan domain ke Netlify DNS manager, di sini kita bisa melakukan administrasi DNS yang biasanya ada di registrar. <img src="/public/images/posts/netlify/dns-panel.png" alt="" /></p> <p>Di panel ini kita bisa melakukan penambahan domain yang kita miliki, setelah menambahkan domain, kita diminta untuk melakukan perubahan domain nameserver, yang sebelumnya menggunakan registrar kita biasanya ke yang dimiliki oleh Netlify, daftar nameserver yang jakartadev gunakan.</p> <div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>dns1.p01.nsone.net dns2.p01.nsone.net dns3.p01.nsone.net dns4.p01.nsone.net </code></pre></div></div> <p>Setelah menambahkan, kita bisa melakukan penambahan record di panel domain Netlify Domain tipe <code class="highlighter-rouge">A</code>, <code class="highlighter-rouge">MX</code>, <code class="highlighter-rouge">TXT</code> dan lainnya.</p> <p><img src="/public/images/posts/netlify/domain.png" alt="" /></p> <p>Sesudah setup DNS A record yang disesuaikan dengan IP Address yang diberikan oleh Netlify</p> Wed, 29 Aug 2018 00:00:00 +0000 https://jakartadev.org/publish-website-dengan-netlify/ https://jakartadev.org/publish-website-dengan-netlify/ Daily Digest #94 <ul> <li><a href="https://github.com/open-guides/og-aws">📙 Amazon Web Services — a practical guide</a></li> <li><a href="https://www.rubypigeon.com/posts/dependency_injection_containers_vs_hardcoded_constants/">Dependency Injection Containers vs Hard-coded Constants</a></li> <li><a href="https://www.holloway.com/g/equity-compensation">The Holloway guide to Equity Compensation</a></li> <li><a href="https://blog.mozilla.org/blog/2018/08/07/firefox-offers-recommendations-with-latest-test-pilot-experiment-advance/">Firefox Offers Recommendations with Latest Test Pilot Experiment: Advance</a></li> <li><a href="https://latacora.singles/2018/08/03/the-default-openssh.html">The default OpenSSH key encryption is worse than plaintext</a></li> </ul> Wed, 29 Aug 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-94/ https://jakartadev.org/daily-digest-94/ Daily Digest #93 <ul> <li><a href="https://medium.com/@cwilliams1290/developing-great-leaders-is-more-important-than-training-bad-managers-7ae6c9e0441a">Developing Great Leaders is More Important than Training Bad Managers</a></li> <li><a href="https://brew.sh/2018/08/05/security-incident-disclosure/">Security Incident Disclosure</a></li> <li><a href="https://programmingisterrible.com/post/176657481103/repeat-yourself-do-more-than-one-thing-and">Repeat yourself, do more than one thing, and rewrite everything</a></li> <li><a href="https://github.com/UKHomeOffice/repo-security-scanner">Repo security scanner</a></li> <li><a href="https://eng.uber.com/databook/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=databook">Databook: Turning Big Data into Knowledge with Metadata at Uber</a></li> </ul> Tue, 28 Aug 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-93/ https://jakartadev.org/daily-digest-93/ Daily Digest #92 <ul> <li><a href="https://www.hashicorp.com/resources/multi-tenant-vault-namespaces">Learn How to Run a Multi-tenant Vault with the New Namespaces Feature</a></li> <li><a href="https://snyk.io/blog/how-to-crash-an-email-server-with-a-single-email/">How to crash an email server with a single email</a></li> <li><a href="https://www.ebayinc.com/stories/blogs/tech/the-web-push-checklist/">The Web Push Checklist</a></li> <li><a href="https://hacks.mozilla.org/2018/07/introducing-the-d-web/">Introducing the Dweb</a></li> <li><a href="https://brandur.org/minimalism">In Pursuit of Production Minimalism</a></li> </ul> Mon, 27 Aug 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-92/ https://jakartadev.org/daily-digest-92/ Daily Digest #91 <ul> <li><a href="https://www.infoq.com/presentations/chaos-engineering-resilience">Using Chaos to Build Resilient Systems</a></li> <li><a href="https://blog.discordapp.com/why-discord-is-sticking-with-react-native-ccc34be0d427">Why Discord is Sticking with React Native</a></li> <li><a href="https://www.scylladb.com/2018/07/26/how-scylla-data-cache-works/">Exploring How the Scylla Data Cache Works</a></li> <li><a href="https://blog.cloudflare.com/the-road-to-quic/">The Road to QUIC</a></li> <li><a href="https://itnext.io/how-i-reverse-engineered-notion-api-19480490bbeb">How I reverse engineered Notion API</a></li> </ul> Fri, 24 Aug 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-91/ https://jakartadev.org/daily-digest-91/ Daily Digest #90 <ul> <li><a href="https://www.hashicorp.com/resources/multi-tenant-vault-namespaces">Learn How to Run a Multi-tenant Vault with the New Namespaces Feature</a></li> <li><a href="https://slack.engineering/streamlining-your-workflow-debugging-for-hhvm-effd7db3c72d">Streamlining Your Workflow: Debugging for HHVM</a></li> <li><a href="https://towardsdatascience.com/improving-operations-with-route-optimization-4b8a3701ca39">Improving Operations with Route Optimization</a></li> <li><a href="https://distill.pub/2018/differentiable-parameterizations/">Differentiable Image Parameterizations</a></li> <li><a href="https://www.smashingmagazine.com/2018/07/logging-activity-web-beacon-api/">Logging Activity With The Web Beacon API</a></li> </ul> Thu, 23 Aug 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-90/ https://jakartadev.org/daily-digest-90/ Daily Digest #89 <ul> <li><a href="https://engineering.clever.com/2018/07/24/securing-new-products-at-clever/">Securing New Products at Clever</a></li> <li><a href="https://tech.instacart.com/freezing-pythons-dependency-hell-in-2018-f1076d625241">Freezing Python’s Dependency Hell in 2018</a></li> <li><a href="https://auth0.com/blog/developing-real-time-web-applications-with-server-sent-events/">Developing Real-Time Web Applications with Server-Sent Events</a></li> <li><a href="https://ai.googleblog.com/2018/07/machine-learning-in-google-bigquery.html">Machine Learning in Google BigQuery</a></li> <li><a href="https://open.nytimes.com/building-a-serverless-email-platform-at-the-times-84d77760d824">To Send Emails to Readers, We Went Serverless</a></li> </ul> Wed, 22 Aug 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-89/ https://jakartadev.org/daily-digest-89/ Daily Digest #88 <ul> <li><a href="https://nodesource.com/blog/why-the-new-v8-is-so-damn-fast">Why the New V8 is so Damn Fast</a></li> <li><a href="https://www.smashingmagazine.com/2018/07/improving-test-coverage-android-app-mockito-espresso/">How To Improve Test Coverage For Your Android App Using Mockito And Espresso</a></li> <li><a href="https://www.infoq.com/presentations/panel-containers-scalability">Containers at Web Scale Panel</a></li> <li><a href="https://hackernoon.com/building-serverless-contact-form-for-static-websites-b0e622d5a035">Building Serverless Contact Form For Static Websites</a></li> <li><a href="https://galois.com/blog/2018/07/the-lean-theorem-prover-past-present-and-future/">The Lean Theorem Prover: Past, Present and Future</a></li> </ul> Tue, 21 Aug 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-88/ https://jakartadev.org/daily-digest-88/ Daily Digest #87 <ul> <li><a href="https://hackernoon.com/five-ways-to-gain-serverless-observability-406e5cab51af">5 ways to gain serverless observability</a></li> <li><a href="http://rea.tech/evaluating-scala-and-sticking-with-ruby/">Evaluating Scala and sticking with Ruby</a></li> <li><a href="https://www.digitalocean.com/community/tutorials/kubernetes-networking-under-the-hood">Kubernetes Networking Under the Hood</a></li> <li><a href="https://nordicapis.com/a-pragmatic-take-on-rest-anti-patterns/">A Pragmatic Take On REST Anti Patterns</a></li> <li><a href="https://www.thoughtworks.com/insights/blog/write-quality-mobile-apps-any-architecture">Write quality mobile apps in any architecture</a></li> </ul> Mon, 20 Aug 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-87/ https://jakartadev.org/daily-digest-87/ Daily Digest #86 <ul> <li><a href="https://azure.microsoft.com/en-us/resources/designing-distributed-systems/">Designing Distributed Systems</a></li> <li><a href="https://drewdevault.com/2018/07/23/Git-is-already-distributed.html">Git is already federated &amp; decentralized</a></li> <li><a href="https://www.slideshare.net/nathenharvey/introduction-to-test-kitchen">Introduction to Test Kitchen</a></li> <li><a href="https://www.toptal.com/puppeteer/headless-browser-puppeteer-tutorial">Web Scraping with a Headless Browser: A Puppeteer Tutorial</a></li> <li><a href="https://8thlight.com/blog/sam-szreter/2018/07/24/inversion-of-control-container.html">Don’t call us, we’ll call you: Inversion of Control Containers</a></li> </ul> Fri, 17 Aug 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-86/ https://jakartadev.org/daily-digest-86/ Daily Digest #85 <ul> <li><a href="https://blog.codeship.com/what-you-should-know-about-penetration-testing/">What You Should Know About Penetration Testing</a></li> <li><a href="https://medium.com/@timhberry/terraform-pipelines-in-gitlab-415b9d842596">Terraform Pipelines in GitLab</a></li> <li><a href="https://code.likeagirl.io/toxic-jobs-low-self-esteem-interviewing-6c4650a3c28a">On Toxic Jobs, Low Self-Esteem, &amp; Interviewing</a></li> <li><a href="https://tinyssh.org/">Tinyssh</a></li> </ul> Thu, 16 Aug 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-85/ https://jakartadev.org/daily-digest-85/ Daily Digest #84 <ul> <li><a href="https://hackernoon.com/what-i-talk-about-when-i-talk-about-logging-36237fad7336">What I Talk About When I Talk About Logging</a></li> <li><a href="https://blog.cloudflare.com/how-to-drop-10-million-packets/">How to drop 10 million packets per second</a></li> <li><a href="https://blog.buildo.io/emails-boring-are-not-15c7b92fa90a">Emails Boring Are Not</a></li> <li><a href="https://blog.scottlogic.com/2018/07/06/comparing-streaming-frameworks-pt1.html">Comparing Apache Spark, Storm, Flink and Samza stream processing engines - Part 1</a></li> <li><a href="http://engineering.hackerearth.com/2018/07/07/introducing-nuskha/">Introducing Nuskha</a></li> </ul> Wed, 15 Aug 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-84/ https://jakartadev.org/daily-digest-84/ Daily Digest #83 <ul> <li><a href="https://medium.freecodecamp.org/how-to-write-a-good-software-design-document-66fcf019569c">How to write a good software design doc</a></li> <li><a href="https://github.com/GoogleChromeLabs/ndb">ndb – ndb is an improved debugging experience for Node.js, enabled by Chrome DevTools</a></li> <li><a href="https://medium.com/@henriksylvesterpedersen/you-dont-need-that-bastion-host-cd1b1717a9e7">You don’t need that Bastion host</a></li> <li><a href="https://ronjeffries.com/articles/018-01ff/scrum-not-asd-1/">Scrum is not an Agile Software Development Framework</a></li> <li><a href="https://www.imaginarycloud.com/blog/material-design-is-a-political-choice/">Material design is a political choice</a></li> </ul> Tue, 14 Aug 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-83/ https://jakartadev.org/daily-digest-83/ Daily Digest #82 <ul> <li><a href="https://medium.com/serialized-io/apache-kafka-is-not-for-event-sourcing-81735c3cf5c">Apache Kafka is not for Event Sourcing</a></li> <li><a href="https://www.hellosign.com/blog/software-ate-world">Software Ate the World. Now What?</a></li> <li><a href="https://jobs.zalando.com/tech/blog/economic-perspective-testing/">Lean Testing, or Why Unit Tests are Worse than You Think</a></li> <li><a href="https://itnext.io/filepond-frontend-trickery-a3073c934c77">5 interesting technical challenges I faced when building FilePond</a></li> <li><a href="https://hackernoon.com/youre-not-even-criticising-scrum-caecf4eb19d3">You’re not even criticising Scrum</a></li> </ul> Mon, 13 Aug 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-82/ https://jakartadev.org/daily-digest-82/ Daily Digest #81 <ul> <li><a href="https://blog.sessionstack.com/how-javascript-works-webrtc-and-the-mechanics-of-peer-to-peer-connectivity-87cc56c1d0ab">How JavaScript works: WebRTC and the mechanics of peer to peer networking</a></li> <li><a href="https://blog.cloudflare.com/debugging-serverless-apps/">Debugging Serverless Apps</a></li> <li><a href="https://itnext.io/multi-server-chat-in-node-without-a-database-51bb66e41999">Multi-server Chat in Node Without a Database</a></li> <li><a href="https://www.infoq.com/presentations/xdp-ddos-cloudflare?utm_source=jakartadev">XDP in Practice: DDoS Mitigation @Cloudflare</a></li> <li><a href="https://www.infoq.com/presentations/unikraft-unikernels?utm_source=jakartadev">Unikraft - Unleashing the Power of Unikernels</a></li> </ul> Sat, 11 Aug 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-81/ https://jakartadev.org/daily-digest-81/ Daily Digest #80 <ul> <li><a href="https://github.com/joshwcomeau/guppy">Guppy – 🐠A friendly application manager and task runner for React.js</a></li> <li><a href="https://medium.com/@farsi_mehdi/the-forwardable-module-in-ruby-part-i-d83d9063b4f4">The Forwardable module in Ruby — Part I</a></li> <li><a href="https://blog.praveen.science/git-shortcuts/">Git Shortcut</a></li> <li><a href="https://medium.com/@atulanand94/building-web-based-uis-for-terminals-using-javascript-60b5eee31213">📟 Building Web based UIs for Terminals using JavaScript</a> – because, why not?</li> <li><a href="https://eng.uber.com/transforming-financial-forecasting-machine-learning/?utm_source=rss&amp;utm_source=jakartadev">Transforming Financial Forecasting with Data Science and Machine Learning at Uber</a></li> </ul> Fri, 10 Aug 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-80/ https://jakartadev.org/daily-digest-80/ Daily Digest #79 <ul> <li><a href="https://www.infoq.com/news/2018/07/event-sourcing-kafka-streams?utm_source=jakartadev">Experiences from Building an Event-Sourced System with Kafka Streams</a></li> <li><a href="https://github.com/learn-vuejs/vue-patterns?utm_source=jakartadev">vue-pattern – Useful Vue patterns</a></li> <li><a href="http://martin.zinkevich.org/rules_of_ml/rules_of_ml.pdf?utm_source=jakartadev">Best Practices for ML Engineering</a></li> <li><a href="https://theoutline.com/post/5495/how-to-beat-linked-in-the-game?utm_source=jakartadev">How to beat Linkedin: The Game</a></li> <li><a href="https://alexgaynor.net/2018/jul/20/worst-truism-in-infosec/">The worst truism in information security</a></li> </ul> Thu, 09 Aug 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-79/ https://jakartadev.org/daily-digest-79/ Daily Digest #78 <ul> <li><a href="https://medium.com/@vesirin/how-i-gained-commit-access-to-homebrew-in-30-minutes-2ae314df03ab">How I gained commit access to Homebrew in 30 minutes</a></li> <li><a href="https://itnext.io/scaling-microservices-with-message-queues-spring-boot-and-kubernetes-17ff670b07ed">Scaling Microservices with Message Queues, Spring Boot and Kubernetes</a></li> <li><a href="https://thenewstack.io/discussing-serverless-with-stackery-and-google/">Discussing Serverless with Stackery and Google</a></li> <li><a href="https://hackernoon.com/your-infrastructure-as-code-cloudformation-vs-terraform-34ec5fb5f044">Your Infrastructure as Code 🌩 CloudFormation Vs Terraform?</a></li> <li><a href="https://opensource.com/article/18/7/sysadmin-tasks-ansible">A sysadmin’s guide to Ansible: How to simplify tasks</a></li> </ul> Wed, 08 Aug 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-78/ https://jakartadev.org/daily-digest-78/ Daily Digest #77 <ul> <li><a href="https://support.mozilla.org/en-US/kb/about-firefox-pioneer">Firefox Pioneer</a></li> <li><a href="https://aws.amazon.com/blogs/aws/new-lifecycle-management-for-amazon-ebs-snapshots/">New – Lifecycle Management for Amazon EBS Snapshots</a></li> <li><a href="https://mwhittaker.github.io/blog/an_illustrated_proof_of_the_cap_theorem/">CAP Theorem illustrated</a></li> <li><a href="https://multithreaded.stitchfix.com/blog/2018/06/21/constrained-optimization/">Add Constrained Optimization To Your Toolbelt</a></li> <li><a href="https://hackernoon.com/headless-cms-vs-traditional-cms-a-deep-dive-4ec834fd6fd3">Headless CMS vs Traditional CMS: A Deep Dive</a></li> </ul> Tue, 07 Aug 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-77/ https://jakartadev.org/daily-digest-77/ Daily Digest #76 <ul> <li><a href="https://github.com/bkuhlmann/milestoner">Milestoner – A command line interface for releasing Git repository milestones</a> <span class="label">tool</span></li> <li><a href="https://stackshare.io/shopify/e-commerce-at-scale-inside-shopifys-tech-stack">E-Commerce at Scale: Inside Shopify’s Tech Stack</a></li> <li><a href="https://blog.cloudflare.com/serverless-performance-comparison-workers-lambda/">Serverless Performance: Cloudflare Workers, Lambda and Lambda@Edge</a></li> <li><a href="https://hackernoon.com/consensuspedia-an-encyclopedia-of-29-consensus-algorithms-e9c4b4b7d08f">ConsensusPedia: An Encyclopedia of 30 Consensus Algorithms</a></li> <li><a href="https://code.likeagirl.io/pushing-left-like-a-boss-part-1-80f1f007da95?WT.mc_id=docs-blog-tajanca&amp;WT.mc_id=shehackspurple-blog-tajanca">Pushing Left, Like a Boss: Part 1</a></li> </ul> Mon, 06 Aug 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-76/ https://jakartadev.org/daily-digest-76/ Daily Digest #75 <ul> <li><a href="https://tech.trivago.com/2018/07/13/aws-kinesis-with-lambdas-lessons-learned/">AWS Kinesis with Lambdas: Lessons Learned</a></li> <li><a href="https://justinscholz.de/2018/06/15/an-extensive-zfs-setup-on-macos/">An extensive ZFS setup on MacOS</a></li> <li><a href="https://github.com/chubin/cheat.sh">Various CLI cheatsheet</a></li> <li><a href="https://svpg.com/revenge-of-the-pmo/">Revenge of the PMO</a></li> <li><a href="https://medium.com/@Pier/vue-js-the-good-the-meh-and-the-ugly-82800bbe6684">Vue.js: the good, the meh, and the ugly</a></li> </ul> Wed, 01 Aug 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-75/ https://jakartadev.org/daily-digest-75/ Daily Digest #74 <ul> <li><a href="https://github.com/pmusolino/Wormholy">Wormholy – iOS network debugging, like a wizard 🧙‍♂️</a></li> <li><a href="https://www.castsoftware.com/blog/devops-5-steps-to-get-derailed-projects-back-on-track">DevOps: 5 Steps to Get Derailed Projects Back on Track</a></li> <li><a href="https://www.weave.works/blog/kubernetes-anti-patterns-let-s-do-gitops-not-ciops">Kubernetes anti-patterns: Let’s do GitOps, not CIOps!</a></li> <li><a href="https://buttercms.com/blog/load-testing-round-up-8-tools-you-can-use-to-strengthen-your-stack">Load Testing Round Up: 8 tools you can use to strengthen your stack</a></li> <li><a href="https://www.nextplatform.com/2018/07/17/when-does-kubernetes-become-invisible-and-ubiquitous/">When does kubernetes become invisible and ubiquitous?</a></li> </ul> Wed, 25 Jul 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-74/ https://jakartadev.org/daily-digest-74/ Daily Digest #73 <ul> <li><a href="https://www.tecmint.com/manage-systemd-logs-using-journalctl/">Manage Log Messages Under Systemd Using Journalctl [Comprehensive Guide]</a></li> <li><a href="https://drewdevault.com/2018/05/13/scdoc.html">Introducing scdoc, a man page generator</a></li> <li><a href="https://arxiv.org/abs/1805.04956">Nethammer: Inducing Rowhammer Faults through Network Requests</a></li> <li><a href="https://engineering.hellofresh.com/how-to-hold-the-most-effective-meetings-aee4554404e0">How to Hold the Most Effective Meetings</a></li> <li><a href="https://github.com/guardicore/monkey">Infection Monkey - An automated pentest tool</a> <span class="label">tool</span></li> <li><a href="https://medium.com/@leshchuk/zipem-all-61076c7da4c">Zip’em ALL! – Optimizing Redis memory usage for strings, integers, jsons and anything you like</a></li> </ul> Tue, 24 Jul 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-73/ https://jakartadev.org/daily-digest-73/ Daily Digest #72 <ul> <li><a href="https://cate.blog/2018/05/08/creating-success-together/">Creating success, together</a></li> <li><a href="https://opensource.googleblog.com/2018/05/introducing-git-protocol-version-2.html">Introducing Git protocol version 2</a></li> <li><a href="https://gregoryszorc.com/blog/2018/05/16/revisiting-using-docker/">Revisiting Using Docker</a></li> <li><a href="https://longreads.com/2018/02/15/blockchain-just-isnt-as-radical-as-you-want-it-to-be/">Blockchain Just Isn’t As Radical As You Want It To Be</a></li> <li><a href="https://www.vitavonni.de/blog/201503/2015031201-the-sad-state-of-sysadmin-in-the-age-of-containers.html">The sad state of sysadmin in the age of containers</a></li> </ul> Mon, 23 Jul 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-72/ https://jakartadev.org/daily-digest-72/ Daily Digest #71 <ul> <li><a href="https://blog.sia.tech/the-state-of-cryptocurrency-mining-538004a37f9b">The State of Cryptocurrency Mining</a></li> <li><a href="https://users.ece.utexas.edu/~adnan/pike.html">Rob Pike’s 5 Rules of Programming</a></li> <li><a href="https://hackernoon.com/how-does-your-company-approach-continuous-improvement-9fa7ec3545d3">How Does Your Company Approach Continuous Improvement?</a></li> <li><a href="https://kickstarter.engineering/event-sourcing-made-simple-4a2625113224">Event Sourcing made Simple</a></li> <li><a href="http://www.smashcompany.com/technology/docker-is-a-dangerous-gamble-which-we-will-regret">Docker is the dangerous gamble which we will regret</a></li> </ul> Thu, 19 Jul 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-71/ https://jakartadev.org/daily-digest-71/ Daily Digest #70 <ul> <li><a href="https://engineering.riotgames.com/news/taxonomy-tech-debt">A Taxonomy of tech debt</a></li> <li><a href="https://hackernoon.com/serverless-monitoring-the-good-the-bad-and-the-ugly-2b06e7ffd843">Serverless monitoring — the good, the bad and the ugly</a></li> <li><a href="https://medium.com/@lmatteis/on-user-interface-development-appending-to-the-event-log-8d8ca966795d">On User Interface Development: appending to the event log</a></li> <li><a href="https://www.smashingmagazine.com/2018/04/designing-emotional-interfaces-boring-apps/">How To Design Emotional Interfaces For Boring Apps</a></li> <li><a href="https://read.acloud.guru/six-months-of-serverless-lessons-learned-f6da86a73526">6 things I’ve learned in my first 6 months using serverless</a></li> <li><a href="https://dev.to/srebalaji/useful-tricks-you-might-not-know-about-git-stash-117e">Useful tricks you might not know about Git stash</a></li> </ul> Mon, 16 Jul 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-70/ https://jakartadev.org/daily-digest-70/ Daily Digest #69 <ul> <li><a href="https://github.com/Fewbytes/rubber-docker">Rebuild Docker from Scratch</a></li> <li><a href="http://alistapart.com/article/going-offline">Going Offline</a></li> <li><a href="https://apiumhub.com/tech-blog-barcelona/devops-reading-list-devops-books/">Devops reading list: top 30 best devops books you should read in 2018</a></li> <li><a href="https://blog.botreetechnologies.com/encrypted-credentials-a-new-way-to-use-secrets-in-rails-5-2-eca929629bb4">Encrypted Credentials — A new way to use Secrets in Rails 5.2</a></li> <li><a href="https://github.com/tomnomnom/gron/">Gron – JSON aware grep tool</a></li> <li><a href="https://ronjeffries.com/articles/018-01ff/dark-ecology/">The Agile Ecology</a></li> </ul> Tue, 10 Jul 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-69/ https://jakartadev.org/daily-digest-69/ Daily Digest #68 <ul> <li><a href="https://blog.imaginea.com/scale-part-i-task-queues/">@Scale – Part I (Task Queues)</a></li> <li><a href="https://zwischenzugs.com/2018/04/05/learn-git-rebase-interactively/">Learn Git Rebase Interactively</a></li> <li><a href="https://blog.algolia.com/building-real-time-analytics-apis/">Building Real Time Analytics APIs at Scale</a></li> <li><a href="http://highscalability.com/blog/2018/4/9/give-meaning-to-100-billion-events-a-day-the-analytics-pipel.html">Give Meaning To 100 Billion Events A Day - The Analytics Pipeline At Teads</a></li> <li><a href="https://engineering.salesforce.com/open-sourcing-design-system-react-9be45b8bb127">Open Sourcing Design System React</a></li> </ul> Mon, 09 Jul 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-68/ https://jakartadev.org/daily-digest-68/ Daily Digest #67 <ul> <li><a href="https://hanselminutes.com/600/which-javascript-stack-should-i-learn-with-tracy-lee?utm_source=jakartadev.org">Which JavaScript Stack should I learn?</a></li> <li><a href="https://www.confluent.io/blog/real-time-syslog-processing-apache-kafka-ksql-part-1-filtering">We ❤ syslogs: Real-time syslog Processing with Apache Kafka and KSQL—Part 1: Filtering</a></li> <li><a href="https://medium.com/@Pier/vue-js-the-good-the-meh-and-the-ugly-82800bbe6684?utm_source=jakartadev.org">Moving from React to Vue – Vue.js: the good, the meh, and the ugly</a></li> <li><a href="https://medium.freecodecamp.org/a-deeply-detailed-but-never-definitive-guide-to-mobile-development-architecture-6b01ce3b1528?utm_source=jakartadev.org">Mobile development architecture</a></li> <li><a href="https://blog.imaginea.com/channels-using-async-and-await/">Channels using async and await</a></li> <li><a href="https://technology.condenast.com/story/picking-trending-topics-and-celebrities-using-machine-learning">Picking Trending Topics and Celebrities Using Machine Learning</a></li> </ul> Thu, 05 Jul 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-67/ https://jakartadev.org/daily-digest-67/ Daily Digest #66 <ul> <li><a href="https://hacks.mozilla.org/2018/04/javascript-to-rust-and-back-again-a-wasm-bindgen-tale/">JavaScript to Rust and Back Again: A wasm-bindgen Tale</a></li> <li><a href="https://www.elastic.co/blog/leveraging-elasticsearch-for-a-1000-percent-performance-boost">Leveraging Elasticsearch for a 1,000% performance boost</a></li> <li><a href="https://nodesource.com/blog/understanding-cpu-flame-graphs">Understanding CPU Flame Graphs</a></li> <li><a href="https://github.com/evait-security/envizon">Envizon – network visualization too</a> <span class="label">tool</span></li> <li><a href="https://hackernoon.com/consensus-mechanisms-explained-pow-vs-pos-89951c66ae10">Consensus Mechanisms Explained: PoW vs. PoS</a></li> <li><a href="https://alexwlchan.net/a-plumbers-guide-to-git/">A Plumber’s Guide to Git</a></li> </ul> Wed, 04 Jul 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-66/ https://jakartadev.org/daily-digest-66/ Daily Digest #65 <p><em>Off</em> selama hampir sebulan.</p> <ul> <li><a href="https://robots.thoughtbot.com/stop-coding-and-start-drawing">Stop Coding and Start Drawing</a></li> <li><a href="https://www.digitalocean.com/community/tutorials/an-introduction-to-ci-cd-best-practices"> An Introduction to CI/CD Best Practices</a></li> <li><a href="https://engineering.salesforce.com/mapping-kubernetes-ceph-volumes-the-rbd-nbd-way-21f7c4161f04">Mapping Kubernetes Ceph Volumes the RBD-NBD Way</a></li> <li><a href="https://hackernoon.com/another-reason-why-your-docker-containers-may-be-slow-d37207dec27f?source=rss----3a8144eabfe3---4">Another reason why your Docker containers may be slow</a></li> <li><a href="https://www.oreilly.com/ideas/5-tips-for-architecting-fast-data-applications">5 tips for architecting fast data applications</a></li> <li><a href="https://sysdig.com/blog/kubernetes-security-guide/">Kubernetes Security Guide</a></li> </ul> Tue, 03 Jul 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-65/ https://jakartadev.org/daily-digest-65/ Daily Digest #64 <ul> <li><a href="https://blog.codeship.com/performing-zero-downtime-releases/?utm_source=jakartadev.org">Performing Zero Downtime Releases</a></li> <li><a href="https://blog.novoda.com/introduction-to-redux-in-flutter/?utm_source=jakartadev.org">Introduction to Redux in Flutter</a></li> <li><a href="https://tech.showmax.com/2018/04/why-so-serious/?utm_source=jakartadev.org">How Showmax got into live streaming – Part IV</a></li> <li><a href="https://blogs.dxc.technology/2018/05/08/everything-old-is-new-again-microservices/?utm_source=jakartadev.org">Everything old is new again: Microservices</a></li> <li><a href="https://blog.risingstack.com/the-history-of-react-js-on-a-timeline/?utm_source=jakartadev.org">The History of React.js on a Timeline</a></li> <li><a href="https://allegro.tech/2018/04/intuition-engineering-at-allegro-with-phobos.html?utm_source=jakartadev.org">Intuition Engineering at Allegro with Phobos</a></li> </ul> Sun, 17 Jun 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-64/ https://jakartadev.org/daily-digest-64/ Daily Digest #63 <ul> <li><a href="https://blog.getambassador.io/rate-limiting-for-api-gateways-892310a2da02?source=jakartadev.org">Part 2: Rate Limiting for API gateways</a></li> <li><a href="https://di.nmfay.com/postgres-vs-mysql?source=jakartadev.org">the ultimate postgres vs mysql blog post</a> – for a while..</li> <li><a href="https://www.dataquest.io/blog/postgres-internals/?source=jakartadev.org">Postgres Internals: Building a Description Tool</a></li> <li><a href="http://patshaughnessy.net/2016/1/22/is-your-postgres-query-starved-for-memory?source=jakartadev.org">Is Your Postgres Query Starved for Memory?</a> – old post, but still relevant for everyday use</li> <li><a href="https://zwischenzugs.com/2018/05/14/beyond-punk-rock-git-in-eleven-steps/?source=jakartadev.org">Beyond ‘Punk Rock Git’ in Eleven Steps</a></li> <li><a href="https://buttercms.com/books/microservices-for-startups/five-microservice-testing-strategies-for-startups?source=jakartadev.org">Five microservice testing strategies for startups</a></li> </ul> Sat, 16 Jun 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-63/ https://jakartadev.org/daily-digest-63/ Daily Digest #62 <ul> <li><a href="http://engineering.khanacademy.org/posts/slicker.htm?source=jakartadev.org">Slicker: A Tool for Moving Things in Python</a> <span class="label">tool</span></li> <li><a href="https://eng.datafox.com/machine-learning/2018/04/03/extracting-signals-from-the-news/?source=jakartadev.org">Extracting Signals From the News</a></li> <li><a href="https://hackernoon.com/information-theory-of-neural-networks-c96a0f0a8d9?source=jakartadev.org">Information Theory of Neural Networks</a></li> <li><a href="https://dev.to/samipietikainen/why-junior-devs-should-review-seniors-commits-feb?source=jakartadev.org">Why junior devs should review seniors’ commits</a></li> <li><a href="https://hackernoon.com/builders-of-the-decentralized-web-10-of-the-most-innovative-technologies-197271aefa82?source=jakartadev.org">Builders of the Decentralized Web: 10 Of The Most Innovative Technologies</a></li> <li><a href="https://blog.getambassador.io/rate-limiting-a-useful-tool-with-distributed-systems-6be2b1a4f5f4?source=jakartadev.org">Part 1: Rate Limiting: A Useful Tool with Distributed Systems</a></li> </ul> Fri, 15 Jun 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-62/ https://jakartadev.org/daily-digest-62/ Daily Digest #61 <ul> <li><a href="https://github.com/anordal/shellharden/blob/master/how_to_do_things_safely_in_bash.md?source=jakartadev.org">Safe ways to do things in bash</a> – we all did it, aren’t we?</li> <li><a href="https://blog.johnnyreilly.com/2018/05/compromising-guide-for-developers.html?source=jakartadev.org">Compromising: A Guide for Developers</a></li> <li><a href="http://wunder.schoenaberselten.com/2018/05/12/27-things-i-learned-about-hiring-in-tech-from-looking-for-a-new-engineering-management-role/?source=jakartadev.org">27 things I learned about hiring in tech from looking for a new engineering management role</a></li> <li><a href="https://hackernoon.com/the-comprehensive-beginners-guide-to-javascript-geolocation-tracking-11f7a1bba400?source=jakartadev.org">The Comprehensive Beginner’s Guide to JavaScript Geolocation Tracking</a></li> <li><a href="https://blog.cloudflare.com/dns-resolver-1-1-1-1/?source=jakartadev.org">Introducing DNS Resolver, 1.1.1.1 (not a joke)</a></li> <li><a href="https://engineering.foursquare.com/phones-lambdas-and-the-joy-of-snap-to-place-technology-2875244100dd?source=jakartadev.org">Phones, Lambdas and the Joy of Snap-to-Place Technology</a></li> </ul> Thu, 14 Jun 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-61/ https://jakartadev.org/daily-digest-61/ Daily Digest #60 <ul> <li><a href="https://medium.com/@Pinterest_Engineering/improving-hbase-backup-efficiency-at-pinterest-86159da4b954">Improving HBase backup efficiency at Pinterest</a></li> <li><a href="https://makefrontendshitagain.party/">Make frontend SHIT again</a> – kinda nostalgic</li> <li><a href="https://github.com/bcongdon/corral">Corral – A serverless MapReduce framework written for AWS Lambda</a></li> <li><a href="https://blog.timescale.com/scalable-postgresql-high-availability-read-scalability-streaming-replication-fb95023e2af">High availability and scalable reads in PostgreSQL</a></li> <li><a href="https://blog.gruntwork.io/open-sourcing-terratest-a-swiss-army-knife-for-testing-infrastructure-code-5d883336fcd5">Open sourcing Terratest: a swiss army knife for testing infrastructure code</a></li> </ul> Wed, 13 Jun 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-60/ https://jakartadev.org/daily-digest-60/ Daily Digest #59 <ul> <li><a href="https://www.oreilly.com/ideas/6-creative-ways-to-solve-problems-with-linux-containers-and-docker?utm_source=jakartadev.org">6 creative ways to solve problems with Linux containers and Docker</a></li> <li><a href="https://dev.to/levimoreira/i-love-anti-patterns-1bj1">I Love Anti Pattern</a></li> <li><a href="https://hackernoon.com/running-distributed-erlang-elixir-applications-on-docker-b211d95affbe">Running distributed Erlang &amp; Elixir applications on Docker</a></li> <li><a href="https://hackernoon.com/analysing-1-4-billion-rows-with-python-6cec86ca9d73">Analysing 1.4 billion rows with python</a></li> <li><a href="https://loige.co/aws-command-line-s3-content-from-stdin-or-to-stdout/">AWS Command line: S3 content from stdin or to stdout</a></li> <li><a href="https://happi.github.io/theBeamBook/">Erlang Runtime System</a></li> </ul> Tue, 12 Jun 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-59/ https://jakartadev.org/daily-digest-59/ Daily Digest #58 <ul> <li><a href="https://blog.logrocket.com/using-webworkers-for-safe-concurrent-javascript-3f33da4eb0b2">Using web workers for safe, concurrent JavaScript</a></li> <li><a href="https://www.toptal.com/javascript/comprehensive-guide-javascript-design-patterns">The Comprehensive Guide to JavaScript Design Patterns</a></li> <li><a href="https://techbeacon.com/new-face-ops-resources-modern-ops-distributed-systems-engineers">30+ resources for modern IT Ops professionals</a></li> <li><a href="http://jmoiron.net/blog/is-k8s-too-complicated/">Is K8s Too Complicated?</a></li> <li><a href="https://gitea.io/en-US/">Gitea – self-hosted GIT</a> <span class="label">tool</span></li> </ul> Mon, 11 Jun 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-58/ https://jakartadev.org/daily-digest-58/ Daily Digest #57 <ul> <li><a href="http://www.atdot.net/~ko1/activities/2018_RubyElixirConfTaiwan.pdf">Progress report of “Ruby 3 Concurrency”</a></li> <li><a href="https://levelup.gitconnected.com/how-to-use-technical-debt-in-your-favor-98bae475ba68">How To Use Technical Debt In Your Favor 🔊</a></li> <li><a href="https://hackernoon.com/the-stress-of-remote-working-38be5bdcf4da">The Stress of Remote Working</a></li> <li><a href="https://evilmartians.com/chronicles/optimizing-react-virtual-dom-explained">Optimizing React: Virtual DOM explained</a></li> </ul> Sun, 10 Jun 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-57/ https://jakartadev.org/daily-digest-57/ Daily Digest #56 <ul> <li><a href="https://nordicapis.com/is-graphql-moving-toward-ubiquity/">Is GraphQL Moving Toward Ubiquity?</a></li> <li><a href="https://www.oreilly.com/ideas/tobi-knaup-and-gou-rao-on-stateful-containers">Tobi Knaup and Gou Rao on stateful containers</a></li> <li><a href="https://blog.wallaroolabs.com/2018/03/performance-testing-a-low-latency-stream-processing-system/">Performance testing a low-latency stream processing system</a></li> <li><a href="https://github.com/jgraichen/msgr">msgr – A Rails-like Messaging Framework</a> <span class="label">tool</span></li> <li><a href="https://mostly-adequate.gitbooks.io/mostly-adequate-guide/">Learn the basic of functional programming using Javascript</a></li> </ul> Sat, 09 Jun 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-56/ https://jakartadev.org/daily-digest-56/ Daily Digest #55 <ul> <li><a href="https://github.com/openfootball/world-cup.json">World cup 2018 Opendata</a></li> <li><a href="https://hackernoon.com/real-time-api-monitoring-using-go-and-pusher-4e57c4e80cac">Real-time API Monitoring Using GO and Pusher</a></li> <li><a href="https://blog.heroku.com/exploration-of-security-when-building-docker-containers">A House of Cards: An Exploration of Security When Building Docker Containers</a></li> <li><a href="https://www.scylladb.com/2018/03/08/how-to-build-time-series-database/">Learn How to Build a Time Series Database</a></li> </ul> Fri, 08 Jun 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-55/ https://jakartadev.org/daily-digest-55/ Daily Digest #54 <ul> <li><a href="https://marsbased.com/blog/2018/05/28/shot-stars-landed-mars-lessons-learnt-fourth-year/">Lesson learnt fourth year running a Ruby consultancy</a></li> <li><a href="https://open.nytimes.com/how-the-new-york-times-uses-software-to-recognize-members-of-congress-29b46dd426c7?source=rss----51e1d1745b32---4">How The New York Times Uses Software To Recognize Members of Congress</a></li> <li><a href="https://buttercms.com/books/microservices-for-startups/should-you-break-up-your-monolithic-application">Should you break up your monolithic application?</a></li> <li><a href="https://dev.to/frosnerd/infrastructure-as-code---managing-aws-with-terraform-i9o">Infrastructure as Code - Managing AWS With Terraform </a></li> </ul> Thu, 07 Jun 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-54/ https://jakartadev.org/daily-digest-54/ Daily Digest #53 <ul> <li><a href="https://github.com/catid/Zpng?utm_source=jakartadev">Zpng – PNG lossless compression</a> <span class="label">tool</span></li> <li><a href="https://stratechery.com/2018/the-cost-of-developers/?utm_source=jakartadev">The Cost of Developers</a></li> <li><a href="https://dev.to/neshaz/git-merge-vs-git-rebase-5134?utm_source=jakartadev">Git Merge vs Git Rebase</a></li> <li><a href="https://medium.com/@xevix/gaijin-engineer-in-tokyo-aaa9be8919b2?utm_source=jakartadev">Gaijin Engineer in Tokyo</a></li> <li><a href="https://developer.apple.com/wwdc/?utm_source=jakartadev">WWDC 18</a></li> <li><a href="https://gravitational.com/blog/hashing-for-anonymization/?utm_source=jakartadev">The False Allure of Hashing for Anonymization</a></li> <li><a href="https://read.acloud.guru/serverless-application-with-flutter-lambda-aa0d264fbefd?utm_source=jakartadev">Google Flutter with AWS Lambda to build a serverless mobile app for movie listings</a></li> <li><a href="https://distill.pub/2018/building-blocks/?utm_source=jakartadev">The Building Blocks of Interpretability</a></li> <li><a href="https://towardsdatascience.com/fasterrcnn-explained-part-1-with-code-599c16568cff?utm_source=jakartadev">Detecting Objects in (almost) Real-time: FasterRCNN Explained with Code</a></li> <li><a href="https://blogs.microsoft.com/blog/2018/06/04/microsoft-github-empowering-developers/?utm_source=jakartadev">Microsoft acquired Github!</a>, and <a href="https://blog.github.com/2018-06-04-github-microsoft/">blogpost from Github</a>.</li> <li><a href="https://github.com/RohitAwate/Everest?utm_source=jakartadev">Everest – A beautiful and lightweight REST client built with JavaFX</a></li> <li><a href="https://www.datadoghq.com/blog/container-map/?utm_source=jakartadev">Container map view in Datadog</a></li> </ul> Wed, 06 Jun 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-53/ https://jakartadev.org/daily-digest-53/ Daily Digest #52 <ul> <li><a href="https://read.iopipe.com/streaming-open-source-work-one-hour-one-day-at-a-time-live-on-twitch-f510f2d46f4e">Streaming Open Source Work: One Hour, One Day at a Time, Live on Twitch</a></li> <li><a href="https://www.facebook.com/notes/protect-the-graph/detecting-phishing-domains-using-certificate-transparency/2037453483161459/">Detecting phishing domains using Certificate Transparency</a></li> <li><a href="http://cs.brown.edu/courses/cs173/2012/book/index.html">Programming Languages: Application and Interpretation</a></li> <li><a href="https://medium.com/@chrisdaviesgeek/when-mutability-bites-6387de768d7">When mutability bites</a></li> <li><a href="https://jacobian.org/writing/engmanager-reading-list/">A reading list for new engineers managers</a></li> <li><a href="https://asatarin.github.io/testing-distributed-systems/">Testing Distributed Systems</a></li> <li><a href="http://theorangeduck.com/page/the-software-thief">The Software Thief</a></li> </ul> Tue, 08 May 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-52/ https://jakartadev.org/daily-digest-52/ Daily Digest #51 <ul> <li><a href="https://hackernoon.com/powering-your-app-with-a-realtime-messaging-cdn-13d92a6df5f3">How To Power Your App Using a Realtime Data CDN</a></li> <li><a href="https://medium.com/netlify/how-netlifys-deploying-and-routing-infrastructure-works-c90adbde3b8d">How Netlify’s deploying and routing infrastructure works</a></li> <li><a href="https://github.com/cooldrip/jhop">JHop – Create fake REST API in one sec</a> <span class="label">code</span></li> <li><a href="https://proton-native.js.org/#/">Proton Native – Create native desktop app</a> <span class="label">code</span></li> <li><a href="https://blog.figma.com/rust-in-production-at-figma-e10a0ec31929?gi=bcd727c0361a">Rust in production at Figma</a></li> <li><a href="https://medium.com/erlang-battleground/beautiful-code-254a5f8ef958">Beautiful Code</a></li> <li><a href="https://www.cockroachlabs.com/blog/kubernetes-state-of-stateful-apps/">Kubernetes: The State of Stateful Apps</a></li> </ul> Mon, 07 May 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-51/ https://jakartadev.org/daily-digest-51/ Daily Digest #50 <ul> <li><a href="https://jalammar.github.io/visualizing-pandas-pivoting-and-reshaping/">Visualizing Pandas’ Pivoting and Reshaping Functions</a></li> <li><a href="https://medium.freecodecamp.org/how-to-conquer-webpack-4-and-build-a-sweet-react-app-236d721e6745?source=rss----336d898217ee---4">How to conquer Webpack 4 and build a sweet React app</a></li> <li><a href="https://thenewstack.io/red-hat-releases-a-framework-to-easily-package-applications-for-kubernetes/">Red Hat Releases a Framework to Easily Package Applications for Kubernetes</a>, project <a href="https://github.com/operator-framework">Operator Framework</a></li> <li><a href="https://hackernoon.com/1-min-to-run-a-service-in-kubernetes-kapp-tool-907fcec9f01a">1 min* to run a service in Kubernetes — kapp tool</a></li> <li><a href="https://www.smashingmagazine.com/2018/04/sharing-code-between-projects/">Sharing Code Between Projects: Lessons Learned In The Trenches</a></li> <li><a href="https://hackernoon.com/these-6-essential-tools-will-maintain-your-npm-modules-for-you-4cbbee88e0cb?utm_source=jakartadev">These 6 essential tools will release, version, and maintain your NPM modules for you</a></li> <li><a href="https://jobs.zalando.com/tech/blog/migrating-java-8/index.html">Short Story of a Long Migration </a></li> </ul> Fri, 04 May 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-50/ https://jakartadev.org/daily-digest-50/ Daily Digest #49 <ul> <li><a href="https://medium.com/the-mission/how-to-become-an-expert-in-anything-6b0a5e6ab27f">How To Become An Expert In Anything</a></li> <li><a href="https://blog.codeship.com/refactoring-for-the-tell-dont-ask-pattern/">Refactoring for the Tell Don’t Ask Pattern</a></li> <li><a href="https://blog.eleven-labs.com/fr/rabbitmq-partie-1-les-bases/">RabbitMQ, Basics to mastery (part 1)</a></li> <li><a href="https://blog.eleven-labs.com/fr/rabbitmq-partie-2-la-maitrise/">RabbitMQ, Basics to mastery (part 2)</a></li> <li><a href="https://medium.com/@weblab_tech/graphql-everything-you-need-to-know-58756ff253d8">GraphQL: Everything You Need to Know</a></li> <li><a href="https://medium.com/@bharath.jayachandran29/docker-for-data-science-c525d5408b52">Docker for Data Science</a></li> <li><a href="https://medium.com/@nicola.rizzo/creating-the-simplest-possible-api-with-symfony-4-and-docker-3b5bf205b3b7">Creating the simplest possible API with Symfony 4 and Docker</a></li> </ul> Thu, 26 Apr 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-49/ https://jakartadev.org/daily-digest-49/ Daily Digest #48 <p>Saatnya menulis kembali, <em>selamat hari rabu!</em></p> <ul> <li><a href="https://itsfoss.com/ubuntu-18-04-faq/">Things You Should Know About Ubuntu 18.04</a></li> <li><a href="https://lethain.com//migrations/">Migrations: the sole scalable fix to tech debt.</a></li> <li><a href="https://medium.com/npm-inc/announcing-npm-6-5d0b1799a905">Announcing npm@6</a></li> <li><a href="http://www.full-stackagile.com/2016/02/14/team-organisation-squads-chapters-tribes-and-guilds/">Agile Team Organisation: Squads, Chapters, Tribes and Guilds</a></li> <li><a href="https://webdesign.tutsplus.com/articles/8-golden-rules-for-better-interface-design--cms-30886">8 Golden Rules for Better Interface Design</a></li> <li><a href="http://blog.codepipes.com/testing/software-testing-antipatterns.html">Software Testing Anti-patterns</a></li> </ul> Wed, 25 Apr 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-48/ https://jakartadev.org/daily-digest-48/ Daily Digest #47 <ul> <li><a href="https://blogs.msdn.microsoft.com/oldnewthing/20180326-00/?p=98335">What are the odds that two pull requests get completed at the exact same time?</a></li> <li><a href="https://blogs.msdn.microsoft.com/typescript/2018/03/27/announcing-typescript-2-8/">Announcing TypeScript 2.8</a></li> <li><a href="https://rachelbythebay.com/w/2018/03/26/w/">Why I usually run ‘w’ first when troubleshooting unknown machines</a></li> <li><a href="https://blog.mozilla.org/firefox/facebook-container-extension/">Facebook Container Extension: Take control of how you’re being tracked</a></li> <li><a href="https://olivierlacan.com/posts/cd-is-wasting-your-time/">cd is Wasting Your Time</a></li> <li><a href="https://flaviocopes.com/react-router/">Introduction to React Router</a></li> </ul> Fri, 30 Mar 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-47/ https://jakartadev.org/daily-digest-47/ Daily Digest #46 <ul> <li><a href="https://www.imperva.com/blog/2018/03/deep-dive-database-attacks-scarlett-johanssons-picture-used-for-crypto-mining-on-postgre-database/">A Deep Dive into Database Attacks (Part III): Why Scarlett Johansson’s Picture Got My Postgres Database to Start Mining Monero</a></li> <li><a href="https://nrempel.com/posts/sublime-to-vscode/">Switching From Sublime Text to Visual Studio Code</a></li> <li><a href="https://www.sciencedirect.com/science/article/pii/S0164121218300323?via%3Dihub">What happens when software developers are (un)happy</a></li> <li><a href="https://github.com/appbaseio/dejavu">Dejavu – The Missing Web UI for Elasticsearch</a></li> <li><a href="https://blogs.msdn.microsoft.com/devops/2018/03/12/how-vsts-is-accelerating-the-engineering-group-behind-windows/">How VSTS is Accelerating the Engineering Group Behind Windows</a></li> <li><a href="https://medium.com/@copyconstruct/testing-in-production-the-safe-way-18ca102d0ef1">Testing in Production, the safe way</a></li> <li><a href="https://blog.intercom.com/run-less-software/">Run less software</a></li> </ul> Thu, 29 Mar 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-46/ https://jakartadev.org/daily-digest-46/ Daily Digest #45 <ul> <li><a href="https://www.techradar.com/news/ruby-is-alive-and-well-and-thinking-about-the-next-25-years">Ruby is alive and well and thinking about the next 25 years</a></li> <li><a href="https://www.toptal.com/python/in-depth-python-logging">Python Logging: An In-Depth Tutorial</a></li> <li><a href="https://capgemini.github.io/.net/serverless-and-using-it/">Serverless, and the challenges using it </a></li> <li><a href="https://engineering.linkedin.com/blog/2018/03/linkedin-lite--a-lightweight-mobile-web-experience">LinkedIn Lite: A Lightweight Mobile Web Experience</a></li> <li><a href="https://medium.com/netflix-techblog/using-machine-learning-to-improve-streaming-quality-at-netflix-9651263ef09f">Using Machine Learning to Improve Streaming Quality at Netflix</a></li> <li><a href="https://hackernoon.com/a-beginners-guide-to-ipfs-20673fedd3f">A Beginner’s Guide to IPFS</a></li> <li><a href="https://eng.uber.com/qalm/#utm_source=jakartadev">Introducing QALM, Uber’s QoS Load Management Framework</a></li> </ul> Wed, 28 Mar 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-45/ https://jakartadev.org/daily-digest-45/ Issue #21 <h3 id="reading-list">Reading list</h3> <ul> <li><a href="https://blog.docker.com/2018/03/5-years-later-docker-come-long-way/">The evolution of Docker</a></li> <li><a href="https://zwischenzugs.com/2018/03/14/five-key-git-concepts-explained-the-hard-way/">Five Key Git Concepts Explained the Hard Way</a></li> <li><a href="http://redisgraph.io/design/">RedisGraph – A High Performance In-Memory Graph Database as a Redis Module</a></li> <li><a href="http://www.soulcutter.com/articles/memoizing-in-ruby.html">Memoizing in Ruby</a></li> <li><a href="https://hacks.mozilla.org/2018/03/bringing-interactive-examples-to-mdn/">Bringing interactive examples to MDN</a></li> <li><a href="https://nordicapis.com/why-you-should-be-designing-apis-to-spec/">Why You Should Be Designing APIs to Spec</a></li> <li><a href="https://blog.codeship.com/finding-project-management-balance-for-small-engineering-teams/">Finding project management balance for small engineering teams</a></li> <li><a href="https://blog.loadmill.com/run-chaos-experiments-without-risking-your-job-2c8a5f4b0bfc">Run Chaos Experiments Without Risking Your Job</a></li> <li><a href="https://www.reuters.com/article/us-slack-outages/slack-technologies-builds-engineering-team-to-combat-outages-idUSKBN1GX31L">Slack Technologies builds engineering team to combat outages</a></li> <li><a href="https://arstechnica.com/gadgets/2018/03/building-windows-4-million-commits-10-million-work-items/">Building Windows: 4 million commits, 10 million work items</a></li> <li><a href="https://tech.findmypast.com/technical-debt/">Technical debt</a></li> <li><a href="https://hackernoon.com/understanding-git-index-4821a0765cf">Understanding Git — Index</a></li> <li><a href="https://www.toptal.com/nodejs/integration-and-e2e-tests-nodejs-mongodb">Integration and End-to-end Tests Made Easy with Node.js and MongoDB</a></li> <li><a href="https://blog.risingstack.com/history-of-node-js/">History of Node.js on a Timeline</a></li> <li><a href="https://codewithoutrules.com/2018/03/23/you-are-not-your-tools/">You are not your tools</a></li> </ul> <h3 id="news">News</h3> <ul> <li><a href="https://www.gluster.org/announcing-gluster-4-0/">Gluster 4.0</a></li> </ul> <h3 id="codes--tools">Codes &amp; Tools</h3> <ul> <li><a href="https://fossa.io/">Fossa</a></li> <li><a href="https://github.com/sindresorhus/fkill-cli">FKill – Fabulously kill processes. Cross-platform.</a></li> </ul> Tue, 27 Mar 2018 00:00:00 +0000 https://jakartadev.org/newsletter-issue-21/ https://jakartadev.org/newsletter-issue-21/ Daily Digest #44 <ul> <li><a href="https://zwischenzugs.com/2018/03/26/git-log-the-good-parts/">GIT log – The good parts</a></li> <li><a href="https://arrow.apache.org/">Apache Arrow</a> <span class="label">code</span> <span class="label">big data</span></li> <li><a href="https://gokrazy.org/">Gokrazy – pure-Go userland for your Raspberry Pi 3 appliances</a></li> <li><a href="https://github.com/onivim/oni">Onivim – New editor</a> – !TODO: review</li> <li><a href="https://github.com/djrobstep/migra">migra: PostgreSQL migrations</a> <span class="label">tool</span></li> </ul> Tue, 27 Mar 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-44/ https://jakartadev.org/daily-digest-44/ Daily Digest #43 <ul> <li><a href="https://www.theverge.com/2018/3/20/17130056/telltale-games-developer-layoffs-toxic-video-game-industry">Toxic Management cost and award-winning game studio its best developers</a></li> <li><a href="https://michaelwashere.net/void/linux/culture/2017/09/18/into-the-void.html">Into The Void</a></li> <li><a href="http://blog.timoxley.com/post/47041269194/avoid-else-return-early">Avoid Else, Return Early</a></li> <li><a href="http://tech.marksblogg.com/billion-nyc-taxi-rides-ec2-versus-emr.html">1.1 Billion Taxi Rides: EC2 versus EMR</a></li> <li><a href="https://rhye.org/post/native-methods-in-erlang/">Natively Implemented Functions in Erlang</a></li> <li><a href="http://treyhunner.com/2018/02/python-3-s-range-better-than-python-2-s-xrange/">Python 3’s range is more powerful than Python 2’s xrange</a></li> <li><a href="https://tech.binary.com/unit-testing-with-futures/">Unit Testing Asynchronous Code</a></li> </ul> Mon, 26 Mar 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-43/ https://jakartadev.org/daily-digest-43/ Daily Digest #42 <ul> <li><a href="https://blog.risingstack.com/history-of-node-js/">History of Node.js on a Timeline</a></li> <li><a href="https://code.facebook.com/posts/187912491817160/the-next-step-in-facebook-s-ai-hardware-infrastructure/">The next step in Facebook’s AI hardware infrastructure</a></li> <li><a href="https://www.smashingmagazine.com/2018/03/lazy-loading-with-conditioner-js/">Lazy Loading JavaScript Modules With ConditionerJS</a></li> <li><a href="https://hackernoon.com/make-your-graphql-api-easier-to-adopt-through-components-74b022f195c1">Make your GraphQL API Easier To Adopt Through Components</a></li> <li><a href="https://codewithoutrules.com/2018/03/23/you-are-not-your-tools/">You are not your tools</a></li> <li><a href="https://alex.dzyoba.com/blog/redis-ha/">Redis high availability</a></li> <li><a href="https://flaviocopes.com/script-async-defer/">Efficiently load JavaScript with defer and async</a></li> </ul> Sun, 25 Mar 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-42/ https://jakartadev.org/daily-digest-42/ Daily Digest #41 <ul> <li><a href="https://tech.findmypast.com/technical-debt/">Technical debt</a></li> <li><a href="https://medium.engineering/2-fast-2-furious-migrating-mediums-codebase-without-slowing-down-84b1e33d81f4">2 Fast 2 Furious: migrating Medium’s codebase without slowing down</a></li> <li><a href="https://hackernoon.com/understanding-git-index-4821a0765cf">Understanding Git — Index</a></li> <li><a href="https://towardsdatascience.com/common-patterns-for-analyzing-data-da1908640641">Common Patterns for Analyzing Data</a></li> <li><a href="https://blog.insightdatascience.com/automated-front-end-development-using-deep-learning-3169dd086e82?source=jakartadev">Automated front-end development using deep learning</a></li> <li><a href="https://hackernoon.com/releasing-supervisely-person-dataset-for-teaching-machines-to-segment-humans-1f1fc1f28469">🎁 Releasing “Supervisely Person” dataset for teaching machines to segment humans</a></li> <li><a href="https://www.toptal.com/nodejs/integration-and-e2e-tests-nodejs-mongodb">Integration and End-to-end Tests Made Easy with Node.js and MongoDB</a></li> </ul> Sat, 24 Mar 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-41/ https://jakartadev.org/daily-digest-41/ Daily Digest #40 <ul> <li><a href="https://www.gluster.org/announcing-gluster-4-0/">Gluster 4.0</a></li> <li><a href="https://nullp0tr.com/pages/declarative_apis.html">Declarative Programming with Python</a></li> <li><a href="https://blog.meetupfeed.com/go-talk-recordings-meetups-conferences-q4-2017/">Go Talk recordings from meetups and conferences during Q4 2017</a></li> <li><a href="https://www.reuters.com/article/us-slack-outages/slack-technologies-builds-engineering-team-to-combat-outages-idUSKBN1GX31L">Slack Technologies builds engineering team to combat outages</a></li> <li><a href="https://arstechnica.com/gadgets/2018/03/building-windows-4-million-commits-10-million-work-items/">Building Windows: 4 million commits, 10 million work items</a></li> <li><a href="https://engineering.shopify.com/blogs/engineering/future-proofing-our-cloud-storage-usage">Future proofing our cloud storage usage</a></li> <li><a href="https://tech.findmypast.com/searching-for-solr/">Searching for Solr</a></li> </ul> Fri, 23 Mar 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-40/ https://jakartadev.org/daily-digest-40/ Daily Digest #39 <ul> <li><a href="https://fossa.io/">Fossa</a> <span class="label">tool</span></li> <li><a href="https://databricks.com/blog/2018/03/20/low-latency-continuous-processing-mode-in-structured-streaming-in-apache-spark-2-3-0.html">Introducing Low-latency Continuous Processing Mode in Structured Streaming in Apache Spark 2.3.0</a></li> <li><a href="https://hacks.mozilla.org/2018/03/bringing-interactive-examples-to-mdn/">Bringing interactive examples to MDN</a></li> <li><a href="https://nordicapis.com/why-you-should-be-designing-apis-to-spec/">Why You Should Be Designing APIs to Spec</a></li> <li><a href="https://blog.codeship.com/finding-project-management-balance-for-small-engineering-teams/">Finding project management balance for small engineering teams</a></li> <li><a href="https://blog.loadmill.com/run-chaos-experiments-without-risking-your-job-2c8a5f4b0bfc">Run Chaos Experiments Without Risking Your Job</a></li> <li><a href="https://github.com/sindresorhus/fkill-cli">FKill – Fabulously kill processes. Cross-platform.</a> <span class="label">tool</span></li> </ul> Thu, 22 Mar 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-39/ https://jakartadev.org/daily-digest-39/ Daily Digest #38 <ul> <li><a href="https://blog.docker.com/2018/03/5-years-later-docker-come-long-way/">The evolution of Docker</a></li> <li><a href="https://code.facebook.com/posts/226845501211938/fabric-aggregator-a-flexible-solution-to-our-traffic-demand/?utm_source=jakartadev">Fabric Aggregator: A flexible solution to our traffic demand</a></li> <li><a href="https://zwischenzugs.com/2018/03/14/five-key-git-concepts-explained-the-hard-way/">Five Key Git Concepts Explained the Hard Way</a></li> <li><a href="https://gitkube.sh/">Gitkube – tool for building and deploying docker images on Kubernetes using git push</a> <span class="label">tool</span></li> <li><a href="http://redisgraph.io/design/">RedisGraph – A High Performance In-Memory Graph Database as a Redis Module</a></li> <li><a href="https://github.com/Microsoft/service-fabric">Microsoft Service Fabric</a> <span class="label">tool</span></li> <li><a href="http://www.soulcutter.com/articles/memoizing-in-ruby.html">Memoizing in Ruby</a></li> </ul> Wed, 21 Mar 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-38/ https://jakartadev.org/daily-digest-38/ Issue #20 <h3 id="reading-list">Reading list</h3> <ul> <li><a href="https://www.scylladb.com/2018/03/08/how-to-build-time-series-database/">Learn How to Build a Time Series Database</a></li> <li><a href="https://blog.sessionstack.com/how-javascript-works-tracking-changes-in-the-dom-using-mutationobserver-86adc7446401">How JavaScript works: tracking changes in the DOM using MutationObserver</a></li> <li><a href="https://www.oreilly.com/ideas/transforming-enterprise-integration-with-reactive-streams">Transforming enterprise integration with reactive streams</a></li> <li><a href="https://www.invisionapp.com/blog/accessibility-for-developers/?utm_campaign=Weekly%20Digest&amp;utm_source=jakartadev.org">Accessibility for developers</a></li> <li><a href="https://www.serverlessops.io/blog/serverless-ops-what-do-we-do-when-the-server-goes-away">Serverless Ops: What do we do when the server goes away?</a></li> <li><a href="https://sanderknape.com/2018/03/secret-management-design-decisions-theory-plus-an-example/">Secret management design decisions theory</a></li> <li><a href="https://hackernoon.com/to-boldly-log-debug-docker-apps-effectively-using-logs-options-tail-and-grep-53d2e655abcb">To boldly log: debug Docker apps effectively using logs options, tail and grep</a></li> <li><a href="https://testdriven.io/asynchronous-tasks-with-falcon-and-celery">Asynchronous Tasks with Falcon and Celery</a></li> <li><a href="https://www.valentinog.com/blog/tutorial-api-django-rest-react/">Tutorial: Django REST with React (Django 2.0)</a></li> <li><a href="https://towardsdatascience.com/effective-naming-in-data-science-ea847c04f51b">The Effect of Naming in Data Science Code</a></li> <li><a href="https://engineering.linkedin.com/blog/2018/03/how-we-built-the-same-app-twice-with-preact-and-glimmerjs">Lighter than Lightweight: How We Built the Same App Twice with Preact and Glimmer.js</a></li> <li><a href="http://blog.memsql.com/shattering-the-trillion-rows-per-second-barrier-with-memsql/?utm_source=jakartadev">Shattering the Trillion-Rows-Per-Second Barrier With MemSQL</a></li> <li><a href="https://blog.heroku.com/monolithic-applications-into-services?utm_source=jakartadev">SHIFT Commerce’s Journey: Deconstructing Monolithic Applications into Services</a></li> <li><a href="https://eng.uber.com/grail/?utm_source=jakartadev">Scaling Infrastructure Management with Grail</a></li> <li><a href="https://tech.trello.com/how-to-release-a-buggy-app-and-live-to-tell-the-story/?utm_source=jakartadev">How to Release a Buggy App (And Live to Tell the Tale)</a></li> <li><a href="https://insights.stackoverflow.com/survey/2018?utm_source=jakartadev">Developer Survey Results</a></li> <li><a href="https://medium.com/netflix-techblog/project-nimble-region-evacuation-reimagined-d0d0568254d4?utm_source=jakartadev">Project Nimble: Region Evacuation Reimagined</a></li> <li><a href="https://www.confluent.io/blog/event-sourcing-using-apache-kafka/?utm_source=jakartadev">Event Sourcing Using Apache Kafka</a></li> </ul> <h3 id="news">News</h3> <ul> <li><a href="http://blog.npmjs.org/post/171813275740/v580-next0">NPM v5.8.0-next.0</a></li> </ul> <h3 id="codes--tools">Codes &amp; Tools</h3> <ul> <li><a href="https://github.com/boisgera/bitstream/">Bitstream – Binary Data for Humans</a></li> <li><a href="https://github.com/ajcr/rolling">Rolling – A collection of computationally efficient rolling window iterators (sum, min/max, variance, and more) </a></li> <li><a href="https://github.com/gene1wood/github-collaborator-manager">GitHub collaborators managers – A tool to manage GitHub repo collaborators with files</a></li> <li><a href="https://github.com/sindresorhus/awesome-nodejs">Awesome Nodejs</a></li> <li><a href="https://github.com/bitjson/typescript-starter">TypeScript Starter – Quickly create and configure a new library or Node.js project</a></li> <li><a href="https://github.com/maticzav/emma-cli">Emma – Terminal assistant to find and install node packages.</a></li> </ul> Tue, 20 Mar 2018 00:00:00 +0000 https://jakartadev.org/newsletter-issue-20/ https://jakartadev.org/newsletter-issue-20/ Daily Digest #37 <ul> <li><a href="https://olivierlacan.com/posts/why-wont-bundle-update/?utm_source=jakartadev">Why Won’t Bundle Update?</a></li> <li><a href="https://robots.thoughtbot.com/using-yieldself-for-composable-activerecord-relations?utm_source=jakartadev">Using <code class="highlighter-rouge">yield_self</code> for composable ActiveRecord relations</a></li> <li><a href="https://www.youtube.com/watch?v=Th8FNTzOXCM?utm_source=jakartadev">“Ruby 25 years of commits” visualization</a></li> <li><a href="https://saveriomiroddi.github.io/An-overview-of-ruby-gui-development-in-2018/?utm_source=jakartadev">An overview of Desktop Ruby GUI development in 2018</a></li> <li><a href="https://github.com/test-kitchen/test-kitchen?utm_source=jakartadev">Test Kitchen</a> <span class="label">code</span></li> <li><a href="https://blog.codeship.com/vuejs-as-a-frontend-for-rails/">Vuejs as a frontend for rails</a></li> <li><a href="https://www.smashingmagazine.com/2018/03/bbc-interactive-content-amp-apps-web/">How BBC Interactive Content Works Across AMP, Apps, And The Web</a></li> </ul> Tue, 20 Mar 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-37/ https://jakartadev.org/daily-digest-37/ Daily Digest #36 <ul> <li><a href="https://engineering.linkedin.com/blog/2018/03/how-we-built-the-same-app-twice-with-preact-and-glimmerjs">Lighter than Lightweight: How We Built the Same App Twice with Preact and Glimmer.js</a></li> <li><a href="https://hackernoon.com/the-redux-type-flow-93aada6964e5">The Redux Type Flow</a></li> <li><a href="https://itnext.io/building-an-arm-kubernetes-cluster-ef31032636f9">Building an ARM Kubernetes Cluster</a></li> <li><a href="https://crystal-lang.org/2018/03/09/crystal-automated-release.html">Crystal Automated Release</a></li> <li><a href="https://apiumhub.com/tech-blog-barcelona/product-owner-role-software-development/">The product owner role in software development</a></li> <li><a href="https://medium.com/@fishpercolator/how-to-separate-frontend-backend-with-rails-api-nuxt-js-and-devise-jwt-cf7dd9da9d16">How to separate frontend + backend with Rails API, Nuxt.js and Devise-JWT</a></li> <li><a href="https://github.com/boisgera/bitstream/">Bitsream - Binary Data for Humans</a> <span class="label">code</span></li> </ul> Mon, 19 Mar 2018 00:00:00 +0000 https://jakartadev.org/dialy-digest-36/ https://jakartadev.org/dialy-digest-36/ Daily Digest #35 <ul> <li><a href="https://tech.trello.com/how-to-release-a-buggy-app-and-live-to-tell-the-story/?utm_source=jakartadev">How to Release a Buggy App (And Live to Tell the Tale)</a></li> <li><a href="https://blog.algolia.com/mobile-search-ux-part-three-seach-results-display/?utm_source=jakartadev">Mobile Search UX – Part Three: Displaying the Hard Work</a></li> <li><a href="https://eng.uber.com/grail/?utm_source=jakartadev">Scaling Infrastructure Management with Grail</a></li> <li><a href="https://engineering.riotgames.com/news/profiling-optimisation?utm_source=jakartadev">Profiling: Optimisation</a></li> <li><a href="https://code.facebook.com/posts/356115241551826/profilo-understanding-app-performance-in-the-wild/?utm_source=jakartadev">Profilo: Understanding app performance in the wild</a></li> <li><a href="https://blog.heroku.com/monolithic-applications-into-services?utm_source=jakartadev">SHIFT Commerce’s Journey: Deconstructing Monolithic Applications into Services</a></li> <li><a href="http://blog.memsql.com/shattering-the-trillion-rows-per-second-barrier-with-memsql/?utm_source=jakartadev">Shattering the Trillion-Rows-Per-Second Barrier With MemSQL</a></li> </ul> Sun, 18 Mar 2018 00:00:00 +0000 https://jakartadev.org/dialy-digest-35/ https://jakartadev.org/dialy-digest-35/ Daily Digest #34 <ul> <li><a href="https://engineeringblog.yelp.com/2018/03/caching-internal-service-calls-at-yelp.html?utm_source=jakartadev">Caching Internal Service Calls at Yelp</a></li> <li><a href="https://www.confluent.io/blog/event-sourcing-using-apache-kafka/?utm_source=jakartadev">Event Sourcing Using Apache Kafka</a></li> <li><a href="https://medium.com/netflix-techblog/project-nimble-region-evacuation-reimagined-d0d0568254d4?utm_source=jakartadev">Project Nimble: Region Evacuation Reimagined</a></li> <li><a href="https://towardsdatascience.com/how-i-learned-to-love-parallelized-applies-with-python-pandas-dask-and-numba-f06b0b367138?utm_source=jakartadev">Data Pre-Processing in Python: How I learned to love parallelized applies with Dask and Numba</a></li> <li><a href="https://insights.stackoverflow.com/survey/2018?utm_source=jakartadev">Developer Survey Results</a></li> <li><a href="https://hackernoon.com/how-graphql-replaces-redux-3fff8289221d?utm_source=jakartadev">How GraphQL Replaces Redux</a></li> <li><a href="https://developers.500px.com/understanding-rendering-in-react-redux-7044c6402a75?utm_source=jakartadev">Understanding Rendering in React + Redux</a></li> </ul> Sat, 17 Mar 2018 00:00:00 +0000 https://jakartadev.org/dialy-digest-34/ https://jakartadev.org/dialy-digest-34/ Daily Digest #33 <ul> <li><a href="https://www.codenewbie.org/podcast">CodeNewbie Podcast</a> <span class="label">podcast</span> – new found podcast, listened to latest episode sith Anil Dash, great episode.</li> <li><a href="https://www.youtube.com/playlist?list=PLOU2XLYxmsIJP13VD_Cg8qS5g2bKWTaYx">Cofee with Googler</a> <span class="label">Video</span> – Kinda light talks with Google employee/engineers, get the human side of the engineer.</li> <li><a href="https://medium.com/@zeldman/we-need-design-that-is-faster-and-design-that-is-slower-bbf6afd08e5?source=userActivityShare-2df49e453b3e-1521163281">We need design that is faster and design that is slower</a></li> <li><a href="https://kateheddleston.com/blog/becoming-a-10x-developer">Becoming a 10x Developer</a></li> <li><a href="http://www.soulcutter.com/articles/local-variable-aversion-antipattern.html">The Local Variable Aversion Antipattern</a></li> <li><a href="https://github.com/teh-cmc/go-internals">A book about the internals of the Go programming language.</a></li> </ul> Fri, 16 Mar 2018 00:00:00 +0000 https://jakartadev.org/dialy-digest-33/ https://jakartadev.org/dialy-digest-33/ Daily Digest #32 <ul> <li><a href="http://stackabuse.com/creating-and-deleting-directories-with-python/">Creating and Deleting Directories with Python</a></li> <li><a href="https://towardsdatascience.com/effective-naming-in-data-science-ea847c04f51b">The Effect of Naming in Data Science Code</a></li> <li><a href="https://www.valentinog.com/blog/tutorial-api-django-rest-react/">Tutorial: Django REST with React (Django 2.0)</a></li> <li><a href="https://testdriven.io/asynchronous-tasks-with-falcon-and-celery">Asynchronous Tasks with Falcon and Celery</a></li> <li><a href="https://talkpython.fm/">TalkPython[‘Podcast’]</a> <span class="label">podcast</span></li> <li><a href="https://hackernoon.com/to-boldly-log-debug-docker-apps-effectively-using-logs-options-tail-and-grep-53d2e655abcb">To boldly log: debug Docker apps effectively using logs options, tail and grep</a></li> <li><a href="https://sanderknape.com/2018/03/secret-management-design-decisions-theory-plus-an-example/">Secret management design decisions theory</a></li> </ul> Thu, 15 Mar 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-32/ https://jakartadev.org/daily-digest-32/ Daily Digest #31 <ul> <li><a href="https://www.scylladb.com/2018/03/08/how-to-build-time-series-database/">Learn How to Build a Time Series Database</a></li> <li><a href="https://blog.sessionstack.com/how-javascript-works-tracking-changes-in-the-dom-using-mutationobserver-86adc7446401">How JavaScript works: tracking changes in the DOM using MutationObserver</a></li> <li><a href="https://www.oreilly.com/ideas/transforming-enterprise-integration-with-reactive-streams">Transforming enterprise integration with reactive streams</a></li> <li><a href="https://www.smashingmagazine.com/2018/03/react-wordpress-web-app/">How To Build A Skin For Your Web App With React And WordPress</a></li> <li><a href="https://twilioinc.wpengine.com/2018/03/iot-poop-button-python-twilio-aws.html">How I Potty Trained My Kid Using Twilio and an AWS IoT Button</a></li> <li><a href="https://www.invisionapp.com/blog/accessibility-for-developers/?utm_campaign=Weekly%20Digest&amp;utm_source=jakartadev.org">Accessibility for developers</a></li> <li><a href="https://www.serverlessops.io/blog/serverless-ops-what-do-we-do-when-the-server-goes-away">Serverless Ops: What do we do when the server goes away?</a></li> </ul> Wed, 14 Mar 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-31/ https://jakartadev.org/daily-digest-31/ Issue #19 <p>Hello! JakartaDev newsletter edisi 19, berikut adalah <em>list</em> yang dikurasi dan baca sepanjang pekan sekarang dan pekan lalu. Pernah menggunakan Linux untuk kebutuhan sehari-hari? untuk developement atau mungkin hanya mendengarkan music, browsing? dan juga bahasa pemograman yang sedang naik daun, <em>Rust</em>.</p> <h3 id="reading-list">Reading List</h3> <h4 id="a-year-away-from-macos"><a href="http://bitcannon.net/post/a-year-away-from-mac-os/">A Year Away from macOS</a></h4> <p>Terkadang untuk bisa lepas dari sistem yang membuat kita ‘nyaman’ itu susah, apalagi untuk menyamai, dan dalam artikel ini dibahas bagaimana untuk bisa terbiasa dengan GNU/Linux setelah sebelumnya terbiasa dengan macOS.</p> <h4 id="kumpulan-artikel-dan-atau-tutorial-rust"><a href="https://readrust.net/">Kumpulan artikel dan atau tutorial <em>Rust</em></a></h4> <p><em>Rust</em> sebagai bahasa pemograman yang dibangun oleh Mozilla saat ini banyak diminati karena terhitung cepat dari sisi <em>performance</em>, dan juga kemududahan untuk diadopsi sebagai bahasa pembangun untuk <em>microservice</em> misalkan.</p> <h4 id="a-refactoring"><a href="https://www.bitovi.com/blog/a-refactoring">A Refactoring</a></h4> <p>Terkadang ada kesalah artian tentang <em>refactoring</em>, <em>refactoring</em> tidak sama dengan <em>rewrite</em>, bahkan jauh berbeda.</p> <h4 id="introducing-logfeeder---a-log-collection-system"><a href="https://engineeringblog.yelp.com/2018/03/introducing-logfeeder.html">Introducing LogFeeder - A log collection system</a></h4> <p>Log adalah salah satu hal yang sangat penting dalam layanan atau aplikasi yang dibuat, dalam log dapat mencari <em>bug</em> atau hal yang membuat aplikasi atau service yang kita buat tidak berjalan atau tidak optimal, <em>tool</em> ini bisa membantu dalam hal ini.</p> <h4 id="tracking-where-your-time-went-with-lego-workstream-visualisation"><a href="https://code.joejag.com/2018/lego-workstream-visualisation.html">Tracking where your time went with Lego workstream visualisation</a></h4> <p>Cara paling mudah, dan tanpa membutuhkan komputer untuk men-<em>track</em> <em>progress</em> yang kita kerjakan, semua ditandai dengan warna, dan sejauh mana kita berkembang.</p> <h4 id="how-to-grow-as-an-engineer-working-remotely"><a href="https://open.nytimes.com/how-to-grow-as-an-engineer-working-remotely-3baff8211f3e?source=rss----51e1d1745b32---4%3Futm_source=jakartadev.org">How to Grow as an Engineer (Working Remotely)</a></h4> <p>Artikel menarik mengenai bagaimana membangun kultur yang selaras, meskipun developer bekerja secara <em>remote</em>.</p> <h4 id="softwaretalks"><a href="https://www.softwaretalks.io/">Softwaretalks</a></h4> <p>Kumpulan video yang dikurasi tentang software development</p> <h3 id="news">News</h3> <h4 id="node-v8100-lts"><a href="https://nodejs.org/en/blog/release/v8.10.0/">Node v8.10.0 (LTS)</a></h4> <p>Di versi solid minor ini, terdapat <em>update</em> di V8, libuv, npm, dukungan OpenSSL 1.1.0.</p> <h3 id="tools--codes">Tools &amp; Codes</h3> <h4 id="slack-term---slack-client-for-your-terminal"><a href="https://github.com/erroneousboat/slack-term">Slack-term – Slack client for your terminal</a></h4> <p>Untuk tim develpment atau perusahaan yang terbiasa melakukan komunikasi teks, biasanya menggunakan Slack sebagai layanannya, dan Slack-Term ini menyediakan tampilan yang <em>geeky</em> dan juga ramah <em>keyboard</em> untuk yang terbiasanya tidak menggunakan trackpad.</p> <h4 id="gui-to-kong-admin-api"><a href="https://github.com/pantsel/konga">GUI to Kong Admin API</a></h4> <p>Kong saat ini banyak diadopsi oleh perusahaan-perusahaan, Kong salah satu solusi murah untuk me-<em>manage</em> API yang disediakan, karena <a href="https://getkong.org">Kong</a> selain open-source, juga mudah untuk digunakan, apalagi dengan bantuan Admin UI seperti Konga ini.</p> <h4 id="snug--write-reusable-web-api-interactions"><a href="https://github.com/ariebovenberg/snug">Snug – Write reusable web API interactions</a></h4> <h3 id="event">Event</h3> <h4 id="midtransopenhouse---march"><a href="https://www.meetup.com/Ecommerce-Meet-Up-Indonesia/events/248460172/">MidtransOpenHouse - March</a></h4> <p>Meetup yang diadakan oleh Midtrans, Midtrans adalah salah satu penyedia <em>payment gateway</em> di indonesia (diakuisisi oleh Go-jek)</p> Tue, 13 Mar 2018 00:00:00 +0000 https://jakartadev.org/newsletter-issue-19/ https://jakartadev.org/newsletter-issue-19/ Daily Digest #30 <ul> <li><a href="http://meow.noopkat.com/lessons-from-one-year-of-streaming-on-twitch/">Lessons from my first year of live coding on Twitch</a></li> <li><a href="https://pgmetrics.io/">PGMetrics</a> – PostgreSQL metrics tool for automation and monitoring.</li> <li><a href="https://techblog.expedia.com/2018/03/09/go-fast-or-go-home-the-process-of-optimizing-for-client-performance/">Go Fast or Go Home: The Process of Optimizing for Client Performance</a></li> <li><a href="https://hackernoon.com/tensor-flow-part-1-tensorflow-machine-learning-on-android-73fd536a1a7c">Tensor &amp; Flow: Part 1, TensorFlow &amp; Machine Learning on Android</a></li> <li><a href="https://towardsdatascience.com/distributed-transactions-and-why-you-should-care-116b6da8d72">Distributed transactions and why you should care</a></li> <li><a href="https://blog.heroku.com/exploration-of-security-when-building-docker-containers">A House of Cards: An Exploration of Security When Building Docker Containers</a></li> <li><a href="https://hackernoon.com/real-time-api-monitoring-using-go-and-pusher-4e57c4e80cac">Real-time API Monitoring Using GO and Pusher</a></li> </ul> Tue, 13 Mar 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-30/ https://jakartadev.org/daily-digest-30/ Daily Digest #29 <ul> <li><a href="https://shopifyengineering.myshopify.com/blogs/engineering/a-pods-architecture-to-allow-shopify-to-scale?utm_source=jakartadev.org">A Pods Architecture To Allow Shopify To Scale</a></li> <li><a href="https://blog.codeship.com/angular-1-to-react-migration/?utm_source=jakartadev.org">Angular 1 to React Migration</a></li> <li><a href="https://open.nytimes.com/how-to-grow-as-an-engineer-working-remotely-3baff8211f3e?source=rss----51e1d1745b32---4?utm_source=jakartadev.org">How to Grow as an Engineer (Working Remotely)</a></li> <li><a href="https://jobs.zalando.com/tech/blog/how-to-spot-bad-product/index.html?utm_source=jakartadev.org">How to Spot a Bad Product</a></li> <li><a href="https://www.eventbrite.com/engineering/doctor-python-or-how-i-learned-to-stop-worrying-and-love-es6/?utm_source=jakartadev.org">Doctor Python: Or How I Learned to Stop Worrying and Love ES6</a></li> <li><a href="https://github.com/todogroup/guides?utm_source=jakartadev.org">TODO Group Guides</a></li> <li><a href="https://medium.com/@steve.yegge/why-i-left-google-to-join-grab-86dfffc0be84?utm_source=jakartadev.org">Why I left Google to join Grab</a></li> </ul> Mon, 12 Mar 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-29/ https://jakartadev.org/daily-digest-29/ Daily Digest #28 <ul> <li><a href="https://github.com/pantsel/konga">GUI to Kong Admin API</a> <span class="label">code</span> – much more simpler to administrate Kong.</li> <li><a href="https://bookdown.org/">Books written with R Markdown</a> – Great resource to learn R Language.</li> <li><a href="https://programminghistorian.org/">The Programming Historian</a> – Simple yet amazing collection of tutorials (or lessons).</li> <li><a href="https://code.joejag.com/2018/lego-workstream-visualisation.html">Tracking where your time went with Lego workstream visualisation</a> – harus coba</li> <li><a href="https://developers.redhat.com/blog/2018/03/06/introduction-istio-makes-mesh-things/">Introduction to Istio; It Makes A Mesh Of Things</a></li> <li><a href="https://engineeringblog.yelp.com/2018/03/css-in-the-age-of-react.html">CSS in the Age of React: How We Traded the Cascade for Consistency</a></li> <li><a href="https://medium.com/netflix-techblog/dynamic-optimizer-a-perceptual-video-encoding-optimization-framework-e19f1e3a277f">Dynamic optimizer — a perceptual video encoding optimization framework</a></li> </ul> Sun, 11 Mar 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-28/ https://jakartadev.org/daily-digest-28/ Daily Digest #27 <ul> <li><a href="https://segment.com/blog/secure-access-to-100-aws-accounts/">Secure Access to 100 AWS Accounts</a></li> <li><a href="https://leotindall.com/post/ricing-vim-i3-and-efficiency/">Ricing, Vim, i3, and Efficiency</a></li> <li><a href="https://ryanbigg.com/2018/03/my-thoughts-on-hanami">Thought on Hanami</a></li> <li><a href="https://lwn.net/SubscriberLink/748582/75c743d0eb3aae0f/">Virtual private networks with WireGuard</a></li> <li><a href="https://www.manning.com/books/get-programming-with-go">Get Programming with Go</a></li> <li><a href="https://jvns.ca/blog/2018/03/05/things-ive-learned-networking/">A few things I’ve learned about computer networking</a></li> <li><a href="https://www.youtube.com/watch?v=lKTo7aDf0bE">Rust in 2018 - A Fast Tour</a> <span class="label">video</span></li> </ul> Sat, 10 Mar 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-27/ https://jakartadev.org/daily-digest-27/ Daily Digest #26 <ul> <li><a href="https://www2.wwt.com/all-blog/the-tale-of-two-kubernetes/">The tale of two Kubernetes</a></li> <li><a href="https://github.com/papers-we-love/papers-we-love">Papers We Love</a> – Academics computer science repo <a href="http://paperswelove.org/">link</a></li> <li><a href="https://zwischenzugs.com/2018/02/24/5-things-i-did-to-change-a-teams-culture/">Five Things I Did to Change a Team’s Culture</a></li> <li><a href="http://www.iamondemand.com/blog/went-containers-fails-along-way/">Why I Went All-in with Containers…and the Fails Along the Way</a></li> <li><a href="https://www.wired.com/story/github-ddos-memcached/">Github survived the biggest DDOS attack ever recorded</a></li> <li><a href="https://github.com/Yelp/elastalert">Elastalert – Easy &amp; Flexible Alerting With ElasticSearch</a></li> <li><a href="https://blog.cloudflare.com/squeezing-the-firehose/">Squeezing the firehose: getting the most from Kafka compression</a></li> <li><a href="https://research.googleblog.com/2018/03/a-preview-of-bristlecone-googles-new.html">A Preview of Bristlecone, Google’s New Quantum Processor</a></li> </ul> Fri, 09 Mar 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-26/ https://jakartadev.org/daily-digest-26/ Daily Digest #25 <ul> <li><a href="https://dev.to/sammyisa/optional-chaining-may-be-coming-to-javascript--4ff0">Optional Chaining may be coming to JavaScript</a></li> <li><a href="https://www.theverge.com/2018/3/7/17091766/blockchain-bitcoin-ethereum-cryptocurrency-meaning">‘Blockchain’ is meaningless</a></li> <li><a href="http://12bytes.org/tech/firefox/firefoxgecko-configuration-guide-for-privacy-and-performance-buffs">Firefox Configuration Guide for Privacy Freaks and Performance Buffs</a></li> <li><a href="https://github.com/erroneousboat/slack-term">Slack-term – Slack client for your terminal</a> <span class="label">codes</span></li> <li><a href="http://engineering.remind.com/building-infrastructure-in-parallel/">Building Infrastructure in Parallel</a></li> <li><a href="https://engineeringblog.yelp.com/2018/03/introducing-logfeeder.html">Introducing LogFeeder - A log collection system</a></li> <li><a href="https://www.bitovi.com/blog/a-refactoring">A Refactoring</a></li> </ul> Thu, 08 Mar 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-25/ https://jakartadev.org/daily-digest-25/ Daily Digest #24 <ul> <li><a href="https://www.gamasutra.com/blogs/CBel/20180208/308549/3D_engine_entirely_made_of_MS_Excel_formulae__Enjoy_this_Doomxls_file_.php">3D engine entirely made of MS Excel formulae : Enjoy this Doom.xls file !</a> – Full of awesomeness, can’t believe Excel can do this.</li> <li><a href="http://bitcannon.net/post/a-year-away-from-mac-os/">A Year Away From Mac OS</a></li> <li><a href="https://readrust.net/">Readrust</a> – Kumpulan artikel, tutorial tentang Rust.</li> <li><a href="https://github.com/ankane/ahoy">Analytics for rails</a> <span class="label">codes</span></li> <li><a href="https://engineering.instagram.com/open-sourcing-a-10x-reduction-in-apache-cassandra-tail-latency-d64f86b43589">Rocksandra - Open-sourcing a 10x reduction in Apache Cassandra tail latency</a></li> <li><a href="https://penguindreams.org/blog/linux-on-a-macbook-pro-14-3/">Linux on a MacBook Pro 14,3</a></li> <li><a href="https://vuejsdevelopers.com/2018/03/05/getting-started-vue-nativescript/">Getting Started with NativeScript-Vue 1.0</a></li> </ul> Wed, 07 Mar 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-24/ https://jakartadev.org/daily-digest-24/ Issue #18 <h4 id="reading-list">Reading list</h4> <ul> <li><a href="https://hackernoon.com/chaos-engineering-using-amazon-ec2-systems-manager-5278e0bc8482?utm_source=jakartadev">Chaos Engineering using Amazon EC2 Systems Manager</a> – commencing chaos engineering using amazon ecosystem.</li> <li><a href="https://blog.yld.io/2018/02/19/reuse/?utm_source=jakartadev">Making a component reusable</a> – an opinionated approach how to reuse component when develop something.</li> <li><a href="https://blog.algolia.com/what-cant-react-do/?utm_source=jakartadev">What Can’t React Do?</a></li> <li><a href="https://eng.uber.com/schemaless-rewrite/?utm_source=jakartadev">Code Migration in Production: Rewriting the Sharding Layer of Uber’s Schemaless Datastore</a></li> <li><a href="https://developers.redhat.com/blog/2018/02/22/container-terminology-practical-introduction/?utm_source=jakartadev">A Practical Introduction to Container Terminology</a></li> <li><a href="https://hackernoon.com/event-driven-architecture-implementation-140c51820845?utm_source=jakartadev">Event-Driven Architecture Implementation</a></li> <li><a href="https://blog.cloudflare.com/validating-leaked-passwords-with-k-anonymity/?utm_source=jakartadev">Validating Leaked Passwords with k-Anonymity</a></li> <li><a href="https://blog.cloudflare.com/how-developers-got-password-security-so-wrong/?utm_source=jakartadev">How Developers got Password Security so Wrong</a></li> <li><a href="https://www.novoda.com/blog/arkit-coreml/?utm_source=jakartadev">Making AR more precise with CoreML</a></li> <li><a href="https://blog.wallaroolabs.com/2018/02/how-we-built-wallaroo-to-process-millions-of-messages/sec-with-microsecond-latencies/?utm_source=jakartadevorg">How We Built Wallaroo to Process Millions of Messages/Sec with Microsecond Latencies</a></li> <li><a href="https://advancedweb.hu/2018/02/27/21_first_impressions_typescript/?utm_source=jakartadev">What to expect when you decide to migrate from Javascript to Typescript</a></li> <li><a href="https://hacks.mozilla.org/2018/02/its-resilient-css-week/?utm_source=jakartadev">It’s Resilient CSS Week</a></li> <li><a href="https://github.com/asyncanup/vasco/blob/33b878b3ae43f2c75197ea3e93afa0876ce990de/vasco-talk.pdf">Implementing Microservice Discovery in 100 Lines of Node.js </a></li> <li><a href="https://kinsta.com/blog/php-7-hhvm-benchmarks/?utm_source=jakartadev">The Definitive PHP 5.6, 7.0, 7.1, 7.2 &amp; HHVM Benchmarks</a> – And updated benchmark for multiple PHP version.</li> </ul> <h4 id="news">News</h4> <ul> <li><a href="https://nodejs.org/en/blog/release/v9.7.0/">Node v9.7.0 (Current) released</a></li> </ul> <h4 id="tools--codes">Tools &amp; Codes</h4> <ul> <li><a href="https://github.com/wallaroolabs/wallaroo">Wallaroo – Ultrafast and elastic data processing.</a> – i’m looking forward to test this.</li> <li><a href="https://github.com/ethanent/coroute">🚀 The awesome Node.js HTTP reverse-proxy server.</a></li> <li><a href="https://github.com/sahilnarain/aws-api-gateway-log-parser">AWS API Gateway Log Parser.</a></li> <li><a href="https://eng.uber.com/queryparser/">Queryparser, an Open Source Tool for Parsing and Analyzing SQL</a></li> <li><a href="https://github.com/zricethezav/gitleaks">Searches full repo history for secrets and keys 🔑</a> – sometimes developer forgot the put it on <code class="highlighter-rouge">.env</code>.</li> </ul> Tue, 06 Mar 2018 00:00:00 +0000 https://jakartadev.org/newsletter-issue-18/ https://jakartadev.org/newsletter-issue-18/ Daily Digest #23 <ul> <li><a href="https://www.ebayinc.com/stories/blogs/tech/openapi-an-ebay-perspective/">OpenAPI–An eBay Perspective</a></li> <li><a href="https://medium.freecodecamp.org/how-to-easily-start-automatically-testing-your-website-8629ea8df04a">The easy way to start automatically testing your website</a></li> <li><a href="https://www.facebook.com/permalink.php?story_fbid=2110408722526967&amp;id=100006735798590">John Carmack on OpenBSD, C++ &amp; machine learning</a></li> <li><a href="http://www.mooreds.com/wordpress/archives/2812">When is a senior engineer not a senior engineer?</a></li> <li><a href="https://blog.merovius.de/2018/02/25/persistent_datastructures_with_go.html">Persistent datastructures with Go</a></li> <li><a href="https://github.com/dgryski/go-perfbook">Go performance optimization book</a></li> <li><a href="https://hacks.mozilla.org/2018/03/how-to-write-css-that-works-in-every-browser-even-the-old-ones/">How to Write CSS That Works in Every Browser, Even the Old Ones</a></li> </ul> Tue, 06 Mar 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-23/ https://jakartadev.org/daily-digest-23/ Daily Digest #22 <ul> <li><a href="https://code.facebook.com/posts/331133477380576/hotswap-bringing-hot-code-reloading-to-buck/?utm_source=jakartadev_org">HotSwap: Bringing hot code reloading to Buck</a></li> <li><a href="https://www.oreilly.com/ideas/big-fast-easy-data-with-ksql">Big, fast, easy data with KSQL</a></li> <li><a href="https://sysdig.com/blog/monitor-istio/">How to monitor Istio, the Kubernetes service mesh</a></li> <li><a href="https://tech.instacart.com/how-to-build-a-deep-learning-model-in-15-minutes-a3684c6f71e">How to build a deep learning model in 15 minutes</a></li> <li><a href="https://blogs.dropbox.com/tech/2018/03/meet-bandaid-the-dropbox-service-proxy/">Meet Bandaid, the Dropbox service proxy</a></li> <li><a href="https://hackernoon.com/how-the-godfather-of-cyberpunk-would-write-software-aaaa0f2155c7">How the Godfather of Cyberpunk would write software</a></li> <li><a href="https://cambium.consulting/articles/2018/2/22/our-favorite-elasticsearch-features-part-2-index-aliases">Our Favorite Elasticsearch Features: Part 2 - Index Aliases</a></li> </ul> Mon, 05 Mar 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-22/ https://jakartadev.org/daily-digest-22/ Daily Digest #21 <ul> <li><a href="https://blog.wallaroolabs.com/2018/02/how-we-built-wallaroo-to-process-millions-of-messages/sec-with-microsecond-latencies/?utm_source=jakartadev_org">How We Built Wallaroo to Process Millions of Messages/Sec with Microsecond Latencies</a></li> <li><a href="https://advancedweb.hu/2018/02/27/21_first_impressions_typescript/?utm_source=jakartadev_org">What to expect when you decide to migrate from Javascript to Typescript</a></li> <li><a href="https://blog.sqreen.io/asyncio/?utm_source=jakartadev_org">Context information storage for asyncio</a></li> <li><a href="https://shopifyengineering.myshopify.com/blogs/engineering/future-proofing-our-cloud-storage-usage?utm_source=jakartadev_org">Future Proofing Our Cloud Storage Usage</a></li> <li><a href="https://hackernoon.com/what-i-learnt-from-building-3-high-traffic-web-applications-on-an-embedded-key-value-store-68d47249774f?utm_source=jakartadev_org">What I learnt from building 3 high traffic web applications on an embedded key value store.</a></li> <li><a href="https://hackernoon.com/the-dramatic-impersonation-a-developer-horror-tale-c794b1ab5c20?utm_source=jakartadev_org">The dramatic impersonation : a developer horror tale</a></li> <li><a href="https://hacks.mozilla.org/2018/02/its-resilient-css-week/?utm_source=jakartadev_org">It’s Resilient CSS Week</a></li> </ul> Sun, 04 Mar 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-21/ https://jakartadev.org/daily-digest-21/ Daily Digest #20 <ul> <li><a href="https://stackshare.io/posts/dev-tools-roundup-3">Stackshare Dev Tools Roundup #3: February 2018</a></li> <li><a href="https://nordicapis.com/standardized-user-management-with-scim/">Standardized User Management With SCIM</a></li> <li><a href="https://joeyh.name/blog/entry/futures_of_distributions/">Futures of distributions </a></li> <li><a href="https://developers.google.com/machine-learning/crash-course/">Machine learning crash course</a></li> <li><a href="https://github.com/tensorflow/tensorflow/releases/tag/v1.6.0">TensorFlow 1.6.0 released</a></li> <li><a href="https://blog.cloudflare.com/how-developers-got-password-security-so-wrong/">How Developers got Password Security so Wrong</a> – makes us thinking</li> <li><a href="https://hackernoon.com/what-devs-need-to-know-about-encoding-encryption-hashing-salting-stretching-76a3da32e0fd">What devs need to know about Encoding / Encryption / Hashing / Salting / Stretching</a></li> </ul> Sat, 03 Mar 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-20/ https://jakartadev.org/daily-digest-20/ Daily Digest #19 <ul> <li><a href="https://cacm.acm.org/blogs/blog-cacm/225574-why-code-comments-still-matter/fulltext">Why Code Comments Still Matter</a></li> <li><a href="https://egghead.simplecast.fm/">Egghead.io Developer Chats</a> – fairly new podcast for developer <em>et al</em>.</li> <li><a href="https://react-etc.net/entry/rip-redux-dan-abramov-announces-future-fetcher">RIP Redux: Dan Abramov announces future fetcher API</a></li> <li><a href="https://blog.codeship.com/using-apache-kafka-for-asynchronous-communication-in-microservices/">Using Apache Kafka for Asynchronous Communication in Microservices</a> – good stuff</li> <li><a href="https://staltz.com/promises-are-not-neutral-enough.html">Promises are not neutral enough</a></li> <li><a href="https://hackernoon.com/why-flutter-uses-dart-dd635a054ebf">Why Flutter Uses Dart</a></li> <li><a href="https://hackernoon.com/o-api-an-alternative-to-rest-apis-e9a2ed53b93c">O API — an alternative to REST APIs</a></li> <li><a href="https://eng.uber.com/schemaless-rewrite/">Code Migration in Production: Rewriting the Sharding Layer of Uber’s Schemaless Datastore</a></li> </ul> Fri, 02 Mar 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-19/ https://jakartadev.org/daily-digest-19/ Daily Digest #18 <ul> <li><a href="https://www.nytimes.com/2018/02/28/magazine/what-is-the-perfect-color-worth.html">Why I Quit Google to Work for Myself</a></li> <li><a href="https://blog.cloudflare.com/memcrashed-major-amplification-attacks-from-port-11211/">Memcrashed - Major amplification attacks from UDP port 11211</a></li> <li><a href="https://github.com/zricethezav/gitleaks">Gitleaks – Check git repos for secrets and keys</a></li> <li><a href="https://github.com/minimaxir/hacker-news-undocumented">A List of Hacker News’s Undocumented Features and Behaviors</a></li> <li><a href="https://labs.detectify.com/2018/01/12/how-i-exploited-acme-tls-sni-01-issuing-lets-encrypt-ssl-certs-for-any-domain-using-shared-hosting/">Exploiting ACME TLS-SNI-01 issuing Let’s Encrypt SSL-certs for any domain using shared hosting</a></li> </ul> Thu, 01 Mar 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-18/ https://jakartadev.org/daily-digest-18/ Daily Digest #17 <ul> <li><a href="https://github.com/kamranahmedse/developer-roadmap">Web developer roadmap for 2018</a> – cool map</li> <li><a href="https://medium.com/@mwarcholinski/the-truth-about-estimating-software-development-time-story-13f3059d2e04">The Truth about Estimating Software Development Time [story]</a></li> <li><a href="http://blog.benjamin-encz.de/post/flavors-of-engineering-management/">Flavors of Engineering Management</a> – three flavor of engineering management.</li> </ul> Wed, 28 Feb 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-17/ https://jakartadev.org/daily-digest-17/ Issue #17 <h4 id="reading-list">Reading list</h4> <ul> <li><a href="https://deliveroo.engineering/2018/02/21/application-deployment.html?utm_source=jeniustech">Application Deployment at Deliveroo</a></li> <li><a href="https://www.oreilly.com/ideas/build-a-recurrent-neural-network-using-apache-mxnet?utm_source=jeniustech">Build a recurrent neural network using Apache MXNet</a></li> <li><a href="https://www.pubnub.com/blog/what-is-functions-as-a-service-faas/?utm_source=jeniustech">What’s All the FaaS About?</a></li> <li><a href="https://hackernoon.com/chroot-the-magical-healing-powers-of-the-original-linux-virtualization-tool-9aa4c3928711?utm_source=jeniustech">Chroot: the magical healing powers of the original Linux virtualization tool</a></li> <li><a href="https://blog.minio.io/iot-data-storage-and-analysis-with-fluentd-minio-and-spark-26f183381183?utm_source=jeniustech">IoT data storage and analysis with Fluentd, Minio and Spark</a></li> <li><a href="https://code.facebook.com/posts/166966743929963/how-production-engineers-support-global-events-on-facebook/?utm_source=jeniustech">How production engineers support global events on Facebook</a></li> <li><a href="https://www.smashingmagazine.com/2018/02/sse-websockets-data-flow-http2/?utm_source=jeniustech">Using SSE Instead Of WebSockets For Unidirectional Data Flow Over HTTP/2</a></li> <li><a href="https://hackernoon.com/running-a-scalable-reliable-graphql-endpoint-with-serverless-24c3bb5acb43?utm_source=jeniustech">Running a scalable &amp; reliable GraphQL endpoint with Serverless</a></li> <li><a href="https://blog.arkency.com/how-algolia-built-their-frontend-search-widgets-with-react-dot-js-by-following-redux-principles/?utm_source=jeniustech">How Algolia built their frontend search widgets with React.js by following redux principles</a></li> <li><a href="https://tech.showmax.com/2018/02/how-showmax-got-into-live-streaming/">How Showmax got into live streaming</a></li> <li><a href="https://towardsdatascience.com/visualizing-archer-bcb80e319625?utm_source=jeniustech">Visualizing Archer</a></li> <li><a href="https://sysdig.com/blog/kubernetes-scaler/?utm_source=jeniustech"> How to build a Kubernetes Horizontal Pod Autoscaler using custom metrics </a></li> <li><a href="https://blog.codeship.com/continuous-delivery-for-static-sites/?utm_source=jeniustech">Continuous Delivery for Static Sites</a></li> <li><a href="https://hackernoon.com/the-best-architecture-with-docker-and-kubernetes-myth-or-reality-77b4f8f3804d?utm_source=jeniustech">The best architecture with Docker and Kubernetes — myth or reality?</a></li> <li><a href="https://blog.appsignal.com/2018/02/20/ruby-magic-syntactic-sugar-methods.html?utm_source=jeniustech">Syntactic sugar methods in Ruby</a></li> </ul> <h4 id="news">News</h4> <ul> <li><a href="http://blog.npmjs.org/post/171139955345/v570?utm_source=jeniustech">npm v5.7.0 released</a></li> <li><a href="http://sinatrarb.com/2018/02/19/sinatra-2.0.1.html?utm_source=jeniustech">Sinatra v2.0.1 released</a></li> </ul> <h4 id="news--codes">News &amp; Codes</h4> <ul> <li><a href="https://github.com/kennethreitz/requests-html?utm_source=jeniustech">requests-html – HTML Parsing for Humans™ </a></li> <li><a href="https://github.com/NVIDIA/FastPhotoStyle?utm_source=jeniustech">FastPhotoStyle – Style transfer, deep learning, feature transform</a></li> <li><a href="https://github.com/t4t5/sweetalert?utm_source=jeniustech">SweetAlert – A beautiful replacement for JavaScript’s “alert”</a></li> </ul> <h4 id="events">Events</h4> <ul> <li><a href="https://www.meetup.com/id-ruby/events/248049578/">1st Online Meetup: Learning Ruby By Sharing</a></li> </ul> <p>These newsletter curated by Deden Fathurahman (<a href="https://github.com/dedenf/">@dedenf</a>), feedback please send to dedenf@jakartadev.org or dedenf@gmail.com</p> Tue, 27 Feb 2018 00:00:00 +0000 https://jakartadev.org/newsletter-issue-17/ https://jakartadev.org/newsletter-issue-17/ Daily Digest #16 <ul> <li><a href="https://deliveroo.engineering/2018/02/21/application-deployment.html?utm_source=jeniustech">Application Deployment at Deliveroo</a></li> <li><a href="https://www.oreilly.com/ideas/build-a-recurrent-neural-network-using-apache-mxnet?utm_source=jeniustech">Build a recurrent neural network using Apache MXNet</a></li> <li><a href="https://www.pubnub.com/blog/what-is-functions-as-a-service-faas/?utm_source=jeniustech">What’s All the FaaS About?</a></li> <li><a href="https://hackernoon.com/chroot-the-magical-healing-powers-of-the-original-linux-virtualization-tool-9aa4c3928711?utm_source=jeniustech">Chroot: the magical healing powers of the original Linux virtualization tool</a></li> <li><a href="https://blog.minio.io/iot-data-storage-and-analysis-with-fluentd-minio-and-spark-26f183381183?utm_source=jeniustech">IoT data storage and analysis with Fluentd, Minio and Spark</a></li> <li><a href="https://code.facebook.com/posts/166966743929963/how-production-engineers-support-global-events-on-facebook/?utm_source=jeniustech">How production engineers support global events on Facebook</a></li> <li><a href="https://www.smashingmagazine.com/2018/02/sse-websockets-data-flow-http2/?utm_source=jeniustech">Using SSE Instead Of WebSockets For Unidirectional Data Flow Over HTTP/2</a></li> <li><a href="https://hackernoon.com/running-a-scalable-reliable-graphql-endpoint-with-serverless-24c3bb5acb43?utm_source=jeniustech">Running a scalable &amp; reliable GraphQL endpoint with Serverless</a></li> <li><a href="https://blog.arkency.com/how-algolia-built-their-frontend-search-widgets-with-react-dot-js-by-following-redux-principles/?utm_source=jeniustech">How Algolia built their frontend search widgets with React.js by following redux principles</a></li> <li><a href="https://tech.showmax.com/2018/02/how-showmax-got-into-live-streaming/">How Showmax got into live streaming</a></li> <li><a href="https://towardsdatascience.com/visualizing-archer-bcb80e319625?utm_source=jeniustech">Visualizing Archer</a></li> <li><a href="https://sysdig.com/blog/kubernetes-scaler/?utm_source=jeniustech"> How to build a Kubernetes Horizontal Pod Autoscaler using custom metrics </a></li> <li><a href="https://blog.codeship.com/continuous-delivery-for-static-sites/?utm_source=jeniustech">Continuous Delivery for Static Sites</a></li> <li><a href="https://hackernoon.com/the-best-architecture-with-docker-and-kubernetes-myth-or-reality-77b4f8f3804d?utm_source=jeniustech">The best architecture with Docker and Kubernetes — myth or reality?</a></li> <li><a href="https://blog.appsignal.com/2018/02/20/ruby-magic-syntactic-sugar-methods.html?utm_source=jeniustech">Syntactic sugar methods in Ruby</a></li> <li><a href="http://blog.npmjs.org/post/171139955345/v570?utm_source=jeniustech">npm v5.7.0 released</a></li> <li> <p><a href="http://sinatrarb.com/2018/02/19/sinatra-2.0.1.html?utm_source=jeniustech">Sinatra v2.0.1 released</a></p> </li> <li><a href="https://github.com/kennethreitz/requests-html?utm_source=jeniustech">requests-html – HTML Parsing for Humans™ </a></li> <li><a href="https://github.com/NVIDIA/FastPhotoStyle?utm_source=jeniustech">FastPhotoStyle – Style transfer, deep learning, feature transform</a></li> <li><a href="https://github.com/t4t5/sweetalert?utm_source=jeniustech">SweetAlert – A beautiful replacement for JavaScript’s “alert”</a></li> </ul> <h4 id="events">Events</h4> <ul> <li><a href="https://www.meetup.com/id-ruby/events/248049578/">1st Online Meetup: Learning Ruby By Sharing</a></li> </ul> Tue, 27 Feb 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-16/ https://jakartadev.org/daily-digest-16/ Issue #16 <h4 id="reading-list">Reading list</h4> <ul> <li><a href="http://weblog.rubyonrails.org/2018/2/17/this-week-in-rails-rails-5-1-5-parallel-testing-and-more/">Rails 5.1.5, parallel testing and more!</a></li> <li><a href="https://blog.fastmail.com/2018/02/14/email-is-your-electronic-memory/">Email is your electronic memory</a></li> <li><a href="https://www.linuxatemyram.com/">Linux ate my RAM</a></li> <li><a href="https://hackernoon.com/flutter-5-reasons-why-you-may-love-it-55021fdbf1aa">Flutter — 5 reasons why you may love it</a></li> <li><a href="https://medium.freecodecamp.org/why-so-many-developers-quit-before-ever-getting-a-job-please-dont-1c0fd6459e5e">Why so Many Developers Quit Before Ever Getting a Job. Please — don’t</a></li> <li><a href="https://medium.com/@melissamcewen/who-killed-the-junior-developer-33e9da2dc58c">Who Killed The Junior Developer?</a></li> <li><a href="http://looselytyped.com/blog/2018/02/07/docker-tip-1-docker-aliases/">Docker Tip #1 — Docker Aliases</a></li> <li><a href="http://recycledpapyr.us/2018/02/07/docker-image-building-lessons-learned/">Docker Image Building – Lessons learned</a></li> <li><a href="https://blog.codeship.com/graphql-as-an-api-gateway-to-micro-services/">GraphQL as an API Gateway to Microservices</a></li> <li><a href="https://www.hanselman.com/blog/WhyShouldICareAboutKubernetesDockerAndContainerOrchestration.aspx">Why should I care about Kubernetes, Docker, and Container Orchestration?</a></li> <li><a href="https://heydesigner.com/blog/best-practices-modals-overlays-dialog-windows/">Best Practices for Modals / Overlays / Dialog Windows</a></li> </ul> <h4 id="news">News</h4> <ul> <li><a href="http://weblog.rubyonrails.org/2018/2/14/Rails-5-1-5-has-been-released/">Rails 5.1.5 released</a></li> <li><a href="https://nodejs.org/en/blog/release/v6.13.0/">Node v6.13.0 (LTS)</a></li> </ul> <h4 id="tools--codes">Tools &amp; Codes</h4> <ul> <li><a href="http://www.embulk.org/docs/">Embulk – bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services</a></li> <li><a href="https://github.com/hjacobs/kube-ops-view">kube-ops-view – Kubernetes Operational View </a></li> <li><a href="https://github.com/ahmetb/kubectx">kubectx – Fast way to switch between clusters and namespaces in kubectl</a></li> <li><a href="https://github.com/Osedea/nodock">No Dock – Docker Compose for Node project</a></li> <li><a href="https://www.npmjs.com/package/console-probe">console-probe – Inspect JavaScript object methods and properties in the console</a></li> <li><a href="https://stimulusjs.org/">Stimulusjs – a javascript framework</a></li> </ul> <p>These article curated by Deden Fathurahman (<a href="https://github.com/dedenf/">@dedenf</a>), feedback please send to dedenf@jakartadev.org or dedenf@gmail.com</p> Tue, 20 Feb 2018 00:00:00 +0000 https://jakartadev.org/newsletter-issue-16/ https://jakartadev.org/newsletter-issue-16/ Daily Digest #15 <ul> <li><a href="http://weblog.rubyonrails.org/2018/2/17/this-week-in-rails-rails-5-1-5-parallel-testing-and-more/">Rails 5.1.5, parallel testing and more!</a></li> <li><a href="https://blog.fastmail.com/2018/02/14/email-is-your-electronic-memory/">Email is your electronic memory</a></li> <li><a href="https://www.linuxatemyram.com/">Linux ate my RAM</a></li> <li><a href="https://hackernoon.com/flutter-5-reasons-why-you-may-love-it-55021fdbf1aa">Flutter — 5 reasons why you may love it</a></li> <li><a href="https://medium.freecodecamp.org/why-so-many-developers-quit-before-ever-getting-a-job-please-dont-1c0fd6459e5e">Why so Many Developers Quit Before Ever Getting a Job. Please — don’t</a></li> <li><a href="https://medium.com/@melissamcewen/who-killed-the-junior-developer-33e9da2dc58c">Who Killed The Junior Developer?</a></li> <li><a href="http://looselytyped.com/blog/2018/02/07/docker-tip-1-docker-aliases/">Docker Tip #1 — Docker Aliases</a></li> <li><a href="http://recycledpapyr.us/2018/02/07/docker-image-building-lessons-learned/">Docker Image Building – Lessons learned</a></li> <li><a href="https://blog.codeship.com/graphql-as-an-api-gateway-to-micro-services/">GraphQL as an API Gateway to Microservices</a></li> <li><a href="https://www.hanselman.com/blog/WhyShouldICareAboutKubernetesDockerAndContainerOrchestration.aspx">Why should I care about Kubernetes, Docker, and Container Orchestration?</a></li> <li><a href="https://heydesigner.com/blog/best-practices-modals-overlays-dialog-windows/">Best Practices for Modals / Overlays / Dialog Windows</a></li> <li><a href="http://weblog.rubyonrails.org/2018/2/14/Rails-5-1-5-has-been-released/">Rails 5.1.5 released</a></li> <li><a href="https://nodejs.org/en/blog/release/v6.13.0/">Node v6.13.0 (LTS)</a></li> </ul> <h4 id="tools--codes">Tools &amp; Codes</h4> <ul> <li><a href="http://www.embulk.org/docs/">Embulk – bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services</a></li> <li><a href="https://github.com/hjacobs/kube-ops-view">kube-ops-view – Kubernetes Operational View </a></li> <li><a href="https://github.com/ahmetb/kubectx">kubectx – Fast way to switch between clusters and namespaces in kubectl</a></li> <li><a href="https://github.com/Osedea/nodock">No Dock – Docker Compose for Node project</a></li> <li><a href="https://www.npmjs.com/package/console-probe">console-probe – Inspect JavaScript object methods and properties in the console</a></li> <li><a href="https://stimulusjs.org/">Stimulusjs – a javascript framework</a></li> </ul> Tue, 20 Feb 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-15/ https://jakartadev.org/daily-digest-15/ Pengenalan tmux <p>Sering menggunakan banyak window atau tab? misalkan membuka <code class="highlighter-rouge">vim</code>, <code class="highlighter-rouge">ssh</code> ke server, koneksi ke database server, <code class="highlighter-rouge">docker</code> di tab yang lain, dan akhirnya akan banyak tab atau <em>window</em> yang dibuka. di Jenius khususnya dan sebagai developer pada umumnya, hal ini pasti terjadi hampir setiap hari.</p> <p>Agar tidak perlu mengatur banyak window atau tab, hal ini bisa diatur oleh <a href="https://tmux.github.io/"><code class="highlighter-rouge">tmux</code></a> atau Terminal Multiplexer, sebuah <em>command line tool</em> yang berguna diantaranya untuk, <!--more--></p> <ol> <li>Mengatur multiple window/pane dalam satu window terminal.</li> <li>Mengatur session dalam terminal tersebut.</li> <li>Mencegah session yang hilang karena tidak sengaja menutup aplikasi terminal.</li> </ol> <p>dan kegunaan lainnya, untuk <em>sysadmin</em> dan <em>developer</em> hal ini akan sangat membantu.</p> <h4 id="memulai">Memulai</h4> <p>Untuk memulai menggunakan <code class="highlighter-rouge">tmux</code>, install terlebih dahulu aplikasinya melalui <code class="highlighter-rouge">brew</code>, <code class="highlighter-rouge">apt</code> atau package manager yang ada, <code class="highlighter-rouge">$ brew install tmux</code>.</p> <p>Setelah berhasil diinstall, jalankan perintah <code class="highlighter-rouge">tmux</code> di terminal</p> <p><code class="highlighter-rouge">$ tmux</code></p> <p>Di terminal akan muncul seperti ini (note: terminal ini menggunakan iTerm) <img src="/public/images/posts/tmux.png" alt="tmux" /></p> <p>di sini session tmux server sudah jalan, dan kita bisa memanggil banyak tmux session yang akan hidup dalam server tersebut.</p> <div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ tmux list-sessions 0: 2 windows (created Tue Jan 30 11:28:59 2018) [133x38] (attached) 1: 1 windows (created Tue Jan 30 14:23:28 2018) [204x69] </code></pre></div></div> <p>Perintah di atas adalah untuk melihat session yang aktif di tmux saat ini, ini bisa menjadi banyak ketika kita membuka banyak session tmux, lakukan perintah <code class="highlighter-rouge">tmux</code> di window lain dan akan terdaftar jika kita melakukan <code class="highlighter-rouge">tmux list-sessions</code>.</p> <h4 id="mengatur-session">Mengatur session</h4> <p>Untuk mengatur session di dalam tmux, ada perintah yang bisa digunakan, diantaranya:</p> <ul> <li><code class="highlighter-rouge">&lt;prefix&gt; + c</code> membuka tab baru di session tmux yang sedang aktif</li> <li><code class="highlighter-rouge">&lt;prefix&gt; + [0,1,etc]</code> untuk pindah dari tab satu ke tab lain, sesuai dengan sekuen-nya.</li> <li><code class="highlighter-rouge">&lt;prefix&gt; + x</code> untuk menutup tab yang sedang aktif</li> <li><code class="highlighter-rouge">&lt;prefix&gt; + d</code> untuk detach dari tmux session yang aktif, dan kembali ke normal <em>command line interface</em>.</li> </ul> <p><code class="highlighter-rouge">&lt;prefix&gt;</code> default yang dipakai oleh tmux adalah <code class="highlighter-rouge">ctrl+b</code>, <code class="highlighter-rouge">ctrl + c</code> misalkan untuk membuka tab baru.</p> <p>Dan untuk mengatur session tmux sendiri salah satunya <code class="highlighter-rouge">list-sessions</code> seperti yang dibahas di atas, peritah lain antara lain:</p> <ul> <li><code class="highlighter-rouge">tmux kill-session -t nomor-session</code> akan menutup session nomor x yang ditulis.</li> <li><code class="highlighter-rouge">tmux attach-session -t nomor-session</code> atau <code class="highlighter-rouge">tmux a</code> akan memanggil session yang sebelumnya sudah di<em>detach</em> atau memanggil session tmux yang terakhir digunakan.</li> </ul> <p>dan masih banyak perintah lainnya yang bisa di<em>explore</em> untuk mengatur tmux.</p> <h4 id="kostumasi-tmux">Kostumasi tmux</h4> <p>Tmux bisa dikostumasi sesuai dengan kebutuhan kita, yang biasanya banyak dikostumasi ada prefix yang digunakan, karena <code class="highlighter-rouge">ctrl+b</code> terkadang tidak kompatibel dengan vim, kita bisa mengganti dengan <code class="highlighter-rouge">ctrl+a</code>, juga untuk sekuen dari tab/window tmux yang default-nya dimulai di sekuen <code class="highlighter-rouge">0</code>, diubah menjadi <code class="highlighter-rouge">1</code> agar lebih gampang mengaturnya.</p> <p>kita bisa memulai kostumasi di file konfigurasi tmux, yang terletak biasanya di home folder, jika tidak ada, bisa mulai dengan membuat file <code class="highlighter-rouge">.tmux.conf</code>.</p> <p><code class="highlighter-rouge">$ vim ~/.tmux.conf</code></p> <p>tambahkan baris berikut</p> <div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code># unbind ctrl+b, ubah ke ctrl+a unbind C-b set-option -g prefix C-a bind-key C-a send-prefix # atur agar sekuen dimulai dari 1 set -g base-index 1 </code></pre></div></div> <p>Hasil tampilan terminal dari hasil setting konfigurasi <code class="highlighter-rouge">.tmux.conf</code> di atas seperti di bawah.</p> <p><img src="/public/images/posts/tmux2.png" alt="tmux new setting" /></p> <p>source bisa dilihat di repo <a href="https://github.com/jeniusTeam/dotfiles">dotfiles</a> Jenius Tech team (repo ini akan bertambah dengan dotfiles aplikasi lain).</p> Mon, 19 Feb 2018 00:00:00 +0000 https://jakartadev.org/pengenalan-tmux/ https://jakartadev.org/pengenalan-tmux/ Issue #15 <h4 id="reading-list">Reading list</h4> <ul> <li><a href="https://stackshare.io/posts/top-developer-tools-2017">Stackshare Top 50 Developer tools of 2017</a></li> <li><a href="https://research.hackerrank.com/developer-skills/2018/">2018 Developer Skills Report</a></li> <li><a href="https://engineering.linkedin.com/blog/2018/02/dynamometer--scale-testing-hdfs-on-minimal-hardware-with-maximum">Dynamometer: Scale Testing HDFS on Minimal Hardware with Maximum Fidelity</a></li> <li><a href="https://codeburst.io/think-think-think-before-you-code-52890a917ffd">Think, think, think… before you code!</a></li> <li><a href="https://blog.apisyouwonthate.com/the-many-amazing-uses-of-json-schema-client-side-validation-c78a11fbde45">The Many Amazing Uses of JSON Schema: Client-side Validation</a></li> <li><a href="https://blog.codeship.com/graphql-as-an-api-gateway-to-micro-services/">GraphQL as an API Gateway to Microservices</a></li> <li><a href="https://blog.octo.com/en/the-twelve-factors-kubernetes/">The Twelve-Factors Kubernetes</a></li> <li><a href="https://engineeringblog.yelp.com/2018/02/making-30x-performance-improvements-on-yelps-mysqlstreamer.html">Making 30x performance improvements on Yelp’s MySQLStreamer</a></li> <li><a href="https://www.oreilly.com/ideas/introducing-capsule-networks">Introducing capsule networks</a></li> <li><a href="http://engineering.appfolio.com/appfolio-engineering/2018/2/4/how-fast-is-ruby-250">How Fast is Ruby 2.5.0?</a></li> <li><a href="https://blog.hasura.io/an-exhaustive-guide-to-writing-dockerfiles-for-node-js-web-apps-bbee6bd2f3c4">An Exhaustive Guide to Writing Dockerfiles for Node.js Web Apps</a></li> </ul> <h4 id="news">News</h4> <ul> <li><a href="https://ayende.com/blog/181857-A/ravendb-4-0-is-out">RavenDB 4.0 released</a></li> </ul> <h4 id="tools--codes">Tools &amp; Codes</h4> <ul> <li><a href="https://github.com/zalando/tech-radar">Zalando Tech Radar</a></li> <li><a href="https://github.com/jamesknelson/mdxc">MDXC – React Components within Markdown</a></li> <li><a href="https://github.com/kantord/just-dashboard">Create dashboards using YAML/JSON files</a></li> <li><a href="https://github.com/rbspy/rbspy">Rbspy – Sampling profiler for Ruby</a></li> <li><a href="https://nact.io/">Redux but for the server.</a></li> </ul> <h4 id="event">Event</h4> <ul> <li><a href="https://www.meetup.com/JakartaJS/events/247676332/">JakartaJS February Meetup Special Edition with Ariya Hidayat</a></li> </ul> <p>These article curated by Deden Fathurahman (<a href="https://github.com/dedenf/">@dedenf</a>), feedback please send to dedenf@jakartadev.org or dedenf@gmail.com</p> Tue, 13 Feb 2018 00:00:00 +0000 https://jakartadev.org/newsletter-issue-15/ https://jakartadev.org/newsletter-issue-15/ Daily Digest #14 <ul> <li><a href="https://stackshare.io/posts/top-developer-tools-2017">Stackshare Top 50 Developer tools of 2017</a></li> <li><a href="https://research.hackerrank.com/developer-skills/2018/">2018 Developer Skills Report</a></li> <li><a href="https://engineering.linkedin.com/blog/2018/02/dynamometer--scale-testing-hdfs-on-minimal-hardware-with-maximum">Dynamometer: Scale Testing HDFS on Minimal Hardware with Maximum Fidelity</a></li> <li><a href="https://codeburst.io/think-think-think-before-you-code-52890a917ffd">Think, think, think… before you code!</a></li> <li><a href="https://blog.apisyouwonthate.com/the-many-amazing-uses-of-json-schema-client-side-validation-c78a11fbde45">The Many Amazing Uses of JSON Schema: Client-side Validation</a></li> <li><a href="https://blog.codeship.com/graphql-as-an-api-gateway-to-micro-services/">GraphQL as an API Gateway to Microservices</a></li> <li><a href="https://blog.octo.com/en/the-twelve-factors-kubernetes/">The Twelve-Factors Kubernetes</a></li> <li><a href="https://engineeringblog.yelp.com/2018/02/making-30x-performance-improvements-on-yelps-mysqlstreamer.html">Making 30x performance improvements on Yelp’s MySQLStreamer</a></li> <li><a href="https://www.oreilly.com/ideas/introducing-capsule-networks">Introducing capsule networks</a></li> <li><a href="http://engineering.appfolio.com/appfolio-engineering/2018/2/4/how-fast-is-ruby-250">How Fast is Ruby 2.5.0?</a></li> <li><a href="https://blog.hasura.io/an-exhaustive-guide-to-writing-dockerfiles-for-node-js-web-apps-bbee6bd2f3c4">An Exhaustive Guide to Writing Dockerfiles for Node.js Web Apps</a></li> <li><a href="https://ayende.com/blog/181857-A/ravendb-4-0-is-out">RavenDB 4.0 released</a></li> </ul> <h4 id="tools--codes">Tools &amp; Codes</h4> <ul> <li><a href="https://github.com/zalando/tech-radar">Zalando Tech Radar</a></li> <li><a href="https://github.com/jamesknelson/mdxc">MDXC – React Components within Markdown</a></li> <li><a href="https://github.com/kantord/just-dashboard">Create dashboards using YAML/JSON files</a></li> <li><a href="https://github.com/rbspy/rbspy">Rbspy – Sampling profiler for Ruby</a></li> <li><a href="https://nact.io/">Redux but for the server.</a></li> </ul> <h4 id="event">Event</h4> <ul> <li><a href="https://www.meetup.com/JakartaJS/events/247676332/">JakartaJS February Meetup Special Edition with Ariya Hidayat</a></li> </ul> Tue, 13 Feb 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-14/ https://jakartadev.org/daily-digest-14/ Issue #14 <h4 id="reading-list">Reading list</h4> <ul> <li><a href="https://evilmartians.com/chronicles/rails-5-2-active-storage-and-beyond?utm_source=jeniustech&amp;utm_medium=blog">Rails 5.2: Active Storage and beyond</a></li> <li><a href="https://www.zachary.com/posts/how-to-data/?utm_source=jeniustech&amp;utm_medium=blog">How I Manage My Data</a></li> <li><a href="https://ruby.libhunt.com/">A collection of awesome Ruby gems, tools, frameworks and software</a></li> <li><a href="https://blog.box.com/blog/how-we-improved-webpack-build-performance-95/?utm_source=jeniustech&amp;utm_medium=blog">How we improved webpack build performance by 95%</a></li> <li><a href="https://blog.openshift.com/up-and-running-with-the-openshift-ansible-broker/?utm_source=jeniustech&amp;utm_medium=blog">Up and Running with the OpenShift Ansible Broker</a></li> <li><a href="https://blog.openshift.com/prometheus-alerts-on-openshift/?utm_source=jeniustech&amp;utm_medium=blog">Prometheus Alerts on OpenShift</a></li> <li><a href="https://www.rdegges.com/2018/please-stop-using-local-storage/?utm_source=jeniustech&amp;utm_medium=blog">Please Stop Using Local Storage</a></li> <li><a href="https://medium.com/practical-motivation-science/how-to-design-motivating-push-notifications-d25ef3874e42?utm_source=jeniustech&amp;utm_medium=blog">How to Design Motivating Push Notifications</a></li> <li><a href="https://hackernoon.com/introducing-mongobot-a-slackbot-that-can-run-mongodb-queries-8dda660fa17e?utm_source=jeniustech&amp;utm_medium=blog">Introducing Mongobot: a Slackbot that can run MongoDB queries</a></li> <li><a href="https://medium.com/@strapi/testing-your-npm-package-before-releasing-it-using-verdaccio-ngrok-28e2832c850a?utm_source=jeniustech&amp;utm_medium=blog">Testing your npm package before releasing it using Verdaccio + ngrok</a></li> <li><a href="https://www.nearform.com/blog/introducing-node-clinic-a-performance-toolkit-for-node-js-developers/?utm_source=jeniustech&amp;utm_medium=blog">Introducing Node Clinic - A performance toolkit for Node.js developers</a></li> <li><a href="https://realpython.com/blog/python/python-memcache-efficient-caching/?utm_source=jeniustech&amp;utm_medium=blog">Python + Memcached: Efficient Caching in Distributed Applications</a></li> <li><a href="https://medium.com/@singhpratyush/the-taste-of-media-streaming-with-flask-cdce35908a50?utm_source=jeniustech&amp;utm_medium=blog">The Taste of Media Streaming with Flask</a></li> </ul> <h4 id="news">News</h4> <ul> <li><a href="https://nodejs.org/en/blog/release/v9.5.0/?utm_source=jeniustech&amp;utm_medium=blog">Node v9.5.0</a></li> </ul> <h4 id="code--tools">Code &amp; Tools</h4> <ul> <li><a href="https://trestle.io/?utm_source=jeniustech&amp;utm_medium=blog">trestle – A modern, responsive admin framework for Ruby on Rails</a></li> <li><a href="https://github.com/e-oj/Fawn?utm_source=jeniustech&amp;utm_medium=blog">Fawn – Promise based Library for transactions in MongoDB</a></li> <li><a href="https://github.com/antonmedv/fx?utm_source=jeniustech&amp;utm_medium=blog">fx – Command-line JSON processing tool</a></li> <li><a href="https://github.com/josecolella/Redis-With-JSON-Node?utm_source=jeniustech&amp;utm_medium=blog">Using Redis as a JSON store</a></li> <li><a href="https://github.com/shopnilsazal/simple-bcrypt?utm_source=jeniustech&amp;utm_medium=blog">Simple-bcrypt</a></li> </ul> <h4 id="event">Event</h4> <ul> <li><a href="https://www.meetup.com/KMKOnline/events/247377774/">Speed coding competition #2</a></li> <li><a href="https://www.meetup.com/Indonesia-Software-Quality-Assurance/events/247508635/">GO-JEK x ISQA Present: Setting up mobile device lab in minutes</a></li> </ul> <p>These article curated by Deden Fathurahman (<a href="https://github.com/dedenf/">@dedenf</a>), feedback please send to dedenf@jakartadev.org or dedenf@gmail.com</p> Tue, 06 Feb 2018 00:00:00 +0000 https://jakartadev.org/newsletter-issue-14/ https://jakartadev.org/newsletter-issue-14/ Daily Digest #13 <ul> <li><a href="https://evilmartians.com/chronicles/rails-5-2-active-storage-and-beyond?utm_source=jeniustech&amp;utm_medium=blog">Rails 5.2: Active Storage and beyond</a></li> <li><a href="https://www.zachary.com/posts/how-to-data/?utm_source=jeniustech&amp;utm_medium=blog">How I Manage My Data</a></li> <li><a href="https://ruby.libhunt.com/">A collection of awesome Ruby gems, tools, frameworks and software</a></li> <li><a href="https://blog.box.com/blog/how-we-improved-webpack-build-performance-95/?utm_source=jeniustech&amp;utm_medium=blog">How we improved webpack build performance by 95%</a></li> <li><a href="https://blog.openshift.com/up-and-running-with-the-openshift-ansible-broker/?utm_source=jeniustech&amp;utm_medium=blog">Up and Running with the OpenShift Ansible Broker</a></li> <li><a href="https://blog.openshift.com/prometheus-alerts-on-openshift/?utm_source=jeniustech&amp;utm_medium=blog">Prometheus Alerts on OpenShift</a></li> <li><a href="https://www.rdegges.com/2018/please-stop-using-local-storage/?utm_source=jeniustech&amp;utm_medium=blog">Please Stop Using Local Storage</a></li> <li><a href="https://medium.com/practical-motivation-science/how-to-design-motivating-push-notifications-d25ef3874e42?utm_source=jeniustech&amp;utm_medium=blog">How to Design Motivating Push Notifications</a></li> <li><a href="https://hackernoon.com/introducing-mongobot-a-slackbot-that-can-run-mongodb-queries-8dda660fa17e?utm_source=jeniustech&amp;utm_medium=blog">Introducing Mongobot: a Slackbot that can run MongoDB queries</a></li> <li><a href="https://medium.com/@strapi/testing-your-npm-package-before-releasing-it-using-verdaccio-ngrok-28e2832c850a?utm_source=jeniustech&amp;utm_medium=blog">Testing your npm package before releasing it using Verdaccio + ngrok</a></li> <li><a href="https://www.nearform.com/blog/introducing-node-clinic-a-performance-toolkit-for-node-js-developers/?utm_source=jeniustech&amp;utm_medium=blog">Introducing Node Clinic - A performance toolkit for Node.js developers</a></li> <li><a href="https://realpython.com/blog/python/python-memcache-efficient-caching/?utm_source=jeniustech&amp;utm_medium=blog">Python + Memcached: Efficient Caching in Distributed Applications</a></li> <li><a href="https://medium.com/@singhpratyush/the-taste-of-media-streaming-with-flask-cdce35908a50?utm_source=jeniustech&amp;utm_medium=blog">The Taste of Media Streaming with Flask</a></li> <li><a href="https://nodejs.org/en/blog/release/v9.5.0/?utm_source=jeniustech&amp;utm_medium=blog">Node v9.5.0</a></li> </ul> <h5 id="code--tools">Code &amp; Tools</h5> <ul> <li><a href="https://trestle.io/?utm_source=jeniustech&amp;utm_medium=blog">trestle – A modern, responsive admin framework for Ruby on Rails</a></li> <li><a href="https://github.com/e-oj/Fawn?utm_source=jeniustech&amp;utm_medium=blog">Fawn – Promise based Library for transactions in MongoDB</a></li> <li><a href="https://github.com/antonmedv/fx?utm_source=jeniustech&amp;utm_medium=blog">fx – Command-line JSON processing tool</a></li> <li><a href="https://github.com/josecolella/Redis-With-JSON-Node?utm_source=jeniustech&amp;utm_medium=blog">Using Redis as a JSON store</a></li> <li><a href="https://github.com/shopnilsazal/simple-bcrypt?utm_source=jeniustech&amp;utm_medium=blog">Simple-bcrypt</a></li> </ul> <h4 id="event">Event</h4> <ul> <li><a href="https://www.meetup.com/KMKOnline/events/247377774/">Speed coding competition #2</a></li> <li><a href="https://www.meetup.com/Indonesia-Software-Quality-Assurance/events/247508635/">GO-JEK x ISQA Present: Setting up mobile device lab in minutes</a></li> </ul> Tue, 06 Feb 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-13/ https://jakartadev.org/daily-digest-13/ Issue #13 <h4 id="artikel">Artikel</h4> <ul> <li><a href="http://ordepdev.me/posts/code-coverage">Don’t be fooled by 100% code coverage.</a></li> <li><a href="https://hackernoon.com/how-to-make-your-code-clean-and-beautiful-5ff7aee03be6">How to Make Your Code CLEAN and BEAUTIFUL</a></li> <li><a href="https://github.com/binhnguyennus/awesome-scalability">Awesome Scalability, Availability, and Stability Back-end Design Patterns</a></li> <li><a href="http://www.daemonology.net/blog/2018-01-17-some-thoughts-on-spectre-and-meltdown.html">Some thoughts on Spectre and Meltdown</a></li> <li><a href="https://hacks.mozilla.org/2018/01/firefox-58-the-quantum-era-continues/">Firefox 58: The Quantum Era Continues</a></li> <li><a href="http://blog.plataformatec.com.br/2018/01/wip-limit-a-further-study/">WIP Limit – A further study</a></li> <li><a href="https://www.awsgeek.com/posts/amazon-elasticache-notes/">Amazon ElastiCache – easy to understand AWS service diagram</a></li> <li><a href="https://slack.engineering/keep-webpack-fast-a-field-guide-for-better-build-performance-f56a5995e8f1">SlackHQ – Keep webpack Fast: A Field Guide for Better Build Performance</a></li> <li><a href="http://dreynaud.fail/canaries-in-practice/">Canaries in Practice</a></li> <li><a href="https://medium.com/blogfoster-engineering/how-we-simplified-our-tooling-setup-for-node-js-projects-80b423293b2c">How We Simplified our Tooling Setup for Node.js Projects</a></li> <li><a href="https://github.com/wearehive/project-guidelines">A set of best practices for JavaScript projects </a></li> </ul> <h4 id="berita">Berita</h4> <ul> <li><a href="https://medium.com/webpack/webpack-4-beta-try-it-today-6b1d27d7d7e2">webpack 4 beta </a></li> </ul> <h4 id="tools--code">Tools &amp; Code</h4> <ul> <li><a href="https://www.nasseri.io/posts/2.html">Fir – the Friendly, Interactive Ruby REPL</a></li> <li><a href="http://blog.getbootstrap.com/2018/01/18/bootstrap-4/">Bootstrap 4</a></li> <li><a href="https://github.com/developit/karmatic">Karmatic – Easy automatic browser testing</a></li> <li><a href="https://github.com/GoogleChrome/puppeteer">Headless Chrome Node API from Google</a></li> </ul> <h3 id="events">Events</h3> <ul> <li><a href="https://www.meetup.com/id-ruby/events/246864926/">ID-Ruby – Meetup pertama 2018</a></li> </ul> <p>These article curated by Deden Fathurahman (@dedenf), feedback please send to dedenf@jakartadev.org or dedenf@gmail.com</p> Tue, 30 Jan 2018 00:00:00 +0000 https://jakartadev.org/newsletter-issue-13/ https://jakartadev.org/newsletter-issue-13/ Daily Digest #12 <ul> <li><a href="http://ordepdev.me/posts/code-coverage">Don’t be fooled by 100% code coverage.</a></li> <li><a href="https://hackernoon.com/how-to-make-your-code-clean-and-beautiful-5ff7aee03be6">How to Make Your Code CLEAN and BEAUTIFUL</a></li> <li><a href="https://github.com/binhnguyennus/awesome-scalability">Awesome Scalability, Availability, and Stability Back-end Design Patterns</a></li> <li><a href="http://www.daemonology.net/blog/2018-01-17-some-thoughts-on-spectre-and-meltdown.html">Some thoughts on Spectre and Meltdown</a></li> <li><a href="https://hacks.mozilla.org/2018/01/firefox-58-the-quantum-era-continues/">Firefox 58: The Quantum Era Continues</a></li> <li><a href="http://blog.plataformatec.com.br/2018/01/wip-limit-a-further-study/">WIP Limit – A further study</a></li> <li><a href="https://www.awsgeek.com/posts/amazon-elasticache-notes/">Amazon ElastiCache – easy to understand AWS service diagram</a></li> <li><a href="https://slack.engineering/keep-webpack-fast-a-field-guide-for-better-build-performance-f56a5995e8f1">SlackHQ – Keep webpack Fast: A Field Guide for Better Build Performance</a></li> <li><a href="http://dreynaud.fail/canaries-in-practice/">Canaries in Practice</a></li> <li><a href="https://medium.com/blogfoster-engineering/how-we-simplified-our-tooling-setup-for-node-js-projects-80b423293b2c">How We Simplified our Tooling Setup for Node.js Projects</a></li> <li><a href="https://github.com/wearehive/project-guidelines">A set of best practices for JavaScript projects </a></li> <li><a href="https://medium.com/webpack/webpack-4-beta-try-it-today-6b1d27d7d7e2">webpack 4 beta </a></li> </ul> <h5 id="tools--code">Tools &amp; Code</h5> <ul> <li><a href="https://www.nasseri.io/posts/2.html">Fir – the Friendly, Interactive Ruby REPL</a></li> <li><a href="http://blog.getbootstrap.com/2018/01/18/bootstrap-4/">Bootstrap 4</a></li> <li><a href="https://github.com/developit/karmatic">Karmatic – Easy automatic browser testing</a></li> <li><a href="https://github.com/GoogleChrome/puppeteer">Headless Chrome Node API from Google</a></li> </ul> <h4 id="events">Events</h4> <ul> <li><a href="https://www.meetup.com/id-ruby/events/246864926/">ID-Ruby – Meetup pertama 2018</a></li> </ul> Tue, 30 Jan 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-12/ https://jakartadev.org/daily-digest-12/ Issue #12 <p>Happy wednesday!</p> <h4 id="reading-list">Reading list</h4> <ul> <li><a href="https://stackshare.io/stream/stream-and-go-news-feeds-for-over-300-million-end-users">Stream &amp; Go: News Feeds for Over 300 Million End Users</a></li> <li><a href="https://blog.usejournal.com/what-really-happened-with-vista-an-insiders-retrospective-f713ee77c239">What Really Happened with Vista: An Insider’s Retrospective</a></li> <li><a href="https://www.theverge.com/2018/1/4/16805216/google-chrome-only-sites-internet-explorer-6-web-standards">Chrome is turning into the new Internet Explorer 6</a></li> <li><a href="https://www.thoughtworks.com/insights/blog/implications-tech-stack-complexity-executives">Implications of Tech Stack Complexity for Executives</a></li> <li><a href="https://www.agile-code.com/blog/refactoring-with-composed-method-pattern/">Refactoring with Composed Method pattern</a></li> <li><a href="https://blog.usejournal.com/how-we-design-enterprise-software-916124fb73db">How we design enterprise software</a></li> <li><a href="http://blog.scoutapp.com/articles/2018/01/17/tutorial-distributed-tracing-in-ruby-with-opentracing">Tutorial: Distributed Tracing in Ruby with OpenTracing</a></li> <li><a href="https://robots.thoughtbot.com/why-factories">Why Factories?</a></li> <li><a href="https://jvns.ca/blog/2017/12/17/how-do-ruby---python-profilers-work-/">How do Ruby &amp; Python profilers work?</a></li> <li><a href="https://blog.kontena.io/event-driven-microservices-with-rabbitmq-and-ruby/">Event-Driven Microservices with RabbitMQ and Ruby</a></li> <li><a href="https://medium.com/@coorasse/the-ruby-2-5-0-feature-nobody-talks-about-38e6c4585fdd">The Ruby 2.5.0 feature nobody talks about</a></li> <li><a href="https://www.toptal.com/javascript/asynchronous-javascript-async-await-tutorial">Asynchronous JavaScript: From Callback Hell to Async and Await</a></li> <li><a href="https://www.javascriptjanuary.com/blog/building-your-first-node-app-using-docker">Building Your First Node App Using Docker</a></li> <li><a href="https://blog.intracto.com/paying-technical-debt-how-to-rescue-legacy-code-through-refactoring">Paying Technical Debt - How To Rescue Legacy Code through Refactoring</a></li> </ul> <h4 id="news">News</h4> <ul> <li><a href="https://medium.com/@nodejs/announcing-the-node-js-application-showcase-9fbaaa3e4824">Announcing The Node.js Application Showcase</a></li> <li><a href="https://nodejs.org/en/blog/release/v9.4.0/">Node v9.4.0 released</a></li> </ul> <h4 id="tools--code">Tools &amp; code</h4> <ul> <li><a href="https://www.minimesos.org/">Minimesos</a></li> <li><a href="https://plan.io/redmine-security-scanner/">Redmine Security Scanner</a></li> <li><a href="https://github.com/lukeed/polka">Polka – micro web server</a></li> <li><a href="http://mongoosejs.com/">Mongoose 5.0</a></li> </ul> <p>These article curated by Deden Fathurahman (@dedenf), feedback please send to dedenf@jakartadev.org or dedenf@gmail.com</p> Wed, 24 Jan 2018 00:00:00 +0000 https://jakartadev.org/newsletter-issue-12/ https://jakartadev.org/newsletter-issue-12/ Daily Digest #11 <ul> <li><a href="https://stackshare.io/stream/stream-and-go-news-feeds-for-over-300-million-end-users">Stream &amp; Go: News Feeds for Over 300 Million End Users</a></li> <li><a href="https://blog.usejournal.com/what-really-happened-with-vista-an-insiders-retrospective-f713ee77c239">What Really Happened with Vista: An Insider’s Retrospective</a></li> <li><a href="https://www.theverge.com/2018/1/4/16805216/google-chrome-only-sites-internet-explorer-6-web-standards">Chrome is turning into the new Internet Explorer 6</a></li> <li><a href="https://www.thoughtworks.com/insights/blog/implications-tech-stack-complexity-executives">Implications of Tech Stack Complexity for Executives</a></li> <li><a href="https://www.agile-code.com/blog/refactoring-with-composed-method-pattern/">Refactoring with Composed Method pattern</a></li> <li><a href="https://blog.usejournal.com/how-we-design-enterprise-software-916124fb73db">How we design enterprise software</a></li> <li><a href="http://blog.scoutapp.com/articles/2018/01/17/tutorial-distributed-tracing-in-ruby-with-opentracing">Tutorial: Distributed Tracing in Ruby with OpenTracing</a></li> <li><a href="https://robots.thoughtbot.com/why-factories">Why Factories?</a></li> <li><a href="https://jvns.ca/blog/2017/12/17/how-do-ruby---python-profilers-work-/">How do Ruby &amp; Python profilers work?</a></li> <li><a href="https://blog.kontena.io/event-driven-microservices-with-rabbitmq-and-ruby/">Event-Driven Microservices with RabbitMQ and Ruby</a></li> <li><a href="https://medium.com/@coorasse/the-ruby-2-5-0-feature-nobody-talks-about-38e6c4585fdd">The Ruby 2.5.0 feature nobody talks about</a></li> <li><a href="https://www.toptal.com/javascript/asynchronous-javascript-async-await-tutorial">Asynchronous JavaScript: From Callback Hell to Async and Await</a></li> <li><a href="https://www.javascriptjanuary.com/blog/building-your-first-node-app-using-docker">Building Your First Node App Using Docker</a></li> <li><a href="https://blog.intracto.com/paying-technical-debt-how-to-rescue-legacy-code-through-refactoring">Paying Technical Debt - How To Rescue Legacy Code through Refactoring</a></li> <li><a href="https://medium.com/@nodejs/announcing-the-node-js-application-showcase-9fbaaa3e4824">Announcing The Node.js Application Showcase</a></li> <li><a href="https://nodejs.org/en/blog/release/v9.4.0/">Node v9.4.0 released</a></li> </ul> <h5 id="tools--code">Tools &amp; code</h5> <ul> <li><a href="https://www.minimesos.org/">Minimesos</a></li> <li><a href="https://plan.io/redmine-security-scanner/">Redmine Security Scanner</a></li> <li><a href="https://github.com/lukeed/polka">Polka – micro web server</a></li> <li>[Mongoose 5.0](http://m</li> </ul> Wed, 24 Jan 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-11/ https://jakartadev.org/daily-digest-11/ Issue #11 <p>Happy new year! mudah-mudahan 2018 ini bisa lebih fokus <em>publish</em> newsletter.</p> <h4 id="artikel">Artikel</h4> <ul> <li><a href="https://gist.github.com/rondy/af1dee1d28c02e9a225ae55da2674a6f">Effective Engineer</a> – an opinion how to be an effective engineer.</li> <li><a href="https://medium.com/dailyjs/node-js-as-backend-best-use-cases-tools-limitations-9c65165a5bac?utm_source=jakartadev&amp;utm_medium=newsletter">Node.js as Backend: Best Use Cases, Tools &amp; Limitations</a></li> <li><a href="https://benmccormick.org/2017/07/19/ten-things-javascript/?utm_source=jakartadev&amp;utm_medium=newsletter">Ten Things A Serious JavaScript Developer Should Learn</a></li> <li><a href="https://www.alicemaz.com/writing/minecraft.html?utm_source=jakartadev&amp;utm_medium=newsletter">Minecraft</a></li> <li><a href="https://open.nytimes.com/bootstrap-to-css-grid-87b3f5f830e4?pagewanted=all&amp;utm_source=jakartadev&amp;utm_medium=newsletter">From Bootstrap to CSS Grid</a></li> <li><a href="https://towardsdatascience.com/how-to-visualize-distributions-2cf2243c7b8e?utm_source=jakartadev&amp;utm_medium=newsletter">How to visualize distributions</a></li> <li><a href="https://hackernoon.com/numerai-walkthrough-quantitative-analysis-machine-learning-for-fun-and-profit-3dcdccabd920?utm_source=jakartadev&amp;utm_medium=newsletter">Numerai walkthrough: Quantitative Analysis &amp; Machine learning for fun and profit</a></li> <li><a href="https://medium.com/dekses/kafka-or-rabbitmq-depends-on-your-messages-nature-e22ca89918e2?utm_source=jakartadev&amp;utm_medium=newsletter">Kafka or RabbitMQ: depends on your messages nature</a></li> <li><a href="https://www.linkedin.com/pulse/building-fast-track-software-development-teams-yves-junqueira/?utm_source=jakartadev&amp;utm_medium=newsletter">Building a fast track for software development teams</a></li> <li><a href="https://www.linkedin.com/pulse/you-must-move-from-product-information-management-jimmy-ekb%C3%A4ck/?utm_source=jakartadev&amp;utm_medium=newsletter">You must move from Product Information Management to Product Information Intelligence</a></li> <li><a href="https://www.linkedin.com/pulse/study-email-marketing-stephanie-seputra/?utm_source=jakartadev&amp;utm_medium=newsletter">A Study on Email Marketing</a></li> <li><a href="https://engineering.instagram.com/copy-on-write-friendly-python-garbage-collection-ad6ed5233ddf?utm_source=jakartadev&amp;utm_medium=newsletter">Copy-on-write friendly Python garbage collection</a></li> </ul> <h4 id="tools">tools</h4> <ul> <li><a href="https://github.com/sindresorhus/element-ready?utm_source=jakartadev&amp;utm_medium=newsletter">Element ready – Detect when an element is ready in the DOM</a></li> <li><a href="https://vuetifyjs.com/?utm_source=jakartadev&amp;utm_medium=newsletter">Vuetify – Material Component Framework</a></li> <li><a href="http://awesome-ruby.com/?utm_source=jakartadev&amp;utm_medium=newsletter">Awesome Ruby – list of awesome Ruby libraries</a></li> <li><a href="https://github.com/dejan/rails_panel?utm_source=jakartadev&amp;utm_medium=newsletter">Rails Panel – Chrome extension for Rails development</a></li> </ul> <p>These article curated by Deden Fathurahman (@dedenf), feedback please send to dedenf@jakartadev.org or dedenf@gmail.com</p> Tue, 02 Jan 2018 00:00:00 +0000 https://jakartadev.org/newsletter-issue-11/ https://jakartadev.org/newsletter-issue-11/ Daily Digest #10 <ul> <li><a href="https://gist.github.com/rondy/af1dee1d28c02e9a225ae55da2674a6f">Effective Engineer</a> an opinion how to be an effective engineer.</li> <li><a href="https://medium.com/dailyjs/node-js-as-backend-best-use-cases-tools-limitations-9c65165a5bac?utm_source=jakartadev&amp;utm_medium=newsletter">Node.js as Backend: Best Use Cases, Tools &amp; Limitations</a></li> <li><a href="https://benmccormick.org/2017/07/19/ten-things-javascript/?utm_source=jakartadev&amp;utm_medium=newsletter">Ten Things A Serious JavaScript Developer Should Learn</a></li> <li><a href="https://www.alicemaz.com/writing/minecraft.html?utm_source=jakartadev&amp;utm_medium=newsletter">Minecraft</a></li> <li><a href="https://open.nytimes.com/bootstrap-to-css-grid-87b3f5f830e4?pagewanted=all&amp;utm_source=jakartadev&amp;utm_medium=newsletter">From Bootstrap to CSS Grid</a></li> <li><a href="https://towardsdatascience.com/how-to-visualize-distributions-2cf2243c7b8e?utm_source=jakartadev&amp;utm_medium=newsletter">How to visualize distributions</a></li> <li><a href="https://hackernoon.com/numerai-walkthrough-quantitative-analysis-machine-learning-for-fun-and-profit-3dcdccabd920?utm_source=jakartadev&amp;utm_medium=newsletter">Numerai walkthrough: Quantitative Analysis &amp; Machine learning for fun and profit</a></li> <li><a href="https://medium.com/dekses/kafka-or-rabbitmq-depends-on-your-messages-nature-e22ca89918e2?utm_source=jakartadev&amp;utm_medium=newsletter">Kafka or RabbitMQ: depends on your messages nature</a></li> <li><a href="https://www.linkedin.com/pulse/building-fast-track-software-development-teams-yves-junqueira/?utm_source=jakartadev&amp;utm_medium=newsletter">Building a fast track for software development teams</a></li> <li><a href="https://www.linkedin.com/pulse/you-must-move-from-product-information-management-jimmy-ekb%C3%A4ck/?utm_source=jakartadev&amp;utm_medium=newsletter">You must move from Product Information Management to Product Information Intelligence</a></li> <li><a href="https://www.linkedin.com/pulse/study-email-marketing-stephanie-seputra/?utm_source=jakartadev&amp;utm_medium=newsletter">A Study on Email Marketing</a></li> <li><a href="https://engineering.instagram.com/copy-on-write-friendly-python-garbage-collection-ad6ed5233ddf?utm_source=jakartadev&amp;utm_medium=newsletter">Copy-on-write friendly Python garbage collection</a></li> </ul> <h5 id="tools">tools</h5> <ul> <li><a href="https://github.com/sindresorhus/element-ready?utm_source=jakartadev&amp;utm_medium=newsletter">Element ready – Detect when an element is ready in the DOM</a></li> <li><a href="https://vuetifyjs.com/?utm_source=jakartadev&amp;utm_medium=newsletter">Vuetify – Material Component Framework</a></li> <li><a href="http://awesome-ruby.com/?utm_source=jakartadev&amp;utm_medium=newsletter">Awesome Ruby – list of awesome Ruby libraries</a></li> <li><a href="https://github.com/dejan/rails_panel?utm_source=jakartadev&amp;utm_medium=newsletter">Rails Panel – Chrome extension for Rails development</a></li> </ul> Tue, 02 Jan 2018 00:00:00 +0000 https://jakartadev.org/daily-digest-10/ https://jakartadev.org/daily-digest-10/ Issue #10 <h3 id="artikel">Artikel</h3> <ul> <li> <h4 id="introduction-to-docker-secrets"><a href="https://dzone.com/articles/introduction-to-docker-secrets">Introduction to Docker Secrets</a></h4> </li> <li> <h4 id="docker-for-dummies"><a href="http://terraltech.com/docker-for-dummies/">Docker for dummies</a></h4> </li> <li> <h4 id="architecting-a-highly-scalable-golang-api-with-docker-swarm--traefik"><a href="https://hackernoon.com/architecting-a-highly-scalable-golang-api-with-docker-swarm-traefik-875d1871cc1f">Architecting a Highly Scalable Golang API with Docker Swarm &amp; Traefik</a></h4> </li> <li> <h4 id="using-minio-server-for-simulate-s3-locally"><a href="https://mhdzaherghaibeh.name/2017/11/13/using-minio-server-for-simulate-s3-locally/">Using Minio server for simulate S3 locally</a></h4> </li> <li> <h4 id="exploring-swarm--container-overview-dashboard-in-grafana"><a href="https://hackernoon.com/exploring-swarm-container-overview-dashboard-in-grafana-ba9621c876c9">Exploring Swarm &amp; Container Overview Dashboard in Grafana</a></h4> </li> <li> <h4 id="exceptions-in-elixir"><a href="http://whatdidilearn.info/2017/11/19/exceptions-in-elixir.html">Exceptions in Elixir</a></h4> </li> <li> <h4 id="learn-just-enough-linux-to-get-things-done"><a href="http://alexpetralia.com/posts/2017/6/26/learning-linux-bash-to-get-things-done">Learn just enough Linux to get things done</a></h4> </li> <li> <h4 id="the-zen-of-data-pipelines"><a href="https://gpestana.gitbooks.io/the-zen-of-data-pipelines/content/">The Zen of Data Pipelines</a></h4> </li> <li> <h4 id="how-david-heinemeier-hansson-basecamp-cto-works"><a href="https://lifehacker.com/im-david-heinemeier-hansson-basecamp-cto-and-this-is-1820470919">How David Heinemeier Hansson, Basecamp CTO, works</a></h4> </li> <li> <h4 id="how-does-redux-work"><a href="https://daveceddia.com/how-does-redux-work/">How does Redux work</a></h4> </li> <li> <h4 id="converting-600k-lines-of-javascript-to-typescript-in-72-hours"><a href="https://www.lucidchart.com/techblog/2017/11/16/converting-600k-lines-to-typescript-in-72-hours/">Converting 600K lines of Javascript to Typescript in 72 hours</a></h4> </li> </ul> <h3 id="news">News</h3> <ul> <li> <h4 id="microsoft-and-github-team-up-to-take-git-virtual-file-system-to-macos-linux"><a href="https://arstechnica.com/gadgets/2017/11/microsoft-and-github-team-up-to-take-git-virtual-file-system-to-macos-linux/">Microsoft and GitHub team up to take Git virtual file system to macOS, Linux</a></h4> </li> </ul> <h3 id="tools">Tools</h3> <ul> <li> <h4 id="sniffer--analyze-http-requests"><a href="https://github.com/aderyabin/sniffer">Sniffer – Analyze HTTP Requests</a></h4> </li> <li> <h4 id="rackula--generate-a-static-site-from-any-rack-middleware"><a href="https://github.com/socketry/rackula">Rackula – Generate a static site from any rack middleware</a></h4> </li> <li> <h4 id="frappe_charts--frappé-charts-ruby-gem-for-rails"><a href="https://github.com/pacuna/frappe_charts">frappe_charts – Frappé Charts Ruby gem for Rails</a></h4> </li> </ul> <h4 id="events">Events</h4> <p>this will be on and off, depending on whether there’s event or not on the particular week.</p> <ul> <li> <h4 id="jakartajs-user-group--november-meetup-with-go-jek"><a href="https://www.meetup.com/JakartaJS/events/244778771/">JakartaJS User Group – November Meetup with GO-JEK</a></h4> </li> </ul> Mon, 20 Nov 2017 00:00:00 +0000 https://jakartadev.org/newsletter-issue-10/ https://jakartadev.org/newsletter-issue-10/ Daily Digest #9 <ul> <li><a href="https://dzone.com/articles/introduction-to-docker-secrets">Introduction to Docker Secrets</a></li> <li><a href="http://terraltech.com/docker-for-dummies/">Docker for dummies</a></li> <li><a href="https://hackernoon.com/architecting-a-highly-scalable-golang-api-with-docker-swarm-traefik-875d1871cc1f">Architecting a Highly Scalable Golang API with Docker Swarm &amp; Traefik</a></li> <li><a href="https://mhdzaherghaibeh.name/2017/11/13/using-minio-server-for-simulate-s3-locally/">Using Minio server for simulate S3 locally</a></li> <li><a href="https://hackernoon.com/exploring-swarm-container-overview-dashboard-in-grafana-ba9621c876c9">Exploring Swarm &amp; Container Overview Dashboard in Grafana</a></li> <li><a href="http://whatdidilearn.info/2017/11/19/exceptions-in-elixir.html">Exceptions in Elixir</a></li> <li><a href="http://alexpetralia.com/posts/2017/6/26/learning-linux-bash-to-get-things-done">Learn just enough Linux to get things done</a></li> <li><a href="https://gpestana.gitbooks.io/the-zen-of-data-pipelines/content/">The Zen of Data Pipelines</a></li> <li><a href="https://lifehacker.com/im-david-heinemeier-hansson-basecamp-cto-and-this-is-1820470919">How David Heinemeier Hansson, Basecamp CTO, works</a></li> <li><a href="https://daveceddia.com/how-does-redux-work/">How does Redux work</a></li> <li><a href="https://www.lucidchart.com/techblog/2017/11/16/converting-600k-lines-to-typescript-in-72-hours/">Converting 600K lines of Javascript to Typescript in 72 hours</a></li> <li><a href="https://arstechnica.com/gadgets/2017/11/microsoft-and-github-team-up-to-take-git-virtual-file-system-to-macos-linux/">Microsoft and GitHub team up to take Git virtual file system to macOS, Linux</a></li> </ul> <h4 id="tools">Tools</h4> <ul> <li><a href="https://github.com/aderyabin/sniffer">Sniffer – Analyze HTTP Requests</a></li> <li><a href="https://github.com/socketry/rackula">Rackula – Generate a static site from any rack middleware</a></li> <li><a href="https://github.com/pacuna/frappe_charts">frappe_charts – Frappé Charts Ruby gem for Rails</a></li> </ul> <h4 id="events">Events</h4> <p>this will be on and off, depending on whether there’s event or not on the particular week.</p> <ul> <li><a href="https://www.meetup.com/JakartaJS/events/244778771/">JakartaJS User Group – November Meetup with GO-JEK</a></li> </ul> Mon, 20 Nov 2017 00:00:00 +0000 https://jakartadev.org/daily-digest-9/ https://jakartadev.org/daily-digest-9/ Jakartadev update <p>Jakartadev saat ini menjadi <em>pet project</em> saya untuk menginformasikan dunia development, dan juga menginformasikan <em>tools</em> atau berita yang ada di dunia development yang saya kurasi sendiri, dan juga diambil inti dari artikelnya.</p> <p>Setahun ini sempat terhenti dengan alasan kesibukan, dan memang ada beberapa hal yang sempat saya kerjakan sendiri diluar jakartadev, <a href="https://notes.dedenf.com">blog pribadi</a> dan juga meng-handle <a href="http://jenius.tech">blog engineering Jenius</a> tempat saya bekerja.</p> <p>Disadari atau tidak, mungkin nanti akan ada link, atau bahasan yang mirip dengan apa yang saya tulis di blog selain jakartadev, tapi fokus sekarang adalah untuk selalu konsisten mengirimkan atau menuliskan informasi yang relevan dan juga actual, akan dicoba memasukkan pendapat saya, atau juga ulasan, R&amp;D berdasarkan artikel yang saya baca, atau saya buat sendiri.</p> <p>@dedenf</p> Fri, 17 Nov 2017 00:00:00 +0000 https://jakartadev.org/update-jakartadev/ https://jakartadev.org/update-jakartadev/ Issue #9 <p>Lama tidak meng-<i>update</i></p> <h4 id="artikel">Artikel</h4> <ul> <li> <h4 id="what-habits-made-me-a-better-software-engineer"><a href="https://hackernoon.com/what-habits-made-me-a-better-software-engineer-47e7d54b8fa">What habits made me a better Software Engineer?</a></h4> </li> <li> <h4 id="how-to-use-apache-kafka-to-transform-a-batch-pipeline-into-a-real-time-one"><a href="https://medium.com/@stephane.maarek/how-to-use-apache-kafka-to-transform-a-batch-pipeline-into-a-real-time-one-831b48a6ad85">How to use Apache Kafka to transform a batch pipeline into a real-time one</a></h4> </li> <li> <h4 id="log20-fully-automated-optimal-placement-of-log-printing-statements-under-specified-overhead-threshold"><a href="https://blog.acolyer.org/2017/11/03/log20-fully-automated-optimal-placement-of-log-printing-statements-under-specified-overhead-threshold/">Log20: Fully automated optimal placement of log printing statements under specified overhead threshold</a></h4> </li> <li> <h4 id="operating-a-kubernetes-network"><a href="https://jvns.ca/blog/2017/10/10/operating-a-kubernetes-network/">Operating a Kubernetes network</a></h4> </li> <li> <h4 id="lyfts-envoy-dashboards"><a href="https://medium.com/@mattklein123/lyfts-envoy-dashboards-5c91738816b1?utm_source=jeniustech">Lyft’s Envoy dashboards</a></h4> </li> <li> <h4 id="the-rise-of-the-site-reliability-engineer"><a href="https://blog.newrelic.com/2017/10/30/site-reliability-engineer-sre/">The Rise of the Site Reliability Engineer</a></h4> </li> <li> <h4 id="web-typography-designing-tables-to-be-read-not-looked-at"><a href="https://alistapart.com/article/web-typography-tables">Web Typography: Designing Tables to be Read, Not Looked At</a></h4> </li> </ul> <h4 id="berita">Berita</h4> <ul> <li> <h4 id="apache-kafka-goes-10"><a href="https://www.confluent.io/blog/apache-kafka-goes-1-0/">Apache Kafka Goes 1.0</a></h4> </li> <li> <h4 id="bundler-116"><a href="http://bundler.io/blog/2017/10/31/bundler-1-16.html">Bundler 1.16</a></h4> </li> <li> <h4 id="270-released"><a href="http://blog.rubygems.org/2017/11/01/2.7.0-released.html">2.7.0 Released</a></h4> </li> <li> <h4 id="angular-50-released"><a href="https://blog.angular.io/version-5-0-0-of-angular-now-available-37e414935ced">Angular 5.0 Released</a></h4> </li> <li> <h4 id="nodejs-8-moves-into-long-term-support-and-nodejs-9-becomes-the-new-current-release-line"><a href="https://medium.com/the-node-js-collection/news-node-js-8-moves-into-long-term-support-and-node-js-9-becomes-the-new-current-release-line-74cf754a10a0">Node.js 8 Moves into Long-Term Support and Node.js 9 Becomes the New Current Release Line</a></h4> </li> <li> <h4 id="typescript-26"><a href="https://blogs.msdn.microsoft.com/typescript/2017/10/31/announcing-typescript-2-6/">TypeScript 2.6</a></h4> </li> </ul> <h4 id="tools">Tools</h4> <ul> <li> <h4 id="koa11y-open-source-web-accessibility-tool"><a href="https://open-indy.github.io/Koa11y/">Koa11y, Open Source Web Accessibility Tool</a></h4> </li> <li> <h4 id="postcss-plugin-to-keep-css-grids-stupidly-simple-"><a href="https://github.com/sylvainpolletvillard/postcss-grid-kiss?utm_source=jeniustech">PostCSS plugin to keep CSS grids stupidly simple </a></h4> </li> <li> <h4 id="a-cli-dashboard-for-webpack-dev-server"><a href="https://github.com/FormidableLabs/webpack-dashboard">A CLI dashboard for webpack dev server</a></h4> </li> </ul> Mon, 13 Nov 2017 00:00:00 +0000 https://jakartadev.org/newsletter-issue-9/ https://jakartadev.org/newsletter-issue-9/ Daily Digest #8 <ul> <li><a href="https://hackernoon.com/what-habits-made-me-a-better-software-engineer-47e7d54b8fa">What habits made me a better Software Engineer?</a></li> <li><a href="https://medium.com/@stephane.maarek/how-to-use-apache-kafka-to-transform-a-batch-pipeline-into-a-real-time-one-831b48a6ad85">How to use Apache Kafka to transform a batch pipeline into a real-time one</a></li> <li><a href="https://blog.acolyer.org/2017/11/03/log20-fully-automated-optimal-placement-of-log-printing-statements-under-specified-overhead-threshold/">Log20: Fully automated optimal placement of log printing statements under specified overhead threshold</a></li> <li><a href="https://jvns.ca/blog/2017/10/10/operating-a-kubernetes-network/">Operating a Kubernetes network</a></li> <li><a href="https://medium.com/@mattklein123/lyfts-envoy-dashboards-5c91738816b1?utm_source=jeniustech">Lyft’s Envoy dashboards</a></li> <li><a href="https://blog.newrelic.com/2017/10/30/site-reliability-engineer-sre/">The Rise of the Site Reliability Engineer</a></li> <li><a href="https://alistapart.com/article/web-typography-tables">Web Typography: Designing Tables to be Read, Not Looked At</a></li> <li><a href="https://www.confluent.io/blog/apache-kafka-goes-1-0/">Apache Kafka Goes 1.0</a></li> <li><a href="http://bundler.io/blog/2017/10/31/bundler-1-16.html">Bundler 1.16</a></li> <li><a href="http://blog.rubygems.org/2017/11/01/2.7.0-released.html">2.7.0 Released</a></li> <li><a href="https://blog.angular.io/version-5-0-0-of-angular-now-available-37e414935ced">Angular 5.0 Released</a></li> <li><a href="https://medium.com/the-node-js-collection/news-node-js-8-moves-into-long-term-support-and-node-js-9-becomes-the-new-current-release-line-74cf754a10a0">Node.js 8 Moves into Long-Term Support and Node.js 9 Becomes the New Current Release Line</a></li> <li><a href="https://blogs.msdn.microsoft.com/typescript/2017/10/31/announcing-typescript-2-6/">TypeScript 2.6</a></li> </ul> <h4 id="tools">Tools</h4> <ul> <li><a href="https://open-indy.github.io/Koa11y/">Koa11y, Open Source Web Accessibility Tool</a></li> <li><a href="https://github.com/sylvainpolletvillard/postcss-grid-kiss?utm_source=jeniustech">PostCSS plugin to keep CSS grids stupidly simple </a></li> <li><a href="https://github.com/FormidableLabs/webpack-dashboard">A CLI dashboard for webpack dev server</a></li> </ul> Mon, 13 Nov 2017 00:00:00 +0000 https://jakartadev.org/daily-digest-8/ https://jakartadev.org/daily-digest-8/ Issue #8 <h3 id="artikel">Artikel</h3> <ul> <li> <h4 id="exclusive-inside-look-at-how-artificial-intelligence-and-machine-learning-work-at-apple"><a href="https://backchannel.com/an-exclusive-look-at-how-ai-and-machine-learning-work-at-apple-8dbfb131932b#.y1b0uzjky">exclusive inside look at how artificial intelligence and machine learning work at Apple</a></h4> </li> <li> <h4 id="not-shipping-is-a-virtue"><a href="https://m.signalvnoise.com/not-shipping-is-a-virtue-b880badb623c#.k1hllcn84">(Not) Shipping is a Virtue</a></h4> </li> <li> <h4 id="the-web-methodology-project"><a href="http://webmethodologyproject.com/guide/">The Web Methodology Project</a></h4> </li> <li> <h4 id="protecting-your-embedded-content-with-subresource-integrity-sri"><a href="https://www.troyhunt.com/protecting-your-embedded-content-with-subresource-integrity-sri/">Protecting your embedded content with subresource integrity (SRI)</a></h4> </li> <li> <h4 id="itsy-bitsy-data-structures"><a href="https://github.com/thejameskyle/itsy-bitsy-data-structures">Itsy Bitsy Data Structures</a></h4> <p>panduan yang mudah dibaca mengenai struktur data di javascript</p> </li> <li> <h4 id="the-state-of-javascript-javascript-flavors"><a href="https://medium.com/@sachagreif/the-state-of-javascript-javascript-flavors-1e02b0bfefb6#.swwtqmgwz">The State Of JavaScript: JavaScript Flavors</a></h4> </li> <li> <h4 id="open-source-ruby-software-the-slashdot-interview-with-ruby-on-rails-creator-david-heinemeier-hansson"><a href="https://interviews.slashdot.org/story/16/08/30/1759216/the-slashdot-interview-with-ruby-on-rails-creator-david-heinemeier-hansson">Open Source Ruby Software The Slashdot Interview With Ruby on Rails Creator David Heinemeier Hansson</a></h4> </li> <li> <h4 id="examining-the-internals-of-the-rails-requestresponse-cycle"><a href="http://www.rubypigeon.com/posts/examining-internals-of-rails-request-response-cycle/">Examining The Internals Of The Rails Request/Response Cycle</a></h4> </li> <li> <h4 id="the-duel-react-native-vs-cordova"><a href="https://www.toptal.com/mobile/comparing-react-native-to-cordova">The Duel: React Native vs. Cordova</a></h4> </li> </ul> <h3 id="tutorial">Tutorial</h3> <ul> <li> <h4 id="how-to-set-up-read-write-split-in-galera-cluster-using-proxysql"><a href="http://severalnines.com/blog/how-set-read-write-split-galera-cluster-using-proxysql">How to set up read-write split in Galera Cluster using ProxySQL</a></h4> </li> <li> <h4 id="11-simple-npm-tricks-that-will-knock-your-wombat-socks-off"><a href="https://nodesource.com/blog/eleven-npm-tricks-that-will-knock-your-wombat-socks-off/">11 Simple npm Tricks That Will Knock Your Wombat Socks Off</a></h4> </li> <li> <h4 id="installing-amp-in-wordpress"><a href="http://code.tutsplus.com/tutorials/installing-amp-in-wordpress--cms-26272">Installing AMP in WordPress</a></h4> </li> </ul> <h3 id="tools">Tools</h3> <ul> <li> <h4 id="appium-app-automation-testing"><a href="http://appium.io/">Appium, App Automation testing</a></h4> </li> <li> <h4 id="insomnia-rest-client"><a href="https://insomnia.rest/">Insomnia, Rest Client</a></h4> </li> <li> <h4 id="react-components-catalog"><a href="https://github.com/brillout/awesome-react-components">React Components Catalog</a></h4> </li> </ul> Mon, 05 Sep 2016 00:00:00 +0000 https://jakartadev.org/newsletter-issue-8/ https://jakartadev.org/newsletter-issue-8/ Daily Digest #7 <ul> <li><a href="https://backchannel.com/an-exclusive-look-at-how-ai-and-machine-learning-work-at-apple-8dbfb131932b#.y1b0uzjky">exclusive inside look at how artificial intelligence and machine learning work at Apple</a></li> <li><a href="https://m.signalvnoise.com/not-shipping-is-a-virtue-b880badb623c#.k1hllcn84">(Not) Shipping is a Virtue</a></li> <li><a href="http://webmethodologyproject.com/guide/">The Web Methodology Project</a></li> <li><a href="https://www.troyhunt.com/protecting-your-embedded-content-with-subresource-integrity-sri/">Protecting your embedded content with subresource integrity (SRI)</a></li> <li><a href="https://github.com/thejameskyle/itsy-bitsy-data-structures">Itsy Bitsy Data Structures</a> panduan yang mudah dibaca mengenai struktur data di javascript</li> <li><a href="https://medium.com/@sachagreif/the-state-of-javascript-javascript-flavors-1e02b0bfefb6#.swwtqmgwz">The State Of JavaScript: JavaScript Flavors</a></li> <li><a href="https://interviews.slashdot.org/story/16/08/30/1759216/the-slashdot-interview-with-ruby-on-rails-creator-david-heinemeier-hansson">Open Source Ruby Software The Slashdot Interview With Ruby on Rails Creator David Heinemeier Hansson</a></li> <li><a href="http://www.rubypigeon.com/posts/examining-internals-of-rails-request-response-cycle/">Examining The Internals Of The Rails Request/Response Cycle</a></li> <li><a href="https://www.toptal.com/mobile/comparing-react-native-to-cordova">The Duel: React Native vs. Cordova</a></li> <li><a href="http://severalnines.com/blog/how-set-read-write-split-galera-cluster-using-proxysql">How to set up read-write split in Galera Cluster using ProxySQL</a></li> <li><a href="https://nodesource.com/blog/eleven-npm-tricks-that-will-knock-your-wombat-socks-off/">11 Simple npm Tricks That Will Knock Your Wombat Socks Off</a></li> <li><a href="http://code.tutsplus.com/tutorials/installing-amp-in-wordpress--cms-26272">Installing AMP in WordPress</a></li> </ul> <h3 id="tools">Tools</h3> <ul> <li><a href="http://appium.io/">Appium, App Automation testing</a></li> <li><a href="https://insomnia.rest/">Insomnia, Rest Client</a></li> <li><a href="https://github.com/brillout/awesome-react-components">React Components Catalog</a></li> </ul> Mon, 05 Sep 2016 00:00:00 +0000 https://jakartadev.org/daily-digest-7/ https://jakartadev.org/daily-digest-7/ Issue #6 <h3 id="berita">Berita</h3> <ul> <li> <h4 id="rilis-php-710"><a href="http://php.net/index.php#id2016-08-18-3">Rilis PHP 7.1.0</a></h4> </li> <li> <h4 id="rilis-php-5625"><a href="http://php.net/index.php#id2016-08-18-2">Rilis PHP 5.6.25</a></h4> </li> <li> <h4 id="powershell-di-linux"><a href="https://msdn.microsoft.com/en-us/powershell">PowerShell di Linux</a></h4> <p>Microsoft merilis PowerShell di Linux, dan juga meng-_opensource_-kan PowerShell, lihat projectnya di <a href="https://github.com/PowerShell/PowerShell">GitHub</a>.</p> </li> <li> <h4 id="free-coding-school"><a href="http://arstechnica.com/business/2016/08/can-42-us-a-free-coding-school-run-by-a-french-billionaire-actually-work/">Free Coding School</a></h4> <p>Dengan banyaknya e-learning, dan orang menjadi menjauh dari sisi sosial, berkurangnya <em>human interaction</em>, menjadikan awal mula ide sekolah ini dan di sini juga digerakkan untuk saling belajar, saling melakukan <em>code review</em> dan lainnya.</p> </li> <li> <h4 id="aws-summit-series-2016-video"><a href="https://www.youtube.com/playlist?list=PLhr1KZpdzukdZDanwSMYah_-8rRMO2m65">AWS Summit Series 2016 Video</a></h4> </li> </ul> <h3 id="tutorial">Tutorial</h3> <ul> <li> <h4 id="running-jenkins-on-top-of-a-flocker-cluster-using-docker-and-ansible"><a href="https://medium.com/@yoanis_gil/running-jenkins-on-top-of-a-flocker-cluster-using-docker-and-ansible-ccad738e2888#.8e76mox12">Running Jenkins on top of a Flocker Cluster using Docker and Ansible</a></h4> <p>Cara menggunakan Flocker untuk me-manage Docker dan data secara bersamaan.</p> </li> <li> <h4 id="advanced-sql-in-rails---part-1"><a href="http://brewhouse.io/2016/08/04/sql-in-rails.html">Advanced SQL in Rails - Part 1</a></h4> </li> <li> <h4 id="understanding-and-hardening-linux-containers"><a href="https://www.nccgroup.trust/globalassets/our-research/us/whitepapers/2016/april/ncc_group_understanding_hardening_linux_containers-10pdf/">Understanding and Hardening Linux Containers</a></h4> </li> <li> <h4 id="trello-android-schema-upgrades"><a href="https://tech.trello.com/android-schemas/">Trello Android Schema Upgrades</a></h4> <p>Cara Trello untuk skema SQLite database tabel update di app Android Trello</p> </li> <li> <h4 id="testing-your-drupal-site-with-behat"><a href="https://www.phparch.com/2016/08/testing-your-drupal-site-with-behat/">Testing Your Drupal Site with Behat</a></h4> </li> </ul> <h3 id="tools">Tools</h3> <ul> <li> <h4 id="proxysql"><a href="https://github.com/sysown/proxysql/releases">ProxySQL</a></h4> <p>sekarang versi 1.2.1 General Availability.</p> </li> <li> <h4 id="arq"><a href="https://samuelcolvin.github.io/arq/index.html">ARQ</a></h4> <p>Job queues and RPC in python with asyncio, redis and msgpack.</p> </li> <li> <h4 id="cleavejs"><a href="http://nosir.github.io/cleave.js/">Cleave.js</a></h4> <p><code class="highlighter-rouge">&lt;input&gt;</code> formatting</p> </li> <li> <h4 id="slatejs"><a href="http://slatejs.org/">Slate.js</a></h4> <p>Javascript framework untuk rich text editor</p> </li> </ul> Tue, 23 Aug 2016 00:00:00 +0000 https://jakartadev.org/newsletter-issue-6/ https://jakartadev.org/newsletter-issue-6/ Daily Digest #6 <ul> <li><a href="http://php.net/index.php#id2016-08-18-3">Rilis PHP 7.1.0</a></li> <li><a href="http://php.net/index.php#id2016-08-18-2">Rilis PHP 5.6.25</a></li> <li><a href="https://msdn.microsoft.com/en-us/powershell">PowerShell di Linux</a> Microsoft merilis PowerShell di Linux, dan juga meng-_opensource_-kan PowerShell, lihat projectnya di <a href="https://github.com/PowerShell/PowerShell">GitHub</a>.</li> <li><a href="http://arstechnica.com/business/2016/08/can-42-us-a-free-coding-school-run-by-a-french-billionaire-actually-work/">Free Coding School</a> Dengan banyaknya e-learning, dan orang menjadi menjauh dari sisi sosial, berkurangnya <em>human interaction</em>, menjadikan awal mula ide sekolah ini dan di sini juga digerakkan untuk saling belajar, saling melakukan <em>code review</em> dan lainnya.</li> <li> <p><a href="https://www.youtube.com/playlist?list=PLhr1KZpdzukdZDanwSMYah_-8rRMO2m65">AWS Summit Series 2016 Video</a></p> </li> <li><a href="https://medium.com/@yoanis_gil/running-jenkins-on-top-of-a-flocker-cluster-using-docker-and-ansible-ccad738e2888#.8e76mox12">Running Jenkins on top of a Flocker Cluster using Docker and Ansible</a> Cara menggunakan Flocker untuk me-manage Docker dan data secara bersamaan.</li> <li><a href="http://brewhouse.io/2016/08/04/sql-in-rails.html">Advanced SQL in Rails - Part 1</a></li> <li> <p><a href="https://www.nccgroup.trust/globalassets/our-research/us/whitepapers/2016/april/ncc_group_understanding_hardening_linux_containers-10pdf/">Understanding and Hardening Linux Containers</a></p> </li> <li> <p><a href="https://tech.trello.com/android-schemas/">Trello Android Schema Upgrades</a> Cara Trello untuk skema SQLite database tabel update di app Android Trello</p> </li> <li> <p><a href="https://www.phparch.com/2016/08/testing-your-drupal-site-with-behat/">Testing Your Drupal Site with Behat</a></p> </li> <li> <p><a href="https://github.com/sysown/proxysql/releases">ProxySQL</a> sekarang versi 1.2.1 General Availability.</p> </li> <li> <p><a href="https://samuelcolvin.github.io/arq/index.html">ARQ</a> Job queues and RPC in python with asyncio, redis and msgpack.</p> </li> <li> <p><a href="http://nosir.github.io/cleave.js/">Cleave.js</a> <code class="highlighter-rouge">&lt;input&gt;</code> formatting</p> </li> <li><a href="http://slatejs.org/">Slate.js</a> Javascript framework untuk rich text editor</li> </ul> Tue, 23 Aug 2016 00:00:00 +0000 https://jakartadev.org/daily-digest-6/ https://jakartadev.org/daily-digest-6/ Issue #7 Sat, 20 Aug 2016 00:00:00 +0000 https://jakartadev.org/newsletter-issue-7/ https://jakartadev.org/newsletter-issue-7/ Issue #5 <p>hiatus beberapa waktu, issue #5.</p> <ul> <li> <h4 id="why-uber-engineering-switched-from-postgres-to-mysql"><a href="https://eng.uber.com/mysql-migration/">Why uber engineering switched from postgres to mysql</a></h4> <p>Proses dan alasan kenapa UBER melakukan migrasi dari Postgresql ke Mysql.</p> </li> <li> <h4 id="on-ubers-choice-of-databases"><a href="http://use-the-index-luke.com/blog/2016-07-29/on-ubers-choice-of-databases">On Uber’s Choice of Databases</a></h4> <p>Debunking proses dan keputusan UBER berpindah database dari Postgresql ke Mysql</p> </li> <li> <h4 id="the-log-what-every-software-engineer-should-know-about-real-time-datas-unifying-abstraction"><a href="https://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying">The Log: What every software engineer should know about real-time data’s unifying abstraction</a></h4> <p>Bacaan lama, masih relevan untuk banyak case log design sekarang.</p> </li> <li> <h4 id="tracker-ingesting-mysql-data-at-scale---part-1"><a href="https://engineering.pinterest.com/blog/tracker-ingesting-mysql-data-scale-part-1">Tracker: Ingesting MySQL data at scale - Part 1</a></h4> <p>Pinterest dengan data streaming dan juga migrasi data dari mysql ke s3 dan beberapa tools yang digunakan</p> </li> <li> <h4 id="using-a-static-site-generator-at-scale-lessons-learned"><a href="https://www.smashingmagazine.com/2016/08/using-a-static-site-generator-at-scale-lessons-learned/">Using A Static Site Generator At Scale: Lessons Learned</a></h4> <p>Static site generator at scale, deskripsi dan implementasi bagaimana static site digunakan dalam skala tinggi. untuk informasi, Jakartadev.org juga menggunakan Static Site Generator, yaitu Jekyll.</p> </li> </ul> Mon, 15 Aug 2016 00:00:00 +0000 https://jakartadev.org/newsletter-issue-5/ https://jakartadev.org/newsletter-issue-5/ Daily Digest #5 <ul> <li><a href="https://eng.uber.com/mysql-migration/">Why uber engineering switched from postgres to mysql</a> <br /> Proses dan alasan kenapa UBER melakukan migrasi dari Postgresql ke Mysql.</li> <li><a href="http://use-the-index-luke.com/blog/2016-07-29/on-ubers-choice-of-databases">On Uber’s Choice of Databases</a> Debunking proses dan keputusan UBER berpindah database dari Postgresql ke Mysql</li> <li><a href="https://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying">The Log: What every software engineer should know about real-time data’s unifying abstraction</a> Bacaan lama, masih relevan untuk banyak case log design sekarang.</li> <li><a href="https://engineering.pinterest.com/blog/tracker-ingesting-mysql-data-scale-part-1">Tracker: Ingesting MySQL data at scale - Part 1</a> Pinterest dengan data streaming dan juga migrasi data dari mysql ke s3 dan beberapa tools yang digunakan</li> <li><a href="https://www.smashingmagazine.com/2016/08/using-a-static-site-generator-at-scale-lessons-learned/">Using A Static Site Generator At Scale: Lessons Learned</a> Static site generator at scale, deskripsi dan implementasi bagaimana static site digunakan dalam skala tinggi. untuk informasi, Jakartadev.org juga menggunakan Static Site Generator, yaitu Jekyll.</li> </ul> Mon, 15 Aug 2016 00:00:00 +0000 https://jakartadev.org/daily-digest-5/ https://jakartadev.org/daily-digest-5/ Optimasi Gambar <p>Sebagai developer, terutama web developer, load time dari satu halaman adalah penting, karena ini bisa dijadikan acuan apakah user akan tetap di web kita atau pergi karena load time website kita yang lama.</p> <p>Beberapa cara yang digunakan untuk mengurangi load time antara lain dengan browser cache, konfigurasi di webserver, mungkin juga menggunakan proxy cache, dan lainnya, dari banyak hal yang bisa dilakukan salah satunya adalah optimasi gambar, karena file gambar bisa sangat menyita waktu untuk loading, apalagi jika website anda mengandalkan media gambar sebagai alat komunikasi, misalkan e-commerce.</p> <p>Beberapa pilihan alat untuk mengompress gambar, bisa untuk <a href="http://mashable.com/2013/10/29/image-compressors">desktop</a> maupun CLI, untuk command line, saya menggunakan <code class="highlighter-rouge">jpegoptim</code> dan <code class="highlighter-rouge">pngout</code> sebagai tools untuk mengompress file gambar.</p> <p>Saya menggunakan ubuntu 14.04 LTS sebagai base dari sistem operasi server <br /> <code class="highlighter-rouge">$ sudo apt-get install jpegoptim pngout</code> <br /> menjalankan perintah <code class="highlighter-rouge">$ jpegoptim file.jpg </code>, hal ini akan mengompress file gambar dengan menghilangkan info-info yang tidak dibutuhkan seperti comment di exif, atau informasi lain yang menambah berat satu file.</p> <p>Anda juga bisa menjalankan perintah <code class="highlighter-rouge">jpegoptim</code> agar bisa secara masif mengompress file dengan perintah</p> <p><code class="highlighter-rouge">$ find . -type f -name "*.jpg" -exec jpegoptim -m90 --strip-all --all-progressive {} \;</code></p> <p>Untuk perintah di atas, itu akan mencari file <code class="highlighter-rouge">.jpg</code> sampai ke dalam folder secara recursive, Opsi <code class="highlighter-rouge">.</code> di atas menunjukkan working directory yang sedang anda gunakan, jika hendak mengarahkan ke folder yang lain bisa ditulis <code class="highlighter-rouge">PATH</code>-nya, seperti perintah di bawah.</p> <p><code class="highlighter-rouge">$ find /path/ke/gambar/ -type f -name "*.jpg" -exec jpegoptim -m90 --strip-all --all-progressive {} \;</code></p> <p>Opsi yang digunakan adalah <code class="highlighter-rouge">-m90</code> artinya menggunakan kualitas 90, <code class="highlighter-rouge">--strip-all</code> menghilangkan informasi exif yang tidak terpakai, dan <code class="highlighter-rouge">--all-progressive</code> opsi ini untuk menjadikan gambar itu progressive mode. <br /> Output: <br /> <code class="highlighter-rouge">/path/ke/file_gambar.jpg 100x150 24bit N JFIF [OK] 2706 --&gt; 2580 bytes (4.66%), optimized.</code></p> <p><strong>note:</strong> terkadang ada kasus dimana file anda akan hilang permission code-nya, dan tidak bisa diakses oleh borwser, ini bisa diakali dengan menambahkan perintah seperti berikut</p> <p><code class="highlighter-rouge">find . -type f -name "*.jpg" -exec jpegoptim -m90 --strip-all --all-progressive {} \; -exec chmod 677 {} \;</code></p> <p>dengan cara di atas, anda mengembalikan permission file agar bisa dibaca oleh webserver dan akhirnya ditampilkan ke browser.</p> Mon, 07 Mar 2016 00:00:00 +0000 https://jakartadev.org/optimasi-gambar/ https://jakartadev.org/optimasi-gambar/ Issue #4 <h5 id="news">News</h5> <ul> <li> <h4 id="drown-attack"><a href="http://thehackernews.com/2016/03/drown-attack-openssl-vulnerability.html">DROWN Attack</a></h4> </li> <li> <h4 id="ravendb-passed-half-a-million-downloads"><a href="https://ayende.com/blog/173409/ravendb-passed-half-a-million-downloads">Ravendb passed half a million downloads</a></h4> </li> <li> <h4 id="google-releases-cloud-processor-for-hadoop-spark"><a href="http://www.datanami.com/2016/02/24/google-releases-cloud-processor-for-hadoop-spark/">Google Releases Cloud Processor For Hadoop, Spark</a></h4> </li> <li> <h4 id="introducing-autotrack-for-analyticsjs"><a href="http://googledevelopers.blogspot.co.id/2016/02/introducing-autotrack-for-analyticsjs.html">Introducing Autotrack for analytics.js</a></h4> </li> <li> <h4 id="ansiblefest-london-2016"><a href="https://www.ansible.com/videos-ansiblefest-london-2016">Ansiblefest London 2016</a></h4> </li> <li> <h4 id="whats-new-in-jquery-3"><a href="http://developer.telerik.com/featured/whats-new-in-jquery-3/">What’s New in jQuery 3</a></h4> </li> <li> <h4 id="google-preps-angular-2-for-final-release"><a href="http://thenewstack.io/google-preps-angular-2-final-release/">Google Preps Angular 2 for Final Release</a></h4> </li> <li> <h4 id="emberjs-24-released"><a href="http://emberjs.com/blog/2016/02/29/ember-2-4-released.html">Ember.js 2.4 released</a></h4> </li> </ul> <h5 id="opinion">Opinion</h5> <ul> <li> <h4 id="is-devops-the-holy-grail-for-information-security"><a href="http://www.cio.com/article/3040857/security/is-devops-the-holy-grail-for-information-security.html">Is DevOps the Holy Grail for information security?</a></h4> </li> <li> <h4 id="we-hire-the-best-just-like-everyone-else"><a href="http://blog.codinghorror.com/we-hire-the-best-just-like-everyone-else/">We Hire the Best, Just Like Everyone Else</a></h4> </li> <li> <h4 id="too-sensitive"><a href="https://medium.com/@sara_ann_marie/too-sensitive-9752a86a8382#.b5z6aaq20">Too Sensitive</a></h4> </li> <li> <h4 id="performance-of-es6-features-relative-to-the-es5-baseline-operations-per-second"><a href="https://kpdecker.github.io/six-speed/">Performance of ES6 features relative to the ES5 baseline operations per second</a></h4> </li> </ul> <h5 id="tutorial">Tutorial</h5> <ul> <li> <h4 id="how-to-deploy-software"><a href="https://zachholman.com/posts/deploying-software">How To Deploy Software</a></h4> </li> <li> <h4 id="building-a-streaming-search-platform"><a href="http://insightdataengineering.com/blog/streaming-search/index.html">Building a Streaming Search Platform</a></h4> </li> <li> <h4 id="mysql-load-balancing-with-haproxy"><a href="http://severalnines.com/tutorials/mysql-load-balancing-haproxy-tutorial">MySQL Load Balancing with HAProxy</a></h4> </li> <li> <h4 id="graphing-mysql-performance-with-prometheus-and-grafana"><a href="https://www.percona.com/blog/2016/02/29/graphing-mysql-performance-with-prometheus-and-grafana/">Graphing MySQL performance with Prometheus and Grafana</a></h4> </li> <li> <h4 id="how-cloudstatsme-moved-to-clustered-mariadb-for-high-availability"><a href="https://www.youtube.com/watch?v=tgz29gyYxm0&amp;list=PLiyYEa6zXn-O8exx39kc4J9xsVgKx8jQU">How CloudStats.me moved to clustered MariaDB for high availability</a></h4> </li> <li> <h4 id="easy-docker-on-os-x"><a href="http://ariya.ofilabs.com/2016/02/easy-docker-on-os-x.html">Easy Docker on OS X</a></h4> </li> <li> <h4 id="how-to-organize-complex-design-projects"><a href="http://designshack.net/articles/business-articles/how-to-organize-complex-design-projects/">How to Organize Complex Design Projects</a></h4> </li> <li> <h4 id="server-side-rendering-with-react-node-and-express"><a href="https://www.smashingmagazine.com/2016/03/server-side-rendering-react-node-express/">Server-Side Rendering With React, Node And Express</a></h4> </li> <li> <h4 id="javascript-frameworks-in-2016"><a href="http://www.clock.co.uk/blog/javascript-frameworks-in-2016">JavaScript Frameworks in 2016</a></h4> </li> <li> <h4 id="why-and-how-to-redis-with-your-mongodb"><a href="https://www.compose.io/articles/why-and-how-to-redis-with-your-mongodb/">Why (and how to) Redis with your MongoDB</a></h4> </li> </ul> <h5 id="tools">Tools</h5> <ul> <li> <h4 id="rosie"><a href="https://github.com/Karumi/Rosie/">Rosie</a></h4> </li> <li> <h4 id="five-online-database-modelling-services"><a href="https://www.simple-talk.com/sql/database-administration/-five-online-database-modelling-services/">Five Online Database Modelling Services</a></h4> </li> <li> <h4 id="enzyme-javascript-testing-utilities-for-react"><a href="https://medium.com/airbnb-engineering/enzyme-javascript-testing-utilities-for-react-a417e5e5090f#.odkuhb5ib">Enzyme: JavaScript Testing utilities for React</a></h4> </li> <li> <h4 id="56-configurable-react-stateless-functional-ui-components"><a href="http://jxnblk.com/rebass/">56 Configurable React Stateless Functional UI Components</a></h4> </li> <li> <h4 id="rqlite"><a href="https://github.com/otoolep/rqlite">RQLite</a></h4> </li> </ul> <p>follow on twitter <a href="https://twitter.com/Jakartadev">@JakartaDev</a></p> Mon, 07 Mar 2016 00:00:00 +0000 https://jakartadev.org/newsletter-issue-4/ https://jakartadev.org/newsletter-issue-4/ Daily Digest #4 <ul> <li><a href="http://thehackernews.com/2016/03/drown-attack-openssl-vulnerability.html">DROWN Attack</a></li> <li><a href="https://ayende.com/blog/173409/ravendb-passed-half-a-million-downloads">Ravendb passed half a million downloads</a></li> <li><a href="http://www.datanami.com/2016/02/24/google-releases-cloud-processor-for-hadoop-spark/">Google Releases Cloud Processor For Hadoop, Spark</a></li> <li><a href="http://googledevelopers.blogspot.co.id/2016/02/introducing-autotrack-for-analyticsjs.html">Introducing Autotrack for analytics.js</a></li> <li><a href="https://www.ansible.com/videos-ansiblefest-london-2016">Ansiblefest London 2016</a></li> <li><a href="http://developer.telerik.com/featured/whats-new-in-jquery-3/">What’s New in jQuery 3</a></li> <li><a href="http://thenewstack.io/google-preps-angular-2-final-release/">Google Preps Angular 2 for Final Release</a></li> <li><a href="http://emberjs.com/blog/2016/02/29/ember-2-4-released.html">Ember.js 2.4 released</a></li> <li><a href="http://www.cio.com/article/3040857/security/is-devops-the-holy-grail-for-information-security.html">Is DevOps the Holy Grail for information security?</a></li> <li><a href="http://blog.codinghorror.com/we-hire-the-best-just-like-everyone-else/">We Hire the Best, Just Like Everyone Else</a></li> <li><a href="https://medium.com/@sara_ann_marie/too-sensitive-9752a86a8382#.b5z6aaq20">Too Sensitive</a></li> <li><a href="https://kpdecker.github.io/six-speed/">Performance of ES6 features relative to the ES5 baseline operations per second</a></li> <li><a href="https://zachholman.com/posts/deploying-software">How To Deploy Software</a></li> <li><a href="http://insightdataengineering.com/blog/streaming-search/index.html">Building a Streaming Search Platform</a></li> <li><a href="http://severalnines.com/tutorials/mysql-load-balancing-haproxy-tutorial">MySQL Load Balancing with HAProxy</a></li> <li><a href="https://www.percona.com/blog/2016/02/29/graphing-mysql-performance-with-prometheus-and-grafana/">Graphing MySQL performance with Prometheus and Grafana</a></li> <li><a href="https://www.youtube.com/watch?v=tgz29gyYxm0&amp;list=PLiyYEa6zXn-O8exx39kc4J9xsVgKx8jQU">How CloudStats.me moved to clustered MariaDB for high availability</a></li> <li><a href="http://ariya.ofilabs.com/2016/02/easy-docker-on-os-x.html">Easy Docker on OS X</a></li> <li><a href="http://designshack.net/articles/business-articles/how-to-organize-complex-design-projects/">How to Organize Complex Design Projects</a></li> <li><a href="https://www.smashingmagazine.com/2016/03/server-side-rendering-react-node-express/">Server-Side Rendering With React, Node And Express</a></li> <li><a href="http://www.clock.co.uk/blog/javascript-frameworks-in-2016">JavaScript Frameworks in 2016</a></li> <li> <p><a href="https://www.compose.io/articles/why-and-how-to-redis-with-your-mongodb/">Why (and how to) Redis with your MongoDB</a></p> </li> <li><a href="https://github.com/Karumi/Rosie/">Rosie</a></li> <li><a href="https://www.simple-talk.com/sql/database-administration/-five-online-database-modelling-services/">Five Online Database Modelling Services</a></li> <li><a href="https://medium.com/airbnb-engineering/enzyme-javascript-testing-utilities-for-react-a417e5e5090f#.odkuhb5ib">Enzyme: JavaScript Testing utilities for React</a></li> <li><a href="http://jxnblk.com/rebass/">56 Configurable React Stateless Functional UI Components</a></li> <li><a href="https://github.com/otoolep/rqlite">RQLite</a></li> </ul> Mon, 07 Mar 2016 00:00:00 +0000 https://jakartadev.org/daily-digest-4/ https://jakartadev.org/daily-digest-4/ Issue #3 <h3 id="news">News</h3> <ul> <li> <h4 id="the-state-of-microservices-today"><a href="http://blog.codeship.com/the-state-of-microservices-today/">The State of Microservices Today</a></h4> <p>Microservices state saat ini, perusahaan yang mengadopsi konsep ini dari Google, Twitter, Github, bagaimana perusahaaan-perusahaan tersebut mengimplementasikannya di organisasinya.</p> </li> <li> <h4 id="google-starts-highlighting-amp-pages-in-its-mobile-search-results"><a href="http://techcrunch.com/2016/02/24/google-now-highlights-amp-pages-in-its-mobile-search-results/">Google Starts Highlighting AMP Pages In Its Mobile Search Results</a></h4> <p>Accelerated Mobile Page atau <a href="https://www.ampproject.org/">AMP</a> adalah project kolaborasi dari banyak perusahaan untuk bisa menampilkan halaman web dengan cepat, tetapi juga ramah dengan iklan, <a href="http://techcrunch.com/2016/02/24/wordpress-sites-now-support-googles-amp-to-make-mobile-pages-load-much-faster/">Wordpress</a> sudah mendukung inisitif ini. <a href="https://www.ampproject.org/docs/get_started/about-amp.html">Pelajari lebih lanjut</a> mengenai AMP ini.</p> </li> <li> <h4 id="nodejs-570-stable-dirilis"><a href="https://github.com/nodejs/node/blob/v5.7.0/CHANGELOG.md">NodeJS 5.7.0 stable dirilis</a></h4> <p>menambahkan fitur baru, bug fix dan juga improvement di performance</p> </li> <li> <h4 id="xamarin-bergabung-dengan-microsoft"><a href="http://weblogs.asp.net/scottgu/welcoming-the-xamarin-team-to-microsoft">Xamarin bergabung dengan Microsoft</a></h4> <p>Big news, Xamarin sebagai platform untuk membuat mobile apps terutama dan bisa cross platform.</p> </li> <li> <h4 id="github-development-style"><a href="http://githubengineering.com/move-fast/">Github development style</a></h4> <p>Artikel yang dipublish desember, tapi masih sangat relevan, bagaimana Github melakukan proses developmentnya.</p> </li> </ul> <h3 id="opini">Opini</h3> <ul> <li> <h4 id="postgresql-96---part-1---horizontal-scalability"><a href="http://thombrown.blogspot.co.id/2016/02/postgresql-96-part-1-horizontal-scalability.html">PostgreSQL 9.6 - Part 1 - Horizontal Scalability</a></h4> <p>Benchmark PostgreSQL 9.6 dan beberapa test lainnya, artikel ini dibagi dalam 4 bagian, dan ini adalah bagian yang pertama.</p> </li> <li> <h4 id="apache-kafka--elasticsearch"><a href="https://qbox.io/blog/kafka-and-elasticsearch-a-perfect-match-1">Apache Kafka + ElasticSearch</a></h4> </li> <li> <h4 id="9-things-every-reactjs-beginner-should-know"><a href="https://camjackson.net/post/9-things-every-reactjs-beginner-should-know">9 things every reactjs beginner should know</a></h4> <p>Hal yang perlu diketahui oleh developer yang menggunakan Reactjs dalam projectnya, terutama untuk pemula yang baru mengadopsi Reactjs dalam projectnya.</p> </li> <li> <h4 id="5-reasons-meteor-ideal-for-startup"><a href="http://www.sitepoint.com/5-reasons-meteor-ideal-startups/">5 reasons meteor ideal for startup</a></h4> <p>5 Alasan kenapa Meteor cocok untuk yang baru memulai aplikasi web, selain karena development dengan menggunakan Meteor bisa sangat cepat, dan beberapa alasana lainnya.</p> </li> <li> <h4 id="all-things-devops-dan-bagaimana-konsep-itu-mempengaruhi-satu-organinasi"><a href="http://www.ypobo.com/blog/beyond-devops-stakeholder-alignment">All things DevOps dan bagaimana konsep itu mempengaruhi satu organinasi</a></h4> <p>Suatu organisi dan elemen yang didalamnya bisa melihat Devops ini bisa mempengaruhi (dalam arti baik) suatu keputusan, dari product development, testing, deployment dan efek lain dalam satu bisnis. <br /> Baru setahunan ini saya mengadopsi Devops, dan memang dirasakan semua berjalan lebih cepat, interaksi antara Infrastructure dan development juga operation menjadi tipis</p> </li> <li> <h4 id="the-product-managers-guide-to-continuous-delivery-and-devops"><a href="http://www.mindtheproduct.com/2016/02/what-the-hell-are-ci-cd-and-devops-a-cheatsheet-for-the-rest-of-us/">The Product Managers’ Guide to Continuous Delivery and DevOps</a></h4> <p>Satu sisi lain melihat CI dan Devops untuk product manager</p> </li> </ul> <h3 id="tutorial">Tutorial</h3> <ul> <li> <h4 id="bagaimana-mengamankan-ubuntu-1404"><a href="https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-on-ubuntu-14-04">Bagaimana mengamankan Ubuntu 14.04</a></h4> </li> <li> <h4 id="redis-untuk-storage-php-session"><a href="http://slaptijack.com/system-administration/using-redis-for-php-session-storage.html">redis untuk storage php session</a></h4> </li> <li> <h4 id="understanding-javascript-async"><a href="https://ponyfoo.com/articles/understanding-javascript-async-await">Understanding Javascript async</a></h4> </li> <li> <h4 id="building-blog-app-dengan-menggunakan-react"><a href="http://www.sitepoint.com/building-a-react-universal-blog-app-a-step-by-step-guide/">Building blog app dengan menggunakan React</a></h4> </li> <li> <h4 id="5-steps-learning-react-app"><a href="http://developer.telerik.com/featured/5-steps-for-learning-react-application-development/">5 Steps learning React app</a></h4> </li> <li> <h4 id="learn-the-kubernetes-concept-in-10-minutes"><a href="http://omerio.com/2015/12/18/learn-the-kubernetes-key-concepts-in-10-minutes/">Learn the Kubernetes concept in 10 minutes</a></h4> </li> <li> <h4 id="security-guide-how-to-protect-your-infrastructure-against-the-basic-attacker"><a href="http://blog.mailgun.com/security-guide-basic-infrastructure-security/">Security Guide: How to Protect Your Infrastructure Against the Basic Attacker</a></h4> </li> </ul> <h4 id="tools">Tools</h4> <ul> <li> <h4 id="maltrail-malicious-traffic-detection-system"><a href="https://github.com/stamparm/maltrail">Maltrail: Malicious traffic detection system</a></h4> </li> <li> <h4 id="kahlan-unitbdd-php-test-framework-for-freedom-truth-and-justice"><a href="https://github.com/crysalead/kahlan">Kahlan: Unit/BDD PHP Test Framework for Freedom, Truth, and Justice</a></h4> </li> <li> <h4 id="logatim-an-isomorphic-logger-which-implements-log-levels-and-ansi-16-styles"><a href="https://edravis.github.io/logatim/">Logatim: An isomorphic logger which implements log levels and ANSI 16 styles.</a></h4> </li> <li> <h4 id="teletraan-deploy-system-at-pinterest"><a href="https://github.com/pinterest/teletraan">Teletraan: Deploy system at Pinterest</a></h4> </li> <li> <h4 id="rutil-tools-for-dumprestorequery-redis"><a href="https://github.com/pampa/rutil">Rutil: tools for dump/restore/query Redis</a></h4> </li> </ul> <p>follow on twitter <a href="https://twitter.com/Jakartadev">@JakartaDev</a></p> Mon, 29 Feb 2016 00:00:00 +0000 https://jakartadev.org/newsletter-issue-3/ https://jakartadev.org/newsletter-issue-3/ Daily Digest #3 <ul> <li><a href="http://blog.codeship.com/the-state-of-microservices-today/">The State of Microservices Today</a> Microservices state saat ini, perusahaan yang mengadopsi konsep ini dari Google, Twitter, Github, bagaimana perusahaaan-perusahaan tersebut mengimplementasikannya di organisasinya.</li> <li><a href="http://techcrunch.com/2016/02/24/google-now-highlights-amp-pages-in-its-mobile-search-results/">Google Starts Highlighting AMP Pages In Its Mobile Search Results</a> Accelerated Mobile Page atau <a href="https://www.ampproject.org/">AMP</a> adalah project kolaborasi dari banyak perusahaan untuk bisa menampilkan halaman web dengan cepat, tetapi juga ramah dengan iklan, <a href="http://techcrunch.com/2016/02/24/wordpress-sites-now-support-googles-amp-to-make-mobile-pages-load-much-faster/">Wordpress</a> sudah mendukung inisitif ini. <a href="https://www.ampproject.org/docs/get_started/about-amp.html">Pelajari lebih lanjut</a> mengenai AMP ini.</li> <li><a href="https://github.com/nodejs/node/blob/v5.7.0/CHANGELOG.md">NodeJS 5.7.0 stable dirilis</a> menambahkan fitur baru, bug fix dan juga improvement di performance</li> <li><a href="http://weblogs.asp.net/scottgu/welcoming-the-xamarin-team-to-microsoft">Xamarin bergabung dengan Microsoft</a> Big news, Xamarin sebagai platform untuk membuat mobile apps terutama dan bisa cross platform.</li> <li><a href="http://githubengineering.com/move-fast/">Github development style</a> Artikel yang dipublish desember, tapi masih sangat relevan, bagaimana Github melakukan proses developmentnya.</li> <li><a href="http://thombrown.blogspot.co.id/2016/02/postgresql-96-part-1-horizontal-scalability.html">PostgreSQL 9.6 - Part 1 - Horizontal Scalability</a> Benchmark PostgreSQL 9.6 dan beberapa test lainnya, artikel ini dibagi dalam 4 bagian, dan ini adalah bagian yang pertama.</li> <li><a href="https://qbox.io/blog/kafka-and-elasticsearch-a-perfect-match-1">Apache Kafka + ElasticSearch</a></li> <li><a href="https://camjackson.net/post/9-things-every-reactjs-beginner-should-know">9 things every reactjs beginner should know</a> Hal yang perlu diketahui oleh developer yang menggunakan Reactjs dalam projectnya, terutama untuk pemula yang baru mengadopsi Reactjs dalam projectnya.</li> <li><a href="http://www.sitepoint.com/5-reasons-meteor-ideal-startups/">5 reasons meteor ideal for startup</a> 5 Alasan kenapa Meteor cocok untuk yang baru memulai aplikasi web, selain karena development dengan menggunakan Meteor bisa sangat cepat, dan beberapa alasana lainnya.</li> <li><a href="http://www.ypobo.com/blog/beyond-devops-stakeholder-alignment">All things DevOps dan bagaimana konsep itu mempengaruhi satu organinasi</a> Suatu organisi dan elemen yang didalamnya bisa melihat Devops ini bisa mempengaruhi (dalam arti baik) suatu keputusan, dari product development, testing, deployment dan efek lain dalam satu bisnis. <br /> Baru setahunan ini saya mengadopsi Devops, dan memang dirasakan semua berjalan lebih cepat, interaksi antara Infrastructure dan development juga operation menjadi tipis</li> <li><a href="http://www.mindtheproduct.com/2016/02/what-the-hell-are-ci-cd-and-devops-a-cheatsheet-for-the-rest-of-us/">The Product Managers’ Guide to Continuous Delivery and DevOps</a> Satu sisi lain melihat CI dan Devops untuk product manager</li> <li><a href="https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-on-ubuntu-14-04">Bagaimana mengamankan Ubuntu 14.04</a></li> <li><a href="http://slaptijack.com/system-administration/using-redis-for-php-session-storage.html">redis untuk storage php session</a></li> <li><a href="https://ponyfoo.com/articles/understanding-javascript-async-await">Understanding Javascript async</a></li> <li><a href="http://www.sitepoint.com/building-a-react-universal-blog-app-a-step-by-step-guide/">Building blog app dengan menggunakan React</a></li> <li><a href="http://developer.telerik.com/featured/5-steps-for-learning-react-application-development/">5 Steps learning React app</a></li> <li><a href="http://omerio.com/2015/12/18/learn-the-kubernetes-key-concepts-in-10-minutes/">Learn the Kubernetes concept in 10 minutes</a></li> <li> <p><a href="http://blog.mailgun.com/security-guide-basic-infrastructure-security/">Security Guide: How to Protect Your Infrastructure Against the Basic Attacker</a></p> </li> <li><a href="https://github.com/stamparm/maltrail">Maltrail: Malicious traffic detection system</a></li> <li><a href="https://github.com/crysalead/kahlan">Kahlan: Unit/BDD PHP Test Framework for Freedom, Truth, and Justice</a></li> <li><a href="https://edravis.github.io/logatim/">Logatim: An isomorphic logger which implements log levels and ANSI 16 styles.</a></li> <li><a href="https://github.com/pinterest/teletraan">Teletraan: Deploy system at Pinterest</a></li> <li><a href="https://github.com/pampa/rutil">Rutil: tools for dump/restore/query Redis</a></li> </ul> <p>follow on twitter <a href="https://twitter.com/Jakartadev">@JakartaDev</a></p> Mon, 29 Feb 2016 00:00:00 +0000 https://jakartadev.org/daily-digest-3/ https://jakartadev.org/daily-digest-3/ Manajemen API dengan Kong part 1 <p>Anda sudah mempublish API anda untuk digunakan oleh Developer lain? saatnya untuk mengatur API yang telah anda buat. Seperti yang biasanya terjadi, untuk mengakses resource API ini sudah pasti diperlukan beberapa penambahan baik dari sisi <em>security</em> ataupun dari scalability. Disitulah <a href="https://getkong.org">Kong</a> bisa dijadikan solusi untuk anda dalam mengatur API yang telah anda develop.</p> <p>Di sini akan dilakukan pendekatan instalasi Kong dengan menggunakan Vagrant sebagai box development.</p> <p>Jika belum mengenal <a href="http://www.vagrantup.com/">Vagrant</a>, silakan kunjungi situs mereka, pada dasarnya vagrant adalah wrapper yang bisa digunakan untuk membuat dan mengatur image VM. dan kalo sudah, ambil salah satu .box vagrant yang bisa digunakan di <a href="http://vagrantbox.es/">sini</a>, kalo berminat membuatnya, bisa baca artikel <a href="https://coderwall.com/p/qzpgvw/build-vagrant-box-using-veewee">ini</a> (<em>shameless plug</em>).</p> <h5 id="memulai-vagrant">memulai vagrant</h5> <p>Jika sudah memiliki vagrantbox, dan sudah diimport, loncat ke paragraf berikutnya, jika belum, lakukan perintah berikut.</p> <p><code class="highlighter-rouge">$ vagrant box add ubuntu14 /path/to/vagrant_image.box</code> <br /> lakuan pengecekan <br /> <code class="highlighter-rouge">$ vagrant boxt list</code> <br /> jika sudah ada di box list, clone repo kong</p> <ol> <li> <p>clone Kong repo</p> <p><code class="highlighter-rouge">$ git clone https://github.com/Mashape/kong</code></p> </li> <li> <p>clone vagrant Kong repo</p> <p><code class="highlighter-rouge">$ git clone https://github.com/Mashape/kong-vagrant</code> <br /> <code class="highlighter-rouge">$ cd kong-vagrant</code></p> </li> <li> <p>jalankan vagrant karena jika menjalankan vagrant dengan langsung mendownload dari repo vagrant akan sangat menyita waktu, jadi disarankan anda mendownload box terlebih dahulu dan menambahkannya ke box list vagrant local anda. di folder <code class="highlighter-rouge">kong-vagrant</code>, edit file Vagrantfile line <code class="highlighter-rouge">32</code>, <code class="highlighter-rouge">33</code>, ubah dengan nama vagrant box yang sudah anda assign.</p> <p><code class="highlighter-rouge">config.vm.box = "precise64"</code> <br /> <code class="highlighter-rouge">config.vm.box_url = "http://files.vagrantup.com/precise64.box"</code></p> <p>menjadi misalkan</p> <p><code class="highlighter-rouge">config.vm.box = "ubuntu14"</code> <br /> <code class="highlighter-rouge">config.vm.box_url = ""</code></p> <p>ini tidak perlu lagi ditambahkan, karena sudah melakukan <em>vagrant box add</em> sebelumnya.</p> <p>simpan, lalu jalankan <br /> <code class="highlighter-rouge">$ vagrant up</code></p> <p>vagrant akan meng-import box dan memulai booting VM, dan vagrant juga akan menjalankan provosioning script yang ada, dan juga akan melakuan instalasi kong dengan otomatis karena mengacu pada path <code class="highlighter-rouge">../kong</code> yang sebelumnya telah kita clone dari repo.</p> <p>jika selesai instalasi akan menampilkan log seperti ini,</p> <p><img src="/public/images/posts/kong-getting-started-small.jpg" alt="log" /></p> </li> <li> <p>Jalankan service</p> <p><code class="highlighter-rouge">$ vagrant ssh</code> <br /> <code class="highlighter-rouge">VM-$ kong [start | reload | stop]</code></p> <p>Kong akan berjalan di http, dengan port <code class="highlighter-rouge">:8000</code> untuk proxy layer, dan port <code class="highlighter-rouge">:8001</code> untuk ReSTful Admin API config.</p> <p>test service dengan perintah <code class="highlighter-rouge">$ curl http://localhost:8000</code></p> </li> </ol> Thu, 25 Feb 2016 00:00:00 +0000 https://jakartadev.org/manajemen-api-dengan-kong-part-1/ https://jakartadev.org/manajemen-api-dengan-kong-part-1/ Issue #2 <h3 id="news">News</h3> <ul> <li> <h4 id="linux-flaw-may-be-fixed-what-about-linux-container"><a href="http://www.cio.com/article/3035556/that-linux-flaw-may-be-fixed-but-what-about-your-containers.html">Linux flaw may be fixed, what about linux container?</a></h4> <p>Bug yang ada di GNU C telah ditambal, bug di gcc ini berdampak pada distribusi Linux yang ada, walaupun bug ini telah di<i>patch</i> di sisi linux, bagaimana dengan <i>architecture</i> yang menggunakan Docker?</p> </li> <li> <h4 id="ansible-20"><a href="https://www.redhat.com/en/about/press-releases/red-hat-brings-devops-network-new-ansible-capabilities">Ansible 2.0</a></h4> <p>Selain untuk deployment, me-<i>manage</i> service, networking, versi 2.0 ini menambahkan modul untuk mengontrol <i>networking device</i> seperti Arista, Cisco dan lain-lain.</p> </li> <li> <h4 id="jakartajs-meetup-creative-javascript"><a href="http://www.meetup.com/JakartaJS/events/228776402/">JakartaJS Meetup: Creative JavaScript</a></h4> <p>JakartaJS kembali melakukan meetup pada 23 Februari dengan topik “doing creative stuff with JavaScript and Node.js”</p> </li> <li> <h4 id="mysql-in-docker-or-native--performance-benchmarks"><a href="http://blog.balazspocze.me/2016/01/26/mysql-in-docker-or-native-performance-benchmarks/">MySQL in docker or native – performance benchmarks</a></h4> <p>Perbandingan deploy MySQL di docker dan native.</p> </li> <li> <h4 id="dynamic-modules-in-nginx-1911"><a href="https://www.nginx.com/blog/dynamic-modules-nginx-1-9-11/">Dynamic Modules in NGINX 1.9.11</a></h4> <p>Dengan <em>Dynamic Module</em>, kita bisa me-<em>load shared object</em> yang berbeda.</p> </li> <li> <h4 id="what-it-looks-like-to-process-35-million-books-in-googles-cloud"><a href="http://googlecloudplatform.blogspot.co.id/2016/02/what-it-looks-like-to-process-3.5-million-books-in-Googles-cloud.html">What it looks like to process 3.5 million books in Google’s cloud</a></h4> <p>Visualisasi Google cloud memproses 3.5 juta buku.</p> </li> </ul> <h3 id="development--tutorial">Development &amp; Tutorial</h3> <ul> <li> <h4 id="the-art-of-war-applied-to-software-development"><a href="http://www.toptal.com/agile/art-of-war-software-development">The Art of War Applied To Software Development</a></h4> <p>Topik menarik mengaplikasikan sun-tzu ke dalam <em>software development</em>.</p> </li> <li> <h4 id="20-material-design-resources"><a href="http://code.tutsplus.com/tutorials/20-material-design-resources--cms-25951">20 Material Design Resources</a></h4> <p>20 Material design untuk yang sedang membangun aplikasi Android, design ini bisa digunakan untuk project-project yang disedang dibangun.</p> </li> <li> <h4 id="how-to-consume-laravel-api-with-angularjs"><a href="http://www.sitepoint.com/how-to-consume-laravel-api-with-angularjs/">How to Consume Laravel API with AngularJS</a></h4> <p>Sedang membangun aplikasi dengan Laravel sebagai framework? di sini dijelaskan membangun aplikasi dengan Laravel sebagai backend dan AngularJS untuk <em>Frontend</em>.</p> </li> <li> <h4 id="how-to-get-started-with-push-notif-on-android"><a href="http://code.tutsplus.com/tutorials/how-to-get-started-with-push-notifications-on-android--cms-25870">How to get started with push notif on Android</a></h4> <p>Tutorial bagaimana memulai push notifications di Android.</p> </li> <li> <h4 id="sql-or-nosql"><a href="http://engineering.twinprime.com/sql-or-nosql/">SQL or NoSQL</a></h4> <p>Perbandingan menggunakan solusi SQL atau NO-SQL.</p> </li> <li> <h4 id="how-to-install-mongodb-3-on-ubuntu-1404"><a href="https://hostpresto.com/community/tutorials/how-to-install-mongo-db-on-ubuntu-14-04/">How to Install MongoDB 3 on Ubuntu 14.04</a></h4> <p>How to Install MongoDB 3 on Ubuntu 14.04 oleh @sumodirjo</p> </li> <li> <h4 id="19-online-resources-for-learning-about-database-design-errors"><a href="http://www.vertabelo.com/blog/notes-from-the-lab/19-online-resources-for-learning-about-database-design-errors">19 Online Resources for Learning About Database Design Errors</a></h4> <p>Kumpulan Artikel <em>Online</em> mengenai design database dan apa yang bisa dihindari dalam mendesignnya.</p> </li> <li> <h4 id="learn-how-to-make-data-visualizations-with-d3js"><a href="https://www.dashingd3js.com/">Learn how to make Data Visualizations with D3.js</a></h4> <p>Data viz menggunakan D3 sebagai library.</p> </li> <li> <h4 id="why-i-no-longer-use-mvc-frameworks"><a href="http://www.infoq.com/articles/no-more-mvc-frameworks">Why I No Longer Use MVC Frameworks</a></h4> </li> </ul> <h3 id="tools">Tools</h3> <ul> <li> <h4 id="onecache"><a href="https://github.com/dadgar/onecache">OneCache</a></h4> <p>OneCache is a best-effort, replicated KV store accessible via the memcached protocol</p> </li> <li> <h4 id="schemazen"><a href="https://github.com/sethreno/schemazen">Schemazen</a></h4> <p>Script and create SQL Server objects quickly</p> </li> <li> <h4 id="medium-editor"><a href="https://yabwe.github.io/medium-editor/">Medium Editor</a></h4> <p>Online Editor yang dibangun dengan inspirasi dari <a href="https://medium.com">Medium.com</a></p> </li> </ul> <p>follow on twitter <a href="https://twitter.com/Jakartadev">@JakartaDev</a></p> Mon, 22 Feb 2016 00:00:00 +0000 https://jakartadev.org/newsletter-issue-2/ https://jakartadev.org/newsletter-issue-2/ Daily Digest #2 <ul> <li><a href="http://www.cio.com/article/3035556/that-linux-flaw-may-be-fixed-but-what-about-your-containers.html">Linux flaw may be fixed, what about linux container?</a> Bug yang ada di GNU C telah ditambal, bug di gcc ini berdampak pada distribusi Linux yang ada, walaupun bug ini telah di<i>patch</i> di sisi linux, bagaimana dengan <i>architecture</i> yang menggunakan Docker?</li> <li><a href="https://www.redhat.com/en/about/press-releases/red-hat-brings-devops-network-new-ansible-capabilities">Ansible 2.0</a> Selain untuk deployment, me-<i>manage</i> service, networking, versi 2.0 ini menambahkan modul untuk mengontrol <i>networking device</i> seperti Arista, Cisco dan lain-lain.</li> <li><a href="http://www.meetup.com/JakartaJS/events/228776402/">JakartaJS Meetup: Creative JavaScript</a> JakartaJS kembali melakukan meetup pada 23 Februari dengan topik “doing creative stuff with JavaScript and Node.js”</li> <li><a href="http://blog.balazspocze.me/2016/01/26/mysql-in-docker-or-native-performance-benchmarks/">MySQL in docker or native – performance benchmarks</a> Perbandingan deploy MySQL di docker dan native.</li> <li><a href="https://www.nginx.com/blog/dynamic-modules-nginx-1-9-11/">Dynamic Modules in NGINX 1.9.11</a> Dengan <em>Dynamic Module</em>, kita bisa me-<em>load shared object</em> yang berbeda.</li> <li> <p><a href="http://googlecloudplatform.blogspot.co.id/2016/02/what-it-looks-like-to-process-3.5-million-books-in-Googles-cloud.html">What it looks like to process 3.5 million books in Google’s cloud</a> Visualisasi Google cloud memproses 3.5 juta buku.</p> </li> <li><a href="http://www.toptal.com/agile/art-of-war-software-development">The Art of War Applied To Software Development</a> Topik menarik mengaplikasikan sun-tzu ke dalam <em>software development</em>.</li> <li><a href="http://code.tutsplus.com/tutorials/20-material-design-resources--cms-25951">20 Material Design Resources</a> 20 Material design untuk yang sedang membangun aplikasi Android, design ini bisa digunakan untuk project-project yang disedang dibangun.</li> <li><a href="http://www.sitepoint.com/how-to-consume-laravel-api-with-angularjs/">How to Consume Laravel API with AngularJS</a> Sedang membangun aplikasi dengan Laravel sebagai framework? di sini dijelaskan membangun aplikasi dengan Laravel sebagai backend dan AngularJS untuk <em>Frontend</em>.</li> <li><a href="http://code.tutsplus.com/tutorials/how-to-get-started-with-push-notifications-on-android--cms-25870">How to get started with push notif on Android</a> Tutorial bagaimana memulai push notifications di Android.</li> <li><a href="http://engineering.twinprime.com/sql-or-nosql/">SQL or NoSQL</a> Perbandingan menggunakan solusi SQL atau NO-SQL.</li> <li><a href="https://hostpresto.com/community/tutorials/how-to-install-mongo-db-on-ubuntu-14-04/">How to Install MongoDB 3 on Ubuntu 14.04</a> How to Install MongoDB 3 on Ubuntu 14.04 oleh @sumodirjo</li> <li><a href="http://www.vertabelo.com/blog/notes-from-the-lab/19-online-resources-for-learning-about-database-design-errors">19 Online Resources for Learning About Database Design Errors</a> Kumpulan Artikel <em>Online</em> mengenai design database dan apa yang bisa dihindari dalam mendesignnya.</li> <li><a href="https://www.dashingd3js.com/">Learn how to make Data Visualizations with D3.js</a> Data viz menggunakan D3 sebagai library.</li> <li><a href="http://www.infoq.com/articles/no-more-mvc-frameworks">Why I No Longer Use MVC Frameworks</a></li> <li><a href="https://github.com/dadgar/onecache">OneCache</a> OneCache is a best-effort, replicated KV store accessible via the memcached protocol</li> <li><a href="https://github.com/sethreno/schemazen">Schemazen</a> Script and create SQL Server objects quickly</li> <li><a href="https://yabwe.github.io/medium-editor/">Medium Editor</a> Online Editor yang dibangun dengan inspirasi dari <a href="https://medium.com">Medium.com</a></li> </ul> Mon, 22 Feb 2016 00:00:00 +0000 https://jakartadev.org/daily-digest-2/ https://jakartadev.org/daily-digest-2/ Issue #1 <p>Issue perdana Jakarta dev.</p> <h3 id="berita">Berita</h3> <ul> <li> <h4 id="mariadb-5548-dan-mariadb-connectorj-135-dirilis"><a href="https://mariadb.org/mariadb-5-5-48-and-connectorj-1-3-5-now-available/">MariaDB 5.5.48 dan MariaDB Connector/J 1.3.5 dirilis</a></h4> </li> <li> <h4 id="datastax-php-driver-11-ga-released"><a href="http://www.datastax.com/dev/blog/datastax-php-driver-1-1-ga-released">Datastax PHP Driver: 1.1 GA Released</a></h4> </li> <li> <h4 id="htop-20"><a href="http://hisham.hm/htop/">htop 2.0</a></h4> </li> <li> <h4 id="keybase-filesystem"><a href="https://keybase.io/docs/kbfs">Keybase filesystem</a></h4> </li> <li> <h4 id="top-elb-health-and-performance-metrics"><a href="https://www.datadoghq.com/blog/top-elb-health-and-performance-metrics/">Top ELB health and performance metrics</a></h4> </li> </ul> <h3 id="tutorial">Tutorial</h3> <ul> <li> <h4 id="first-steps-in-exploring-rocksdb"><a href="http://mysqlentomologist.blogspot.co.id/2016/02/my-first-steps-in-exploring-rocksdb.html">First Steps in Exploring RocksDB</a></h4> <p>RocksDB merupakan <em>storage engine</em> di Mysql</p> </li> <li> <h4 id="how-to-write-a-good-status-update-"><a href="http://blog.statuspage.io/how-to-write-a-good-status-update">How To Write A Good Status Update </a></h4> <p>sometimes it’s a bit tricky to create a statuspage, how you could wrap up information as simple as possible.</p> </li> <li> <h4 id="devopswiki"><a href="https://github.com/Leo-G/DevopsWiki">DevopsWiki</a></h4> <p>A wiki of Guides, Scripts, Tutorials related to devops</p> </li> <li> <h4 id="server-hardening"><a href="https://www.linuxjournal.com/content/server-hardening">Server hardening</a></h4> <p>a very much needed for hardening your Linux server.</p> </li> <li> <h4 id="learn-abut-distributed-system"><a href="http://videlalvaro.github.io/2015/12/learning-about-distributed-systems.html">Learn abut distributed system</a></h4> </li> </ul> <h3 id="tools">Tools</h3> <ul> <li> <h4 id="slate"><a href="https://github.com/tripit/slate">Slate</a></h4> <p>Create beautiful API documentation</p> </li> <li> <h4 id="ahab"><a href="https://tech.instacart.com/ahab/">Ahab</a></h4> <p>Docker Event handling</p> </li> <li> <h4 id="prestissimo"><a href="https://github.com/hirak/prestissimo">Prestissimo</a></h4> <p><a href="https://getcomposer.org/">Composer</a> slowing down? use this tool</p> </li> <li> <h4 id="ps_mem"><a href="https://github.com/pixelb/ps_mem">ps_mem</a></h4> <p>A utility to accurately report the core memory usage for a program</p> </li> <li> <h4 id="bulma"><a href="http://bulma.io/">Bulma</a></h4> <p>A modern CSS framework based on Flexbox</p> </li> <li> <h4 id="git-fresh"><a href="https://github.com/imsky/git-fresh">git-fresh</a></h4> <p>Keep your repo fresh with one command.</p> </li> <li> <h4 id="pagespeed-module"><a href="https://developers.google.com/speed/pagespeed/module/">PageSpeed Module</a></h4> <p>PageSpeed module for your favorite webserver</p> </li> <li> <h4 id="gitlab-kanban-board"><a href="http://kanban.leanlabs.io/">GitLab Kanban Board</a></h4> <p>Free OpenSource self hosted Kanban board for GitLab issues</p> </li> <li> <h4 id="huginn"><a href="https://github.com/cantino/huginn">Huginn</a></h4> <p>Huginn is a system for building agent, could be connected to Slack, hipchat, basecamp, etc.</p> </li> <li> <h4 id="grommet"><a href="http://www.grommet.io/docs/">grommet</a></h4> <p>The most advanced open source UX framework for enterprise applications.</p> </li> </ul> <p>follow on twitter <a href="https://twitter.com/Jakartadev">@JakartaDev</a></p> Mon, 15 Feb 2016 00:00:00 +0000 https://jakartadev.org/newsletter-issue-1/ https://jakartadev.org/newsletter-issue-1/ Daily Digest #1 <ul> <li><a href="https://mariadb.org/mariadb-5-5-48-and-connectorj-1-3-5-now-available/">MariaDB 5.5.48 dan MariaDB Connector/J 1.3.5 dirilis</a></li> <li><a href="http://www.datastax.com/dev/blog/datastax-php-driver-1-1-ga-released">Datastax PHP Driver: 1.1 GA Released</a></li> <li><a href="http://hisham.hm/htop/">htop 2.0</a></li> <li><a href="https://keybase.io/docs/kbfs">Keybase filesystem</a></li> <li><a href="https://www.datadoghq.com/blog/top-elb-health-and-performance-metrics/">Top ELB health and performance metrics</a></li> <li><a href="http://mysqlentomologist.blogspot.co.id/2016/02/my-first-steps-in-exploring-rocksdb.html">First Steps in Exploring RocksDB</a> RocksDB merupakan <em>storage engine</em> di Mysql</li> <li><a href="http://blog.statuspage.io/how-to-write-a-good-status-update">How To Write A Good Status Update </a> sometimes it’s a bit tricky to create a statuspage, how you could wrap up information as simple as possible.</li> <li><a href="https://github.com/Leo-G/DevopsWiki">DevopsWiki</a> A wiki of Guides, Scripts, Tutorials related to devops</li> <li><a href="https://www.linuxjournal.com/content/server-hardening">Server hardening</a> a very much needed for hardening your Linux server.</li> <li><a href="http://videlalvaro.github.io/2015/12/learning-about-distributed-systems.html">Learn abut distributed system</a></li> <li><a href="https://github.com/tripit/slate">Slate</a> Create beautiful API documentation</li> <li><a href="https://tech.instacart.com/ahab/">Ahab</a> Docker Event handling</li> <li><a href="https://github.com/hirak/prestissimo">Prestissimo</a> <a href="https://getcomposer.org/">Composer</a> slowing down? use this tool</li> <li><a href="https://github.com/pixelb/ps_mem">ps_mem</a> A utility to accurately report the core memory usage for a program</li> <li><a href="http://bulma.io/">Bulma</a> A modern CSS framework based on Flexbox</li> <li><a href="https://github.com/imsky/git-fresh">git-fresh</a> Keep your repo fresh with one command.</li> <li><a href="https://developers.google.com/speed/pagespeed/module/">PageSpeed Module</a> PageSpeed module for your favorite webserver</li> <li><a href="http://kanban.leanlabs.io/">GitLab Kanban Board</a> Free OpenSource self hosted Kanban board for GitLab issues</li> <li><a href="https://github.com/cantino/huginn">Huginn</a> Huginn is a system for building agent, could be connected to Slack, hipchat, basecamp, etc.</li> <li><a href="http://www.grommet.io/docs/">grommet</a> The most advanced open source UX framework for enterprise applications.</li> </ul> Mon, 15 Feb 2016 00:00:00 +0000 https://jakartadev.org/daily-digest-1/ https://jakartadev.org/daily-digest-1/ Introducing JakartaDEV <p>JakartaDEV adalah <em>newsletter</em> yang dikirim <em>hampir-mingguan</em>, dikirim setiap senin, tentang berita development dan teknologi yang melingkupinya.</p> <p><em>newsletter</em> ini berisi informasi bisa berupa project Open Source, tools yang banyak digunakan saat ini, ataupun bisa menggali banyak informasi yang sudah lewat dan bisa belajar dari situ.</p> <p>Fokus isi dari <em>newsletter</em> ini adalah hal yang <em>technical</em> dan atau informasi-informasi yang sedang berkembang saat ini, terutama bagi para developer. terkadang ditulis dalam bahasa inggris jika isi yang akan disampaikan tidak dapat atau susah diartikan ke bahasa indonesia :D.</p> <p>ingin tahu lebih lanjut tentang JakartaDEV? bisa kirim <a href="mailto:dedenf@jakartadev.org">email</a> atau via <a href="https://twitter.com/JakartaDev">Twitter @JakartaDev</a></p> <p>silakan subscribe</p> Tue, 02 Feb 2016 00:00:00 +0000 https://jakartadev.org/introducing-jakartadev/ https://jakartadev.org/introducing-jakartadev/ About <p>You love Minimalism, and you also love writing, Type is designed for you. Type focus on showing your content in a clean and simple way, focus on images, typography, and white space.</p> <p>This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at <a href="http://jekyllrb.com/">jekyllrb.com</a></p> <p>Lorem ipsum dolor sit amet, vix ut case porro facilisis, alia possit neglegentur vis te. Has cu eirmod abhorreant, vel civibus efficiantur cu. Eu summo elitr vix, iusto putant maluisset per ut, ne etiam vivendum adipisci vel. Vis omnis tempor accusam ei, justo perpetua liberavisse cu qui. Saperet aliquando adipiscing ius ne, ne facer euripidis est. Pro mundi nostrum suavitate et.</p> https://jakartadev.org/about.html About <p><strong>JakartaDev</strong> – dibangun 2016, dengan ide untuk menjadikan informasi tentang dunia <em>development</em> dari mulai programming, database, devops dan lainnya. dan juga kadang berisi artikel yang ditulis sendiri. Newsletter tentang development, terkadang diselipin oleh berita tech yang terkait.</p> <p>Artikel, links, ulasan, dikurasi oleh <a href="https://twitter.com/dedenf">@dedenf</a>. (ada yang mau kontribusi?)</p> <p>Untuk content, akan dicoba diupdate (hampir) setiap hari.</p> <p>Tautan ke artikel yang dipublis di sini hasil kumpulan dari browsing, tautan di situs engineering, newsletter yang saya ikuti.</p> <h3 id="acknowledgement">Acknowledgement</h3> <p>jakartaDEV menggunakan Jekyll sebagai blogging engine, dan menggunakan <a href="https://github.com/barryclark/jekyll-now">jekyll-now</a> sebagai theme dasar, dengan kostumasi seadanya.</p> <p>jakartaDEV repo disimpan di <a href="https://http://github.com/jakartadev/jakartadev.github.io">github.com</a>, dan menggunakan <del>fitur Github Pages</del> <a href="https://netlify.com">Netlify</a> untuk mem-<em>publish</em> website ini.</p> <p><del>Menggunakan cloudflare sebagai DNS server dan fitur SSL-nya untk https jakartadev.org</del> Sekarang jakartadev.org untuk mengatur DNS dan juga menggunakan SSL certificate menggunakan let’s encrypt, yang merupakan feature dari Netlify.com.</p> <p>saya juga mencoba newsletter service dari subsctack di<a href="https://jakartadev.substack.com/"> https://jakartadev.substack.com/</a></p> <h3 id="contact">Contact</h3> <p>dedenf[at]jakartadev.org atau dedenf[at]gmail.com</p> https://jakartadev.org/about/ Colophon <p><img src="/images/pat-krupa-CJGBPvTKykU-unsplash.jpg" alt="" /></p> <p>Source code hosted at <a href="https://pages.github.com/">Github page</a>, see <a href="https://github.com/dedenf/dedenf.github.io/">my repo here</a>, feel free to fork, enhance, etc, and Github will take care the rest. I use <a href="https://jekyllrb.com/">Ruby Jekyll</a> blogging engine.</p> <p>Written using <a href="https://code.visualstudio.com/">Visual Code Studio</a>, Website hosted at <a href="https://www.netflix.com/">Netlify</a>.</p> <h3 id="ack">Ack</h3> <p>CSS Styling and design using <a href="https://github.com/johno/pixyll">Pixyll</a> with couple custom style.</p> https://jakartadev.org/colophon/ Say Hello <div class="py2"> <form id="my-form" class="form-stacked"> <label for="email">Email</label><br /> <input id="email" type="email" name="email" class="field-light" placeholder="email@example.com" required /> <div data-sk-error="email"></div> <textarea type="text" name="text" class="field-light" rows="5" placeholder="What would you like to say?" style="resize: vertical" required></textarea> <input type="hidden" name="_next" value="/thanks/" /> <input type="hidden" name="_subject" value="New submission!" /> <input type="text" name="_gotcha" style="display:none" /> <button type="submit" class="button button-blue button-big mobile-block">Say Hello</button> </form> <script> window.sk=window.sk||function(){(sk.q=sk.q||[]).push(arguments)}; sk('form', 'init', { id: '6a7084e37439', element: '#my-form' }); </script> <script defer src="https://js.statickit.com/statickit.js"></script> </div> https://jakartadev.org/contact/ Reading <hr class="half-width"> {% for post in site.posts %} {% if post.type == "link" %} <article class=''> {% if post.link %} <time class='grayish'>{{ post.date | date: '%B %-d, %Y' }} &mdash; <a href='{{ post.url }}'>link to the post</a></time> <h2 class='c-post__title'><a href='{{ post.link }}'>{{ post.title }} &rarr;</a></h2> {% else %} <div class='mb2'> <h1 class='m0'><a href='{{ site.baseurl }}{{ post.url }}'>{{ post.title }}</a></h1> <time class='grayish'>{{ post.date | date: '%B %-d, %Y' }} &mdash; {% include read-time.html %}</time> </div> {% endif %} {% if post.summary %} {% if post.image.teaser %} <a href="{{ site.github.url }}{{ post.url }}"><img src="{{ site.github.url }}/images/{{ post.image.teaser }}"></a> {% endif %} {{ post.summary | markdownify }} <a href='{{ site.baseurl }}{{ post.url }}/'>Continue reading &rarr;</a> {% else %} {% if post.layout != post %} {% assign words = post.content | strip_html | number_of_words %} {% if post.page_type != "long" %} {% if words > 100 %} {{ post.excerpt }} <a href="{{ site.github.url }}{{ post.url }}">Read more &rarr;</a><br><br> {% else %} {{ post.excerpt }} {% endif %} {% else %} {{ post.excerpt }} {% endif %} {% endif %} {% endif %} {% if post %} {% assign tags = post.tags %} {% else %} {% assign tags = page.tags %} {% endif %} <div> Tag{% if post.tags.size > 1 %}s{% endif %}: {% for tag in tags %} <a href="/tags#{{tag|slugize}}">{{tag}}</a>{% unless forloop.last %},{% endunless %} {% endfor %} </div> </article> <hr class='half-width'/> {% endif %} {% endfor %} https://jakartadev.org/my-reading Style Guide At [Aspire Themes](http://aspirethemes.com/) I use a lot of tools to help me create WordPress, Ghost and Jekyll themes. Tools will range from development, design, services, hosting and automation. Graphic design is the paradise of individuality, eccentricity, heresy, abnormality, hobbies, and humors. - George Santayana. --- # Simple default styles for headings ## Simple default styles for headings ### Simple default styles for headings #### Simple default styles for headings ##### Simple default styles for headings ###### Simple default styles for headings --- * Ut at interdum nunc. Maecenas commodo turpis quis elementum gravida. * Nunc ac sapien tellus. Quisque risus enim, tempus eget porttitor. * Donec nibh massa, rutrum a sollicitudin eu, lacinia in lorem. --- 1. Ut at interdum nunc. Maecenas commodo turpis quis elementum gravida. 2. Nunc ac sapien tellus. Quisque risus enim, tempus eget porttitor in. 3. Donec nibh massa, rutrum a sollicitudin eu. --- > Graphic design is the paradise of individuality, eccentricity, heresy, abnormality, hobbies, and humors. - George Santayana --- {% highlight js %} 'use strict'; var markdown = require('markdown').markdown; function Editor(input, preview) { this.update = function() { preview.innerHTML = markdown.toHTML(input.value); }; input.editor = this; this.update(); } {% endhighlight %} You can add inline code just like this, E.g. `.code { color: #fff; }` {% highlight css %} pre { background-color: #f4f4f4; max-width: 100%; overflow: auto; } {% endhighlight %} --- Cras sed sodales enim. Duis nec erat magna. Sed scelerisque pretium mi et [unsplash](https://unsplash.com/) ullamcorper mauris aliquam ornare fringilla. In luctus commodo quam eget posuere. --- <iframe src="https://player.vimeo.com/video/97202679" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe> --- <iframe src="https://embed.ted.com/talks/ted_halstead_a_climate_solution_where_all_sides_can_win" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen></iframe> --- <iframe width="100%" height="166" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/29738591&amp;color=ff5500&amp;auto_play=false&amp;hide_related=false&amp;show_comments=true&amp;show_user=true&amp;show_reposts=false"></iframe> --- <p data-height="265" data-theme-id="light" data-slug-hash="YWvpRo" data-default-tab="css,result" data-user="kharrop" data-embed-version="2" data-pen-title="Referral Form" class="codepen">See the Pen <a href="http://codepen.io/kharrop/pen/YWvpRo/">Referral Form</a> by Kelly Harrop (<a href="http://codepen.io/kharrop">@kharrop</a>) on <a href="http://codepen.io">CodePen</a>.</p> <script async src="https://production-assets.codepen.io/assets/embed/ei.js"></script> --- ![about](/images/pages/about.jpeg) --- <input type="text" placeholder="I'm an input field!"> --- <button class='c-btn c-btn--small'>Button</button> <button class='c-btn'>Button</button> <button class='c-btn c-btn--full'>Button</button> {% highlight html %} <button class='c-btn c-btn--small'>Button</button> <button class='c-btn'>Button</button> <button class='c-btn c-btn--full'>Button</button> {% endhighlight %} https://jakartadev.org/style-guide.html Thanks For Your Message {{ site.text.thanks }} https://jakartadev.org/thanks/