Category Archives: Programming
Regression testing of react app with jest
Example is here — https://facebook.github.io/jest/docs/en/tutorial-react.html. The main idea is this:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
// Link.react.test.js import React from 'react'; import Link from '../Link.react'; import renderer from 'react-test-renderer'; test('Link changes the class when hovered', () => { const component = renderer.create( <Link page="http://www.facebook.com">Facebook</Link>, ); let tree = component.toJSON(); expect(tree).toMatchSnapshot(); // manually trigger the callback tree.props.onMouseEnter(); // re-rendering tree = component.toJSON(); expect(tree).toMatchSnapshot(); // manually trigger the callback tree.props.onMouseLeave(); // re-rendering tree = component.toJSON(); expect(tree).toMatchSnapshot(); }); |
How to handle js errors in your react app
https://hackernoon.com/a-user-encounters-a-javascript-error-youll-never-guess-what-happens-next-dc1a6f725490 In russian — https://habrahabr.ru/company/ruvds/blog/344682/
Yet another article about js-interview
https://medium.freecodecamp.org/the-definitive-javascript-handbook-for-a-developer-interview-44ffc6aeb54e In russian — https://habrahabr.ru/post/345882/
Container insights for golang engineer (k8s docker CPU throttling)
We’ve run into problems on my work when k8s limits cpu to few processors (throttling), while go application can see all of them (setting GO_MAX_PROCS to maximum CPUs available) and go’s scheduler is going crazy because of that during highload (like stress-tests). It is caused by scheduling for, let’s say, 40 processors while you have …
React component lifecycle methods
Flow of lifecycle methods I checked it with react 16.2.0. On a client When component is rendered for the first time
1 2 3 4 |
constructor componentWillMount render componentDidMount |
Javascript mocking frameworks
Classical one — http://sinonjs.org/. TestDouble — https://github.com/testdouble/testdouble.js/blob/master/README.md There is a good video on using TestDouble from it’s creator: https://www.youtube.com/watch?v=nH8EnmdEBj4
Подборка статей по устройству javascript
http://dmitrysoshnikov.com/
Особенности структур в go
Методы на структурах в golang определяются на типе. И если мы объявим типизированную переменную, даже не проинициализировав её, методы будут работать корректно до тех пор, пока мы не попытаемся обратиться к полям ресивера. Вот пример; первые два вызова работают нормально, третий валится с паникой.
GO. Реализация бинарного дерева
https://appliedgo.net/bintree/
GO. Способ объединения кода в пакеты
https://medium.com/@benbjohnson/standard-package-layout-7cdbc8391fc1 Основные идеи: 1. Основные пакеты не зависят от других пакетов в приложении 2. Группировать подпакеты по зависимостям 3. Моки должны быть в отдельном подпакете для использования в подпакетах другого пакета 4. Основной пакет связывает все пакеты Зависимости от сторонних пакетов лучше обернуть с свои обёртки и использовать везде их. Самое интересное — их так …