サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
2024年ランキング
betterprogramming.pub
In recent years, it would appear that data engineering is converging with DevOps. Both have embraced cloud infrastructure, containerization, CI/CD, and GitOps to deliver reliable digital products to their customers. The convergence on a subset of tooling has led many to the opinion that there is no significant distinction between data engineering and software engineering. Consequently, the fact th
Observing the Machine — Midjourney v5.1When discussing team organization, I am often asked: “Why don’t you have the tech lead manage the team?” My response is to hiss like a vampire exposed to holy water. When the follow-up question is: “Given you want managers on your teams, can the manager still perform code reviews?” I burst into flames. This question comes up all the time. But, let’s think abo
Photo by Ross Sokolovski on UnsplashFor over five years, in a professional capacity, I’ve worked mostly on projects built using Ruby. Most of the systems I worked on used Ruby on Rails and varied in size from microservice to monolith. For several of those years, I’d repeatedly get frustrated with Ruby’s dynamic nature, especially in the decade-old monolith. I’d end up debugging a problem, trying t
Photo by ELLA DON on UnsplashHave you been working on an OpenAI project that uses the Chat GPT API? Do you want to stream the response to your application in real-time — as it's being generated? In this article, I will walk you through the process of using OpenAI’s API to receive SSE to your server and forwarding those events to your client using SSE. The examples will be written in JavaScript, Py
TypeScript as envisioned by Stable DiffusionThis article goes through almost all of the changes of the last 3 years (and some from earlier) in JavaScript / ECMAScript and TypeScript . Not all of the following features will be relevant to you or even practical, but they should instead serve to show what’s possible and to deepen your understanding of these languages. There are a lot of TypeScript fe
A picture of delicious food by me, 30 minutes ago (at the time of writing)UpdateThere is a repository to fork and try that simplifies this whole post, specially after latest development with Fly and Bun. As neither Bun nor LiteFS are recommended for production yet, I’ve decided it was obviously a good idea to deploy “their synergy” on fly.io 😇 “… but why?” … well, this is why! What’s Bun very goo
workflow — all images by authorThe Tech side of startups can sometimes be very fluid and contain a lot of unknowns. What tech stack to use? Which components might be overkill for now but worth keeping an eye on in the future? How to balance the pace of business features development while keeping the quality bar high enough to have a maintainable codebase? Here I want to share our experience buildi
Photo by Viktor Talashuk on UnsplashHistorically, logs have been essential for troubleshooting application and infrastructure performance. Nowadays, it is used for business dashboards visualization and performance analysis. The importance of structuring the data in those log files so it can be extracted, manipulated, and analyzed efficiently, in addition to being understandable by humans, is quick
Photo by Tim Hart on UnsplashWe’re living in a world of fast consumption of content which is led by the likes of TikTok, Snapchat, Instagram, Twitter, Facebook, Youtube, and more. Younger fans are embracing new ways of engaging with leagues with decreasing importance placed on watching games live. Among U.S. sports fans ages 18–34, 58% of MLB fans, 54% of NBA fans, and 48% of NFL fans say they pre
Regular expressions have a bad reputation. It seems like whenever they’re mentioned, it invokes images of terrifying walls of text that look like absolute nonsense. For example, this is a commonly-cited regex for validating email addresses: (?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?
I'm tired of seeing the same tutorials pop up every couple of weeks. "JWTokens are the recommended auth method because of scalability.""JWTokens are easier to use.""JWTokens are stateless, so you don't use memory on the server."Let me tell you something. These people probably don't know any better. I am sure their intentions are good, but they share an un-secure way of authenticating and authorizi
Photo by Jukan Tateisi on UnsplashThe Command and Query Responsibility Segregation (CQRS) it’s an architectural pattern where the main focus is to separate the way of reading and writing data. This pattern uses two separate models: Queries — Which are responsible for reading dataCommands — Which are responsible for update dataIn a Nutshell - The Command and Query Responsibility Segregation (CQRS)
Photo by Thalia Tran on UnsplashKafka is a top-notch industry platform for streaming data processing at scale. No surprise that first-class citizens of Kafka world are 24/7-running producer/consumer applications (e.g. classical servers, k8s-pods, etc.). But what about the rapidly rising world of AWS Serverless ecosystem? Image credit: AuthorThe diagram above is a collection of workflows: Propagate
Image by AuthorThe VSCode editor has seen a massive adoption since its launch back in 2015. Why? Because It is lightweight, easy to use, and allows a ton of customization. Its plugins are an essential part of its ecosystem and why many Developers are hooked on it. Its native Typescript support excels and drives a lot of the…
Set up entNext, we will set up ent . Create a user schemaIn this post, we will create a users table in our database. Before that, we need to create a schema file called User : ent init UserThe generated files should look like: ent ├── generate.go └── schema └── user.goThe user.go has a schema that includes Fields and Edges: Fields — The attributes of the node. This is equivalent to a column in a d
Capture By AuthorTypescript has had Template Literals since its early stages. They are really useful when you want to create types from a static string. It was not until the Typescript 4.1 release that we saw Template Literal Types. In further releases, the Typescript team has been polishing its features and fixing some quirks. As a result, it is now a mature feature. What are Template Literal Typ
Photo by Dominik Lückmann on UnsplashWhen a task operating in a Kubernetes cluster becomes repetitive, it probably means that we are not taking advantage of all the features that Kubernetes offers, because it is designed for automation. Normally, these tasks are performed by human operators, who have deep knowledge of how the system ought to behave, know how to deploy the application, and troubles
Photo by Sigmund on UnsplashNo matter whether you work in a small startup or a big corporate company, the odds are that when it comes to good, valuable documentation of your services or projects, there will be a huge gap and need for it. This can impact multiple parts of an organization, from discussion forums to decide the best path to a goal to the onboarding of new colleagues that need to ramp
Photo by Philipp Lehmann on UnsplashBy using Amazon API Gateway, it’s possible to quickly create serverless microservices backed by Lambda. We’ll review one such deployment and use the AWS Serverless Application Model (SAM) to deploy it. IntroductionWith ever-growing cloud systems, many companies have opted to move away from monoliths into a distributed architecture composed of microservices. AWS
Photo by Liam Briese on UnsplashThere are about 700 programming languages in the world. However, developers use about 20 different programming languages to build enterprise software. In other words, there are only a few popular general-purpose programming languages, even if there are many programming languages. Developers usually start coding at school, university, or when they begin their career.
Photo by Diana Polekhina on Unsplash.React is very unopinionated about how things should be structured. This is exactly why it’s our responsibility to keep our projects clean and maintainable. Today, we will discuss some best practices to improve your React application’s health. These rules are widely accepted. As such, having this knowledge is imperative. Everything will be shown with code, so bu
Photo by Andrea Piacquadio from PexelsEver get frustrated with a horrible API where everything’s a guessing game? Well, I have. In this world of microservices, a consistent design for your backend API is imperative. Today, we’ll talk about some best practices to follow. We’ll keep it short and sweet — so buckle up! First, Some TerminologyAny API design follows something called Resource Oriented De
Photo by Brixiv from PexelsIn my previous article, “Deep Insights Into JavaScript’s Fetch API”, I discussed the basics of the Fetch API. But it’s worth acknowledging that fetch() isn’t consistently an ideal solution, and there are sometimes better alternatives for making HTTP requests. Here I’ll describe why Axios is better than fetch() in development. This is my 36th Medium article. Overview and
Logo available on public domainAs a long-time user (and active proponent) of Scheme/Common Lisp/Racket, I sometimes get asked why I stick with them. Fortunately, I have always headed up my own engineering organizations, so I’ve never had to justify it to management. But there’s an even more important constituency — my own engineering colleagues — who’ve never ever had the pleasure of using these l
Photo by DISRUPTIVO on UnsplashECMAScript 6 version took a long time to be released. It did go out until 2015, while ECMAScript 5 was released in 1997. The dot-com bubble, EMACScript 4 failed attempt, and other factors were the cause behind this late release. As a consequence, ES6 was feature-packed. So feature-packed that many features went unnoticed. The…
Photo by Samuel Bourke on Unsplash.It’s summer 2018. My boss, Adrian, asks me to join him in a Skype call with James, the CTO of a big Canadian company. While getting to know each other, I find out that James is a smart guy with big ambition. His vision is to migrate a massive desktop WPF application to the web in the cloud. I like his friendly attitude and I can tell that he is eager to collabora
10 Storybook Best PracticesThis is a post about Storybook and conventions. It is based on my experience using Storybook over several years and from the experiences of other developers. The best practices I define here aren’t silver bullets that will fix and improve every project. They’re a baseline of ideas and conventions that I think are worth trying. Hopefully, they can help you and your team h
Image credit: AuthorNumPy is a fundamental library that most of the widely used Python data processing libraries are built upon (pandas, OpenCV), inspired by (PyTorch), or can efficiently share data with (TensorFlow, Keras, etc). Understanding how NumPy works gives a boost to your skills in those libraries as well. It is also possible to run NumPy code with no or minimal changes on GPU¹. The centr
Photo by Paweł Czerwiński on UnsplashWe are in the golden age of software. We have tools for everything. We have the tools to make tools. We build core systems into high-level products. But one thing is common at all levels: the infamous memory leak. It is not always a bug in code; sometimes not understanding the behavior of runtime can cause it as well. The runtime in question here is Node.js. Th
次のページ
このページを最初にブックマークしてみませんか?
『Better Programming』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く