TIL how to move a jest.conf file out of the root directory for a project, while still allowing it to respect all of the relative pathing defined in the confi...
TIL - Today I Learned
TIL how to target a child component with a CSS selector from a parent component that is using Scoped CSS.
TIL that while the exact number a team uses to estimate a story is meaningless and varies from team to team, the accuracy of the relative estimate matters qu...
TIL how to directly test a React component method using enzyme wrapper.instance()
TIL the difference between normalized and denormalized schemas for modeling data, and some of the tradeoffs with each.
TIL why product roadmaps are important: they provide necessary clarity to internal and external stakeholders, for the coordination and prioritization of medi...
TIL about One Hot Encoding, and when it is necessary to use as a preprocessing step for machine learning models.
TIL what a breaking change was in the context of a public API or Service.
TIL the true purpose of API keys: a simple yet important revelation!
TIL how to mock the constructor function of a node_module during unit tests using jest.
TIL about Purgeable Disk Space in OSX, and after hours of struggling, how to reclaim it.
TIL about the dependency inversion principle, and how it (like most of the other SOLID principles) promotes loose coupling between modules.
TIL about the interface segregation principle, and how it promotes decoupling of classes in your code through the separation of methods in to role interfaces.
TIL about the open/closed principle, and how it can be used to ensure your code is adaptable to new requirements while remaining resilient to changes.
TIL about the liskov substitution principle, and how it ensures the “correctness” of a program.
TIL about the single responsibility principle, and how it can lead to decoupled classes that make changes less risky.
TIL how to easily node_modules in unit tests using the jest testing framework from Facebook.
TIL the difference between RUN and CMD when defining an image via a dockerfile.
TIL how to set up CSS modules for a React application that uses webpack.
TIL how to create a temporal model of a system using some simplifying assumptions for ease of computation.
TIL about Gini Impurity: another metric that is used when training decision trees.
TIL about edge computing, and how it can lead to optimizations over cloud computing in certain scenarios.
TIL about Information Entropy and Information Gain, which are key pieces towards determining the relevance of a decision when constructing a decision tree.
TIL that Python does not have the ability to make class members (methods, data fields) private.
TIL about the public suffix list, which is a list of domains in which browsers will not allow secure cookies to be set
TIL about Kubernetes, Google’s open source container orchestration system.
TIL that the leadership style best suited for a team operating in an agile environment is different from that of a waterfall environment.
TIL how to unwrap react components that are decorated by higher order component wrappers like mobx, to get at the underlying component implementation during ...
TIL how to use process.nextTick to ensure asynchronous actions are resolved before running assertions during tests.
TIL that Jest module automocking does not mock the getter / setter properties of the target module.
TIL about the 6 different branches of AI, and what a Rational Agent is.
TIL about the URLSearchParams Object, which is useful for parsing URL querystrings in to maps of keys and values.
TIL how to compose classes together using the composes keyword provided by css-modules. It has changed my world.
TIL how to properly define dependency versions in a pacakge.json file.
TIL how to initiate a request using native browser XMLHttpRequest objects, instead of a request library that wraps these objects.
TIL how to use location.replace() and location.assign() to change URLs programmatically in the browser.
TIL how to pass headers along with requests initiated by the fetch API.
TIL what semantic versioning is, what each number of the version indicates, and why using a versioning scheme like semantic versioning is important.
TIL the difference between a process and a thread.
TIL what a microservice is, what the purported benefits of microservices are, and some of the drawbacks of creating a system built from microservices.
TIL how to configure the database migration framework Flyway, as well as the difference between Versioned and Repeatable migrations.
TIL how to calculate the magnitude, normalization, dot product, and cross product of vectors. I wrote a small library that performs the calculations - repo w...
TIL how to properly write a SQL statement using the LIKE operator, including how to use wildcards to match various patterns.
TIL how to perform snapshot testing using Facebook’s React unit testing framework jest. It is somewhat different than traditional visual regression testing… ...
TIL how to use webpack plugins like ExtractTextPlugin and CommonsChunkPlugin to create smaller chunks out of my webpack bundles.
TIL that node’s require method maintains a cache of the modules that have been imported. I also learned that it is possible to invalidate this cache.
TIL how to use webpack loaders to transpile React code to ES5, and compile .less stylesheets to .css.
TIL how to configure webpack-dev-server (WDS) to both serve files from the publicPath and proxy APIs on different domains to avoid cross site request warning...
TIL the difference between path and publicPath in webpack, and how the output.filename property can be used to assign files to sub-directories in the path.
TIL how to leverage ES6 arrow functions to avoid losing “this” when writing functions inside of functions.
TIL about the behavior of script loading in an HTML page, when the async attribute is added to a script tag.
TIL how Babel transpiles variables defined with let to their ES5 var equivalents, while still maintaining the same block scoping rules that apply to let.
TIL that the express response object does not forward content bodies to requestors if the status code of the response is 204: No Content.
TIL that node programs have different globally accessible objects than those found in the browser.
TIL the difference between em and rem in CSS.
TIL a succinct way to remember the difference between using min-width and max-width in a media query.
TIL what Firebase is. I followed the tutorial and published a quick app to understand its capabilities.
TIL (reviewed) the differences between the 4 CSS position property values: static, fixed, relative, absolute.
TIL of some simple tricks to optimize images for the web.
TIL that the output of console.log in chrome can be misrepresentative of the actual state of an object at the point of logging.
TIL that the spread operator does not perform a deep copy of object properties to the target object.
TIL of a quick way to quickly resolve merge conflicts from the command line, in a situation where you know you want to fully accept or reject the merging bra...
TIL (more like relearned) CSS specificity rules, and (unrelated) some additional methods on the console object other than console.log.
TIL that inline elements can’t have transformations applied to them in CSS.
TIL about Postgresql extensions, particularly the CITEXT extension for making a case insensitive column in a table.
TIL the difference between app.use and app.all in the context of an express application.
TIL that view models have utility beyond making data easier to digest by consumers.
TIL that the promise implementation shipped with ES6 is not very performant, and that it is still preferable to use a 3rd party promise library for several r...
TIL the difference between PUT and PATCH, and found a nifty table highlighting
TIL that when using Redux, there are examples of state that are best kept local to a component instead of being managed by the Redux store.
TIL that the amortized time complexity of adding an item to an ArrayList in Java is O(1), but that the “worst case” for an add operation is O(n). This caused...
TIL how a standard caching strategy, the Least Recently Used (LRU) cache, works.
TIL the difference between Call By Value and Call by Name expression evaluation strategies implemented by languages such as Scala.
TIL how difficult it is to create emails with rich content…inline CSS and email client incompatibilities for days!
TIL how to convert a binary string to a digit of any base, and how to convert a digit of any base to its corresponding binary string.
TIL that there exists a hard cap on the amount of data a single webpage can ship to a mobile browser, before the browser crashes.
TIL about cohort analysis, and how it can be used as an input to product strategy.
TIL (more like re-learned) the differences between a few basic sorting algorithms: selection sort, insertion sort, and merge sort
TIL how the Array.prototype.sort() sorts by default, and how to pass a comparator function in to the sort method if a different sort order is desired.
TIL how to overwrite mocks in tests, by saving them to a variable and modifying the function tied to the object.
TIL the difference between an interface and an abstract class.
TIL how to mock the internal clock of a test using jasmine. This was useful for testing methods that rely on a timeout or debounce before firing.
TIL of a metric that helps measure customer engagement and loyalty: Net Promoter Score
TIL how to properly mock angular dependencies in Unit Tests using the Jasmine test framework.
TIL about git aliases, and how they can speed up your git workflow.
TIL what the angular-animate library does, after noticing it was contributing to over 60% of the scripting time necessary to scroll through our grid!
TIL that angular 1.3 and onwards has a one-time-bind option to pass to interpolated expressions, which tells angular that the data is not expected to change.
TIL the difference between self-time and total-time in the Chrome profiler.
TIL how to use the Chrome “Timeline” Profiler to help uncover poorly performing front-end code.
TIL that underscore.js has an awesome debounce wrapper that grants debouncing capabilities to any custom function.
TIL why you need to call $scope.apply() when you change the value of $scope properties inside of custom angular directives.
TIL what the difference between angular’s watcher offerings are: $watch, $watchCollection, $watchGroup and $watch (objectEquality).
TIL that instead of interpolating a data binding in a template (via double curly brace syntax), you can accomplish the same thing by adding the ng-bind direc...
TIL about the ng-model-options directive, which augments the behavior of an input element bound to a scope property via ng-model.
TIL that github now supports templates for both Issues and Pull Requests.
TIL how to design a service in Angular that encapsulates the actions necessary to supply data to a controller.
TIL that angular has an “equals” method that does a deep comparison between objects to determine equality.
TIL that angular services maintain internal state until the page is reloaded.
TIL what the true value add of testing is…there is none!
TIL that you can quickly navigate to the beginning and end of a command in the command line by using the shortcuts ctrl+A and ctrl+E.