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

Разработка

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Новости

Как я портировал игру с VisualBasic 6 на С++, сделав её кросс-платформенной

C++ *Разработка игр *Игры и игровые приставки
Из песочницы

Всем доброго времени суток! Это моя история о том, как я портировал исходный код одной фанатской Windows-игры о Марио с VisualBasic 6 на C++, и с какими трудностями я столкнулся в процессе создания порта.

Эта статья рассказывает о портировании Super Mario Bros. X, фанатской игры Эндрю Спинкса, созданную им в 2009 году, которую он затем бросил 2011 году в пользу более серьёзного и масштабного проекта в лице Terraria.

Читать далее
Всего голосов 17: ↑17 и ↓0 +17
Просмотры 1.4K
Комментарии 3

Стоит ли изучать PHP в 2021 году?

Блог компании OTUS PHP *Программирование *
Перевод

Возможно, вы слышали, что PHP — бесполезный и вымирающий язык программирования, но каковы факты?

Язык PHP является преемником проекта PHP/FI, созданного в 1994 г. Расмусом Лердорфом для отслеживания просмотров своего онлайн-резюме. Это был простой набор бинарных файлов для CGI (англ. Common Gateway Interface — «интерфейс общего шлюза»), написанных на языке C. В 1995 г. Расмус опубликовал исходный код своего проекта и призвал пользователей присоединиться к его совершенствованию.

Читать далее
Всего голосов 51: ↑5 и ↓46 -41
Просмотры 3.5K
Комментарии 20

Apollo 3.0 для работы с GraphQL в многомодульном Android приложении

Разработка под Android *

Давайте рассмотрим, каким образом настроить и использовать последнюю на данный момент версию клиента apollo в многомодульном приложении под android.

Читать далее
Рейтинг 0
Просмотры 444
Комментарии 0

Анализ статей Хабрахабр

Программирование *Алгоритмы *Визуализация данных

Решила повторить исследование, сделанное в 2017 году и посмотреть, что изменилось за 5 лет. Ссылка на предыдущую статью Анализ статей Хабрахабр и Geektimes. Дизайн сайта изменился, поэтому делала все в jupyter python, а не wolfram mathematica. Далеко не все графики удалось воспроизвести заново. Получился анализ более чем 260000 статей.

Читать далее
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 1.5K
Комментарии 9

KSP. Работаем с аннотациями по-новому

Разработка под iOS *Разработка мобильных приложений *Разработка под Android *Kotlin *
Tutorial

Всем доброго дня! С вами Анна Жаркова, ведущий мобильный разработчик компании Usetech. В феврале 2021 года компания Google анонсировали экспериментальный релиз технологии Kotlin Symbol Processing (совместима с Kotlin с 1.4.30), как более эффективную альтернативу KAPT (Kotlin Annotation Processing Tool). Она сразу привлекла внимание многих разработчиков, помышляющих о внедрении аннотаций в мультиплатформенные проекты, несмотря на рекомендации создателей не использовать ее в продакте. В сентябре вышел первый стабильный релиз, и теперь она официальна готова к работе в боевых проектах. В этой статье предлагаю рассмотреть нюансы работы с KSP как в приложениях для Android, так и Kotlin Multiplatform.

Итак, начнем с назначения. Kotlin Symbol Processing предназначена для разработки легковесных плагинов компиляции Kotlin и процессоров аннотаций. Последние нас и интересуют. По сути аннотации нужны в приложении для того, чтобы упростить работу и избавить нас от лишнего кода. Например, когда нам нужно проанализировать код для определенной цели и затем сделать какие-то действия. Либо убрать лишнюю абстракцию из приложения. Гораздо привлекательнее выглядит добавить буквально 1 команду над конкретным объектом/методом/типов, и вместо того, чтобы писать тонны бойлерплейта для каждого случая, поручить это библиотеке, которая сделает все сама.

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

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

Разбор работы LVDS портов и DMA на отечественном DSP 1967ВН028

