~/devreads

9 Nov 2022

8 Nov 2022

Omari Thompson-Edwards 3 min read

Merging arrays is a common task you’ll face in most programming languages, especially merging arrays while only adding unique values. In this article, I’ll talk you through a few approaches to this in TypeScript, as well as the unique TypeScript quirks you might face. If you’re trying to solve this problem in React, why not […]

typescript

Omari Thompson-Edwards 3 min read

TypeScript string literal types are a great tool that let you define a type as a literal string value. They’re also really useful when combined with type unions, commonly used as a sort of alternative to enums, when you just want to deal with strings. Here’s a simple example of a string literal union. Anything […]

typescript

Aleksei Bingham 17 min read

First and foremost, thanks for visiting my little slice of the internet! I hope the following is both insightful and comedic as I plan to @inject well constructed jokes throughout this post. Introduction Hello! My name is Aleksei and at the time of writing this I’m a rising Senior perusing a Bachelors of Science in Computer Science at the Rochester…

androidinternshipskotlinstravadependency-injection

Nic Raboy 1 min read

So you're building serverless applications with Microsoft Azure Functions, but you need to persist data to a database. What do you do about controlling the number of concurrent connections to your dat... The post Getting Started with MongoDB Atlas and Azure Functions using Node.js appeared first on Microsoft.

Chris Peterson 1 min read

In September, we announced our new low-cost Eco dynos plan and Mini plans for Heroku Postgres and Heroku Data for Redis®. The time has come! These plans are available today for new and existing applications. For customers paying by credit or debit card, the Eco dynos and Mini data plans are free until November 30th, […] The post Eco and…

news

7 Nov 2022

Tinder 7 min read

Authors: Rojan Rijal , Tinder Security Labs | Johnny Nipper, Product Security Manager | Tanner Emek, Engineering Manager Recently, Tinder Security Labs gave a talk at Recon Village @ Defcon 30 called “Scanning your way into internal systems via URLScan.” We went over examples of sensitive links indexed by URLScan that could be leveraged to gain access into corporate systems.…

securitycybersecuritypreventionengineering

6 Nov 2022

4 Nov 2022

Nic Raboy 1 min read

So you want to build a REST API, but you don't want to worry about the management burden when it comes to scaling it to meet the demand of your users. Or maybe you know your API will experience more b... The post Build a Totally Serverless REST API with MongoDB Atlas appeared first on MongoDB.

lukaseder 1 min read

The standard SQL WITH clause has been tremendously helpful in structuring SQL queries. Instead of nesting everything in unreadable derived tables like this: People have started moving the logic up front, just like in any other programming language, where we declare things first, lexically, then use them: Both queries will produce the 5 actors with … Continue reading LATERAL is…

sqlapplycross applycross join laterallateral

Brittany Jones 1 min read

Today, we’re announcing heroku data:labs, an extension of the Heroku Data client plugin. This plugin allows you to make configuration changes to your Heroku Postgres addons. Previously, you could only enable these features by opening a ticket with Heroku Support. With heroku data:labs, you’ll save time by turning these features on and off yourself. heroku […] The post Announcing Heroku…

news

3 Nov 2022

Vlad Mihet 3 min read

If you aren’t already familiar with the concept of interfaces or what they are in TypeScript, be sure to check out this article first, as Interface Declaration Merging is linked directly to them. Otherwise, we shall proceed with the rest of the article. What Does Interface Declaration Merging Refer To? You might find yourself needing […]

typescript

Vlad Mihet 3 min read

If you’ve worked with TypeScript extensively, you would know that we cannot inherit or extend from more than one class at a time. However, this inconvenience is something we can get around by using something called Mixins. So, what exactly are Mixins? Introduction to TypeScript’s Mixins As mentioned prior, Mixins allow us to inherit from […]

typescript

Vlad Mihet 3 min read

Similar to Type Aliases, TypeScript’s Interfaces provide us a medium to avoid code duplication across our TypeScript codebases. If we were to look at the alternative way of defining types, we would find ourselves defining and redefining types inline each time we want to benefit from TypeScript’s strong static typing system. What Is an Interface? […]

typescript

Vlad Mihet 2 min read

We may find ourselves defining the same Type in different places, which is not ideal, considering all the bad things we often hear about code duplication, but what can we do? The answer to that is Type Aliases. TypeScript allows us to reuse certain types by defining them the same way we would otherwise define […]

typescript

Vlad Mihet 4 min read

You may already know that, in React, we may map over a collection of items (Such as an array) using various iterator methods, such as Array.prototype.map or the trusty for loop outside JSX and generate Components or JSX Elements as we go. You can learn more about Iterators in React in this article. However, you […]

tutorials

