Как стать автором
Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Энергетика Будущего: Как искусственный интеллект помог разработать батарею с 70%-ной экономией лития

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 1.4K

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

Потенциальный поиск альтернатив занял бы годы кропотливых исследований и тестирования миллионов вариантов новых материалов. Однако команда под руководством Нейтана Бейкера из Microsoft смогла решить эту задачу всего за несколько месяцев, опираясь на мощь искусственного интеллекта. Им удалось разработать опытный образец батареи с содержанием лития на 70% меньше относительно ряда альтернатив.

Методы, использованные в работе, являются передовыми с точки зрения инструментов машинного обучения, а результаты приятно впечатляют.

Давайте вместе окунемся в процесс исследования!

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 9

Новости

Сказ о том, как я за год решил более 600 leetcode задач

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 3.2K

Всем салют!

Хочу рассказать вам историю о том, как я начинал с уровня — «не могу решить даже 1 easy задачу из 10» до уровня — «могу решить каждую вторую medium задачу» и прошел несколько coding сессий в таких компаниях как Meta, Booking, Careem, Avito...

Читать далее
Всего голосов 16: ↑14 и ↓2 +12
Комментарии 20

Где бесплатно изучать Rust в 2024

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 4K

В 2024 году Rust остается одним из наиболее востребованных и перспективных языков программирования. Вот несколько причин, почему учить Rust может быть полезно:

1. Безопасность: Rust разработан с упором на безопасность, предотвращая многие типичные ошибки программирования, такие как доступ к памяти после ее освобождения или гонки данных. Это особенно важно для разработки критически важных систем, таких как операционные системы или встраиваемые приложения.

2. Производительность: Rust обеспечивает высокую производительность благодаря своей системе управления памятью и эффективной компиляции. Он позволяет писать быстрый и эффективный код, что делает его привлекательным для разработки высоконагруженных систем или игр.

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

4. Кроссплатформенность: Rust поддерживает различные платформы, включая Windows, Linux, macOS и другие. Это позволяет разрабатывать приложения, которые могут работать на разных операционных системах без необходимости переписывать код.

5. Растущее сообщество: Rust имеет активное и одно из самых быстрорастущих сообщество разработчиков. Это означает, что всегда есть доступ к обновленным библиотекам, учебным материалам и помощи от опытных разработчиков.

6. Востребованность на рынке труда: Rust становится все более популярным среди работодателей, особенно в области разработки системного и встраиваемого программного обеспечения. Умение программировать на Rust может открыть двери к новым возможностям и повысить вашу конкурентоспособность на рынке труда.

Читать далее
Всего голосов 15: ↑9 и ↓6 +3
Комментарии 22

#Net

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 676
image

Oчень добрый день. Меня зовут Тимур и я программист.

В прошлой своей статье я вкратце описал как можно внести минорные правки в код хромиума, собрать его и подтянуть в собственную сборку электрона. Статья имела оглушительный успех и вызвала бурные дебаты (34 комментария знаете ли) и, как только головокружение от успеха прошло, я немедленно бросился писать следующую. Собственно не прошло и трех лет (всего два так то) и вот она готова. Давайте взглянем.
Читать дальше →
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 0

Истории

Сжатие целых чисел

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 1.7K

Цель статьи осветить state of the art методы сжатия целых чисел, чтобы сэкономить в будущем время исследования алгоритмов и терминологии. При этом описание части алгоритмов может быть упрощено для понимания. Сравнение алгоритмов тоже находится вне рамках этой статьи. Подробнее можно почитать в ссылках.

Многие из упомянутых ниже алгоритмов используются в прикладных задачах: сжатие битмап, обратных индексов, просто массивов данных.

Читать далее
Всего голосов 12: ↑8 и ↓4 +4
Комментарии 10

Как IT-специалисты помогли выиграть суд у банка

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 4.3K

Статья о том, как в суде при помощи разработчиков удалось оспорить кредитный договор, оформленный на человека жуликами.

Автор статьи выражает благодарность разработчикам Роману и Александру. Специалисты проделали огромную и кропотливую работу, нашли выход в безнадежной (с точки зрения юристов) ситуации.

Читать далее
Всего голосов 40: ↑39 и ↓1 +38
Комментарии 20

Проблема непонимания существующего кода, или Как руководству делать не надо

Время на прочтение 7 мин
Количество просмотров 1.4K

Бывает так, что в продуктовой IT-компании выстраивается иерархия, в которой верхние уровни работников компании совершенно не понимают как производится продукт, который компания производит и продаёт. По сути руководители знают как продать, но не знают как произвести. Для производства, что логично, нанимаются исполнители с опытом. Это нормальная практика. Но дальше в зависимости от того, как выстроены процессы внутри компании могут быть проблемы. О некоторых проблемах я бы хотел написать в этой статье.

