Всем добрый день. Эта про относительно новую фичу Serialize Reference. Появилась она в 2019 версии.
Разработка
- Новые
- Лучшие
- Все
- ≥0
- ≥10
- ≥25
- ≥50
- ≥100
Новости
Как я портировал игру с VisualBasic 6 на С++, сделав её кросс-платформенной
Всем доброго времени суток! Это моя история о том, как я портировал исходный код одной фанатской Windows-игры о Марио с VisualBasic 6 на C++, и с какими трудностями я столкнулся в процессе создания порта.
Эта статья рассказывает о портировании Super Mario Bros. X, фанатской игры Эндрю Спинкса, созданную им в 2009 году, которую он затем бросил 2011 году в пользу более серьёзного и масштабного проекта в лице Terraria.
Стоит ли изучать PHP в 2021 году?
Возможно, вы слышали, что PHP — бесполезный и вымирающий язык программирования, но каковы факты?
Язык PHP является преемником проекта PHP/FI, созданного в 1994 г. Расмусом Лердорфом для отслеживания просмотров своего онлайн-резюме. Это был простой набор бинарных файлов для CGI (англ. Common Gateway Interface — «интерфейс общего шлюза»), написанных на языке C. В 1995 г. Расмус опубликовал исходный код своего проекта и призвал пользователей присоединиться к его совершенствованию.
Apollo 3.0 для работы с GraphQL в многомодульном Android приложении
Давайте рассмотрим, каким образом настроить и использовать последнюю на данный момент версию клиента apollo в многомодульном приложении под android.
Анализ статей Хабрахабр
Решила повторить исследование, сделанное в 2017 году и посмотреть, что изменилось за 5 лет. Ссылка на предыдущую статью Анализ статей Хабрахабр и Geektimes. Дизайн сайта изменился, поэтому делала все в jupyter python, а не wolfram mathematica. Далеко не все графики удалось воспроизвести заново. Получился анализ более чем 260000 статей.
KSP. Работаем с аннотациями по-новому
Всем доброго дня! С вами Анна Жаркова, ведущий мобильный разработчик компании 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 коде.
Разбор работы LVDS портов и DMA на отечественном DSP 1967ВН028
В продолжение моих заметок, посвященных разбору функционала процессора от фирмы Миландр 1967ВН28, рассмотрим способы общения с внешними устройствами. В данном процессоре есть возможности общения по следующим информационным каналам. Порты LINK (LVDS) и также имеется параллельный интерфейс, предназначенный для работы с внешней памятью. Этой заметке разберем работу с интерфейсом LINK.
Несколько технических вопросов к ДЭГ
Нет никого, кто не слышал бы о спорах вокруг электронного голосования. Претензии от оппозиции, выглядят верными, а сопротивление со стороны держателей БД, которое противоречит заявленным принципам, которые должны быть заложены в системе, выглядит как попытка скрыть правду.
Главный редактор эХО Москвы, Венедиктов, который упорно проталкивал ЭГ, и утверждает, что всё честно, и никто его ни в чём, обратном, не убедил.
Вопрос технический и интересный. И поэтому, я изучил Что же не так с ДЭГ в Москве? от Жижина. Зашёл на https://observer.mos.ru/all/ и скачал дампы базы данных, которые лежат там, PostgreSQL server и попробовал разобраться, что именно не так.
Аппроксимация синуса: полиномы Чебышёва vs. ряды Маклорена
В комментариях к моей статье про быстрое вычисление синуса был задан вопрос: "А чем не устроило разложение в ряд Тейлора?"
Краткий ответ таков: хоть приближение при помощи рядов Тейлора (точнее - рядами Маклорена) и даёт меньшую ошибку при том же количестве вычислений, но оно не позволяет разбить аргумент на произвольное количество интервалов и тем самым увеличить точность вычислений.
Создание собственных RequestBody и ResponseBody
Думаю, что многие из вас сталкивались с добавлением собственных HttpMessageConverter в своём проекте. Ну или хотя бы слышали за такую возможность. Однако, возникают ситуации, когда мы хотим не только добавить свой собственный конвертер, но и создать собственную аннотацию для явного обозначения того, что тело ответа или запроса будут обработаны нестандартными способами Spring. Более того, данные аннотации могут содержать дополнительную информацию, которая потребуется вашему конвертеру.
Как вы увидите дальше, поддержка аннотации для обработки ответа перекликается с поддержкой обработки запроса. Однако, в данной статье мне хотелось бы также продемонстрировать возможность добавление поддержки нового параметра метода контроллера в ситуации, когда из одного тела запроса требуется тянуть два разных объекта.
Разворачиваем техническое интервью
Если вы хотите устроиться на работу колдуном-программистом, вам придется пройти собеседование с написанием кода на бумажке. Все инженеры периодически их проходят - иногда в качестве утреннего ритуала, вместе с аккуратным расставлением окошек терминала по астральному плану, компульсивным выполнением команды ls
во всех папках (на всякий случай, если за ночь что-либо поменялось). С теми же чувствами другие копаются в дальнем ящике на кухне, где лежат всякие отвертки, бесхозные патрубки, и прочие пластмассовые изделия - белые вороны среди бытовых принадлежностей, чье первоначальное предназначение давно забыто (а может и никогда не было известно), но о которых мы все равно вынуждены заботиться.
Сегодня мы обсудим один из типичных вопросов на таком интервью - развернуть связанный список.
Первым делом вам нужен список. Вы очищаете рабочее пространство от ненужных окон терминала, насыпаете соль в виде двух защитных скобочек и уходите в рекурсию, призывая список из бездны:
(defn cons [h t] #(if % h t))
Как я прошел путь от игрушек на Objective-C к реальным проектам на Swift в большой компании
Привет, Хабр! Когда я был ещё совсем мал и только тянулся к разработке, я тоже почитывал Хабр и не раз видел статьи, где описывался путь с нуля до оффера. Иногда это были и вовсе удивительные истории о переходе в новую профессию, читая которые словно проживаешь жизнь другого человека.
Но теперь и мне есть о чём рассказать. Сразу скажу, что этот пост вряд ли чем-то удивит людей с опытом 3+ лет, но надеюсь, мой путь поможет другим людям, которые, как и я когда-то, только смотрят в сторону программирования. Ведь все мы, когда-то были начинающими. И так, меня зовут Александр Рубцов, я iOS-разработчик и это история моего пути в разработку…
Как это сделано: Оптика для EUV/BEUV литографии
Все чаще в обсудениях, посвященных внедрению все более мелких техпроцессов изготовленя СБИС, всплывает тема рентгеновской литографии. Тема довольно сложная, и запутанная, особенно если обсуждать вопрос "кто кого родил - Cymer или ASML. Но этот пост совершенно не про историю.
Так уж получилось, что последние 20 с лишним лет я занимаюсь исследованием и изготовлением многослойных периодических покрытий, являющихся ключевым элементом многих рентгенооптических приборов, включая EUV степперы, активно внедряемые в производство. Вот об особенностях изготовления таких покрытий я и хочу рассказать.
Необычные проекты на базе Rasberry Pi: больше, чем можно себе представить
Одноплатник Raspberry Pi может использоваться и используется в самых разных проектах, как простых, так и весьма сложных. В прошлой подборке мы показывали интересные идеи, реализованные на базе этой платы.
Но проектов гораздо больше, чем может уместиться в одной подборке, поэтому мы решили сделать вторую часть. Большинство этих проектов хороши тем, что их можно повторить. Ну а если повторять не хочется, если у вас есть собственный проект на базе «малинки» — пишите в комментариях, обсудим. А пока давайте посмотрим на то, что предлагают энтузиасты.
Хранилища признаков: Сторона данных в конвейерах машинного обучения
По мере того как все больше моделей развертывается в современных конвейерах, снова и снова возникате понимание, что данные и их фичаризация** (featurization) важнее всего остального. Последнее поколение систем больших данных масштабировало ML на реальные датасеты, теперь хранилища данных быстро становятся новым рубежом для подключения моделей к данным в реальном времени
Выявляем ошибки в релизе LLVM 13.0.0
Задача коммерческих статических анализаторов выполнять более глубокий и полный анализ кода, чем компиляторы. Давайте посмотрим, что смог обнаружить PVS-Studio в исходном коде проекта LLVM 13.0.0.
«Форсайт» – история длиною в жизнь
Привет, Хабр! Меня зовут Константин Шимановский. Почти 20 лет своей жизни я работаю с российской BI-платформой «Форсайт. Аналитическая платформа», и сейчас возглавляю Департамент управления продуктами одноименной компании «Форсайт». Мы с моей командой продуктовых менеджеров, архитекторов, методологических и технологических экспертов определяем вектор развития нашей платформы и вырабатываем best-practice ее применения. Всем своим опытом мы хотим поделиться в цикле статей на Хабре. Следите за новыми публикация. Будет интересно!
В нашем первом посте мы расскажем о истории развития нашей платформы. Сразу наберитесь терпения. История у нас длинная, и статья получилась не очень короткой. Далее обещаем исправиться и будем публиковать более компактные тематические обзоры. А сейчас, если вам интересно, как ИТ-компания за несколько десятков лет прошла путь от маленькой лаборатории в университете до широкого мирового признания, как совершенствовались и развивались ее технологии, чем сейчас живет и «дышит» наша BI-платформа — добро пожаловать под кат!
Тестируем сервисы для подготовки к собеседованию
Шесть лет назад агентство Glassdoor выпустило исследование, где эксперты оценивали сложность интервью в IT-компаниях и реакцию соискателей. И неожиданно оказалось, что, чем труднее интервью, тем больше удовлетворения получает специалист от работы, если его наймут.
Кажется, рекрутеры взяли это на заметку. Собеседование любого айтишника превращается в большое количество теоретических вопросов и практических задач. Квалифицированный спец может сразу не вспомнить аргументы функций языка, что за 10 лет он использовал два раза, и те случайно.
Чтобы освежить знания, даже сеньоры часто дополнительно готовятся к техническому интервью и используют имитирующие техническую часть собеседования онлайн-программы.
К старту флагманского курса по Data Science разбираемся, действительно ли тестовые собеседования подходят для подготовки к реальным.
SAST unboxing
Мы создаем множество сложных программных продуктов и требования безопасности кода становятся все актуальнее. Автоматизация везде, в том числе и в сфере безопасности: алгоритмы говорят нам, как писать код. Очень хотелось бы иметь волшебный инструмент, который бы говорил, безопасен наш код или нет. Попробуем проверить, есть ли волшебная кнопка в мире DevSecOps. Для этого мы взяли несколько статический анализаторов кода, залили в них уязвимый код и посмотрели, что получилось на выходе.
Как пелось в песне группы Технология, “Нажми на кнопку – получишь результат, и твоя мечта осуществится”. О результатах эксперимента мы и поговорим далее.
До 11 и младше: вспомним предыдущие версии Windows
Выход Windows 11 — хороший повод вспомнить всю историю MS Windows длиной почти в 36 лет. Журналист PCMag Джон Дворак как-то пошутил, что когда Microsoft анонсировала Windows, у Стива Балмера еще были волосы (во что сложно поверить).
Так что теперь, когда на Хабре уже обсудили новую версию, давайте вспомним предыдущие. Чтобы пост не вышел слишком длинным, пришлось описывать их кратко. Но если у вас есть что добавить, смело делайте это в комментариях.
А если текст вызовет прилив ностальгии, запустить первые версии Windows можно в эмуляторе на сайте PCjs Machines. Из-за пребывания на нём был немного сорван дедлайн сдачи этой статьи.