Эффективные Changelog-и
Как и схема версионирования, журнал изменений - это важный и часто упускаемый из виду способ донесения информации до пользователей. К сожалению, написать журнал изменений легко, но трудно написать отличный Changelog.
Я собрал несколько простых советов и примеров, чтобы убедиться, что ваши журналы изменений пригодны для потребления человеком.
Статья: https://xavd.id/blog/post/effective-changelogs/
Как и схема версионирования, журнал изменений - это важный и часто упускаемый из виду способ донесения информации до пользователей. К сожалению, написать журнал изменений легко, но трудно написать отличный Changelog.
Я собрал несколько простых советов и примеров, чтобы убедиться, что ваши журналы изменений пригодны для потребления человеком.
Статья: https://xavd.id/blog/post/effective-changelogs/
Как получить работу в Apple без колледжа и LeetCode
Я расскажу о том, как я изучал Swift, основной язык программирования, который я использую. Я расскажу о процессе найма, о прохождении собеседования и обо всем остальном, что смогу вспомнить.
Статья: https://apptractor.ru/develop/kak-poluchit-rabotu-v-apple-bez-kolledzha-i-leetcode.html
Я расскажу о том, как я изучал Swift, основной язык программирования, который я использую. Я расскажу о процессе найма, о прохождении собеседования и обо всем остальном, что смогу вспомнить.
Статья: https://apptractor.ru/develop/kak-poluchit-rabotu-v-apple-bez-kolledzha-i-leetcode.html
🥱1
Чистая Windows и разработка «без всего»
Есть компьютер с чистой копией Windows, без доступа в интернет и без каких‑либо установленных средств разработки. Только одна чистая пользовательская «венда». Не поверите, но даже в таких спартанских условиях возможно написать и запустить полноценную программу. И сейчас я расскажу как.
Статья: https://habr.com/ru/articles/837570/
Есть компьютер с чистой копией Windows, без доступа в интернет и без каких‑либо установленных средств разработки. Только одна чистая пользовательская «венда». Не поверите, но даже в таких спартанских условиях возможно написать и запустить полноценную программу. И сейчас я расскажу как.
Статья: https://habr.com/ru/articles/837570/
👎3👍1
Как я сделал успешный побочный проект и возненавидел его
Прекрасная история от разработчика нескольких специфических скриптов для построения биржевых графиков. Он создал их на основании своих потребностей, потом организовал продажу и даже заработал на нихне такие уж большие деньги. Но потом и сам перестал ими пользоваться, и подвыгорел от общения с толпой бездумных трейдеров и "витринных покупателей".
Прекрасная история от разработчика нескольких специфических скриптов для построения биржевых графиков. Он создал их на основании своих потребностей, потом организовал продажу и даже заработал на них
Ужасная истина, которую большинство программистов усваивают с трудом, заключается в том, что выпуск продукта - это только начало. После его выпуска вам придется его поддерживать: исправлять ошибки, внедрять новые функции, разбираться со спорами или мошенничеством и отвечать на множество писем (часто от любопытных покупателей, которые так и не превращаются в платящих клиентов).
Это легче делать, если у вас больше продуктов и вы занимаетесь массовой поддержкой. Или если ваш проект может заменить вам работу на полный рабочий день, и его поддержка - единственное, чем вы занимаетесь в течение дня. Но если вы занимаетесь этим помимо своей обычной работы, то это ужасная потеря времени. Вам нужно установить определенные границы. Иначе работа над проектом будет занимать все ваше свободное время.
Лучшие языки программирования 2024 года
На вершине Python продолжает укреплять свое общее господство, чему способствуют такие вещи, как популярные библиотеки для таких областей, как искусственный интеллект, а также его педагогическая популярность. (Для большинства студентов сегодня если они и изучают один язык программирования в школе, то это Python). Python также довольно популярен среди работодателей, хотя его преимущество над другими языками общего назначения не так велико, и, как и в прошлом году, он играет вторую скрипку после языка запросов к базам данных SQL, который работодатели предпочитают видеть в паре с другим языком. Популярность SQL среди работодателей является естественным продолжением сегодняшнего акцента на сетевые и облачные архитектуры систем, где базы данных становятся естественным хранилищем всех байтов, которые пережевывает логика программы.
Новость: https://spectrum.ieee.org/top-programming-languages-2024
На вершине Python продолжает укреплять свое общее господство, чему способствуют такие вещи, как популярные библиотеки для таких областей, как искусственный интеллект, а также его педагогическая популярность. (Для большинства студентов сегодня если они и изучают один язык программирования в школе, то это Python). Python также довольно популярен среди работодателей, хотя его преимущество над другими языками общего назначения не так велико, и, как и в прошлом году, он играет вторую скрипку после языка запросов к базам данных SQL, который работодатели предпочитают видеть в паре с другим языком. Популярность SQL среди работодателей является естественным продолжением сегодняшнего акцента на сетевые и облачные архитектуры систем, где базы данных становятся естественным хранилищем всех байтов, которые пережевывает логика программы.
Новость: https://spectrum.ieee.org/top-programming-languages-2024
👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Server Driven UI: 6 причин не использовать его
Мой главный посыл в этой статье - избегайте использования Server-Driven UI, насколько это возможно (если только команда разработчиков и руководство не разработают хороший конвейер для решения всех проблем). SDUI может сделать распределение кода и ответственности беспорядочным и трудноорганизуемым, даже если все находятся на одной волне. Это решение также может лишить вас гибкости в отношении новых решений в области дизайна и функциональности.
Статья: https://apptractor.ru/info/articles/server-driven-ui-6-prichin-ne-ispolzovat-ego.html
Мой главный посыл в этой статье - избегайте использования Server-Driven UI, насколько это возможно (если только команда разработчиков и руководство не разработают хороший конвейер для решения всех проблем). SDUI может сделать распределение кода и ответственности беспорядочным и трудноорганизуемым, даже если все находятся на одной волне. Это решение также может лишить вас гибкости в отношении новых решений в области дизайна и функциональности.
Статья: https://apptractor.ru/info/articles/server-driven-ui-6-prichin-ne-ispolzovat-ego.html
🤡2🤪1
Исправление ошибки в Google Chrome в качестве участвующего первый раз контрибьютора
Недавно я завершил процесс исправления ошибки в веб-браузере Chromium/Google Chrome. Я впервые участвовал в проекте Chromium или любом другом проекте с открытым исходным кодом такого масштаба, и это был очень уникальный опыт по сравнению с другими работами с открытым исходным кодом, которые я делал в прошлом.
Я решил написать обзор всего процесса от начала и до конца, чтобы дать некоторое представление другим разработчикам, желающим попробовать себя в подобной работе.
Статья: https://cprimozic.net/blog/fixing-a-bug-in-google-chrome/
Недавно я завершил процесс исправления ошибки в веб-браузере Chromium/Google Chrome. Я впервые участвовал в проекте Chromium или любом другом проекте с открытым исходным кодом такого масштаба, и это был очень уникальный опыт по сравнению с другими работами с открытым исходным кодом, которые я делал в прошлом.
Я решил написать обзор всего процесса от начала и до конца, чтобы дать некоторое представление другим разработчикам, желающим попробовать себя в подобной работе.
Статья: https://cprimozic.net/blog/fixing-a-bug-in-google-chrome/
Casey Primozic's Blog
Fixing a Bug in Google Chrome as a First-Time Contributor
A rundown of my experience finding and fixing a bug in the Chromium/Google Chrome browser - specifically in the devtools. It includes details about the bug itself as well as notes about what it was like working on the Chromium project as a first-time contributor.
Разработка программного обеспечения — игра проигрывающих
Когда мы знаем, что большая часть команды разработчиков — это любители, которые склонны подставлять себя и команду, логично, что правильные команды разработчиков уделяют больше внимания устранению ошибок. Не надо предполагать, что все являются профессиональными разработчиками, создающими отличный код.
Успех в разработке заключается не в правильном написании кода с первого раза, а в том, чтобы избежать множества неправильных способов.
Или, цитируя Чарльза Эллиса, «профессионалы выигрывают очки, а любители их теряют».
Статья: https://apptractor.ru/info/articles/razrabotka-programmnogo-obespecheniya-igra-proigravshih.html
Когда мы знаем, что большая часть команды разработчиков — это любители, которые склонны подставлять себя и команду, логично, что правильные команды разработчиков уделяют больше внимания устранению ошибок. Не надо предполагать, что все являются профессиональными разработчиками, создающими отличный код.
Успех в разработке заключается не в правильном написании кода с первого раза, а в том, чтобы избежать множества неправильных способов.
Или, цитируя Чарльза Эллиса, «профессионалы выигрывают очки, а любители их теряют».
Статья: https://apptractor.ru/info/articles/razrabotka-programmnogo-obespecheniya-igra-proigravshih.html
🤡1
Зарплаты разработчиков в первом полугодии 2024: языки и квалификации
Cмотрим, сколько зарабатывали разработчики разных языков и квалификаций в первой половине 2024 и как их зарплаты изменились по сравнению со вторым полугодием 2023.
Статья: https://habr.com/ru/companies/habr_career/articles/839252/
Cмотрим, сколько зарабатывали разработчики разных языков и квалификаций в первой половине 2024 и как их зарплаты изменились по сравнению со вторым полугодием 2023.
Статья: https://habr.com/ru/companies/habr_career/articles/839252/
Я только что превысил $1 млн на GitHub Sponsors
Этот разработчик недавно преодолел отметку в 1 миллион долларов на GitHub Sponsors после того, как 5 лет назад оставил свою основную работу, не имея никаких планов. В этой статье он рассказывает о стратегии, которой он следовал, чтобы достичь такого успеха. Разработчик продавал скринкасты, на которых он создавал вещи с помощью своего продукта. Они также подробно документировали свою работу.
Статья: https://calebporzio.com/i-just-cracked-1-million-on-github-sponsors-heres-my-playbook
Этот разработчик недавно преодолел отметку в 1 миллион долларов на GitHub Sponsors после того, как 5 лет назад оставил свою основную работу, не имея никаких планов. В этой статье он рассказывает о стратегии, которой он следовал, чтобы достичь такого успеха. Разработчик продавал скринкасты, на которых он создавал вещи с помощью своего продукта. Они также подробно документировали свою работу.
Статья: https://calebporzio.com/i-just-cracked-1-million-on-github-sponsors-heres-my-playbook
Caleb Porzio
I just crossed $1 million on GitHub Sponsors. 💰🎉
<p>Folks, today's the day.</p>
<p>As of this morning, I've made over a million dollars on GitHub sponsors. Wowoweewow.</p>
<p><img src="/pos...
<p>As of this morning, I've made over a million dollars on GitHub sponsors. Wowoweewow.</p>
<p><img src="/pos...
👍1
2,5 тысяч экрано-состояний и тесты на сотнях устройств: как мы с нуля делали темную тему в приложении
Несмотря на пользу, темную тему часто разрабатывают по остаточному принципу. Например, выделяют на задачу по нескольку часов в неделю, и за это время просто инвертируют цвета светлой темы. Но в таком случае ни о какой пользе для глаз говорить не приходится.
Чтобы сделать действительно полезную фичу, потратили десятки часов и протестировали 2,5 тысячи макетов на сотнях устройств. С чем работали в процессе и что из этого вышло в этой статье.
Статья: https://habr.com/ru/articles/839636/
Несмотря на пользу, темную тему часто разрабатывают по остаточному принципу. Например, выделяют на задачу по нескольку часов в неделю, и за это время просто инвертируют цвета светлой темы. Но в таком случае ни о какой пользе для глаз говорить не приходится.
Чтобы сделать действительно полезную фичу, потратили десятки часов и протестировали 2,5 тысячи макетов на сотнях устройств. С чем работали в процессе и что из этого вышло в этой статье.
Статья: https://habr.com/ru/articles/839636/
Скука в разработке — это прекрасно
Создание программного обеспечения должно быть таким же сексуальным и захватывающим, как марафон. Он не полон прохватов бегунов, неожиданных тактик или хитрых движений. Бегуны просто продвигаются к финишу, километр за километром в течение многих часов.
Статья: https://apptractor.ru/info/articles/skuka-v-razrabotke-eto-prekrasno.html
Создание программного обеспечения должно быть таким же сексуальным и захватывающим, как марафон. Он не полон прохватов бегунов, неожиданных тактик или хитрых движений. Бегуны просто продвигаются к финишу, километр за километром в течение многих часов.
Статья: https://apptractor.ru/info/articles/skuka-v-razrabotke-eto-prekrasno.html
🔥1
Искусство завершения
Тихий субботний день. Я выкроил несколько драгоценных часов для кодинга, вооружившись чашкой дымящегося кофе и знакомым желанием погрузиться в проект. Устроившись в кресле и открыв терминал, я сталкиваюсь со ставшей уже привычной проблемой: нужно решить, за какой из моих многочисленных незавершенных проектов взяться.
Статья: https://www.bytedrum.com/posts/art-of-finishing/
Тихий субботний день. Я выкроил несколько драгоценных часов для кодинга, вооружившись чашкой дымящегося кофе и знакомым желанием погрузиться в проект. Устроившись в кресле и открыв терминал, я сталкиваюсь со ставшей уже привычной проблемой: нужно решить, за какой из моих многочисленных незавершенных проектов взяться.
Статья: https://www.bytedrum.com/posts/art-of-finishing/
... И искусство откладывания
«Лучший совет, который я могу дать, — это всегда оставлять код незаконченным накануне. Так я всегда знаю, что могу вернуться к небольшой проблеме, которая может занять всего три минуты, чтобы исправить тест, или написать новый метод, или что-то еще. Когда я занимаюсь кодом пять или десять минут, я быстро погружаюсь в проблему, и в этот момент мне гораздо проще перейти к более сложному коду. В принципе, это же касается и растяжки перед упражнениями».
Статья: https://apptractor.ru/info/articles/ostavlyayte-chto-nibud-na-zavtra.html
«Лучший совет, который я могу дать, — это всегда оставлять код незаконченным накануне. Так я всегда знаю, что могу вернуться к небольшой проблеме, которая может занять всего три минуты, чтобы исправить тест, или написать новый метод, или что-то еще. Когда я занимаюсь кодом пять или десять минут, я быстро погружаюсь в проблему, и в этот момент мне гораздо проще перейти к более сложному коду. В принципе, это же касается и растяжки перед упражнениями».
Статья: https://apptractor.ru/info/articles/ostavlyayte-chto-nibud-na-zavtra.html
AppTractor
Оставляйте что-нибудь на завтра
На следующий день вы точно знаете, за что браться, и можете сразу же приступить к работе.
Искусство рассказывания историй в разработке программного обеспечения
Программирование и повествование очень похожи по своей природе. Например, оба они выражаются посредством письменного языка и являются средством коммуникации. У обоих есть правила, передовой опыт, методы и структура. Как же разработчику извлечь пользу из изучения сторителлинга?
Статья: https://apptractor.ru/info/articles/the-art-of-storytelling-in-software-development.html
Программирование и повествование очень похожи по своей природе. Например, оба они выражаются посредством письменного языка и являются средством коммуникации. У обоих есть правила, передовой опыт, методы и структура. Как же разработчику извлечь пользу из изучения сторителлинга?
Статья: https://apptractor.ru/info/articles/the-art-of-storytelling-in-software-development.html
👍2
Открытое собеседование — технический руководитель: разбор кейса
Показали, что такое кейс-интервью и как к нему готовиться. Из видео вы узнаете, какие вопросы обсуждают на собеседовании, как оценивают кандидата и чего от него ждут. Просмотр будет особенно полезен техническим менеджерам, TeamLead, TeachLead, TUL, CTO, и интересен всем, кто связан с разработкой и IT-проектами.
Встречу проводил Игорь Гранщиков, технический директор Авито Недвижимость, а в роли кандидата выступил Андрей Смирнов, руководитель клиентской разработки в X5 Tech и ведущий подкаста Frontend Weekend.
00:00 | Вступление
00:11 | Из чего состоит интервью менеджера
00:55 | Задача кейс-интервью и его правила
01:46 | Начало интервью, рассказ о формате
04:26 | Контекст кейса и задачи для кандидата
05:40 | Вариант решения кейса
07:53 | Что такое «машина новостроек»
10:30 | Построение единого стандарта API застройщиков
17:09 | Какая нужна команда
20:55 | Цели для прямых репортов на следующие кварталы
27:39 | Реализация сценариев по сбору контента от застройщиков
38:07 | Как оценивать вызовы в командах
43:11 | Как застройщикам перейти на единое API
45:20 | Какие ожидания от лидеров команд
48:40 | Где в Авито заканчиваются полномочия кластер-лида и как строится его путь?
53:00 | Обсуждение кандидата внутри команды
59:30 | Обратная связь по итогам кейс-интервью
Видео: https://apptractor.ru/info/media/otkrytoe-sobesedovanie-tehnicheskiy-rukovoditel-razbor-keysa.html
Показали, что такое кейс-интервью и как к нему готовиться. Из видео вы узнаете, какие вопросы обсуждают на собеседовании, как оценивают кандидата и чего от него ждут. Просмотр будет особенно полезен техническим менеджерам, TeamLead, TeachLead, TUL, CTO, и интересен всем, кто связан с разработкой и IT-проектами.
Встречу проводил Игорь Гранщиков, технический директор Авито Недвижимость, а в роли кандидата выступил Андрей Смирнов, руководитель клиентской разработки в X5 Tech и ведущий подкаста Frontend Weekend.
00:00 | Вступление
00:11 | Из чего состоит интервью менеджера
00:55 | Задача кейс-интервью и его правила
01:46 | Начало интервью, рассказ о формате
04:26 | Контекст кейса и задачи для кандидата
05:40 | Вариант решения кейса
07:53 | Что такое «машина новостроек»
10:30 | Построение единого стандарта API застройщиков
17:09 | Какая нужна команда
20:55 | Цели для прямых репортов на следующие кварталы
27:39 | Реализация сценариев по сбору контента от застройщиков
38:07 | Как оценивать вызовы в командах
43:11 | Как застройщикам перейти на единое API
45:20 | Какие ожидания от лидеров команд
48:40 | Где в Авито заканчиваются полномочия кластер-лида и как строится его путь?
53:00 | Обсуждение кандидата внутри команды
59:30 | Обратная связь по итогам кейс-интервью
Видео: https://apptractor.ru/info/media/otkrytoe-sobesedovanie-tehnicheskiy-rukovoditel-razbor-keysa.html
Вашей компании требуются младшие разработчики
В последнее время бигтеху нужны только элитные отряды опытных разработчиков, которые могут «сразу приступить к работе» над большой (часто AI) инициативой. Уже не раз говорилось о том, что ИИ полностью заменит джунов. Junior-разработчики, в конце концов, как раз и существуют для того, чтобы выполнять работу «кодовых обезьян», которую легко заменить LLM.
Однако это упускает из виду, зачем нам нужны джуны. Их обучение становится собственным множителем силы для масштабных инноваций. Дело не в дополнительной рабочей силе, а в психологически безопасной культуре, которая ценит преподавание и обучение, а также инновациях, которые это открывает.
Статья: https://softwaredoug.com/blog/2024/09/07/your-team-needs-juniors
В последнее время бигтеху нужны только элитные отряды опытных разработчиков, которые могут «сразу приступить к работе» над большой (часто AI) инициативой. Уже не раз говорилось о том, что ИИ полностью заменит джунов. Junior-разработчики, в конце концов, как раз и существуют для того, чтобы выполнять работу «кодовых обезьян», которую легко заменить LLM.
Однако это упускает из виду, зачем нам нужны джуны. Их обучение становится собственным множителем силы для масштабных инноваций. Дело не в дополнительной рабочей силе, а в психологически безопасной культуре, которая ценит преподавание и обучение, а также инновациях, которые это открывает.
Статья: https://softwaredoug.com/blog/2024/09/07/your-team-needs-juniors
Doug Turnbull's Blog
Your company needs Junior devs
Junior engineers are foundational to whether a team can collaborate and innovate
Большие и чёрные (ящики): что мы знаем о том, как «думают» нейросети?
ChatGPT вышел уже почти два года назад, а датасаентисты до сих пор никак не могут определиться — являются ли нейросети тварями дрожащими, или всё же мыслить умеют? В этой статье мы попробуем разобраться: а как вообще учёные пытаются подойти к этому вопросу, насколько вероятен здесь успех, и что всё это означает для всех нас как для человечества.
Статья: https://habr.com/ru/companies/ods/articles/839694/
ChatGPT вышел уже почти два года назад, а датасаентисты до сих пор никак не могут определиться — являются ли нейросети тварями дрожащими, или всё же мыслить умеют? В этой статье мы попробуем разобраться: а как вообще учёные пытаются подойти к этому вопросу, насколько вероятен здесь успех, и что всё это означает для всех нас как для человечества.
Статья: https://habr.com/ru/companies/ods/articles/839694/
Как Junior-разработчику проводить Code Review
Я надеюсь, что эти предложения помогут вам на вашем пути инженера и придадут вам уверенности при проверке кода. Как только я научилась рецензировать код, я смогла читать и писать код во всех наших репозиториях. В конечном итоге это помогло мне перерасти свою должность junior-инженера и участвовать в проектах, в которых участвовало несколько команд. Если вы новичок в код-ревью, попробуйте завтра задать вопрос о чьем-то коде. Даже если это просто «офлайновое» сообщение, а не их код-ревью, оно может начать диалог и помочь вам лучше узнать своих товарищей по команде и свою кодовую базу!
Статья: https://apptractor.ru/info/articles/kak-junior-razrabotchiku-provodit-code-review.html
Я надеюсь, что эти предложения помогут вам на вашем пути инженера и придадут вам уверенности при проверке кода. Как только я научилась рецензировать код, я смогла читать и писать код во всех наших репозиториях. В конечном итоге это помогло мне перерасти свою должность junior-инженера и участвовать в проектах, в которых участвовало несколько команд. Если вы новичок в код-ревью, попробуйте завтра задать вопрос о чьем-то коде. Даже если это просто «офлайновое» сообщение, а не их код-ревью, оно может начать диалог и помочь вам лучше узнать своих товарищей по команде и свою кодовую базу!
Статья: https://apptractor.ru/info/articles/kak-junior-razrabotchiku-provodit-code-review.html
Forwarded from PROrobots (Алексей | abloud62)
This media is not supported in your browser
VIEW IN TELEGRAM
⚙️ DIY
Этот деревянный журнальный столик Carpentopod ходит - у него для этого есть 12 ног.
Интересно, что программа ходьбы была сформирована эволюционным методом - в рамках написанного изобретателем ПО эволюционировали тысячи виртуальных вариаций ног, соревнуясь друг с другом. Чтобы выбрать лучшую версию, каждая получала бал "пригодности" на основе скорости ходьбы, клиренса и использования материала. Дополнительные баллы начислялись вариантам ног, у которых кончики двигались более горизонтально и более плавно в нижней трети цикла - это минимизировало подпрыгивание и проскальзывание.
Только лучшим вариантам разрешалось "смешивать гены", то есть параметры, чтобы синтезировать следующие поколения. Наряду со смешиванием, вводились генетические мутации, чтобы синтезировать принципиально новые решения и поддерживать вариации. Симуляция на C++ позволяла синтезировать десятки поколений в секунду, что позволяло видеть, как плохие первоначальные варианты превратились в высокооптимизированные.
@PROrobotics по материалам Decarpentier (по ссылке еще много подробностей, картинок и видео)
Этот деревянный журнальный столик Carpentopod ходит - у него для этого есть 12 ног.
Интересно, что программа ходьбы была сформирована эволюционным методом - в рамках написанного изобретателем ПО эволюционировали тысячи виртуальных вариаций ног, соревнуясь друг с другом. Чтобы выбрать лучшую версию, каждая получала бал "пригодности" на основе скорости ходьбы, клиренса и использования материала. Дополнительные баллы начислялись вариантам ног, у которых кончики двигались более горизонтально и более плавно в нижней трети цикла - это минимизировало подпрыгивание и проскальзывание.
Только лучшим вариантам разрешалось "смешивать гены", то есть параметры, чтобы синтезировать следующие поколения. Наряду со смешиванием, вводились генетические мутации, чтобы синтезировать принципиально новые решения и поддерживать вариации. Симуляция на C++ позволяла синтезировать десятки поколений в секунду, что позволяло видеть, как плохие первоначальные варианты превратились в высокооптимизированные.
@PROrobotics по материалам Decarpentier (по ссылке еще много подробностей, картинок и видео)
🔥2