Я не имею опыта работы в компаниях, где руководители верхних уровней доверяют исполнителям нижних уровней. Может быть доверие и было, но я его не замечал. С моей стороны все действия руководства выглядели так, будто их не интересует мнение людей, которые имеют опыт в конкретной области и непосредствено работают с конкретными направлениями в компании, для которых их, собственно, наняли. Мой опыт сейчас основан только на тех компаниях, где руководство оставляет за собой принятие всех ключевых решений по продукту. Что определённо негативно сказывается на продукте, так как результат принятия решения очень сильно зависит от опыта руководства. То есть, если руководство знает только как продавать, то оно будет принимать решения имено в этом направлении.

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 11

Опыт прошивки Arduino WiFi без USB порта

Уровень сложности Средний
Время на прочтение 4 мин
Количество просмотров 1.5K

Плата Arduino Wi-Fi представляет собой составной девайс два в одном: обычный Arduino UNO (на чипе ATmega328P) и Wi-Fi модуль (ESP8266 ). Каждое из устройств имеет свой процессор, свою оперативку и свой EEPROM (энергонезависимая память). И программируется все это, соответственно, двумя скетчами, которые выполняются одновременно и независимо друг от друга.

Такая архитектура оправдана — ATMega может выполнять критические по времени задачи в то время как ESP подвисла ожидая таймаута, например при оборвавшемся TCP соединении во время сессии.

Взаимодействовать между собой устройства могут через UART интерфейс (Universal asynchronous receiver/transmitter – универсальный асинхронный приемник — передатчик). Используются 2 провода. Tx одного устройства соединяется с Rx другого и наоборот.

Также на плате есть чип CH340, это UART USB-TTL преобразователь, с одной стороны у него UART интерфейс, а с другой USB интерфейс для связи с компьютером. Для переключения соединений между устройствами используются DIP-переключатели:

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 4

Влияние ITAM на экономику замкнутого цикла в сфере ИТ

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 285

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

Читать далее
Всего голосов 1: ↑0 и ↓1 -1
Комментарии 0

Распродажа «Старый Новый год»

Время на прочтение 1 мин
Количество просмотров 1.2K
image

Добрый день, Хаброжители!

Новогодние праздники продолжаются и в честь Старого Нового года у нас для вас большая распродажа!
Читать дальше →
Всего голосов 8: ↑6 и ↓2 +4
Комментарии 0

Компьютер с 1-битным процессором: что это за девайс и зачем он нужен

Время на прочтение 3 мин
Количество просмотров 4.3K

Совсем недавно японские разработчики представили одноплатник Naoto64, который не может практически ничего из того, на что способны современные устройства. Так, у него нет привычных выводов, он умеет лишь мигать светодиодами. А процессор у девайса однобитный. Несмотря на всё это, одноплатник быстро раскупили. Так что это за новинка? Подробности — под катом.

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 12

Создаем I2C Master Controller на Verilog. Проверим работу на реальном железе

Уровень сложности Средний
Время на прочтение 22 мин
Количество просмотров 861
После того, как Я реализовал битовый контроллер I2C Master — уж очень чесались руки опробовать его в реальной задаче. Теперь можно начинать строить уровни абстракции от манипуляции отдельными битами и уже формировать полноценные транзакции, которые приводят к какому-либо действию с подчиненным устройством. Я подумал, что было бы классно сделать такую проверку своего автомата во взаимодействии с простейшей I2C 2K-bit EEPROM.

Идея простая — читаем и записываем данные по нажатию клавиш на одной из отладок с Cyclone IV, которые я рассматривал в одном из своих обзоров.

Если материал вам кажется интересным — добро пожаловать, с удовольствием и в свойственной мне манере расскажу, чего мне удалось добиться, а чего не удалось. 🙂

image


Читать дальше →
Всего голосов 23: ↑22 и ↓1 +21
Комментарии 2

Искусственный интеллект для игры Точки

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 1.7K

Кратко о правилах: игроки поочерёдно ставят точки двух цветов в перекрестия линий. Цель — окружить точки соперника замыканием вокруг них непрерывной цепи своих точек.

Читать далее
Всего голосов 21: ↑20 и ↓1 +19
Комментарии 12

Ближайшие события

Как мы решали вопрос многоязычности в боте

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 817

Русский или English? Что для бота хорошо, то разработчику работа :)

Введение

В этой статье я поделюсь своим опытом реализации многоязычности в телеграм-боте, World for Life Bot расскажу о принципах выбора языков, которыми я руководствовался, технических аспектах реализации и принятых решениях.

Постановка Задачи

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

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 12

Лучшие игровые движки 2024 для 2D разработки

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 4.2K