Assembler *Программирование микроконтроллеров *
Tutorial

В продолжение моих заметок, посвященных разбору функционала процессора от фирмы Миландр 1967ВН28, рассмотрим способы общения с внешними устройствами. В данном процессоре есть возможности общения по следующим информационным каналам. Порты LINK (LVDS) и также имеется параллельный интерфейс, предназначенный для работы с внешней памятью. Этой заметке разберем работу с интерфейсом LINK.

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

Несколько технических вопросов к ДЭГ

Тестирование IT-систем *Анализ и проектирование систем *
Из песочницы

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

Главный редактор эХО Москвы, Венедиктов, который упорно проталкивал ЭГ, и утверждает, что всё честно, и никто его ни в чём, обратном, не убедил.

Вопрос технический и интересный. И поэтому, я изучил Что же не так с ДЭГ в Москве? от Жижина. Зашёл на https://observer.mos.ru/all/ и скачал дампы базы данных, которые лежат там, PostgreSQL server и попробовал разобраться, что именно не так.

Читать далее
Всего голосов 20: ↑18 и ↓2 +16
Просмотры 1.9K
Комментарии 3

Аппроксимация синуса: полиномы Чебышёва vs. ряды Маклорена

Алгоритмы *Математика *

В комментариях к моей статье про быстрое вычисление синуса был задан вопрос: "А чем не устроило разложение в ряд Тейлора?"

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

Читать далее
Всего голосов 6: ↑4 и ↓2 +2
Просмотры 1.7K
Комментарии 12

Создание собственных RequestBody и ResponseBody

Java *
Из песочницы

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

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

Читать далее
Рейтинг 0
Просмотры 1K
Комментарии 0

Разворачиваем техническое интервью

Ненормальное программирование *Lisp *Читальный зал
Перевод

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

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

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

