Социальные сети Рунета
Четверг, 18 апреля 2024

[Перевод] Пишем API для React компонентов, часть 5: просто используйте композицию Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важен Пишем API для React компонентов,...

[Перевод] Пишем API для React компонентов, часть 3: порядок пропсов важен Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важен Пишем API для React компонентов,...

[Перевод] Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важенУ нас есть компонент переключатель...

[Перевод] Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важенЭтот пост — перевод первой статьи ...

FFI: пишем на Rust в PHP-программе В PHP 7.4 появится FFI, т.е. можно подключать библиотеки на языке C (или, например, Rust) напрямую, без необходимости писать целый extension и разбираться в его многочисленных нюансах. Давайте попробуем написать код на Rust, и используем его PHP-программе Читать дальше →

Пишем telegram-бота на python с помощью библиотеки telebot часть 2 Всем привет! Это вторая часть статьи, в которой я посвящу время запросам и серверам telegram. Если кто-то еще не видел первую часть, то рекомендую её почитать. В третьей части скорее всего будет описана работа с базами данных. Ну и если у вас опять возникли вопросы, то пишит...

Kotlin Native: следите за файлами Когда вы пишите command line утилиту, последнее, на что вам хочется полагаться, так это на то, что на компьютере где она будет запущена установлен JVM, Ruby или Python. Так же хотелось бы на выходе иметь один бинарный файл, который будет легко запустить. И не возиться слишко...

Пост-пост, мета-мета. Учимся писать на Хабр — А далеко до релиза? — Да пара вёрсток. Докатился — пишу на Хабр о том, как писать на Хабр. Хотя причины есть — я пять лет занимаюсь этим, перевидал и перепробовал кучу инструментов, так что теперь делюсь с вами самыми лучшим. Я расскажу о том, как прийти от HTML-разметки...

Deno: время Node.JS уходит? Прошло примерно 18 месяцев с внутреннего релиза Deno, вышел preview release, появилось несколько статей на Хабре, и Райан ездит по конференциям и рассказывает о нём. Однако я нигде так и не видел сколько-нибудь вдумчивого разбора этого проекта — почему-то все ограничиваются...

[Из песочницы] Generic Recycler View или как не писать шаблонный код Все мы пишем приложения и у всех нас есть списки. И самое очевидное решение это RecyclerView. Сама по себе реализация не сложна и писать гайд по RecyclerView уже не актуально. Но есть одно но. Каждый раз когда нам нужен список мы создаем класс, в нем прописываем шаблонный ме...

Пишем гибкий код, используя SOLID От переводчика: опубликовали для вас статью Северина Переса об использовании принципов SOLID в программировании. Информация из статьи будет полезна как новичкам, так и программистам с опытом. Если вы занимаетесь разработкой, то, скорее всего, слышали о принципах SOLID. О...

Должны ли строки в Python быть итерируемы? И сотворил Гвидо строки по образу C, по образу массивов символов сотворил их. И увидел Гвидо, что это хорошо. Или нет? Представьте, что вы пишете совершенно идиоматичный код по обходу неких данных с вложенностью. Beautiful is better than ugly, simple is better than complex,...

C/C++ из Python Про то как вызывать Python из C написал в прошлой статье, теперь поговорим как делать наоборот и вызывать C/C++ из Python. Раз начал писать об этом, то раскроем всю тему до конца. Тем более, что ни чего сложного здесь нет тоже. Читать дальше →

[Из песочницы] Изучая go: пишем p2p мессенджер со сквозным шифрованием Yet another P2P Messenger Читать отзывы и документацию о языке не достаточно, чтобы научиться на нем писать более менее полезные приложения. Обязательно для закрепления нужно создать что-то интересное, чтобы наработки можно было бы использовать в других своих задачах. Стать...

Lazarus — пишем компонент для анимации спрайтов Вместо предисловия В одесской школе ученики 8-го класса на уроках информатики используют бесплатную кроссплатформенную среду разработки Lazarus (официальный сайт: www.lazarus-ide.org), внешне и внутренне очень напоминающую любимый многими Delphi, использующую версию Object P...

[Из песочницы] Как не надо писать шаблоны для bootstrap Мало кто сейчас пишет дизайн сайта с нуля — зачем, если есть куча замечательных CSS фреймворков? Наиболее популярен среди них bootstrap. Тем не менее, всем хочется, чтобы сайт выглядел уникально, не так как у других — поэтому поверх часто втыкают(в меру возможностей) бесплат...

Редактор в UX: тру стори, риал лайф Привет, это Наташа, лид-редактор в UX Яндекс.Денег. Я пишу этот текст, потому что больше не могу молчать о своей работе. Раньше про нас думали, что мы копирайтеры. Пишем получше, чем менеджеры. Умеем проверять грамотность. Редактируем, чтобы стало понятнее. Убираем лишние ...

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

Решение задания с pwnable.kr cmd1, cmd2, asm, blukat. Обходим фильтрацию в Linux. Пишем shellcode с помощью pwntools В данной статье посмотрим как обойти легкий фильтр, разберемся как написать shell c помощью pwntools, а также решим несколько заданий с сайта pwnable.kr. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информацион...

[Из песочницы] Под капотом у React. Пишем свою реализацию с нуля 


В этом цикле статей мы создадим свою реализацию React с нуля. По окончании у вас будет понимание, как работает React, какие методы жизненного цикла компонента он вызывает и для чего. Статья рассчитана на тех, кто уже использовал React и хочет узнать о его устройстве, или ...

Монолит для сотен версий клиентов: как мы пишем и поддерживаем тесты Всем привет! Я бэкенд-разработчик в серверной команде Badoo. На прошлогодней конференции HighLoad я выступал с докладом, текстовым вариантом которого и хочу поделиться с вами. Этот пост будет наиболее полезен тем, кто самостоятельно пишет тесты для бэкенда и испытывает пр...

Вредные советы: как правильно писать техническую документацию? Часть третья и последняя Советы по грамотному написанию технической документации для пользователей. Часть 3 (заключительная) Заключение руководства нашего технического писателя Андрея Старовойтова, которое поможет сделать вашу пользовательскую документацию проще и понятнее. На этот раз мы попод...

[Перевод] Почему все мои игры выглядят так отстойно Мы потратили на создание этой игры несколько лет. От неё зависит будущее нашей семьи. Почему же она так ужасно выглядит? Я уже 25 лет зарабатываю на жизнь написанием инди-игр. У нас с женой есть небольшой семейный бизнес. Мы создаём низкобюджетные ролевые игры в ретро-стил...

[Перевод] Использование JavaScript-модулей в продакшне: современное состояние дел. Часть 1 Два года назад я писал о методике, которую сейчас обычно называют паттерном module/nomodule. Её применение позволяет писать JavaScript-код, используя возможности ES2015+, а потом применять бандлеры и транспиляторы для создания двух версий кодовой базы. Одна из них содержит с...

Исправляем паттерн проектирования — Singleton в PHP Недавно я писал о том, как сломать паттерн проектирования — Singleton в PHP. После написания статьи я искал новый вариант реализации паттерна: есть ли способ создать Singleton в PHP, не давая возможности создавать новые экзепляры класса с помощью Closure::bind()? Читать даль...

Как писать полиморфические программы c помощью Arrow Привет, Хабр! Меня зовут Артём Добровинский, я работаю в компании Finch. Предлагаю к прочтению статью одного из отцов библиотеки функционального программирования Arrow о том, как писать полиморфические программы. Часто люди, которые только начинают писать в функциональном...

История дизайна уровней Duke Nukem (с эскизами Левелорда) В преддверии 22-летия Duke Nukem вчера мы писали об истории игры. Сегодня поговорим о дизайне уровней официальных релизов основной серии игр Duke Nukem, не спин-офф и тем более не сторонних модификаций. По тексту тут и там разбросаны цитаты из нашего интервью с легендарным...

Биткоин и приватность — как шифропанки реализуют мечту о свободном интернете будущего Они пишут код. Их код открыт для всех и может быть использован бесплатно. Но делают они это не из альтруизма – они знают, что кто-то в этом мире должен писать код и создавать программы, помогающие защищать приватность. Они убеждены, что приватность, в том числе от государств...

[Из песочницы] Пишем блог на микросервисах – часть 2 «API Gateway» В первой части нашего цикла статей «Пишем блог на микросервисах» мы описали общий подход к решению задачи. Теперь пришла очередь API Gateway или API GW. В нашем c ptimofeev API GW мы реализуем следующие функции: Конвертация REST запросов в gRPC запросы и наоборот. Логир...

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

Avalonia первая встреча Когда мы встречаем новый язык, мы пишем «Hello word», а когда встречаем новый UI, то создаем блокнот. Здесь же я хочу показать простейший пример дружбы с корссплатформенным GUI Framework AvaloniaUI. Читать дальше →

Neural Matching: как адаптировать контент под реалии Google У поисковиков не очень с логикой, это факт. Но они стараются. А SEO-специалисты стараются в ответ — пытаются добиться предельной релевантности страниц, опираясь на догадки и эксперименты. Недавно Гугл порадовал новым фактором ранжирования — Neural Matching. Мы почитали, чт...

Бэкап для Linux не пишет писем Всем привет! Сегодня хочу поведать о том, как управлять Veeam Agent for Linux с помощью командной строки, и о том, какие возможности она открывает в умелых руках программиста. На написание статьи меня подтолкнул комментарий к предыдущей статье. Перефразирую удивление поль...

[Из песочницы] Как я делал действительно адаптивный слайдер (карусель) Доброго времени суток, уважаемые читатели и писатели! Сегодня я расскажу, как в проекте передо мной возникла задача по изготовлению адаптивного слайдера и что из этого получилось О статье и для кого она Данную статью я пишу не столько потому, что желаю получить отклик сообще...

Как мы пишем микросервисы и почему не делаем этого быстро Истории по распиливанию монолита часто похожи одна на другую. Был у команды здоровенный неповоротливый монолит, решили его распилить на россыпь правильных и шустреньких микросервисов, все стало круто. Отличаются истории лишь степенью ужаса “до”, радости “после” и рядом втор...

Учимся писать Waves смарт-контракты на RIDE и RIDE4DAPPS. Часть 2 (DAO — Decentralized Autonomous Organization) Всем привет! В первой части мы подробно рассмотрели как создавать и работать с dApp (децентрализованным приложением) в Waves RIDE IDE. Давайте сейчас немного потестируем разобраный пример. Этап 3. Тестирование dApp аккаунта Читать дальше →

[Из песочницы] Пишем простую нейронную сеть с использованием математики и Numpy Зачем очередная статья про то, как писать нейронные сети с нуля? Увы, я не смог найти статьи, где были бы описаны теория и код с нуля до полностью работающей модели. Сразу предупреждаю, что тут будет много математики. Я предполагаю, что читатель знаком с основами линейной а...

Разбор: что такое фьючерсы и как использовать их для биржевых инвестиций Изображение: Unsplash В нашем блоге мы много пишем об устройстве современных бирж и появляющихся новых инструментах инвестирования, вроде структурных продуктов, модельных портфелей или ETF. Но большой популярностью пользуются и проверенные опытом инструменты – такие как ф...

Пишем Reverse socks5 proxy на powershell.Часть 3 История об исследовании и разработке в 3-х частях. Часть 3 — практическая. Буков много — пользы еще больше Предыдущие статьи из цикла можно найти тут и здесь =) Проверка боем Давайте теперь проверим работу нашего скрипта на практике. Для этого попробуем выбросить обратный ...

[Из песочницы] Алкоголизм последней стадии Комментарий модератора. Эта статья находилась в Песочнице и была отклонена на премодерации. Но сегодня был поднят важный и сложный вопрос в статье. А этот пост раскрывает признаки распада личности и может быть полезным тем, кто, как выразился автор упомянутой статьи, в метре...

Как мы выбирали себе ServiceDesk. Часть 2 Продолжаем писать о нашем выборе системы для оцифровки бизнеса. Как все начиналось, читайте здесь Напомню: мы — сервисная компания, которая решила найти волшебную таблетку для своего бизнеса, благодаря которой «вжух» — и все бизнес-процессы пойдут складно и без перебоев. Ч...

Делаем UITableView. Для начинающих Новогодние праздники прошли, а мое стремление писать полезные и не очень статьи — нет! Сегодня поговорим о UITableView, работе с UITableViewDataSource и переиспользовании ячеек. Затронем как установить рут контроллер без сториборда, ошибки при работе с таблицей, лейаут и бол...

Управление персонажем с помощью SharedEvents Ссылка на проект В данной статье я хочу показать, как можно использовать SharedEvents для управления персонажем от третьего лица, который предлагает стандартный набор ассетов. О SharedEvents я писал в предыдущих статьях (этой и в этой). Добро пожаловать под кат! Читать да...

Как я наводил порядок в проекте, где лес прямых рук (настройки tslint, prettier, etc) И снова здравствуйте. На связи Омельницкий Сергей. Сегодня я поделюсь с Вами одной из своих головных болей, а именно — что делать, когда проект пишут много разноуровневых программистов на примере angular приложения. Так повелось, что я долгое время работал только со своей к...

Ezblock Pi — программирование без программирования, в этот раз для фанатов Raspberry Pi Идея писать код, не пиша код (да-да, пиша — деепричастие настоящего времени от глагола писать, живите теперь с этим) не раз приходила в голову и умным людям, и просто лентяям. Мечта о графическом интерфейсе, в рамках которого можно кидать одни кубики на другие, рисовать взаи...

Вокруг беты за 260 дней: как мы учились прислушиваться к пользователям Все знают: догфудить собственный продукт (ну, есть корм своей собаки – разрабатывать продукт, который сам же используешь) – это правильный во всех отношениях принцип. Работая над конструктором чатботов Aimylogic, мы в Just AI прекрасно представляли, каким он должен быть, но ...

[Из песочницы] Пишем «Hello, world!» приложение для web на Haskell (Spock) Мне стало скучно писать на Python, захотелось чего-нибудь необычного. Решил попробовать Haskell. Языка я не знаю, однако просто писать консольные учебные программы, типа вычисления факториала, не хотелось. После изучения довольно большого числа постов про Haskell и его приме...

UNI Часть№2 или комплектация. В прошлом посте я писал о выборе корпуса, а в этом будет комплектация.Начнём разбирать всё по порядку.Писать цену я не буду, потому что все смотрят в разное время и у них будет разная цена.Подробнее...

Писали API — порвали XML (два) Первый API МоегоСклада появился 10 лет назад. Всё это время мы работаем над существующими версиями API и разрабатываем новые. А несколько версий API уже успели похоронить. В этой статье будет много всего: как создавали API, зачем он нужен облачному сервису, что дает пользо...

[Перевод] Как в 1995 году писали игры для Sega Saturn Это документ, написанный мной в 1995 году, когда я работал над первой игрой студии Neversoft: Skeleton Warriors. Это была первая игра, в которой я не использовал язык ассемблера 68K. Фото сделано примерно в то время. Комплект разработчика (dev kit) («Small Box» и ICE) стоит...

Радиация: источники В предыдущем посте я рассказал о единицах измерения ионизирующей радиации. А теперь поговорим об источниках излучения. Я не буду здесь писать о «том, что не надо трогать руками» — об этом и так много написано, а я не Олег Айзон и уникальных фотографий невиданных доселе ради...

With love from Stepik: образовательная платформа Hyperskill Я хочу поговорить с вами о том, почему мы чаще чиним сантехнику, чем пишем про неё диссертации, о разных подходах к обучению программированию и о том, как мы пробуем применить один из них в нашем новом продукте Hyperskill. Если вам не по душе длинные вступления, то переходи...

[Из песочницы] Откуда растут ноги у Java Memory Model Современное железо и компиляторы готовы перевернуть с ног на голову наш код, лишь бы он работал быстрее. А их производители тщательно скрывают свою внутреннюю кухню. И все прекрасно, пока код выполняется в одном потоке. В многопоточной среде можно волей-неволей наблюдать и...

Волшебная фея для юнит-тестов: DSL в C# Как часто бывало так, что написав рабочий юнит-тест, ты смотришь на его код, а он… плохой? И ты такой думаешь: «Это же тест, оставлю так…». Нет, %username%, так оставлять не надо. Тесты — это значимая часть системы, которая обеспечивает поддерживаемость кода, и очень важно, ...

[Из песочницы] Записка frontend-архитектора #1. Нельзя просто так взять и использовать Redux Дисклеймер Уважаемый читатель! Если вы не имеете понятия, что такое React и Redux, читать дальше не имеет смысла, дальше технический бред. Я серьезно, понимание к чему эта записка, требует работы с указанными библиотеками — несмотря на то, что я постараюсь писать понятно, эт...

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

Julia. С чего начать проект?… Очень часто, при решении задач анализа и подготовки данных, пишут одноразовые скрипты, поддержка и развитие которых не предусматривается вообще. Такой подход имеет право на существование, особенно в студенческой среде. Однако, когда появляется более одного человека, работаю...

Prisma-CMS как движок для быстрого создания MVP Наверняка многие слышали понятие MVP (Минимально жизнеспособный продукт вики). На хабре тоже много статей про MVP, но в основном это или просто описание что такое MVP и для чего оно, или различные success и не очень story. Но я не нашел ни одной статьи, где бы описывалось на...

Как управлять React Data Grid через Redux Это продолжение предыдущей статьи: Зачем писать свой React Data Grid в 2019 Для чего нужен Redux? Ответов много. Например, чтобы работать с общими данными в разных React-компонентах. Но можно воспринимать Redux еще как способ манипулирования компонентой. Сам взгляд интересны...

9 лет в монолите на Node.JS Неделю назад я выступал на митапе по Node.JS, и многим обещал выложить запись выступления. Уже потом я понял, что мне не удалось вместить в регламентированные полчаса некоторые интересные факты. Да и сам я больше люблю читать, а не смотреть и слушать, поэтому решил выложить...

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

А вы все-все за меня мониторить будете? Ага Обычно Хабр используется как информационное решение — кто-то делится наработанной и структурированной информацией, а кто-то эту информацию впитывает (я хотел написать “потребляет”, но это слово маркетологи уже испоганили). Я же, на правах старожила, и учитывая легкую рассл...

Google Docs — любимый чат у школьников Как известно, текстовый редактор Google Docs допускает многопользовательскую работу, то есть несколько человек могут редактировать один документ. В том числе одновременно. Может быть кто-то не задумывался, но таким образом можно отправлять друг другу сообщения в реальном р...

Не создавайте собственный ЯП (DSL) для расширения функционала приложения Когда вы хотите дать пользователю возможность писать плагины для своего приложения, вы встаете перед выбором того, как предоставлять API. Под катом я покажу, почему худшим решением для этого будет изобретение собственного языка программирования и парсинг исходников, а также ...

[Перевод] Топ 20 навигационных фич в IntelliJ IDEA Перевод статьи подготовлен специально для студентов курса «Android-разработчик. Продвинутый курс». И хотя в данном материале речь пойдет преимущественно о Java, материал будет полезен Android-разработчикам Продолжая серию статей, в которых я освещаю основные фичи IntelliJ...

