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

Разработка

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

Опыт использования свободного ПО OSS-CAD-SUITE для программирования FPGA Gowin

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

Для программирования FPGA нужна среда проектирования. Например, при использовании микросхем ПЛИС Altera/Intel мы используем САПР Intel Quartus Prime Software. Возможно, основная ценность технологии ПЛИС даже не сами микросхемы, а программное обеспечение, которое позволяет разместить Verilog HDL / VHDL проект по логическим блокам и развести связи между ними используя заданные временные ограничения.

Возможно ли использование open source инструментов для FPGA проектирования?

Я расскажу о своем опыте использования Yosys oss-cad-suite для платы Марсоход3GW-2 на базе ПЛИС китайской компании Gowin GW1NR-LV9QN88PC6/I5. Фото платы показано выше в начале статьи.

Читать далее
Всего голосов 12: ↑15 и ↓-3+18
Комментарии5

Голопалуба: реализация технологии из сериала «Звездный путь»

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


Современный мир сложно представить без технологий, которые его наполняют. Некоторые из них малозаметны, тогда как другие приковывают к себе внимание буквально всех и каждого. Одной из таких технологий является искусственный интеллект. Данное направление объединяет в себе множество отдельных, но взаимосвязанных ветвей, одной из которых является генеративный ИИ. Основная функция такого ИИ заключается в генерации текстов, изображений или других медиаданных в ответ на запрос человека. Говоря о таком взаимоотношении между человеком и машиной, первым на ум приходит крайне популярный ChatGPT. Но его возможности хоть и велики, но не безграничны. Ученые из Школы инженерии и прикладных наук Пенсильванского университета (США) разработали систему, способную в ответ на текстовый запрос пользователя генерировать трехмерную виртуальную среду, как это делала голопалуба в сериале «Звездный путь: Следующее поколение». Как работает данная система, насколько обширны ее возможности, и где она может быть полезна? Ответы на эти вопросы мы найдем в докладе ученых.
Читать дальше →
Всего голосов 11: ↑11.5 и ↓-0.5+12
Комментарии0

Где заканчивается Flutter и начинается платформа?

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

Сердце фреймворка Flutter (который для разработчиков часто представляется только в виде набора классов на языке Dart) написано на языке С и компилируется в двоичный артефакт, известный как Flutter Engine, подключаемый к приложению и используемый из Dart-классов через механизм нативного связывания (аннотации @pragma('vm:entry-point') для вызовов из Flutter Engine в Dart, @Native и external для обращения к C++ коду во Flutter Engine из Dart).

Но в действительности Flutter Engine не имеет никакого платформо-специфического кода (при этом собран под целевую аппаратную архитектуру) и не знает, как работает платформенный event loop, как создавать потоки, на какой поверхности выполнять отрисовку сцены и не может получать информацию о действиях пользователя (касание экрана, перемещение указателя мыши, нажатие клавиш) и системных событиях. Такое архитектурное решение было сделано для того, чтобы иметь возможность запускать Flutter-приложения потенциально на любом устройстве с экраном (даже светодиодной панелью). В этой статье мы поговорим про Flutter Embedder, его роль в запуске приложения и привязке к системным event loop, а также рассмотрим сборку простого embedder для публикации Flutter приложения как VNC-сервера.

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

Как исправить изменившийся номер договора в нескольких сотнях Эксель файлов менее чем за минуту

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

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

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

Ручной способ, который состоит из использования сочетания клавиш Ctrl + H хоть и позволял сделать замену во всей книге Microsoft Excel сразу, но подразумевал что придётся открыть каждый файл по отдельности, нажимать несколько раз (под замену не только номер, но и дата) сочетания клавиш для замены, сохранять книгу Экселя, закрывать книгу, открывать новую книгу. В общем совершать множество механических действий.

Я конечно же стал думать, как можно наиболее простым для себя способом сделать это множество автозамен. Выбор сразу пал на VBA - Visual Basic для приложений. Ведь при помощи VBA можно заставить Эксель делать то, чего он не умеет по умолчанию.

Так что в этой статье хочу показать пошаговое руководство по быстрой и массовой автозамене любых данных во множестве файлах Excel с помощью сценария VBA.

VBA Excel автозамена
Всего голосов 16: ↑14 и ↓2+12
Комментарии42

Истории