(defn cons [h t] #(if % h t))

Читать далее
Всего голосов 10: ↑5 и ↓5 0
Просмотры 1.4K
Комментарии 2

Как я прошел путь от игрушек на Objective-C к реальным проектам на Swift в большой компании

Блог компании МТС Программирование *Разработка под iOS *Учебный процесс в IT Карьера в IT-индустрии

Привет, Хабр! Когда я был ещё совсем мал и только тянулся к разработке, я тоже почитывал Хабр и не раз видел статьи, где описывался путь с нуля до оффера. Иногда это были и вовсе удивительные истории о переходе в новую профессию, читая которые словно проживаешь жизнь другого человека.

Но теперь и мне есть о чём рассказать. Сразу скажу, что этот пост вряд ли чем-то удивит людей с опытом 3+ лет, но надеюсь, мой путь поможет другим людям, которые, как и я когда-то, только смотрят в сторону программирования. Ведь все мы, когда-то были начинающими. И так, меня зовут Александр Рубцов, я iOS-разработчик и это история моего пути в разработку…

Читать дальше
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 1.3K
Комментарии 1

Как это сделано: Оптика для EUV/BEUV литографии

Производство и разработка электроники *Научно-популярное Нанотехнологии Физика

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

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

Читать далее
Всего голосов 87: ↑87 и ↓0 +87
Просмотры 4.6K
Комментарии 29

Необычные проекты на базе Rasberry Pi: больше, чем можно себе представить

Блог компании Selectel Разработка на Raspberry Pi *Гаджеты Компьютерное железо DIY или Сделай сам

Одноплатник Raspberry Pi может использоваться и используется в самых разных проектах, как простых, так и весьма сложных. В прошлой подборке мы показывали интересные идеи, реализованные на базе этой платы.

Но проектов гораздо больше, чем может уместиться в одной подборке, поэтому мы решили сделать вторую часть. Большинство этих проектов хороши тем, что их можно повторить. Ну а если повторять не хочется, если у вас есть собственный проект на базе «малинки» — пишите в комментариях, обсудим. А пока давайте посмотрим на то, что предлагают энтузиасты.
Читать дальше →
Всего голосов 33: ↑28 и ↓5 +23
Просмотры 9.9K
Комментарии 7

Хранилища признаков: Сторона данных в конвейерах машинного обучения

Big Data *Машинное обучение *Хранилища данных *Карьера в IT-индустрии Искусственный интеллект
Перевод

По мере того как все больше моделей развертывается в современных конвейерах, снова и снова возникате понимание, что данные и их фичаризация** (featurization) важнее всего остального. Последнее поколение систем больших данных масштабировало ML на реальные датасеты, теперь хранилища данных быстро становятся новым рубежом для подключения моделей к данным в реальном времени

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 1.2K
Комментарии 1

Выявляем ошибки в релизе LLVM 13.0.0

Блог компании PVS-Studio Информационная безопасность *Open source *C++ *Компиляторы *

PVS-Studio и LLVM 13


Задача коммерческих статических анализаторов выполнять более глубокий и полный анализ кода, чем компиляторы. Давайте посмотрим, что смог обнаружить PVS-Studio в исходном коде проекта LLVM 13.0.0.

Читать дальше →
Всего голосов 41: ↑39 и ↓2 +37
Просмотры 5.2K
Комментарии 9

«Форсайт» – история длиною в жизнь

Блог компании Форсайт Data Mining *Хранилища данных *История IT IT-компании

Привет, Хабр! Меня зовут Константин Шимановский. Почти 20 лет своей жизни я работаю с российской BI-платформой «Форсайт. Аналитическая платформа», и сейчас возглавляю Департамент управления продуктами одноименной компании «Форсайт». Мы с моей командой продуктовых менеджеров, архитекторов, методологических и технологических экспертов определяем вектор развития нашей платформы и вырабатываем best-practice ее применения. Всем своим опытом мы хотим поделиться в цикле статей на Хабре. Следите за новыми публикация. Будет интересно! 

В нашем первом посте мы расскажем о истории развития нашей платформы. Сразу наберитесь терпения. История у нас длинная, и статья получилась не очень короткой. Далее обещаем исправиться и будем публиковать более компактные тематические обзоры.  А сейчас, если вам интересно, как ИТ-компания за несколько десятков лет прошла путь от маленькой лаборатории в университете до широкого мирового признания, как совершенствовались и развивались ее технологии, чем сейчас живет и «дышит» наша BI-платформа — добро пожаловать под кат!

Читать далее
Всего голосов 8: ↑5 и ↓3 +2
Просмотры 1.8K
Комментарии 2

Тестируем сервисы для подготовки к собеседованию

Блог компании SkillFactory Программирование *Учебный процесс в IT Управление персоналом *Карьера в IT-индустрии

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

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

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

К старту флагманского курса по Data Science разбираемся, действительно ли тестовые собеседования подходят для подготовки к реальным.

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

SAST unboxing

Блог компании ДОМ.РФ Информационная безопасность *Программирование *DevOps *

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

Как пелось в песне группы Технология, “Нажми на кнопку – получишь результат, и твоя мечта осуществится”. О результатах эксперимента мы и поговорим далее.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 1.1K
Комментарии 5

До 11 и младше: вспомним предыдущие версии Windows

Блог компании JUG Ru Group Анализ и проектирование систем *Разработка под Windows *История IT

Выход Windows 11 — хороший повод вспомнить всю историю MS Windows длиной почти в 36 лет. Журналист PCMag Джон Дворак как-то пошутил, что когда Microsoft анонсировала Windows, у Стива Балмера еще были волосы (во что сложно поверить). 

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

А если текст вызовет прилив ностальгии, запустить первые версии Windows можно в эмуляторе на сайте PCjs Machines. Из-за пребывания на нём был немного сорван дедлайн сдачи этой статьи.

Ностальгировать
Всего голосов 19: ↑18 и ↓1 +17
Просмотры 7.8K
Комментарии 34