Социальные сети Рунета
Пятница, 19 апреля 2024

[Из песочницы] Три Больших Лжи о JavaScript Привет, Хабр! Представляю вашему вниманию мой перевод статьи "The Three Big Lies About JavaScript" автора Richard Kenneth. Данная статья была написана в мае 2016 года, однако ее актуальность, на мой взгляд, не исчезла. Я начинающий программист, поэтому возможны оши...

Введение в контекстно-ориентированное программирование на Kotlin Это перевод статьи An introduction to context-oriented programming in Kotlin В этой статье я постараюсь описать новое явление, которое возникло как побочный результат стремительного развития языка Kotlin. Речь идет о новом подходе к проектированию архитектуры приложений и б...

Podlodka #134: Scala Сейчас довольно часто говорят о том, что мейнстримовые языки программирования все чаще заимствуют концепции из мира функционального программирования, но при этом отдают главенствующую роль парадигме ООП. Этому подвержены как молодые языки, так и языки с долгой историей. Поэт...

Функциональный Swift Что объединяет «каррирование», «монады», «алгебраические типы данных»? Не только тот факт, что часть разработчиков старается обходить эти слова стороной, но еще и функциональное программирование. Под заботливым руководством Евгения Елчева мы погрузились в функциональную пара...

AppsCast #10: Функциональный Swift В этом миниюбилейном выпуске гость из солнечного Красноярска (sic!) Евгений Ёлчев поведал нам о функциональном программировании и как эта парадигма находит себе место в Swift и других языках.

Ограничения в разработке стандартов и собственная ОС Занимаясь продвижением компании Huawei на рынке России (когда ещё эта компания воспринималась в совершенно ином ключе), одним из самых действенных аргументов у меня было членство, и даже председательство компании в различных стандартизирующих организациях отрасли связи и ...

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

Обектно ориентированное програмирование в графических языках Объектно-ориентированное программирование (ООП) – концепция, которая призвана облегчить разработку сложных систем, за счет введения новых понятий, более приближенных к реальному миру, чем функциональные и процедурные языки программирования. Как пишет википедия, «Обычный чело...

[Перевод] 9 советов по использованию библиотеки Cats в Scala Функциональное программирование в Scala может быть нелегко освоить из-за некоторых синтаксических и семантических особенностей языка. В частности, некоторые средства языка и способы реализации задуманного с помощью основных библиотек кажутся очевидными, когда ты с ними знако...

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

