Ссылка
Мы стали строить много приложений, которые работают с деньгами. Это не такая простая задача, как может показаться на первый взгляд. Перевел клевую статью на эту тему.
Как работать с денежными значениями в JavaScript
#общие_знания
Мы стали строить много приложений, которые работают с деньгами. Это не такая простая задача, как может показаться на первый взгляд. Перевел клевую статью на эту тему.
Как работать с денежными значениями в JavaScript
#общие_знания
Medium
Как работать с денежными значениями в JavaScript
Перевод статьи Sarah Dayan: How to Handle Monetary Values in JavaScript.
Самое важное в разработчике
Программист работает над системами с очень большой неопределенностью внутри. Невозможно знать ответы на все вопросы, что возникают в процессе производства ПО.
И потому самое важное качество крутого программиста — умение находить ответы на вопросы. Правильно формулировать вопрос, находить на него ответ, применять его в конкретной задаче.
И таких программистов исчезающе мало. Большая часть не справляется даже с первым этапом — формулировкой вопросов. У меня нет рецепта, как этому научиться, но научиться нужно.
#общие_знания
Программист работает над системами с очень большой неопределенностью внутри. Невозможно знать ответы на все вопросы, что возникают в процессе производства ПО.
И потому самое важное качество крутого программиста — умение находить ответы на вопросы. Правильно формулировать вопрос, находить на него ответ, применять его в конкретной задаче.
И таких программистов исчезающе мало. Большая часть не справляется даже с первым этапом — формулировкой вопросов. У меня нет рецепта, как этому научиться, но научиться нужно.
#общие_знания
Нужная книга
Прочел "Теоретический минимум по Computer Science".
Хорошая книга, очень обширная. Рассматриваются как привычные темы: сложность алгоритмов, комбинаторика, теория вероятностей, так и более специфичные вещи: устройство баз данных, архитектура компьютеров.
Глава про базы данных вообще прекрасна.
Читать определенно стоит, книжка совсем короткая и очень полезная.
#cs
Прочел "Теоретический минимум по Computer Science".
Хорошая книга, очень обширная. Рассматриваются как привычные темы: сложность алгоритмов, комбинаторика, теория вероятностей, так и более специфичные вещи: устройство баз данных, архитектура компьютеров.
Глава про базы данных вообще прекрасна.
Читать определенно стоит, книжка совсем короткая и очень полезная.
#cs
Программист — дофига творческая профессия. Многим разработчикам трудно работать над проектами, которые им не нравятся.
Важно заметить в себе отвращение к проекту, нежелание писать код и исправить это.
+ Найди челендж в простых задачах. Даже самый простые фичи сделанные качественно требуют усилий.
+ Найти причину грусти и убрать ее. Рецепта нет, нужно пробовать и пытаться.
Ну и есть простой путь — попроситься на другой проект. Лучше сменить проект и приносить деньги, чем получать зарплату и не делать полезного.
#общие_знания
Важно заметить в себе отвращение к проекту, нежелание писать код и исправить это.
+ Найди челендж в простых задачах. Даже самый простые фичи сделанные качественно требуют усилий.
+ Найти причину грусти и убрать ее. Рецепта нет, нужно пробовать и пытаться.
Ну и есть простой путь — попроситься на другой проект. Лучше сменить проект и приносить деньги, чем получать зарплату и не делать полезного.
#общие_знания
Исследуя GitHub
Некоторое время назад писал о процессе публикации npm-пакета.
Во время поддержки такой флоу, действительно, не требует больших усилий, но при создании нового проекта нужно сделать тысячу вещей, которые следовало бы автоматизировать. Обновление какого-то стандарта — отдельная боль, добавить одно правило линтера в десяток репозиториев — очень неприятно.
Хотелось переложить максимум забот на компьютер, и избежать этой боли. На выходных сделал библиотеку @solid-soda/noscripts, которая содержит в себе все рутинные штуки. Линтер, преттир, генерация новых версий, все там.
Теперь любой проект начинается с установки этой библиотеки.
#автоматизация
Некоторое время назад писал о процессе публикации npm-пакета.
Во время поддержки такой флоу, действительно, не требует больших усилий, но при создании нового проекта нужно сделать тысячу вещей, которые следовало бы автоматизировать. Обновление какого-то стандарта — отдельная боль, добавить одно правило линтера в десяток репозиториев — очень неприятно.
Хотелось переложить максимум забот на компьютер, и избежать этой боли. На выходных сделал библиотеку @solid-soda/noscripts, которая содержит в себе все рутинные штуки. Линтер, преттир, генерация новых версий, все там.
Теперь любой проект начинается с установки этой библиотеки.
#автоматизация
Мудрость из книги
Изучать паттерны проектирования полезно. Добрался до купленной осенью книги "Погружение в паттерны проектирвования" Александра Швеца.
Обычно, когда говорят "паттерны проектирования" имеют ввиду работу с исключительно объектно-ориентированными системами, потом книга начинается с краткого введения в ООП.
ООП — методология разработки программ, в которой все важные вещи представляются объектами. Каждый объект построен по определенным правилам, которые называют классом. Классы основываются друг на друге, что называют наследованием.
Конспект книги Александра Швеца "Погружение в паттерны проектирования".
#проектирование
Изучать паттерны проектирования полезно. Добрался до купленной осенью книги "Погружение в паттерны проектирвования" Александра Швеца.
Обычно, когда говорят "паттерны проектирования" имеют ввиду работу с исключительно объектно-ориентированными системами, потом книга начинается с краткого введения в ООП.
ООП — методология разработки программ, в которой все важные вещи представляются объектами. Каждый объект построен по определенным правилам, которые называют классом. Классы основываются друг на друге, что называют наследованием.
Конспект книги Александра Швеца "Погружение в паттерны проектирования".
#проектирование
Мудрость из книги
Четыре принципа поверх которых строяться объектно-ориентированные приложения:
1. Абстракция — рассмотрения объекта реального мира в контексте конкретной задачи.
2. Инкапсуляция — сокрытие внутренней реализации.
3. Наследование — передача характеристик одних объектов другим через отношение "является" (кот является животным).
4. Полиморфизм — возможность работать с конкретной структорой данных, будто с абстрактной.
Конспект книги Александра Швеца "Погружение в паттерны проектирования".
По мнению Роберта Мартина, ООП не совсем про эти три характеристики, они легко придаются програмам не следующим объектно-ориентированной парадигме.
#проектирование
Четыре принципа поверх которых строяться объектно-ориентированные приложения:
1. Абстракция — рассмотрения объекта реального мира в контексте конкретной задачи.
2. Инкапсуляция — сокрытие внутренней реализации.
3. Наследование — передача характеристик одних объектов другим через отношение "является" (кот является животным).
4. Полиморфизм — возможность работать с конкретной структорой данных, будто с абстрактной.
Конспект книги Александра Швеца "Погружение в паттерны проектирования".
По мнению Роберта Мартина, ООП не совсем про эти три характеристики, они легко придаются програмам не следующим объектно-ориентированной парадигме.
#проектирование