CG Pods — TWS-наушники, которые смогли Всем привет! Мы давно ничего не писали на Habr (кто-то, вероятно, сейчас с благодарностью вспомнил этот квартал), но за это время много чего потестировали, много с чем поигрались, и решили, что кому-то это может быть любопытно. И первый «пост самонадеянности» будет корот...

[Перевод] Пишем на Go простой балансировщик Балансировщики нагрузки играют в веб-архитектуре ключевую роль. Они позволяют распределять нагрузку по нескольким бэкендам, тем самым улучшая масштабируемость. А поскольку у нас сконфигурировано несколько бэкендов, сервис становится высокодоступным, потому что в случае сбоя...

[Из песочницы] Порядок в фотоархиве средствами powershell Привет, Хабр! На днях возникла типовая задача — помочь знакомой превратить гору фотографий в упорядоченную иерархию. Всё бы ничего, но гор фотографий не одна, а две — на Mac и на ноуте под Win10. В поисках решения, наткнулся на несколько сценариев для linux, а вот чего-то т...

[Перевод] Тестирование не для начинающих Я большой фанат тестирования. Я пишу об этом в блог и почтовую рассылку, я обсуждаю это c другими разработчиками в свободное время, я зашел так далеко, что даже создал обучающий курс по тестированию в Go. Но несмотря на всю мою любовь к тестированию, я не рекомендую его нов...

Конечные React Компоненты Чем мне нравится экосистема React, так это тем, что за многими решениями сидит ИДЕЯ. Различные авторы пишут различные статьи в поддержку существующего порядка и обьясняют почему все "правильно", так что всем понятно — партия держит правильный курс. Через некоторые время ИДЕЯ...

Magento 2. Monolog или как писать логи Изучая различные модули для Magento 2 можно заметить, что логирование используется значительно реже по сравнению с Magento 1. В большей степени это связано с тем, что запись логов стала сложнее. Здесь я бы хотел сконцентрироваться на технической стороне вопроса, а именно как...