[Перевод] Декларативное управление памятью (достаточно вольный перевод огромной статьи, которая на практике наводит мосты между возможностями Си и Rust в плане решения бизнес-задач и разрешение багов, связанных с ручным управлением памятью. Также должно быть полезно и людям с опытом сборки мусора — отличий в плане пр...

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

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

[Из песочницы] Декомпозируя UICollectionViewCell После просмотра Keynote WWDC 2019 и знакомства с SwiftUI, предназначенного для декларативного описания UI в коде, хочется порассуждать о том, как можно декларативно наполнять таблички и коллекции. Например, вот так: enum Builder { static func widgets(objects: Objects) -...

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

Надежное программирование в разрезе языков. Часть 2 — Претенденты Первая часть с функциональными требованиями тут Заявленные как языки программирования с прицелом на надежность. В алфавитном порядке — Active Oberon, Ada, BetterC, IEC 61131-3 ST, Safe-C. Читать дальше →

[Перевод] Шум Перлина, процедурная генерация контента и интересное пространство Наверно худшее, что случилось в области процедурной генерации контента (если считать, что это действительно область процедурной генерации контента, в чём я уверен не полностью) — это шум Перлина. Шум Перлина невероятно хорошо подходит (по крайней мере, если не приглядываться...

[Перевод] Процедурная генерация планет От переводчика: Представляю вашему вниманию статью авторства Andy Gainey, в прошлом независимого разработчика игровых инструментов, ныне сотрудника Paradox Development Studio. На мой взгляд, автор играючи создал один из лучших процедурных генераторов планет с открытым исход...

Мифы и реальность ООП (Источник) Хочу внести свои «5 копеек» в неутихающий спор противников и сторонников ООП. Из недавних публикаций на эту тему можно отметить ярко негативный заголовок «Чем быстрее вы забудете ООП, тем лучше для вас и ваших программ», более миролюбивый «Хватит спорить про фун...

Гонка вооружений В мае на Google I/O 2019 было объявлено о новом фреймворке для разработки декларативного UI под Android с названием Jetpack Compose. Через месяц на WWDC 2019 было объявлено о декларативном UI фреймворке под IOS с названием SwiftUI. После этих конференции стало понятно, к ч...

[Перевод] Чем быстрее вы забудете ООП, тем лучше для вас и ваших программ Объектно-ориентированное программирование — чрезвычайно плохая идея, которая могла возникнуть только в Калифорнии. — Эдсгер Вибе Дейкстра Возможно, это только мои ощущения, но объектно-ориентированное программирование кажется стандартной, самой распространённой парадигмой ...

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

Не морочьте мне голову со своим функциональным программированием Адепты функционального программирования любят завлекать новичков обещаниями идеальной выразительности кода, 100% корректностью, лёгкостью поддержки и простотой рефакторинга, а иногда даже пророчат высочайшую производительность. Однако, опытные разработчики знают, что такого ...

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

[Перевод] Процедурные паттерны, которые можно использовать с тайловыми картами Процедурная генерация используется для повышения вариабельности игр. Среди известных проектов можно упомянуть Minecraft, Enter the Gungeon и Descenders. В этом посте я объясню некоторые из алгоритмов, которые можно применять при работе с системой Tilemap, появившейся как 2D-...

Apple представила модульный ПК Mac Pro стоимостью от $5999 Американская Apple представила совершенно новый ПК Mac Pro с рамкой из нержавеющей стали и уникальной решёткой, напоминающей обычную тёрку. Но самой главной особенностью новинки стала её модульная конструкция. Подробнее об этом читайте на THG.ru.

[Перевод] Конкурс по программированию на Q#: Microsoft Q# Coding Contest Команда Microsoft Quantum рада анонсировать Q# Coding Contest – зима 2019! В этом конкурсе вы можете проверить свои навыки квантового программирования, решая задачи квантовых вычислений на Q#. Победители получат футболку Microsoft Quantum! Квантовые вычисления — это принципи...

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

Беседы о функциональном программировании на C++ Siberia 2019 Всем привет! Недавно в Новосибирске прошла очередная C++ Siberia 2019. На конференции была уютная атмосфера и много хороших докладов. Пользуясь случаем, я побеседовал с двумя нашими докладчиками, которых совсем скоро вы сможете увидеть и в Москве. Иван Чукич — один из разр...

Новый спецпроект от ForkLog и æternity «Смена парадигмы: функциональное программирование в блокчейн-разработке» Криптоэнтузиасты, ходлеры, разработчики и даже некоторые экономисты считают, что за блокчейном будущее. Но за чем будущее блокчейна? ForkLog и æternity рассмотрели этот вопрос с точки зрения стилей и языков программирования в новом спецпроекте «Смена парадигмы: функционально...

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

Дайджест интересных материалов для мобильного разработчика #312 (19 — 25 августа) В нашей еженедельной подборке PWA в Google Play, запись нажатий, декларативный UI, изменения логотипа и нумерации версий Android, история создателя FBReader, отслеживание рук и многое другое! Читать дальше →

Функциональное программирование с точки зрения EcmaScript. Чистые функции, лямбды, имутабельность Привет, Хабр! Сегодня мы начнём говорить на очень важную тему — функциональное программирование. Значение ФП в современной веб-разработке трудно переоценить. Архитектура любого крупного современного проекта включает в себя пользовательские библиотеки функций и на собеседов...

[Перевод] Дизайн уровней и геймплея roguelike на примере Cogmind Многие годы я использовал довольно стандартизированный подход к дизайну каждой новой карты Cogmind, и хотя сейчас их счёт уже идёт на десятки, в своём блоге я его никогда не рассматривал. В основном это вызвано тем, что подробный анализ всего процесса потребует раскрытия ку...

Пуля Пуля – это такая система оплаты труда. Ничего сверхъестественного, идея лежит на поверхности, результаты не заставляют себя долго ждать. Название придумал не я, а собственник компании, где эта система внедрялась. Вот прям так выслушал аргументы и особенности, и сказал: «Это ...

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

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

[Перевод] Unity: бесконечный процедурно генерируемый город, получаемый при помощи алгоритма WFC (коллапс волновой функции) Привет, Хабр! Как законодатели мод по теме Unity на российском рынке предлагаем вам почитать интересное исследование о практическом использовании алгоритма WFC (Wave Function Collapse), построенного по образу и подобию известного принципа квантовой механики и очень удобного...

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

[Перевод] Оттенки значений в английском языке: как использовать глаголы Advise, Recommend, Suggest Английский язык часто воспринимается как нечто не столь сложное, как некоторые другие языки – взять тот же немецкий. Но на самом деле в нем есть достаточное количество трудностей и тонких моментов («Пишется Ливерпуль, а читается Манчестер» ). Один из них, вызывающий личн...

[Из песочницы] Прагматическое функциональное программирование Привет, Хабр! Предлагаю вашему вниманию перевод статьи «Pragmatic Functional Programming» автора Robert C. Martin (Uncle Bob). Переход к функциональному программированию всерьез развился только около десяти лет назад. Мы видим, что такие языки, как Scala, Clojure и F# прив...

[Из песочницы] Хранение настроек в памяти Базового устройства Привет! Если Вам посчастливилось подержать в руках микроконтроллер ESP32 (мне посчастливилось больше и у меня в руках M5Stack) от китайской компании ESPRESSIF, то этот пост, возможно, будет полезен. Бывает ситуация, когда необходимо сохранить какие-то параметры в энергонеза...

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

Detox и Appium: автоматизированный тест интерфейса в React Native Незнакомая мобильная среда Я, возможно, также как и вы, пришел к React Native как разработчик JavaScript нежели как разработчик нативных мобильных приложений. Абсолютно новый мир со своими нюансами и хитростями. Одной из самых важных тем для изучения станет тестирование. ...

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

Android Dev Podcast #98: Большое интервью о Google и Compose Бум! На Google I/O одним из самых громких анонсов для нас был Compose, новый фреймворк для декларативного описания UI. Каково же было наше удивление, когда мы узнали, что наши друзья Андрей и Матвей из команды Android UI Toolkit работают как раз над этим проектом в Google. М...

ООП в картинках ООП (Объектно-Ориентированное Программирование) стало неотъемлемой частью разработки многих современных проектов, но, не смотря на популярность, эта парадигма является далеко не единственной. Если вы уже умеете работать с другими парадигмами и хотели бы ознакомиться с оккуль...

[Из песочницы] NeoBook: среда программирования для непрограммистов NeoBook: среда программирования для непрограммистов Для кого эта статья Статья написана, в первую очередь, для тех, кто не является профессиональным программистом, но хочет уметь создавать свои собственные компьютерные программы для компьютеров с Windows. Программирование ...

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

Материалы Panda Frontend Meetup #22: плагины, «сложные» данные, тестирование, декларативный Angular Привет! Это пост-отчёт с Panda Meetup #22, который проходил в офисе Авито. Мы обсуждали тестирование на основе свойств, работу со «сложными» данными (объектами с большой вложенностью и хитрой структурой), плагины vue-cli и декларативный Angular (почему бы и нет?). Заходите ...

[Перевод] Пространство генерации и пространство возможностей В этом туториале я расскажу о двух терминах, которые используются мной для описания процедурных генераторов: пространство генерации (generative space) и пространство возможностей (possibility space). Мы дадим определения этим двум терминам, а затем рассмотрим интерактивные п...

[Перевод] Функциональное мышление. Часть 9 Это уже 9 часть серии статей по функциональному программированию на F#! Уверен, на Хабре существует не очень много настолько длинных циклов. Но мы не собираемся останавливаться. Сегодня расскажем про вложенные функции, модули, пространства имен и смешивание типов и функций в...

Как добавить проверки в NoVerify, не написав ни строчки Go-кода В статическом анализаторе NoVerify появилась киллер-фича: декларативный способ описания инспекций, который не требует программирования на Go и компиляции кода. Чтобы вас заинтриговать, покажу описание простой, но полезной инспекции: /** @warning duplicated sub-expressions in...

[Перевод] 9 хитростей для работы с Visual Studio Code Привет, Хабр! Сегодня мы отобрали 9 самых интересных лайфхаков для работы с Visual Studio Code. Среди них полезные сочетания клавиш и функциональные виджеты. Подробности под катом! Читать дальше →

Чудеса учетной методологии: амортизационный фонд Я обожаю программирование – оно творит чудеса. Но о программировании вам известно гораздо больше, чем мне. Однако чудеса встречаются не только в программировании, но даже в такой затхлой и заскорузлой области, как бухгалтерский учет. Да-да, в ней самой – в бухгалтерии, к к...

Пробуем Jetpack Compose в бою? Наконец, настал момент, когда не нужно собирать самостоятельно Android Studio, чтобы попробовать новый декларативный UI framework для Android. Jetpack Compose стал доступен в виде первого Dev Preview в Maven-репозитории Google. С такой новости началось моё утро понедельника....

[Из песочницы] Почему вы должны думать о функциональном программировании Привет, Хабр! Представляю вашему вниманию перевод своей статьи «Why you should think about functional programming», посвященной функциональному программированию. Почему вы должны думать о функциональном программировании? Давайте ответим на следующие вопросы: всегда ли в...

CodeSide. Новая игра для знаменитого соревнования Russian AI Cup Сообщество участников чемпионатов и команда Mail.ru Group в сотрудничестве с Codeforces.com приглашают вас на самую настоящую бойню, от которой вы получите бессонные ночи и мозоли на руках, поскольку будете участвовать в одном из самых живых и интересных чемпионатов по про...

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

Функциональные интерфейсы… в VBA "…те, кто не прочь поглазеть на любителя прилюдно свалять дурака, пусть понаблюдают, как я доказываю, что Java и Visual Basic – близнецы, разлученные при рождении, а С++ им даже не дальний родственник." Брюс Мак-Кинни “Крепкий орешек Visual Basic” Введение Постоянный инте...

Надежное программирование в разрезе языков — нубообзор. Часть 1 В очередной раз провозившись два дня на написание и отладку всего четырехсот строк кода системной библиотеки, возникла мысль — “как бы хорошо, если бы программы писались менее болезненным способом”. И в первую очередь, поскольку отладка занимает гораздо больше времени, чем ...

[Из песочницы] Рефакторинга много не бывает Привет, Хабр! Представляю вашему вниманию перевод статьи "Refactoring — oops, I’ve been doing it backwards" автора Джастина Фуллера (Justin Fuller). Я очень завишу от рефакторинга, и не боюсь признать это, но есть только одна проблема: я всегда делал это задом на...

Samsung Galaxy Note10, Galaxy Note9 и Galaxy Note8 вместе на одном изображении Известный сетевой информатор под ником Ice Universe, который много раз делился интересной информацией о новинках индустрии смартфонов, только что выложил на своей страничке интересное изображение. На этом изображении рядом показаны сразу три поколения смартфонов линейки...

Подходы к сегментации мобильных игроков — перевод Алисса Перез из команды Google Play Dev написала статью, которую мы перевели. В ней много полезной информации о подходах к сегментации пользователей: юзер-таргетинге и его связи с развитием бизнеса. Основная цель каждой мобильной игры — создать для игроков что-то интерес...

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

«Радар» Google Soli продолжает развиваться В 2015 году корпорация Google показала несколько интересных новинок на своей конференции Google I/O. Одна из них — мини-радар Project Soli, который позволяет изменить опыт взаимодействия человека и электронных устройств. Новости об этой технологии время от времени появляли...

Intel приглашает на OpenVINO хакатон, призовой фонд — 180 000 рублей Думаем, что вам известно о существовании полезного продукта Intel под названием Open Visual Inference & Neural Network Optimization (OpenVINO) toolkit — набора библиотек, средств оптимизации и информационных ресурсов для разработки ПО, использующего машинное зрение и D...

Глобальное кеширование результатов Query в ASP.NET CORE Парадигма CQRS в том или ином виде предполагает, что вызовы Query не будут менять состояние приложения. То есть многократные вызовы одной и той же query, в рамках одного запроса, будут иметь один и тот же результат. Пусть все интерфейсы, использующиеся в рамках запроса будут...

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

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

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

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

Странная видеокарта GeForce GTX 1180 замечена в составе готового ПК В те времена, когда видеокарты Turing ещё не вышли, какое-то время разные слухи приписывали картам разные имена. Ту же GeForce RTX 2080 иногда называли GTX 2080 или GTX 1180. В итоге карты вышли, с именами разобрались, но уже завтра нас ждёт анонс GTX 1660 Ti, которую т...

Dell OptiPlex 7070 Ultra: модульный компьютер, который превращает в моноблок любой монитор Привет, Хабр! Недавно у нас появилось совершенно новое устройство, о котором просто нет сил молчать. Вот эта штука на фотографии ниже – полноценный компьютер с современной «начинкой», причём многие комплектующие внутри него можно легко заменить. Он не шумит, не занимает мест...

Функциональное программирование с точки зрения EcmaScript. Композиция, каррирование, частичное применение Привет, Хабр! Сегодня мы продолжим наши изыскания на тему функционального программирования в разрезе EcmaScript, на спецификации которого основан JavaScript. В предыдущей статье мы разобрали основные понятия: чистые функции, лямбды, концепцию имутабельности. Сегодня поговор...

[Перевод] Python 3.8: Что нового и как этим пользоваться? Следующий перевод подготовлен специально для «питонистов», которым интересно наверняка интересно почитать о новых функциях Python 3.8. В преддверии запуска нового потока по курсу «Разработчик Python» мы не смогли пройти мимо этой темы. В этой статье мы поговорим про новые ф...

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

Система дуговой защиты с возможностью срабатывания по токовому сигналу В классическом понимании дуговая защита в России – это быстродействующая защита от коротких замыканий, основанная на регистрации спектра света открытой электрической дуги в КРУ, наиболее распространён метод регистрации спектра света посредством волоконно-оптических датчико...

[Перевод] 6 интересных идей применения дополненной реальности (AR) Прим. пер.: в своей статье, оригинальное название которой: «6 Interesting Augmented Reality Concepts», Ник Бабич собрал ценную подборку идей применения AR, которая будет интересна даже тем, кто никак не связан с разработкой. Среди концепций есть реально работающие продукты,...

[Из песочницы] Генерация OpenAPI спецификации на основе функциональных тестов Разрабатывая API, наверняка не раз появлялись сложности с документацией: то её нет, то она не отображает поведение, описанное в коде. С точки зрения разработчика, написание документации (одной только внутренней) занимает не меньше времени, чем написание самого кода. Знако...

Модульный ЦОД на службе у большого адронного коллайдера Последних лет двадцать дата-центры появляются как грибы после дождя, оно и понятно. Кроме количественных показателей развиваются и качественные — новые формы, новые подходы к построению среды. Одним из таких новшеств стали модульные ЦОДы. Эффективность решений на базе станда...

[Перевод] Ohio Challenger 2P и его 4 Кб оперативной памяти Статья Эрика Бэнгмана, управляющего редактора журнала Ars Technica Я уже замечал его краем глаза, когда ходил мимо него на уроки геометрии, но теперь мне предстояло впервые зайти в школьный компьютерный класс. Это был сентябрь 1980 года и мой первый год в средней школе Г...

Что такое SwiftUI и зачем он нужен Разработка приложений скоро выйдет на новый уровень Через несколько лет, может быть уже через год или два, операционные системы Apple радикально изменятся внутри. И, конечно же, за этим последуют внешние изменения, и надеюсь, системы станут лучше. Небольшое число фрагментов ...

[Перевод] Learn OpenGL. Урок 7.1 – Отладка Графическое программирование — не только источник веселья, но еще и фрустрации, когда что-либо не отображается так, как задумывалось, или вообще на экране ничего нет. Видя, что большая часть того, что мы делаем, связана с манипулированием пикселями, может быть трудно выясни...

Habr Weekly #6 / Рунет готов обособиться, Adobe ищет следы фотошопа, уязвимость Vim, геочаты в Телеге и кое-что еще В шестом выпуске подкаста Habr Weekly прошлись вот по таким темам: Подготовлены правила изоляции Рунета. Яндекс вывел на дороги Москвы пять беспилотных машин. Нейросеть Adobe определяет фотографии, обработанные в Photoshop. Mail.ru запустила голосового помощника по имени ...

Проект модульных смарт-часов Blocks закрыт Участники проекта Blocks по созданию «умных» наручных часов с модульной конструкцией объявили о его сворачивании. Инициатива Blocks была представлена ещё в 2014 году. Концепция предполагала размещение основных электронных узлов в модуле с дисплеем и выпуск самых разнообразны...

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

[Перевод] Cython: более чем 30-кратное ускорение Python-кода Python — это язык, который любят многие программисты. Этим языком невероятно легко пользоваться. Всё дело в том, что код, написанный на Python, отличается интуитивной понятностью и хорошей читабельностью. Однако в разговорах о Python часто можно слышать одну и ту же жалобу н...

Дайджест интересных материалов для мобильного разработчика #295 (15 — 21 апреля) В нашем новом дайджесте модульная разработка, чаты и карточки, полмиллиарда на Arcade, ульи и роботележки, ярость, время, ловушки и многое другое. Подключайтесь! Читать дальше →

Цена композиции в Javascript-мире Мысль о том, что в разработке любой более-менее сложной бизнес-логики приоритет должен отдаваться композиции объектов, нежели наследованию популярна в среде разработчиков программных продуктов самых разных типов. На очередной волне популярности функциональной парадигмы прогр...

Julia: функции и структуры-как-функции Несмотря на то, что в языке Julia по замыслу отсутствует «классическое» объектно-ориентированное программирование с классами и методами, язык предоставляет средства абстрагирования, ключевую роль в которых играет система типов и элементы функционального программирования. Рас...

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

[Перевод] ФП vs ООП Не так давно на хабре появилось несколько постов противопоставляющих функциональный и объектный подход, породивших в комментариях бурное обсуждение того, что вообще это такое — объектно ориентированное программирование и чем оно отличается от функционального. Я, пусть и с не...

[Из песочницы] Что ты такое, замыкания в JavaScript? В этой статье я постараюсь разобрать механизм реализации замыканий в JavaScript. Для этого я буду использовать браузер Chrome. Начнем с определения: Замыкания  - это функции, ссылающиеся на независимые (свободные) переменные. Другими словами, функция, определённая в замыка...

[Из песочницы] На одной асимптотике далеко не уедешь… Любители посоревноваться в алгоритмах часто говорят об асимптотике того или иного решения задачи. При этом нередко можно встретить высказывания, что, мол, «вот этот» алгоритм работает за O(n), а «вон тот»  – за O(n·log(n)), значит первый однозначно быстрее и, следовательно,...

Puppetry 3: автоматизированное тестирование без единой строки кода Я думаю, нет смысла убеждать кого-либо в значимости автоматизированного тестирования. Тем не менее, функциональные тесты зачастую крайне сложны в написания и еще более в поддержке. Существует немало решений, призванных упростить разработку тестов. Я хочу рассказать об одном ...

5 причин для перехода к 3D-печати металлических изделий Если вы занимаетесь проектированием или изготовлением металлических деталей, то вы уже знаете о некоторых возможностях 3D-печати металлом. Возможно, вы даже уже думали об использовании аддитивных технологий для реализации проекта. Так что вас останавливает? Может быть, вы пы...

[Перевод] Что сделало Lisp особенным "Величайший из когда-либо созданных языков программирования" — Alan Kay, «on Lisp» Когда Маккарти разработал Lisp в конце 1950-х, он радикально отличался от существующих языков, самым главным из которых был Fortran. Читать дальше →

[Из песочницы] Ортодоксальный Backend Современный backend разнообразен, но всё-таки подчиняется некоторым негласным правилам. Многие из нас, кто разрабатывает серверные приложения, сталкивается с общепринятыми подходами, такими как Clean Architecture, SOLID, Persistence Ignorance, Dependency Injection и прочими....

Подсказки для функционального заказчика. Press Δ to read Иногда так не хватает подсказок по ходу выполнения миссии ИТ-проекта – «жми W, чтобы двигаться вперёд». Чтобы хоть как-то помочь тем, кто оказался на месте функционального заказчика (от него очень многое зависит на проекте), мы собрали топ-10 подсказок, которые помогут успе...

Книга (бытия?). Размышления о природе разума. Часть I • Что такое разум, сознание. • Чем отличается познание от осознания? • Сознание, самосознание — одно и то же? • Мысль — что такое мысль? • Творчество, воображение — что-то загадочное, присущее человеку, или… • Как устроен разум. • Мотивация, целеполагание — зачем ...

[Перевод] Почему я боюсь стать «прокачанным человеком» Вы когда-нибудь слышали о «прокачанном человеке» (augmented human)? Пояснение от переводчицыЯ долго искала подходящий перевод термина «augmented human», так как устоявшегося перевода в русском языке еще нет. Вариант Википедии c глаголом «улучшать» кажется недостаточно перед...

Конференция для тех, кто интересовался наукой еще до того, как это стало мейнстримом Привет, Хабр! Возможно, мы с вами уже знакомы. 5 лет мы были частью команды, которая организовывала известные конференции для айтишников: DUMP, PyCon Russia, FailConf, Convert. Теперь мы — «Человек наук». В какой-то момент мы поняли, что конференции про языки программирова...

Все, что вы хотели знать о SwiftUI, но боялись спросить Привет! Меня зовут Ренат, я разрабатываю сервис по аналитике подписок в iOS – Apphud. Как вы знаете, Apple на WWDC 2019 представила свой новый фреймворк SwiftUI, который призван в будущем заменить (или нет?) привычный нам UIKit. SwiftUI позволяет описывать интерфейс приложе...

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

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

Гетерогенное программирование и OneAPI Toolkit. Задайте вопрос эксперту Intel Гетерогенное программирование — это тема. Тема многочисленных статей на ресурсах для разработчиков и докладов на тематических конференциях. Тема для блога Intel, ведь совсем недавно появились на свет Intel oneAPI Toolkit и Data Parallel C++. Наконец, отличная тема для наше...

Две истории о том, как проходили мероприятия по программированию в Екатеринбурге Немного разбавим зимние холодные дни теплыми воспоминаниями о том, как в Екатеринбурге проходили: финал RuCTF 2012 (соревнования по защите информации) и финал 38-ого чемпионата мира по программированию «The 2014 ACM ICPC World Finals». Много фото внутри. Читать дальше →

Установка Windows через Windows Deployment Services и Microsoft Deployment Toolkit Как было написано в одной умной книге — если в вашем IT-отделе нет автоматизированной установки операционной системы, то её создание может быть самой важной задачей, которую вы когда-либо выполняли. Читать дальше →

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

Сознание и аргумент судного дня Жил был моряк. У него было две любимых женщины в разных портах, и он хотел детей – вот только не решил, одного или двух. Он решил кинуть монету. Орел – будет один ребенок от одной из женщин (к которой первой зайдет в порт по работе – это уж как получится), решка – сделает ...

Обработка системных вызовов посредством LD_PRELOAD с единой точкой входа Делая пере-реализацию QInst на LLVM, я столкнулся с такой проблемой: QEMU в режиме эмуляции одного процесса естественным образом перехватывает все «гостевые» системные вызовы. В итоге плагин инструментации имеет единую точку входа для их предобработки, где можно по номерам S...

[Перевод] Что такое сознание? Учёные начинают находить ответы на вопрос, который так давно волновал философов. Сознание — это всё, что вы чувствуете. Это мелодия, застрявшая в голове, сладкий вкус шоколадного мусса, зубная боль, любовь к ребёнку и горькое понимание того, что в конце концов все ощущени...

Человеку удалось победить в дебатах с искусственным интеллектом IBM Как сообщило агентство Bloomberg, предметом состязания на конференции IBM в Сан-Франциско (Калифорния) стал вопрос о необходимости субсидирования дошкольного образования. Эту тему объявили непосредственно перед началом дебат. Обе стороны получили 15 минут на подготовку аргум...

Композитный «datasource»-объект и элементы функционального подхода Как-то раз я (ну ладно, даже не я) столкнулся с задачей добавить в UICollectionView с определенным типом ячеек одну ячейку совершенно другого типа, причем делать это лишь в особенном случае, который обрабатывается «выше» и никак не зависит от UICollectionView напрямую. Задач...

Нассим Талеб: закрытие банков в Ливане — лучший аргумент в пользу криптовалют На фоне протестов в Ливане с требованием об отставке правительства местные банки объявили о приостановке деятельности. Известный трейдер и автор культового произведения «Черный лебедь» Нассим Талеб считает, что это один из самых убедительных аргументов в пользу криптовалют. ...

Немного о лексическом анализе Давным-давно, когда небо было голубым, трава зеленее и по Земле бродили динозавры… Нет, забудьте про динозавров. Ну, в общем, когда-то тогда пришла в голову мысль отвлечься от стандартного web-программирования и заняться чем-то более безумным. Можно было, конечно, чем угод...

Как волонтёры со всего мира создают прямой эфир ICPC-2019 Меня зовут Лида Перовская, я работаю в Яндексе, а ещё с 2015 года помогаю организовывать прямой эфир International Collegiate Programming Contest. ICPC — студенческий чемпионат мира по программированию — проводится ежегодно с 1970-х. Это чуть ли не единственная олимпиада п...

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

OpenSceneGraph: Процедурная анимация геометрии и атрибутов состояния Введение Говоря о приемах программирования, специфичных для OSG в прошлый раз мы говорили о механизме обратных вызовов (Callback) и его реализации в движке. Настало время посмотреть на то, какие возможности дает нам применение этого механизма для управления содержимым трехм...

Ликбез по передаче параметров по значению в конструкторы и сеттеры (современный C++, примеры) Судя по комментам habr.com/ru/post/460831/#comment_20416435 в соседнем посте и развернувшейся там дискуссии, на Хабре не помешает статья, как правильно передавать аргументы в конструктор или сеттер. На StackOverflow подобного материала полно, но тут что-то я не припомню. По...

«Двоечка в челюсть»: Капитана полиции из Чечни «вырубили» у ночного клуба в Москве Попытка выяснить отношения силой окончилась нокаутом. Пропускать боксерскую «двойку» в челюсть – очень плохая идея. И теперь этот урок отлично усвоил экс-глава полиции города Аргун капитан Аюб Катаев. По сообщениям СМИ, 3 ноября бывший полицейский вступил в конфликт с двум...

[Перевод] Знакомство с SwiftUI: Создание простого приложения с использованием TableView Во время проведения WWDC 2019, одним из самым больших и захватывающих моментом был анонс релиза SwiftUI. SwiftUI — это совершенно новый фреймворк, который позволяет проектировать и разрабатывать пользовательские интерфейсы с написанием меньшего количества кода, декларативным...

AppsConf to rule them all iOS и Android-треки для любителей классических конференций, чтобы лучше справляться с ежедневными рабочими задачами. General-трек, чтобы сделать следующий шаг по карьерной лестнице. Introductory-трек, чтобы послушать обзорный доклад про смежные с мобильной разработкой обла...

[Перевод] Я не могу использовать Rift S, и у вас тоже не получится Глазища этого парня позволяют ему наслаждаться своим Rift S. Его друзьям остаётся ему только позавидовать. Из блога Палмера Лаки, изобретателя шлема виртуальной реальности Oculus Rift, одного из основателей компании Oculus VR. Rift S [следующее поколение шлема виртуальной...

Изучаем MITRE ATT&CK. Mobile Matrices: Device Access. Часть 4 Обход защиты (Defense Evasion) Ссылки на все части: Часть 1. Первоначальный доступ к мобильному устройству (Initial Access) Часть 2. Закрепление (Persistence) и Эскалация привилегий (Privilege Escalation) Часть 3. Получение учетных данных (Credential Access) Способы обхода ...

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

Моноблочные против модульных ИБП Краткий ликбез для новичков о том, почему модульные ИБП круче и как так вышло. Источники бесперебойного питания для центров обработки данных по архитектуре построения делятся на две большие группы: моноблочные и модульные. Первые относятся к традиционному типу ИБП, вторые я...

Эльдар Муртазин: люди одумаются и перестанут покупать iPhone Ведущий аналитик Mobile Research Group Эльдар Муртазин выпустил очередной ролик из серии «Apple — всё», в которой он уже несколько лет рассказывает, что бизнес Apple несостоятелен и скоро рухнет.

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

Oceanhorn 2: Knights of the Lost Realm может все-таки выйти на Android Oceanhorn 2— одна из самых привлекательных игр в линейке Apple Arcade. И если на тот факт, что она представлена только по подписке, жалуются лишь отдельные пользователи, то игроки на Android разочарованы массово. Незадолго до анонса, разработчики прямо заявили, что никогда ...

[Из песочницы] Использование C++ и шаблонов с переменным количеством аргументов при программировании микроконтроллеров ARM с ядром Cortex Mx (на примере STM32F10x) Микроконтроллер ARM Cortex M3 STM32F103c8t6 широко распространен как 32-х битный микроконтроллер для любительских проектов. Как для практически любого микроконтроллера, для него существует SDK, включающая, в том числе и заголовоч...

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

R2DBC Arabba-RELEASE — новый взгляд на реактивное программирование для SQL Поздравляем Хабр с выходом R2DBC версии Arabba-RELEASE! Это самый первый стабильный релиз проекта. R2DBC (Reactive Relational Database Connectivity) — открытый проект, посвященный реактивному программированию для SQL. Разработчики R2DBC готовили первую версию спецификации ц...

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

Swift UI — галопом по Европам Swift UI — галопом по Европам 22:35. Восторг Просмотрел WWDC 2019 Key Notes. Ожидаемый декларативный UI действительно стал явью, и это воистину событие вселенского масштаба для мира iOS-разработки. «Надо написать об этом статью», — подумал я и еще тысячи iOS-разработчиков п...

Одна голова хорошо, а две — лучше, или парное программирование в действии Драйвер и навигатор в действии (северокорейский вариант методики) От переводчика: сегодня публикуем для вас статью Эндрю Спрула, специалиста по Data Science. Он рассказывает о преимуществах парной работы программистов над одним и тем же проектом. Я часто слышу, как люди...

MOSDROID Meetup: подключайтесь к трансляции Уже завтра, 16 ноября, митап MOSDROID в офисе Райффайзенбанка: узнаём все тонкости кроссплатформенной разработки с использованием Flutter и GoMobile, поделимся друг с другом опытом модульной архитектуры проекта и ещё много интересных тем. Смотрите программу и подключайтесь ...

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

[recovery mode] Кто не спрятался – я не виноват (история скрытности в авиации) В описаниях современных боевых самолётов «малозаметный» — чуть ли не самая значимая характеристика. Важная и интересная. Под катом попытка описать историю и разные аспекты малозаметности. Картинок будет довольно много, но не жалуйтесь, авиация — это красиво. Итак, пройдёмся ...

Как зеленый джуниор в IT попал Зачем вообще эта статья, для кого и что дает читателю Для тех, кто не хочет читать много, краткий ответДля тех, кто только думает о смене профессии или уже в пути. Моя статья дает мотивации. После написания статей о bike (раз, два) меня много спрашивали о том, как я попал...

[recovery mode] «Жить в кайф» или моя история от прокрастинации к саморазвитию Здравствуй, друг. Сегодня речь не пойдет о сложных и не очень аспектах языков программирования или каком-то Rocket Sience. Сегодня я расскажу тебе короткую историю о том, как я встал на путь программиста. Это моя история и ее уже не изменишь, но если она поможет хотя бы одн...

Не очень большие данные В статье будут рассмотрены возможности, предоставляемые встроенным или декларативным секционированием в 12 версии PostgreSQL. Демонстрация подготовлена для одноименного доклада на конференции HighLoad++Siberia 2019. Все примеры выполнены на недавно появившейся бета-версии: ...

Defined or Undefined? Нюансы создания массивов в JavaScript Пару месяцев назад я наткнулся на интересный вопрос на stackoverflow, там, если вкратце, человек хотел создать пустую матрицу 5х5, и, используя один способ у него получилось, а используя другой — нет. В развернувшейся дискуссии на этот счёт были приведены интересные мысли. ...

ESET обнаружила новые версии трояна DanaBot Быстро развивающийся модульный троян DanaBot подвергся новым изменениям. В версии, выпущенной в конце января 2019 года, реализован совершенно новый коммуникационный протокол, добавляющий несколько уровней шифрования в коммуникацию трояна и его C&C-сервера. Помимо этого, ...

[Из песочницы] Изменяем содержимое нотификации приложения iOS Привет! В этой статье я хочу поделиться своим опытом использования одного не очевидного (по крайней мере для меня) варианта изменения текста уведомления приложения, отправкой дополнительных данных через UNUserNotificationCenter. Я надеюсь эта статья будет полезна для нович...

[Перевод] Различия Fluent и gettext Продолжая дискуссию о преимуществах Fluent перед привычным gettext, публикую официальную позицию создателей Fluent в переводе. Gettext — это система локализации, глубоко укоренившаяся в проект GNU и сопутствующие ему архитектурные решения. Fluent Project рассматривает gette...

ARM Assembler Editor: Если гора не идет к Магомеду, Магомед идет к горе… Если кто не знает мне интересно программирование на ассемблере для микроконтроллеров STM32… И все бы хорошо, да только программировать особо негде… Те среды которые есть в настоящий момент заточены больше для языка Си и программирование в них на ассемблере не сильно отличае...

Основы реактивного программирования с использованием RxJS. Часть 3. Higher Order Observables В данной статье мы рассмотрим, как можно в одном потоке обрабатывать другой, для чего это нужно, и как нам в этом помогут операторы Higher Order Observables (дальше HOO). При работе с потоками часто возникает ситуация, когда необходимо в качестве значения одному потоку пе...

Смартфон Meizu без разъемов и кнопок обойдется в 130 тысяч рублей Недавно китайская Meizu представила концептуальный смартфон Zero. Он лишен каких-либо отверстий в корпусе: у него нет решеток динамика, порта зарядки и даже слота для SIM-карты, хотя при этом его функциональные возможности совершенно не пострадали. На момент анонса компани...

Решение по YouTube принято, цензуре быть! и как всегда, без России не обошлось Продолжение статьи „Сохранится ли YouTube таким, каким мы его знаем?“ 26.03.2019 депутаты Европарламента проголосовали за принятие законов в защиту «Авторских прав». Статьи 11 (как статья 15) и 13 (как статья 17) были приняты в полном объеме (348 за, 274 против, 36 воздержа...

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

[Из песочницы] Удалённая работа у здорового (?) работодателя В 2019 году удаленная работа в ИТ уже давно никого не удивляет — она ​​воспринимается как один из доступных способов организации команды. Почитать об этом можно в восторженных отзывах работников, слегка хвастливых рассказах работодателей, скучных аналитических статьях рекрут...

Тут живут драконы: матрица компетенций как инструмент тимлида Не исключено, что вы скажете: «Матрица компетенций? Серьезно?». Скорее всего вы что-то уже слышали про этот инструмент, и даже сделали какие-нибудь выводы, почему не хотите его использовать. Может быть, просто было не до того, или как убийственный аргумент «так сложилось ист...

[Перевод] Как логировать в NodeJS, чтобы пацаны во дворе уважали Что вас бесит сильнее всего, когда вы пытаетесь организовать читаемые логи в вашем NodeJS приложении? Лично меня чрезвычайно напрягает отсутствие каких-либо вменяемых зрелых стандартов по созданию trace ID. В этой статье мы поговорим о том, какие есть варианты создания trac...

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

Секция Backend на DUMP Казань: архитектура облачных приложений, общительные микросервисы, DDD и не только Что делать, если секция Backend на конференции одна, а языков программирования несколько? Получается, либо каждому по докладу, и тогда что делать все остальное время? Либо больше внимания одному-двум языкам, а все остальные не в удел. Кажется, мы нашли выход. В Backend на DU...

Загрузка ФИАС в БД на MSSQLSERVER подручными (SQLXMLBULKLOAD) средствами. Как это (наверное) не нужно делать Эпиграф: «Когда у тебя в руках молоток, всё вокруг кажется гвоздями». Как-то давным-давно, кажется – в прошлую пятницу, обходя окрестности офиса, озаботилось окаянное начальство тем, что я провожу время в праздности и созерцании котиков и кошечек. — А не загрузить ли теб...

Программирование LibreOffice Base В opensource офисных пакетах OpenOffice, LibreOffice есть редко используемая и очень скупо документированная возможность — программирование, которая позволяет быстро разрабатывать приложения, аналогичные, например, приложениям Microsoft Access. Сегодня я сделаю небольшой обз...

[Из песочницы] Stackoverflow Dev Survey 2019 Всем привет! На днях стали доступны результаты Stackoverflow Dev Survey 2019. В опросе приняли участие 90К разработчиков со всего мира, что делает данные не только интересным чтивом для обсуждения с коллегами но и хорошим источником аналитики для профессионального обсуждения...

[Перевод] Amazon знает о тебе всё Когда сеть центров физиотерапии города Сиэтл захотела привлечь новых пациентов, она нацелила онлайн-рекламу на людей, живущих или работающих возле своих офисов, которые недавно купили наколенники на Amazon. Когда поставщик финансовых услуг захотел продвигать свой бизнес по...

Фотоаппарат на дискетах: 8 интересных фактов о Sony Mavica MVC-FD85 (много картинок) Меня раньше всегда забавляло, что в старой фантастике люди далёкого будущего продолжают пользоваться старыми носителями информации. Космические корабли бороздят просторы далёких галактик, но на Земле и в космосе всё ещё используют дискеты или магнитные ленты. А теперь пре...

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

[Из песочницы] Как создать модель точнее transfermarkt и не предсказывать или что больше всего влияет на стоимость трансферов Я постараюсь рассказать вам насколько легко получить интересные результаты, просто применив совершенно стандартный подход из тьюториала курса по машинному обучению к не самым используемым в Deep Learning данным. Суть моего поста в том, это может каждый из нас, надо просто по...

[Из песочницы] Легкое создание отчетов на C/C++ Если вы разрабатываете на C/C++ какое-либо ПО для операторов (администраторов) больниц, магазинов, сервисов проката гироскутеров, ремонта сотовых телефонов, то наверняка сталкивались с задачей создания отчетов, чтобы печатать их на принтере, ну или хотя бы в PDF. Существует ...

ZTE показала часы-смартфон α На Всемирном мобильном конгрессе в Барселоне представили много интересных новинок, тот же складной телефон Huawei за $2600. Ещё один необычный гаджет — часы смартфон Nubia α. В отличие от Apple Watch и прочих компаньонов, это полноценный телефон, который абсолютно самодост...

Асимметричные криптографические протоколы распределения ключей: Деннинга—Сакко, DASS, Ву-Лама ПредисловиеДанный текст будет являться одной из переписанных глав для учебного пособия по защите информации кафедры радиотехники и систем управления, а также, с этого учебного кода, кафедры защиты информации МФТИ (ГУ). Полностью учебник доступен на github (см. также draft re...

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

[Перевод] Собеседование: Swift. Вопросы и ответы Языку программирования Swift всего четыре года, но он уже становится основным языком разработки для iOS. Развиваясь до версии 5.0, Swift превратился в сложный и мощный язык, отвечающий как объектно-ориентированной, так и функциональной парадигме. И с каждым новым релизом в н...

Интервью с Виталием Брагилевским: «Мир, в котором все будут программировать на Haskell — это вряд ли хороший мир» Виталий Брагилевский (@_bravit) пока что еще преподает в ЮФУ курсы по Haskell и теории алгоритмов. Также, дает выездные курсы в других городах, является редактором и переводчиком множества книг о Haskell и функциональном программировании, состоит в комитетах Haskell 2020 и...

[recovery mode] Видеорегистраторы: основные отличия современных устройств Многими людьми радар-детекторы и видеорегистраторы воспринимаются как братья-близнецы. Оба полезных автомобильных аксессуара сейчас в тренде, представлены на рынке в большом ассортименте. Правда, есть один принципиальный момент. Радар-детекторы многие обвиняют в том, что их ...

[Перевод] Сторона личности Пола Аллена, о которой знало не так много людей, как мне бы хотелось Статья из блога Билла Гейтса — американского предпринимателя, общественного деятеля, филантропа, создавшего компанию Microsoft совместно с Полом Алленом [1953-2018] (с которым они были приятелями со школы) Пол Аллен был одним из самых любопытных людей, которых я знал. Ещё...

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

История советских кассетников: стационарные деки «Вильма» — творческий плагиат, инновации и дьявол мелочах Итак, очередной пост о яркой и неоднозначной истории советских кассетных магнитофонов. На сей раз рассмотрим стационарные модели от литовского завода “Вильма”. Отмечу сразу, что коснемся далеко не всех, но наиболее показательных и интересных экземпляров, которые ознаменовали...

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

10 PostCSS плагинов, которые сэкономят время вашему верстальщику У нас, у фронтендеров, есть такая категория инструментов, которые никак не решают стоящие перед нами задачи, а скорее влияют на сам процесс их решения. Изменяют его. Отношение к таким инструментам самое разное – начиная от мании в духе “давайте эту штуку пихать везде, это ж...

Соревнование по программированию Kotlin Heroes JetBrains начала сотрудничество с Codeforces в продвижении языка Kotlin среди любителей спортивного программирования. Codeforces предоставляет Kotlin-разработчикам платформу, на которой можно посостязаться в алгоритмическом программировании и отточить свое мастерство. Вместе...

Juju — краткий обзор На днях наткнулся на инструмент Juju от Canonical. Обрывочные сведения из интернета утверждают, что это инструмент управления конфигурацией наподобие Chef, Ansible или Puppet. Я прочитал наискосок доки по нему, заглянул в репозитории с charms-модулями (аналог кукбуков или пл...

Четыре года спустя. Модульный смартфон Fairphone 3 неожиданно замечен в Сети Модульный смартфон Fairphone 2 был представлен летом 2015 года, в продажу он поступил в конце того же года по цене более 500 евро. Устройство получило пятидюймовый дисплей разрешением 1920 х 1080 пикселей, однокристальную систему Qualcomm Snapdragon 801, 2 ГБ оперативно...

Подключение к Windows по SSH как в Linux Меня всегда удручало подключение к Windows машинам. Нет, я не противник и не сторонник Microsoft и их продуктов. Каждый продукт существует для своей цели, но речь не об этом. Для меня всегда было мучительно больно подключаться к серверам с Windows, потому что эти подключения...

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

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

[Перевод] Вы не Google Разработчики сходят с ума от самых странных вещей. Мы все предпочитаем считать себя супер-рациональными существами, но когда дело доходит до выбора той или иной технологии, мы впадаем в некое подобие безумия, перескакивая от комментария на HackerNews к посту в каком-нибудь ...

[Перевод] Guix — самая продвинутая операционная система Операционные системы (ОС) — обширная тема. На протяжении десятилетий здесь доминировал один подход: Unix. Действительно, большинство современных систем, включая большинство дистрибутивов GNU/Linux, *BSD и macOS, придерживаются архитектуры Unix. (Windows нет, но там почти нич...

[Перевод] Асинхронное программирование в Python: краткий обзор Когда говорят о выполнении программ, то под «асинхронным выполнением» понимают такую ситуацию, когда программа не ждёт завершения некоего процесса, а продолжает работу независимо от него. В качестве примера асинхронного программирования можно привести утилиту, которая, работ...

Контейнеры и Windows. От Hello World до Kubernetes. Часть первая, вводная Когда я разговариваю с Linux инженерами и говорю им о проблемах Kubernetes кластера на Windows, на меня смотрят очень подозрительно. Некоторые даже не верят что это законно такое бывает. Контейнеры на Windows не так распространены и востребованы, как на Linux. Но я думаю, ...

Идиоматичное программирование GPU на Rust: Библиотека Emu Введение Emu — это высокоуровневый язык программирования видеокарт, способный встраиваться в обычный код на системном языке программирования Rust. В данной статье речь пойдёт о синтаксисе Emu, его особенностях, а также будут показаны несколько наглядных примеров его использ...

[Из песочницы] Open Session In View в Spring Boot: Скрытая угроза Все здесь правы, каждый по-своему, и, следовательно, все здесь не правы. "Сказка о Тройке" (А. и Б. Стругацкие)Если вы используете Spring Data JPA, то после обновления на Spring Boot 2 при старте приложения можете заметить в логе новое предупреждение: spring.jpa.op...

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

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

Dell представляет самый гибкий в мире модульный Zero-footprint ПК Dell Technologies анонсировала новый OptiPlex 7070 Ultra, инновационный тонкий десктоп с модульной конструкцией, когда все электронные компоненты спрятаны внутри специального блока, расположенного в области подставки. Заказчики могут настраивать и обновлять десктоп по мере н...

Нагрузки, смартфоны, компании-гиганты: программа Heisenbug 2019 Piter Конференция Heisenbug проходит не первый год, и её главная идея остаётся неизменной: «Тестирование не только для тестировщиков». Но реализовать эту идею можно по-разному, и каждый раз у программы оказываются свои особенности. 17-18 мая в Санкт-Петербурге состоится следующ...

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

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

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

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

Нейросеть научили дорисовывать на фото людей недостающие детали Проекты, основа которых — нейросети, не редкость. Они появляются каждый день. Кто-то сортирует огурцы, кто-то рисует картины или сочиняет тексты фейковых новостей, ну а кто-то восстанавливает недостающие детали на фотографиях людей. Новый проект, который, кстати, уже выл...

[Перевод] О декораторах в Python Всем привет! Перевод статьи подготовлен для студентов курса «Web-разработчик на Python». Интересно развиваться в данном направлении? Запишитесь на День Открытых Дверей курса и пообщайтесь вживую с преподавателем: онлайн-трансляция 23 июля в 20:00 по мск.! Когда вы упражняли...

[Из песочницы] Как в Android'е передать переменную из фрагмента в активность? Рассказ о том, как в Android'е передать информацию из фрагмента (Fragment) в активность (Activity). Информация будет полезной для новичков (джуниоров), осваивающих программирование для Android, и вряд ли будет интересной для миддлов и сеньоров. Запускаем IDE (integrated dev...

[Из песочницы] Реализация горячей перезагрузки С++ кода в Linux * Ссылка на библиотеку в конце статьи. В самой статье изложены механизмы, реализованные в библиотеке, со средней детализацией. Реализация для macOS еще не закончена, но она мало чем отличается от реализации для Linux. Здесь в основном рассматривается реализация для Linux. Г...

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

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

[Перевод] Асинхронное программирование – производительность async: понять расходы на async и await Это статья достаточно древняя, но не потерявшая актуальности. Когда разговор заходит об async/await, как правило, появляется ссылка на неё. Перевода на русский найти не смог, решил помочь кто не fluent. Асинхронное программирование долгое время было царством самых опытных р...

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

Dell G5 5590: один из самых доступных игровых ноутбуков с RTX 2060 Большинство игровых ноутбуков всем своим внешним видом кричит «эй, смотрите, я сделан для геймеров и только для них!». Наш новый игровой лэптоп Dell G5 5590 не такой. Здесь современный и, возможно, немного футуристический, но всё же совершенно не кричащий дизайн. А ещё на мо...

DMA: мифы и реальность Введение В прошлой статье («Часть 2: Использование блоков UDB контроллеров PSoC фирмы Cypress для уменьшения числа прерываний в 3D-принтере») я отметил один очень интересный факт: если автомат в UDB изымал данные из FIFO слишком быстро, он успевал заметить состояние, что н...

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

[recovery mode] Регистрация IT-компании в Швейцарии: пошаговый кейс В этом материале я расскажу, как происходит регистрация швейцарской компании и чем это выгодно предпринимателю. За основу возьмём кейс одного нашего клиента, который выбрал Швейцарию базой для своего онлайн-сервиса. Мы пройдёмся по шагам по всем этапам процедуры и увидим н...

Фотофорум 2019. Как это было? С 11-13 апреля в Москве прошел Фотофорум 2019. Это одно из ключевых мероприятий фотоиндустрии, где в одном месте встречаются фанаты разных фото-брендов, чтобы узнать что-то новое для себя посредством посещения мастер-классов, общения с экспертами и изучения новых продуктов к...

Как выпускник Физтеха открыл самую большую школу программирования в Армении Карен Шарафян родился и вырос в Армении, окончил факультет общей и прикладной физики МФТИ, поступил в магистратуру Сколтех и МФТИ, но решил вернуться в Армению, где с партнерами открыл крупнейшую в стране школу программирования. Поговорили с Кареном об IT-образовании в Армен...

ООП в языке R (часть 1): S3 классы R это объектно ориентированный язык. В нём, абсолютно всё является объектом, начиная от функций и заканчивая таблицами. В свою очередь каждый объект в R должен относится к какому либо классу. На самом деле в окружающем нас мире ситуация примерно такая же. Мы окружены объекта...

Практические задачи по Java — для курсов и прочих занятий Практические задачи по Java — для курсов и прочих занятий Несколько вводных слов Последние несколько лет я читаю курс по программированию на Java. Со временем он менялся — то добавлялись, то выкидывались разные части, менялась последовательность тем, менялся подход к построе...

Водяной пар и, возможно, дождь: астрономы обнаружили следы воды в атмосфере далёкой экзопланеты Астрономы обнаружили водяной пар в атмосфере планеты, которая примерно вдвое больше по размеру, чем Земля. K2-18b – самая маленькая экзопланета с атмосферным водяным паром, когда-либо обнаруженная людьми и, вполне возможно, что там есть даже облака, и идут дожди. Это делает ...

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

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

vivo V17 продают по акции Компания vivo решила ударить по конкурент со всех орудий и представила новую акцию, которая поразит абсолютно любого покупателя. Без шуток. При оформлении предварительного заказа на смартфон vivo V17 и последующей его покупке вы получите в подарок смартфон vivo V11 совершенн...

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

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

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

Что такое Rest API? Термин Rest API в среде программирования достаточно сильно распространён. Наверняка если у вас возникала потребность в том чтобы получить те или иные данные из стороннего источника, такого как твиттер или гитхаб вы сталкивались с данным понятием. Следует отметить, что именно...

[Перевод] Нечёткий мир шума Перлина Что такое шум Перлина? Шум Перлина придуман в 1983 году Кеном Перлином (получившим за это достижение премию Американской Академии кинематографических искусств и наук). Видите ли, в те времена все стремились к фотореализму, но его всегда не хватало. Кен Перлин придуман этот ...

SEC против Kik: регулятор высмеял аргументы защиты и попросил суд отклонить их Комиссия по ценным бумагам и биржам США (SEC) назвала аргументы в защиту мессенджера Kik в ходе разбирательства по делу об ICO «несостоятельными». Соответствующие документы ведомство направило в суд. SEC Motion for Judgement by ForkLog on Scribd «Защита утверж...

[Перевод] Руководство по разработке, основанной на компонентах Модульность является одним из ключевых принципов разработки программного обеспечения с 1960-х годов. Применение этого принципа приносит в программирование много полезного. Модульность способствует эффективному использованию принципа разделения ответственностей, что ведёт к у...

[Перевод] SVG или canvas? SVG и canvas — это технологии, которые можно использовать для рисования чего-либо на веб-страницах. Поэтому их стоит сравнить и разобраться в том, когда стоит применять SVG, а когда — canvas. Даже весьма поверхностное понимание сути этих технологий позволяет сделать вполне...

Книга «Безопасный DevOps. Эффективная эксплуатация систем» Привет, Хаброжители! Приложение, запущенное в облаке, обладает множеством преимуществ, но в то же время подвержено особенным угрозам. Задача DevOps-команд — оценивать эти риски и усиливать защиту системы от них. Книга основана на уникальном опыте автора и предлагает важнейш...

Каждому яду — свой антидот. Как спастись или хотя бы попытаться… Всем бойцам РХБЗ (радиохимической и биологической защиты) не посрамившим честь своего ОЗК посвящается... С интересом читая статьи коллеги gjf про самые интересные, самые страшные и самые нестрашные яды испытываю ностальгию :). Потому что любой правильный химик, начиная свой...

Боитесь внедрять CRM-систему? Возможно, ваш бизнес болен Есть ли в бизнесе место страху? Вопрос не самый простой — какой уж страх может быть у людей, которые когда-то отказались от самой идеи стабильной работы, оклада и офисной рутины, создали своё дело ради своих целей: заработать, перестать работать «на дядю», сделать мир лучше ...

Технологии для «умного города». Станет ли Петербург первым мегаполисом, удобным для слепых? Представьте себе систему, которая способна обеспечить навигацию для людей с инвалидностью в пределах целого мегаполиса. Спуститься в метро, уверенно пройти по незнакомому району, сориентироваться на вокзале и даже сесть на рейсовый автобус без помощи проводника – для многих ...

[Перевод] 9 полезных браузерных расширений для разработчиков (cписок на 2020 год) Как упростить себе жизнь при помощи браузерных плагинов. Хитрые веб-разработчики умеют пользоваться браузером на уровне «god-mode». Расширения(плагины, add-on) чрезвычайно полезны, когда речь идет об улучшении рабочей среды и повышении производительности написания кода. Не...

Взгляд со стороны EcmaScript на общую теорию ООП Привет, Хабр! До сего дня я занимался лишь переводами интересных, на мой взгляд, статей англоязычных авторов. И вот настала пора самому что-то написать. Для первой статьи я выбрал тему, которая, я уверен, будет полезна junior-разработчикам, стремящимся дорасти до «мидлов»,...

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

$500 в месяц: на что получатели безусловного базового дохода тратят свои деньги? Глава программы обсуждает ход эксперимента с журналистами В феврале в штате Калифорния, США, стартовал эксперимент по выплате безусловного дохода в размере $500 добровольцам — участникам программы. Ими стали 125 человек из городка Стоктон. Одно из условий — размер дохода с...

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

Три года автотестов: как повысить скорость и не только Привет, я Алексей, full-stack разработчик платформы Vimbox. Когда я пришел в Skyeng, здесь решали, стоит ли тратить время на систему автотестов и попросили меня поделиться опытом с предыдущей работы. А такой опыт у меня был: к моменту ухода с предыдущего места мы написали н...

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

[Из песочницы] AsyncIO Micropython: методы синхронизации в асинхронном программировании В последовательном программировании я постоянно сталкиваюсь с очевидным желанием не останавливать работу программы в момент, когда целью отдельных задач(процессов) является периодические действия — например, опрос значений датчиков, или передача данных по расписанию на серве...

[Перевод] Темный день для Vue.js Сегодня я был изумлен тем, как обычно позитивное и дружелюбное сообщество Vue.js скатилось в печальное противостояние. Две недели назад создатель Vue Эван Ю опубликовал предложение (RFC) с новым функциональным API для компонентов в грядущем Vue 3.0. Сегодня критическое обсуж...

[Из песочницы] Попытки начать обучение ребенка программированию с Minecraft pocket edition На дворе осень и сын все чаще остается дома, уткнувшись в телефон или планшет, слабо реагируя на внешние раздражители. Меня это огорчает. Сам я начал программировать, как мне кажется, с того, что к моему первому компьютеру БК 0010-01 игры то на кассетах в комплекте шли, а в...

Насколько эффективно iPhone защищает ваши данные на самом деле? Ранее в это месяце Mozilla призвала Apple перейти к реальным действиям по защите своих пользователей, вместо того чтобы играть в безопасность. Претензия состояла в том, что в iOS, несмотря на наличие функций запрета отслеживания в Сети, присутствует рекламный идентификатор,...

Разработка ТамТам-бота на Python Привет, Хабр! Позвольте представиться: меня зовут Сергей Агальцов, и я "программист по жизни". Это значит, что я давно уже IT-менеджер, а вовсе не программист по профессии, но программирование использую постоянно, как в своей основной деятельности, так и как хобби. Как част...

Библиотека генератора ассемблерного кода для микроконтроллеров AVR. Часть 2 Библиотека генератора ассемблерного кода для микроконтроллеров AVR Часть 2. Начало работы Как и планировалось, в этой части рассмотрим более подробно особенности программирования с использованием библиотеки NanoRTOS. Те, кто начал чтение с этого поста, могут ознакомиться с о...

[Перевод] Сравнение BDD фреймворков Python: плюсы и минусы Всем привет. Уже в этом месяце в ОТУС стартует курс "Python QA Engineer". В преддверии старта данного курса делимся с вами переводом интересного материала. Почти все основные языки программирования имеют фреймворки для BDD тестирования, и Python не исключение. И по факту, у...

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

Дайджест интересных материалов для мобильного разработчика #310 (5 — 11 августа) Очередной выпуск рассказывает про морок функционального программирования, солидный Swift для солидных программистов, дорожную карту Android-разработки, стабильность модного приложения, путаницу переключателей и многое другое. Читать дальше →

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

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

А вы уже знаете, где можно скачать Counter Strike 1.6 совершенно бесплатно и без регистрации Как вы отдыхаете и расслабляетесь? Кто-то ходит в кино, кто-то является частым посетителем местных баров и пабов, кто-то любит ночные клубы. А как насчет компьютерных игр? Компьютерные игры – это один из способов отдыха и времяпрепровождения. Они помогают расслабиться и отдо...

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

[Перевод] Н.М.Д. (Не Моё Дело) В последние несколько лет передо мной жёстко встал вопрос расстановки приоритетов. Я видела, что многие друзья и коллеги тоже страдали от этого: как понять, какую проблему решать, а какую игнорировать? Где проходит черта? Установка Если вы читаете это в поисках совета, веро...

Космическая гонка возобновляется?: Путин и Совбез РФ планируют «сделать» США в битве за Луну Времена «Холодной войны» показали, что любые движения в сторону Луны и космического пространства от потенциального противника воспринимаются как вызов. NASA бросило вызов России. Неделю назад директор американского космического агентства поделился с общественностью планами ...

C-V2X с поддержкой сетей 5G NR: новая парадигма обмена данными между автотранспортом Технологии 5G позволят более эффективно собирать данные телеметрии и открывать совершенно новые для автотранспорта функции, способные повысить безопасность на дорогах и развить сферу беспилотных авто. В системах V2X (система обмена данных между транспортными средствами, эл...

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

[Из песочницы] Принцип открытости-закрытости Привет, Хабр! Перед вами перевод статьи Роберта Мартина Open-Closed Principle, которую он опубликовал в январе 1996 года. Статья, мягко говоря, не самая свежая. Но в рунете статьи дяди Боба про SOLID пересказывают только в урезанном виде, поэтому я подумал, что полный перево...

Xiaomi Mi Band 4 поступил в продажу до презентации Одним из самых долгожданных устройств нынешнего года для многих людей является Xiaomi Mi Band 4, который обещает стать самым продвинутым на рынке фитнес-трекером из всех, которые когда-либо выходили на рынок. Новинка обладает цветным экраном, новейшими Сообщение Xiaomi Mi B...

[Из песочницы] Объектно-ориентированное программирование в Java и Python: сходства и отличия Привет, Хабр! Представляю вашему вниманию перевод статьи “Object-Oriented Programming in Python vs Java” автора Джона Финчера. Реализация объектно-ориентированного программирования (ООП) в языках Java и Python отличается. Принцип работы с объектами, типами переменных и прочи...

Дайджест интересных материалов для мобильного разработчика #272 (19 — 25 августа) В нашей еженедельной подборке PWA в Google Play, запись нажатий, декларативный UI, изменения логотипа и нумерации версий Android, история создателя FBReader, отслеживание рук и многое другое!

[Перевод] Реверс-инжиниринг малошумящих операционных усилителей из аналогового компьютера 1969 года Статья из блога Кена Ширрифа из Музея компьютерной истории Мы восстанавливаем винтажный (1969 года, судя по маркировке чипов) компьютер, недавно найденный одним из наших сотрудников. Аналоговые компьютеры когда-то были популярны для быстрых научных расчётов, но практически ...

10 самых популярных видео докладов с 404fest 2018 Как вы знаете, мы тут в своей Самаре каждый год проводим Фестиваль 404, куда приезжают разные люди и делятся опытом. Доклады записываем на видео и выкладываем совершенно бесплатно на свой канал youtube. Предлагаем подборку самых популярных видео докладов за прошлый год. Чи...

[Из песочницы] Самое интересное на выставке Securika Moscow 2019 С 19 по 22 марта в cтоличном Экспоцентре прошла 25-я Международная выставка технических средств охраны и оборудования для обеспечения безопасности и противопожарной защиты Securika Moscow 2019. Свои новинки представили более 400 российских и зарубежных компаний, среди которы...

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

Эффективное управление подключениями SignalR Здравствуй, Хабрахабр. В настоящий момент я работаю над созданием движка чата в основе которого лежит библиотека SignalR. Помимо увлекательного процесса погружения в мир real-time приложений пришлось столкнуться и с рядом вызовов технического характера. Об одном из них я и х...

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

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

Хватит спорить про функциональное программирование и ООП Пост содержит некоторое количество стёба, минздрав убедительно просит неподготовленного читателя воздержаться от прочтения. Статьи на тему «ФП лучше» или «ООП лучше» напоминают дебаты, что же лучше для обеда, вилка или ложка. Традиционно джуны начинали с ложки, но кто-то оче...

[Перевод] PHP в 2019: лучше, чем вы о нём думаете Помните некогда популярную публикацию: «PHP: фрактал плохого дизайна»? Я, когда впервые её прочитал, работал в дурацком месте с большим количеством устаревших PHP-проектов. Она заставила меня задуматься: должен ли я уйти и заняться чем-то совершенно другим, нежели программ...

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

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

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

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

[Из песочницы] Учимся стандарту проектирования — Entity Relationship Здравствуйте. Данная статья посвящена одной из самых популярных, а также и многим знакомой, модели проектирования — ER(Entity Relationship), которая была предложена учёным, в области информатики — Питером Ченом, в 1976 году. По ходу статьи простым языком на простых примера...

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

Расставляем стандартные ячейки (заметки постороннего) Натолкнувшись на статью “Уничтожим монополию …”, автор, как человек пусть от EDA очень далёкий, но от природы любознательный, не поленился пройтись по ссылкам и невольно поймал себя на мысли, что одно из основных технических решений — использование рядов стандартных ячеек (...

Чем iPhone лучше смартфонов Huawei? Отвечает основатель Huawei Быть поклонником техники Apple несложно. Несмотря на то что иногда продукция компании из Купертино отдает компромиссами, более низкое качество товаров остальных производителей не оставляют многим из нас выбора. Но одно дело, когда решение принимает рядовой потребитель, и со...

[Перевод] Джо Армстронг об Elixir, Erlang, ФП и ООП В последние несколько дней на Хабре был опубликован ряд статей, общим лейтмотивом которых (особенно в комментариях) стало противостояние тупоконечников с остроконечниками – адепты ФП против ООП, хотя их и призывали не спорить. Иногда обсуждали Erlang, в связи с чем мне вспом...

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

Обзор методов сегментации изображений в библиотеке scikit-image Thresholding Это самый простой способ отделить объекты от фона, выбрав пиксели выше или ниже определенного порога. Это обычно полезно, когда мы собираемся сегментировать объекты по их фону. Вы можете прочитать больше о пороге здесь. Люди, знакомы с фильмом «Терминатор», нав...

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

Infrastructure as Code: как побороть проблемы с помощью XP Привет, Хабр! Раньше я жаловался на жизнь в парадигме Infrastructure as code и ничего не предлагал для решения сложившейся ситуации. Сегодня я вернулся, чтобы рассказать, какие подходы и практики помогут вырваться из бездны отчаяния и вырулить ситуацию в правильное русло. ...

[Из песочницы] Начинаем FPGA на Python Технология FPGA (ПЛИС) в настоящее время обретает большую популярность. Растёт количество сфер применения: помимо обработки цифровых сигналов, FPGA используются для ускорения машинного обучения, в blockchain технологиях, обработке видео и в IoT. Данная технология имеет од...

Flipper Zero — пацанский мультитул-тамагочи для пентестера Flipper Zero — проект карманного мультитула на основе Raspberry Pi Zero для пентеста IoT и беспроводных систем контроля доступа. А еще это тамагочи, в котором живет кибер-дельфин. Он будет уметь: Работать в диапазоне 433 MHz — для исследования радиопультов, датчиков, эл...

Живут ли базы данных в Kubernetes? Как-то так исторически сложилось, что IT-индустрия по любому поводу разбивается на два условных лагеря: которые «за» и которые «против». Причем предмет споров может быть абсолютно произвольным. Какая ОС лучше: Win или Linux? На смартфоне Android или iOS? Хранить все в обла...

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

Астрономы обнаружили две «танцующие» мёртвые звезды Исследователи с помощью телескопа Zwicky Transient Facility обнаружили систему из двух белых карликов на расстоянии 8 тыс. световых лет. Объект, известный как ZTF J1539+5027, представляет собой потухшие звёзды, вращающиеся вокруг друг друга каждые семь минут. Эта вторая сама...

[Перевод] Поговорим о PAKE А сейчас поговорим о информационной безопасности. Данная публикация приурочена к запуску курса «Криптографическая защита информации», который стартует уже 30 мая. Поехали. Первое правило PAKE: никогда не говорить о PAKE. Второе правило PAKE гласит, что первое правило это н...

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

Новости игровой индустрии (11-25 марта 2019) Продолжаем серию новостей, выпуск третий. GDC 2019! Если транслировать совершенно все новости оттуда, то ни в какой дайджест не поместится, хватит на год описывать всякие мелочи. Поэтому по верхам. Megacity Demo Unity опубликовали клёвую технодемку Megacity, показывающую,...

Усложнение C++ неизбежно. И не только C++ Давно хотел написать подобный текст, но все никак не доходили руки. А вот после завершившегося летнего заседания комитета по стандартизации C++ и поднявшегося воя о том, что сложность языка еще больше увеличилась, пришлось таки изыскать время и зафиксировать собственные мысл...

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

[Из песочницы] Случайные перестановки и случайные разбиения Я много лет читаю курсы по комбинаторике и графам для студентов-математиков и computer scientists (как это по-русски, компьютерных научников?), раньше в Академическом университете, а теперь в СПбГУ. Программа у нас построена так, что эти темы проходят как часть «теоретическо...

Как я стал докладчиком Percona Live (и несколько интригующих деталей с американской границы) Percona Live Open Source Database Conference — одно из главных мероприятий на календаре мира СУБД. Когда-то всё начиналось с разработки одного из форков MySQL, но потом сильно переросло прародителя. И хотя очень многие материалы (и посетители) всё ещё плотно связаны с тема...

[Из песочницы] Как я нашел свою первую уязвимость? Предисловие Всем привет. Мне 20 лет. Еще недавно я учился в лицее и готовился поступать в медицинский ВУЗ, а сейчас я — фулстэк разработчик в одной американской компании. На самом деле я очень рад, что с медициной у меня не вышло — программирование было моим хобби, а сейчас ...

Обсуждение: работа интернета держится на open source — какие аргументы есть у критиков Обсуждаем трудности, которые стоят перед разработчиками открытого ПО, и то, как сложности, с которыми им приходится сталкиваться, влияют на ИТ-экосистему в целом. Читать дальше →

Как Apple готовится к эре после iPhone Производство смартфонов остается одним из самых прибыльных бизнесов в мире. Мобильными девайсами ежедневно пользуется свыше 2,1 млрд человек (и ожидается, что к 2021 году будет 3 млрд). Ежегодно продается больше 1,4 млрд смартфонов, это рынок на $480 млрд. И около $200 млр...

Python v3.x: как увеличить скорость декоратора без регистрации и смс Вначале была эта статья. Потом к ней появился комментарий. А в результате я углубился в чтение матчасти, закопался в дебаг и смог оптимизировать код из первой части этой истории. Предлагаю вместе со мной пройтись по основным моментам. Читать дальше →

Декларативная схема и что с ней не так в Magento 2 Всем привет. Данная публикация не претендует на звание истины в первой инстанции, а лишь является моим личным мнением, если вы его разделяете отлично, если нет — прошу в комментарии для обсуждения. Так вот, ближе к делу. В версии Magento 2.3 и выше появилась такая «плюшка» ...

Xiaomi запатентовала экран смартфона, загнутый с 4 сторон LetsGoDigital С дисплеями смартфонов, закругленными с двух сторон, мы уже знакомы. Компания Xiaomi, однако, решила пойти дальше и… загнуть экран со всех четырех сторон. Такое решение описывается в патенте компании, замеченном нидерландским порталом LetGoDigital. Выгляди...

Tarantool Kubernetes Operator Kubernetes в значительной мере упрощает эксплуатацию приложений. Он забирает на себя ответственность за развертывание, масштабирование и отработку отказов, а декларативная природа описания ресурсов упрощает управление сложными приложениями. Тarantool может выполнять роль ...

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

Транспилятор PAS2JS из Паскаля в JavaScript: несовместимости с Delphi и пути обхода В наше время в кармане обычного человека лежит мощный персональный компьютер, о котором 10-20 лет назад можно было только мечтать. И если у вас километры отлаженного Windows-кода и отлично работающие приложения и утилиты, написанные на Delphi, вы наверняка хотели бы задейств...

Сколькими способами можно записать факториал на Scheme? Злые языки утверждают, что функциональные языки программирования — «языки для написания факториалов». Чаще всего так определяют язык Haskell, мы же начнем с того функционального языка, который сильно повлиял и на Haskell, и на подмножество средств для функционального програм...

[Перевод] Котлин против Свифта: Android и iOS движутся к созданию универсального языка? Друзья, всем привет. На связи Дмитрий Кожевин — преподаватель базового курса «Android-разработчик» в OTUS. Специально для читателей нашего блога я подготовил перевод вот такой отчасти провокационной статьи. Очень интересно ваше мнение, поэтому после прочтения приглашаю все...

Мужчина, pause on caught exceptions Поговорим о практическом применении одной очень интересной темы — системного мышления. Принципов и методов в системном мышлении много, очень рекомендую почитать соответствующую литературу. Например, простую и интересную книгу. Сегодня мы затронем только один принцип — эмерд...

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

[Перевод] Миниатюрный функциональный аналог декатрона для реплики Harwell Dekatron Computer и не только Разрабатывая этот функциональный аналог декатрона, автор преследовал две цели: поучаствовать всё в том же конкурсе конструкций на платах площадью в один квадратный дюйм, а также применить множество таких модулей в проекте WITCH-E по воссозданию Harwell Dekatron Computer, т...

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

Как менялись зарплаты и популярность языков программирования за последние 2 года В нашем недавнем отчёте по зарплатам в ИТ за 2 полугодие 2019 многие интересные подробности остались за кадром. Поэтому мы решили осветить самые важные из них в отдельных публикациях. Сегодня попробуем ответить на вопрос, как менялась зарплата у разработчиков разных языков...

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

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

[Перевод] Функциональный JavaScript: пять способов нахождения среднего арифметического элементов массива и метод .reduce() Методы итерирования массивов похожи на «стартовые наркотики» (это, конечно, не наркотики; и я не говорю, что наркотики — это хорошо; это — просто фигура речи). Из-за них многие «подсаживаются» на функциональное программирование. Всё дело в том, что они невероятно удобны. Кро...

[Перевод] Практичный Go: советы по написанию поддерживаемых программ в реальном мире Статья посвящена лучшим практикам написания кода Go. Она составлен в стиле презентации, но без обычных слайдов. Постараемся кратко и чётко пройтись по каждому пункту. Для начала следует договориться, что значит лучшие практики для языка программирования. Здесь можно вспомни...

Как развивается умение общаться (с самого-самого начала) и что с ним делают игры на сторителлинг Одна из самых распространенных тем запросов, с которыми приходят к детским специалистам, это речь. Самая очевидная проблема — это когда ребенок не говорит. Вот ему год, а он молчит. Вот ему уже три, а он все равно молчит. А вот уже пять… Тут понятно, что что-то пошло не так....

Приглашаем 6 марта на ElixirLangMoscow Meetup #9 6 марта приглашаем вас на ElixirLangMoscow Meetup #9 в московский офис Mail.ru Group. Язык программирования Elixir продолжает развиваться, и мы вместе с сообществом проводим Elixir-митапы. Программа выступлений адаптирована как под активных разработчиков на Elixir, так и п...

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

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

[Из песочницы] Как мы в Exceed Team стажёров обучаем или Education Time Привет, мой дорогой читатель. Позволь поделиться с тобой одной интересной темой, начав с вопроса: почему мы обучаем людей именно так? Есть же книги, курсы, ролики на ютубе и вообще целый Google. Постройте им курс обучения со ссылками, пусть сидят себе и читают. Но мы так н...

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

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

SwiftUI и авто-возобновляемые подписки Привет! На связи Денис из Apphud – сервиса по аналитике возобновляемых подписок для iOS-приложений. Как вы знаете, на WWDC 2019 Apple анонсировали свой новый декларативный фреймворк SwiftUI. В этой статье я попробую рассказать как с помощью SwiftUI сделать экраны оплаты и р...

О жёлтом фосфоре и панической природе человека Привет, %username%. Как и обещал — вот тебе статья-рассказ о жёлтом фосфоре и о том, как он славно горел подо Львовом на Украине относительно недавно. Да, я знаю — гугл даёт массу информации об этой аварии. К сожалению, большинство того, что он выдаёт — неправда, или, ка...

Top 7 (+) самых невероятных приключений, когда-либо происходивших Недавно я заметил кое-что. Раньше мне было все равно, теперь я это знаю — и это мне не понравилось. Во всяких этих ваших корпоративных тренингах, а также начиная с младших классов в школе нам рассказывают много всего, где, как правило, нет находится достаточно места авантюри...

Программирование в России введут с начальной школы Одно из заданий детского курса программирования на Code.org. Справа — программа на языке Blockly Согласно предложению Министерством просвещения РФ, в курс математики для младших школьников включат основы создания кодов и языков программирования, пишут «Известия». Это преду...

Режим ограничения доступа к аксессуарам в устройствах iOS и как его обходят Сегодня я расскажу об одном интересном с технической точки зрения решении Apple, посредством которого компания попыталась защитить свои устройства от перебора паролей – и о том, что из этого получилось в результате. Для начала отвечу на вопрос, для чего вообще нужен режим ог...

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

Защита микросхем от реверс-инжиниринга и несанкционированного проникновения “CVAX — когда вы забатите довольно воровать настоящий лучший”. Надпись, оставленная американскими инженерами для советских коллег в топологии микропроцессора. Реверс-инжиниринг микросхем — головная боль производителей с самых первых лет существования микроэлектроники. Вся ...

WWDC 2019: главное с презентации Keynote по версии роботов В противовес прошлой WWDC, где основной фокус был на быстродействие и небольшие улучшения, сегодня представили все и сразу: новый Mac Pro, новые сервисы и давно желаемые функции для разработчиков. Кто-то говорит, что это лучший WWDC с 2014 года, когда представили новый язы...

Программирование для детей и подростков – интересные курсы от DAN.IT education Если ребенку по душе компьютерные игры, интересует разработка несложных приложений или есть желание расширить кругозор, курсы программирования в учебном центре DAN.IT пойдут на пользу.

[Перевод] Что такое Zero Trust? Модель безопасности Zero Trust («нулевое доверие») – это модель безопасности, разработанная бывшим аналитиком Forrester Джоном Киндервагом в 2010 году. С тех пор модель «нулевого доверия» стала наиболее популярной концепцией в сфере кибербезопасности. Недавние массовые утечки данных только по...

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

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

«Универсал» в команде разработки: польза или вред? Всем привет! Меня зовут Людмила Макарова, я менеджер разработки в УБРиР и треть моей команды – «универсалы». Признайте: каждый Tech Lead мечтает о кросс-функциональности внутри своей команды. Ведь это так круто, когда один человек способен заменить трех, да еще и сделать ...

[Перевод] Шесть способов, которыми тестировщики могут принести пользу (помимо функционального тестирования) Салют! Уже на следующей неделе стартуют занятия в новом потоке курса «QA-специалист», в связи с этим делимся с вами полезным материалом, переведенным специально для студентов курса. Поехали. Резюме: Многие тестировщики проводят только функциональное тестирование, не выхо...

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

Байки сервисной службы. Несерьёзный пост о серьёзной работе Сервисные инженеры бывают на АЗС и космодромах, в IT-компаниях и на автозаводах, на ВАЗе и в Space X, в небольшом бизнесе и в международных гигантах. И все, абсолютно все они когда-то слышали классический набор про «оно само», «я тут изолентой обмотал и оно работало, а потом...

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

Как я не стал специалистом по машинному обучению Истории успеха любят все. И на хабре их достаточно много. «Как я получил работу с зарплатой 300 000 долларов в Кремниевой долине» «Как я получил работу в Google» «Как я заработал 200 000 $ в 16 лет» «Как я попал в Топ AppStore с простым приложением курса валют» «Как я …» и е...

[Перевод] Как решить «Сапёра» (и сделать его лучше) «Сапёр» (Minesweeper) — это простая игра с простыми правилами, однако некоторые её конфигурации создают любопытные трудности. В этой статье мы создадим солвер «Сапёра» с увеличивающейся сложностью, и поразмышляем над тем, как меняется динамика игры при постепенном повышении...

ONYX BOOX «Моя первая книга»: безвредное чтение для мамы и ребёнка Чтение на электронных девайсах вместо бумажных аналогов до сих пор вызывает ожесточённые споры, особенно если речь идёт о недорогих планшетах, экраны которых в буквальном смысле «выжигают глаза» при длительном использовании. А уж детское чтение с такого устройства — вообще з...

Apple обдумывает рассказать про новый модульный Mac Pro на WWDC в июне Согласно новой информации от Bloomberg, Apple рассматривает возможность предварительного просмотра своего нового Mac Pro на Всемирной конференции разработчиков в июне этого года. Модульная концепция Mac Pro от Curved.de Apple заявила, что работает над высокопроизводительным...

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

[Из песочницы] Управление светом на ZigBee Привет друзья! Сегодня хочу рассказать Вам об одной интересной разработке системы дистанционного управления освещением. Современный дом представляет из себя огромное количество проводов чтобы хоть как то уменьшить и упорядочить их количество на помощь приходит радио. В ...

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

Андрей Терехов (продолжение): «Когда говорят, что мы отстали от американцев навсегда, я отвечаю: „Не дождетесь!“» Вторая часть интервью с завкафедрой системного программирования Матмеха СПбГУ, доктором физмат наук, профессором, президентом компании «Ланит-Терком». Андрей Николаевич Терехов рассказал о создании кафедры матобеспечения ЭВМ и своих многочисленных учениках, языке PADLA, ра...

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

Трёхпроходные протоколы Данный текст будет являться одной из переписанных глав для учебного пособия по защите информации кафедры радиотехники и систем управления, а также, с этого учебного кода, кафедры защиты информации МФТИ (ГУ). Полностью учебник доступен на github (см. также draft releases). На...

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

Библиотека генератора ассемблерного кода для микроконтроллеров AVR. Часть 5 ← Часть 4. Программирование периферийных устройств и обработка прерываний Библиотека генератора ассемблерного кода для микроконтроллеров AVR Часть 5. Проектирование многопоточных приложений В предыдущих частях статьи мы подробно останавливались на основах программирования с ...

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

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

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

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

[Перевод] JavaScript — лучший язык программирования для начинающих. Так это или нет? JavaScript, несмотря на его многочисленные недостатки, возможно, является самым лучшим языком программирования для начинающих разработчиков, и лучшим языком, с которым могут повозиться дети. Шёл 2007 год. Отличное издательство технических книг O’Reilly Media обратилось ко ...

[Перевод] Конференция DEFCON 18. Практический шпионаж с помощью мобильного телефона. Часть 2 Конференция DEFCON 18. Практический шпионаж с помощью мобильного телефона. Часть1 Мы хотим применить определённые методы, чтобы ускорить захват телефонов фальшивой сетью. На данный момент у нас есть простой перехватчик IMSI, вы можете попробовать позвонить и услышать запи...

[recovery mode] Что показывает вольтметр или математика розетки О чем эта статья Сегодня я ненадолго отступлю от своей обычной темы о визуальном программировании контроллеров и обращусь к теме измерений напряжения прямо в ней, в розетке! Родилась эта статья из дискуссий за чаем, когда разразился спор среди «всезнающих и всеведающих» п...

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

Как написать сапера на Phaser и выполнить тестовое задание HTML5 разработчика Добрый день, уважаемые коллеги! Меня зовут Александр, я разработчик HTML5 игр. В одной из компаний, куда я отправлял свое резюме, мне предложили выполнить тестовое задание. Я согласился и, спустя 1 день, отправил в качестве результата разработанную по ТЗ HTML5 игру. Поск...

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

Концепция WCOS + C-Shell стирает грань между приложениями и оболочкой Windows Core OS – это модульная операционная система с несколькими оболочками, так называемыми составными оболочками (Composable Shells). Дизайнер Нилс Лауте (Neils Laute) представил новую идею, стирая грань между приложениями и оболочкой ОС, все в интересах производительнос...

[Из песочницы] Разработка игры и защита диплома или «Как я убил двух зайцев первым блином» Дипломный проект О создании игр и получении высшего образования обычно говорят как о вещах несовместимых, часто вполне справедливо. Многие известные инди-разработчики бросали универы. Я же расскажу о противоположном опыте. О своём довольно необычном проекте и о том, как удал...

Книга «Современный язык Java. Лямбда-выражения, потоки и функциональное программирование» Привет, Хаброжители! Преимущество современных приложений — в передовых решениях, включающих микросервисы, реактивные архитектуры и потоковую обработку данных. Лямбда-выражения, потоки данных и долгожданная система модулей платформы Java значительно упрощают их реализацию. ...

[Из песочницы] 10 понятий для дизайнера в 2019-м Среда работы UI/UX дизайнеров стремительно расширяется и растет: появляется уйма новых продуктов и инструментов для разработки интерфейсов, крутых возможностей благодаря развитию гибких языков программирования и, конечно же, в дизайнерскую экосферу внедряется множество новых...

[Перевод] Чего мне никогда не говорили о CSS Фото Джантин Дурнбос на Unsplash Это ни в коем случае не критика коллег, а всего лишь краткий список важных вещей, которые я самостоятельно узнала о CSS в последнее время. Не секрет, что многие разработчики, похоже, не думают о CSS. Это легко заметить по обсуждениям в инт...

CD Projekt RED: в Cyberpunk 2077 не будет процедурно сгенерированных элементов Ведущий аниматор кинематографических сцен ролевого шутера Cyberpunk 2077 Мацей Петрас (Maceij Pietras) рассказал порталу JeuxActu о том, что вся игра создаётся вручную. Ни один из элементов не будет процедурно сгенерирован. Это всё то же самое интервью, из кото...

Осторожно: Google Play заполонили приложения-подделки для Android Google Play никогда не отличался высоким уровнем безопасности. Ему не очень помогло даже усиление контроля путем привлечения к проверке приложений, попадающих в каталог, живых людей и продвинутых антивирусных программ. Конечно, вредоносному ПО стало сложнее проникать в Goog...

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

Двойной VPN в один клик. Как легко разделить IP-адрес точки входа и выхода TL;DR В статье описывается самый простой способ настроить VPN-сервер, у которого IP-адрес для подключения VPN-клиентов отличается от IP-адреса, с которого клиенты выходят в интернет. Используете VPN для защиты приватности в интернете и арендуете для этого свой личный сер...

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

[Из песочницы] 25 лет Рунету Что бы ни делали российские интернет-пользователи, — вводили поисковые запросы, слушали музыку, проверяли почту, переписывались в соцсетях, — делают они это преимущественно на российских сайтах. Западным технологическим гигантам вроде Google и Facebook приходится тесниться,...

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

Новый метод лечения рака успешно прошел этап испытаний: что дальше? В 2013 году исследователи из Лондона начали тестирование препарата «тизотумаб-ведотин», который уничтожает раковые клетки совершенно новым способом. Его суть заключается в проникновении внутрь клеток и высвобождении губительного для них токсина, который уже успел доказать с...

Телефонные опросы и поиск в CRM в 3CX CFD, новый плагин WP-Live Chat Support, обновление приложения для Android За последние пару недель мы представили несколько интересных обновлений и один новый продукт. Все эти новинки и улучшения соответствуют политике 3CX по созданию на базе UC АТС доступного мультиканального колл-центра.    Обновление 3CX CFD — компоненты Опрос и Поиск в CRM Све...

Как нанимать людей в огромную компанию с непопулярным стеком. Разговор с Wrike Увидеть новый и пока мало кому известный язык программирования в маленьком стартапе или пет-проекте у друзей — дело обыденное. Спросишь, зачем его взяли, скажут, что просто изучили из любопытства, понравилось и решили поэкспериментировать, потому что устали от вечных Java/...

21 июня, Москва, Deworkacy — AnalyzeIT MeetUp #2 Привет! По традиции, митап пройдет в Deworkacy и будет бесплатным, надо лишь зарегистрироваться. В пятницу, 21 июня, в 19.00 наши ребята расскажут, как аналитикам работается в банке и по какому количеству граблей они успели пройтись за 6 лет работы. Мы поговорим про личн...

Сотовые операторы «МТС», «МегаФон», «Билайн» и Tele2 абсолютно неожиданно отключили мобильный интернет Чем дальше в будущее, тем чаще жители России и других стран мира используют услуги сотовых операторов. Самыми крупными и известными среди таковых, вне каких-либо сомнений, являются «МТС», «МегаФон», «Билайн» и Tele2. Они позволяют приблизительно 97% Сообщение Сотовые опера...

Почему нужно срочно установить последнее обновление Telegram для Android Когда вы удаляете фотографию из чата в Telegram, на самом деле она не удаляется Принято считать, что Telegram — это чуть ли не самый защищённый мессенджер, чьё руководство страдает от аллергии на спецслужб, а значит, гарантированно не сдаст им своих пользователей. Тем ...

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

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

Когда «стены» недостаточно. Как защитить конечные точки Думаете, самое важное в компании — обеспечить безопасность корпоративного сетевого периметра и серверной инфраструктуры? Это правда лишь отчасти: создать защищенный периметр сейчас в принципе невозможно, только если в компании не применяются строжайшие правила ИБ, «белый с...

Модульные промышленные мониторы Advantech FPM-7002 Суровые условия производства накладывают дополнительные требования ко всем периферийным устройствам, в том числе и к мониторам. Промышленные мониторы серии FPM-7002 предназначены для установки во встраиваемые системы с повышенными требованиями надежности, имеют модульную с...

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

Как всем пережениться (одно-, дву- и трёхполые браки) с точки зрения математики и почему мужики всегда в выигрыше В 2012 году Нобелевскую премия по экономике выдали Ллойду Шепли и Элвину Роту. «За теорию стабильного распределения и практики устройства рынков». Алексей Савватеев в 2012 году попытался просто и понятно рассказать в чем суть заслуг математиков. Предлагаю вашему вниманию кон...

Пингвин, виртуализация и $23 млрд: как и почему облачные технологии навсегда изменили ИТ-мир Каждые несколько лет на ИТ-рынке появляется новая технология или парадигма, которая радикально меняет бизнес-модели большинства компаний. Например, еще 25 лет назад этой парадигмой стал массовый бум ПК, бенефициаром которого стала компания Microsoft. 15 лет назад – массо...

Синхронизация точек доступа Wi-Fi для совместной работы Этот рассказ стоит начать с одной интересной истории… У некой маленькой фирмы был совсем небольшой офис, состоящий из коридора, кухни с кофемашиной, переговорной, кабинета директора и открытого рабочего пространства (open space). Сотрудники в качестве рабочего компьютера ...

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

Английский vs. Эсперанто: за кем будущее? За последние 50 лет позиции английского языка на международной арене усилились до невиданного ранее уровня. На сегодня в мире примерно 378 миллионов людей говорят на английском в качестве родного и еще от 470 миллионов до 1 миллиарда указывают его как второй язык. Что приме...

Квантовые вычисления в играх, или сходим с ума по-серьезному Если живешь среди сумасшедших, надо и самому научиться быть безумным Вы когда-нибудь пробовали «научиться быть безумным»? Нетривиальная задачка. Даже нормальной методики не найдешь, ибо каждый сходит с ума по-своему. Моя первая попытка: теория заговора. Теория не предполага...

[Перевод] Рассказ о том, почему я до сих пор использую jQuery Многие, когда речь заходит о jQuery, говорят так: «Просто пользуйтесь обычным JavaScript. Библиотека jQuery вам не нужна». Что тут сказать? Я не нуждаюсь во многих вещах, но, несмотря на это, хорошо, когда они есть. Так и jQuery. Я в этой библиотеке не нуждаюсь, но её, опред...

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

Ультимативное сравнение embedded платформ для AI Нейронные сеточки захватывают мир. Они считают посетителей, контролируют качество, ведут статистику и оценивают безопасность. Куча стартапов, использование в промышленности. Замечательные фреймворки. Что PyTorch, что второй TensorFlow. Всё становиться удобнее и удобнее, про...

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

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

В Британии обнаружили средневековую рукопись о короле Артуре Её заметил работник Бристольского университета, когда искал необходимое ему литературное произведение в книжном хранилище. В Британии в библиотеке обнаружили средневековую рукопись о короле Артуре и рыцарях Круглого стола. В манускрипте описывается поход воинов и рекомендац...

Функциональное тестирование навыков Яндекс Алисы на Node.js Прошел почти год с того момента, как появилась возможность создавать свои навыки для Алисы — голосового помощника от Яндекса. В каталог ежедневно прибывают новые навыки, а их общее число составляет несколько сотен. К сожалению, общение с некоторыми навыками мягко говоря "не...

[Перевод] Фаззинг в стиле 1989 года С наступлением 2019 года хорошо вспомнить прошлое и подумать о будущем. Оглянемся на 30 лет назад и поразмышляем над первыми научными статьями по фаззингу: «Эмпирическое исследование надёжности утилит UNIX» и последующей работой 1995 года «Пересмотр фаззинга» того же автора ...

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

Архитектура AERODISK vAIR или особенности национального кластеростроения Привет, Хабровчане! Мы продолжаем знакомить вас с российской гиперконвергентной системой AERODISK vAIR. В этой статье речь пойдет об архитектуре данной системы. В прошлой статье мы разобрали нашу файловую систему ARDFS, а в данной статье пройдёмся по всем основным программн...

«Невзламываемый» eyeDisk защищён сканом радужной оболочки глаза, но передаёт пароль в открытом виде USB-накопитель eyeDisk с биометрической защитой, который «невозможно взломать» Самые современные методы биометрической защиты не всегда означают повышенную безопасность. Провал разработчиков eyeDisk на самом деле показывает более общие тенденции. К сожалению, в IT-отрасли ...

Ностальгия по Half Life — создаем приставку для радиостанции для получения голоса и звука окончания в стиле комбайнов Когда-то давным-давно, когда деревья были большие, был такой шутер Half-Life, продолжение которого ждут до сих пор — это уже притча во языцах. Были там такие противники как Combines (Combine Soldiers) — измененные захватчиками люди. Во время игры можно было слышать их пер...

Курилы On-line Когда в СМИ мы слышим упоминания о Курильских островах чаще всего звучит тема необъятных природных ресурсов этого региона, либо это политические перипетии с Японией вокруг нескольких клочков земли раскиданных в южной части Охотского моря. С чем связана такая узость тем понят...

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 15. Медленная связь и функция Port Security Перед тем как приступить к уроку, хочу сказать, что на нашем сайте nwking.org вы сможете найти не только информацию по изучению курса CCNA, но и множество других тем, полезных для сетевого специалиста. Мы публикуем там интересные сведения о продукции других производителей и ...

[Перевод] Смартфон, который ты никогда не купишь, доступен для предзаказа за 1300 $ Если вы питаете интерес ко всяким безумным штукам, вроде смартфона Meizu Zero, у которого нет ни одного порта или кнопки, теперь вы можете предварительно заказать его на Indiegogo за 1299 $. Поставки ограничены, так как компания сейчас продает только 100 единиц устройств. ...

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

NLP. Основы. Техники. Саморазвитие. Часть 1 Привет! Меня зовут Иван Смуров, и я возглавляю группу исследований в области NLP в компании ABBYY. О том, чем занимается наша группа, можно почитать здесь. Недавно я читал лекцию про Natural Language Processing (NLP) в Школе глубокого обучения – это кружок при Физтех-школе п...

Человек как IoT устройство. Программирование биороботов Приветствую! Хотел бы обсудить, наверное, одну из самых важных тем. А давайте представим ближайшее будущее, где воплощены наиболее правдоподобные заголовки статей и миссий стартапов о чипировании, достижений искусственного интеллекта, например таких как машинное зрение, ис...

«Сравнивать языки программирования по принципу «лучше-хуже» — совершенно идиотское занятие» Disclaimer: да, в понедельник мы опубликовали хабрапост с именно таким сравнением языков. Нет, мы не сошли с ума. Всё идёт по плану. Виталий Брагилевский совмещает в себе знания о теоретической информатике и актуальную программистскую практику. Он преподает дисциплины, свя...

Путешествие по ЦОД Selectel. Динозавр в огне, VMware, С2F5H и невидимый оборотень Работа сисадмина основана на вере, что инженеры ЦОДа знают свое дело. Мы создаем отказоустойчивые кластеры, но чего будет стоить эта отказоустойчивость, если отключится электричество? Какая разница, как быстро сервер обрабатывает запрос, если упал канал от ЦОДа до точки обме...

К Дню программиста. Программист в 2019 году Сегодня день программиста, 256-ой день в году. В интернете будет много шуток, на Хабре — статей, в пабликах — мемов, в офисах — пиццы, сладкого и приятных сюрпризов. Программирование сегодня стало настоящим культом, к которому стремятся прикоснуться любой ценой, ведь, по мне...

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

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

Когда чтение можно потрогать: обзор ONYX BOOX Monte Cristo 4 Выучиться не значит знать; есть знающие и есть учёные — одних создаёт память, других — философия. Александр Дюма, «Граф Монте-Кристо» Привет, Хабр! Когда мы говорили о новой линейке 6-дюймовых моделей букридеров от ONYX BOOX, то вскользь упомянули ещё одно устройство — M...

Лончер Samsung One UI 2.0 получит все главные фишки Android Q Выпуск Android Q для смартфонов Samsung Galaxy ознаменует также выход новой версии фирменного лончера южнокорейцев One UI 2.0. Однако интересный факт в том, что Galaxy S11 дебютирует с One UI 2.1. Конечно, это не слишком удивляет, что следующее крупное обновление ОС Android...

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

[Перевод] Интересная статистика 100 000 анкет со Stack Overflow за 2018 (и хабраопрос) В начале 2018 года в опросе от Stack Overflow поучаствовало более 100000 респондентов, что сделало этот опрос разработчиков крупнейшим в мире. Самые интересные ответы — под катом. Читать дальше →

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

[Перевод] Python как предельный случай C++. Часть 2/2 Продолжение. Начало в «Python как предельный случай C++. Часть 1/2». Переменные и типы данных Теперь, когда мы окончательно разобрались с математикой, давайте определимся, что в нашем языке должны означать переменные. В С++ у программиста есть выбор: использовать автоматичес...

Бесплатная музыка в интернете. Миф? Вспомните, когда вы в последний раз пользовались CD-дисками, чтобы послушать свои любимые музыкальные композиции? Да, достаточно тяжело будет вспомнить, так как с каждым годом мы все дальше и дальше отходим от старых традиций. Виной тому, стремительно развивающиеся технологи...

Quick Sender – Инструмент для раскрутки ВКонтакте Вы когда-нибудь пробовали перенести свой бизнес в социальные сети и воспользоваться уникальной возможностью получить практически бесплатное продвижение? Если нет, то встречайте отличного помощника для раскрутки группы и продвижения ВКонтакте - Quick Sender. Это качественный ...

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

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

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

Древности: три истории о компании Palm Эта компания сменила десяток названий, но давайте просто будем использовать самое первое, оригинальное. Palm Computing обычно вызывает самые теплые чувства у любителей компьютерной старины, а когда-то ее карманные компьютеры были, в некотором смысле, выбором по умолчанию. Ис...

Apple Watch 4 (44 мм, 2019 г.) vs Pebble Steel Classic (2014 г.) Свои Pebble Steel Classic я купил в 2014 году, аккурат перед выпуском самых первых Apple Watch (0 серия) (можно почитать мой обзор далекого 2014 года https://habr.com/ru/post/364677/). Я помню как сильно сомневался брать Pebble или подождать выпуска Apple Watch (это же Apple...

Дайджест интересных материалов для мобильного разработчика #284 (28 января — 3 февраля) В нашем новом дайджесте обновления iOS и Swift, самое интересное машинное обучение в Android, опрос про известность мобильных команд, поиск фрилансеров для вменяемой разработки, самые популярные приложения в разных категориях и многое другое. Читать дальше →

Самые главные особенности Xiaomi Mi Band 5 повергли всех в шок Спрос на фитнес-браслеты и прочую носимую электроинку растет с рекордной скоростью. За один только 2018 год подобные гаджеты стали покупать жители России в три раза чаще, чем когда-либо раньше до этого самого момента. Уже в Сообщение Самые главные особенности Xiaomi Mi Band...

Pearls Peril 3.21.7824 Pearls Peril – это очень интересная и захватывающая игра в стиле поиск предметов. Интересный сюжет и множество крутых головоломок и заданий. Игра перенесет вас в двадцатые годы, Нью-Йорк. Главная героиня игры — это девушка Перл, яркая и молодая девушка ведущая светский...

[Перевод] Python Testing with pytest. Просто, Быстро, Эффективно и Масштабируемо. Предисловие и Ведение Дальше Систематическое тестирование программного обеспечения, особенно в сообществе Python, часто либо полностью игнорируются или выполняются специальным образом. Многие программисты на Python совершенно не подозревают о существовании pytest. Брайен Оккен берет на себя труд...

[Перевод] MVC без C: Что изменит SwiftUI в архитектуре приложений? MVC был давним стандартом в паттернах проектирования, используемых для написания iOS приложений. Структура iOS приложений, которые создавались ранее, была основана на одном базовом компоненте, который присутствует везде, и называется он — Controller. На WWDC19 был представле...

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

[Перевод] Скучный технологический стек интернет-компании из одного человека Поисковая выдача на ListenNotes.com Listen Notes — это поисковая система и база данных подкастов. Технология на самом деле очень скучная. Никакого ИИ, глубокого обучения или блокчейна. «Если вы должны объявлять о внедрении ИИ, то вы не используете Настоящий ИИ» :) После п...

От 5 до 7 и ведерко кофе Сколько раз в неделю вы слышите от домашних и коллег слова «хочу выспаться» и «не могу проснуться»? Как часто по утрам вы стонете «Ну еще бы часок!» или «Когда уже пенсия?» Проблемы, так или иначе связанные со сном, обсуждают на ТВ и в YouTube, на форумах и в пабликах. Гово...

[Перевод] Как выглядит ваш текст? Друзья, отличной всем пятницы. Хотим поделиться с вами переводом статьи, подготовленным специально для студентов курса «Android-разработчик. Продвинутый курс». Приятного прочтения. Как декларативно стилизовать текст на Android. Иллюстрация Вирджинии Полтрэк TextView в ...

[Перевод - recovery mode ] Какой язык — D, Go или Rust имеет лучшие перспективы заменить C и почему? Несмотря на мой статус и очевидную предвзятость как одного из создателей D, я постараюсь отвечать откровенно; Я следовал путям Go и Rust, и я абсолютно точно знаю, где стирают грязное белье в D. Я поощряю людей на аналогичных позициях в сообществах Rust и Go чтобы и они дели...

CSP все равно нужен, даже если вы поставили SSL Как бы у меня не бомбило от навязывания поисковиками обязательной теперь, фактически, установки SSL-сертификатов на все сайты без разбора, а делать нечего, на важные сайты прошлось поставить, потому что, ну, сами понимаете, наверное, ситуации, когда в топ-10 выдачи 9 сайтов-...

Кредитная карта Apple Card станет доступна через несколько недель Компания Apple представила собственную кредитную карту ещё в марте, но она пока не стала доступна для пользователей. Во время анонса нам пообещали, что Apple Card выйдет до конца лета. И вот теперь сообщается, что кредитка находится в нескольких неделях от запуска. То ...

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

Google может продолжить эксперимент с модульным ... Когда-то в 2012 году Google загорелась идеей создать модульный смартфон. Сама компания назвала свою разработку Project Ara и приступила к созданию мобильника, состоящего из сменных компонентов. По задумке на свет должна была родиться мечта гика — устройство, которому м...

[Из песочницы] Жизнь и успех Ларри Эллисона, основателя Oracle Привет, Хабр! Предлагаю перевод статьи «The life and rise of billionaire Oracle founder and international playboy Larry Ellison, who dropped out of college twice and has a $68 billion fortune». Ларри Эллисон, 74-летний соучредитель Oracle, является одним из самых интересн...

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

Asterisk. Dialplan Askozia 6. Исходящие звонки В статье пойдет речь о бесплатной АТС Askozia версии 6. При разработке телефонной станции одной из первых задач была организация исходящих звонков. Как это было В старой версии Askozia использовались стандартные “шаблоны” dialplan. X! — все номера телефонов XXX — трехзна...

[Перевод] Функциональное мышление. Часть 10 Вы представляете, это уже десятая часть цикла! И хотя до этого повествование было сфокусировано на чисто функциональном стиле, иногда удобно переключиться на объектно-ориентированный стиль. А одними из ключевых особенностей объектно-ориентированного стиля являются возможност...

Обзор программы С++ Russia 2019 Piter: асинхронность, модули, библиотеки… и такси Что общего у этих людей, помимо того, что все они известны в мире C++? Sean Parent Eric Niebler Marshall Clow Bryce Adelstein Lelbach Антон Полухин Андрей Давыдов Ответ: все они приедут на C++ Russia. Теперь, когда лето кончилось и все вернулись из отпусков, п...

[Перевод] Монады за 15 минут Вступление На конференции YOW! 2013 один из разработчиков языка Haskell, проф. Филип Вадлер, показал, как монады позволяют чистым функциональным языкам осуществлять императивные по сути операции, такие, как ввод-вывод и обработку исключений. Неудивительно, что интерес аудито...

Аскота 170 — механический компьютер и советский палеоэндемик В мире наступили восьмидесятые. IBM захватывал рынок профессиональных компьютеров своими PC и PC XT — родоначальниками всех современных настольных компьютеров. Джобс одну за другой выпускал новые модели Apple. Commodore 64 и ZX Spectrum гремели по миру. А в это время в совет...

Как быстро посмотреть интересные предупреждения, которые выдает анализатор PVS-Studio для C и C++ кода? Время от времени программисты, которые начинают знакомиться с анализатором кода PVS-Studio, спрашивают: «Есть ли список предупреждений, которые точно указывают на ошибки?» Такого списка нет по той причине, что неинтересные (ложные) предупреждения в одном проекте, в другом о...

Изучаем Adversarial Tactics, Techniques & Common Knowledge (ATT@CK). Часть 7 Часть 7. Обнаружение (Discovery) Ссылки на все части: Часть 1. Получение первоначального доступа (Initial Access) Часть 2. Выполнение (Execution) Часть 3. Закрепление (Persistence) Часть 4. Повышение привилегий (Privilege Escalation) Часть 5. Обход защиты (Defense Evasion) ...

Как подготовить сайт к большим нагрузкам: 5 практических советов и полезные инструменты Пользователи очень не любят, когда нужный им онлайн-ресурс «тормозит». Данные опросов говорят о том, что 57% пользователей покинут веб-страницу, если она грузится дольше трех секунд, при этом 47% готовы ждать лишь две секунды. Задержка в одну секунду может стоить 7% конвер...

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

[Перевод] Конференция DEFCON 25. Гарри Каспаров. «Последняя битва мозга». Часть 1 Для меня большая честь присутствовать здесь, но, пожалуйста, не нужно меня взламывать. Компьютеры и так меня ненавидят, так что мне нужно подружиться с как можно большим числом людей в этом зале. Хочу привести один маленький пустяк из моей биографии, интересный для американс...

Библиотека генератора ассемблерного кода для микроконтроллеров AVR. Часть 4 ← Часть 3. Косвенная адресация и управление потоком исполнения Библиотека генератора ассемблерного кода для микроконтроллеров AVR Часть 4. Программирование периферийных устройств и обработка прерываний В этой части поста мы, как и обещали, займемся одним из самых востребован...

Момент, когда мы начали верить в инновации Инновации стали обыденностью. И речь не идет о таких современных “инновациях”, как технология трассировки лучей на видеокартах RTX от Nvidia или 50-кратный зум в новом смартфоне от Huawei. Эти вещи полезнее маркетологам, чем пользователям. Речь о настоящих инновациях, котор...

Rust новости #4 (декабрь 2018) Поскольку праздники кончились, предлагаю вашему вниманию субъективную подборку ржавых новостей за декабрь. В этой подборке: безумие с растом, страшен ли раст, волна пророчеств, Rust 2018, Rust Analyzer. Rust 1.31 & Rust 2018 Самое важное событие декабря — выпуск Rust 1....

[Из песочницы] «Осторожно, ФАС!»: хитрости McDonald’s, божественная шаурма, лже-Клуни и немного уличной магии Реклама… как много в этом слове. Это она породила то самое «клиповое сознание», которое в корне изменило нас с вами и про которое говорят уже много лет. Это она может вознести бизнес на небывалые высоты, но бывает, приводит его к огромным убыткам и даже разорению. Читать д...

MVCC-3. Версии строк Итак, мы рассмотрели вопросы, связанные с изоляцией, и сделали отступление об организации данных на низком уровне. И наконец добрались до самого интересного — до версий строк. Заголовок Как мы уже говорили, каждая строка может одновременно присутствовать в базе данных в не...

От ракет к роботам и при чем здесь Python. История выпускника GeekBrains Сегодня мы публикуем историю перехода в IT Андрея Вуколова. Детское увлечение космосом когда-то привело его на ракетостроение в МГТУ. Суровая реальность заставила забыть о мечте, но все обернулось еще интереснее. Изучение C++ и Python позволило заниматься не менее увлекател...

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

Валидация форм во Vue.js Привет, Хабр! Валидация форм — одна из самых важных задач на сайте. Нам приходится валидировать данные на присутствие, на совпадение по паттерну, создавать асинхронные валидации, применять валидации только после снятия фокуса с поля или перед отправкой формы… Порой это стан...

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

Трактат о Pinе. Мысли о настройке и работе с пинами на С++ для микроконтроллеров (на примере CortexM) Последнее время я сильно увлекся вопросом надежности софта для микроконтроллеров, 0xd34df00d посоветовал мне сильнодействующие препараты, но к сожалению руки пока не дошли до изучения Haskell и Ivory для микроконтроллеров, да и вообще до совершенно новых подходов к разработк...

Трансляция проектов и библиотек из Altium Designer в PADS Professional Часто у инженеров возникает необходимость транслировать проекты из одной САПР в другую. На предприятиях не редко бывает такая ситуация, когда разные отделы проектируют в разных САПРах. Также трансляция проектов может потребоваться, когда ваша система проектирования уже не с...

[Перевод] Dropbox Paper: как оставаться бодрячком Как мне и моей команде Всё время быть на драйве? Если Вы когда-либо работали в небольшой команде с ограниченными ресурсами, то, скорее всего, знакомы с этим ощущением драйва. Некий зуд, что заставляет двигаться вперёд, когда нечто изо всех сил тащит назад. Необычайно силь...

Анонс Panasonic Toughbook 55: защищённый ноутбук с модульной конструкцией Компания Panasonic выпустила новый полузащищенный ноутбук Toughbook 55. А одной из ключевых особенностей этого аппарата стала его отличная масштабируемость, позволяющая настроить ноутбук для выполнения самых разных задач. Подробнее об этом читайте на THG.ru.

Руководство для начинающих по машинному обучению и структуре Data Science Для всех, кому интересна тематика работы с данными, машинного обучения и искусственного интеллекта и для тех, кто только начинает свой путь в изучении — этот пост для вас. Все библиотеки ниже бесплатны, и большинство из них с открытым исходным кодом и выложены на GitHub. Исп...

L4 Firewall должен быть в 10 раз дешевле L7 Firewall при одной и той же скорости трафика Мало кто из современных сетевых специалистов изучает как же на самом деле работает межсетевой экран. Это приводит к странным ситуациями. Часто сталкиваюсь в тендере с тем, что заказчик не понимает разницы между межсетевыми экранами разных типов. Очень часто человек считает...

Книга «Swift. Основы разработки приложений под iOS, iPadOS и macOS. 5-е изд. дополненное и переработанное» Привет, Хаброжители! Язык Swift молод, он растет, развивается и изменяется, хотя основные подходы к программированию и разработке уже сформировались. В новом, пятом издании книги была полностью переработана первая часть книги, что делает знакомство с языком Swift более комф...

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

Как продвинуть инкрементальную игру? Бесплатно, быстро и эффективно* Если вы когда-либо сделали игру, вероятно, вы столкнулись с той же проблемой, что и многие другие разработчики до вас: никто не знает о вашей игре. Под катом я расскажу, как рассказать миру о вашей инкрементальной** игре бесплатно, быстро и эффективно (в какой-то степени). Ч...

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

[recovery mode] 10 способов защиты интеллектуальной собственности IT-стартапа Проблема защиты интеллектуальной собственности (далее — ИС) часто является одной из наиболее важных, с которой сталкивается любой технологический стартап. Это тесно связано с процессом разработки продукта, наймом квалифицированных сотрудников, привлечением капитала и многи...

Названы три этапа отключения телевидения в России Вот уже как много лет в России не утихают разговоры на тему того, когда же всю страну отключат от телевидения, но устаревшего, а именно – аналогового. Такое существует во всех регионах уже более трех десятков Сообщение Названы три этапа отключения телевидения в России появи...

GeekBrains проведет 12 бесплатных онлайн-встреч с экспертами в области программирования С 3 по 8 июня образовательный портал GeekBrains организует GeekChange — 12 онлайн-встреч с экспертами программирования. Каждый вебинар — новая тема о программировании в формате мини-лекций и практических заданий для новичков. Мероприятие подойдет для тех, кто хочет начать п...

Универсальная память: SRAM, DRAM и флеш-память в одном флаконе В наши дни существует не один вид памяти, каждый из которых применяется для той или иной задачи. Они со своими задачами справляются достаточно хорошо, но есть ряд недостатков, которые не дают возможность назвать какой-либо из этих вариантов памяти универсальным. Если добав...

3. Дизайн сети предприятия на коммутаторах Extreme Добрый день, друзья! Сегодня я продолжу цикл, посвященный коммутаторам Extreme статьей по проектированию сети Enterprise. В статье я постараюсь по возможности кратко: описать модульный подход к проектированию сети Etnterprise рассмотреть виды построения одного из важне...

C++ Russia 2019. Небольшой отчет с места событий и анонс следующей конференции в Санкт-Петербурге Конференция C++ Russia — пока что самая суровая и одновременно ламповая конференция за последнее время. Она проходила в Конгресс-парке гостиницы «Украина» в Москве и собрала аудиторию более чем в шесть сотен человек. Как сказал один из товарищей на афтепати: «Я со школы пыта...

Необычные системные вызовы на Linux Что видит программист, начиная работать с языком C? Он видит fopen, printf, scanf и ещё много других функций. Видит он и всякие open и mmap — казалось бы, зачем их выделять? Но, в отличие от первой группы, эти две функции при выполнении на ядре Linux являются системными в...

Видеокарта PowerColor Radeon RX 590 Red Dragon замечена в продаже В немецкой рознице появилась видеокарта PowerColor Radeon RX 590 Red Dragon. Её средняя стоимость составляет чуть менее 230 евро, что можно считать одним из самых интересных предложений на рынке. Резонно предположить, что выпуск...

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

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

[Перевод] Исследование: если покупатель понимает, что говорит с чат-ботом, то покупка не состоится вовсе Нет времени объяснять, вот главные постулаты сегодняшнего перевода: чат-боты не имеют предельных издержек и продают в 4 раза больше, чем люди; вероятность продажи падает на 79%, если люди понимают, что говорят с роботом; потребители воспринимают роботов как менее компетент...

Google всё-таки выпустит модульный смартфон Google продолжает работу над модульным смартфоном, о чём свидетельствуют недавние патентные заявки на модульное устройство (Modular Device), оформленные в конце 2018 года и обнародованные в январе 2019. Это может свидетельствовать о возобновлении работы над Project Ara…

Расширение макроса assert() для реализации минимальной обработки ошибок – Сир, я придумал защиту от дракона. Он нам больше не страшен! Она срабатывает от взмахов крыльев дракона и включает громкую сирену, так чтобы все слышали, что приближается дракон. – Что-нибудь ещё эта защита делает? – Нет, зачем? Мы будем предупреждены! – Да… Съедены под во...

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

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

Защита без защиты Что такое человек? С юридической точки зрения это субъект права с характеристиками позволяющие его идентифицировать: пол, дата, место рождения, номер паспорта, место регистрации. Это все персональные данные, которые имеют определённую ценность для коммерсантов (т.к. человек...

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

[Из песочницы] Когда компания умирает: как пережить банкротство В последнее время на профильных ресурсах все чаще появляется информация о банкротстве IT-компаний с увольнением 100% персонала. Возможно, мой личный опыт будет интересен для людей, находящимся в этой зоне. Статья описывает процессы скорее с точки зрения собственника и топ-ме...

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

У вас завелся ботнет… (или как я начал бояться ФБР) Мне нравятся ботнеты. Нет, не делать (это плохо), а изучать! Сделать ботнет, на самом деле не так сложно (сложно сделать, и при этом НЕ сесть за #). Куда более интересная задача — получить контроль над чужим ботнетом и обезвредить его. Работая в данном направлении, я обнар...

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

[Перевод] Делать хорошо, делая плохо: написание «злого» кода с помощью Go, часть 1 Вредные советы для Go-программиста После десятилетий программирования на Java, последние несколько лет я в основном работал на Go. Работать с Go — здорово, прежде всего потому, что за кодом очень легко следовать. Java упростила модель программирования C ++, удалив множеств...

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

BarBarQ 1.0.1276 BarbarQ — играйте онлайн против других дикарей! Вступайте в битву сейчас! BarBarQ совершенно новая многопользовательская онлайн игра в пиксельном стиле!  Вы сами сможете создать себе отличную команду, побеждать соперников и биться на шикарной арене. Покушайте грибы для опр...

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

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

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

«Освоить F# не сложнее, чем Entity Framework или WPF»: интервью со Скоттом Влашиным Кого расспрашивать про F#, как не человека, посвятившего этому языку подробный сайт? Скотт Влашин создал ресурс «F# for Fun and Profit», знакомый многим хабравчанам: на Хабре переводили оттуда и серию статей «Функциональное мышление», и статью «Железнодорожно-ориентированн...

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

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

Вебинар «Сотрудник — backdoor: современные приемы социальной инженерии» 30 мая на вебинаре Digital Security «Сотрудник — backdoor: современные приемы социальной инженерии» расскажем, почему информационная безопасность компании завязана не только на устойчивую инфраструктуру и программное обеспечение, но и на абсолютно каждого сотрудника. Чита...

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

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

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

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