Давайте рассмотрим, каким образом настроить и использовать последнюю на данный момент версию клиента apollo в многомодульном приложении под android.
Все потоки
- Новые
- Лучшие
- Все
- ≥0
- ≥10
- ≥25
- ≥50
- ≥100
Новости
Анализ статей Хабрахабр
Решила повторить исследование, сделанное в 2017 году и посмотреть, что изменилось за 5 лет. Ссылка на предыдущую статью Анализ статей Хабрахабр и Geektimes. Дизайн сайта изменился, поэтому делала все в jupyter python, а не wolfram mathematica. Далеко не все графики удалось воспроизвести заново. Получился анализ более чем 260000 статей.
Кто реализовал обмен данными по WebRTC с помощью звука
Всем знаком тот шипящий и скрипящий звук, которым обменивались модемы dial-up во время коннекта. Сегодня эти устройства до сих пор используют в удаленных регионах планеты, однако идея подключения с помощью звука находит разве что нишевые применения. Одно из них — установка соединения по WebRTC.
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))
Анализ такой анализ. Часть 1
Как он мимо анализа пройти не смог...
Углубляем озеро в 100 раз
Давеча произошёл один весьма забавный случай. Настолько забавный, что не могу не поведать.
Итак, дано: небольшое пресноводное озеро, не озеро даже – скорее огромная лужа, глубиной три с мелочью метра. Вопрос: как без смс и регистрации утопить там две буровые установки, одиннадцать(!) барж и буксир? Причём без читерства, типа штормов, ураганов и прочих бедствий? Интересно? Сейчас я вам всё расскажу.
Осенью далёкого 1980 года на озере Пенёр, что в штате Луизиана, компания Wilson Brothers Corporation искала нефть по заказу компании Texaco. На дворе конец ноября, погода ясная, установка исправная, буровики опытные — ну что может пойти не так? Поэтому, когда утром двадцатого бур заклинило на глубине трёхсот семидесяти метров, никто не мог и предположить, во что это в итоге выльется.
Как я прошел путь от игрушек на Objective-C к реальным проектам на Swift в большой компании
Привет, Хабр! Когда я был ещё совсем мал и только тянулся к разработке, я тоже почитывал Хабр и не раз видел статьи, где описывался путь с нуля до оффера. Иногда это были и вовсе удивительные истории о переходе в новую профессию, читая которые словно проживаешь жизнь другого человека.
Но теперь и мне есть о чём рассказать. Сразу скажу, что этот пост вряд ли чем-то удивит людей с опытом 3+ лет, но надеюсь, мой путь поможет другим людям, которые, как и я когда-то, только смотрят в сторону программирования. Ведь все мы, когда-то были начинающими. И так, меня зовут Александр Рубцов, я iOS-разработчик и это история моего пути в разработку…
Амбициозные junior'ы идут по головам
Хочу сегодня поднять тему про джуниоров. Точнее про джуниоров, которые в силу своей неопытности после первых карьерных успехов начинают думать, что они не такие как все, что они умнее более опытных разработчиков и уже всё знают и с окружающими можно не считаться.
Если человек начинает наглеть, начинает постоянно отвлекать вас или коллег, хотя задачу он может решить самостоятельно (и его не волнует, что у вас тоже много задач и высокая нагрузка), когда приходит на работу "заниматься своими делами", начинает "высасывать энергию" из коллектива, то само собой что-то необходимо команде предпринимать.
Нейроинтерфейсы «мозг-компьютер»: фундаментальная невозможность, или…?
Недавние эксперименты учёных Гарвардского университета и инженеров Samsung по созданию нейроморфных чипов вновь напомнили о старой идее: можно ли соединить человеческий мозг и компьютер напрямую? Примерно как в классике киберпанка, «Нейроманте», «Матрице» и «Ghost in the Shell»: всовываешь в имплантированный разъём штекер, и заходишь в компьютерную сеть мозгом, без посредства глаз и пальцев. Откуда скачиваешь, скажем, умение ездить на скейтборде и разговаривать на языке маори.
Два с половиной года тому назад мы с Полиной Нескучной тоже заинтересовались вопросом хотя бы теоретической возможности выучить кун-фу или управление вертолётом, загрузив его «прямо в мозг». Поэтому взяли для портала Warhead.su интервью о перспективах нейроинтерфейсов, brain-computer interface (BCI): у молекулярного биолога Ирины Якутенко, нейробиолога Светланы Ястребовой, и конгитивиста, популяризатора науки Аси Казанцевой. С ним можно ознакомиться по ссылке тут.
Ну а я вкратце перескажу то, к каким выводам тогда пришли специалисты – и добавлю некоторое количество появившейся с тех пор новой информации.
Как это сделано: Оптика для EUV/BEUV литографии
Все чаще в обсудениях, посвященных внедрению все более мелких техпроцессов изготовленя СБИС, всплывает тема рентгеновской литографии. Тема довольно сложная, и запутанная, особенно если обсуждать вопрос "кто кого родил - Cymer или ASML. Но этот пост совершенно не про историю.
Так уж получилось,что последние 20 с лишним лет я занимаюсь исследованием и изготовлением многослойных периодических покрытий, являющихся ключевым элементом многих рентгенооптических приборов, включая EUV степперы, активно внедряемые в производство. Вот об особенностях изготовленя таких покрытий я и хочу рассказать.
Ася Казанцева: как мыслеблуждание и прокрастинация влияют на память и инсайты
Недавно Ася Казанцева выступила с лекцией «Не забудьте побездельничать». Привожу 10-минутный конспект со ссылками на оригинальные исследования, чтобы можно было принять решение, стоит ли тратить 2 часа на полный просмотр лекции.
- Думать над творческой задачей в ванной так же эффективно, как и на рабочем месте, а в кровати — еще в два раза эффективнее.
- 47% времени мы думаем не о том, чем заняты.
- Мыслеблуждание не делает людей счастливее. Фокусируешься на деле = более счастлив.
- Подсознательное восприятие: когда слепые огибают препятствия или когда мы принимаем решения на основе предпороговых сигналов.
- Как картинки голых людей влияют на выбор.
- Польза и вред прокрастинации. Академические исследования.
- Способы хакнуть прокрастинацию. Новый комп без соцсетей, влюбиться, лайвстримить.
Необычные проекты на базе Rasberry Pi: больше, чем можно себе представить
Одноплатник Raspberry Pi может использоваться и используется в самых разных проектах, как простых, так и весьма сложных. В прошлой подборке мы показывали интересные идеи, реализованные на базе этой платы.
Но проектов гораздо больше, чем может уместиться в одной подборке, поэтому мы решили сделать вторую часть. Большинство этих проектов хороши тем, что их можно повторить. Ну а если повторять не хочется, если у вас есть собственный проект на базе «малинки» — пишите в комментариях, обсудим. А пока давайте посмотрим на то, что предлагают энтузиасты.
Хранилища признаков: Сторона данных в конвеерах машинного обучения
По мере того как все больше моделей развертывается в современных конвейерах, снова и снова возникате понимание, что данные и их фичаризация** (featurization) важнее всего остального. Последнее поколение систем больших данных масштабировало ML на реальные датасеты, теперь хранилища данных быстро становятся новым рубежом для подключения моделей к данным в реальном времени
Выявляем ошибки в релизе LLVM 13.0.0
Задача коммерческих статических анализаторов выполнять более глубокий и полный анализ кода, чем компиляторы. Давайте посмотрим, что смог обнаружить PVS-Studio в исходном коде проекта LLVM 13.0.0.
Зона Златовласки: климатическая техника HIPER для умного дома
Недавно к нам в Мэдроботс приехали на тест новинки климатической техники HIPER. Мы любим проверять товары в деле, поэтому провели в компании этих гаджетов пару недель: увлажняли воздух, очищали воздух, остужали и нагревали. А еще — наблюдали за погодой.
По вопросу, насколько полезны «мозги» всяким вентиляторам, мнения в команде разделились. Этим летом кое-кто держал на столе умные увлажнители, но, честно признаемся, в офисе висят обычные кондиционеры с пультом. Что не мешает нам ценить инновации и мечтать о будущем. Только представьте, вся техника умная — и угадывает ваши желания на лету. И больше не надо спорить, сколько градусов выставить на кондиционере — алгоритм уже все рассчитал.