kamyshev.code via @vote
Публиковать еще истории из рабочего опыта?
anonymous poll
Да – 269
👍👍👍👍👍👍👍 98%
Нет – 6
▫️ 2%
👥 275 people voted so far. Poll closed.
anonymous poll
Да – 269
👍👍👍👍👍👍👍 98%
Нет – 6
▫️ 2%
👥 275 people voted so far. Poll closed.
Конфигурация приложений — один из самых важных аспектов разработки. Это место, где постоянно происходят утечки секретных данных, тормозится процесс внедрения непрерывной доставки, случаются сложно отлавливаемые рантайм‑ошибки. Забота об этом — необходимость при разработке любого приложения.
Написал небольшую заметку — как правильно внедрять параметры конфигурации в приложение, управлять ими в разных окружениях и не страдать.
Конфигурация Node.js приложений
К Node.js относится только предпоследний абзац, так что читать можно и людям из других технологий.
#удобство_разработки #js
Написал небольшую заметку — как правильно внедрять параметры конфигурации в приложение, управлять ими в разных окружениях и не страдать.
Конфигурация Node.js приложений
К Node.js относится только предпоследний абзац, так что читать можно и людям из других технологий.
#удобство_разработки #js
Другое программирование
Современный мир пропитан данными — это самая большая ценность. И круто уметь с ними работать. Даже если нет желания полностью посвятить себя этому, важно иметь хотя бы общее представление.
Data Science — не совсем программирование, но все же область смежная, многие разработчики переходят в нее и достигают успехов. Но это длительный процесс.
В SkillFactory запускается очередной поток специализации Data Science. Это год плотного обучения, куча практики и отличные преподаватели. Я убежден, что осваивать новое нужно под присмотром опытных специалистов, и этот онлайн курс — отличная возможность.
#партнерский_материал
Современный мир пропитан данными — это самая большая ценность. И круто уметь с ними работать. Даже если нет желания полностью посвятить себя этому, важно иметь хотя бы общее представление.
Data Science — не совсем программирование, но все же область смежная, многие разработчики переходят в нее и достигают успехов. Но это длительный процесс.
В SkillFactory запускается очередной поток специализации Data Science. Это год плотного обучения, куча практики и отличные преподаватели. Я убежден, что осваивать новое нужно под присмотром опытных специалистов, и этот онлайн курс — отличная возможность.
#партнерский_материал
3 месяца назад публиковал заметку о том как обращаюсь с публикацией npm-пакетов. Два месяца назад осознал, что это все еще требует непозволительно много времени на поддержку.
Тогда я сделал @solid-soda/scripts — пакет инкапсулирующий в себе все проверки. Там статический анализ кода и стилей, форматирование, проверка сообщений к коммитам и их генерация, создание релизов.
Процесс публикации и поддержки пакетов сильно упростился. Обновил заметку.
Процесс подготовки npm-пакета
#процесс
Тогда я сделал @solid-soda/scripts — пакет инкапсулирующий в себе все проверки. Там статический анализ кода и стилей, форматирование, проверка сообщений к коммитам и их генерация, создание релизов.
Процесс публикации и поддержки пакетов сильно упростился. Обновил заметку.
Процесс подготовки npm-пакета
#процесс
Другое программирование
Я уже говорил, как уважаю Data Science. Теперь про еще один отличный способ прикоснуться к этому миру.
В Otus есть крутой курс «Нейронные сети на Python» — довольно сложный и обширный. Для его прохождения нужно иметь начальные знания в Python, линейной алгебре, началах анализа и теории вероятностей. Проверить свой уровень можно во вступительном тесте.
15 мая (сегодня) в 20.00 МСК они проведут открытый урок «Учим нейронную сеть копировать почерк». Внутри будет разбор одной из финальных задач прошлого набора курса — порождение рукописного текста с заданным почерком.
#партнерский_материал
Я уже говорил, как уважаю Data Science. Теперь про еще один отличный способ прикоснуться к этому миру.
В Otus есть крутой курс «Нейронные сети на Python» — довольно сложный и обширный. Для его прохождения нужно иметь начальные знания в Python, линейной алгебре, началах анализа и теории вероятностей. Проверить свой уровень можно во вступительном тесте.
15 мая (сегодня) в 20.00 МСК они проведут открытый урок «Учим нейронную сеть копировать почерк». Внутри будет разбор одной из финальных задач прошлого набора курса — порождение рукописного текста с заданным почерком.
#партнерский_материал
Чиним img
Последние годы все больше задач переносится на клиент. Например, обрезание картинки для аватара вполне можно делать на клиенте. Но если попробовать, то можно столкнуться с проблемой — фотографии все время поворачиваются не так как задумано.
Крутой доклад Дмитрия Махнёва «Чиним img» как раз об этом — причины такого поведения фотографий и пути решения.
#фронтенд
Последние годы все больше задач переносится на клиент. Например, обрезание картинки для аватара вполне можно делать на клиенте. Но если попробовать, то можно столкнуться с проблемой — фотографии все время поворачиваются не так как задумано.
Крутой доклад Дмитрия Махнёва «Чиним img» как раз об этом — причины такого поведения фотографий и пути решения.
#фронтенд
YouTube
006. Чиним img - Дмитрий Махнёв
Однажды, получив весьма тривиальную задачу, я встретился с удивительным багом при работе с тегом img. Мир пошатнулся. Разбор бага занял немало времени. И доставил огромное количество положительных эмоций, которыми нельзя не поделиться.
Смотреть презентацию:…
Смотреть презентацию:…
Локальная разработка
Локально тестировать логин через соцсети больно. Многие провайдеры требуют чтобы сайт был доступен в интернете (например, они сами шлют какой-нибудь запрос к вам), другим обязательно нужен сертификат.
Есть простой способ избавиться от этой боли — ngrok. Эта штука позволяет моментально получить URL для вашего локального компьютера, SSL в комплекте.
Для нужд локальной разработки вполне достаточно бесплатной версии.
#удобство_разработки
Локально тестировать логин через соцсети больно. Многие провайдеры требуют чтобы сайт был доступен в интернете (например, они сами шлют какой-нибудь запрос к вам), другим обязательно нужен сертификат.
Есть простой способ избавиться от этой боли — ngrok. Эта штука позволяет моментально получить URL для вашего локального компьютера, SSL в комплекте.
Для нужд локальной разработки вполне достаточно бесплатной версии.
#удобство_разработки
Товарищ подсказал еще одно аналогичное решение — localtunnel. Выглядит даже проще.
https://localtunnel.me/
https://localtunnel.me/
theboroer.github.io
Localtunnel ~ Expose yourself to the world
DRY — не повторяй себя. Этот принцип часто понимается неверно.
Напиши это дважды
Часто сложность кода возрастает из-за преждевременного вынесения "общего" кода в отдельное место. Выделять нечто в самостоятельную сущность следует только после того как были набраны юзкейсы. Когда становится понятно, как такой код должен использоваться — его можно выносить.
Не повторяй логику
Бизнес-логику повторять нельзя. Если в приложении вычисляется скидка — она должна вычисляться только в одном месте. Важно разделять одинаковую логику и похожую. Похожая логика может сильно разойтись через время, тогда придется снова разделять их обратно.
Тематическая статья — Ошибочное понимание принципа DRY
#проектирование
Напиши это дважды
Часто сложность кода возрастает из-за преждевременного вынесения "общего" кода в отдельное место. Выделять нечто в самостоятельную сущность следует только после того как были набраны юзкейсы. Когда становится понятно, как такой код должен использоваться — его можно выносить.
Не повторяй логику
Бизнес-логику повторять нельзя. Если в приложении вычисляется скидка — она должна вычисляться только в одном месте. Важно разделять одинаковую логику и похожую. Похожая логика может сильно разойтись через время, тогда придется снова разделять их обратно.
Тематическая статья — Ошибочное понимание принципа DRY
#проектирование
Я слушаю очень много подкастов. Некоторые из них связаны с программированием.
+ ДевШахта — много про софт-скиллы, много про Node.js.
+ Мысли и методы — о непривычном в программировании. Вопросы вычислимости, связи информатики и вселенной.
+ Новости 512 — еженедельные экстра-короткие новостные выпуски.
+ Пятиминутка React — не только React, а скорее фортенд в целом. К сожалению, не выходит с декабря прошлого года.
И еще парочка, они классные, но я перестал их слушать.
+ Frontend Weekend — интервью с разработчиками, чаще фротендерами, но не всегда.
+ Радио-Т — длинные выпуски, обсуждаются новости и статьи.
На случай если кто-нибудь не знает что такое подкасты и не умеет их слушать. Подкаст — это аудио-шоу. Люди говорят что-нибудь в микрофон, вы слушаете это. Удобство формата в его нетребовательности. Можно слушать подкасты в метро, во время уборки дома, прогулки с собакой. Как слушать подкасты.
#рекомендации
+ ДевШахта — много про софт-скиллы, много про Node.js.
+ Мысли и методы — о непривычном в программировании. Вопросы вычислимости, связи информатики и вселенной.
+ Новости 512 — еженедельные экстра-короткие новостные выпуски.
+ Пятиминутка React — не только React, а скорее фортенд в целом. К сожалению, не выходит с декабря прошлого года.
И еще парочка, они классные, но я перестал их слушать.
+ Frontend Weekend — интервью с разработчиками, чаще фротендерами, но не всегда.
+ Радио-Т — длинные выпуски, обсуждаются новости и статьи.
На случай если кто-нибудь не знает что такое подкасты и не умеет их слушать. Подкаст — это аудио-шоу. Люди говорят что-нибудь в микрофон, вы слушаете это. Удобство формата в его нетребовательности. Можно слушать подкасты в метро, во время уборки дома, прогулки с собакой. Как слушать подкасты.
#рекомендации
Самое ценное
Самое ценное, что есть в наших программах — это данные. Данные важно правильно хранить, обеспечивать их доступность, не терять и еще куча всего. И немногие разработчики умеют все это делать хорошо. Но самые страшные факапы связаны именно с утратой или порчей данных.
При этом работать с данными должен уметь любой член команды — разработчик, админ, девопс (многие считают что это отдельная должность).
Если данных много — все эти задачи усложняются. Я абсолютно не представляю как работать с базой данных даже в 100 гигабайт.
Как раз для таких людей OTUS запускает онлайн-курс "Data Engineer". Он о том как работать с большими данными, мониторить и тестировать такие базы, обращаться с распределенными хранилищами.
20 мая (завтра) в 20.00 МСК пройдет вебинар "Lean Data Engineering: большие данные при небольшом бюджете", который предваряет этот курс. Чтобы попасть на него, нужно пройти тестирование.
#данные #партнерский_материал
Самое ценное, что есть в наших программах — это данные. Данные важно правильно хранить, обеспечивать их доступность, не терять и еще куча всего. И немногие разработчики умеют все это делать хорошо. Но самые страшные факапы связаны именно с утратой или порчей данных.
При этом работать с данными должен уметь любой член команды — разработчик, админ, девопс (многие считают что это отдельная должность).
Если данных много — все эти задачи усложняются. Я абсолютно не представляю как работать с базой данных даже в 100 гигабайт.
Как раз для таких людей OTUS запускает онлайн-курс "Data Engineer". Он о том как работать с большими данными, мониторить и тестировать такие базы, обращаться с распределенными хранилищами.
20 мая (завтра) в 20.00 МСК пройдет вебинар "Lean Data Engineering: большие данные при небольшом бюджете", который предваряет этот курс. Чтобы попасть на него, нужно пройти тестирование.
#данные #партнерский_материал
Самое ценное
Продолжим разговор о данных. Я не умею управлять базами данных достаточно хорошо. Как развернуть кластер с кучей нод, бэкапами и мониторингом — для меня загадка. Когда мне нужно написать хоть сколько-нибудь сложный SQL запрос — я гуглю.
Чтобы компенсировать такие пробелы в знаниях, можно отдать задачу управления базой данных кому-то другому. Почти все провайдеры облачных серверов предоставляют управляемые ими базы данных.
+ DO Managed Databases
+ AWS RDS
В чем суть
Провайдер предоставляет базу данных. Поднять ее можно из удобного интерфейса. Никакого обслуживания она не требует, сама бэкапится. Если потребуется масштабировать — все произойдет само, дополнительных усилий не требуется. Провайдер же обеспечивает безопасть базы.
На мой взгляд, это как раз тот случай когда можно отдать сколько-нибудь денег за свое время и спокойствие. Во всех домашних проектах использую DO Managed Databases (просто потому что AWS слишком сложный для меня).
#данные
Продолжим разговор о данных. Я не умею управлять базами данных достаточно хорошо. Как развернуть кластер с кучей нод, бэкапами и мониторингом — для меня загадка. Когда мне нужно написать хоть сколько-нибудь сложный SQL запрос — я гуглю.
Чтобы компенсировать такие пробелы в знаниях, можно отдать задачу управления базой данных кому-то другому. Почти все провайдеры облачных серверов предоставляют управляемые ими базы данных.
+ DO Managed Databases
+ AWS RDS
В чем суть
Провайдер предоставляет базу данных. Поднять ее можно из удобного интерфейса. Никакого обслуживания она не требует, сама бэкапится. Если потребуется масштабировать — все произойдет само, дополнительных усилий не требуется. Провайдер же обеспечивает безопасть базы.
На мой взгляд, это как раз тот случай когда можно отдать сколько-нибудь денег за свое время и спокойствие. Во всех домашних проектах использую DO Managed Databases (просто потому что AWS слишком сложный для меня).
#данные
История: удаленная база и две минуты страха
В 2017 году я работал над генератором интернет-магазинов. И тогда я еще хуже представлял себе как правильно обращаься с данными.
При очередном релизе нужно было обновить схему базы, я просто удалил старую базу и накатил схему новой. Когда я понял, что произошло — я очень напугался и навсегда запомнил, изменять схему базы нужно посредствам миграций/эволюций.
Тематическая статья — Версионная миграция структуры базы данных: основные подходы
Кончилось все хорошо, база в этом приложении была всего лишь зеркалом другого источника данных и мы ее быстро восстановили.
#кейс #данные
В 2017 году я работал над генератором интернет-магазинов. И тогда я еще хуже представлял себе как правильно обращаься с данными.
При очередном релизе нужно было обновить схему базы, я просто удалил старую базу и накатил схему новой. Когда я понял, что произошло — я очень напугался и навсегда запомнил, изменять схему базы нужно посредствам миграций/эволюций.
Тематическая статья — Версионная миграция структуры базы данных: основные подходы
Кончилось все хорошо, база в этом приложении была всего лишь зеркалом другого источника данных и мы ее быстро восстановили.
#кейс #данные