Defold - это бесплатный движок для создания 2D игр и других интерактивных приложений. Он разработан компанией King (известной по игре Candy Crush) и предлагает простой и эффективный способ создания кроссплатформенных проектов. 1. Язык программирования: Defold использует язык Lua для написания игровой логики. Lua - легкий и быстрый скриптовый язык, который хорошо подходит для разработки игр. 2. Редактор: Defold имеет удобный редактор, который позволяет создавать сцены, настраивать анимации, управлять ресурсами и программировать игровую логику. 3. Кроссплатформенность: Вы можете создавать игры для различных платформ, таких как iOS, Android, HTML5, Windows, macOS и Linux. 4. Работа с ресурсами: Defold предоставляет удобные инструменты для управления ресурсами, такими как изображения, звуки, шрифты и анимации. 5. Низкоуровневая оптимизация: Defold обеспечивает высокую производительность благодаря своей оптимизированной архитектуре, поэтому вам не нужно глубоко погружаться в низкоуровневые детали оптимизации. 6. Создание 3D игр: Defold ориентирован на разработку 2D игр, поэтому если вам нужно создавать 3D проекты, вам может потребоваться использовать другой движок. 7. Сложные инструменты: Defold предоставляет простые и интуитивно понятные инструменты для создания игр, поэтому вам не нужно изучать сложные системы или инструменты для работы с движком.

В целом, Defold - отличный выбор для разработки 2D игр и приложений, особенно если вам нужна кроссплатформенность и простота использования.

Читать далее
Всего голосов 15: ↑8 и ↓7 +1
Комментарии 29

Книги, о которых редко говорят

Время на прочтение 4 мин
Количество просмотров 10K

Дал ему подборку книг, он приходит месяца через два, и с порога такой сразу:
-я с друзьями не могу разговаривать.
-Ну да есть такой, недостаточек.
интервью Жака Фреско

Читать далее
Всего голосов 45: ↑43 и ↓2 +41
Комментарии 6

Быстрая установка PostgreSQL (PgAdmin 4, Adminer) на VPS

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 1.6K

Быстрая установка PostgreSQL (PgAdmin 4, Adminer) на VPS через docker.

Подключиться к своему VPS по SSH.

Для установки надо перейти на Гитхаб

Скопировать одну команду, вставить в терминале и запустить.

Команды скачает bash скрипт, сделает его исполняемым и запустит его.

После ответить на пару вопросов и все готово.

Читать далее
Всего голосов 13: ↑3 и ↓10 -7
Комментарии 4

Работа с ETH, BSC, TRX кошельками на сервере NodeJS — отправка транзакций, получение баланса, генерация мнемоники

Время на прочтение 14 мин
Количество просмотров 962

Удивительно, как мало готовых решений для работы с крипто-кошельками на серверной стороне. А конкретно для таких базовых задач, как: отправка самой монеты, отправка токенов, получение баланса, подпись транзакций.

Опытные - ничего нового в этой статье не найдут, но она будет полезна тем, кто ради базовых функций не хочет штудировать документацию tronweb, web3 и прочих библиотек для работы с криптомиром. По сути - я просто хочу собрать в одном месте полезные кусочки кода.

Читать далее
Всего голосов 6: ↑3 и ↓3 0
Комментарии 3

Кто будет после нас

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 3.6K

Да, наши дети взрослеют, становятся старше и встает вопрос - кем они будут и какие знания мы им можем передать.

решили мы с сыном написть Telegram бот...
Всего голосов 17: ↑9 и ↓8 +1
Комментарии 11

Погружение в мир адаптивной верстки с Flutter

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 2.8K

Я Магин Максим, Flutter-разработчик агентства мобильной разработки Instadev. Поговорим о таком понятии как “адаптивная верстка”. Разберем, для чего она нужна, чем отличается от других видов верстки и какие подводные камни могут встретиться при использовании.

Каждый разработчик так или иначе сталкивался с вопросом - как сделать качественный UI, который будет хорошо себя показывать на различных устройствах. Даже среди смартфонов существует большое разнообразие размеров – одни шире, другие – длиннее. Понятное дело, что для каждого устройства уникальный код не напишешь. А что делать, если среди устройств необходимо учесть еще и планшеты, где действуют уже другие правила расположения и масштабирования элементов? Есть ли универсальное решение? Но обо всем по порядку.

Для того, чтобы понять, каким образом следует выстроить процесс формирования UI приложения, для начала необходимо разобраться, какие подходы используются в принципе.

Существует 4 основных подхода к верстке: фиксированный, резиновый, адаптивный и отзывчивый. Каждый из этих подходов имеет свои плюсы и минусы. Разберем их чуть подробнее.

Фиксированный подход

Его суть  заключается в том, чтобы задать жесткие размеры и расстояния для всех элементов, отображаемых на экране. Иными словами мы “фиксируем” положение каждого виджета на экране. Преимущество очевидно – мы всегда знаем величину того или иного используемого элемента. С другой стороны, если мы возьмем устройство, которое хоть немного отличается размером от того, на котором мы производим тесты, все наши расчеты оказываются неподходящими для него: в лучшем случае, может появиться больше пустого пространства или, наоборот, элементы сильно прижмутся друг к другу, в худшем – мы получим ошибку рендеринга. Это говорит нам о том, что в чистом виде данный подход лучше не использовать.

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 1