Courtney Webster 3 min read

The November 2022 release of the Python and Jupyter extensions for Visual Studio Code are now available. This release includes automatic installation of the isort extension, auto imports turned off by default with Pylance, "just my code" cell debugging in Jupyter and more! The post Python in Visual Studio Code – November 2022 Release appeared first on Microsoft for Python…

python

Kylie Stradley 7 min read

Background In the first post in this series, we detailed how we designed our easy‐to‐use column encryption paved path. We found during the rollout that the bulk of time and effort was spent in robustly supporting the reading and upgrading of previous encryption formats/plaintext and key rotation. In this post, we’ll explain the design decisions we made in our migration…

2 Nov 2022

Omari Thompson-Edwards 3 min read

The groupBy function is generally used to group arrays together by a certain condition. You can easily go for a built-in solution, such as lodash’s groupBy function, or implement it yourself in TypeScript. Lodash _.groupBy Lodash is a library that contains a large selection of utility functions, such as for flattening arrays, sorting arrays, debouncing […]

typescript

Omari Thompson-Edwards 2 min read

Conditional types in TypeScript help you to create types depending on another type, by checking if that type satisfies some condition. In their simplest form, they take the format of: Here’s a simple example, checking if a type can be converted to a string. Here I’m looking for which of these primitive types in my […]

typescript

1 Nov 2022

Avery Dunn 6 min read

My name is Avery Dunn and I am a rising master’s student at Washington University in St. Louis studying computer science. For the past 12 weeks, I have been a software engineering intern on the API & Platform pod of the Foundation team. I am an active Strava user and have been for approximately 3 years with my favorite activity…

software-developmentgraphqlmicroservicesapiinternships

David Walsh 1 min read

As a software engineer that lives too much of his life on a computer, I like keeping my machine as clean as possible. I don’t keep rogue downloaded files and removes apps when I don’t need them. Part of keeping a clean, performant system is removing empty directories. To identify empty directories, I use the following command: To remove empty…

Negisa Taymourian 1 min read

What’s the one thing that most security professionals can agree on? It’s that good security is about so much more than great point products. Why? Because best of breed solutions are limited in what they can do for your overall security posture. What matters is not only how effective each security solution is at defending […] The post Introducing the…

products servicesapicisco umbrella

31 Oct 2022

Dipika Bhattacharya 3 min read

The MDN Web Docs team recently undertook a project to revamp and reorganize the “Contribution Docs”. These are all the pages on MDN that describe what's what – the templates and page structures, how to perform a task on MDN, how to contribute to MDN, and the community guidelines to follow while contributing to this massive open source project. The…

featured articlemdnfirefox

David Walsh 1 min read

One of the ideological sticking points of the first JavaScript framework was was extending prototypes vs. wrapping functions. Frameworks like MooTools and Prototype extended prototypes while jQuery and other smaller frameworks did not. Each had their benefits, but ultimately all these years later I still believe that the ability to extend native prototypes is a massive feature of JavaScript. Let’s…

30 Oct 2022

Developer Relations Team 1 min read

Check how to boost engagement and simplify communication with 💬 Chat API, offering robust real-time messaging without the development complexity

srinivas.tamada@gmail.com (Srinivas Tamada) 1 min read

Pocketbase is an open-source application and alternative to Google Firebase. This is offering realtime database, authentication(including social), and file storage for your next web and mobile application. This article is about how to host the Pocketbase application server which usually runs at 8090 port with your existing application server. If you are using Linux and Apache based server, the following…

apacheauthenticationdatabasehostingpocketbase

jonskeet 9 min read

This morning (October 30th 2022), the clocks went back in the UK – the time that would have been 2am fell back to 1am. This is just the regular “fall back” transition – there’s nothing special about it. As it happens, I’d driven my electric car for quite a long journey yesterday, so I had … Continue reading Handling times…

generalnoda time

29 Oct 2022

jgamblin 1 min read

For a recent project, I needed all the NVD CVE and EPSS data in Elasticsearch and couldn’t find an easy way to do it, so I built CVElk. CVElk quickly builds a local Elastic Stack using docker compose with the help of a simple shell and python script. Philipp Krenn from Elastic also contributed an updated dashboard to the project…

uncategorized

28 Oct 2022

J Evans 6 min read

This post discusses the algorithm behind Personal Heatmap, one of Strava’s most acclaimed subscriber features. Product Overview The Personal Heatmap feature has been around in some form since 2015, but we gave it a major overhaul in 2020. For those unfamiliar, the heatmap is an aggregated view of an athlete’s GPS-enabled activities on Strava. Activity data is rendered onto a…

stravaengineeringrunningcyclinggis

Alejandro Rodríguez 3 min read