Год за рулём электромобиля На самом деле я соврал. Не год, а всего 11 месяцев. Писать статью «11 месяцев за рулём электромобиля»? Дикость, конечно. Подождать и написать через месяц? За месяц могу вообще передумать писать, или поменяются обстоятельства и на статью не будет времени. Итак. Поехали (под ...

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

Привет от программистов 80-х Современных программистов можно назвать баловнями. К их услугам — мощнейшие среды разработки, множество языков программирования. А всего 30 лет назад учёные и энтузиасты-одиночки писали программы даже на калькуляторах. Осторожно, под катом много фотографий! Читать дальше ...

[Перевод] Бесплатные аккаунты на GitHub смогут [почти] без ограничений работать с приватными репозиториями Эта новость опубликована на The Next Web, с пометкой: "Из-за ошибок в планировании, мы опубликовали эту новость на день раньше снятия эмбарго на разглашение. Фича всё ещё не запущена, о ней официально расскажут завтра. Когда это произойдёт, мы обновим пост новым официальным...

Лучшая худшая работа в мире: ищем хабраавтора Какая работа может быть лучше, чем писать на Хабр о разработке? Пока кто-то готовит свой большой хабрапост урывками по вечерам, тут прямо в рабочее время делишься с сообществом интересными вещами и получаешь от него плюсы. Какая работа может быть хуже, чем писать на Хабр ...

[Из песочницы] Как я свой первый ИИ писал Привет, Хабр. История моя берёт начало в январе 2019 года. Мы с моей тимой геймдевелоперов решили взяться за самый большой проект в нашей истории- 2Д платформер. Нет, мы не делали до этого какие-нибудь FlappyBird'ы или змейки, но объём работы в этом проекте просто сносил на...

[Из песочницы] Функциональные компоненты с React Hooks. Чем они лучше? Относительно недавно вышла версия React.js 16.8, с которой нам стали доступны хуки. Концепция хуков позволяет писать полноценные функциональные компоненты, используя все возможности React, и позволяет делать это во многом более удобно, чем мы это делали с помощью классов. М...

[Из песочницы] Лучшие практики React и советы, которые каждый разработчик должен знать. Часть 1 Привет, Хабр! Представляю вашему вниманию перевод статьи «React Best Practices & Tips Every React Developer Should Know Pt.1» автора Alex Devero. React — одна из самых популярных библиотек для построения интерактивных пользовательских интерфейсов. В этой статье я пока...

[Из песочницы] Пишем простой NTP клиент Здравствуйте, хабраюзеры. Сегодня я хочу рассказать о том, как написать свой простенький NTP клиент. В основном, разговор зайдет о структуре пакета и способе обработки ответа с NTP сервера. Код будет написан на питоне, потому что, как мне кажется, лучшего языка для подобных ...

Генерация документов с помощью ONLYOFFICE DocumentBuilder Привет, Хабр. Я хочу рассказать об утилите под названием DocumentBuilder, которая позволяет генерировать документы, таблицы и презентации, а также показать, как можно его использовать для решения ваших задач, на примере создания резюме из шаблонов. Работает билдер следующи...

PHP-Watcher: инструмент, который упрощает разработку долгоживущих приложений Мы любим PHP за простоту: ты пишешь код, обновляешь страницу в браузере и сразу видишь изменения. Но если дело доходит до консольных команд, которые могут быть долгоживущими процессами, — например, если мы пишем асинхронный HTTP-сервер для загрузки файлов, — разработка мож...

[Из песочницы] Сложные базы данных О том, что объёмы данных, сложность их структуры, сложность связей между ними растут совершенно невероятными темпами, пишут на каждом заборе уже много лет. Вопрос же о том, что делать со всей этой свалкой обычно повисает в воздухе. Или, точнее, упирается в понятие «модель да...

[Перевод] Как CSS специфичность работает в браузере Многие считают CSS сложным. Они придумывают разные оправдания: не хватает способностей понимать CSS или CSS сам по себе плох. Но реальность такова, что люди просто не нашли время, чтобы действительно изучить его. Если вы читаете эту статью, значит заинтересованы в изучении C...

Тесты на Codeception для PHP-бэкендов Всем привет! Меня зовут Паша, и я QA инженер команды Order Processing в Lamoda. Недавно я выступал на PHP Badoo Meetup. Сегодня хочу представить расшифровку своего доклада. Речь пойдет про Codeception, про то, как мы его используем в Lamoda и как на нем пишем тесты. Чи...

Avalonia мои за и против Я очень много пишу про Авалонию и часто восторгаюсь этим фреймворком, но, как и у любой технологии, у нее есть свои достоинства и недостатки, о них и хотелось бы поговорить. Читать дальше →

[Перевод] Доставайте запылившиеся ручки: письмо от руки полезно для мозга Мы всё меньше пишем от руки, из-за чего упускаем пользу, которую мозг получает от письма Не так давно писать на бумаге от руки было привычным делом в повседневной жизни: мы вели различные записи и дневники, обменивались рукописными письмами с друзьями, деловыми партнерами...

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

ControlValueAccessor и contenteditable в Angular Вы когда-нибудь задумывались, как работает связка форм Angular и HTML элементов, через которые пользователь заносит данные? С самого начала для этого использовали ControlValueAccessor — специальный интерфейс, состоящий всего из 4 методов: interface ControlValueAccessor { w...

Современная религия: что людям дают Google, Facebook, Amazon и Apple? Скотт Гэллоуэй — персонаж любопытный. Достаточно послушать одну его лекцию, чтобы либо очароваться его способом думать, либо невзлюбить выскочку. Дядька создал несколько успешных бизнесов (последний экзит $155M), преподает маркетинг в NYU, пишет толковые книжки. В своей пос...

[Перевод] Новый курс по Python от Microsoft [на английском] Вероятно, самое большое препятствие при изучении любого нового языка программирования — просто знать, с чего начать. Что важно? Что нужно знать, чтобы стать профи? Трудно исследовать документы, когда даже нет уверенности, что читаешь то, что нужно. Возможно, вы присматривае...

Синхронизация моков с реальными имплементациями Проблема синхронизации моков всплывает всякий раз, когда обсуждаются тестовые стратегии. В основном — из-за дополнительной нагрузки, которую моки создают для девелоперов и а также рисков расхождения моков с реальными зависимостями. Итак, каким способом нам дешевле всего обе...

Байт-машина для форта (и не только) по-индейски (часть 4) И снова я несколько переоценил объем статьи! Планировал, что это будет заключительная статья, где сделаем компилятор и выполним тестирование. Но объем оказался велик, и я решил разбить статью на две. В этой статье мы сделаем практически все основные функции компилятора. ...

[Из песочницы] Почему мы пишем бизнес-логику на Lua Привет, Хабр. В этом посте мы хотим рассказать о том, как и почему мы в IPONWEB используем язык программирования с красивым названием Lua. Lua — скриптовый встраиваемый язык программирования со свободно распространяемым интерпретатором и открытыми исходными текстами на C. О...

[Перевод] 3 практических примера использования деструктурирования в JavaScript Пишем код чище, используя паттерны деструктурирования Вы, наверное, уже знакомы с деструктурированием в JavaScript. Оно пришло к нам в 2015 году в спецификации ES6, но если вам нужно освежить знания, то на сайте Mozilla можно почитать большую подробную статью, как это всё р...

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

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

О тендерах, тендерных закупках и формировании тендерного задания Здравствуйте. Так уж вышло, что, являясь техническим специалистом, я уже более 15 лет работаю в тесной связи с торговлей. Но это и понятно — плоха та техника, которую не хотят купить. Долгое время слово «маркетинг» вызывало у меня глубокое отвращение, поскольку ассоцииро...

[recovery mode] Почему не взлетел портал недвижимости. Часть 2 Продолжаю повествование о проекте Недвижимости, который пытался долго взлететь, но так и не взлетел. Пишу все как есть — личный опыт. Читать дальше →

Резюме того парня Друзья, нам с вами несказанно повезло. Тот парень еще не уехал, и я выпросил у него резюме. Не потому, что хочу взять его на работу — не тот я человек. Просто мне кажется, оно стоит того, чтобы быть опубликованным. Хотя бы потому, что в нем 22k букв. Вы еще где-нибудь такой ...

Деревянные игрушки — неписи Это внеочередной выпуск «деревянных игрушек» — изначально не планировал, но как-то сам собой появился. Пока писал ретроспективу игр под DOS, периодически в комментариях высказывались на тему «а почему не упомянута <игра> для <платформы>». Так потому и не упомяну...

О новых стандартах C++ Сегодня у меня довольно короткий пост. Я бы его и не писал, наверное, но на Хабре в комментах довольно часто можно встретить мнение, что плюсы становятся хуже, комитет делает непонятно что непонятно зачем, и вообще верните мне мой 2007-й. А тут такой наглядный пример вдруг п...

5G и WiFi 6: когда две сетевые технологии лучше, чем одна Сейчас о 5G не пишет и не говорит только ленивый (кстати, свою статью о сетях и устройствах пятого поколения мы уже опубликовали). Но есть и еще одна относительно новая сетевая технология — это WiFi 6. Иногда приходится читать дискуссии о том, что лучше, 5G или WiFi 6. На...

Как правильно писать ассерты Поговорим теперь об ассертах Ассерты — одна из само собой разумеющихся вещей, поэтому все тут, казалось бы, специалисты. Кто-то пользуется встроенными в Java или в Junit, кто-то пользуется продвинутыми библиотеками, кто-то сооружает собственную. Но попробуем подойти к это...

Цевьё для страйкболистов Всем привет)На днях печатали вот такое цевьёКрайняя левая печаталась на FDM-ке две другие на SLA, функционально вышли достаточно жесткими, но SLA хотим использовать как мастер-модели для литья. НО есть проблема, модель имеет много отверстий и как создавать форму непонятно, у...

[Из песочницы] Трансформация кода в Android Вместо вступления Всё началось с того, что мне захотелось изучить тонкости настройки Gradle, понять его возможности в Android разработке (да и вообще). Начал с жизненного цикла и книги, постепенно писал простые таски, попробовал создать свой первый Gradle плагин (в buildSrc)...

[Из песочницы] Стартуем библиотеку компонентов на React и TypeScript Большую часть свой работы, я пишу бэкенды, но вот на днях появилась задача начать библиотеку компонентов на React. Несколько лет назад, когда версия React была такой же маленькой, как и мой опыт фронтенд-разработки, я уже делал подход к снаряду и получилось неумело и коряво...

[Перевод] Пишем чистый и масштабируемый JavaScript-код: 12 советов Язык JavaScript родом из раннего веба. Сначала на нём писали простые скрипты, которые «оживляли» страницы сайтов. Теперь же JS превратился в полноценный язык программирования, который можно использовать даже для разработки серверных проектов. Современные веб-приложения силь...

Отдаю 2 сайта в хорошие руки Отдаю 2 сайта в хорошие руки. Причина — нет времени заниматься. Вот сами сайты: http://monastery-russia.ru http://kriptoarb.ru   Про первый сайт я уже писал вот тут — http://blogarbik.ru/?p=9419 Про второй сайт — kriptoarb.ru В день капает около 150 ун...

[recovery mode] Вышел Embarcadero RAD Studio 10.3.2 или то что мертво… умерло Привет, Хабр! Присаживайтесь поудобней, заварите себе чайку, ибо я пишу немного затянуто и через правое ухо. Итак, Вы готовы? Отлично, тогда приступаем. ВНИМАНИЕ! Информация, описанная ниже, написана исключительно в исследовательских целях и не предназначена для использовани...

Мы agile или аджайл нас? Какая главная проблема в разработке программного обеспечения (а может и вообще в любой работе)? Когда я задавал вопрос коллегам, получал разные ответы: изменения требований, несоответствия ожиданий, качество кода, взаимодействие с другими командами… суммируя для себя — комму...

[Перевод] Анализ сишного Hello World Hello World — одна из первых программ, которые мы пишем на любом языке программирования. Для C hello world выглядит просто и коротко: #include <stdio.h> void main() { printf("Hello World!\n"); } Поскольку программа такая короткая, должно быть элементарно объяснить,...

Intel NUC: модели 2019 года и планы на 2020 В этом году мы еще ничего не писали о микро-ПК Intel NUC — но это не значит, что новостей на этом фронте совсем нет. За прошедшие месяцы 2019 выпущено несколько новых моделей, изменены названия во всей линейке и даже анонсирован принципиально новый класс NUC, впрочем, кого...

[Перевод] Spring Boot 2: что нового? От переводчика: несмотря на то, что уже прошел год, вопросы о том что же нового дал нам 2-ой Boot не заканчиваются. Писать такой контент с нуля — затея не самая умная. Поэтому решили перевести статью, которая нам кажется наиболее локаничной и при этом достаточно полной. Рели...

[Перевод] Встраиваемые функции в Go Go позволяет писать на ассемблере. Но авторы языка написали такую стандартную библиотеку, что бы этого делать не пришлось. Есть способы писать переносимый и быстрый код одновремено. Как? Добро пожаловат под cut. Читать дальше →

[Перевод] Пишем API на Python (с Flask и RapidAPI) Если вы читаете эту статью, вероятно, вы уже знакомы с возможностями, которые открываются при использовании API (Application Programming Interface). Добавив в свое приложение один из многих открытых API, вы можете расширить функциональность этого приложения либо же допол...

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

Техподдержка Миран: как все устроено Огонь, в котором вы сгораете, надо обслуживать. В.О.Пелевин, “Generation П” Привет, Хабр! Меня зовут Александр Соловьев, я руководитель технической поддержки дата-центров Миран. Скажите, вот вы пробовали писать учебники? Я — нет. Тем не менее, текст ниже — это своего рода...

[Перевод] Почему я не использую веб-компоненты Я пишу это в основном для себя в будущем, чтобы у меня было куда сослаться, когда кто-нибудь спросит меня, почему я скептичен в отношении веб-компонентов и почему Svelte не компилируется в веб-компоненты по умолчанию. (Тем не менее, он может компилироваться в веб-компоненты,...

factory_trace gem поможет почистить ваши factories Если вы пишите тесты для вашего проекта и используете factory_bot для генерации тестовых данных, то представляю вам гем factory_trace, который поможет вам поддерживать ваши factories & traits в актуальном состоянии. Читать дальше →

Первые подробности о полнокадровой зеркальной камере Nikon D6 Еще в январе года мы писали о том, что компания Nikon готовит преемницу полнокадровой беззеркальной камере D5. Новая модель под названием D6 выйдет позже в этом году, но в Сети уже появились первые подробности о ней. Как пишет источник, новинка получит полнокадровый да...

Введение в программирование: простой 3Д шутер с нуля за выходные, часть 1 Этот текст предназначен для тех, кто только осваивает программирование. Основная идея в том, чтобы показать этап за этапом, как можно самостоятельно сделать игру à la Wolfenstein 3D. Внимание, я совершенно не собираюсь соревноваться с Кармаком, он гений и его код прекрасен. ...

Как сэкономить на психотерапевте используя test-driven development У вас когда-нибудь было такое состояние? Хочу показать вам, как TDD может улучшить качество кода на конкретном примере. Потому что всё то, что я встречал при изучении вопроса, было довольно-таки теоретическим. Так получилось, что мне довелось написать два практически иден...

Адаптируем AutoMapper под себя AutoMapper один из основных инструментов применяемых в разработке Enterprise приложений, поэтому хочется писать как можно меньше кода определяя маппинг сущностей. Мне не нравится дублирование в MapFrom при широких проекциях. CreateMap<Pupil, PupilDto>() .ForMember(x =...

Service Level Agreement: пишем SLA для… других, или заключение SLA с Оператором связи Уверен, что многие хабражители хоть раз в жизни занимались вопросом обеспечения услугами связи для какой нибудь конторы или компании (собственное жилище тоже считается), все мы когда-то, увы не всегда вдумчиво, «подмахивали» договор на услуги связи, надеясь, что все будет хо...

Разработка чат-бота (laravel+botman) Welcome! Я, как junior full stack разработчик, при попытке написать бота с использованием laravel и botman’а столкнулся с многими проблемами. Во-первых, я плохо знаю английский, а на русском статей очень мало на эту тему, а те, что есть не помогли мне решить мои проблемы. В ...

Docker: вредные советы Когда я учился водить машину, на первом же занятии инструктор выехал на перекресток задним ходом, а потом сказал, что делать так нельзя — вообще никогда. Это правило я запомнил сразу и на всю жизнь. Читаешь детям «Вредные советы» Григория Остера, и видишь, как легко и непри...

Что такое музыкальное программирование — кто и почему им занимается, устраивая настоящие live-сессии Ранее мы говорили об инструменте OpenMusic. Он позволяет писать музыку, используя объектно-ориентированный подход. Сегодня речь пойдет о людях, которые создают композиции с помощью специализированных языков программирования. И зачастую делают это «в прямом эфире». Читать д...

[Из песочницы] Пишем блог на микросервисах – часть 1 «Общее описание» В этой статье хочу поделится нашими c SergeyMaslov наработками решения типовых задач с использованием микросервисной архитектуры на примере задачи «создание блога» (в надежде, что читатель представляет как устроен блог и это не должно вызывать вопросов по функциональности:) ...

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

Как писать хороший и понятный код: 3 простых способа для программиста От переводчика: сегодня публикуем для вас статью разработчика из Индии Рави Шанкара Рахана. Он рассказывает о том, что стоит делать, если вы хотите научиться писать простой и понятный код. Статья рекомендуется всем начинающим программистам. Написать простой код несложно...

[Из песочницы] Создаем свой компонент с микро-шаблонами Всем привет. Все кто так или иначе писал на фреймворке Angular сталкивался или работал с библиотекой Angular Material. Это очень хорошо написанная библиотека компонентов способная к гибкой стилизации, которая реализована через возможность создания различных тем вашего прилож...

Повторное использование форм на React Привет! У нас в БКС есть админка и множество форм, но в React-сообществе нет общепринятого метода — как их проектировать для переиспользования. В официальном гайде Facebook’a нет подробной информации о том, как работать с формами в реальных условиях, где нужна валидация и п...

[Из песочницы] Крибле Карбле Gradle: магия автоматической сборки Разработчики облегчают жизнь людям, а Gradle — разработчикам. Если вы пишете на Android, эта статья для вас. Читайте о том, что за зверь этот Gradle (спойлер: он слон), а также — как с ним работать. Gradle — система автоматической сборки, которую используют для упрощения раб...

[Из песочницы] Простейшая командная строка на NASM и QEMU Итак, сразу к делу. Писать будем под Linux, на NASM и с использованием QEMU. Установить это легко, так что пропустим этот шаг. Подразумевается, что читатель знаком с синтаксисом NASM хотя бы на базовом уровне (впрочем, ничего особо сложного здесь не будет) и понимает, что т...

Тред Ариадны: как перестать бояться и полюбить JSR-133. Доклад Яндекса Многоядерные процессоры — обыденность. Рано или поздно любому программисту-практику придется зайти в лабиринт многопоточного программирования и встретиться с населяющими его «чудовищами». Поговорим о том, с чего начать этот путь и какие инструменты и подходы помогут выйти по...

Ботнеты в 2019 году: актуальные опасности и вред, наносимый малому и среднему бизнесу О ботнетах на Хабре писали много раз, чем не приходится удивляться — это действительно значительная угроза, которая никуда не исчезла. В нашей сегодняшней статье мы поговорим о том, какие ботнеты актуальны в 2019 году и какой вред они могут нанести бизнесу — не крупным кор...

10 бесплатных утилит ApexSQL для управления базами данных Microsoft SQL Server Привет, Хабр! Мы много работаем с Quest Software, и в этом году они приобрели ApexSQL — производителя решений для управления и мониторинга баз данных Microsoft SQL Server. В России об этих ребятах, как нам кажется, знают мало. На главной своего сайта они пишут «Killer tool...

Функция Gmail Smart Compose на основе искусственного интеллекта теперь доступна не только для смартфонов Pixel 3 Смартфоны Google Pixel, кроме прочего, выделяются тем, что некоторые новые функции и технологии будут какое-то время быть доступными только на этих аппаратах. К примеру, искусственный интеллект Duplex пока можно опробовать только на смартфонах Google. Но Google можно по...

[Перевод] Микрофронтенды: о чем это мы? Все эти годы вы, frontend-разработчик, писали монолиты, хотя и понимали, что это дурная привычка. Вы делили свой код на компоненты, использовали require или import и определяли npm-пакеты в package.json или плодили гит-репозитории в вашем проекте, но все равно писали монолит...

[Из песочницы] Размещай правильно: 7 идеальных мест для размещения видео-контента Итак, вы готовы сделать видео полноценной частью маркетинговых процессов вашей организации. Самое время. Существует множество исследований, в которых говорится, что в 2019 году порядка 80% контента, потребляемого нами в интернете, будет составлять видео (ссылка на исследова...

Полное интервью с деканом факультета Python в GeekBrains — как и для чего учить язык начинающим Вчера мы опубликовали первый выпуск в цикле «Кем работать в ИТ». Для него я поговорил с двумя бывшими студентами и деканом факультета Python в GeekBrains. Когда я «смонтировал» рассказы в одну историю, стало жалко, что многое осталось лежать в черновиках. Поэтому сегодня ...

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

Логи не нужны? Разработка сильно изменилась за последние годы. Вместо монолитных приложений пришли микросервисы и функции. Базы данных из универсальных промышленных монстров переродились в узконаправленные. Docker изменил взгляд на деплой. Но изменилось ли наше представление о логах? Одна...

Способ организации коллективного изучения теории в ходе семестра Всем привет! Год назад я написал статью про то, как я организовывал университетский курс по обработке сигналов. Судя по отзывам, в статье много интересных идей, но она большая и тяжелочитаемая. И я давно хотел разбить её на более маленькие и написать их понятнее. Но писать о...

Немного технической лирики о C++ Tools от JetBrains, и при чем тут единороги Начну не с моего типичного “Привет, Хабр! У нас тут очередной крутой релиз”, а с “Привет, меня зовут Настя, я ПММ в JetBrains и я отвечаю за наши инструменты для C++”. Или нет, попробую еще раз, вот так: “Привет, пишет вам C++ разработчик с 8-летним стажем, который 5 лет наз...

[Перевод] Процедурные дороги в Houdini и Unity Для моей постапокалиптической игры Frameshift мне нужно было заполнить очень большой открытый мир разнообразными городами. В нашей команде всего 3 человека, поэтому я, разумеется, воспользовался процедурной мощью Houdini! Раньше, когда не знал о Houdini, я писал на C# соб...

На горе стоит Spring Boot… … его четверо отлаживают. Вдохновлённый докладом Владимира Плизги (Spring Boot 2: чего не пишут в release notes) я решил рассказать о своём опыте работы со Спринг Бут, его особенностях и подводных камнях, встретившихся на моём пути. Читать дальше →

[Перевод] Serverless CI/CD на AWS Было бы круто, если бы развертывание в формате копи-пейст осталось в прошлом, но, увы, дела обстоят иначе. Бывает, разработчикам предпочтительней именно такой метод поставки. Хоть сейчас пиши статью о том, почему это не есть гуд, но вы и без меня все знаете. С тенденцией к ...

Swift under the hood: Generic implementation Generic code enables you to write flexible, reusable functions and types that can work with any type, subject to requirements that you define. You can write code that avoids duplication and expresses its intent in a clear, abstracted manner. — Swift docsКаждый, кто писал на ...

Ключевое слово this в JavaScript. Полное* руководство * скорее всего, я что-нибудь да упустил, но уверен, в комментариях мне это подскажут Эту статью я пишу для своих личных нужд. Планируется, что она будет содержать в себе ответы на все вопросы, которые мне задают студенты на эту тему. Если она пригодится кому-то ещё — здоров...

Как создавать успешные команды и управлять ими Снова всех приветствую! Как и обещал, я продолжаю писать о менеджменте в IT. В прошлой статье я рассказал о поиске и найме новых игроков в команду. Но какими бы классными и талантливыми людьми они ни были, они пока не команда. Можно провести параллель с футболом: вы можете к...

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

«ТехноТекст», эпизод II. Рассказываем, как живут и работают над статьями авторы Хабра Приглашаем к участию в конкурсе хабраавторов. Самое главное в Хабре — это его читатели, которые одновременно и авторы. Без них Хабра бы не существовало. Поэтому нам всегда интересно, как у них дела. Накануне второго «ТехноТекста» мы решили поговорить с победителями прошлого...

[Из песочницы] Игрушка ГАЗ-66 на пульте управления. Часть 1 Несколько последних лет хотелось заполучить игрушку на пульте управления и обязательно с видео. Но не купить готовую, а сделать самому. И в итоге заказал себе вот такую игрушку, с простенькой системой управления, но большим потенциалом для модернизации. На все работы от ста...

[Перевод] Сверхпростое логгирование в Javascript — два декоратора, и готово Вам еще не надоело писать logger.info('ServiceName.methodName.') и logger.info('ServiceName.methodName -> done.') на каждый чих? Может вы, так же как и я, неоднократно задумывались о том, чтобы это дело автоматизировать? В данной статье рассказ пойдет о class-logger, как...

Пишем презентации в LaTeX В процессе подготовки доклада на GolangConf'2019 я использовал LaTeX. Несмотря на некоторые устаревшие вещи, немного необычное поведение, скудную или сложную документацию, я внезапно получил удовольствие. Я не стал "гуру" LaTeX, но я смог делать весьма неплохие слайды. И я х...

Проектирование Электро-Механической Marble Machine v2.0 Я хочу рассказать о второй версии моей электро-механической Marble Machine и о процессе ее проектирования. Про первую спиральную машину я уже писал здесь на хабре. Времени с тех пор прошло не мало, и вот, в принципе, задуманное осуществлено: два подъемника и два спуска рабо...

Google+. Sic transit gloria mundi… Всем привет. Итак, собственно к Google+. Проект почит в бозе с 2 апреля 2019 года. Теперь уже официально. Вот как об этом пишут всем участникам. Читать дальше →

Как мы переделали структуру собеседований, и что из этого вышло Наша команда разработки уже больше 4 лет растёт примерно на 20% в год. Мы постоянно ищем технических специалистов и совершенствуем наём. Перепробовали много подходов, чтобы сделать процесс эффективнее: от изменений порядка этапов отбора до больших конкурсов для аналитиков и ...

[Перевод] Стрелочные функции в PHP 7.4 Стрелочные функции, также называемые короткими замыканиями (short closures), станут хорошим способом писать чистый код в PHP. Такая форма записи будет полезной при передаче замыканий в такие функции как array_map или array_filter. Пример: // Коллекция объектов Post $posts =...

Пишем собственный CLI для React Если вы делаете Ctrl+C каждый раз при создании нового компонента в реакте, то эта статья точно для вас! У реакта нет своего CLI, и понятно почему. Не существует определенных правил, как именно должна выглядеть структура компонента, есть только общие рекомендации в документа...

Основы движков JavaScript: общие формы и Inline кэширование. Часть 1 Привет, друзья. В конце апреля мы запускаем новый курс «Безопасность информационных систем». И уже сейчас хотим поделиться с вами переводом статьи, которая непременно будет очень полезной для курса. В статье описаны ключевые основы, они являются общими для всех движков Jav...

[Из песочницы] Python + Pyside2 или просто «Калькулятор» Привет, Хабр! Меня зовут Саша. Я Junior разработчик. Работаю тестировщиком ПО. В основном я пишу тесты при помощи Python+Selenium, но Python стал настолько интересен, что мне захотелось углубиться в него и выучить как можно больше фреймворков! Я захотел написать десктопное ...

[Перевод] [ПЕРЕВОД] Браузерная ленивая загрузка изображений (атрибут loading) Поддержка встроенной ленивой загрузки изображений и iframe пришла в веб! Начиная с Chrome 76 версии, вы можете использовать новый атрибут loading для ленивой загрузки ресурсов без необходимости писать для этого дополнительный код или использовать стороннюю JavaScript-библи...

[Из песочницы] Продвинутый Debug Debug Area — полезная функция в работе iOS разработчика в Xcode. Как только мы начинаем осваивать разработку под iOS, и пытаемся отойти от привычного и любимого print метода, и найти более быстрые и удобные методы понимания состояния системы в определенный период мы начинаем...

Как из-за открытой базы ClickHouse могли пострадать персональные данные пациентов и врачей Я много пишу про обнаружение свободно доступных баз данных практически во всех странах мира, но новостей про российские базы данных, оставленные в открытом доступе почти нет. Хотя недавно и писал про «руку Кремля», которую с перепугу обнаружил голландский исследователь в бол...

Как мы выбирали компонентную базу для умного дома: о датчиках и контроллере Kauri разрабатывает оборудование для IoT-решений и пишет под него софт. Недавно мы успешно протестировали работу сети Zigbee при помощи отладочной платы и датчиков, поэтому составили небольшой гид. Поговорим о критериях для выбора, производителях, ценах, немного поругаем р...

[Из песочницы] Создание своего jsfiddle, часть 1 Привет всем читателем habr. В данной статье мы напишем свой онлайн редактор кода. Зачем я писал свой онлайн редактор кода В один день мне стало интересно насколько сложно создать свой онлайн редактор по типу jsfiddle, из-за чего я решил написать свой редактор. Написание сво...

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

[Перевод] Пишем Android-приложение на ассемблере Эта рассказ о нестандартном подходе к разработке Android-приложений. Одно дело — установка Android Studio и написание «Hello, World» на Java или Kotlin. Но я покажу, как эту же задачу можно выполнить иначе. Читать дальше →

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

Бизнес на свои: мы написали книгу с тактикой прохождения этой игры Привет! Я хотел сказать, что вчера вышла третья наша книга, и тоже очень помогли посты с Хабра (а частично и вошли). История такая: на протяжении примерно 5 лет к нам подходили люди, которые не умели в проектное мышление, не понимали разные вопросы бизнеса и задавали одни ...

Заметки фитохимика. Картофель. Часть третья. «Бульба Фугу» или СОЛАНИН … картофелине вполне по силам справится с человеком. неизвестный народный источник Самой распространенной «картофельной угрозой» считается соланин, который «образуется в позеленевшем картофеле» и очередная фитозаметка посвящена именно ему, последствиям его употребления, а т...

AT&T «перешёл» на 5G, сменив значок на экране Новый значок на экране абонентского устройства AT&T На горизонте новая технология сотовой связи, и вся индустрия работает над развёртыванием новой инфраструктуры, чтобы обновиться с 4G LTE на 5G mmWave. Обновление требует много новых чипов для мобильных устройств, а также...

[Из песочницы] Сохранения данных пользователя после перезагрузки страницы Представим себе, что вы пишите таск-менеджер. Приложение должно работать как нативное: работать в офлайне также как в онлайне. Основная концепция Наш главный инструмент в построении такого приложения – localstorage. С другими способами реализовать это я не знаком. Способ о к...

RubyRussia 2019. Михаил Пронякин: безопасен ли Ruby На конференции RubyRussia будет много докладов о том, как писать код и как делать это лучше других. Но если продукт, который выпускает ваша компания, небезопасен, то это может привести к большим проблемам. Григорий Петров обсудил эту важную тему с Михаилом Пронякиным из комп...

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

Microsoft ML Spark: расширение Spark, делающее SparkML человечнее, и LightGBM как бонус Многие, кто работал с Spark ML, знают, что некоторые вещи там сделаны "не совсем удачно" или не сделаны вообще. Позиция разработчиков Spark в том, что SparkML — это базовая платформа, а все расширения должны быть отдельными пакетами. Но это не всегда удобно, ведь Data Scient...

Получение статистики по всем клиентам из API Яндекс Директ в разрезе дней с помощью Python В работе часто использую короткую статистику в разрезе дней чтобы отслеживать отклонения трафика. Более подробно о написании запросов написал в статье « Получение рекламных кампаний Яндекс Директ с помощью API в DataFrame (Python)». В данной статье я в большей степени рас...

[recovery mode] Популярные вопросы разработчика о тестировании Эта статья — не теоретическое руководство по написанию тестов и не how-to по использованию инструментария в определенном стеке, а ряд популярных вопросов, иногда даже у многих не сформировавшихся, на которые я постараюсь дать ответы. Источником этих вопросов служат коллеги, ...

Принцип Брета Виктора: «Творцам нужна мгновенная связь с тем, что они создают» Это одно из лучших выступлений, которое я встречал. Хоть про эту презентацию уже писали на Хабре и переводили 6 лет назад, я решил её красиво оформить и ещё раз обратить на неё внимание. Она того стоит. Брет Виктор: Я просто хочу рассказать вам о том, как прожить свою жиз...

[Перевод] Оборачиваем последовательности в Swift Всем привет. Сегодня хотим поделиться переводом подготовленным в преддверии запуска курса «iOS Разработчик. Продвинутый курс». Поехали! Одним из основных преимуществ протокольно-ориентированного дизайна Swift является то, что он позволяет нам писать общий код, который совме...

Часть вторая. Как проходить code review по версии Google Возможно вы читали первую часть статьи про код ревью со стороны ревьювера (кстати, мы уже успели ее обсудить в последнем выпуске подкаста "Цинковый прод"). Так как статья набрала много лайков, пишу обещанное продолжение про код ревью с другой стороны — со стороны автора из...

Система совместной работы с документами для Zimbra Open-Source Edition Важность совместного редактирования документов в современном бизнесе трудно переоценить. Возможность составлять договоры и соглашения с участием сотрудников из юр.отдела, писать коммерческие предложения под присмотром начальства в режиме онлайн и так далее, позволяет сэконом...

Что такое логическое программирование и зачем оно нам нужно У того, кто в детстве не писал на Прологе — нет сердца, а у того, кто пишет на нём сегодня — нет мозгов. (оригинал) Если вас всегда терзали мучительные сомнения — что за фигня это Логическое Программирование (ЛП) и вообще зачем оно нужно? То это статья для вас. Можно по-раз...

неДревности: когда смарт-часы становятся странными Признаемся, что мы не только пишем на Habr, но и всегда с удовольствием читаем экспертов. Вдохновившись одним из последних материалов, посвященных «телефоностроению», решили предложить похожий пост, но про смарт-часы. Которые становятся странными на наших глазах. Читать ...

[Из песочницы] Нужно ли писать weak self в Grand Central Dispatch? Тут у нас возник спор: нужно ли писать [weak self] в GCD? Один говорит: – [weak self] нужно писать везде! Второй говорит: – Нет, даже если не писать [weak self] внутри DispatchQueue, утечки памяти не будет. Вместо того, чтобы разбираться, легче написать пару строк. Тяжеле...

16 смартфонов Huawei получат в июне обновление EMUI 9.1: список Мы уже писали о том, что на днях EMUI 9.1 стала доступна для пользователей смартфонов Huawei P20 и P20 Pro за пределами Китая, однако перечень моделей, которые получат эту версию прошивки до конца текущего месяца, гораздо более обширен. Как пишет источник, EMUI 9.1 в и...

Собираем окружение для современного TDD на JavaScript + VS code TDD уже давно не является чем-то диковинным: на хабре можно найти об этом подходе сотни статей, а каждый новичок знает, какую книгу об экстремальном программировании ему нужно прочитать. Многие мои коллеги тоже используют TDD. Они добавляют тест, пишут код, рефакторят, по...

Памятка начинающему разработчику компьютерных игр Данная статья ориентирована на школьников, студентов, и тех, кто постарше, кто никогда не пробовал, но очень хочет начать писать компьютерные игры. Кто в детстве не играл в компьютерные игры, и не хотел написать свою игру, которая будет лучше, чем GTA или Crysis? И я хотел,...

Три парадигмы асинхронного программирования в Vertx Я хочу показать три парадигмы асинхронного программирования — callbacks, futures, coroutines на примере простого веб приложения на фрейморке Vertx. Код будем писать на Котлине. Допустим у нас есть приложение, которое получает некую строку в HTTP запросе, по ней ищет URL в б...

Terraformer — Infrastructure To Code Хотел бы рассказать про новый CLI tool который я написал для решения одной старой проблемы. Проблема Terraform уже давно стал стандартом в Devops/Cloud/IT сообществе. Вещь очень удобная и полезная чтоб заниматся infrastructure as code. Есть много прелестей в Terraform а т...

[Перевод] Пишем игру «Карточки памяти» на Swift В этой статье описывается процесс создания простой игры для тренировки памяти, которая мне очень нравится. Кроме того, что она сама по себе хороша, во время работы вы немного больше узнаете о классах и протоколах Swift. Но прежде чем начать, давайте разберемся в самой игр...

[Перевод] Как уменьшить использование памяти и ускорить работу кода на Python с помощью генераторов Всем привет. Сегодня хотим поделиться одним полезным переводом, подготовленным в преддверии запуска курса «Web-разработчик на Python». Писать код эффективный по времени и по памяти на Python особенно важно, когда занимаешься созданием Web-приложения, модели машинного обучени...

Пишем XGBoost с нуля — часть 1: деревья решений Привет, Хабр! После многочисленных поисков качественных руководств о решающих деревьях и ансамблевых алгоритмах (бустинг, решающий лес и пр.) с их непосредственной реализацией на языках программирования, и так ничего не найдя (кто найдёт — напишите в комментах, может, что...

Пишем Android приложение для киноманов — Часть 1 (Прототипирование) Доброго времени суток, Хабр! Не секрет, что недавно компания Google утвердила в качестве приоритетного языка программирования ОС Android — Kotlin. В этой и последующих статьях будет рассказываться о создании приложения на этом языке. Читать дальше →

Приятное и полезное в преподавании Всем привет! Год назад я написал статью про то, как я организовывал университетский курс по обработке сигналов. Судя по отзывам, в статье много интересных идей, но она большая и тяжелочитаемая. И я давно хотел разбить её на более маленькие и написать их понятнее. Но писать о...

Самый мягкий и пушистый путь в Machine Learning и Deep Neural Networks Современное машинное обучение позволяет делать невероятные вещи. Нейросети работают на пользу общества: находят преступников, распознают угрозы, помогают диагностировать болезни и принимать сложные решения. Алгоритмы могут переплюнуть человека и в творчестве: они рисуют карт...

[Из песочницы] Как использовать группы в Facebook для продвижения: создаем паутину Facebook меняет ленту. На официальной конференции F8 30 апреля и 1 мая первые лица компании анонсировали нововведения. В числе прочего фокус на формирование личного пространства. Чувствовать свою принадлежность легче, когда вы находитесь в небольших сообществах и среди бли...

ZX Spectrum 128k своими руками. Часть 2 Первая часть здесь Все изображения кликабельны. Прошло больше года c того момента как я написал статью про сборку клона ZX Spectrum «Ленинград». И за это время его возможности существенно расширились. Не думал что я буду писать ее продолжение, но все таки статей по ретрок...

[Из песочницы] Angular schematics, или как я писал свой шаблон для angular cli Здравствуйте, меня зовут Максим. Уже несколько лет я занимаюсь front-end разработкой. Мне часто приходится иметь дело с версткой различных html шаблонов. В своей повседневной работе я обычно пользуюсь сборщиком webpack c настроенным шаблонизатором pug, а также использую мето...

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

[Перевод] Пишем HTTP/1.1 & HTTP/2 клиент и сервер на Golang Golang — отличный язык программирования с широким спектром возможностей. В этой статье показано, как на Go можно написать клиент и сервер для протоколов HTTP/1.1 и HTTP/2. Читать дальше →

Разработка boost преобразователя на DSP: принцип работы, расчеты, макетирование Я уже писал подобную статью про топологию buck, то есть про понижающий преобразователь, сегодня рассказ пойдет о том, как сконструировать повышающий (boost) преобразователь напряжения с управлением не на аналоговом ШИМ-контроллере, а на DSP/МК. Макет будет собран на основе м...

Пишем на Rust + CUDA C Всем привет! В данном руководстве хочу рассказать как подружить CUDA C/С++ и Rust. И в качестве примера напишем небольшую программу на Rust для вычисления скалярного произведения векторов, вычисление скалярного произведения будет производиться на GPU с использованием CUDA ...

[Перевод] Яма продуктивности: как Slack вредит нашему рабочему процессу Такие программы для работы, как Teams, Slack и Workplace, должны были увеличить нашу продуктивность. Но не сделали этого. Несколько человек пишут сообщения. [Several people are typing.] Если вы какое-то время сидели в слаке, вы, вероятно, видели такое сообщение, плавающее...

[Перевод] Конференция BLACK HAT. Уроки выживания при DDOS-атаке 300 Гбит / с. Часть 1 Меня зовут Мэттью Принс, я один из соучредителей и генеральный директор сервиса CloudFlare. Не думайте, что я буду настолько же интересен, как директор АНБ, но я хотя бы постараюсь быть менее противоречивым. На самом деле я частный профессор права, так что я читал Конституци...

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

Стартапы на CES 2019: часть вторая. Странные и волшебные гаджеты В предыдущей части мы писали о том, какие гаджеты видели на международной выставке потребительской электроники в Лас-Вегасе, известной как CES. Рассказали о роботах, умных зеркалах, умных зонтах, умных садах, японских умных кошачьих лотках (да, серьезно). В этой части расс...

[Из песочницы] Сборка transport-пакета без установки MODX Писать свои пакеты для MODX не просто для новичка, да и опытному разработчику иногда не сладко приходится. Но новичок пугается, а опытный разбирается :). Эта заметка рассказывает о том, как можно написать и собрать пакет компонента для MODX без установки и настройки самог...

[Из песочницы] Заметка для фронтендеров: что проверить перед тестированием Всем привет! Так сложилось, что я из той самой службы контроля качества. Недавно наша команда писала большую фичу. Немного порефлексировав, решил создать такую вот статью-шпаргалку для фронтендеров. Она напомнит на что стоит обратить внимание перед передачей задачи в тестир...

[Перевод - recovery mode ] Как правильно обрабатывать ошибки: тишина — не всегда хорошо У меня никогда не было какого-то особого мнения относительно обработки ошибок. Если я начинала работать с существующим кодом, я продолжала выполнять задачу, над которой трудился автор исходника; если писала код с нуля — делала то, что казалось мне правильным. Но недавно...

[Перевод] Тестирование производительности Flutter приложений Фреймворк Flutter по умолчанию работает хорошо и быстро, но означает ли это, что вам вообще не нужно думать о производительности? Нет. Абсолютно реально писать приложения Flutter, которые будут медленными. С другой стороны, также можно использовать фреймворк максимально и де...

[Из песочницы] Как собеседовать работодателя? У программистов обычно принято обсуждать собеседования с точки зрения (около)технических вопросов, которые им задает интервьювер. Надо ли писать код на доске? Надо ли жонглировать бинарными деревьями и знать наизусть все сложности алгоритмов, или просто разговаривать про жи...

Личный опыт: как я писала гороскопы Лайфхакер поговорил с человеком, который придумывал будущее своим читателям.

[Перевод] Возможности современного JavaScript, о которых вы могли не знать Несмотря на то, что в последние семь лет я пишу на JavaScript почти каждый рабочий день, должен признаться, что уделяю мало внимания сообщениям о нововведениях от ES. Главные возможности вроде async/await и прокси — это одно, но ещё каждый год идёт поток мелких поэтапных и...

Как я узнал о Massivit 1800 Пишу только для того, что бы кто-то тоже узнал о таких принтерах.Для меня это было впечатляющие открытие. Большие принтеры, в принципе, уже не новость. И промышленные, и строительные. Но вот что бы FDM (на самом деле GDP ) печать, да в таких масштабах...Подробнее о нем, как ...

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

Отчёты по состоянию СХД с помощью R. Параллельные вычисления, графики, xlsx, email и всё вот это В статье приведён код по формированию регулярных отчётов по состоянию дисков СХД EMC VNX с альтернативными подходами и историей создания. Старался писать код с максимально подробными комментариями и одним файлом. Только пароли свои подставить. Формат исходных данных также ук...

Резервное копирование, часть 2: Обзор и тестирование rsync-based средств резервного копирования Данной заметкой продолжается цикл о резервном копировании Резервное копирование, часть 1: Зачем нужно резервное копирование, обзор методов, технологий Резервное копирование, часть 2: Обзор и тестирование rsync-based средст резервного копирования Резервное копирование, ча...

Гугология (это не опечатка) для программистов О математике (так, чтобы было интересно) писать сложнее, чем о физике. Однако я надеюсь, что вы дочитаете хотя бы до примеров сумасшедших программ на C. Читать дальше →

Что нового в C# 8? «Восьмерка» еще даже не вышла RTM а я уже пишу про нее пост. Зачем? Ну, основная идея что тот, кто предупрежден — вооружен. Так что в этом посте будет про то что известно на текущий момент, а если это все посдстава, ну, поделом. Читать дальше →

В Индии родилась четвероногая трехрукая девочка Как пишет Daily Mail, врачи предполагают, что изначально эмбрионов было трое, но в утробе матери два из них срослись, что и привело к рождению диковинного человека-монстра. Мать ребенка, 24-летняя Раджу и ее муж, Бадхулал Гурджар, с нетерпением ожидали первенца, но, будучи п...

Пишем высокопроизводительный http клиент на примере fasthttp. Александр Валялкин (VertaMedia) Библиотека Fasthttp — ускоренная альтернатива net/http из старндартных пакетов Golang. Как она устроена? Почему она такая быстрая? Паттерны из Fasthttp можно использовать для ускорения ваших приложений, вашего кода. Кому интересно, добро пожаловать под кат. Читать дальше →

Podlodka #93: Личный бренд разработчика Все вы знаете разработчиков, которые часто выступают, пишут блоги, постят мемасы в твиттере. Вместе с одной из звёзд русскоязычного IT, Барухом Садогурским, мы поговорили про личный бренд разработчика.

Гайд по внутренней документации по информационной безопасности. Что, как и зачем В одной из наших предыдущих статей мы затронули вопрос формирования комплекта документов для проверяющих по вопросам защиты персональных данных. Мы дали ссылку на наши шаблоны документов, но остановились на теме документации по информационной безопасности весьма поверхност...

Кейс: Как заработать 30 000 рублей в месяц чуть приподняв жопу Я уже писал в прошлых постах про партнёрку лидов букмекерских контор. Вот моя статистик аза 2 недели:     А вот это оплата за лиды:     Кто в танке и ничего не понял, то объясняю, что платят за регистрацию и идентификацию пользователя в каждой из этой Б...

Splunk Universal Forwarder в докере как сборщик системных логов Splunk является одним из нескольких наиболее узнаваемых коммерческих продуктов для сбора и анализа логов. Даже сейчас, когда продажи в России больше не производятся, это не повод не писать инструкции/how-to по этому продукту. Читать дальше →

Код живой и мёртвый. Часть вторая. Действия и свойства В прошлый раз я писал о том, что имена объектов имеют большое значение, и что подбирать их нужно кропотливо и со вниманием к деталям. Плохое имя отпугивает и не даёт вникнуть в суть происходящего. Но что это за суть? Сложно оценить героя, не поняв его "статы" и "абилки". Что...

[Перевод] Пишем чат на Python и Django Добрый день, друзья. В преддверии старта курса «Web-разработчик на Python» традиционно делимся с вами полезным переводом. Вы видите перед собой руководство, которое расскажет, как создать приложение-чат на Python, Django и React. В отличие от других руководств, я не исп...

Чего не пишут о новом 4K проекторе LG HU85L

Что мы знаем о микросервисах Привет! Меня зовут Вадим Мадисон, я руковожу разработкой System Platform Авито. О том, как мы в компании переходим с монолитной архитектуры на микросервисную, было сказано не раз. Пора поделиться тем, как мы преобразовали свою инфраструктуру, чтобы извлечь из микросервисов м...

«WARNING: sanitizing HTML stripped some content» и как с ним правильно бороться Всем, кому приходилось вставлять HTML содержимое в DOM в Angular, доводилось видеть это сообщение. Конечно, все мы получаем проверенное содержимое с нашего же сервера и просто хотим застилизовать сообщение об ошибке. Или вставляем HTML из наших же констант, инлайним наши SVG...

Подключаем онлайн-карты к навигатору на смартфоне. Часть 2 – векторные карты Пишем серверное приложение, которое будет генерировать растровые PNG тайлы на основе векторных онлайн-карт. Использование веб-срейпинга с помощью Puppeteer для получения картографических данных. Читать дальше →

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

Криптографические токены PKCS#11. Графическая утилита «с функцией подписания и добавлением метки времени». Часть 1 В комментариях к статье «Использование механизмов криптографических токенов PKCS#11 в скриптовых языках» читатель kovserg написал: «С нетерпением ждём статью с функцией подписания документа и добавлением метки времени». Еще раньше другой участник хабра pas писал о том, что б...

Работа удалённо: наш опыт В компании «Флант» все работают удалённо. Кто-то до прихода во «Флант» уже имел такой опыт, а кто-то только пробует ступить на этот уникальный и ни с чем не сравнимый путь. Мы решили отбросить темы, о которых неоднократно писали здесь на Хабре, и рассказать, как «готовим»...

Как мы в Питерской Вышке учим Software Engineering В предыдущих постах мы рассказывали, что наши студенты делают на стажировках: научных (например, в JetBrains Research) и промышленных. В этом посте хотим поделиться, как мы учим промышленному программированию. Кратко: за четыре курса бывший школьник пробует десяток-другой т...

DevOpsProdigy KubeGraf v1.1.0 Сегодня мы зарелизили новую версию нашего плагина для мониторинга k8s — grafana.com/grafana/plugins/devopsprodigy-kubegraf-app — о котором писали ранее. Ключевая фича новой версии — возможность аутентификации с помощью bearer-токена. Теперь посредством манифестов (которые м...

[Из песочницы] Пишем первый микросервис на Node.js с общением через RabbitMQ Со временем, каждый проект растет и реализовывать новый функционал в существующий монолит становится все сложнее, дольше и дороже для бизнеса. Один из вариантов решения данной проблемы — использование микросервисной архитектуры. Для новичков или для тех, кто впервые сталкива...

Школьники используют Google Docs для чатов Google Docs стал популярным мессенджером среди школьников, пишет The Atlantic.

Мечтают ли аутсорсинговые компании о своих продуктах. Разговор с Maxilect Мне кажется, многие хорошие разработчики и инженеры хоть раз задумывались — что делать со своими знаниями и умениями в глобальном смысле. Найти идею и создать свою важную и крутую вещь, для которой даже слово «продукт» покажется мелким и пошлым. Либо идти со своими знаниям...

[Из песочницы] Ломаем паттерн проектирования — Singleton в PHP Одним прекрасным рабочим днём я писал unit-тесты для бизнес-логики на проекте, в котором работаю. Передо мною стояла задача инициализировать некоторые приватные свойства класса определёнными значениями. Читать дальше →

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

Собеседуем работодателя или как не уволиться в первый месяц Первый рабочий день и… о боже что я тут делаю?! Нет, ну серьезно кто вообще так пишет код? Дружный коллектив? Мои коллеги вообще заметили, что я вышел на работу? Древний SVN, шумный опен спейс и «типа SCRUM» и это лишь малая часть из тех «приятных» сюрпризов которае вас м...

Не обзор ASUS ZenBook Pro 15 UX580GE — почти год с почти топом Восемь месяцев как я владею ультрабуком от Asus с двумя экранами. Играю, люблю, работаю и страдаю. Кажется, что пришло время поделиться своими мыслями об этом устройстве и попросить совета у сообщества на тему будущего… Да и давно не писал я что-то. Слишком длинный для ЯМ о...

Король разработки Я знаю одного человека — он хороший разработчик, но полнейшая скотина. Когда он начинает говорить, хочется набить ему морду, заткнуть как угодно, лишь бы не слышать, насколько он прав. И эту сумасбродную самоуверенную сволочь еще кто-то слушает, ему поддакивают. Видимо, лю...

[Перевод] Разбираем Async/Await в JavaScript на примерах Автор статьи разбирает на примерах Async/Await в JavaScript. В целом, Async/Await — удобный способ написания асинхронного кода. До появления этой возможности подобный код писали с использованием коллбэков и промисов. Автор оригинальной статьи раскрывает преимущества Async...

[Из песочницы] На что способен мозг студента, познающего компьютерный мир Доброго времени суток. Закончив писать очередной скрипт на Bash, понял, что всё должно быть совершенно иначе, однако всё работало. Хочу вам показать, какие непотребства и костыли написал я, дабы решить задачу, но пока не имея вагона знаний. Иначе говоря, каррикатура на прог...

Итоги 2018 для Apple: самые большие провалы Редакция AppleMix.ru подводит итоги 2018 года для компании Apple. В этом материале вспоминаем все самые крупные недочеты Apple в уходящем году.  AirPower Здесь даже писать много не нужно. Беспроводная зарядка, которая должна была появиться в этом году, не просто не появилась...

[Из песочницы] Гопники теперь и на зарубежных рынках или «Почему так сложно найти нормального программиста?» Вечная конкуренция Для многих из нас уже давно не секрет, что найти заказчика на проект краткосрочный или долгосрочный на ресурсах интернета — это очень непростая задача. В основном, потому что очень большая конкуренция: от тебя хотят максимум работы за минимум денег. И ког...

C++ Enterprise Edition. Возможно ли? C++ Enterprise Edition Что такое "enterprise edition" Удивительно, но за все время моей работы в IT, я ниразу не слышал, чтобы кто-то говорил "enterprise edition" относительно языка программирования, кроме как для Java. Но ведь приложения для корпоративного сегмента люди пи...

О чём писать в White Paper и как её использовать для продвижения ИТ-продукта? В начале 2019 года один ИТ-клиент поставил передо мной задачу — написать White Paper (она же «белая книга», официальная публикация, «вайт пейпер» и т. д.). А я никогда этого раньше не делал, хотя контент-копирайтингом занимаюсь давно. Решил поискать в Рунете — одна «SEO-вода...

[Перевод] Пишем клон движка Doom: чтение информации карт Введение Цель этого проекта — создание клона движка DOOM, использующего ресурсы, выпущенные вместе с Ultimate DOOM (версия со Steam). Он будет представлен в виде туториала — я не хочу добиваться в коде максимальной производительности, а просто создам работающую версию, и п...

Пять студентов и три распределённых key-value хранилища Или как мы писали клиентскую C++ библиотеку для ZooKeeper, etcd и Consul KV В мире распределённых систем существует ряд типовых задач: хранение информации о составе кластера, управление конфигурацией узлов, детекция сбойных узлов, выбор лидера и другие. Для решения этих зада...

Badoo Jira API Client: магия в Jira на PHP Если в строке поиска на Хабре ввести “Jira Badoo”, результаты займут не одну страницу: мы упоминаем её почти везде, потому что она играет важную роль в наших процессах. Причём каждый из нас хочет от нее немножко разного. Разработчик, которому пришла задача на ревью, ожида...

Подборка: 5 полезных сервисов для написания статей на английском Всем привет! Меня зовут Марго, я профессиональный маркетолог и редактор, в последние пару лет фокусируюсь на продвижении за рубежом и много пишу на английском. Я решила поделиться ссылками на приложения и сайты, которые помогают мне в ежедневной работе при создании контент...

Программирование для детей. Пять самых крутых игр на HTML и JavaScript Привет, Хаброжители! Хотите сделать отличный подарок ребёнку, желающему научиться программировать, или научить взрослого, далёкого от мира кодов? Тогда книга-героиня нашего поста Вам подойдет. Эта книга научит писать код веб-игр на языках HTML и JavaScript и даже поможет чи...

Изучение английского: a geeky way Доброй глубокой ночи, незаметно для меня перешедшей в утро. Пишу под влиянием того поста, тоже написанного под влиянием. Да, вторично и уже начинает надоедать, но удержаться просто не могу. Хочу описать свой личный, немного нетривиальный, вовсе не претендующий на способ и м...

PHP, почём абстракции для народа? Joy: What is going on? Sadness: We’re abstracting! There are four stages. This is the first. Non-objective fragmentation! Bing Bong: Alright, do not panic. What is important is that we all stay together. [suddenly his abstract arm falls off] Joy: Oh! [Sadness and Joy start ...

[Перевод] Обработка ошибок в Express Когда я только начинал работать с Express и пытался разобраться с тем, как обрабатывать ошибки, мне пришлось нелегко. Возникало такое ощущение, будто никто не писал о том, что мне было нужно. В итоге мне пришлось самому искать ответы на мои вопросы. Сегодня я хочу рассказать...

[Из песочницы] Логирование всех запросов к Базе данных в Asp.Net Boilerplate 4.3 .Net Core 2.1 Часто в проекте возникает непонятная ошибка для которой необходимо максимальное логирование всех запросов к Базе данных. Статья поможет тем, кто пишет (развертывает на сервере) один из своих первых проектов на Asp.Net Boilerplate. Читать дальше →

[Перевод] Как я рисую иллюстрации для конспектов по математике в Inkscape В прошлой статье я рассказал, как пишу конспекты по математике на LaTeX в Vim. В этой статье покажу, как создаются рисунки для этих конспектов с помощью Inkscape, а также расскажу о своём самодельном менеджере горячих клавиш. Некоторые примеры Во-первых, позвольте показать ...

Redux — пересмотр логики reducer'a и actions На днях ковыряясь в множестве файлов redux'a, где по логике файлы вынесены в reducers, actions, константы типов actions. Bсе это оказалось весьма не простая задача держа все эти типы файлов у себя в голове и прослеживать логику. И… эврика, появилась идея упрощения написания...

Мелкая питонячая радость #1: loguru Сегодня мы обсудим, зачем кому-то понадобилось писать замену стандартному питонячему логеру logging и как этой штукой пользоваться. Читать дальше →

Разработка гибридных PHP/Go приложений с использованием RoadRunner Классическое PHP-приложение — однопоточность, тяжелая загрузка (если вы конечно не пишите на микрофреймворках) и неизбежная смерть процесса после каждого запроса… Такое приложение тяжелое и медленное, но мы можем дать ему вторую жизнь гибридизацией. Чтобы ускорить — демонизи...

[Перевод] Пишем мультиязычное приложение на React Native Локализация продукции очень важна для международных компаний, осваивающих новые для себя страны и регионы. Аналогично локализация нужна и мобильным приложениям. Если разработчик начинает международную экспансию, важно дать пользователям из другой страны возможность работа...

Что разработчикам надо знать про бизнес Даже в очень крупных компаниях часто отношение к разработчикам, как к грибам: держат в темноте и кормят навозом. Пишите код, родные, и не высовывайтесь. Этот подход может быть удобен для многих (в том числе иногда — для самих разработчиков в случае не очень адекватного менед...

[Из песочницы] Современное программирование: взгляд после 25 лет перерыва или как я писал бота для Телеграм Задача кажется простой, когда ничего про нее не знаешь и когда решил. В один “прекрасный” день, я понял, что мне не интересно сидеть на многочисленных форумах, а хочется создать свой канал и делиться “мудростью”. Мне нравится Телеграм заложенными в него возможностями в то...

Почему мы так мало говорим об IBM? Ветеран отраслевой журналистики Роберт Фалетра много писал об IBM в далеких 80-х и теперь задается вопросом, почему этот гигант ИТ-отрасли не …

Laravel: разбираем основные понятия. Часть третья: «Заключительная» Считанные дни остаются до старта нового курса от OTUS — «Framework Laravel». В преддверии старта курса делимся заключительной частью авторской публикации о основных понятиях в Laravel. Важно: данная серия публикаций не имеет отношения к образовательной программе курса и явля...

[Из песочницы] Сбор метрик из .NET приложений с помощью Telegraf Одной из важнейших задач при проектировании систем является организация мониторинга состояния всех узлов, в том числе большого числа сервисов. В условиях, когда дополнительных сил и средств на это не выделяется, приходится максимально использовать готовые решения. Думаю, у ...

Законопроект о борьбе с фейковой информацией принят в третьем чтении Источник: РИА Новости 7 марта Государственная дума приняла в третьем, окончательном чтении законопроекты о борьбе с фейковой информацией и оскорблением государства и общества, о чем пишет РИА «Новости». Что касается первой части, то законопроекты, которые к ней относятся, ...

[Из песочницы] GameBoy на C# Когда я только начинал программировать, думаю, как и многим, мне хотелось делать игры. Но передо мной стояло множество архитектурных вопросов, которые я не знал как решить, про двойную буферизацию я даже не слышал, а получить результат хотелось как можно скорее. Поэтому неда...

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

Как треск костра, скрип дверей и самый обыкновенный шум становятся музыкой и попадают в электроакустические треки Рассказываем, как появилось это направление, и кто пишет электроакустическую музыку. Читать дальше →

[Перевод] ИИ в 2019 году: текущее положение вещей Этот перевод — часть статьи The Real-World AI issue. Общеизвестный факт — если вы станете повторять любое слово много раз, то в итоге оно потеряет всякое значение, превратится в фонетическое ничто. Это причина того, почему для многих из нас термин «искусственный интеллект...

Первый митап по Flutter в Петербурге – 26 сентября Мы в Wrike очень любим Dart и Flutter. На связке Dart+Angular пишем фронтенд основного продукта, SPA Wrike, а флаттер просто бескорыстно любим и создаем на нем внутренние тулы. Два года назад мы придумали русскоязычное сообщество дарт и флаттер разработчиков (сейчас в нем бо...

«Для сообщества критически важно установить стандарты»: Марсин Москала о Kotlin Пару лет назад было много блог-постов «смотрите, какой интересный язык Kotlin», где объяснялись основы. В 2019-м разжёвывать азы уже не требуется, зато теперь появляется публикация совсем другого формата. Марсин Москала, который уже не первый год учит людей этому языку, се...

Обзор 14 headless cms 2019 Некоторое время назад в одной заметной на российском рынке публичной компании, в которой я работал, встал вопрос об использовании headless cms. Среди множества реализаций нужно было выбрать одну. Это рассказ о том, как я формировал критерии выбора, как анализировал cms-ки, и...

Вредные советы: как правильно писать техническую документацию? Советы по грамотному написанию технической документации для пользователей. Часть 1 В одной из предыдущих статей мы в общих чертах рассказывали, как именно происходит процесс документирования и локализации наших продуктов. На этот раз под катом – руководство нашего техниче...

Видеокарта GeForce GTX 1660 Ti выйдет 22 февраля, опубликованы изображения моделей EVGA GeForce GTX 1660 Ti XC и Palit GTX 1660 Ti StormX Сегодня в Сети появились новые подробности о видеокартах GeForce GTX 1660 Ti. Мы уже писали об упаковке модели Galax, а сейчас в распоряжении источника оказались изображения моделей EVGA GeForce GTX 1660 Ti XC и Palit GTX 1660 Ti StormX. Но начнем с другого. Как пишет и...

Введение в программирование: простой 3Д шутер с нуля за выходные, часть 2 Продолжаем разговор про 3Д шутер за выходные. Если что, то напоминаю, что это вторая половина: Часть первая: отрисовка стен Часть вторая: населяем наш мир + оконный интерфейс Как я и говорил, я всеми силами поддерживаю желание в студентах делать что-то своими руками. В ча...

[Перевод] Как я пишу конспекты по математике на LaTeX в Vim Некоторое время назад на Quora я отвечал на вопрос: как успевать записывать за лектором конспект по математике на LaTeX. Там я объяснил свой рабочий процесс по конспектированию в LaTeX с помощью Vim и Inkscape (для рисунков). Но с тех пор многое изменилось, так что я хочу оп...

Разрабатываем приложение, которое отсылает данные другим приложениям (экосистемное приложение) Привет, хаброжители! Это моя вторая статья про разработку своего проекта. Тем, кто не читал предыдущая статейку: она про то, как из одного места (гугл таблицы) автоматически экспортировать данные в другое (ноушн). Сегодня я расскажу, как я писал (и проектировал) библиотеку...

[Из песочницы] Управление знаниями в ИТ: первая конференция и общая картина Что ни говори, а управление знаниями (Knowledge Management, KM) все еще остается в среде айтишников этаким диковинным зверьком: Вроде бы понятно, что знание – сила (с), но обычно под этим понимаются некие личные знания, собственный опыт, пройденные тренинги, прокачанные скил...

Обзор TV Time. Сериалы вовремя Мы решили немного отойти от игр и поговорить о приложениях, которые тоже развлекают пользователя, но делают это в своей собственной манере. Например, сегодня мы поговорим о приложении, которое дает возможность смотреть сериалы и не пропускать свежие серии, что очень даже при...

[Перевод] Цена TypeScript В 2017-2019 годах можно было наблюдать серьёзный рост TypeScript. Происходило это по вполне понятным причинам. В этом языке есть много хорошего. Почти половина респондентов исследования State of JavaScript 2018 года уже пробовали TypeScript и собираются писать на нём в будущ...

Конструкция выходного дня: простой MIDI-адаптер Приобрёл я как-то своим детям синтезатор Yamaha PSR-550. Инструмент был уже не первой молодости, но исправный. Дети проявили энтузиазм и с синтезатором освоились быстро: разобрались с управлением, научились «писать банки» и т.п. Мне же не давало покоя наличие на задней сте...

5 способов полезного использования Raspberry Pi Привет Хабр. Raspberry Pi наверное есть дома почти у каждого, и рискну предположить, что у многих она валяется без дела. А ведь Raspberry это не только ценный мех, но и вполне мощный fanless-компьютер с Linux. Сегодня мы рассмотрим полезные возможности Raspberry Pi, для исп...

[Из песочницы] Миграция данных с mongoDB и Spring Boot Каждый разработчик рано или поздно встречается с необходимостью миграции данных в базе данных. На нашем проекте мы используем mongoDB в качестве базы данных. Мы подходили к миграции данных разными способами: писали js скрипты и запускали непосредственно в базе данных исполь...

Как мы делали облачный FaaS внутри Kubernetes и побеждали в Тинькофф-хакатоне Начиная с прошлого года у нас в компании начали организовывать хакатоны. Первое такое состязание прошло весьма успешно, о нем мы писали в статье. Второй хакатон прошел в феврале 2019 и был не менее успешным. О целях проведения последнего не так давно писал организатор. Уч...

Зачем писать свой React Data Grid в 2019 Привет, Хабр! Я участвую в разработке ECM системы. И в небольшом цикле статей хочу поделится нашим опытом и историей разработки своего React Data Grid (далее просто грид), а именно: почему мы отказались от готовых компонент с какими проблемами и задачами мы столкнули при ра...

[Из песочницы] Пишем redux по SOLID В данном посте мы коснемся написания action'ов и reducer'а. Для начала рассмотрим типичный 'flow', в котором мы выполняем следующие операции (далее переработаем все так, чтобы наш код отвечал принципам SOLID). Читать дальше →

Чехол для экшн-камеры SONY HDR-AS300 Всем привет! Пишу пост впервые, поэтому судить строго и указывать на косяки приветствуется!<br /><br />Итак, с чего все началось: поюзав свою камеру с оригинальным кейсом (рассчитанным на погружение до 60м), понял, что звук она не пишет от слова совсем. Однако, у...

Русский в TFT35 для Большого Дерева! Граждане! Давайте поможем русификации этакого экрана. Короткие емкие названия иконок.Для них, это как нам китайская грамота ...) Ваши предложения... пишем вместо кракозяблей в кавычках ! Войдет в новою прошивку. #define RU_LANGUAGE "Язык"    #define RU_HEAT ...

[Из песочницы] Что нужно для разработки игр и кем реально является разработчик игр Большинство людей (нормальных), которые планируют заниматься программированием (как хобби или основной профессией) обычно задаются вопросами: «Что такое программирование?», «Зачем мне нужно программирование?», «Какой язык я буду учить?», «Что я получу в итоге?». Таким был и...

Асинхронные пользовательские сценарии на чистом Rust без фреймворков и SMS Привет, Хабр! Иногда при разработке сетевых сервисов и пользовательских интерфейсов приходится сталкиваться с достаточно сложными сценариями взаимодействия, содержащими ветвления и циклы. Такие сценарии не укладываются в простую стейт-машину — недостаточно хранить все данны...

[Из песочницы] Swagger – умная документация вашего RESTful web-API — обзор Junior back-end developer-а для новичков Предисловие Команда, в которой я сделала свои первые шаги на поприще написания промышленного кода, занималась разработкой удобного API к функциональности программного продукта на C# (для удобства назовем его, скажем, буквой E), существовавшего уже много лет и зарекомендов...

Лайфхак – пишем и бесплатно хостим в облаке вебсайт с гостевой книгой В наше время для того, чтобы развернуть свой сайт в облаке достаточно купить доменное имя. Не верите? Читайте дальше. Предлагаю вам разобрать то, как можно создать гостевую книгу на ASP.NET Core (с reCAPTCHA) и захостить ее бесплатно на довольно известном облачном хостинге ...

Данные бывают смешными Мы в HFLabs перелопачиваем колоссальное количество данных: адреса, ФИО, реквизиты компаний, документы. Весь год писали о сложных и полезных штуках, но пора и честь знать. Перед праздниками — подборка смешных данных, что нам принес 2018-й. Читать дальше →

ECMAScript Proposal: Array.prototype.{flat,flatMap} Нововведения в ECMAScript Здравствуйте читатели Хабр. Предлагаю вашему вниманию интересную штуку которая в скором времени появится в стандарте ECMAScript. Она уже доступна почти во всех браузерах и весь функционал. Это нововведение всего лишь сахар-обертка и ее можно решить...

Motorola One Action поступает в продажу в России за 18990 рублей Ранее мы уже писали о смартфоне Motorola One Action (подробности по спецификациям), сообщая, что в скором времени устройство должно поступить в продажу в нашей стране. Момент настал. Теперь аппарат Moto One Action можно увидеть на полках магазинов с ценником 18990 рублей. ...

Работаем с USB Custom HID на Android В современных Android — приложениях для взаимодействия с другими устройствами чаще всего используются беспроводные протоколы передачи данных, как например Bluetooth. В годы, когда часть устройств имеют беспроводную зарядку, сложно представить себе связку Android устройства ...

11-летний испанский мальчик написал код для сотни видеоигр Антонио Гарсия Висенте выполняет задачи, которые перед ним ставят преподаватели, но не забывает и о Клубе юных программистов при Университете Вальядолида, где началась его «карьера». Как пишут Новости ИТ, Когда Антонио, родившемуся в Вальядолиде в 2007 году, было всего 6 лет...

Поднимаем сервер 1с с публикацией базы и веб сервисов на Linux Сегодня я бы хотел рассказать, как поднять сервер 1с на linux debian 9 с публикацией web-сервисов. Что такое web-сервисы 1с? Web-сервисы — это один из механизмов платформы, используемых для интеграции с другими информационными системами. Он является средством поддержки...

[Перевод] Почему сериал «Чернобыль» настолько плохо описал ядерную энергию Нет, чернобыльская радиация не повредила вашему ребёнку Статья Майкла Шелленбергера – известного автора и колумниста, пишущего про энергию и окружающую среду. С начала мини-сериала «Чернобыль» от HBO, рассказывающего о ядерной катастрофе 1986 года, журналисты расхваливали...

Решение задания с pwnable.kr 11-coin1, 12-blackjack, 13-lotto. Ошибки в логике приложений В данной статье рассмотрим решения 3-х заданий с сайта pwnable.kr. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о следующих категориях: ...

Что такое Initial Exchange Offering (IEO) и чем оно отличается от ICO? В начале 2017 года, был бум ICO, в которых было обмануто очень много людей. Теперь на смену ICO пришли IEO, которые должны уменьшить количество скам проектов. Ранее я уже писал про IEO от Huobi, советую посмотреть. Что такое IEO? Первоначальное биржевое предложение, как ...

Подключиться мобильным устройством к базе данных без написания серверного кода Привет, Хабр! Хочу поделиться своим опытом использования Форсайт мобильной платформы. Если у вас встанет задача удалённого хранения данных и при этом не писать собственный сервер, то первое, что придёт на ум это инструмент Firebase Realtime Database. Большинство читающих зн...

Sagи из жизни Доброго времени суток. У вас тоже есть знакомый react-разработчик, который рассказывает восхитительные истории о сайд-эффектах в redux? Нет?! Могу я стать этим человеком? Автор взял на себя смелость не писать вводную часть о том, что же из себя представляет библиотека redux...

Большая Философская Мысль: топ-10 докладов DotNext 2019 Piter Здравствуй, Хабр! В мае прошла наша большая .NET-конференция, где нашлось место и хардкору, и трендам, и архитектуре, и просто хорошим практикам. А теперь делимся лучшими докладами (по оценкам зрителей конференции), из которых вы: узнаете, почему (скорее всего) пишете ...

Проекты Arduino DIY: роботизированный тир «Демоническая карусель» В предыдущей статье я рассказал о своей новой разработке – роботизированной игрушке «Демоническая карусель». Я существенно доработал эту модель, и хотя устройство находится пока в нерабочем состоянии (предстоит еще писать программу), мне всё же есть что показать и рассказа...

О пиве глазами химика. Часть 3 Привет, %username%. Пока ты копаешься в своём девайсе, мы продолжаем тему о пиве, которую уже частично раскрыли тут, чуть более — тут, но всё ещё не останавливаемся на достигнутом! Я бесконечно рад, что всё-таки решил растянуть это на цикл статей, потому что по комментар...

Капсула времени: HP iPaq h1940 «из коробки». На что годится КПК из 2000-х В прошлые выходные я купил на своей гранадской барахолке очередной гаджет. Им стал КПК HP iPaq h1940. Выбор пал именно на этот девайс, потому что КПК продавали в коробке со всеми документами и даже диском с дополнительным ПО. Обошелся наладонник в 10 евро, как и ноутбук, ...

Web. Решение задач с r0от-мi. Часть 1 Данная статья содержит решение заданий, направленных на эксплуатацию web-узвимостей. Здесь рассмотрим задачи, затрагивающие backup файлы, непроиндексированные директории, http заголовки, редирект и command injection. Организационная информацияСпециально для тех, кто хочет ...

Создание своего jsfiddle, часть 2 Привет всем читателем Habr. В данной статье мы будем продолжать писать свой онлайн редактор кода. В этой статье мы сделаем функцию сохранения кода в localStorage и по обновлению страницы этот код будет вставляться в эти 3 поля, а также сделаем функцию скачивания этого кода...

Как мы разрабатываем персональные товарные рекомендации Наши клиенты-магазины хотят делать крутой маркетинг. Чтобы люди больше покупали, они регулярно шлют им email-рассылки. И каждый раз думают: “Что же написать в письме?”. Можно писать просто: “Покупайте у нас почаще!”, но это не очень-то работает. Идея получше — вставлять в п...

Языковой сервис Duolingo будет учить детей читать и писать Глобальная цель компании — борьба с безграмотностью среди взрослых.

Мы два года развивали свою систему мониторинга. Кликай, чтобы… Всем привет! Я уже рассказывал в этом блоге об организации модульной системы мониторинга для микросервичной архитектуры и о переходе с Graphite+Whisper на Graphite+ClickHouse для хранения метрик в условиях высоких нагрузок. После чего мой коллега Сергей Носков писал о самом ...

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

Наказывают ли в России за незаконную торговлю персональными данными? Наверное, уже весь Хабр знает, что наши персональные данные давно и успешно стали объектом законной и незаконной торговли. Про рынок банковской информации, данных мобильных операторов и госорганов я писал тут в статье: «Анализ цен черного рынка на персональные данные и проби...

Учимся писать Waves смарт-контракты на RIDE и RIDE4DAPPS. Часть 1 (Многопользовательский кошелек) Всем привет! Совсем недавно Waves Labs анонсировал конкурс для разработчиков приуроченный к релизу в тестовую сеть расширения языка смарт-контрактов RIDE для децентрализованных приложений Ride4Dapps! Мы выбрали кейс DAO, так как Ventuary планирует заниматься разработкой dAp...

[Перевод] Cascadeur: будущее игровой анимации Всем привет! Мы — студия разработки Banzai Games. Рады наконец открыть здесь свой блог. Будем писать о наших технологиях, проектах и делиться историями из жизни компании. Первый материал — перевод интервью с основателем студии Евгением Дябиным, которое он дал коллегам из и...

Пишем краулер на раз-два 1.0 Веб-краулер (или веб-паук) — это важная составная часть поисковых систем для обхода веб-страниц с целью занесения информации о них в базы данных, в основном, для их дальнейшей индексации. Такая штука есть у поисковиков (Google, Yandex, Bing), а также у SEO-продуктов (SEMrush...

[Из песочницы] Как не мусорить в Java Существует популярное заблуждение о том, что если не нравится garbage collection, то надо писать не на Java, а на C/C++. Последние три года я занимался написанием low latency кода на Java для торговли валютой, и мне приходилось всячески избегать создания лишних объектов. В и...

«Пятиминутка PHP» о ReactPHP и анонс митапа, плавно переходящего в дринкап Привет, в августе мы проведем в Москве митап с докладчиками из других городов, встречей BeerPHP и трансляцией официальной части для всех, кто не сможет присоединиться. Сегодня начинаем представлять докладчиков. Сергей Жук приедет на митап из Брянска — в его городе нет тусо...

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

Гид по докладам PHP Russia 2019 Всем привет! До единственной профессиональной конференции, сфокусированной на PHP, осталось всего несколько дней. В чате конференции в Telegram участники готовятся к митапам, пишут вопросы, уточняют расписание и обсуждают доклады. Именно поэтому мы решили рассказать про докл...

Показан необычный старый концепт Lamborghini Не так давно мы писали о концерте BMW Garmisch, над которым также работал Гандини, на тот момент работавший в дизайнерском доме Bertone: машина была представлена в 1970 году и забыта на долгое время, однако недавно ее восстановили и показали на конкурсе элегантности текущего...

Осадок #37: РКН стремится к диктатуре, мертвые души операторов, «Яндекс» пытается спасти такси Неделя выдалась относительно спокойной. Давайте вспомним, о чем мы писали в рубрике «Утренняя реплика» в нашем Telegram-канале.

Тренды в Email-маркетинге: нетрадиционная верстка, работа с цветом и типографикой Изображение: Pexels В нашем блоге мы много пишем о внедрении email-маркетинга, использовании этого инструмента для продвижения бизнеса и повышении его эффективности. При этом, пока мы не успели подробнее осветить вопросы, собственно, создания качественных писем. Исправл...

Новый корпус Nitecore D4 + паяльный стол для SMD Получаю я значит сегодня письмо от 3DToday о том, что давно не писал ничего на сайте. Ну раз надо - написать что то, то не вопрос! Правда за это время мало чего интересного было мной сделано. Вот думаю - писать отдельно о каждой мелочи - жалко Ваше время. А вот совместить дв...

Боль, таблетки и две кареты скорой помощи, или Как мы все-таки забрались на пятое место IronStar 226 в Сочи Никогда. Слышите? Никогда не соглашайтесь участвовать в этом безумии. У нас в ИТ все совсем неплохо — теплые и уютные офисы, большие мониторы, хорошие столовые, ДМС. Хочется драйва, работы на пределе сил, переживаний? Пожалуйста. Идите работать на проекты типа ГИС ЖКХ (ранее...

Twitch Extensions. Пишем свое расширение для взаимодействия со зрителями Для подписчиковДва года назад разработчики стриминговой платформы Twitch представили новый способ взаимодействия стримеров и зрителей — Twitch Extensions. Эта система позволяет разработчикам дополнять и улучшать интерфейс как сайта, так и мобильного приложения, создавая разл...

«Сбербанк» нашёл сотрудника, который украл часть данных клиентов Об этом пишут «Ведомости» со ссылкой на пресс-службу банка.

Благодаря Александру Лукашенко и Михаилу Гуцериеву Беларусь станет «Силиконовой долиной Восточной Европы» Беларусь быстрыми темпами вступает в цифровую эру, что позволяет прогнозировать IT-лидерство этой страны в Восточной Европе. О главе государства Александре Лукашенко западные СМИ уже пишут с почтением, называя его инноватором. Этому способствовало создание правового пол...

Акция от RUVDS: готовь сервер летом Лето, безусловно, классное время: жара, солнце, лёгкая одежда и обувь, фрукты и приятные вечера. Для большинства сфер бизнеса лето тоже имеет прикольное преимущество: на фоне спада делового сезона и снижения спроса можно немного отдышаться кондиционированным офисным воздухом...

Юрий Бушмелев «Карта граблей на поле сбора и доставки логов» — расшифровка доклада Логи — важная часть системы, позволяющая понять, что она работает (либо не работает), как ожидается. В условиях микросервисной архитектуры работа с логами становится отдельной дисциплиной специальной олимпиады. Нужно решить сразу кучу вопросов: как писать логи из приложения...

[Перевод] ПО для управления роборукой, автоматически определяющее её конфигурацию Если вы когда-нибудь писали ПО для управления роборукой или вообще любым роботоподобным механизмом с числом степеней свободы более трёх, то знаете, что большую часть времени занимает программирование собственно перемещений. А теперь представьте, что вы построили роборуку, ...

[Перевод] Трудно быть мейнтейнером проекта Open Source Автор — Сальваторе Санфилиппо, разработчик и мейнтейнер свободной СУБД Redis Несколько месяцев назад мне написал мейнтейнер одного системного open source проекта с довольно большим и активным сообществом. Он написал, что много лет изо всех сил пытается поддерживать свой пр...

Ежегодный отчетный хабрапост — 2018 Подводя итоги 2018 года для блога Intel, мы, прежде всего, вспоминаем историческое воссоединение GeekTimes и Хабра (кто из них Бендер, а кто Бендер — решайте сами). В свое время мы много писали о том, что идея разделения Хабрахабр не кажется нам удачной и безмерно рады, чт...

[Перевод] Исчерпывающий список различий между VB.NET и C#. Часть 1 Согласно рейтингу TIOBE в 2018 году VB.NET обогнал по популярности C#. Совпадение или нет, но в феврале Эрик Липперт, один из создателей C#, призвал читателей обратить внимание на блог его друга, бывшего коллеги по команде компилятора Roslyn и, по совместительству, ярого ф...

EyeWire — продолжаем изучать тайны мозга Концепт мурала для города Кембридж, штат Массачусетс. Автор — Даниэла Гамба. Игра EyeWire, про которую я уже писал здесь статью, продолжает нарабатывать новый материал. Ученые в лаборатории Себастьяна Сеунга не полагаются только на игру и только на усилия добровольцев от н...

Около 50% россиян готовы продавать свои персональные данные По данным Ipsos и Всемирного экономического форума большинство граждан России хотели бы получить возможность запретить компаниям использовать свои персональные данные. Правда, около 50% опрошенных готовы предоставлять персональные данные за вознаграждение, о чем пишет «Комме...

Книга «Учимся кодить на JavaScript» Привет, Хаброжители! Мы издали книгу для мальчиков и девочек от 10-11 лет которая поможет самостоятельно, без помощи родителей и учителей, написать программный код. Ты любишь играть онлайн? Общаться с друзьями через ВКонтакте, Фейсбук и Инстаграм? Смотреть видеоролики на см...

[Из песочницы] Инкапсуляция для настоящих самураев, или нюансы, связанные с ключевым словом internal в C# Пролог: internal is new public Каждый из нас мечтал о проекте, где всё будет сделано правильно. Это кажется вполне естественным. Как только ты узнаёшь о самой возможности писать хороший код, как только слышишь легенды о том самом коде, который можно легко читать и изменять, ...

[Перевод] Как писать Go-пакеты Пакет Go состоит из Go-файлов, расположенных в одной и той же директории, в начале которых имеется одинаковое выражение package. Пакеты, подключаемые к программам, позволяют расширять их возможности. Некоторые пакеты входят в состав стандартной библиотеки Go. А это значит, ч...

Через тернии к игре мечты — прогресс и эволюция существ Всем привет! Мы продолжаем работать над игрой “мечты” Another Way. Это уже третий пост на эту тему, с предыдущим вы можете ознакомиться по ссылке — Через тернии к игре мечты — месяц спустя. Я не писал о прогрессе чуть более месяца, скопилось много много информации, поэтому...

Как научиться писать тексты: бесплатный курс от редакторов Лайфхакера Вас ждёт теория, много примеров и домашки. Справитесь — будет легче выполнить тестовое задание и стать нашим автором.

Пишем простой модуль Magisk для Android Введение Одним вечером я устал менять TTL после перезагрузки устройства и подумал как можно было бы делать это автоматически. Android же Linux и на нем должен быть аналог systemd или он сам. В процессе исследований мой взор пал на Magisk. На удивление разработать модуль для ...

Писать или не писать. Письма в органы власти при проведении мероприятий Все, кто проводит мероприятия или только собираются их проводить, работают в правовом поле законодательства. В нашем случае законодательства России. И в нём часто есть спорные моменты. Один из них — писать или не писать письма-уведомления в органы власти при подготовке мероп...

Полный цикл тестирования React-приложений. Доклад Авто.ру Стремление уйти от ручного регрессионого тестирования — хороший повод внедрить автотесты. Вопрос, какие именно? Разработчики интерфейсов Наталья Стусь и Алексей Андросов вспомнили, как их команда прошла несколько итераций и построила тестирование фронтенда в Авто.ру на базе ...

Intel продолжит поставлять 4G-модемы для iPhone Мы уже писали о примирении Apple и Qualcomm, предположив, что его главной причиной стал отказ Intel от выпуска 5G-модемов. Но, по словам руководителя Intel Роберта Суона (Bob Swan), такая логическая цепочка в корне ошибочна. Подробнее об этом читайте на THG.ru.

Раскрыта стоимость трёх вариантов Redmi K20 Pro: аттракцион невиданной щедрости Вчера мы уже писали о возможной стоимости смартфонов серии Redmi K20. Но эта информация не несла с собой особой конкретики и была скорее догадкой одного из китайских аналитиков. И сегодня у нас появилась куда более детальная и надёжная информация о стоимости флагманского Red...

[Опрос] Какая у Вас кинематика? Кинематик много вокруг разных.... Интересно, какую выбирает народ и почему)) Пишите циферки, посмотрим  сколько и почему!ДельтаПрушаH-BotCoreXYScaraЧто забыл?

[Перевод] 5 продвинутых техник тестирования на Go Всем салют! До старта курса «Разработчик Golang» остается меньше недели и мы продолжаем делиться полезным материалом по теме. Поехали! Go имеет хорошую и надежную встроенную библиотеку для тестирования. Если вы пишите на Go, то вы уже это знаете. В этой статье мы поговори...

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

Драйвер шагового двигателя "под микроскопом" на примере DRV8825 (PWM, Overshoot, Slow Decay, Fast Decay, Mixed Decay, SS34, пропуск шагов, ложные выводы, панацея и всё такое) Заранее прошу прощения, если рассуждения местами сумбурны, писал за один заход, но слишком много материала для одного раза. Также там есть опечатки.Описанное в статье даёт представление о работе не только DRV8825, но и драйверов двигателей вообще.Что из себя представляет DRV...

[Перевод] Fluent 1.0: гибкая система локализации Fluent — семейство спецификаций, реализаций и практик для локализации, разработанной Mozilla. Сейчас она применяется в браузере Firefox. Используя Fluent, переводчики могут писать более естественные переводы на родном языке. Сегодня мы представляем спецификацию формата фай...

Анализ кода CUBA Platform с помощью PVS-Studio Для Java программистов существуют полезные инструменты, помогающие писать качественный код, например, мощная среда разработки IntelliJ IDEA, бесплатные анализаторы SpotBugs, PMD и другие. Всё это уже используется в разработке проекта CUBA Platform, и в этом обзоре найденных...

Tesla представила новую Model Y — подробности, фото с презентации и впечатления от тестрайда Сегодня в 6 утра по Москве Tesla презентовала новый электромобиль Model Y. Вчера мы писали об ожиданиях, и почти все они оправдались, без сюрпризов. Это кроссовер на платформе Model 3, очень похожий на нее по дизайну. Под катом — подробности, фото и впечатления от тестрайд...

Must-have плагины и несколько полезностей для С\С++ разработки в VS Code Удивительно, но до сих пор на Хабре нет хорошей подборки плагинов для Visual Studio Code для тех, кто пишет на С/С++. Microsoft в своем блоге опубликовали только статью, совсем базового уровня с инструкцией по настройке. Но большинство читателей Хабра, тем более из разрабо...

Как строить, развертывать и тестировать Waves RIDE dApp Здравствуйте! В статье я покажу, как написать и запустить на ноде Waves обычный dApp. Рассмотрим необходимые инструменты, методы и пример разработки. Схема разработки dApps и обычных приложений почти не отличается: Пишем код Пишем автоматизированное тестирование Запуска...

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

[Из песочницы] Три относительно честных способа создания Flutter проекта Итак, с презентацией Google первой стабильной версии Flutter, которая случилась 4 декабря 2018 г. начался процесс изменения ландшафта на полях мобильного программирования. Появился новый игрок, способный изменить правила самой игры. Теперь из одной базы кода можно создават...

Интересные подробности о видеокарте AMD Radeon RX 3080 (Navi): производительность на уровне Radeon Vega 56 и GeForce GTX 1080 при цене $260 Вчера мы писали о том, что видеокарты AMD Navi будут представлены на игровой выставке E3, которая пройдет в этом году с 12 по 14 июня, а сейчас анонимный источник опубликовал подробности об одной из представительниц семейства. Судя по цене — $260 за референсную ве...

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

Почему только прокачка кодинга не сделает из тебя лучшего разработчика Techlead Skyeng Кирилл Роговой выступает на конференциях с докладом, в котором рассказывает о навыках, развивать которые стоит каждому хорошему разработчику, чтобы стать лучшим. Я попросил его поделиться этой историей с читателями Хабры, передаю Кириллу слово. Миф про хорош...

[Перевод] Основы движков JavaScript: прототипы оптимизации. Часть 1 Всем привет. Все меньше времени остается до запуска курса «Безопасность информационных систем», поэтому сегодня мы продолжаем делиться публикациями, приуроченными к запуску данного курса. Кстати, нынешняя публикация является продолжением вот этих двух статей: «Основы движков...

Электрички Москвы (и не только): спасибо тем, кто помогал в этом году Электричка слева — Аэроэкспресс — теперь тоже добавлена в приложение. В день расписание у нас просматривают 600 тысяч человек, поэтому каждое маленькое изменение имеет эффект большого масштаба. Я хочу немного отчитаться о том, что мы добавили в приложение электричек по п...

Приложение для iOS и Android на Kotlin + Flutter UI Вступление Всем привет. Какое-то время назад, я решил делать свой проект для Android и iOS одновременно. Естественно, встал вопрос о выборе технологий. Пару недель присматривался к популярным стекам и выбрал Kotlin/Native. Поскольку я являюсь Android-разработчиком, то с Ko...

[Из песочницы] Не учите паттерны, учите концепции Добрый день (или вечер, или утро, в зависимости от того, когда выйдет этот пост). Я хочу высказаться о элитарной части программирования, и донести, в общем-то, очевидную мысль до начинающих в back-end(и не только) разработке, попутно используя попытку начать писать на Хабре...

Одна из компаний холдинга Alphabet, о которой мы почти ничего не знаем, получила 1 млрд долларов инвестиций Ещё в 2015 году, когда холдинг Alphabet только начал своё существование, мы писали о создании подразделения Verily, которое должно было заниматься проектами, связанными с медициной. За прошедшие годы о Verily мы упоминали всего несколько раз. В частности, когда писали ...

«“Сделать приложение для людей” — это не набросать на коленке»: о мобильной разработке в ЦФТ Какие проблемы возникают при увеличении мобильной команды в 10 раз? По каким причинам в одной и той же компании Android-разработчики предпочитают использовать известные библиотеки, а в iOS чаще пишут собственные решения? Каково живётся мобильным разработчикам в финтехе? В...

Контроллер-луковка. Разбиваем экраны на части В дизайне популярен atomic design и дизайн системы: это когда всё состоит из компонентов, от контролов до экранов. Программисту писать отдельные контролы несложно, но что делать с целыми экранами? Разберём на новогоднем примере: налепим всё в кучу; разделим на контроллеры: ...

«Берегите тех, кто говорит правду»: письмо главного редактора «Лайфхакера» Мы много пишем о лайфхаках. Ловите главный: когда нарушают ваши права, молчать нельзя.

Intel представила свой первый процессор для систем ИИ Процессор Springhill уже использует Facebook, пишет Reuters.

Как быстро попробовать CQRS/ES в Laravel или пишем банк на PHP Недавно в подкасте "Цинковый прод" мы с товарищами обсуждали паттерн CQRS/ES и некоторые особенности её реализации в Elixir. Т.к. я в работе использую Laravel, грех было не покопаться в интернетах и не найти как же можно потягать этот подход в экосистеме данного фреймворка....

[Перевод] Очень математическая история идеального сочетания цветов Захари Бир создаёт рисунки, используя цветовую палитру от цветовой схемы для Мака Solarized и собственную программу для генерации изображений Geometriq. Пару лет назад я влюбился в цветовую палитру: цвет, чуть темнее белого, выделяемый жёлто-оранжевым и нейтральным голубым...

[Из песочницы] Пишем никому не нужный эмулятор Доброго времени суток. Довольно давно имелось желание написать эмулятор какого-нибудь процессора. А что может быть лучше, чем изобрести велосипед? Имя велосипеду — V16, от склеивания слова Virtual и, собственно, разрядности. Читать дальше →

[Перевод] Руководство по API Коллекций Vavr VAVR (известная ранее, как Javaslang) — это некоммерческая функциональная библиотека для Java 8+. Она позволяет писать функциональный Scala-подобный код в Java и служит для уменьшения количества кода и повышения его качества. Сайт библиотеки. Под катом — перевод статьи, сис...

Мелкая питонячая радость #2: Starlette Тунельное зрение Так уж сложилось, что на Python пишут много веб-приложений. Эту нишу Python разработки почти полностью поделили между собой два здоровых игрока — Django и Flask. Поэтому большой процент программистов, пишущих на Python, заточен на работу с этими двумя фрейм...

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

Решение задания с pwnable.kr 19 — unlink. Переполнение буфера в куче В данной статье разберемся с уязвимостью переполнение буфера в куче, а также решим 19-е задание с сайта pwnable.kr. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буд...

«Приседаю со 100 килограммами и никогда не чувствовала себя лучше»: кто и как пишет про спорт для Лайфхакера Ия Зорина создаёт авторские тренировки и ходит на руках, но так было не всегда.

Осадок #47: жадность Mail.ru Group, вторичность Tele2 и причины подорожания связи Действительно громких новостей на этой неделе практически не было, а потому и утренние реплики в Telegram-канале Content Review были больше посвящены общим темам, а не реакции на конкретные события. Исключением стала исключительная жадность и неадекватность Mail.ru Group, но...

JUnit в GitLab CI с Kubernetes Несмотря на то, что все прекрасно знают, что тестировать свой софт важно и нужно, а многие давно делают это автоматически, на просторах Хабра не нашлось ни одного рецепта по настройке связки таких популярных в этой нише продуктов, как (любимый нами) GitLab и JUnit. Восполним...

[Перевод] Как делать сайты в 2019 году Веб стремительно меняется, не отставай и ты! Я писал такую подобную статью в 2018 году, но веб меняется так быстро, что те гайдлайны уже безнадёжно устарели. Давайте-ка шаг за шагом разберём важнейшие принципы веб-дизайна в 2019 году. Обязательно дайте пользователю знать, ч...

[Из песочницы] Redux-symbiote — пишем действия и редьюсеры почти без боли React-redux замечательная штука. При правильном использовании архитектура приложения эффективна, а структура проекта и легко читаемая. Но как и в любом решении есть свои особенности. Описание действий и редьюсеров одна из таких особенностей. Классическая реализация двух эти...

Как подключить галерею PhotoSwipe в WebView android Я не профессиональный разработчик, хотя и учился на программиста. Сейчас работаю системным администратором и планирую переходить в разработчики. Пишу для себя приложение, которое парсит один из популярных сайтов тематики IT и показывает статьи в нативном приложении android. ...

[Перевод] Производительность — это не только CPU: создание собственных профилировщиков для Python Предположим, ваша Python-программа оказалась медленной, и вы выяснили, что это лишь отчасти обусловлено нехваткой процессорных ресурсов. Как выяснить то, какие части кода вынуждены ожидать чего-то такого, что не относится к CPU? Прочтя материал, перевод которого мы публик...

[Из песочницы] Что не так с нашим IT Когда я только начинал смотреть в сторону программирования, а это, примерно, 2012 год, мои попытки нагуглить, что же учить и с чего начать, сводились к ответам с тогда еще незнакомого мне, stackoverflow и, казавшегося чуть ли ни единственным ресурсом в it — Хабре. С тех по...

[Из песочницы] Пишем telegram бота на python с помощью библиотеки telebot Лирическое отступление Боты сегодня — это многофункциональный инструмент, как для бизнеса, так и для развлечений. Лично я считаю, что за ними будущее. Конечно, прочитав эту статью, вы не сможете создавать большие проекты, но заинтересоваться и начать — вполне. Установка и н...

E-Dobavki — веб-сервис поиска пищевых добавок на Java и Spring Boot, написанный моими студентами Введение Так получилось, что последние почти два года я преподаю программирование в одной из IT школ Киева. Занялся я этим Just For Fun. Когда-то я вел блог по программированию, потом забросил. Но желание рассказывать полезные вещи заинтересованным людям никуда не делось. Мо...

Как научиться красиво писать Есть всего два ключа к успеху: вдумчивая подготовка и ежедневные тренировки.

Как сделать так, чтобы вашу англоязычную статью для Хабра прочитали десятки тысяч человек: 3 простых совета Англоязычная версия Хабра существует уже какое-то время. Все больше пользователей пробуют свои силы в переводе своих русскоязычных статей и написании новых. Я очень много пишу на английском по работе, и вижу некоторые повторяющиеся ошибки, которые не позволяют таким статья...

Как сделать из сайта приложение и выложить его в Google Play за несколько часов. Часть 2/2: Trusted Web Activity В первой части мы превратили наш сайт в Progressive Web App. Там же было сказано, что совсем недавно, 6 февраля 2019 года, Google предоставили простую возможность выкладывать PWA в Google Play при помощи Trusted Web Activity. Всё, что нужно сделать, это написать небольшую ...

Преимущества анализа приложений 7 уровня в межсетевых экранах. Часть 1. Основы Почему появилась эта статья? Неоднократно приходил к коллегам-безопасникам, которые пользуются межсетевым экраном нового поколения и видел, что они продолжают писать правила по номерам портов. На мое предложение перейти писать по имени приложений, слышал «А вдруг так не зар...

[Перевод] Искусство аннотирования: пишем Java-friendly код на Kotlin Привет, Хабр! Сегодня мы затронем важнейшую тему: интероперабельность Java и Kotlin. Авторы предлагаемой публикации разумно предполагают, что переписать на Kotlin базу кода, сделанную на Java, маловозможно. Поэтому правильнее обеспечить взаимодействие кода на Java и Kotlin....

Необычный бонусный тариф МГТС на домашний интернет. 350 рублей за 200 мегабит Для тех, кто читает нас постоянно, не секрет, что у МГТС есть «особые» тарифы на мобильную связь. Например, мы уже писали по тариф МГТС «Смарт для своих» и рассказывали, как его можно получить. Читать полную статью

Поиск JS-фреймворка для генерации UI Как-то я захотел попробовать реализовать одно маленькое клиент-серверное приложение. Реализация в задумке была такая: на клиентской стороне рисуем с помощью какого-нибуть JS-фреймворка окошки, на серверной стороне обрабатываем вызовы с клиента с помощью скомпилированного пр...

[Перевод] Краткий курс по управлению удаленными командами Всем привет! Я уже давненько не писал и подзабыл, как это делается, но хочу поделиться информацией, которая многим может пригодиться. Ведь ко мне постоянно пристают с вопросами, вроде: ● «Стоит ли работать удаленно?» ● «Как вы организовали удаленную работу для своей команды?...

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

Linux Kernel 5.0 — пишем Simple Block Device под blk-mq Good News, Everyone! Linux kernel 5.0 уже здесь и появляется в экспериментальных дистрибутивах, таких как Arch, openSUSE Tumbleweed, Fedora. А если посмотреть на RC дистрибутивов Ubuntu Disko Dingo и Red Hat 8, то станет понятно: скоро kernel 5.0 с десктопов фанатов пе...

ОВЕН ПЛК110[M02]-MS4, HMI, OPC и SCADA, или сколько человеку необходимо Ромашкового чая. Часть 2 Добрый день, друзья. Вторая часть обзора поспевает за первой, и сегодня я пишу обзор на верхний уровень обозначенной в заголовке системы. В группу инструментов верхнего уровня у нас входит всё программно-аппаратное обеспечение стоящее выше сети ПЛК (IDE для ПЛК, HMI, утилит...

Один день из поддержки пользователей PVS-Studio Мы рады любым тематическим общениям на тему качества кода. Нам пишут клиенты, студенты и любые другие пользователи со всех уголков интернета. Независимо от страны, часового пояса или языка. Языка разговорного, конечно. Среди языков программирования нам всё же интересен огра...

В Москве протестируют беспилотный трамвай. Мы поговорили с разработчиками автопилота На днях «Ведомости» рассказали, что скоро в Москве начнут тестировать беспилотный трамвай. Сейчас его испытывают в депо, но через пару месяцев планируют запустить на маршруте №17 — пока без пассажиров и с водителем в кабине. На следующем этапе водитель тоже продолжит кон...

«Яндекс.Телефон» не пользуется спросом Фото: Артём Геодакян/ТАСС Как и предполагали эксперты, завышенная цена 18 000 руб. не позволила первому российскому смартфону стать по-настоящему массовым. Продажи «Яндекс.Телефона» начались 6 декабря 2019 года, но за неполный месяц розничные сети сумели реализовать всего ...

Пишем свой язык программирования, часть 1: пишем языковую ВМ Введение Доброго времени суток всем хабрачитателям! Итак, пожалуй стоит сказать, что целью моей работы, на основе которой будет написан ряд статеек было пройти весь путь создания полнофункционального ЯП самому с 0 и затем поделиться своими знаниями, наработками и опытом с и...

Apple против горячего шоколада. Пользователи iPhone с iOS 13 не могут написать словосочетание Hot Chocolate Со смартфонами Apple, а точнее, с их ПО, порой происходят странные и забавные ситуации. Можно вспомнить калькулятор, который не мог посчитать простейшие примеры. Теперь вот новенькие iPhone за огромные деньги не способны написать словосочетание Hot Chocolate. На самом д...

Реверсим MIPS и Golang — основы реверса. Решение задач на реверсинг с r0от-мi. Часть 2 В данной статье разберемся с декомпиляцией MIPS бинарника в Ghidra и пореверсим программу, написанную на golang, в IDA. Часть 1 — C, C++ и DotNet decompile. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информа...

Spring Boot 2: чего не пишут в release notes Когда у масштабного проекта происходит масштабное обновление, всё никогда не бывает просто: неизбежно возникают неочевидные нюансы (проще говоря, грабли). И тогда, как бы хороша ни была документация, с чем-то поможет только опыт — свой или чужой. На конференции Joker 2018...

[Из песочницы] Поймут даже дети: простое объяснение async/await и промисов в JavaScript Привет, Хабр! Представляю вашему вниманию перевод статьи «JavaScript Async/Await and Promises: Explained like you’re five years old» автора Jack Pordi. Каждый, кто считает себя JavaScript-разработчиком, в какой-то момент должен был столкнуться с callback-функциями, промисам...

[Из песочницы] Управление зависимостями в Python: сравнение подходов Я пишу на питоне лет пять, из них последние три года — развиваю собственный проект. Большую часть этого пути мне помогает в этом моя команда. И с каждым релизом, с каждой новой фичей у нас все больше усилий уходит на то, чтобы проект не превращался в месиво из неподдержива...

Опровергаем четыре стереотипа о языке программирования Rust Язык программирования Rust, созданный и поддерживаемый корпорацией Mozilla, позволяет обычным программистам писать одновременно и безопасные и быстрые системы: от калькуляторов до высоконагруженных серверов. За своё относительно короткое время существования данный язык уже ...

Кастомизация Django ORM на примере ZomboDB Кастомизация Django ORM на примере ZomboDB Часто при работе с Django и PostgreSQL возникает необходимость в дополнительных расширениях для базы данных. И если например с hstore или PostGIS (благодаря GeoDjango) всё достаточно удобно, то c более редкими расширениями — вроде p...

[Из песочницы] Ассемблерные вставки… в C#? Итак, эта история началась с совпадения трёх факторов. Я: в основном писал на C#; лишь примерно представлял, как он устроен и работает; заинтересовался ассемблером. Эта, на первый взгляд, невинная смесь породила странную идею: а можно ли как-то совместить эти языки?...

Холивар. История рунета. Часть 5. Тролли: ЖЖ, бешеный принтер, Потупчик Холивар. История рунета. Часть 1. Начало: хиппи из Калифорнии, Носик и лихие 90-е Холивар. История рунета. Часть 2. Контркультура: пАдонки, марихуана и Кремль Холивар. История рунета. Часть 3. Поисковики: Яндекс vs Рамблер. Как не делать инвестиции Холивар. История рунета. Ч...

Пишем на Java для Nintendo DS Введение Все началось с того, что я случайно нашел список homebrew программ (программы, разработанные усилиями пользователей для устройств, не предназначенных для запуска пользовательского ПО) для Nintendo DS и в нем увидел одну очень интересную строчку, а именно: «Pstros ...

[Из песочницы] Асинхронный PHP и история одного велосипеда После выхода PHP7 появилась возможность сравнительно небольшой ценой писать долгоживущие приложения. Для программистов стали доступны такие проекты, как prooph, broadway, tactician, messenger, авторы которых берут на себя решение наиболее частых проблем. Но что если сделать ...

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

Математика любви По материалам статьи Julien Clinton Sprott. Dynamical models of love. Nonlinear Dynamics Psychology and Life Sciences, August 2004. Я алгеброй гармонию поверил… Теория мой друг суха, но древо жизни вечно зеленеет… Кто только не бился об эту «проблему»…. Ее разбирали в дре...

[Из песочницы] Как мы сделали движок и игру на нем за полтора года Всем привет, дорогие друзья! Вот сижу, смотрю на бесконечную простыню кода, провожу ревью с баночкой ред була. Прошел год. Год, блин, всего лишь год — так много и так мало одновременно. На этот год у нас были наполеоновские планы, и сейчас кажется, что мы мало что успели. С ...

Получение разрешения на работу в Чехии: смена работодателя в случае дуальной трудовой карты Добрый день, уважаемые читатели! Я уже писал о том, как можно получить дуальную трудовую карту чтобы легально работать в Чехии, уже находясь в стране. Сейчас я бы хотел рассказать о процедуре смены работодателя в случае дуальной трудовой карты. Кому интересно, прошу под кат...

Достать worklog из Jira Всем привет, недвано я писал про api клиент для Jira. Разбираться с ним я начал, когда возникла необходимость автоматизировать формирование отчета по времени(отчеты нужны заказчику). В итоге получися небольшой инструмент который позволяет быстро и легко вытаскивать необходим...

[Перевод] 12 английских слов, которые часто пишут и произносят неправильно В английском языке полно довольно непростых слов, которые не так-то легко правильно произнести и написать. Мне на глаза попался пост, в котором собраны 12 таких слов, в которых многие делают ошибки, и даны рекомендации о том, как их избежать. Я подготовила перевод этого ма...

Какой код нужно показывать на собеседовании Сегодня с утра был очень интересный пост о том, какой код нужно писать на собеседовании и какие навыки при этом демонстрировать. Тестовая задача была такая. Написать на TypeScript функцию, которая для заданного массива чисел выводит текстовую строку диапазонов: getRanges([...

Дайджест интересных материалов для мобильного разработчика #288 (24 февраля — 3 марта) В новом дайджесте мы справляемся с раскладушками и пишем приложения на ассемблере, практикуем функциональный Swift и делаем бионическое зрение, разрабатываем на Flutter и улучшаем UX, исследуем лучшие игры и приложения. Добро пожаловать! Читать дальше →

Тренды продуктовой аналитики нового времени О продуктовой аналитике на Хабре пишут не так часто, но публикации, причем хорошие, появляются с завидной регулярностью. Большинство статей о продуктовой аналитике появились за последние пару лет, и это логично — ведь продуктовая разработка становится все более важной как...

Как мы внедряли Agile-testing Привет! Меня зовут Алёна Исакова, я ведущий тестировщик в Авито, и я хочу рассказать вам про свой опыт введения Agile-тестирования в команду. Когда я читала доступные на русском языке статьи про Agile-тестирование и ATDD, у меня сложилось впечатление, что я «не модная», «не ...

Алгорейв: как программисты устраивают вечеринки Источник Разработчики будущего пишут не просто код — они создают алгоритмический рейв. Алгорейв — это написание и использование алгоритмов, генерирующих танцевальную музыку в режиме реального времени перед физически присутствующей аудиторией. Генеративная музыка — явление...

История одного «разработчика» или как новичку написать приложение для iOS Итак май 2018 года. Предпринято 7 попыток за 7 лет начать программировать что-то под iOS. И каждый раз одно и тоже: то Objective-C что-то страшное и не понятное, то нету идеи. И дальше Hello World, раз в год, вообщем дело не заходило… В этот раз новый Xcode и новый для ме...

Реализация сопоставления с образцом в Java Многие современные языки поддерживают сопоставление с образцом (pattern matching) на уровне языка. Java в данный момент не поддерживает pattern matching, но есть надежды что в будущем все может измениться. Сопоставление с образцом раскрывают перед разработчиком возможность п...

Трагичная история знакомства с poppler …Или как мы писали пилот приложения для ОС Sailfish с использованием poppler. Год начался с занятной задачи — нашей команде нужно было за короткий срок собрать пилот приложения «Мобильное рабочее место руководителя» на ОС Sailfish. По сути, это мобильный клиент СЭД, т.е. о...

Custom instruments: когда signpost недостаточно Instruments для Xcode компании Apple — это инструменты для анализа производительности iOS-приложения. Их используют для сбора и отображения данных, которые необходимы в отладке кода. В прошлом году Apple презентовала Custom Instruments. Это возможность расширить стандартный ...

[Из песочницы] Настройка VSCode для работы с Scala Статья рассчитана на новичков в программировании на Scala, каким я сам и являюсь, и просто на желающих начать писать программный код в VSCode. Так получилось, что единственным гайдом по теме работы со Scalой в Visial Studio Сode оказалось это видео на ютуб-канале DevInside...

Антирейтинг 2018 Эта статья написана по аналогии со статьей «Как не надо писать на Хабр: Антирейтинг 2017». Статьи взяты за 2018 год, точнее, начиная с индекса 345000. Кроме отрицательных значений рейтинга, есть список по абсолютному количеству минусов (видимо, самые обсуждаемые темы, в бо...

Samsung Galaxy S10+ признан лучшим в мире смартфоном по версии Consumer Reports Вчера мы уже писали о том, что новые смартфоны серии Samsung Galaxy S10 возглавили рейтинг Роскачества и ICRT. А теперь лидерство Samsung признала ещё одна авторитетная организация - Consumer Reports. Подробнее об этом читайте на THG.ru.

Мелкая питонячая радость #9: консольные приложения с человеческим лицом Философы говорят, что людей нужно оценивать не по тому, как высоко они могут забраться, а по тому, как низко они могут пасть. В мире есть много прекрасных разработчиков, которые могут выдавать эффектные алгоритмы, изящные архитектуры и прекрасный код. Но эти же программеры ...

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

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

Запускаем “десктопное” ПО на микроконтроллере Embox принимал участие в IT фестивале TechTrain. Мы как и в первый раз привезли железки и вживую показали наши достижения. О некоторых мы уже писали на хабре, но мало ли кто не поверил :). Были показаны VoIP телефон, Qt и OpenCV, все на базе STM32F7-Discovery. Кроме стенда ...

[Перевод] Как работает оптимизирующий компилятор Оптимизирующие компиляторы — основа современного ПО: они позволяют программистам писать код на понятном для них языке, затем преобразуя его в код, который сможет эффективно исполняться оборудованием. Задача оптимизирующих компиляторов заключается в том, чтобы понять, что де...

Деревянные игрушки, часть первая — 1982-1985 Когда писал обзоры на ноутбук Compaq LTE, не думал, что настолько затяну с игрушечной частью. Но, как выяснилось, тут «работы» гораздо больше, чем думал. К примеру, куча игр, в которые играл уже в девяностые, оказалась из восьмидесятых. Плюс одно тянет за собой другое — втор...

Это читерство! Учимся взламывать игры и писать читы на простом примере Для подписчиковКомпьютерные игры хороши тем, что вознаграждение за успех приносит реальное удовольствие, а цена провала невелика. Но иногда, чтобы открыть новые способности или просто ускорить игровой процесс, ты прибегаешь к не самым честным способам. И если изменить правил...

Ссылки на MIUI 11 для тех, кто хочет установить прошивку вручную MIUI 11 уже существует в глобальной версии, которая приходит на устройства пользователей в России. К примеру, мы писали о том, как прошивка появилась для Xiaomi Mi Mix 2S, а также, что в ней обнаружилось нового. Но этот процесс далеко не быстрый, так как раздача идёт волна...

Samsung Galaxy Note 10 и Galaxy Note 10e будут отличаться не только размерами Вчера мы уже писали о планах Samsung по выпуску двух вариантов флагманского планшетофона Galaxy Note 10, которые можно условно назвать Galaxy Note 10 и Galaxy Note 10e. Но, как выяснилось, размер экрана станет не единственным отличием двух продуктов. Подробнее об этом читайт...

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

[Перевод] Кодогенерация в Dart Известно, что для программиста очень хорошо быть ленивым, потому что делать больше с меньшими затратами — ключ к прогрессу. Никто не любит делать одно и то же снова и снова. Это утомительно, скучно, да и совсем не креативно. Повторяя одно и то же действие мы часто делаем оши...

Stack Overflow на русском: инструкция по убийству сообщества Когда разнеслись новости не только об открытии Stack Overflow на русском языке, но и об импорте неизвестного мне тогда "Хэшкода", то я решил присоединиться. Чем чёрт не шутит? И знаете, мне понравилось. Небольшое, но сплочённое сообщество, возможность реально улучшить состоя...

[Перевод] Оцениваем рекрутёров по холодным письмам Сегодня я расскажу как я оцениваю рекрутёров, которые пишут мне с предложениями о работе по так называемым "холодным письмам" (это как "холодные звонки", только письма), а так же приведу несколько примеров. Читать дальше →

[Перевод] C# является языком низкого уровня? Я большой поклонник всего, что делает Фабьен Санглард, мне нравится его блог, и я прочитал обе его книги от корки до корки (о них рассказывали в недавнем подкасте Hansleminutes). Недавно Фабьен написал отличный пост, где расшифровал крошечный рейтрейсер, деобфусцировав код ...

Геттеры/сеттеры и проблема с инкапсуляцией в Symfony коде Сравнительно недавно работаю с Symfony (чуть более года) и во всех проектах, что довелось поработать — сущности всегда создавались таким образом, что они содержали только приватные поля и голые сеттеры/геттеры к ним. В статьи будут рассуждения и примеры, почему такой подход...

Главная арена страны. Как обновлялись «Лужники» перед Чемпионатом мира по футболу Пришло время рассказать, как мы готовили стадион «Лужники» к Чемпионату мира по футболу. Команде «ИНСИСТЕМС» и «ЛАНИТ-Интеграции» достались слаботочные, противопожарные, мультимедийные и IT-системы. Вообще-то еще рано писать мемуары. Но, боюсь, когда для этого настанет время...

[Из песочницы] .NET зоопарк под призмой NET Core Всем привет! Сегодня мы рассмотрим разные фишки и изменения, которые появились в .NET Core платформе и сравним их с Framework. Я разбил статью на модули для более лучшего понимания. Эта статья будет интересна тем кто собирается переходить на .NET Core или уже использует его....

[Перевод] Пишем кастомный трансформер AST на TypeScript Команда TestMace снова с вами. На этот раз мы публикуем перевод статьи о преобразовании кода TypeScript, используя возможности компилятора. Приятного чтения! Введение Это мой первый пост, и в нём мне бы хотелось показать решение одной задачи с помощью API компилятора TypeScr...

Удалённое управление эмулятором Fceux с помощью Python В статье я опишу, как сделать эмулятор NES управляемым удалённо, и сервер для удалённой отправки команд на него. Зачем это нужно? Некоторые эмуляторы различных игровых консолей, в том числе и Fceux, позволяют писать и запускать пользовательские скрипты на Lua. Но Lua – пл...

Python из C В прошлом году появилась необходимость дополнить старый проект написанный на C функционалом на python3. Не смотря на то, что есть статьи на эту тему я помучился и в том году и сейчас когда писал программы для статьи. Поэтому приведу свои примеры по тому как работать с pytho...

Функциональный Swift — это просто В статьях о функциональном программировании много пишут о том, как ФП подход улучшает разработку: код становится легко писать, читать, разбивать на потоки и тестировать, построить плохую архитектуру невозможно, а волосы становятся мягкими и шелковистыми. Недостаток один — в...

Век живи — век учись. Часть 2. Вуз: 5 лет или 5 коридоров? Высшее образование в России — это тотем, фетиш, пунктик и идея фикс. С детства нам внушалось, что «поступить в институт» это джек-пот: все дороги открыты, работодатели выстроились в очередь, зарплата летит на карту. У этого явления есть исторические и социальные корни, но се...

Жизненный цикл статьи на Хабре: пишем хабрапарсер Привет Хабр! Многие постоянные читатели и авторы сайта наверное задумывались о том, какой жизненный цикл имеют опубликованные здесь статьи. И хотя интуитивно это и так более-менее ясно (очевидно например, что статья на первой странице имеет максимальное число просмотров), н...

[Из песочницы] Пять проблем в процессах эксплуатации и поддержки Highload ИТ систем Привет, Хабр! Десять лет я поддерживаю Highload ИТ системы. Не буду писать в этой статье о проблемах настройки nginx для работы в режиме 1000+ RPS или другие технические вещи. Поделюсь наблюдениями о проблемах в процессах, которые возникают в поддержке и эксплуатации таких с...

Термоакустика. Выработка электроэнергии из звука с помощью динамика Рис. 1. – Внешний вид 4-х ступенчатого термоакустического двигателя с бегущей волной В предыдущих статьях я писал о том, как построить двигатель Стирлинга без поршней, то есть о том, как построить кольцевой термоакустический двигатель с бегущей волной 1 статья, 2 статья, 3...

Как резидентные прокси помогают в бизнесе: реальный кейс использования Infatica в сфере Data Mining В нашем блоге мы не только пишем о технологиях обеспечения приватности, но и рассказываем о реальном применении сервиса Infatica для решения бизнес-задач. Сегодня речь пойдет о применении сервиса резидентных прокси в сфере Data Mining. Читать дальше →

Пишем свой язык программирования, часть 3: Архитектура транслятора. Разбор языковых структур и математических выражений Введение Приветствую вас, заинтересованные читающие разработчики на не важно каких языках, на которых я ориентирую эти статьи и чьи поддержку и мнения я ценю. Для начала, по устоявшимся традициям, я приведу ссылки на предыдущие статьи: Часть 1: пишем языковую ВМ Часть 2:...

Автономная метеостанция на контроллере ATMEGA328P и питанием от батареек с беспроводным выносным датчиком Совершенствуя свой комнатный термостат, о котором писал раньше, я задался целью дополнить его беспроводным датчиком температуры для измерения температуры воздуха на улице, собрать термостат с питанием от батареек и заменить модули приемник-передатчик RF 433MHz другой парой р...

Москва, 18 апреля — QIWI SERVER PARTY 4.0 18 апреля, в четверг, мы снова собираем митап QIWI SERVER PARTY. На митапе подробно обсудим не только технические вопросы, но и поговорим о том, нужны ли хорошим программистам soft skills, на каких ошибках мы научились, обучая стажеров, и нужен ли сотруднику ментор, или дос...

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

Коллаборация и автоматизация во фронтенде. Чему мы научились за 13 школ Всем привет. Коллеги недавно писали в этом блоге, что открылась регистрация в следующую Школу разработки интерфейсов в Москве. Я очень рад новому набору, ведь я был одним из тех, кто придумал Школу в 2012 году, и с тех пор постоянно ей занимаюсь. Она эволюционировала. Из неё...

Web. Решение задач с r0от-мi. Часть 2 Данная статья содержит решение заданий, направленных на эксплуатацию web-узвимостей. Статья ориентирована в основном на новичков, которые хотят разобараться в заголовках HTTP и учавствовать в CTF. Ссылки на предыдущие части этого раздела: Web. Решение задач с r0от-мi. Час...

Правда про парсинг сайтов, или «все интернет-магазины делают это» В этой статье я постараюсь наиболее просто рассказать о парсинге сайтов и его основных нюансах. Моя компания занимается парсингом сайтов уже более трёх лет и ежедневно мы парсим около 300 сайтов. Я обычно открыто пишу об этом в соц.сетях (плюс мы много чего из итогов парсинг...

Мелкая питонячая радость #5: Dynaconf — управление настройками в проекте Некоторые вопросы в мире питонячей разработки имеют магическую силу поднимать целые армии людей, направлять их на священную войну и заставлять кидать друг в друга целыми кучами аргументов, выкладок и кусков кода. Иногда, когда доводы заканчиваются, враждующие армии быстро пе...

Хакеры в рамках законов РФ После публикации статьи о моих исследования в качестве Grey hat, в комментариях к статье и в чате Telegram (@router_os) люди стали писать, что я нарушил все законы и меня посадят. И как обещал, спустя несколько месяцев я пишу эту статью и даже не из камеры СИЗО :-) Более т...

Собираем игровой ПК в 2019 году AliExpress, не пропусти: будет интересно Всем привет, сегодня мы попробуем собрать игровой ПК примерно за 20 000 рублей. Получится это или нет, судить только Вам. Не стесняйтесь и пишите в комментариях свои мысли. Итак, давайте начнем!

[Перевод] Создание приложения с использованием Styled-Components в Vue.js Привет, Хабр! На днях наткнулся на одну очень интересную статью на португальском. К счастью, удалось найти её английскую версию. Предлагаю вашему вниманию перевод на русский. Другие мои переводы вы можете найти на мой странице на хабре. Ссылка на оригинал: португальский, ан...

[Из песочницы] 10 принципов самодокументируемого кода Привет! Сегодня я хочу поделиться советами по написанию совершенного понятного кода, взятые из книги Питера Гудлифа «Ремесло программиста // Практика написания хорошего кода». Конечно, неплохо было бы прочитать эту занимательную книгу каждому кто пишет код, но для особо ле...

[Перевод] Python как предельный случай C++. Часть 1/2 От переводчикаБрендон Роудс − весьма скромный человек, представляющий себя в твиттере как «Python-программиста, возвращающего долг сообществу в форме докладов или эссе». Число этих «докладов и эссе» впечатляет, равно как и число свободных проектов, контрибьютором которых Бре...

[Из песочницы] Распознавание дат, написанных естественным языком, средствами Python3 Мы в компании создаем сервис, который извлекает юридические факты из переписки клиента и заказчика. Сервис вырос из одной простой идеи — мои постоянные клиенты из решили упросить работу менеджерам и создать “генератор договоров”. Первую задачу — подтягивать в договор реквизи...

AMA с Хабром v.8.0. Онбординг, новости для всех, PWA Апрель — месяц субботников. Наша команда тоже провела  виртуальный субботник и навела порядок с некоторыми вопросами на Хабре — а значит, у нас для вас снова есть порция новостей. Сегодня мы проводим очередную сессию вопросов и ответов (AMA). Пользователи Хабра и команда Хаб...

Инвестиции на бирже и сопутствующие расходы: сколько стоят услуги брокерской компании Изображение: Pexels В нашем блоге на Хабре мы активно пишем об инвестициях на бирже, старте работы для новичков (например, с помощью тестового доступа), выборе наименее рискованных инструментов (модельные портфели, структурные продукты) и самообразовании по теме. Анализ...

Lara Croft: Tomb Raider 2001 мотоцикл Всем привет ???????? Решил поделиться с вами своей работой и работой талантливого художника по моделированию.Расскажу немного о себе, я фанат фильма с участием A.Jolie в роли Лары Крофт, являюсь коллекционером данной тематики с 2004 года, большая коллекция фигурок и статуэто...

Длинная история путеводителя — как я 5 лет писал сервис для умных пешеходных маршрутов У многих есть один или несколько своих домашних проектов. Это бывают небольшие утилиты, экспериментальные штуки, пробы новых технологий, “убийцы” фейсбуков и много что ещё. Заметно реже такими проектами занимаются долгое время. В статье я поделюсь своим опытом и расскажу ка...

С новым годом, с новым MQTT/UDP Привет. Как я уже писал недавно (Первая краткая статья о MQTT/UDP), MQTT/UDP — протокол на базе MQTT, но: Ходит поверх UDP broadcast (не нужен брокер, почти не нужна конфигурация) До неприличия простой в реализации (10 строк на си + UDP/IP стек — и вы отправляете данные с...

Habr Weekly #27 / Хромбуки vs макбуки, как писать крутые резюме, какую зарплату просить, AR-очки за $3500 В этом выпуске: 00:22 Приглашаем в клуб Анонимных Дедов Морозов на Хабре — это весело!, clubadm 04:31 Фил Шиллер из Apple утверждает, что хромбуки не годятся для настоящей работы, denis-19 12:23 Youtube присваивает себе право удалять каналы пользователей. Или нет? 14:02 Ка...

[Перевод] Доступное объяснение алгоритма коллапса волновой функции Алгоритм коллапса волновой функции (Wavefunction Collapse Algorithm) учит компьютер импровизировать. На входе он получает архетипичные данные и создаёт процедурно генерируемые данные, похожие на исходные. (Источник) Чаще всего он используется для создания изображений, но ...

Тяжёлое бремя времени. Доклад Яндекса о типичных ошибках в работе со временем В коде самых разных проектов нередко приходится оперировать временем — например, чтобы завязать логику работы приложения на текущее время у пользователя. Старший разработчик интерфейсов Виктор Хомяков описал типичные ошибки, которые встречались ему в проектах на языках Java,...

[Перевод] До Netscape: забытые веб-браузеры начала 1990-х Кто-нибудь помнит Erwise? Viola? Cello? Давайте вспоминать. Когда в 1980-м Тим Бернерс-Ли прибыл в ЦЕРН, знаменитую европейскую лабораторию физики частиц, его наняли для обновления контрольных систем нескольких ускорителей частиц. Но изобретатель современной веб-страницы п...

Пишем эмулятор игровой консоли. Как устроена легендарная приставка Nintendo и как ее воссоздать самому Для подписчиковТы наверняка сталкивался с эмуляторами игровых приставок и, возможно, даже просиживал за ними не один час. Но задавался ли ты вопросом, как это работает? На примере NES, известной в России как Dendy, я покажу, как создать собственный эмулятор. А заодно разбере...

В библиотеку копирайтеру: книги, которые стоит прочитать Эти издания помогут писать просто и понятно, искать вдохновение во всём и научиться работать, даже когда муза ушла.

Многообразный мир embedded systems и место Embox в нем Проекту Embox уже исполнилось 9 лет, но многие не понимают, что это такое и с чем его едят зачем он нужен. Некоторые из тех, кто слышал о проекте и знают, что это операционная система, считают, что Embox — это “отечественная ОС”. Действительно, задумывался Embox как попытка ...

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

[Из песочницы] Сортировка: определяем лучший алгоритм Как нетрудно догадаться, я знаю ответ на этот вопрос, но, поскольку моя статья с описанием алгоритма сортировки «воронкой» была здесь встречена, мягко говоря, нервозно, я решил провести-таки тестирование «по образу и подобию» тех, которые обычно проводятся — в основном, коне...

Как стать грамотнее: 5 практических советов Не обязательно становиться граммар-наци, чтобы говорить и писать правильно.

Аварии помогают учиться За 3 последних года в Контуре случилось больше тысячи инцидентов разной степени эпичности. Причины разные: например, 36% вызвано некачественным релизом, а 14% — работами по обслуживанию железа в дата-центре. Откуда статистика? После каждого инцидента пишется отчёт — постморт...

[Из песочницы] Визуализации в Google Spreadsheets С момента появления Excel стал самым популярным и универсальным инструментом автоматизации расчетов для непрограммистов и полупрограммистов (таких, как я). В свое время я много всякого писал на VBA, делал в студенчестве скрипты для оформления курсовых, даже запилил для диссе...

Как бесплатно автоматизировать мониторинг госзакупок Скажу сразу, статья скорее техническая, это инструкция. Но начну с истории. Сейчас я работаю на компанию со 100 процентным государственным участием, учредитель — одна уважаемая госкорпорация. Год назад я запустил здесь новый процесс — участие в госзакупках. Да — да, вот та...

Илья Зверев:“За эти годы OpenStreetMap оброс такой серьезной инфраструктурой, что можно рисовать карту не выходя из дома Илья Зверев — неформальный лидер российского сообщества OpenStreetMap. Вот уже почти 10 лет он всячески продвигает OSM: создает новые приложения и пишет статьи, развивает сообщество и выступает на конференциях. Насколько дружелюбен OSM, что он делал два года в Совете OSMF и...

[Перевод] Почему единицу не относят к простым числам, и когда её вообще начали считать числом Мой друг инженер недавно меня удивил. Он сказал, что не уверен, является число 1 простым или нет. Я удивилась, потому что никто из математиков не считает единицу простым. Путаница начинается с определения, которое дают простому числу: это положительное целое число, которое ...

Все материалы на данном сайте взяты из открытых источников или присланы посетителями сайта и предоставляются исключительно в ознакомительных целях. Права на материалы принадлежат их владельцам. Администрация сайта ответственности за содержание материала не несет. (Правообладателям)