Продолжение рассказа про разработку pet-проекта о кафе и коворкингах на солнечном Кипре. "Рабочие места" для цифровых кочевников ヽ(。_°)ノ
В первой части я рассказал про REST API микросервис, теперь - про фронтэнд-сайт.
Разработчик мобильных приложений.
Продолжение рассказа про разработку pet-проекта о кафе и коворкингах на солнечном Кипре. "Рабочие места" для цифровых кочевников ヽ(。_°)ノ
В первой части я рассказал про REST API микросервис, теперь - про фронтэнд-сайт.
Во многих мобильных и веб-приложениях требуется создать чаты. Мы говорим не о надоевших всплывашках для общения с оператором: обычно они предоставляются As a service и подключаются одной строчкой кода. Речь идет о полноценных чатах, в том числе групповых, где пользователи могут общаться между собой, отправлять медиа, использовать видеозвонки.
Сегодня среда. Просыпаюсь в утром от будильника. Некоторые дни сразу начинаются с рабочих звонков, и все планы на день приходится спешно переигрывать, но пока что все спокойно. Я выхожу на улицу подмосковного Королева в прекрасное солнечное утро. Да, мой город называется в честь легендарного конструктора Сергея Королева. Совпадение или нет, но я также посвятил свою жизнь космической разработке. Каково это? Попробую рассказать.
У нас есть задача постоянно компилировать тонны плюсового кода. Наш проект — почти 200 000 cpp- и h-файлов, множество Git-веток, сотни разработчиков, десятки билд-агентов: его нельзя единожды скомпилировать, приходится перекомпилировать постоянно, параллельно, разные версии.
Наш проект необычный. Потому что эти 200 000 файлов — это результат автогенерации. Потому что пишем мы на PHP, а потом через KPHP все PHP-исходники превращаются в плюсы. Именно так разрабатывается бэкенд ВКонтакте.
Компилировать тысячи объектников долго. Локально это занимает много часов. Мы использовали distcc — но всё равно медленно. Мы даже пропатчили distcc для поддержки precompiled headers — но даже тогда медленно. И решили написать своё — чтоб стало, наконец, быстро.
В итоге мы написали замену distcc — компилятор nocc. Он не имеет никакого отношения к PHP и даже к KPHP, а просто предназначен для компиляции .cpp → .o в промышленных масштабах.
Это техническая статья про параллелизацию, демоны и специфику С++. Ссылки на GitHub и видео приложу в конце статьи.
Последние несколько месяцев изо всех щелей лезут рекламные предложения купить жилье в ипотеку с нулевой процентной ставкой. Разбираемся в цифрах, насколько это выгодная тема (ответ, возможно, вас удивит), и почему Эльвира Набиуллина недовольна вот этим всем.
Привязанные к доллару стейблкоины для многих эмигрантов стали чуть ли не главным средством перевода своих денег в неблокируемое и незамораживаемое состояние и вывоза их из РФ. В этом гайде мы разберем нюансы и риски всех основных способов легального приобретения крипты в России.
Была тут одна замечательная история – пермский юрист Василий Черепанов отсудил у представительства Lenovo десятикратную стоимость за бракованный ноутбук.
С одной стороны, дело попахивает потребительским экстремизмом. С другой, человек год просидел без оплаченной покупки, изрядно побегал по всевозможным инстанциям, ну и вовсю ощутил на себе «заботу» производителя о потребителях. Те, кому «посчастливилось» столкнуться с подобной «заботой», наверняка уже воскликнули, мол, молодец парень, отомстил за всех.
Далее – интервью с Василием Черепановым с подробностями его «ноутбучной» истории и всевозможными юридическими моментами и судебными и досудебными тонкостями. Некий ликбез по «Закону о защите прав потребителей». Если вы с ним не особо знакомы, то будет интересно.
Всем ведь приходилось заниматься улучшением производительности? Для игр особенно актуально, ну может какая-то три-в-ряд не страдает этим. Как обычно серебряной пули нет, начинаем со структур данных, алгоритмов, спускаемся ниже если не помогает, придумываем SoA, AoS шаблоны. Если проблема не решается, подтягиваем профайлеры и предметно разбираем узкие места, но все чтобы мы не делали зачастую таким узким местом всегда будет "железо". Можно сколько угодно оптимизировать другие места, но CPU c его гигагерцами будет простаивать 90% времени если его неправильно "кормить" данными. Одной (только одной из проблем) проблемой организации эффективной работы с данными будет меньше, если знать и уметь работать с кэшами разных уровней. Тут на вики описано, как "на пальцах" быстренько убить перф на обходе массива, простого и общего решения для такого обхода нет. Можно и дальше увеличивать размер кэша, что собственно и делают (гдето здесь на хабре была новость, что Интел при переходе на L1 кэш размером 32кб, заново спроектировал блок доступа к нему, сорян не нашел ссылку), но это дорого, неэффективно на масштабах современных процов, и всегда найдутся данные, которые этот кэш отравят, опять. Интересно как починить? го под кат...
Наконец-то я смог протестировать DALL-E. И я могу заверить вас, что невозможно сгенерировать профессиональные и пригодный изображения из текстового описания. Вот мои попытки заниматься творчеством с помощью нейросети.
Я профессиональный иллюстратор и художник-раскадровщик уже десять лет, работаю в основном в рекламной сфере и кино. Я был очень напуган, начав читать все эти статьи о DALL-E и Midjourney, в которых говорилось, что ИИ отнимет мою работу иллюстратором. Но когда я ознакомился с тем, как работают нейросети, то стал более скептически к этому относиться. Поэтому я зарегистрировался в очереди и, наконец, получил возможность самому ими воспользоваться, чтобы посмотреть, получится ли у меня воспроизвести с помощью искусственного интеллекта то, чем я зарабатываю на жизнь.
Это руководство описывает развёртывание HTTPS-прокси с помощью dumbproxy на практически любом Linux-сервере. Потребуется только curl и рутовый доступ.
В прошлое воскресенье 4 сентября я обнаружил, что GitHub-организация DigitalDesignSchool, в которой я являюсь одним из владельцев, забанена Гитхабом с формулировкой "ваш аккаунт может быть предметом американских экономических санкций".
Пораскинув мозгами и посовещавшись с моим приятелем, основателем московского интернет-провайтера RiNet Сергеем Рыжковым, у которого в тот же день забанили счет в Ситибанке в Лондоне, я решил: нужно бороться.
Привет. Прошло уже почти полгода как я сделал новостной агрегатор каналов в Телеграме с открытым исходным кодом. Краткую статью про него можно прочитать на VC. Здесь же я бы хотел поделиться некоторыми интересными вещами, которые я нашёл в данных за всё время работы агрегатора.
Дисклеймер 1: многое из этого отчёта может показаться политизированным. Но здесь я не делаю никаких выводов про то, кто прав, а кто виноват; кто грязный пропагандист, а кто носитель священной истины.
Дисклеймер 2: это не руководство по визуализации данных средствами Plotly и PyVis. В самой статье я не привожу никакого кода и не объясняю, почему он устроен именно так. При этом Colab с кодом открыт, и примеры оттуда вполне можно использовать.
Google Colab: ссылка на ноутбук
Что такое WiFi-флешка? Это флешка, которая опознается, как флешка, пахнет, как флешка, крякает, как флешка, но на самом деле никакая она не флешка, она эмулирует файловую систему, а данные берет по WiFi с сервера.
Привет, Хабр!
Прошло лет 20 с выхода “первой русской ММОРПГ” Сферы, большинство ресурсов мертвы, база данных по игре доступна только частями в вебархиве, форумы закрыты, онлайн полтора человека. Самое время разбираться, как она устроена, правда?
В этой и следующих частях: отвяжем клиент от лончера, научимся логиниться в игру, показывать и редактировать список персонажей, входить в игровой мир в нужных координатах, создавать и перемещать объекты и генерировать для игрока рабочий стартовый данж. В результате получится небольшой эмулятор, в который уже можно будет поиграть. Полный будет готов когда-нибудь, наверно.