Люди не понимают ООП
Похоже, многим не нравится объектно-ориентированное программирование. Первое, что приходит в голову, когда слышишь эту трёхбуквенную аббревиатуру — это пример с автомобилем, наследование, геттеры, сеттеры и ObjectFactoryFactorySingleton.
Мне это всегда казалось довольно странным. Мне не только нравится ООП, я ещё и считаю, что часто это лучший/наиболее очевидный способ моделирования задачи. И я расскажу, почему.
Статья: https://habr.com/ru/companies/ruvds/articles/792052/
Похоже, многим не нравится объектно-ориентированное программирование. Первое, что приходит в голову, когда слышишь эту трёхбуквенную аббревиатуру — это пример с автомобилем, наследование, геттеры, сеттеры и ObjectFactoryFactorySingleton.
Мне это всегда казалось довольно странным. Мне не только нравится ООП, я ещё и считаю, что часто это лучший/наиболее очевидный способ моделирования задачи. И я расскажу, почему.
Статья: https://habr.com/ru/companies/ruvds/articles/792052/
😐2👍1
На помойку? Никак нет! Пишем нативные приложения для дешевых китайских телефонов
Если сейчас приехать в пункт приема металлолома, то можно обнаружить просто огромные кучи различных телефонов и прочих электронных «отходов», которые стоят под открытым небом и ждут, когда придёт их черёд окончательного разложения. Однако при ближайшем рассмотрении выясняется, что многие девайсы оказываются полностью рабочими даже после недельного лежания под палящим солнцем и проливными дождями, а сдали их в чермет по причинам «не нужен, надоел, купил новый» и т. п. Я не считаю это правильным, ведь даже в простые кнопочные звонилки имеется возможность вдохнуть новую жизнь, если знать один интересный, но малоизвестный факт: для них можно писать нативные приложения на C и использовать железо телефона в своих целях. А это, на минуточку, как минимум: дисплей с подсветкой, вибромотор, динамик, клавиатура и GSM-радиомодуль с возможностью выхода в сеть. Сегодня мы с вами: узнаем, на каких аппаратных платформах работают китайские телефоны, какие существуют программные платформы и где взять для них SDK, а в практической части мы напишем 2D-игру с нуля, которая будет работать на многих китайских кнопочниках.
Статья: https://habr.com/ru/companies/timeweb/articles/791072/
Если сейчас приехать в пункт приема металлолома, то можно обнаружить просто огромные кучи различных телефонов и прочих электронных «отходов», которые стоят под открытым небом и ждут, когда придёт их черёд окончательного разложения. Однако при ближайшем рассмотрении выясняется, что многие девайсы оказываются полностью рабочими даже после недельного лежания под палящим солнцем и проливными дождями, а сдали их в чермет по причинам «не нужен, надоел, купил новый» и т. п. Я не считаю это правильным, ведь даже в простые кнопочные звонилки имеется возможность вдохнуть новую жизнь, если знать один интересный, но малоизвестный факт: для них можно писать нативные приложения на C и использовать железо телефона в своих целях. А это, на минуточку, как минимум: дисплей с подсветкой, вибромотор, динамик, клавиатура и GSM-радиомодуль с возможностью выхода в сеть. Сегодня мы с вами: узнаем, на каких аппаратных платформах работают китайские телефоны, какие существуют программные платформы и где взять для них SDK, а в практической части мы напишем 2D-игру с нуля, которая будет работать на многих китайских кнопочниках.
Статья: https://habr.com/ru/companies/timeweb/articles/791072/
👍1
Я разработал куб, который балансирует стоя на углу
Этот куб может балансировать на углу и одновременно контролируемо вращаться вокруг своей оси. Для этого он использует умные элементы управления и набор из трех реактивных колес. Я решил решить задачу по созданию такого устройства самостоятельно. Несмотря на то, что идея не нова, предыдущие работы были в основном с закрытым исходным кодом. Я все разработал с нуля и открыл результаты на GitHub.
Статья: https://willempennings.nl/balancing-cube/
Этот куб может балансировать на углу и одновременно контролируемо вращаться вокруг своей оси. Для этого он использует умные элементы управления и набор из трех реактивных колес. Я решил решить задачу по созданию такого устройства самостоятельно. Несмотря на то, что идея не нова, предыдущие работы были в основном с закрытым исходным кодом. Я все разработал с нуля и открыл результаты на GitHub.
Статья: https://willempennings.nl/balancing-cube/
🔥3👍1
Список чтения по распределенным системам
Этот документ содержит различные ресурсы и краткие определения многих данных, лежащих в основе распределенных систем. Он не является полным, хотя и довольно подробным. Я написал его в 2019 году, когда коллеги попросили список литературы, и я собрал то, что мне показалось достойным обзором основ и концепций распределенных систем.
Поскольку недавно меня снова попросили предоставить ресурсы, я решил поместить этот текст в свой блог. Я снова проверил ссылки и заменил те, которые сломались, архивными или другими, но не искал альтернативных источников, когда старые ссылки работали, и не тратил время на добавление нового материала, который мог быть опубликован с тех пор.
Эта книга предназначена для использования в качестве краткого справочника для понимания различных дискуссий о distsys, а также для знакомства с общим пространством и возможностями, которые существуют вокруг этой среды.
Список: https://ferd.ca/a-distributed-systems-reading-list.html
Этот документ содержит различные ресурсы и краткие определения многих данных, лежащих в основе распределенных систем. Он не является полным, хотя и довольно подробным. Я написал его в 2019 году, когда коллеги попросили список литературы, и я собрал то, что мне показалось достойным обзором основ и концепций распределенных систем.
Поскольку недавно меня снова попросили предоставить ресурсы, я решил поместить этот текст в свой блог. Я снова проверил ссылки и заменил те, которые сломались, архивными или другими, но не искал альтернативных источников, когда старые ссылки работали, и не тратил время на добавление нового материала, который мог быть опубликован с тех пор.
Эта книга предназначена для использования в качестве краткого справочника для понимания различных дискуссий о distsys, а также для знакомства с общим пространством и возможностями, которые существуют вокруг этой среды.
Список: https://ferd.ca/a-distributed-systems-reading-list.html
ferd.ca
A Distributed Systems Reading List
An old document I surfaced with my quick tour of distributed systems theory fundamentals
🔥1
Chat with RTX от NVIDIA позволяет запускать генеративные модели на ПК
Компания Nvidia, стремящаяся стимулировать покупку своих новейших графических процессоров, выпустила инструмент, позволяющий владельцам карт GeForce RTX 30 и 40 серий запускать чатбота на базе искусственного интеллекта в автономном режиме на ПК с Windows.
Новость: https://apptractor.ru/info/news/chat-with-rtx.html
Компания Nvidia, стремящаяся стимулировать покупку своих новейших графических процессоров, выпустила инструмент, позволяющий владельцам карт GeForce RTX 30 и 40 серий запускать чатбота на базе искусственного интеллекта в автономном режиме на ПК с Windows.
Новость: https://apptractor.ru/info/news/chat-with-rtx.html
👍2🤨1
Плюсы и минусы каждого инфраструктурного решения за четыре года работы в стартапе
Последние четыре года я занимался в стартапе руководством инфраструктурой, которая должна была быстро масштабироваться. С самого начала я принял фундаментальные решения, которых компании нужно было придерживаться несмотря ни на что все эти четыре года. В посте я перечислю некоторые из важных решений, принятых мной, расскажу, сожалею ли я о них, или одобряю.
Статья: https://habr.com/ru/companies/ruvds/articles/793698/
Последние четыре года я занимался в стартапе руководством инфраструктурой, которая должна была быстро масштабироваться. С самого начала я принял фундаментальные решения, которых компании нужно было придерживаться несмотря ни на что все эти четыре года. В посте я перечислю некоторые из важных решений, принятых мной, расскажу, сожалею ли я о них, или одобряю.
Статья: https://habr.com/ru/companies/ruvds/articles/793698/
Хабр
Плюсы и минусы каждого инфраструктурного решения за четыре года работы в стартапе
Последние четыре года я занимался в стартапе руководством инфраструктурой, которая должна была быстро масштабироваться. С самого начала я принял фундаментальные решения, которых компании нужно было...
Шпаргалка для алгособеса — алгоритмическая сложность, структуры данных, методы сортировки и Дейкстра
Так уж повелось, что любой уважающий себя работодатель перенимает передовые^✻ методики FAANG — по этой причине практически во всех IT-собесах есть она: секция алгоритмов. Кто-то ей рад, кто-то не очень, но секция есть и уходить пока не планирует. Поэтому нужно закатать рукава и достойно встретить суровую реальность.
Статья: https://habr.com/ru/articles/794556/
Так уж повелось, что любой уважающий себя работодатель перенимает передовые^✻ методики FAANG — по этой причине практически во всех IT-собесах есть она: секция алгоритмов. Кто-то ей рад, кто-то не очень, но секция есть и уходить пока не планирует. Поэтому нужно закатать рукава и достойно встретить суровую реальность.
Статья: https://habr.com/ru/articles/794556/
Castle Game Engine
Кроссплатформенный (десктопы, мобильные устройства, консоли) 3D и 2D игровой движок. Мощный визуальный редактор. Поддержка glTF, X3D, Spine и др. Быстрый чистый код на современном языке Pascal. Бесплатный и с открытым исходным кодом.
Сайт: https://castle-engine.io/
Кроссплатформенный (десктопы, мобильные устройства, консоли) 3D и 2D игровой движок. Мощный визуальный редактор. Поддержка glTF, X3D, Spine и др. Быстрый чистый код на современном языке Pascal. Бесплатный и с открытым исходным кодом.
Сайт: https://castle-engine.io/
😁4🤣4👍1👎1
Основы Event-Driven архитектуры и ее подводные камни (и как их избежать)
Архитектура, управляемая событиями (Event-driven architecture, EDA), существует уже несколько десятилетий. Однако в последнее время она переживает возрождение, поскольку системы становятся все более сложными, а интеграция охватывает не только бизнес-подразделения, но и партнеров и сторонние приложения. Теперь команды переходят от синхронных методов интеграции, таких как веб-интерфейсы API, к EDA и асинхронным API, таким как Webhooks.
По мере того как команды переходят от синхронной к асинхронной интеграции, важно знать основы обмена сообщениями, EDA и асинхронных API. В этой статье мы рассмотрим эти фундаментальные концепции и некоторые паттерны проектирования, которые помогут вам начать работу. Мы также обсудим подводные камни, с которыми сталкиваются команды, и способы их устранения путем применения этих принципов и паттернов.
Статья: https://hookdeck.com/blog/event-driven-architectrure-fundamentals-pitfalls
Архитектура, управляемая событиями (Event-driven architecture, EDA), существует уже несколько десятилетий. Однако в последнее время она переживает возрождение, поскольку системы становятся все более сложными, а интеграция охватывает не только бизнес-подразделения, но и партнеров и сторонние приложения. Теперь команды переходят от синхронных методов интеграции, таких как веб-интерфейсы API, к EDA и асинхронным API, таким как Webhooks.
По мере того как команды переходят от синхронной к асинхронной интеграции, важно знать основы обмена сообщениями, EDA и асинхронных API. В этой статье мы рассмотрим эти фундаментальные концепции и некоторые паттерны проектирования, которые помогут вам начать работу. Мы также обсудим подводные камни, с которыми сталкиваются команды, и способы их устранения путем применения этих принципов и паттернов.
Статья: https://hookdeck.com/blog/event-driven-architectrure-fundamentals-pitfalls
Формулы для оптических настроек: как придать фигурам одинаковый визуальный вес
Дизайнеры обычно вручную изменяют или двигают элементы до тех пор, пока они не окажутся на своих местах и не станут выглядеть нормально. Такой процесс называется «оптической регулировкой» или «оптическим выравниванием». Суть в том, что вы не можете полагаться на простые цифры — совпадение ширины и высоты двух объектов не означает, что они будут иметь одинаковый визуальный вес. Инстинкт хорош, но исполнение, на мой взгляд, не всегда отличается точностью. На цифры можно положиться, если используется правильный расчет.
Статья: https://apptractor.ru/info/articles/formuly-dlya-opticheskih-nastroek-kak-pridat-figuram-odinakovyy-vizualnyy-ves.html
Дизайнеры обычно вручную изменяют или двигают элементы до тех пор, пока они не окажутся на своих местах и не станут выглядеть нормально. Такой процесс называется «оптической регулировкой» или «оптическим выравниванием». Суть в том, что вы не можете полагаться на простые цифры — совпадение ширины и высоты двух объектов не означает, что они будут иметь одинаковый визуальный вес. Инстинкт хорош, но исполнение, на мой взгляд, не всегда отличается точностью. На цифры можно положиться, если используется правильный расчет.
Статья: https://apptractor.ru/info/articles/formuly-dlya-opticheskih-nastroek-kak-pridat-figuram-odinakovyy-vizualnyy-ves.html
Я поместил сложную кодовую базу в один запрос на 120 тыс. токенов и задал 7 вопросов GPT-4 и Gemini 1.5. Вот результаты!
TLDR:В задаче понимания кодовой базы HVM, состоящей из 120 тыс. токенов, Gemini 1.5 абсолютно уничтожил GPT-4-Turbo-128K. Большинство вопросов, на которые GPT-4 ответил неправильно, были такими, на которые он ответил бы правильно в более мелких подсказках, так что гигантский контекст явно перегружал его, а Gemini 1.5 это совершенно не волновало. Я впечатлен.
Пост на Reddit: https://old.reddit.com/r/singularity/comments/1atjz9v/ive_put_a_complex_codebase_into_a_single/
TLDR:
Пост на Reddit: https://old.reddit.com/r/singularity/comments/1atjz9v/ive_put_a_complex_codebase_into_a_single/
Reddit
From the singularity community on Reddit: I've put a complex codebase into a single 120K-token prompt, and asked 7 questions GPT…
Explore this post and more from the singularity community
Как стать -10х инженером
10x разработчики может и миф, но инженеры -10x существуют. Чтобы стать -10x инженером нужно просто потратить 400 инженерных часов в неделю. Вот какими стратегиями этого можно добиться.
Статья: https://apptractor.ru/info/articles/10h.html
10x разработчики может и миф, но инженеры -10x существуют. Чтобы стать -10x инженером нужно просто потратить 400 инженерных часов в неделю. Вот какими стратегиями этого можно добиться.
Статья: https://apptractor.ru/info/articles/10h.html
🥴2👍1🤣1
Отпечатки пальцев можно воссоздать по звукам, издаваемым при проведении пальцем по сенсорному экрану
Атака использует звуко для извлечения особенностей отпечатков пальцев. По результатам тестов исследователи утверждают, что они могут успешно получить "до 27,9 % частичных отпечатков пальцев и 9,3 % полных отпечатков пальцев в течение пяти попыток при максимальном значении FAR [False Acceptance Rate] в 0,01 %".
Новость: https://www.tomshardware.com/tech-industry/cyber-security/your-fingerprints-can-be-recreated-from-the-sounds-made-when-you-swipe-on-a-touchscreen-researchers-new-side-channel-attack-can-reproduce-partial-fingerprints-to-enable-attacks
Атака использует звуко для извлечения особенностей отпечатков пальцев. По результатам тестов исследователи утверждают, что они могут успешно получить "до 27,9 % частичных отпечатков пальцев и 9,3 % полных отпечатков пальцев в течение пяти попыток при максимальном значении FAR [False Acceptance Rate] в 0,01 %".
Новость: https://www.tomshardware.com/tech-industry/cyber-security/your-fingerprints-can-be-recreated-from-the-sounds-made-when-you-swipe-on-a-touchscreen-researchers-new-side-channel-attack-can-reproduce-partial-fingerprints-to-enable-attacks
Tom's Hardware
Your fingerprints can be recreated from the sounds made when you swipe on a touchscreen — Chinese and US researchers show new side…
Researchers claim they can successfully attack up to 27.9% of partial fingerprints.
Forwarded from addmeto (Grigory Bakunov)
Google спешит показать, что в опенсорс они все еще умеют — вышла Gemma, это открытая модель с весами, на 2 и 7 миллиардов параметров, тренированная примерно так, как тренируют Gemini, их закрытую модель.
Если верить их метрикам качества — 7b модель перегоняет LLama2 30b.
https://www.theverge.com/2024/2/21/24078610/google-gemma-gemini-small-ai-model-open-source
Если верить их метрикам качества — 7b модель перегоняет LLama2 30b.
https://www.theverge.com/2024/2/21/24078610/google-gemma-gemini-small-ai-model-open-source
The Verge
Google Gemma: because Google doesn’t want to give away Gemini yet
Gemma’s AI model could be faster and more cost-efficient then Gemini.
Ложные представления Junior-разработчиков о том, что значит быть Senior-ом
• У них есть все ответы
• Работают с самыми новыми технологиями
• Не работают над скучными задачами
• Делают большие изменения
• У них есть время отдохнуть
• Они решают, что делать
• Они незаменимы
Статья: https://vadimkravcenko.com/shorts/falsehoods-junior-developers-believe-about-becoming-senior/
• У них есть все ответы
• Работают с самыми новыми технологиями
• Не работают над скучными задачами
• Делают большие изменения
• У них есть время отдохнуть
• Они решают, что делать
• Они незаменимы
Статья: https://vadimkravcenko.com/shorts/falsehoods-junior-developers-believe-about-becoming-senior/
История любви или как мы «взломали» телеграмм бота анонимных вопросов
В нашем телеграмм блоге мы пообещали написать статью о том, какие есть уязвимости у телеграмм ботов и как от них защищаться. Один из таких способов оказался открытый вид данных кнопки, отвечающая за ответ на анонимное сообщение. Наша статья будет о том, как нам разбили сердце и о том, как обычная кнопка может стать главным фактором деанона.
Статья: https://habr.com/ru/articles/796081/
В нашем телеграмм блоге мы пообещали написать статью о том, какие есть уязвимости у телеграмм ботов и как от них защищаться. Один из таких способов оказался открытый вид данных кнопки, отвечающая за ответ на анонимное сообщение. Наша статья будет о том, как нам разбили сердце и о том, как обычная кнопка может стать главным фактором деанона.
Статья: https://habr.com/ru/articles/796081/
Хабр
История любви или как мы «взломали» телеграм бота анонимных вопросов
В нашем телеграм блоге мы пообещали написать статью о том, какие есть уязвимости у телеграм ботов и как от них защищаться. Один из таких способов оказался открытый вид данных кнопки, отвечающая за...
Проектируем системный дизайн Spotify
Это вопрос для собеседования по проектированию систем, в котором вам предстоит спроектировать Spotify. Обычно на реальном собеседовании вы сосредоточитесь на одной или двух основных функциональных возможностях приложения, но в этой статье я хотел бы сделать общий обзор того, как вы будете проектировать такую систему, а затем вы сможете углубиться в каждую отдельную часть, если потребуется.
Статья: https://apptractor.ru/develop/proektiruem-sistemnyy-dizayn-spotify.html
Это вопрос для собеседования по проектированию систем, в котором вам предстоит спроектировать Spotify. Обычно на реальном собеседовании вы сосредоточитесь на одной или двух основных функциональных возможностях приложения, но в этой статье я хотел бы сделать общий обзор того, как вы будете проектировать такую систему, а затем вы сможете углубиться в каждую отдельную часть, если потребуется.
Статья: https://apptractor.ru/develop/proektiruem-sistemnyy-dizayn-spotify.html
👎2👍1
Простая техника для создания более надежного программного обеспечения
Чтобы создать более надежное программное обеспечение, вам нужно научиться исследовать несчастливые пути.
Вот пошаговый процесс, как это сделать.
1. Откройте пустой документ
2. Представьте себе сценарии отказа
3. Для каждого случая отказа придумайте решение.
4. Определите приоритет наиболее вероятных отказов и сделайте исправления.
В этом посте представлен подробный обзор процесса выполнения этой задачи.
Статья: https://roughlywritten.substack.com/p/a-simple-technique-for-more-reliable
Чтобы создать более надежное программное обеспечение, вам нужно научиться исследовать несчастливые пути.
Вот пошаговый процесс, как это сделать.
1. Откройте пустой документ
2. Представьте себе сценарии отказа
3. Для каждого случая отказа придумайте решение.
4. Определите приоритет наиболее вероятных отказов и сделайте исправления.
В этом посте представлен подробный обзор процесса выполнения этой задачи.
Статья: https://roughlywritten.substack.com/p/a-simple-technique-for-more-reliable
Инжиниринг больше про людей, чем про технологии
Многие инженеры недооценивают важность навыков общения с людьми. Они начинают изучать программирование и полагают, что будут просто кодить весь день и им не придется ни с кем общаться. На самом деле все обстоит иначе. Инженерное дело - одна из самых дружелюбных сфер деятельности. Все дело в хорошем сотрудничестве, согласованности, командной работе и помощи друг другу.
Статья: https://newsletter.eng-leadership.com/p/engineering-is-more-about-people
Многие инженеры недооценивают важность навыков общения с людьми. Они начинают изучать программирование и полагают, что будут просто кодить весь день и им не придется ни с кем общаться. На самом деле все обстоит иначе. Инженерное дело - одна из самых дружелюбных сфер деятельности. Все дело в хорошем сотрудничестве, согласованности, командной работе и помощи друг другу.
Статья: https://newsletter.eng-leadership.com/p/engineering-is-more-about-people