Зачем Программисту Микроконтроллеров Линейная Алгебра (или Как Найти Угол Между Векторами?)

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

В программировании микроконтроллеров часто возникает задача найти угол между векторами.

Это всяческие встраиваемые системы, где есть подвижные, вращающиеся детали: PTZ камеры, поворотные платформы для радаров, турели, ветрогенераторы, солнечные панели, SDR обработка и прочее.

В данном тексте я приведу простое и понятное решение задачи вычисления угла между векторами на языке программирования Си.

Читать далее
Всего голосов 20: ↑19.5 и ↓0.5+19
Комментарии105

Сказание о static и неименованном пространстве имен для функции в C++

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

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

// Все персонажи и события вымышлены, любые совпадения случайны.

Читать далее
Всего голосов 12: ↑13.5 и ↓-1.5+15
Комментарии37

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

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

В данной статье, я рассказываю о том, как написал свой первый эзотерический язык программирования C42.

Читать далее
Всего голосов 19: ↑19.5 и ↓-0.5+20
Комментарии8

Юмористический рассказ «Как неофит познавал яваскрипт»

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

«Грусть – прекрасное чувство. Как бы я хотел погрустить. Но вся эта чепуха меня бесит» (С) Иван Бунин

Пятьдесят лет назад программистов не было в природе. А сейчас они, кажется, уже вымирают – народился «Чат Гопоты», дьявольский Devin и всё такое прочее. Но, думаю, настоящие программисты не вымрут – они просто перестанут зарабатывать деньги. Ведь до сих пор умельцы и лапти плетут – не за деньги, для души. Собственно, дальше будет история о душе программирования.

Читать далее
Всего голосов 19: ↑14.5 и ↓4.5+10
Комментарии10

Погодозависимый график систем  отопления в домах и график теплоснабжения от ТЭЦ. Причины весенних перетопов в домах

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

Как поддерживается  постоянство  температуры в помещении при радиаторном отоплении?

Для поддержания постоянной температуры в наших домах зимой требуется регулировать  мощность отопления в домах и квартирах при изменении температуры на улице.

Достигается это применением так называемого «погодозависимого графика теплоснабжения».

Так известно, что потери тепла через наружные стены и окна линейно зависят от перепада температуры между улицей и помещением.

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

Для водяных радиаторных систем отопления этот «погодозависимый график теплоснабжения» выражается в линейном графике температуры подаваемой в радиаторы воды от температуры на улице (см.рис.1.)

Такой график поддерживается в системе водяного отопления с помощью специальных систем автоматического регулирования, которые располагаются в котельной частного дома в ИЖС,  в ИТП отдельного многоквартирного дома или в ЦТП городского микрорайона.

Читать далее
Всего голосов 14: ↑12.5 и ↓1.5+11
Комментарии26

Статический анализатор подталкивает писать чистый код

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

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

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

Reflection в iOS: как посмотреть содержимое любой сущности

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

В Swift, как и во многих других языках программирования, есть возможность получать информацию о структуре объекта в Runtime. Для этого в языке есть специальный механизм — Reflection. С его помощью можно просматривать содержимое любых сущностей, не зная о них абсолютно ничего.

Меня зовут Светлана Гладышева, я iOS-разработчик в Тинькофф. Расскажу, какие возможности есть у Reflection в Swift, в чем ограничения и подводные камни. Рассмотрим его применение на примерах и узнаем, для чего его можно использовать в повседневной работе. А еще поговорим о том, как можно отключить Reflection в проекте и на что это может повлиять.

Читать далее
Всего голосов 12: ↑13 и ↓-1+14
Комментарии3

Медленная сборка кода с .NET Roslyn: как найти и устранить причину

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

.NET разработчики знают, что такое ждать сборки кода. Работать при этом невозможно: пока не увидишь, как обновится приложение, — не перейдешь к следующему шагу. А переключиться на другую задачу за это время не успеешь. Получается, если в день переписать код 5 раз, можно потерять полчаса при сборке, а то и больше.

Теперь на примере платформы автоматизации маркетинга Mindbox. Основное программное решение — это монолит на C#: несколько миллионов строк, 50 проектов, над которыми одновременно работают десятки команд. Даже сэкономленная при сборке минута выливается в кучу продуктивных человеко-часов. Поэтому, когда речь зашла о переходе всей компании на MacBook в будущем, мы решили выяснить, как это отразится на производительности.