The concept of portals, or a means to transport template HTML to various regions of the DOM inside an app, is one of the new features of Vue 3 that has been in the making for a while. The portal-vuelibrary in Vue2 allowed users to create portals, a React functionality that is frequently used. But […]

vue.js

27 Oct 2022

Matthew Green 23 min read

One of the things I like to do on this blog is write about new research that has a practical angle. Most of the time (I swear) this involves writing about other folks’ research: it’s not that often that I write about work that comes out of my own lab. Today I’m going make an … Continue reading One-Time Programs…

ransomwaresecure computationsecurity research

Alejandro Rodríguez 4 min read

When we’re working with a multi-layered Vue app, we typically utilize props to transfer data from a parent component to a child component. This has been made simple and easy to perform with Vue.js. However, passing data from a parent-level component to a nested child component that’s several levels deep has surely frustrated most Vue […]

vue.js

Vlad Mihet 5 min read

If you’ve worked on larger projects that do not already use Redux, you’ve probably encountered Prop Drilling and know how annoying and bad-looking that process is. However, if you haven’t, there is an article on the subject that you can check out here. One solution to that problem, as well as some other architectural ones, […]

tutorials

Vlad Mihet 4 min read

Introduction Not so long ago, in version 3.0, TypeScript introduced a new `unknown` type to its toolkit, but what does this type do, and more specifically, when should we use it? This article will look at this “new” type to better understand its goal. We’ll also consistently compare it to its sibling, the any type; […]

typescript

Vlad Mihet 4 min read

One of the most important things when writing scalable applications is ensuring that the components that make up those applications are scalable and, thus, reusable by themselves. When working with TypeScript, one of the utilities that ensure units of work are reusable and scalable is Generics. Introduction to TypeScript’s Generics Generics are not exclusive to […]

typescript

Vlad Mihet 3 min read

When working with TypeScript or migrating an already existing codebase over to TypeScript, it is crucial to know how to handle typing properly. One tricky typing scenario to get right is when we decide whether or not to use any for a particular scenario. In this article, we’ll discuss about the any type; what it […]

typescript

David Walsh 1 min read

I’ve been writing a bunch of jest tests recently for libraries that use the underlying window.crypto methods like getRandomValues() and window.crypto.subtle key management methods. One problem I run into is that the window.crypto object isn’t available, so I need to shim it. To use the window.crypto methods, you will need Node 15+. You can set the window.crypto by importing the…

26 Oct 2022

Vlad Mihet 3 min read

As JSX projects get increasingly complex, we often find ourselves reverse-engineering whole chunks of code to fix or change existing functionality. JavaScript doesn’t really help in that regard, especially when trying to figure out what specific code snippets do unless they have been run first. Intro to TypeScript Suppose you are not already familiar with […]

typescript

Jay Miller 8 min read

Python 3.11 brings the specialized adaptive interpreter, the starting point of a large plan to make Python much faster. At Microsoft, we have a full-time team dedicated to this project. The post A Team at Microsoft is Helping Make Python Faster appeared first on Microsoft for Python Developers Blog.

pythonfaster-cpythonpython3.11

Kylie Stradley 5 min read

This blog post is the first part in a two‐part series on how GitHub is using ActiveRecord::Encryption. You may know that GitHub encrypts your source code at rest, but you may not have known that we also encrypt sensitive database columns in our Ruby on Rails monolith. We do this to provide an additional layer of defense in depth to…

David Walsh 1 min read

The United States is one of the last bodies that refuses to implement the Celsius temperature standard. Why? Because we’re arrogant and feel like we don’t need to change. With that said, if you code for users outside the US, it’s important to provide localized weather data to users. Let’s took at how you can convert between Fahrenheit and Celsius.…

25 Oct 2022

Ryan Paragas 4 min read

About Me: Hey there! My name is Ryan, and I come from an unconventional background. I am not like most interns from the group in 2022. I’ve dropped out of college 3 times, worked in different fields for about 10 years, then transitioned into a bootcamp. Now working with Strava, they have set the expectation of what it should be…

routekotlininternshipsengineeringstrava

Omari Thompson-Edwards 3 min read

Mapped Types in TypeScript let you transform one type to another, by transforming the keys from one type to another. TypeScript offers a lot of flexibility with this, allowing you to modify the name of types, perform string interpolation on keys and more. In this article, I’ll explain their utility, with a few useful examples […]

typescript

Omari Thompson-Edwards 4 min read

The builder pattern in TypeScript is used to give a more flexible solution to creating complex objects, by breaking the construction up into separate steps. An example of this is the Promise class, which you may be familiar with. The builder pattern is useful for building complex objects. It lets you break up construction into […]

typescript