Creează un cont pentru a te abona la acest blog și a-i urmări articolele pe pagina Lectură.
-
I generally avoid referring to anything as technical debt.
-
It can be extremely tempting to announce that something is done, essentially because it can make you and others smile and feel good—we've made progress!
-
I so frequently see extremely capable software engineers waste their skills with over-engineering, and it makes me feel sad.
-
There are virtually infinite options on how to split up all but the most trivial pieces of software engineering work, but rarely is emphasis placed on the skill of making that choice.
-
I've made a few data dashboards recently, and I've realised it can be hard to know where to begin sometimes.
-
I've been fortunate to work on projects where there is often a direct (or at least short) route between myself and the users of products I've worked on.
-
To offer HTTP file downloads via your own code [rather than redirecting elsewhere], it's often easy to rustle something up.
-
Something that occasionally catches developers out is the fact that S3 is not a filesystem, but a key-value store.
-
I have a confession: I assumed things about Django's transaction.atomic() that are not true, at least not true by default in PostgreSQL.
-
Here's Queue, a small utility function to queue and run tasks with limited concurrency. const Queue = (concurrency) => { var running = 0; const tasks = []; return async (task) => { tasks.push(task); if (running >= concurrency)…
-
Python's asyncio gets a fair bit of bad press.
-
I've noticed a bit of a skill gap: I think a lot of developers are not able to code up "streaming" solutions to problems.
-
In these days of medium data [data that is too big to fit in memory on a single machine, but could otherwise be processed by one], it's important to know what features your programming language offers to help you process data using streaming.
-
Frameworks often hide/abstract parts of HTTP away.
-
One of the beautiful, and maybe even genius, things about the core S3 API: it's just an HTTP PUT to store an object, and an HTTP GET to fetch it.
-
What is the underlying data transformation I need?
-
When writing Python, sometimes you need to store/manipulate state.
-
Lots of people hate Python's ternary operator.
-
Ideally, changes of behaviour are released incrementally to base your next steps on feedback.
-
AWS S3 is a key/value store, with operations that only operate on a single key at a time.
-
In this post, I present an implementation of an asyncio read/write lock [also known as a shared/exclusive lock].
-
It is not a requirement to Boto 3 in order to communicate with AWS from Python: you can make requests using any HTTP client, as long as you can work out the correct headers.
-
Can I think of any combination of input where the exception can be thrown?
-
I recently wrote a small Python application that had to be configurable so it can run differently in different environments.
-
In an Agile environment, you are likely keeping in mind the following 3 Agile principles when working.
-
There is a "feature" of type-safe language: it is often an effort to use union types.
-
Am I confident the feature I wrote today works because of the tests and not because I loaded up the application?
-
The word monad can be seen as scary, but you don't particularly need to worry about what it means in the general case in order to use the implementations of >>= (bind).
-
Trying to understand functors, I came accross the initially strange fact that functions are functors.
-
This post assumes some understanding of and familiarity with Haskell monads.
-
Starting in Haskell, I wanted to lean away from do notation, to make sure I knew what was going on under the hood before taking syntactic shortcuts.
-
I have seen multiple developers leap to the conclusion that long files of source code are automatically bad, leading them to separate the code, virtually as-is, into separate files.
-
Coming from an imperative programming background, or working in an imperative code base, it can be tricky to write purer code.
-
When designing a deployment strategy for your web application or site, keep in mind that browsers do not request a site atomically.
-
A common pattern I have seen is having some default behaviour in a base class, that is sometimes overwritten in subclasses, and sometimes not. class Base(object): def colour(self): return "red" class ClassA(Base): pass class ClassB(Base): def…
-
This post contains a few recommendations on how to write certain aspects Protractor E2E tests.
-
Page objects seem to have gained a bit of traction in AngularJS E2E testing, especially since they seem to be officially recommended.
-
Often you want to pass in an extra variable to an existing function def my_func(a): ... so it supports a new use.
-
The code below follows a common pattern in impure code. if (condition) { doFooImpurely(); } else { doBarImpurely(); } If you can extract out common logic from doFooImpurely and doBarImpurely into a meaningful intermediate variable that can be calculat…
-
This post contains the high level steps for the site architecture and deployment strategy for blue-green deployment for a static site hosted on S3.
-
There might be times when you have a chain of piped streams where you want to delay a part of the chain until a promise is resolved.
-
Animating elements between parts of an application can be tricky.
-
Usually shadowing introduced by prototypical inheritance of $scope is something to be avoided, often the source of bugs cause by not having a dot in models.
-
Transclusion allows a directive to move clone(s) of the contents of a directive to an arbitrary place in the DOM.
-
It's possible for Angular apps to communicate, where one is running in an iframe of a parent, using standard scope events.
-
AngularJS promises are an extremely powerful tool.
-
The Problem Running a basic node.js + express + socket.io setup, I would occasionally get ECONNRESET errors.
-
The problem With an ever-increased user and code-base, with ever increasing amounts of data, we are approaching limits of what any single relational database can handle over at intelligentgolf.
-
A few technical details about this site.
-
This is a known bug bugs.jqueryui.com/ticket/8873, but I couldn't find it on a search, so it might be helpful to post here.