Читать далее
Всего голосов 36: ↑39.5 и ↓-3.5+43
Комментарии25

Термоэлектрические генераторы

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров9.3K
Картинка WangXiNa, Freepik

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

Тем не менее, существует отдельный вид генераторов, которые не содержат в своём составе движущихся механических частей — так называемые «термоэлектрические генераторы».
Читать дальше →
Всего голосов 34: ↑38 и ↓-4+42
Комментарии35

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

Как обучают GPT

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

Привет, Хабр! Меня зовут Родион Уколов, я занимаюсь искусственным интеллектом в компании Friflex. Мы помогаем компаниям внедрять модели машинного обучения и развиваем свои цифровые продукты.

Может быть, вы помните статью моего коллеги о том, как решать реальные задачи с ChatGPT. В этой статье я предлагаю попробовать глубже разобраться, что из себя представляет GPT-модель и как ее обучают. 

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

Тестирование рассылок: зачем проводить и что проверять в первую очередь

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


В этой статье поговорим о том, почему важно тестировать электронные письма, какие элементы следует проверять в первую очередь и как облегчить процесс тестирования.
Читать далее
Всего голосов 16: ↑13 и ↓3+10
Комментарии0

Яндекс запустил Нейро. Рассказываем, как он работает

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

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

Меня зовут Андрей Сюткин, и я отвечаю за ML-трек в Нейро. В этой статье покажу, как выглядит архитектура Нейро и как формируются ответы на технологическом уровне. Ну и, конечно же, поговорим о нейросетях, в том числе о YandexGPT 3, без обучения которых новый сервис просто не увидел бы свет.

Читать далее
Всего голосов 89: ↑88.5 и ↓0.5+88
Комментарии142

Графика древности: пятая волна. Аутсайдеры и современность (часть 4/4)

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

В предыдущих частях этого лонгрида мы узнали всё про лидеров пятого поколения игровых консолей и про параллельную реальность 3D-ускорителей на персональных компьютерах. Казалось бы, тема исчерпана. Но не спешите расслабляться. В заключительной, самой объёмной части статьи мы узнаем многое про аутсайдеров поколения, а также о современном наследии, которое оставила после себя пятая волна.
Читать дальше →
Всего голосов 46: ↑53.5 и ↓-7.5+61
Комментарии4

Денежный вопрос: обсуждаем затраты на Bug Bounty с Лукой Сафоновым

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

Награда за обнаружение багов разного уровня зависит от сектора и типа уязвимости. Активнее всего с программами Bug Bounty работают IT-компании, онлайн-сервисы, сфера услуг, торговля, финансовые организации и блокчейн-проекты. Средняя сумма вознаграждения может составить: 

критический уровень опасности — $40 000;
высокий уровень опасности — $20 000;
средний уровень опасности — $5000;
низкий уровень опасности — $0.

В одной из статей мы уже писали, что Bug Bounty — это не разовая услуга, которую можно приобрести и забыть, как в случае с пентестом. Компании должны понимать, что внедрение, поддержка и развитие этой практики обойдутся им недешево. Так, средняя стоимость годовой подписки на услуги платформ Bug Bounty начинается с $16 000 за рубежом и стартует с 600 000 ₽/год в России.

Мы решили поговорить с Лукой Сафоновым, чтобы узнать, могут ли компании сэкономить на Bug Bounty, и не потерять в эффективности программ. Вот, что из этого получилось.

Читать далее
Всего голосов 16: ↑16.5 и ↓-0.5+17
Комментарии2

Безопасность в Docker: от правильной настройки хоста до демона

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

Привет, Хабр! Меня зовут Эллада, я специалист по информационной безопасности в Selectel. Помогаю клиентам обеспечивать защиту инфраструктуры и участвую в разработке новых решений компании в сфере ИБ. И сейчас я начала больше погружаться в тему разработки и изучать лучшие практики по обеспечению безопасности приложений.

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

Сегодня сложно представить современное приложение без технологий контейнеризации. Поэтому я решила подробно изучить вопросы безопасности в этом направлении и собрала рекомендации, как лучше подойти к работе с Docker-платформой. Подробности под катом!
Читать дальше →
Всего голосов 53: ↑57 и ↓-4+61
Комментарии2

Терминал для работы с COM-портом TerminalTMB

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

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

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