IT Insights
661 subscribers
769 photos
4 videos
3 files
1.07K links
Новости разработки, технологий, немножко науки и техники
Download Telegram
Люди не понимают ООП

Похоже, многим не нравится объектно-ориентированное программирование. Первое, что приходит в голову, когда слышишь эту трёхбуквенную аббревиатуру — это пример с автомобилем, наследование, геттеры, сеттеры и ObjectFactoryFactorySingleton.

Мне это всегда казалось довольно странным. Мне не только нравится ООП, я ещё и считаю, что часто это лучший/наиболее очевидный способ моделирования задачи. И я расскажу, почему.

Статья: https://habr.com/ru/companies/ruvds/articles/792052/
😐2👍1
На помойку? Никак нет! Пишем нативные приложения для дешевых китайских телефонов

Если сейчас приехать в пункт приема металлолома, то можно обнаружить просто огромные кучи различных телефонов и прочих электронных «отходов», которые стоят под открытым небом и ждут, когда придёт их черёд окончательного разложения. Однако при ближайшем рассмотрении выясняется, что многие девайсы оказываются полностью рабочими даже после недельного лежания под палящим солнцем и проливными дождями, а сдали их в чермет по причинам «не нужен, надоел, купил новый» и т. п. Я не считаю это правильным, ведь даже в простые кнопочные звонилки имеется возможность вдохнуть новую жизнь, если знать один интересный, но малоизвестный факт: для них можно писать нативные приложения на C и использовать железо телефона в своих целях. А это, на минуточку, как минимум: дисплей с подсветкой, вибромотор, динамик, клавиатура и GSM-радиомодуль с возможностью выхода в сеть. Сегодня мы с вами: узнаем, на каких аппаратных платформах работают китайские телефоны, какие существуют программные платформы и где взять для них SDK, а в практической части мы напишем 2D-игру с нуля, которая будет работать на многих китайских кнопочниках.

Статья: https://habr.com/ru/companies/timeweb/articles/791072/
👍1
Я разработал куб, который балансирует стоя на углу

Этот куб может балансировать на углу и одновременно контролируемо вращаться вокруг своей оси. Для этого он использует умные элементы управления и набор из трех реактивных колес. Я решил решить задачу по созданию такого устройства самостоятельно. Несмотря на то, что идея не нова, предыдущие работы были в основном с закрытым исходным кодом. Я все разработал с нуля и открыл результаты на GitHub.

Статья: https://willempennings.nl/balancing-cube/
🔥3👍1
Список чтения по распределенным системам

Этот документ содержит различные ресурсы и краткие определения многих данных, лежащих в основе распределенных систем. Он не является полным, хотя и довольно подробным. Я написал его в 2019 году, когда коллеги попросили список литературы, и я собрал то, что мне показалось достойным обзором основ и концепций распределенных систем.

Поскольку недавно меня снова попросили предоставить ресурсы, я решил поместить этот текст в свой блог. Я снова проверил ссылки и заменил те, которые сломались, архивными или другими, но не искал альтернативных источников, когда старые ссылки работали, и не тратил время на добавление нового материала, который мог быть опубликован с тех пор.

Эта книга предназначена для использования в качестве краткого справочника для понимания различных дискуссий о distsys, а также для знакомства с общим пространством и возможностями, которые существуют вокруг этой среды.

Список: https://ferd.ca/a-distributed-systems-reading-list.html
🔥1
AI Pixel Art Generator

Генератор пиксель-арта.

Сайт: https://pixel-art.ai/
🔥2
Chat with RTX от NVIDIA позволяет запускать генеративные модели на ПК

Компания 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/
Шпаргалка для алгособеса — алгоритмическая сложность, структуры данных, методы сортировки и Дейкстра

Так уж повелось, что любой уважающий себя работодатель перенимает передовые^✻ методики FAANG — по этой причине практически во всех IT-собесах есть она: секция алгоритмов. Кто-то ей рад, кто-то не очень, но секция есть и уходить пока не планирует. Поэтому нужно закатать рукава и достойно встретить суровую реальность.

Статья: https://habr.com/ru/articles/794556/
Castle Game Engine

Кроссплатформенный (десктопы, мобильные устройства, консоли) 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
Формулы для оптических настроек: как придать фигурам одинаковый визуальный вес

Дизайнеры обычно вручную изменяют или двигают элементы до тех пор, пока они не окажутся на своих местах и не станут выглядеть нормально. Такой процесс называется «оптической регулировкой» или «оптическим выравниванием». Суть в том, что вы не можете полагаться на простые цифры — совпадение ширины и высоты двух объектов не означает, что они будут иметь одинаковый визуальный вес. Инстинкт хорош, но исполнение, на мой взгляд, не всегда отличается точностью. На цифры можно положиться, если используется правильный расчет.

Статья: 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/
Как стать -10х инженером

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
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
Ложные представления Junior-разработчиков о том, что значит быть Senior-ом

• У них есть все ответы
• Работают с самыми новыми технологиями
• Не работают над скучными задачами
• Делают большие изменения
• У них есть время отдохнуть
• Они решают, что делать
• Они незаменимы

Статья: https://vadimkravcenko.com/shorts/falsehoods-junior-developers-believe-about-becoming-senior/
История любви или как мы «взломали» телеграмм бота анонимных вопросов

В нашем телеграмм блоге мы пообещали написать статью о том, какие есть уязвимости у телеграмм ботов и как от них защищаться. Один из таких способов оказался открытый вид данных кнопки, отвечающая за ответ на анонимное сообщение. Наша статья будет о том, как нам разбили сердце и о том, как обычная кнопка может стать главным фактором деанона.

Статья: https://habr.com/ru/articles/796081/
Проектируем системный дизайн Spotify

Это вопрос для собеседования по проектированию систем, в котором вам предстоит спроектировать 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
Инжиниринг больше про людей, чем про технологии

Многие инженеры недооценивают важность навыков общения с людьми. Они начинают изучать программирование и полагают, что будут просто кодить весь день и им не придется ни с кем общаться. На самом деле все обстоит иначе. Инженерное дело - одна из самых дружелюбных сфер деятельности. Все дело в хорошем сотрудничестве, согласованности, командной работе и помощи друг другу.

Статья: https://newsletter.eng-leadership.com/p/engineering-is-more-about-people