Где найти хороший код?
Тема Hacker News, содержащая ссылки на проекты с качественным кодом и обсуждение того, что делает код хорошим.
Пост: https://news.ycombinator.com/item?id=37248002
Тема Hacker News, содержащая ссылки на проекты с качественным кодом и обсуждение того, что делает код хорошим.
Пост: https://news.ycombinator.com/item?id=37248002
Проверяете электронную почту? Дышите глубже!
Апноэ электронной почты, которое, согласно неофициальному опросу, случается примерно у 80% людей, - это явление, когда люди периодически задерживают дыхание или изменяют его при проверке электронной почты.
Новость: https://www.nytimes.com/2023/08/21/well/live/screen-apnea-breathing.html
Апноэ электронной почты, которое, согласно неофициальному опросу, случается примерно у 80% людей, - это явление, когда люди периодически задерживают дыхание или изменяют его при проверке электронной почты.
Новость: https://www.nytimes.com/2023/08/21/well/live/screen-apnea-breathing.html
Как обычно делаются игры
Знакомство с миром разработки игр и его отличиями от традиционной разработки программного обеспечения. В разработке игр участвуют программисты, дизайнеры, художники, аниматоры, сценаристы и звукорежиссеры. Как правило, игры проходят стадию прототипа, после чего начинается полноценное производство, где несколько команд работают параллельно, что часто приводит к проблемам интеграции. Жизненный цикл разработки игры состоит из трех основных фаз: предпроизводства, производства и выпуска. Автор подчеркивает, что, хотя разработка игр заимствует методы разработки программного обеспечения, такие как TDD и agile-методологии, она требует адаптации к уникальным задачам среды.
Статья: https://newsletter.pragmaticengineer.com/p/how-games-typically-get-built
Знакомство с миром разработки игр и его отличиями от традиционной разработки программного обеспечения. В разработке игр участвуют программисты, дизайнеры, художники, аниматоры, сценаристы и звукорежиссеры. Как правило, игры проходят стадию прототипа, после чего начинается полноценное производство, где несколько команд работают параллельно, что часто приводит к проблемам интеграции. Жизненный цикл разработки игры состоит из трех основных фаз: предпроизводства, производства и выпуска. Автор подчеркивает, что, хотя разработка игр заимствует методы разработки программного обеспечения, такие как TDD и agile-методологии, она требует адаптации к уникальным задачам среды.
Статья: https://newsletter.pragmaticengineer.com/p/how-games-typically-get-built
А давайте убъем все фреймворки?
Безумие - это любая вещь доведенная до крайности. Вы можете пойти и съесть мороженое. А можете пойти и попытаться ограбить кондитерскую фабрику, с целью съесть всё мороженое в мире. Первое действие не будет безумным. Второе - более чем.
Я не призываю здесь возвращаться к копьям и писать веб-приложения на чистом Assembly. (Хотя, те кто меня знают тут осекутся). Но нам можно оставить в прошлом бесконечно большие node-modules, потому что вам больше не придётся скачивать left-pad для своих проектов. GPT сможет переписать его для вас.
Статья: https://habr.com/ru/articles/757150/
Безумие - это любая вещь доведенная до крайности. Вы можете пойти и съесть мороженое. А можете пойти и попытаться ограбить кондитерскую фабрику, с целью съесть всё мороженое в мире. Первое действие не будет безумным. Второе - более чем.
Я не призываю здесь возвращаться к копьям и писать веб-приложения на чистом Assembly. (Хотя, те кто меня знают тут осекутся). Но нам можно оставить в прошлом бесконечно большие node-modules, потому что вам больше не придётся скачивать left-pad для своих проектов. GPT сможет переписать его для вас.
Статья: https://habr.com/ru/articles/757150/
👍1
Шаблон профиля на GitHub
Этот репозиторий содержит шаблон пользователя GitHub, который может быть использован в личных целях. Шаблон предоставляет быстрый обзор навыков и активности пользователя на GitHub и других платформах с помощью анимированных графиков и других компонентов.
Ссылка: https://github.com/BEPb/BEPb
Этот репозиторий содержит шаблон пользователя GitHub, который может быть использован в личных целях. Шаблон предоставляет быстрый обзор навыков и активности пользователя на GitHub и других платформах с помощью анимированных графиков и других компонентов.
Ссылка: https://github.com/BEPb/BEPb
🔥1
Практическая криптография для разработчиков
Бесплатная электронная книга по криптографии для разработчиков с примерами кода.
Сайт: https://cryptobook.nakov.com/
Бесплатная электронная книга по криптографии для разработчиков с примерами кода.
Сайт: https://cryptobook.nakov.com/
Мы поместили полмиллиона файлов в один git-репозиторий, и вот что мы узнали
Использование монорепозитория вызывает множество проблем с производительностью git. Вот как мы решаем их в Canva.
Статья: https://www.canva.dev/blog/engineering/we-put-half-a-million-files-in-one-git-repository-heres-what-we-learned/
Использование монорепозитория вызывает множество проблем с производительностью git. Вот как мы решаем их в Canva.
Статья: https://www.canva.dev/blog/engineering/we-put-half-a-million-files-in-one-git-repository-heres-what-we-learned/
Бесплатный курс «LangChain: чат с вашими данными»
«LangChain: чат с вашими данными» — это новый бесплатный краткий курс Харрисона Чейза, генерального директора LangChain, в котором он рассказывает о том, как использовать LLM для общения с вашими собственными данными. Курс, рассчитанный примерно на час, размещен на платформе Deeplearning AI Эндрю Нг.
Про курс: https://apptractor.ru/learn/besplatnyy-kurs-langchain-chat-s-vashimi-dannymi.html
«LangChain: чат с вашими данными» — это новый бесплатный краткий курс Харрисона Чейза, генерального директора LangChain, в котором он рассказывает о том, как использовать LLM для общения с вашими собственными данными. Курс, рассчитанный примерно на час, размещен на платформе Deeplearning AI Эндрю Нг.
Про курс: https://apptractor.ru/learn/besplatnyy-kurs-langchain-chat-s-vashimi-dannymi.html
Неожиданная находка, которая позволила освободить 20 ГБ неиспользуемого индексного пространства
Команде Haki удалось освободить более 70 Гбайт пространства в базе данных, не сбрасывая индексы и не удаляя данные. Вначале для освобождения места они использовали традиционные методы, такие как перестройка индексов и таблиц. Однако неожиданное открытие позволило им освободить еще ~20 ГБ. Они поняли, что PostgreSQL индексирует NULL-значения, что позволило им создать частичный индекс, исключающий эти NULL-значения, и тем самым значительно уменьшить размер индекса. В статье также рассматривается понятие "раздутости" таблиц и индексов PostgreSQL, предлагаются решения, например, использование команды REINDEX и расширения pg_repack для борьбы с ней. В Haki считают, что частичные индексы особенно полезны для полей с высоким процентом NULL-значений.
Статья: https://hakibenita.com/postgresql-unused-index-size
Команде Haki удалось освободить более 70 Гбайт пространства в базе данных, не сбрасывая индексы и не удаляя данные. Вначале для освобождения места они использовали традиционные методы, такие как перестройка индексов и таблиц. Однако неожиданное открытие позволило им освободить еще ~20 ГБ. Они поняли, что PostgreSQL индексирует NULL-значения, что позволило им создать частичный индекс, исключающий эти NULL-значения, и тем самым значительно уменьшить размер индекса. В статье также рассматривается понятие "раздутости" таблиц и индексов PostgreSQL, предлагаются решения, например, использование команды REINDEX и расширения pg_repack для борьбы с ней. В Haki считают, что частичные индексы особенно полезны для полей с высоким процентом NULL-значений.
Статья: https://hakibenita.com/postgresql-unused-index-size
👍2😁1
Мы сами себя обманули с Биткоином
Вы идете в продуктовый магазин, хотите купить бутылку молока. Бутылка стоит 601$, транзакция идет 5 часов, и стоимость бутылки за эти 5 часов прыгает от 500 до 700.
Как вам такое будущее? А ведь именно это и продвигают бешеные криптоманы.
Сразу хочу сказать, я за криптовалюту, я сам работаю в этом секторе.
Я хочу написать о наболевшем: в мире крипты люди несут какой-то тотальный бред, инвестируют во все попало, блогеры/инфлюенсеры являются большим авторитетом чем технологические гики.
На вершине этого стоит Биткоин, который вообще там, не потому что он самый удобный или правильный, а потому что он просто первый. И ничего более.
Статья: https://habr.com/ru/articles/757660/
Вы идете в продуктовый магазин, хотите купить бутылку молока. Бутылка стоит 601$, транзакция идет 5 часов, и стоимость бутылки за эти 5 часов прыгает от 500 до 700.
Как вам такое будущее? А ведь именно это и продвигают бешеные криптоманы.
Сразу хочу сказать, я за криптовалюту, я сам работаю в этом секторе.
Я хочу написать о наболевшем: в мире крипты люди несут какой-то тотальный бред, инвестируют во все попало, блогеры/инфлюенсеры являются большим авторитетом чем технологические гики.
На вершине этого стоит Биткоин, который вообще там, не потому что он самый удобный или правильный, а потому что он просто первый. И ничего более.
Статья: https://habr.com/ru/articles/757660/
💯2
Измерение производительности разработчиков? Ответ McKinsey
Консалтинговый гигант разработал методику, которая, по его утверждению, позволяет измерить производительность труда разработчиков программного обеспечения. Однако за такое измерение приходится платить высокую цену, и мы предлагаем более разумный подход.
Статья: https://newsletter.pragmaticengineer.com/p/measuring-developer-productivity
Консалтинговый гигант разработал методику, которая, по его утверждению, позволяет измерить производительность труда разработчиков программного обеспечения. Однако за такое измерение приходится платить высокую цену, и мы предлагаем более разумный подход.
Статья: https://newsletter.pragmaticengineer.com/p/measuring-developer-productivity
Pragmaticengineer
Measuring developer productivity? A response to McKinsey
The consulting firm came up with a methodology they claim can measure software developer productivity. But that measurement comes at a high price – and we offer a more sensible approach.
Переполнение буфера в Notepad++
4 месяца - так и не пофиксили.
Новость: https://securitylab.github.com/advisories/GHSL-2023-092_Notepad__/
4 месяца - так и не пофиксили.
Новость: https://securitylab.github.com/advisories/GHSL-2023-092_Notepad__/
GitHub Security Lab
GHSL-2023-112, GHSL-2023-102, GHSL-2023-103, GHSL-2023-092: Buffer Overflows in Notepad++ - CVE-2023-40031, CVE-2023-40036, CVE…
Multiple memory safety violations in Notepad++ opening a crafted file.
Не дадим Windows Phone умереть! Как я написал свои клиенты VK, YouTube для Nokia Lumia
Сегодня вы узнаете о моей мотивации привносить жизнь старым смартфонам, о тонкостях разработки мобильных приложений, чем Windiows Phone был на голову выше Android в техническом плане и о том, почему провал Windows Phone — одна из самых больших потерь мобильного рынка. Интересно?
Статья: https://habr.com/ru/companies/timeweb/articles/757050/
Сегодня вы узнаете о моей мотивации привносить жизнь старым смартфонам, о тонкостях разработки мобильных приложений, чем Windiows Phone был на голову выше Android в техническом плане и о том, почему провал Windows Phone — одна из самых больших потерь мобильного рынка. Интересно?
Статья: https://habr.com/ru/companies/timeweb/articles/757050/
😁1
Как пройти кодинг-интервью со мной
За последние 10 лет я провел более 400 кодинг-интервью. Это эквивалентно двум рабочим месяцам, в течение которых я наблюдаю за тем, как незнакомые люди пытаются решить одну и ту же горстку задач по программированию. Некоторые из моих потенциальных коллег решают эти задачи без проблем, но у других возникают проблемы по схожим, легко устранимым причинам. Я хотел бы дать им более качественную обратную связь, но из-за юридических и временных ограничений система так не работает.
Поэтому вместо индивидуального совета я написал эту шпаргалку, содержащую 22 совета о том, как пройти собеседование по программированию со мной. Эти советы не заменят мастерства и практики, но они помогут вам успокоить нервы, избежать глупых ошибок и продемонстрировать максимум своих возможностей. Большинство советов легко выполнимы, а их совокупность позволит увеличить количество пройденных собеседований.
Статья: https://robertheaton.com/interview/
За последние 10 лет я провел более 400 кодинг-интервью. Это эквивалентно двум рабочим месяцам, в течение которых я наблюдаю за тем, как незнакомые люди пытаются решить одну и ту же горстку задач по программированию. Некоторые из моих потенциальных коллег решают эти задачи без проблем, но у других возникают проблемы по схожим, легко устранимым причинам. Я хотел бы дать им более качественную обратную связь, но из-за юридических и временных ограничений система так не работает.
Поэтому вместо индивидуального совета я написал эту шпаргалку, содержащую 22 совета о том, как пройти собеседование по программированию со мной. Эти советы не заменят мастерства и практики, но они помогут вам успокоить нервы, избежать глупых ошибок и продемонстрировать максимум своих возможностей. Большинство советов легко выполнимы, а их совокупность позволит увеличить количество пройденных собеседований.
Статья: https://robertheaton.com/interview/
Поставьте 👍, если хотите эту статью на русском
👍10
Как популярность DOS/4GW помогла играм в Windows 95
В начале 1990-х самым популярным расширителем DOS был DOS/4GW. Во время разработки Windows 95 я очень много времени тратил на решение задачи совместимости с играми под MS-DOS, поэтому видел много баннеров расширителей DOS, и чаще всего это был DOS/4GW.
Вы можете задаться вопросом: «Как эти игры вообще запускались в Windows 95, если они поставлялись с расширителем DOS? Разве расширитель не пытался бы безуспешно перейти в защищённый режим, потому что Windows уже управляла защищённым режимом?»
Хитрость заключалась в том. что эти расширители нас самом деле были двумя связанными друг с другом программами. Одна использовалась как сервер защищённого режима, а другая была клиентской библиотекой защищённого режима.
Статья: https://habr.com/ru/articles/758116/
В начале 1990-х самым популярным расширителем DOS был DOS/4GW. Во время разработки Windows 95 я очень много времени тратил на решение задачи совместимости с играми под MS-DOS, поэтому видел много баннеров расширителей DOS, и чаще всего это был DOS/4GW.
Вы можете задаться вопросом: «Как эти игры вообще запускались в Windows 95, если они поставлялись с расширителем DOS? Разве расширитель не пытался бы безуспешно перейти в защищённый режим, потому что Windows уже управляла защищённым режимом?»
Хитрость заключалась в том. что эти расширители нас самом деле были двумя связанными друг с другом программами. Одна использовалась как сервер защищённого режима, а другая была клиентской библиотекой защищённого режима.
Статья: https://habr.com/ru/articles/758116/
❤1
IT Insights
Как пройти кодинг-интервью со мной За последние 10 лет я провел более 400 кодинг-интервью. Это эквивалентно двум рабочим месяцам, в течение которых я наблюдаю за тем, как незнакомые люди пытаются решить одну и ту же горстку задач по программированию. Некоторые…
Перевод: Как пройти кодинг интервью со мной
Перед собеседованием
1. Если вы предварительно изучаете вопрос в Google, удалите следы этого
2. Сделайте базовую программу и убедитесь, что вы можете ее запустить
Представление
3. Сократите личное вступление
4. Спросите, сколько времени у вас есть для ответа на вопрос
Когда вы получаете задачу
5. Кратко переформулируйте вопрос
6. Задайте пару уточняющих вопросов
7. Спросите, как вас оценивают
8. Набросайте решение, которое работает, по крайней мере, для базового случая
Отладка
9. Часто запускайте свой код
10. Используйте гипотезы для отладки
11. Распространенные тривиальные ошибки
12. Просьба о помощи
Разговор
13. Не ругайте языки, библиотеки и вообще что-либо
14. Говорите так много, как только можете
Написание кода
15. Не определяйте много функций или классов, если вы не уверены, что это хорошая идея
16. Используйте TODO
Тестирование
17. Написание тестов
18. Не используйте фреймворк для тестирования, если это не требуется или если вы не уверены в нем
19. Если тест пройден, выведите pass
20. Если все тесты проходят с первого раза, попробуйте сделать так, чтобы они не прошли
21. Не занимайтесь TDD в полной мере, если только вы не считаете его действительно полезным
22. Сохраняйте свои тесты
Статья: https://apptractor.ru/info/articles/kak-proyti-koding-intervyu-so-mnoy.html
Перед собеседованием
1. Если вы предварительно изучаете вопрос в Google, удалите следы этого
2. Сделайте базовую программу и убедитесь, что вы можете ее запустить
Представление
3. Сократите личное вступление
4. Спросите, сколько времени у вас есть для ответа на вопрос
Когда вы получаете задачу
5. Кратко переформулируйте вопрос
6. Задайте пару уточняющих вопросов
7. Спросите, как вас оценивают
8. Набросайте решение, которое работает, по крайней мере, для базового случая
Отладка
9. Часто запускайте свой код
10. Используйте гипотезы для отладки
11. Распространенные тривиальные ошибки
12. Просьба о помощи
Разговор
13. Не ругайте языки, библиотеки и вообще что-либо
14. Говорите так много, как только можете
Написание кода
15. Не определяйте много функций или классов, если вы не уверены, что это хорошая идея
16. Используйте TODO
Тестирование
17. Написание тестов
18. Не используйте фреймворк для тестирования, если это не требуется или если вы не уверены в нем
19. Если тест пройден, выведите pass
20. Если все тесты проходят с первого раза, попробуйте сделать так, чтобы они не прошли
21. Не занимайтесь TDD в полной мере, если только вы не считаете его действительно полезным
22. Сохраняйте свои тесты
Статья: https://apptractor.ru/info/articles/kak-proyti-koding-intervyu-so-mnoy.html
Самый плохой программист, которого я знаю
В измерении продуктивности разработчиков хорошо то, что можно быстро выявлять плохих программистов. Я хочу рассказать вам о самом плохом программисте, которого я знаю, и о том, почему я сражался за то, чтобы его оставили в команде.
Статья: https://habr.com/ru/articles/758596/
В измерении продуктивности разработчиков хорошо то, что можно быстро выявлять плохих программистов. Я хочу рассказать вам о самом плохом программисте, которого я знаю, и о том, почему я сражался за то, чтобы его оставили в команде.
Статья: https://habr.com/ru/articles/758596/
👍2
Кривые Безье
Я постоянно использовал кривые Безье в моей карьере фронтенд-инженера - в анимации и SVG-иллюстрациях и иконках. Однако только недавно я заинтересовался пониманием логики, лежащей в основе их поведения. Эта статья раскрыла для меня тайны, связанные с кривыми, и дала более глубокое понимание анимации. В этой статье я поделюсь своими интересными открытиями в области кривых Безье.
Статья: https://blog.richardekwonye.com/bezier-curves
Я постоянно использовал кривые Безье в моей карьере фронтенд-инженера - в анимации и SVG-иллюстрациях и иконках. Однако только недавно я заинтересовался пониманием логики, лежащей в основе их поведения. Эта статья раскрыла для меня тайны, связанные с кривыми, и дала более глубокое понимание анимации. В этой статье я поделюсь своими интересными открытиями в области кривых Безье.
Статья: https://blog.richardekwonye.com/bezier-curves
Как выглядят собеседования сейчас
Времена меняются, меняется it-индустрия. Крупные it-игроки ушли, с ними ушли стандарты, топовые специалисты и рабочие места. Соотношение вакансий и резюме удручает, всё выглядит как конкурс на бюджетные места в топовых вузах.
Статья: https://habr.com/ru/articles/758838/
Времена меняются, меняется it-индустрия. Крупные it-игроки ушли, с ними ушли стандарты, топовые специалисты и рабочие места. Соотношение вакансий и резюме удручает, всё выглядит как конкурс на бюджетные места в топовых вузах.
Статья: https://habr.com/ru/articles/758838/
От озорничания в браузерах до босса бэкенда: выиграет ли WASM веб-войну?
Если сложить все вместе, то, на мой взгляд, WASM наконец-то сможет реализовать свой потенциал. От идй разработчиков до производственного кода еще много шагов. Но кирпичики для создания практического WASI бэкенда уже закладываются. К 2025 году мы узнаем, действительно ли WASM окажется будущим для разработки софта для бэкенда.
Статья: https://www.theregister.com/2023/09/01/web_assembly_wasm_column/?
Если сложить все вместе, то, на мой взгляд, WASM наконец-то сможет реализовать свой потенциал. От идй разработчиков до производственного кода еще много шагов. Но кирпичики для создания практического WASI бэкенда уже закладываются. К 2025 году мы узнаем, действительно ли WASM окажется будущим для разработки софта для бэкенда.
Статья: https://www.theregister.com/2023/09/01/web_assembly_wasm_column/?
The Register
From browser brat to backend boss: Will WASM win the web wars?
WebAssembly is getting a lot of hype, but is it the game-changer some think it is?