Социальные сети Рунета
Пятница, 4 декабря 2020

Металингвистический совратитель Си. Опус I: Предварительные ласки >> Осторожно, модерн! 2 — 0.1. Спор на баксы и девчонок Предисловие Система макросов добавлена в язык программирования Си с целью абстрагирования часто повторяющихся синтаксических конструкций, и как следствие — снижения ментальной нагрузки при чтении и написании исхо...

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

[Перевод] Разворачиваем вложенные столбцы — списки с помощью языка R (пакет tidyr) В большинстве случаев при работе с ответом полученным от API, или с любыми другими данными которые имеют сложную древовидную структуру, вы сталкиваетесь с форматами JSON и XML. Эти форматы имеют множество преимуществ: они достаточно компактно хранят данные и позволяют избежа...

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

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

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

[Перевод] Пол Грэм: «Краткость = сила» На HackerNews сегодня подняли обсуждение статьи Пола Грэма 2002 года и мы решили воскресить её перевод из небытия. «The quantity of meaning compressed into a small space by algebraic signs, is another circumstance that facilitates the reasonings we are accustomed to carry...

[Перевод] Практическое функциональное программирование Текст статьи взят из презентации, которую я показывал в LinkedIn в2016 году. В презентации была предпринята попытка объяснить функциональное программирование без использования таких понятий, как «монады», «неизменность» или «побочные эффекты». Вместо этого она фокусируется ...

[Перевод] Знаменательное доказательство теоремы по информатике захватывает и физику с математикой Специалисты по информатике определили новые рубежи знаний, проверяемых с помощью вычислений. А заодно решили значительные задачи из квантовой механики и чистой математики. Your browser does not support HTML5 video. В 1935 году Альберт Эйнштейн совместно с Борисом Подольским...

[Перевод] Добавляем параллельные вычисления в Pandas Возможно вы сталкивались с задачей параллельных вычислений над pandas датафреймами. Решить эту проблему можно как силами нативного Python, так и с помощью замечательной библиотеки — pandarallel. В этой статье я покажу, как эта библиотека позволяет обрабатывать ваши данные с ...

Синергия Graphviz и препроцессора C/C++ Это статья посвящена тому, как использовать популярный инструмент рисования графов Graphviz в кооперации с препроцессором C/C++ (далее просто препроцессор). Ключевым моментом является то, что язык описания графов dot, который использует Graphviz, по своему синтаксису пригоде...

Воспроизводимые вычисления в R. Как разделить код и данные? Достаточно часто возникает потребность проведения периодических вычислений и подготовки консолидированного отчета по самодостаточным данным. Т.е. по данным, которые хранятся в виде файлов. Это могут быть данные, набранные из открытых источников, различные документы и excel т...

Простой путь к Serverless-вычислениям Сами по себе Serverless-вычисления (в прямом переводе «бессерверные») получили широкую известность в 2014 году после анонса AWS Lambda — одной из первых Serverless-платформ. С того момента популярность Serverless-подхода лишь растёт, а вот развитие инструментария, увы, не по...

Что было раньше: код или документация? OpenApi (OAS 3.0) и проблемы кодогенерации на Java Задача интеграции сервисов и различных систем является чуть ли не одной из основных проблем современного IT. На сегодняшний день самым популярным архитектурным стилем для проектирования распределенных систем является REST. Но, как известно, единого стандарта для RESTful ...

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

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

Личный опыт изучения испанского: так ли прост язык, как о нем пишут? Аtención: Мнение, описанное в статье, — субъективно, это личный взгляд на вещи. У каждого человека разные способности к изучению языков, как и к любой другой деятельности. До переезда в Испанию у меня был скудный опыт в изучении иностранных языков. Относительного успеха я ...

[Из песочницы] Функциональный Powershell с классами — не оксюморон, я гарантирую это Привет, Хабр! Представляю вашему вниманию перевод статьи "Functional PowerShell with Classes. I promise it’s not an oxymoron" автора Christopher Kuech. Объектно-ориентированная и функциональная парадигмы программирования могут казаться не в ладах друг с другом, но ...

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

GSoC 2019: Проверка графов на двудольность и трансформеры монад Прошлым летом я участвовал в Google Summer of Code — программе для студентов от компании Google. Ежегодно организаторы отбирают несколько Open Source-проектов, в том числе от таких известных организаций, как Boost.org и The Linux Foundation. Для работы над этими проектами Go...

[Из песочницы] Что такое Flutter и почему вы должны изучать его в 2020 году Привет, Хабр! Представляю вашему вниманию перевод статьи: "What is Flutter and Why You Should Learn It in 2020" автора Gaël Thomas. Что такое Flutter? Flutter — бесплатный и открытый набор средств разработки мобильного пользовательского интерфейса, созданный компанией Google...

PostgreSQL Antipatterns: вычисление условий в SQL SQL — это не C++, и не JavaScript. Поэтому вычисление логических выражений происходит иначе, и вот это — совсем не одно и то же: WHERE fncondX() AND fncondY()= fncondX() && fncondY() В процессе оптимизации плана исполнения запроса PostgreSQL может произвольным образо...

[Перевод] Смотрим на Chapel, D, Julia на задаче вычисления ядра матрицы Введение Кажется, стоит вам отвернуться, и появляется новый язык программирования, нацеленный на решение некоторого специфического набора задач. Увеличение количества языков программирования и данных глубоко взаимосвязано, и растущий спрос на вычисления в области «Data Scien...

Вариант работы с вебсокетами в iOS на языке Swift / Написал менеджер для работы с websocket Всем привет. 4 года назад я уже разбирался с вебсокетами в iOS, тогда я решил задачу с помощью одной из библиотек cocoapods, статья есть на Хабре. А сегодня хочу продемонстрировать еще одно решение, нативное без cocoapods. Я написал свой менеджер для работы с вебсокетами ...

Умные часы Fossil Gen 6 могут получить новый Snapdragon Wear 4100 Умные часы Fossil под управлением Wear OS прошли сертификацию FCC. Это может быть намек на то, что скоро появится шестое поколение устройства. Но будет ли оно использовать более быстрый Snapdragon Wear 4100? Когда компания Qualcomm представила Snapdragon Wear 4100, у любител...

Функциональное программирование на TypeScript: полиморфизм родов высших порядков Привет, Хабр! Меню зовут Юрий Богомолов, и вы (возможно) можете меня знать по моей работе над серией #MonadicMondays в твиттере, по каналу на ютьюбе или статьям на Medium или dev.to. В русскоязычном сегменте интернета очень мало информации по функциональному программированию...

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

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

Xilinx и Samsung создали первые в отрасли «вычислительные накопители» Компании Xilinx и Samsung Electronics вчера объявили о выпуске изделия под названием Samsung SmartSSD Computational Storage Drive (CSD). В SmartSSD CSD используется FPGA Xilinx, что позволяет переместить вычислительные ресурсы ближе к хранилищу для повышения скорости и ...

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

[Перевод] Анализ скорости распространения COVID-19 и публикация результатов на dstack.ai Предисловие переводчика Всем привет, давно ничего не писал на Хабр, но тут появился повод. Я довольно много лет проработал в области анализа данных и самая важная вещь, которую я понял за это время — в анализе данных очень не хватает инструментов, самых разных инструментов...

Автоматизация задач администрирования API VMware vSphere с использованием Ansible В предыдущей статье мы рассмотрели взаимодействие с VMware с помощью Python. В этой же обсудим взаимодействие с VMware с помощью Ansible. Ansible — система управления конфигурациями, написанная на языке программирования Python с использованием декларативного языка разметки ...

[Из песочницы] Использование Quartus и ModelSim Меня всегда интересовала цифровая схемотехника, а в частности языки описания аппаратуры -HDL. У меня давно лежала в списке будущего чтения книга Дэвида М. Хэррис и Сары Л. Хэррис «Цифровая схемотехника и архитектура компьютера», воспользовавшись свободным временем на самоизо...

Как устроен Sporth — ЯП для музыкальных live-сессий Один из предыдущих материалов мы посвятили OpenMusic — инструменту для написания музыки на ООП. Мы также говорили о языках программирования, заточенных под создание аудиокомпозиций. Сегодня мы решили продолжить тему и рассказать о языке Sporth. Его разработали специально, ч...

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

[Перевод] Пять самых сложных языков программирования на свете У всех нас только и разговоров, что о C, C+, Java, Python и так далее, а между тем, в природе существуют языки, который можно назвать не просто сложными, а недоступными для понимания большинства программистов. Они называются эзотерическими языками программирования (или эзо...

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

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

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

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

[Перевод] 10 хитростей Python, о которых полезно знать По данным StackOverflow Python — это самый быстрорастущий язык программирования. Например, в одном из отчётов Forbes речь идёт о том, что использование Python выросло на 456%. Python применяется в Netflix, в IBM, и ещё в тысячах компаний по всему миру. Давайте не забывать и ...

Распределенное обучение и вычисления в сети. Доклад Яндекса Все эксперты по сетям знакомы с принципом end-to-end, когда специфичные для конкретной задачи фичи реализовываются на конечных нодах, а промежуточные ноды должны только передавать данные, не взаимодействуя с ними. Но есть случаи, когда полезны вычисления внутри сети — с испо...

Я принес вам решение проблемы с исключениями в C#. Но вам не понравится Я каждый день пишу код на сишарпе, и натыкаюсь на одну проблему: я трачу кучу времени на то, чтобы решить, как быть, если что-то идёт не по плану. У меня есть приличный опыт работы с другими языками программирования, и стандартный подход по работе с ошибками в C# мне не н...

Делаем модем: передаем цифровые данные по воздуху с помощью OFDM и GNU Radio Привет, Хабр. Данный текст можно считать продолжением статьи "Разбираем звук Dial-up модема", в которой разбирался метод установки связи между модемами. Сегодня мы пойдем дальше, и посмотрим на практике как передаются данные, для чего создадим простую реализацию м...

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

Какой язык программирования учить в 2020-м? Статей с подобными заголовками существует уже множество. Но в них постоянно какая-то дичь! Смотрите, Google ещё до основных результатов советует такое: HCL, Карл! Язык, который не просто очень далёк от «Самых Популярных», но ещё и создан для конфигурации, так что его вообще...

[Перевод] Python-пакеты для Data Science Python — это один из самых распространённых языков программирования. Хотя стандартные возможности Python достаточно скромны, существует огромное количество пакетов, которые позволяют решать с помощью этого языка самые разные задачи. Пожалуй, именно поэтому Python и пользуетс...

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

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

[Из песочницы] Эффектное программирование. Часть 1: итераторы и генераторы Javascript на данный момент является самым популярным языком программирования по версиям многих площадок (например Github). Является ли при этом он самым продвинутым или самым любимым языком? В нём отсутствуют конструкции, которые для других языков являются неотъемлемыми час...

[Перевод] Исследование системы типов для проверки корректности музыки Сегодня много говорят о представлении музыки с помощью языков программирования, поскольку это, с одной стороны, интересная задача для инженеров, а с другой — является частью задачи универсального описания музыки. Как это выглядит? Для многих языков созданы среды программи...

Сервис на языке Dart: введение, инфраструктура бэкэнд Оглавление 1. Введение 2. Backend 2.1. Инфраструктура. 2.2. Доменное имя. SSL. 2.3. Серверное приложение на Dart. … 3. Web 3.1. Заглушка «Under construction» … 4. Mobile … Введение Меня, Flutter-разработч...

Бизнес-эксперт и программирование. Совмещать нельзя разделять Привет! Меня зовут Виктория Краснова, я не так давно писала большой пост про data-driven в нефтехимии. Но там было про сам подход и систему. Давайте сегодня поговорим о тех, кто этой системой будет пользоваться (и кто будет её улучшать). То есть о людях. Вообще же, про data...

Укрощение Горыныча 2, или Символьное исполнение в Ghidra С удовольствием и даже гордостью публикуем эту статью. Во-первых, потому что автор — участница нашей программы Summ3r of h4ck, Nalen98. А во-вторых, потому что это исследовательская работа с продолжением, что вдвойне интереснее. Ссылка на первую часть. Добрый день! Прошлого...

Vue 3 на Typescript Популярность Typescript растет день ото дня. Javascript нетипизированный язык(или слабо типизированный, если точнее), и одна и та же переменная способна принимать и строку, и число, и даже объект. С одной стороны, это делает язык гибким, с другой, потенциально ведет к много...

Когда простого пунктира мало: как подружить Java AWT Stroke и 10 приказ Минэкономразвития РФ Мы тут в ИТМО занимаемся созданием всяких ГИС на заказ. И вот пришел к нам заказчик и попросил сделать демку, умеющую генерировать и отображать различные градостроительные планы и схемы и делать по ним кое-какую аналитику.И все бы ничего - взяли стандартные средства для рабо...

[Перевод] Функциональное программирование, знакомься — ООП Мне нравится экспериментировать с разными парадигмами и играться с разными интересными (для меня) идеями (некоторые из них превращаются в посты: раз, два). Недавно я решил проверить, смогу ли я писать объектно-ориентированный код на функциональном языке. Читать дальше →

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

[Из песочницы] Игра с открытым API: Swagger Play В данной статье я хочу рассказать, как использовать Swagger модуль для Play Framework, с примерами из реальной жизни. Я расскажу: Как прикрутить последнюю версию Swagger-Play (модуль Play, позволяющий использовать аннотации swagger-api и генерировать на их основе документ...

[Перевод] Забудьте о гомоморфном шифровании: теперь у нас есть функциональное шифрование Слышали ли вы о функциональном шифровании (ФШ)? Возможно, вы слышали о нём, и для себя поставили его в один ряд с гомоморфным шифрованием, что не совсем неверно, но и не до конца правильно. Давайте сегодня с вами посмотрим на то, что такое ФШ, разберём пару примеров и то,...

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

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

Immutable. Постигаем хитрости неизменяемых структур данных в функциональных языках Для подписчиковРяд языков программирования заявляют неизменяемость переменных (immutability) как одну из своих главных фич. Среди них семейство ML (OCaml, F#, Standard ML) и Haskell, а также молодые Clojure и Rust. Если ты незнаком с ними, то наверняка удивлялся: а чем это о...

Язык R для пользователей Excel (бесплатный видео курс) В связи с карантином многие сейчас львиную долю времени проводят дома, и это время можно, и даже нужно провести с пользой. В начале карантина я решил довести до ума некоторые проекты начатые несколько месяцев назад. Одним из таких проектов был видео курс "Язык R для пол...

Твердотельные накопители Kingston DC1000M объемом до 7,68 ТБ предназначены для центров обработки данных Компания Kingston Digital сообщила о выпуске твердотельных накопителей DC1000M, которые предназначены для центров обработки данных. Среди возможных нагрузок названы облачные вычисления, веб-хостинг, высокопроизводительные вычисления (HPC), виртуальные инфраструктуры, ис...

Google представила новый режим для «Google Переводчика» Google представила обновление Google Переводчика, которое изменит восприятие сервиса «Google Переводчик» — явно не тот сервис, которому нужны постоянные обновления. Нет, конечно, повышение точности интерпретации языков или понимания контекста, от которого может напряму...

Математика в космонавтике: ротационный детонационный двигатель Отправка кого-то или чего-то за пределы нашей планеты и по сей день является крайне сложным и дорогостоящим удовольствием. В то время как космические путешественники из различных научно-фантастических произведений массовой культуры используют ретрансляторы («Mass Effect»),...

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

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

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

Новый сервис Huawei позволяет запускать Android-приложения без установки Huawei развивает свой магазин приложений, делая его похожим на Google Play С тех пор, как Huawei запретили пользоваться сервисами Google, китайцы пытаются всячески минимизировать понесённые из-за этого потери. Сначала Huawei взялась перевыпускать уже существующие смартфоны п...

Apple выпустила iOS 13.4.1 с исправлениями ошибок Несмотря на то что неделей ранее Apple выпустила первую бета-версию iOS 13.4.5, немало удивив пользователей, которые совершенно не ждали, что компания перепрыгнет сразу через пять порядковых номеров, сегодня она выпустила релизные версии iOS 13.4.1 и iPad 13.4.1. Обновления...

Функциональное программирование в Python. Генераторы, как питонячий декларативный стиль Общее введение ФП Введение в ФП Главные свойства функционального программирования Основные термины Встроенное ФП поведение в Python Библиотека Xoltar Toolkit Библиотека returns Литература Генераторы Введение в итераторы Введение в генераторы Генераторы vs итераторы Генер...

[Из песочницы] Особенности применения языков программирования С и С++ при разработке ПО, связанного с функциональной безопасностью Крис Хоббс (Chris Hobbs) в своей фундаментальной работе «Embedded Software Development for Safety-Critical Systems» [1] приводит распространенное среди программистов мнение о том, что накладывать ограничения на языки программирования, это как заказывать Пикассо создание ка...

Классификация с многими метками Привет, Хаброжители! Мы решили привести опубликовать отрывок из книги Андрея Буркова «Машинное обучение без лишних слов», посвященный классификации. Для описания изображения на рисунке можно использовать одновременно несколько меток: «хвойный лес», «горы», «дорога». Если ч...

[Из песочницы] Web Scraping. Часть 1 Введение Всем привет. Недавно у меня возникла идея о том, чтобы поделиться с интересующимся кругом лиц о том как пишутся скраперы. Так как большинству аудитории знаком Python все дальнейшие примеры будут написаны на нём. Данная часть рассчитана для того, чтобы познакомить те...

[Перевод] Как языки программирования получили свои названия Возможно, вы слышали поговорку о том, что в информатике есть только две сложные вещи, одна из них — придумывать названия. Некоторые имена языков программирования действительно имеют смысл, например, Google назвали свой язык Go(lang). Другие названия — например, Python и Java...

[Перевод] Портирование API на TypeScript как способ решения проблем React-фронтенд Execute Program перевели с JavaScript на TypeScript. А бэкенд, написанный на Ruby, трогать не стали. Однако проблемы, связанные с этим бэкендом, заставили разработчиков проекта задуматься о переходе с Ruby на TypeScript. Перевод материала, который мы сегодня п...

[Перевод] Вы правда знаете о том, что такое массивы? Там, где я тружусь, от веб-разработчиков ожидают знания PHP и JavaScript. Я, проводя собеседования, обнаружил, что достаточно задать всего один простой вопрос для того чтобы узнать о том, насколько глубоко разработчик понимает инструменты, которыми пользуется каждый день. Во...

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

Применяем Data Sceince в мирных целях покупки дома Чтобы продать что-нибудь ненужное, нужно сначала купить что-нибудь ненужное, а у нас денег нет. — Трое из Простоквашино Введение Так получилось, что я живу в своей квартире (или кондо по-местному) в Монреале. И однажды, примерно год назад меня посетила мысль что неплохо-бы ...

Логические поля в базах данных, есть ли противоядие Часто в таблицах содержится большое количество логических полей, проиндексировать все из них нет возможности, да и эффективность такой индексации низка. Тем не менее, для работы с произвольными логическими выражениями в SQL пригоден механизм многомерной индексации о чем и п...

[Перевод] JavaScript, Python или Go: что лучше всего подойдёт для бэкенд-разработки в 2021 году? Уже прошло почти восемь месяцев 2020 года, а технические прогнозы на этот год всё выходят и выходят. И это — несмотря на то, что очень сложно предсказать будущее в такой динамично развивающейся индустрии, как разработка программного обеспечения. Тот, кто работает в этой инду...

[Перевод] Объединяем функции логическими операторами в C++ В преддверии старта занятий в новом потоке группы «Разработчик С++» подготовили перевод интересного материала. Большинство алгоритмов STL в C++ используют всего лишь одну функцию для выполнения некоторой работы над коллекцией. Например, чтобы извлечь все четные числа из ко...

Работа в Google. Из Украины в Кремниевую долину Он решил пару математических задач и устроился на стажировку в Facebook, уехал из Украины в Кремниевую долину, перешел в Google и теперь работает из дома 4 дня из 5. Мы пообщались с Вовой, инженером компании Google, который поделился историей, как он попал на стажировку в Fa...

saneex.c: try/catch/finally на базе setjmp/longjmp (C99) быстрее стандартных исключений C++¹ Пока писал эту сугубо техническую статью, Хабр успел превратиться в местное отделение ВОЗ и теперь мне даже стыдно ее публиковать… но в душе теплится надежда, что айтишники еще не разбежались и она найдет своего читателя. Или нет? Меня всегда восхищала стандартная библиотек...

Автоматизация сбора купонов для бесплатной литературы Предыстория На ЛитРес есть система бонусов и купонов, которые появляются с завидной регулярностью. Чтобы сделать приятное жене, да и в целом может найти себе интересную книжку, начал мониторить сайт в котором появляются свежие купоны и скидывал их в телеграм. Но буквально сп...

[Из песочницы] Разбираемся с управлением памятью в современных языках программирования Привет, Хабр! Представляю вашему вниманию перевод статьи «Demystifying memory management in modern programming languages» за авторством Deepu K Sasidharan. В данной серии статей мне бы хотелось развеять завесу мистики над управлением памятью в программном обеспечении (далее...

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

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

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

Заметки Датасатаниста: что делать, если перед вами оказалась NP-полная задача Наверное, каждый сталкивался с тем, что приходилось столкнуться с какой-то сложной задачей, решение к которой не удавалось подобрать не то что сразу — а даже после долгих упорных часов работы или дней. Об одном из классов таких задач — NP-полных, мы сегодня и поговорим. А...

Как я устал от JavaScript и создал свой собственный язык программирования За свою карьеру я успел поработать со множеством языков программирования. Писал flash-игры на ActionScript 3 и Android-игры на Java, сервера на Java, Scala и NodeJS (JavaScript), скрипты на Python, веб и мобильные приложения на React (JavaScript). И на каком бы языке я не пи...

Google объяснила, почему Android до сих пор не умеет делать скриншот всей страницы Функциональность Android всегда была шире, чем у iOS. Шторка уведомлений, пункт управления, виджеты, замена штатных приложений сторонними – все эти и многие другие возможности появились на Android раньше и только потом, спустя время, перекочевали на iOS. Так продолжалось до...

Я протестировал «Быстрые команды» для Android. Это какая-то дичь «Быстрые команды», которые появились в iOS 12, на мой взгляд, являются одним из главных преимуществ iOS над Android. Благодаря им мне удалось расширить функциональные возможности своих устройств, научив их такому, чего ни один Android-смартфон ни за что не сделает при помощ...

[Из песочницы] 10 признаков того, что хороший программист из вас не получится Привет, Хабр! Представляю вашему вниманию перевод статьи «10 Signs You Will Suck at Programming» автора Jonathan Bluks. Очень часто на Reddit или Quora я вижу вопросы вида «Как понять, смогу ли я стать успешным программистом?» (На самом деле, эта статья является расширенн...

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

Эксперимент VTrade. Часть 1: Биржи и современные технологии Цикл статей освещает попытку создания реактивной системы силами одного человека с минимальным бюджетом и в кратчайшие сроки. Цели эксперимента: Более глубокое понимание предметной области и улучшение технической экспертизы Выявление сильных и слабых сторон использования фу...

[Из песочницы] C++/Qt: пора валить?. Если бы раньше я запускал новый долгоживущий проект, в котором основные функции связаны с большим объёмом вычислений при каком-то взаимодействии с пользователем через графический интерфейс, я бы не задумываясь использовал С++/Qt. Это позволяло использовать один фреймворк/яз...

[Перевод] Java 15 глазами программиста Scala Время летит. Не успеваешь моргнуть глазом, а уже вышел очередной релиз Java. В соответствии с графиком (по релизу каждые полгода) комьюнити получило в свое распоряжение Java 15, судьба которой — стать фундаментом для Java 17 LTS (выйдет через год).В Java постоянно ...

[Перевод] Стоит ли переходить с Python на Nim ради производительности? Nim — это сочетание синтаксиса Python и производительности C Несколько недель назад я бродил по GitHub и наткнулся на любопытный репозиторий: проект был полностью написан на языке Nim. До этого я с ним не сталкивался, и в этот раз решил разобраться, что это за зверь. Сна...

MCMC-методы и коронавирус: часть первая, вступительная Привет, коллеги! Сто лет не писал на Хабр, но вот время настало. Весной этого года я вёл курс «Advanced ML» в Академии больших данных Mail.ru; кажется, слушателям понравилось, и вот сейчас меня попросили написать не столько рекламный, сколько образовательный пост об одной и...

PostgreSQL: Серверное программирование на «человеческом» языке (PL/Perl, PL/Python, PL/v8) Postgres знаменит своей расширяемостью, что относится и к поддержке процедурных языков (PL). Никто не может похвастаться языком списком языков такой длины, а потенциально этот список и вовсе не ограничен: для того, чтобы подключить язык к серверу, не требуется сверхусилий. М...

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

# Стоит ли связываться с C# На рынке есть десятки популярных ЯПов, и сеть набита статьями для новичков: какой язык выбрать? Мы решили сделать подборку статей с субъективным обзором языков для профессионалов, которые ищут, в какую сторону можно расширить свой кругозор. Первую статью цикла мы посвящае...

Заметки Дата Саентиста: персональный обзор языков запросов к данным Рассказываю из личного опыта, что где и когда пригодилось. Обзорно-тезисно, чтобы понятно было что и куда можно копать дальше — но тут у меня исключительно субъективный личный опыт, у вас может быть все совсем по-другому. Почему важно знать и уметь обращаться с языками зап...

Почему мы говорим hello и hi: история английских приветствий + бонус Вы можете не знать английского, но слова «hello» и «hi» поймете даже в этом случае. Это одни из самых распространенных слов в английском. Носители языка их используют каждый день. И студенты, когда учат английский как второй, изучают их одними из самых первых. Они настоль...

Как же всё-таки не ошибаться? Всем привет! Меня зовут Виктория Головнева, я работаю джуниор аналитиком. Как и любой джун, я постоянно прохожу какие-то курсы, читаю статьи и книги по рабочей (и околорабочей) тематике, чтобы прокачивать мой уровень знаний в SQL, статистике, методах визуализации данных и мн...

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

[Из песочницы] pyqtdeploy, или упаковываем Python-программу в exe'шник… the hard way Наверняка, каждый, кто хоть раз писал что-то на Python, задумывался о том, как распространять свою программу (или, пусть даже, простой скрипт) без лишней головной боли: без необходимости устанавливать сам интерпретатор, различные зависимости, кроссплатформенно, чтобы одним ...

Враг не пройдёт, или как помочь командам соблюдать стандарты разработки Подход governance as a code обеспечивает контроль соблюдения архитектурных принципов как в части конфигураций инфраструктуры, так и в части программного кода. Правила проверки каждого артефакта, будь то конфигурация k8s, список библиотек или даже описание сценария CI/CD, опи...

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

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

Опыт конвертирования кода C# в код Rust Постановка задачи Код на языке C# нужно перевести в код на Rust. Точнее, требуется такая процедура перевода (разработка продолжается на C#), чтобы в любой момент можно было получить работающий код на Rust. Эту задачу я решал для языков Java, Python, JavaScript и PHP, написав...

Как же, черт возьми, отсортировать этот список? Пусть у нас есть список — содержимое каталога, в котором элементами являются экземпляры классов File и Folder. Задача — отсортировать этот список. Есть два широко известных варианта сортировки структуры каталога — когда сначала идут каталоги, а потом файлы, и когда файлы и к...

Транскомпилируемые языки: проекты конвертации код-в-код Источник: Ward Cunningham Транспиляция — это конвертация кода одного языка в другой. С помощью специального транспилера (транскомпилятора) один язык программирования общего назначения можно перенести на любой другой язык программирования общего назначения. Если необходимо...

[Перевод] Как Web Bundles навредят блокировщикам контента, инструментам для безопасности и открытому вебу Google предлагает новый стандарт для веба – Web Bundles. Этот стандарт позволяет «упаковывать» [bundle] все ресурсы веб-сайта в один файл, что не даст браузерам возможности оперировать ссылками на его дочерние ресурсы. Эта система угрожает превратить веб из коллекции ресурсо...

[Перевод] Визуальная теория информации (часть 1) Перевод интересного лонгрида посвященного визуализации концепций из теории информации. В первой части мы посмотрим как отобразить графически вероятностные распределения, их взаимодействие и условные вероятности. Далее разберемся с кодами фиксированной и переменной длины, п...

Ошибки в JavaScript: исправляем, обрабатываем, чиним Всем привет! Вдохновленные успехом предыдущей статьи, которая была написана в преддверии запуска курса "Fullstack разработчик JavaScript", мы решили продолжить серию статей для новичков и всех тех, кто только начинает заниматься программированием на языке JavaScript. Cегодн...

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

Хватит всё подряд называть ИИ Большинство менеджеров и маркетологов называют искусственным интеллектом всё подряд: пылесосы, игрушечных роботов-трансформеров и даже подбор мобильных тарифов. Это в тренде и хорошо продаётся, только одна проблема — даже учёные не рискуют говорить, что создали ИИ. Решил...

Apple рассказала, чем Safari лучше Google Chrome Основным браузером для большинства пользователей сегодня, если говорить объективно, является Google Chrome. Как бы сильно его ни ругали, это по-прежнему самый популярный инструмент для выхода в Сеть. Высокий расход энергии и памяти, нагрузка на процессор и посредственного к...

[Перевод] 6 рекомендаций по разработке безопасных Go-приложений В последние годы Golang распространяется всё шире и шире. Успешные проекты, вроде Docker, Kubernetes и Terraform, сделали огромные ставки на этот язык программирования. Go стал стандартом де-факто в области создания инструментов командной строки. А если говорить о безопаснос...

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

На пути к функциональной СУБД и NoSQL ERP: хранение остатков и расчет себестоимости Привет, Хабр! Продолжаем исследовать применимость принципов функционального программирования при проектировании ERP. В предыдущей статье мы рассказали зачем это нужно, заложили основы архитектуры, и продемонстрировали построение простых сверток на примере оборотной ведомост...

Мой маленький Kubernetes: настраиваем тестовый кластер в VirtualBox За последние пару лет мне довольно часто приходилось сталкиваться с Kubernetes, однако обычно это всегда происходило с позиции разработчика. Посмотреть список подов, их статусы, логи и т.п. В общем, ничего сложного.Недавно я решил заняться изучением Kubernetes чуть глубже, ч...

[Перевод] D как улучшенный C Уолтер Брайт — «великодушный пожизненный диктатор» языка программирования D и основатель Digital Mars. За его плечами не один десяток лет опыта в разработке компиляторов и интерпретаторов для нескольких языков, в числе которых Zortech C++ — первый нативный компилятор C++. Он...

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

How to learn languages online (fast) (Как учить языки онлайн быстро). Intro Вдохновленная названием сериала от Netflix “How to sell drugs online (fast)”, я решила написать данный пост, который повлечет за собой в дальнейшем серию постов о том, как учить иностранные языки онлайн и (!) быстро. Эти посты будут содержать в себе полезные ссылки на ресурс...

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

Машинное обучение. Нейронные сети (часть 2): Моделирование OR; XOR с помощью TensorFlow.js Статья является продолжением цикла статей, посвященных машинному обучению с использованием библиотеки TensorFlow.JS, в предыдущей статье приведены общая теоретическая часть обучения простейшей нейронной сети, состоящей из одного нейрона: Машинное обучение. Нейронные сети (ча...

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

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

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

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

Пишем «калькулятор» на C#. Вычисление значения, производная, упрощение, и другие гуси Привет! Калькулятор у нас почему-то ассоциируется с чем-то, что должен написать каждый новичок. Возможно потому, что исторически компьютеры с той целью и создавались, чтобы считать. Но мы будем писать непростой калькулятор, не sympy конечно, но чтобы умел базовые алгебраиче...

Можно ли переключаться с оболочки на чистый Android на одном смартфоне? Оболочка или чистый Android. Чистый Android или оболочка. Решить, что однозначно лучше, довольно сложно. Ведь у обоих вариантов есть свои поклонники и противники, убедить которых изменить своё мнение – задача ещё та. Другое дело, что причина, по которой пользователи занимаю...

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

Применение принципов функционального программирования при проектировании ERP Привет, Хабр! В этой статье мы попробуем взглянуть на архитектуру учетных систем (ERP, CRM, WMS, MES, B2B, ...) с позиций функционального программирования. Существующие системы сложны. Они базируются на реляционной схеме данных, и имеют огромный мутабельный стейт в виде сот...

[Перевод] Обзор ts-migrate — инструмента для перевода крупномасштабных проектов на TypeScript В Airbnb для фронтенд-разработки официально применяется TypeScript (TS). Но процесс внедрения TypeScript и перевода на этот язык зрелой кодовой базы, состоящей из тысяч JavaScript-файлов, это — не дело одного дня. А именно, внедрение TS происходило в несколько этапов. Сначал...

Модель управления IT в одной продуктовой компании Если ты стал руководителем в IT, то у тебя большие проблемы – достаточно сложно найти описанные модели организации производства и набора KPI's для CTO и CIO. Задача любого управленца любой отрасли – следить за конкурентами, «state of the art»- примерами и приносить лучшие пр...

А что, если без Python? Julia для машинного обучения и вообще Мы всегда хотим писать код быстро, но за это приходится платить. На обычных высокоуровневых гибких языках можно быстро разрабатывать программы, но после запуска они работают медленно. Например, чудовищно медленно cчитать что-то тяжелое на чистом Python. Си-подобные языки раб...

Городские власти США запрещают использовать Face ID. Кому и почему Распознавание лиц может быть опасным. По крайней мере, так считают власти Сан-Франциско Запреты на использование тех или иных разработок, применяемых в устройствах Apple, являются совершенно стандартной практикой для многих стран мира. К примеру, в России заблокирована техно...

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

[Из песочницы] Как я отказался от вычисления квадратного корня Очень часто, при цифровой обработке сигналов необходимо вычислить длинну вектора, обычно это делается по формуле A=SQR(X^2+Y^2). Здесь возвести в квадрат значение не сложно, но операция вычисления квадратного корня не является простой операцией, особенно для микроконтролле...

[Из песочницы] Массивы bash Предлагаю вашему вниманию перевод статьи Митча Фрейзера (Mitch Frazier) "Bash Arrays" с сайта linuxjournal.com. Если вы используете «стандартную» оболочку *NIX-системы, возможно, вы не знакомы с такой полезной особенностью bash как массивы. Хотя массивы в bash не ...

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

Поддержка Buildpacks в Spring Boot 2.3.0 Пару дней назад вышел релиз Spring Boot 2.3.0.M1, в описании которого первой строкой упоминается поддержка проекта Cloud Native Buildpacks, являющегося попыткой упростить жизнь разработчика, позволяя максимально автоматизировать сборку образов из исходных кодов. Так как на м...

[Перевод] Об изменчивых методах объекта Math в JavaScript Сегодня мы публикуем перевод статьи о математических вычислениях в JavaScript, которая представляет собой письменный вариант выступления её автора на WaffleJS. А само это выступление было чем-то вроде продолжения этой беседы в Twitter. Математическое образование Читать дал...

Huawei: нас ждет непростой 2020 год и пройдет сокращение ... После того, как Huawei попала под пресс санкций США, самый главный вопрос, которым задавались аналитики и обычные пользователи,  как компания справится с проблемами. На практике по итогам нынешнего года она чувствует себя уверенно, наращивая продажи смартфонов и собстве...

Huawei: нас ждет непростой 2020 год и пройдет сокращение ... После того, как Huawei попала под пресс санкций США, самый главный вопрос, которым задавались аналитики и обычные пользователи,  как компания справится с проблемами. На практике по итогам нынешнего года она чувствует себя уверенно, наращивая продажи смартфонов и собстве...

[Перевод] Утерянная диссертация Денниса Ритчи Многие из вас, дорогие читатели, слышали о Деннисе Ритчи. В конце 1960-х он оставил аспирантские исследования в области прикладной математике в Гарварде ради должности в Bell Telephone Laboratories, где и проработал всю жизнь. Вскоре после поступления на работу в Labs Ритчи...

[Перевод] Обнаружение лиц в Node.js с использованием Rust и WebAssembly В последней статье мы рассказывали, как вызывать функции Rust из Node.js. Сегодня мы расскажем, как написать приложение AIaaS (англ. Artificial Intelligence as a Service — «искусственный интеллект как услуга») на базе Node.js.Большинство приложений с искусственным интел...

[Перевод] Измерение производительности JavaScript-функций Измерение времени, которое уходит на выполнение функции — это хороший способ доказательства того, что одна реализация некоего механизма является более производительной, чем другая. Это позволяет удостовериться в том, что производительность функции не пострадала после неких и...

«46% — за, 43% — против»: Kantar выяснил, как украинцы относятся к продолжению блокировки российских веб-ресурсов [инфографика] Через месяц истекает срок действия санкций в отношении российских веб-ресурсов, в частности социальных сетей «Вконтакте» и «Одноклассники», и поэтому исследовательская компания Kantar Украина решила выяснить у украинцев их отношение к блокированию данных сайтов. По результат...

[Перевод - recovery mode ] Конец хайпа: Что ждёт язык Scala дальше Вокруг языка Scala всегда было много хайпа и неоднозначных суждений. Сейчас споры поутихли, но в твитере появились сообщения об уходе некоторых значимых участников из компаний активно развивающих экосистему языка Scala. В связи с чем в очередной раз пошли разговоры о том, ч...

Как бесплатно перенести свои любимые треки в Spotify, используя Javascript Все любители музыки в России с нетерпением ждали выхода Spotify на наш рынок. Когда наконец это случилось, перед пользователями встала проблема переноса музыки из других сервисов. Лично у меня за годы накопилась огромная коллекция музыки на разных платформах: Яндекс.Музыка, ...

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

[Перевод] Пишем интерпретатор BASIC в стиле 80-х В течение нескольких лет я работала над личным проектом создания (а на самом деле исследования) «фальшивого эмулятора», то есть написанного на JavaScript эмулятора никогда не существовавшего компьютера. Эта машина должна была стать данью памяти восьми- и шестнадцатибитным ...

(Без)умные устройства: топ-10 уязвимостей IoT от OWASP Не секрет, что реализация механизмов безопасности IoT-устройств далека от совершенства. Известные категории уязвимостей умных устройств хорошо описаны в Top IoT Vulnerabilities от 2018 года. Предыдущая версия документа от 2014 года претерпела немало изменений: некоторые пунк...

Почему мы выбрали Kotlin целевым языком компании. Часть 1: Ретроспектива Компания ДомКлик существует с 2015 года, и за это время мы успели сменить целевой язык для разработки ключевых сервисов с Java на Kotlin. Меня зовут Александр Коцюруба, я IT Lead в компании ДомКлик. Отвечая на вопрос, почему мы перешли на Kotlin, я опубликую два материала:...

Сушилка филамента. Приветствую решивших прочитать сей опус.Решил забабахать себе сушилочку для филамента своими руками т.к. заводские сушилки трындец как дорого.Делать из сушилки для овощей меня не прельщало как внешне так и по цене.Цель: 1. минимум вложений на максимум результата - сделано2. ...

Microsoft опубликовала список известных проблем в Windows 10 May 2020 Update Сегодня, 27 мая 2020 года, Microsoft объявила о релизе нового функционального обновления для Windows 10 под названием May 2020 Update. Фактически основной этап разработки завершился ещё в декабре прошлого года, и с того момента компания проводила тщательное тестирование обн...

[Перевод] Основы работы с Shader Graph в Unity Шейдер — это небольшая программа, содержащая инструкции для GPU. Она описывает способ вычисления экранного цвета для определённого материала. Хотя у Unity есть Standard Shader, иногда требуется реализовать эффект, на который не способен стандартный шейдер. Раньше для этог...

РКЦ: квантовый компьютер и блокчейн. Наука России и ее ученые Я пришла в Российский квантовый центр пообщаться с Алексеем Федоровым – создателем квантового блокчейна и руководителем одной из научных групп. Мне открылась новая реальность: молодые сильные российские ученые, которые работают над технологией будущего на мировом уровне. А в...

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

50/200+ вопросов по JavaScript Доброго времени суток, друзья! Предлагаю Вашему вниманию небольшой интерактив — своего рода викторину по JavaScript, на данный момент состоящую из 50 вопросов. На мой взгляд, решение подобных задач — лучший способ определить свой уровень мастерства. Предисловие Данная ча...

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

Как переключать язык на клавиатуре Macbook, iMac, Mac Pro или Mac Mini — 3 способа Большинство русскоязычных владельцев компьютеров Mac пользуются двумя языками при работе — русским и английским, один из которых является основным системным (все меню, окна и так далее отображаются на этом языке). Одним из первых вопросов Mac-новичка является: «Как переключа...

[Перевод] Quarkus — новый взгляд на Cloud Native Java Привет, Хабр! В наступившем новом году мы планируем всерьез развивать темы контейнеров, Cloud-Native Java и Kubernetes. Логичным продолжением этих тем на русском языке будет рассказ о фреймворке Quarkus, уже рассмотренном в хорошей статье на Хабре. Сегодняшняя статья посвящ...

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

Проверка коллекции header-only C++ библиотек (awesome-hpp) Волею судьбы мы проверили большинство библиотек, входящих в коллекцию под названием "Awesome hpp". Это небольшие проекты на языке C++, состоящие только из заголовочных файлов. Надеемся, найденные ошибки помогут сделать эти библиотеки немного лучше. Также мы будем ...

[Перевод] Релиз Dart 2.10: на шаг ближе к null-safety Команда языка Dart постепенно приближается к одному из самых мажорных релизов — null-safety. Эта фича есть у многих лидеров рынка, включая Kotlin и TypeScript. По понятным причинам этот релиз нельзя сделать в виде рубильника: одним днём и простым апдейтом. Набравшее скорост...

[Перевод] Mitsubishi VisiTel: общение в Zoom в стиле 1980-х За окном 2020 год. Удалённая работа — это уже совершенно нормально. Десятилетия рекламы ведущих телекоммуникационных компаний наконец сделали своё дело — научили мою маму совершать видеозвонки. Правда, события последних месяцев, вызвавшие неожиданный интерес общественности к...

[recovery mode] ООП: Кто взял Измаил? Вопрос принадлежности методов объекту Данная статья посвящена разбору вопроса о том, какому именно объекту ООП должен принадлежать метод, осуществляющий взаимодейстие между несколькими сущностями. Это распространённая тема для холиваров. Например: Не используйте ООП. Никогда. Это ошибка. На эту тему есть много...

[Перевод] Как использовать Prometheus для обнаружения аномалий в GitLab Одной из базовых функций языка запросов Prometheus является агрегация временных рядов в режиме реального времени. Также язык запросов Prometheus можно использовать для обнаружения аномалий в данных временных рядов.  Команда Mail.ru Cloud Solutions перевела статью инженера ...

В новом MacBook Pro установлен уникальный процессор — он сделан на заказ? В прошлом году в июле прекратились продажи 13-дюймового MacBook Pro 2017 года с рядом F-клавиш на клавиатуре и с тем, из-за чего эту бюджетную модель MBP покупали не только те, кто не мог себе позволить что-то более дорогое – физической клавишей Escape. Его так и называли (...

Когда у вас сберовские масштабы. Использование Ab Initio при работе с Hive и GreenPlum Некоторое время назад перед нами встал вопрос выбора ETL-средства для работы с BigData. Ранее использовавшееся решение Informatica BDM не устраивало нас из-за ограниченной функциональности. Её использование свелось к фреймворку по запуску команд spark-submit. На рынке имелос...

[Из песочницы] Архитектура приложения React Redux Предисловие Это мой первый пост на Хабре, поэтому не судите сильно строго (ну или судите, но конструктивно). Хотелось бы отметить, что в этом подходе основным преимуществом для меня стало то, что мы четко разграничиваем и делегируем бизнес логику по модулям. Один модуль отв...

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

Глубже в дебри функционального программирования Прежде чем начать, зацените эту красоту! Это — игра "жизнь" на языке APL: В прошлой статье о функциональном программировании мы обсудили некоторые концепции ФП (впрочем, довольно вольно). В этой статье я бы хотел продолжить раскрывать суть других понятий, не затро...

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

[Перевод] Процедурная генерация с помощью квантовых вычислений Сегодня разберем выступление Джеймса Вуттона из IBM Quantum на конференции FDG 2020. Речь пойдет о квантовых вычислениях — потенциально многообещающей технологии, для которой, однако, на современном этапе развития находится мало применения. И все же одно из них нашлось в п...

[Перевод] Слышали о языке Prolog? Prolog — это один из тех языков, которые программисты обычно изучают в самом начале карьеры (например — в школе или в институте). Его, правда, забывают почти сразу же после того, как изучили. Почему? Ну, лично я виню в этом индустрию разработки ПО. Я работаю в этой сфере по...

[Перевод] Эпохальное доказательство в информатике стало причиной доказательств в физике и математике В 1935-м Альберт Эйнштейн, работая с Борисом Подольским и Натаном Розеном, благодаря свежим открытиям в квантовой физике обнаружил такую возможность: две частицы могут оказаться в запутанном состоянии — или взаимосвязаны — даже на огромном расстоянии друг от друга. На сле...

Citrus: Набор стилей для AvaloniaUI В комментариях к новостям об изменениях и улучшениях в новых версиях кроссплатформенного GUI-фреймворка AvaloniaUI довольно часто можно увидеть критику тем оформления, используемых по умолчанию. Дело в том, что данные темы были созданы на основе Metro — художественного стил...

Код Войнича: мнимый триумф искусственного интеллекта Сфера интересов сотрудников и преподавателей онлайн-школы английского языка EnglishDom намного шире, чем просто английский. Загадки лингвистики нам тоже интересны. Недавно в нашем офисе завязался спор про код Войнича, и мы решили сделать статью на эту тему. Манускрипт Вой...

JS и его запретные тайны Так вышло, что наша компания искала разработчиков. В работе мы используем стандартный набор веб-технологий: HTML, CSS, Javascript, PHP, SQL. Во время проведения собеседований я был не то чтобы расстроен, а скорее обескуражен. Вопросы, на которые не могли ответить кандидаты, ...

Обзор материнской платы MSI MPG X570 Gaming Edge WIFI Мощный центральный процессор заслуживает функциональной материнской платы, не так ли? Модификация MPG X570 Gaming Edge WIFI специально создана для сборки производительного high-end ПК на базе ЦП от AMD. У этого продукта есть навороченный чипсет, современные интерфейсы для б...

Промышленные пластики для 3D печати (FDM): физико-механические характеристики, эксплуатационные свойства, области применения Всех приветствую!В предыдущей статье я затронул тему FDM материалов и оборудования для промышленной 3D печати. В продолжение хотелось бы также обсудить некоторые важные характеристики данных материалов и наиболее эффективные области их применения. Надеюсь, данная обобщенная...

Описание основ криптопреобразования AES Доброго времени суток, Хабр! Примерно 3 месяца назад проходил собеседование frontend разработчиком и самый первый вопрос, который мне задали: “Что такое AES?” Ну как бы аморфное представление я все же имел о симметрично блочном шифровании AES, было дело даже использовал в од...

Unsafe generic math in C# К сожалению, адекватно перевести название затеянного мной безобразия на русский язык оказалось не просто. С удивлением я обнаружил, что официальная документация MSDN называет "дженерики" "шаблонами" (по аналогии с C++ templates, я полагаю). В попавшемся мне на глаза 4-м изд...

[Из песочницы] Авторизация пользователя при помощи Starlette + Vue.js Вступление Задача — создать пример авторизации пользователя с использованием фреймворков Starlette (https://www.starlette.io/) и Vue.js *, который был бы максимально комфортным разработчикам Django для «миграции» в асинхронный стек. Почему Starlette? В первую очередь скор...

[Из песочницы] Точные и быстрые вычисления для чисел с плавающей точкой на примере функции синуса. Введение и часть 1 Внимательно прочитал очень хорошие статьи от ArtemKaravaev по сложению чисел с плавающей точкой. Тема очень интересная и хочется её продолжить и показать на примерах, как работать с числами с плавающей точкой на практике. В качестве эталона возьмём библиотеку GNU glibc (libm...

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

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

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

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

[Перевод] Трансформеры как графовые нейронные сети TL;DR: перевод поста Chaitanya Joshi "Transformers are Graph Neural Networks": схемы, формулы, идеи, важные ссылки. Публикуется с любезного разрешения автора.Друзья-датасаентисты часто задают один и тот же вопрос: графовые нейронные сети (Graph Neural Networks) — п...

[Из песочницы] Адекватное MVC для начинающих и не только Небольшое вступление Всем 404! Большинство IOS-разработчиков не понимают как работать с Apple-MVC. Из-за чего появляется необоснованная критика, маленькие проекты стараются писать на архитектурах для этого не предназначенных, ViewController'ы становятся огромными, не читаемы...

Может ли Android-смартфон заменить ноутбук журналистам и авторам статей? Может ли смартфон заменить ноутбук? По правде говоря, я никогда и не рассчитывал на то, что с помощью смартфона смогу писать статьи, однако этот момент настал. Я попробовал, мне понравилось! Поэтому прямо сейчас я готов поделиться с вами опытом написания данной статьи с помо...

Apple выпустила iOS 13.6.1 и обновлённую сборку macOS 10.15.6 Обновления операционных систем Apple в подавляющем большинстве случаев выходят точно по плану. Причём неважно, релизная это сборка или тестовая — если в Купертино запланировали выпустить её в начале недели, так тому и быть. Но так происходит только с плановыми обновле...

Пересказ грамматики Ложбана или что мне удалось усвоить Ложбан — искусственный человеческий язык, созданный на основе Логланга в 1987 году Группой логического языка (The Logical Language Group). Лицензионно-открыт и свободен. Основан на логике предикатов. Имеет описание в формате YACC и EBNF. Алфавит a, b, d, f, g, i, k, l, m, n,...

Google впервые показала свой аналог AirDrop для Android 11 Несмотря на то что Google уже запустила официальную программу бета-тестирования Android 11, далеко не все нововведения обновления стали доступны пользователям сразу. Как минимум одна функция под названием Nearby Sharing, которая должна была дебютировать в этом году, почему-...

[Перевод] Машинное обучение столкнулось с нерешенной математической проблемой Салют, хабровчане! В преддверии запуска новых потоков по продвинутому и базовому курсам «Математика для Data Science» хотим поделиться с вами достаточно интересным переводом. В этой статье не будет практики, но материал интересен для общего развития и обсуждения. Группа ис...

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

Хюгге для разработчиков, или как я съездила на KotlinConf Хабр, привет! Меня зовут Мария, и я программист. Пишу под Android и несколько лет делала это на Java — на фоне универских плюсо́в она мне казалась очень удобной. Но прогресс не стоит на месте, и, придя полтора года назад в Яндекс.Деньги, я познакомилась с молодым языком Ko...

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

[Перевод] Kotlin vs Java И снова здравствуйте. В преддверии старта нового курса «Backend-разработка на Kotlin», мы подготовили для вас перевод статьи, в которой рассказывается о том, чем же Kotlin отличается от Java. «Kotlin – новый язык программирования, который заставит вас отказаться от Java»...

Грани честности и Джон Доу Я, где-то с 2005 года, с перерывами, работаю в компаниях, которые решают задачи за деньги. Ну это когда клиент приходит, просит чего-то ему запрограммировать, мы делаем, и он нам платит. Там есть и проекты, но в тексте – только про разовые задачи. Да, это про 1С. Не про каку...

Microsoft поделилась информацией по анонсированной RPG Fable Перезагрузка любой известной серии, будь то игры или фильмы, несёт за собой большую ответственность перед создателями. Это же касается и новой Fable, которую Microsoft анонсировали в конце видеоконференции Xbox Games Showcase. Пока что нам показали только CGI-трейлер, а Twi...

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

[Из песочницы] Языки, которые почти стали CSS Привет, Хабр! Предлагаю вашему вниманию перевод статьи The Languages Which Almost Became CSS автора Zack Bloom про языки, которые могли бы стать CSS, сложись история немного иначе. На протяжении всего прошлого года неисчерпаемым источником удовольствия для меня было то, чт...

Попытка решить проблему выбора авиабилетов перед отпуском #2 Всем привет! Настали длинные выходные, а это значит, что пришло время поделиться новыми фичами, которые были сделаны с момента предыдущего поста: Комбинатор сложных маршрутов Сложные билеты (треугольники) История цен на билеты Скриншот одной из новых фичей: Читать дальш...

Как скачать популярный набор утилит для Android со скидкой 50% Для работы с Android нужны серьезные утилиты Рано или поздно каждый сталкивается с необходимостью восстановить удаленные сообщения, фото или видео на смартфоне, перенести данные между двух мобильных устройств или наладить корректную работу телефона после неудачной установки ...

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

Примитивно-рекурсивные функции и функция Аккермана Функция Аккермана — одна из самых знаменитых функций в Computer Science. С ней связан как минимум один фундаментальный результат и как минимум один просто важный. Фундаментальный результат, говоря аккуратно и непонятно, таков: существует всюду определённая вычислимая функция...

[Перевод] Don’t Fear the Reaper Серия статей о GC Don’t Fear the Reaper Life in the Fast Lane Go Your Own Way. Часть первая. Стек Go Your Own Way. Часть вторая. Куча D, как и многие активно используемые сегодня языки, поставляется со с...

PostgreSQL Antipatterns: «Должен остаться только один!» На SQL вы описываете «что» хотите получить, а не «как» это должно исполняться. Поэтому проблема разработки SQL-запросов в стиле «как слышится, так и пишется» занимает свое почетное место, наряду с особенностями вычисления условий в SQL. Сегодня на предельно простых примера...

[Перевод] Рейт лимиты с помощью Python и Redis В этой статье мы рассмотрим некоторые алгоритмы рейт лимитов на основе Python и Redis, начиная с самой простой реализации и заканчивая продвинутым обобщённым алгоритмом контроля скорости передачи ячеек (Generic Cell Rate Algorithm, GCRA). Для взаимодействия с Redis (pip in...

Windows 10 May 2020 Update Build 19041.208 выпущен на канале Release Preview Microsoft продолжает подготовку к началу распространения нового функционального обновления для Windows 10 под названием May 2020 Update. В рамках этого процесса компания выпустила новое накопительное обновление под кодом KB4558244 (сборка 19041.208) для участников программы...

Как быстро загрузить большую таблицу в Apache Ignite через Key-Value API Некоторое время назад на горизонте возникла и начала набирать популярность платформа Apache Ignite. Вычисления in-memory — это скорость, а значит, скорость должна быть обеспечена на всех этапах работы, особенно при загрузке данных. Под катом находится описание способа быстр...

Книга «Head First. Изучаем Go» Привет. Хаброжители! Go упрощает построение простых, надежных и эффективных программ. А эта книга сделает его доступным для обычных программистов. Основная задача Go — эффективная работа с сетевыми коммуникациями и многопроцессорной обработкой, но код на этом языке пишется ...

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

Новые возможности postgres_exporter для мониторинга PostgreSQL Добрый день, читатели habr! В первой заметке о posgres_exporter, я рассмотрел достаточно частный случай, при работе с новой, на тот момент фитчей, а именно возможностью мониторинга одним экспортером набора экземпляров и/или баз данных. И описал тот "букет" проблем с которыми...

[Из песочницы] Валидация данных в C++ с использованием библиотеки cpp-validator Казалось бы, валидация данных — это одна из базовых задач в программировании, которая встретится и в начале изучения языка вместе с "Hello world!", и в том или ином виде будет присутствовать в множестве зрелых проектов. Тем не менее, Google до сих пор выдает ноль ...

7 лучших функций MIUI 12, которые заслуживают аплодисментов После нескольких недель ожидания и предположений Xiaomi, наконец, представила фирменную оболочку MIUI 12 с существенными изменениями пользовательского интерфейса и новыми функциями для целого ряда своих устройств. Если вы не упустили момент и успели установить первую бета-ве...

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

Распределенные транзакции для разнородных баз данных в MS .NET Недавно, на одном интервью меня спросили, а работал ли я с распределенными транзакциями, в том смысле, что нужно было делать вставку/обновление таких записей при условии: Одной транзакции. Это могут быть несколько разнообразных баз данных таких как Oracle, MS SQL Server и ...

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

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

Представляем .NET 5.0 Preview 7 Выпускаем .NET 5.0 Preview 7. Это пред-пред-последний релиз из предварительных (до перехода на RC). На этом этапе большинство функций должны быть очень близки к финальным. Встроенные функции (интринсики) одного файла и ARM64 — две функциональные области, для интеграции котор...

Google засветила новую операционную систему Pigweed Судя по всему, Google работает над проектом новой операционной системы У Google есть много проектов, о которых не знают пользователи. Часть из них просто не пользуется популярностью, а часть держится в секрете самой компанией. Однако тут дело не в том, что поисковый гигант х...

[Перевод] Инженерный анализ схемы ускоренного переноса процессора Intel 8008 В 1972 году Intel представили свой первый 8-битный микропроцессор – 8008. Несмотря на свою примитивность в сравнении с современными стандартами, Intel 8008 важен исторически, потому что именно он положил начало микропроцессорной революции и является предком современного семе...

[Из песочницы] Table-Maker's Dilemma, или почему почти все трансцендентные элементарные функции округляются неправильно С удивлением обнаружил, что на русском языке трудно отыскать информацию по данной проблеме, как будто мало кого волнует, что математические библиотеки, используемые в современных компиляторах, иногда не дают корректно-округлённого результата. Меня эта ситуация волнует, так к...

[Перевод] Обновление роадмапа AngularDart Недавно команда языка Dart опубликовала важный анонс про обновление роадмапа AngularDart. Мы решили перевести эту новость на русский язык и добавить свой комментарий о том, что это сообщение будет значить для Dart-сообщества. Читать дальше →

[recovery mode] Scala как первый язык Эта статья, как и мой предыдущий пост, не похожа на то, что обычно публикуют на Хабре.  Здесь не объясняется никаких новых или старых концепций, я не рассказываю что такое ООП и функциональное программирование, сложного кода почти нет. Я хочу пригласить вас к дискуссии ...

[Перевод] Сорта элементов (element kinds) в движке V8 В качестве имени свойства JavaScript-объекта может выступать произвольная строка. Но для некоторых особенных подмножеств имен имеет смысл делать специальные оптимизации в JavaScript-движках. Одним из таких случаев являются числовые индексы массивов. Хотя в большинстве случае...

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

Взять и влиться в музыкальное программирование — языки, которые помогут это сделать В одном из предыдущих материалов мы писали о ЯП Sporth, разработанном для проведения музыкальных live-сессий. Сегодня расскажем еще об одном инструменте для «музыкального программирования» — языке Csound. И поговорим о его аналогах — SuperCollider и Pure Data. Читать дальш...

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

8-битные сети на Эльбрусе, есть ли смысл? Привет, Хабр! Мы вдруг поняли, что наша последняя статья про Эльбрус вышла год назад. Поэтому мы решили исправить эту досадную оплошность, ведь мы не бросили эту тему! Сложно представить распознавание без нейронных сетей, поэтому мы расскажем о том, как мы запустили 8-битные...

[Из песочницы] Как я 12 лет создавал свой ЯП и компилятор к нему События истории рассказываются в хронологическом порядке, если вам кажется, что какое либо событие не относится к делу, то скорее всего — это не так, просто момент в котором будет понятно почему я упомянул это событие, будет позднее. Создаваемый мной язык, со временем меня...

Windows 10 версии 20H2 поставляется без каких-либо серьезных известных проблем Microsoft наконец-то выпустила обновление Windows 10 October 2020 Update, также известное как версия 20H2. Компания заявляет, что вы можете загрузить обновление за октябрь 2020 года прямо сейчас, став «ищущим», и в будущем оно будет загружено на ваш компьютер в качестве авто...

Интеграция проекта VueJS+TS с SonarQube В своей работе мы активно используем платформу SonarQube для поддержания качества кода на высоком уровне. При интеграции одного из проектов, написанном на VueJs+Typescript, возникли проблемы. Поэтому хотел бы рассказать подробней о том, как удалось их решить. В данной стать...

[Перевод] Мои любимые трюки в JavaScript Приветствую. Представляю вашему вниманию перевод статьи «My Favorite JavaScript Tips and Tricks», опубликованной 28 июля 2020 года автором Tapas Adhikary Большинство языков программирования являются достаточно открытыми, чтобы предоставить разработчикам возможность делать о...

Ender 3d продолжение Hi!Прошло почти четыре месяца после покупки Ender 3. Все порывался написать о работе с ним, да каждый раз останавливал очередной незавершенный проект. И вот вчера как бы завершил еще один проект и сел за сей опус. За все месяцы работы у меня не возникло ни одной технической ...

Онлайн казино РА Лучшие современные стимуляторы собраны на сайте казино РА. Именно здесь на официальном сайте gks-karavaevo.ru казино собрана лучшая коллекция игровых автоматов работающих в режиме онлайн. Доступ к игровым стимуляторам имеют все посетители сайта, но получить возможность сдела...

Swift: Копируй-изменяй Часто бывает так, что нам нужно скопировать объект, изменив некоторые его свойства, но сохранив остальные неизменными. Для этой задачи существует функция copy().Это отрывок описания метода copy() из документации Kotlin. На нашем родном языке Swift это означает примерно таку...

Дорогой DELETE. Николай Самохвалов (Postgres.ai) Когда-нибудь в далёком будущем автоматическое удаление ненужных данных будет одной из важных задач СУБД [1]. Пока же нам самим нужно заботиться об удалении или перемещении ненужных данных на менее дорогие системы хранения. Допустим, вы решили удалить несколько миллионов стр...

[Перевод] Вышел Flutter 1.17 Сегодня (6 мая 2020) мы с радостью представляем Flutter 1.17, наш первый стабильный релиз в этом году. Наша цель – выпускать стабильные релизы примерно ежеквартально. Однако, данный релиз занял немного больше времени, потому что мы меняли нашу инфраструктуру для нового проц...

Apple выпустила iOS 14.1 с исправлениями ошибок Обновления Apple делятся на два типа: те, которые подлежат предварительному тестированию, и те, которые не подлежат. Как правило, к первым относятся так называемые функциональные апдейты. Они, как следует из названия, содержат новые функции, а потому запускать их без предва...

[Из песочницы] Бакалавриат в США: Нетрадиционный путь в топ-вузики Прочитала я пару статей на хабре после того как прошла по ссылке со стороннего ресурса и мне как-то грустно стало так как я сама учусь в топ-университете в США и знаю нескольких из России. habr.com/ru/post/469275 habr.com/ru/post/230789 Однако, моя история не совсем станд...

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

[Из песочницы] B2B продажи в США. Подводные камни, о которые разбивается большинство Чтобы продавать бизнесу в США необходимо принять простую вещь. Продажа в США это не набор волшебных слов, бездумного спама и давления. Это очень органичный для обычного американца, но такой непривычный для многих процесс “ построения отношений”. Построение отношений — эт...

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

[Из песочницы] Функциональные опции на стероидах Привет, Хабр! Представляю вашему вниманию перевод статьи Functional options on steroids от автора Márk Sági-Kazár. Функциональные опции — это парадигма в Go для чистых и расширяемых API. Она популяризирована Дейвом Чейни и Робом Пайком. Этот пост о практиках, которые появ...

[Перевод] Понимание спецификации ECMAScript, часть 1 Доброго времени суток, друзья! В данной статье мы возьмем функцию из спецификации и разберем ее объяснение. Поехали. Предисловие Даже если вы хорошо знаете JavaScript, чтение спецификации может быть затруднительным. Следующий код демонстрирует использование Object.protot...

[Перевод] Работа с непредвиденными данными в JavaScript Одна из основных проблем в работе с динамически типизированными языками заключается в том, что невозможно всегда гарантировать правильность потока данных, так как невозможно принудительно задать для параметра или переменной значение, например отличное от null. В таких случ...

[Из песочницы] Angular: понятное введение в NGRX Цель этой статьи — дать чистое и ясное представление о ngrx. Для этого я объясню, что нужно знать и понимать о ngrx, а затем мы увидим это в действии с простыми и понятными примерами кода. Вот список тем, которые мы будем обсуждать в этой статье: Что такое ngrx Преимущес...

[Перевод] Несколько полезных советов как практиковаться в Python Привет, Хабр! Сегодня я предлагаю Вам перевод статьи Duomly, посвящённой изучению и практике программирования на языке Python. Введение Изучение Python не сильно отличается от изучения других языков программирования. Один путь для становления профессионалом в Python (или в д...

Перевозим волка, козу и капусту через реку с эффектами на Haskell Однажды крестьянину понадобилось перевезти через реку волка, козу и капусту. У крестьянина есть лодка, в которой может поместиться, кроме самого крестьянина, только один объект — или волк, или коза, или капуста. Если крестьянин оставит без присмотра волка с козой, то волк съ...

[Из песочницы] Не бойся JSON или твое первое приложение с использованием API Я имею кое-какой 8ми летный опыт в ковырянии кода. За это время успел попробовать много разных языков и технологий в разных направлениях: от «разработки» всяких фишинговых приколов на PHP Devel Studio до полноценных веб приложений на современных фреймворках и софта на нейрос...

Книги для начинающих подкастеров: что почитать про заработок и монетизацию разговорных передач Решил перепостить с другой площадки материал dmitrykabanov в качестве продолжения его более ранней подборки «Вышел на дистанционку — запустил подкаст: что для этого почитать». Читать дальше →

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

Как Youtube и Instagram: интернационализация и локализация приложения на Python Язык Python лежит в основе всемирно известных приложений, таких как Youtube, Instagram и Pinterest. Для продвижения на мировом рынке приложению необходима локализация, то есть адаптация к особенностям той или иной страны, и интернационализация – перевод контента. В статье мы...

[Перевод] Python. Язык, на котором просто мыслить Привет, Хабр! У нас возможен предзаказ долгожданного второго издания книги "Простой Python". Перевод первого издания вышел в 2016 году и по сей день остается в числе бестселлеров. Поскольку мы убеждены, что Python — лучший язык программирования для начинающих, ...

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

Декларативная фильтрация данных на фронте. JS/TS Часто ли вам приходилось писать обработчики фильтрации для ваших данных? Это могут быть массивы для отрисовки таблиц, карточек, списков — чего угодно. Когда фильтрация статическая, то тут все просто. Стандартных функций map, filter и reduce вполне достаточно. Но что делать,...

Microsoft открыла исходный код языка программирования Project Verona Некоторое время назад стало известно, что Microsoft работает над созданием нового языка под кодовым названием Project Verona, который предназначен для безопасного программирования инфраструктуры. Новый язык включает в себя некоторые идеи из популярного языка программировани...

Стала доступна для загрузки Windows 10 Build 20257 Microsoft выпустила новую предварительную сборку Windows 10 для пользователей, зарегистрированных в канале разработчиков программы Windows Insider, где был сделан упор на внутренние улучшения. Другими словами, вы не найдете никаких новых функций в Windows 10 Build 20257, но ...

Google улучшила работу мобильного «Google Переводчика» без интернета Google Переводчик стал лучше, даже если у вас нет интернета «Google Переводчик», некогда бывший одним из главных продуктов Google, сегодня практически не упоминается в интернете. То ли народ поголовно начал учить иностранные языки, то ли просто за другими разработками его ст...

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

[Из песочницы] POST запрос, составное содержимое (multipart/form-data) Передача составных данных методом POST В жизни любого программиста попадаются задачки, которые человека цепляют. Вот не нравится стандартный метод решения и все! А порой бывает, что стандартные решения не подходят по какой-то причине. Некоторые люди обходят такие задачи сто...

Как вывести сайт под запад в ТОП10, не зная ничего о SEO В этой статье описан личный опыт двух человек: меня и моей коллеги Марии. Опыт людей, у которых совершенно не было знаний в SEO. Во второй половине 2019 года на нас легла ноша в виде продвижения 2-х сайтов проекта Ratatype. Сайтов молодых (рождены в 2019) и на иностранный ры...

Пишем Pixel Art Maker на чистом JavaScript Доброго времени суток, друзья! Предисловие Однажды веб серфинг привел меня к этому. Позже обнаружил статью про то, как это работает. Казалось бы, ничего особенного — Пикачу, нарисованный средствами CSS. Данная техника называется Pixel Art (пиксельное искусство?). Что ...

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

Apple показала, как выглядят новые Powerbeats 4. Релиз — скоро AirPods – настолько крутые наушники, что искать их полноценный аналог для многих стало настоящим хобби. Почему нельзя просто купить AirPods и не заморачиваться, понятия не имею, но факт остаётся фактом. Но иначе не было бы всех этих Xiaomi, Huawei и многих других, кто совер...

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

[Из песочницы] Используем macOS для удалённой сборки Unreal Engine билдов из-под Windows Любой пользователь ОС Windows, вставший на увлекательный путь кросс-платформенной разработки, однажды сталкивается с проблемой невозможности сборки «яблочных» билдов из рабочего окружения: для сборки и подписания приложения требуется девайс с macOS. У нас есть два варианта:...

Новая эра веб-разработки или «всё уже есть» Ты никогда не решишь проблему, если будешь думать так же, как те, кто ее создал. Альберт Эйнштейн В далеком 1989 году британский ученый Тим Бернерс-Ли создал системы обмена документами Enquire, которая и стала прототипом глобальной сети интернет. Где были им представлены ря...

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

Alfa Battle — как это было, запись конференции и список задач В начале июня мы запустили Alfa Battle для Java-разработчиков. Пришло время рассказать о том, как все прошло, поделиться полезными видео от спикеров стрим-конференции «Кодинг будущего» (Альфа-Банк, Билайн, X5 Retail Group) и показать наши задачи. К слову, о задачах. То ли...

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

[Перевод] 10 отличных Github репозиториев для разработчиков (часть 2) Привет, хабровчане. Недавно у меня был пост, где я перевел статью со списком крутых репозиториев на Github. Читателям зашло, поэтому решил сделать продолжение, тем более, что автор оригинала предложил еще один интересный список. Кому интересно, добро пожаловать под кат. Как...

[Перевод] Как я получил сертификат TensorFlow-разработчика (и как его получить вам) В начале мая я решил получить сертификат TensorFlow-разработчика. Для этого я разработал программу обучения для совершенствования своих навыков и выполнил задания сертификационного экзамена пару дней назад (3 июня). Оказалось, что я сдал экзамен успешно. Позвольте мне рас...

[Перевод] Open Source Guides: Запуск проекта с открытым исходником Предисловие переводчика Пару месяцев назад на Гитхабе случайно наткнулся на ссылку «Open source guides» и не мог оторваться. Где-то за неделю я внимательно прочитал все 10 разделов. Конечно, я и раньше знал про open source: читал разные статьи (например, «Понять Open Sourc...

Kingston Technology начинает поставки SSD объемом 7,68 ТБ Компания Kingston Digital сообщила о начале поставок твердотельных накопителей DC500R и DC450R объемом 7,68 ТБ. Эти SSD с интерфейсом SATA предназначены для центров обработки данных. В июне этого года к ним добавится накопитель DC1000M форм-фактора U.2, поддерживающий N...

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

[Из песочницы] Как настроить автоматическую съемку при улыбке за полчаса с помощью HUAWEI ML Kit Один из сервисов, к которому было больше всего внимания на презентации Huawei HMS Core 4.0, — это сервис машинного обучения ML Kit. Для чего нужен сервис ML Kit? Какие проблемы он может решить при разработке? Сегодня представляю вашему вниманию одну из самых важных функций...

История о том, как я разработал язык программирования Привет Хабр! Меня зовут Ильдар. Мне 29 лет. Программирую с 2003 года. За свою жизнь создал 4 фреймворка и язык программирования. В этом посте я поделюсь своим опытом, инсайтами, которые я получил при разработке языка программирования BAYRELL Language. Заранее прощу прощения ...

[Из песочницы] Urban Bot или как писать чат-ботов для Telegram, Slack, Facebook… на React.js В этой статье я хочу познакомить с новой библиотекой Urban Bot, которая адаптирует React для написания чат-ботов. Ниже я расскажу, зачем эта библиотека появилась на свет, какие дает преимущества и как написать вашего первого чат-бота. Чат-бот — это чаще всего отдельный чат ...

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

Samsung делает сервис передачи данных для Android на блокчейне. Чем он лучше AirDrop Несмотря на то что Google изобрела универсальный способ передачи данных для Android, который называется Nearby Sharing и доступен на самых разных версиях ОС, производители всё равно пытаются изобрести что-то своё. Уж не знаю, что именно их подталкивает к такому решению R...

Apple зарегистрировала в России новые Apple Watch и iPad Евразийская экономическая комиссия зарегистрировала несколько новых моделей Apple Watch и, судя по всему, новое поколение iPad. Прежде устройства, о которых идет речь в регистрационных документах ведомства, не фигурировали ни в каких базах, указывая на то, что это именно но...

Ты втираешь мне какую-то дичь, или Стоит ли верить отзывам на Яндекс.Маркете Для меня давно стало правилом перед покупкой нового смартфона перечитать о нём все отзывы на «Яндекс.Маркете». Причём особое внимание я уделяю не позитивным, а именно отрицательным комментариям, поскольку преимущества аппарата, которыми он обладает, меня не разочаруют, а во...

[Из песочницы] Практическое применение Kotlin в стартапах и энтерпрайзе Disclaimer: Я не имею никакого отношения к JetBrains, не получаю денег от продвижения Kotlin или от написания данной статьи. Весь материал — это лишь отражение моего личного опыта. Выбор того или иного языка (и вообще любого инструмента) как правило продиктован как объективн...

[Перевод] [Часть 1/2] Руководство по FFmpeg и SDL или Как написать видеоплеер менее чем в 1000 строк Хотя данная информация уже устарела, оригинальный материал и по сей день является популярным источником вдохновения для различного полезнейшего контента по теме FFmpeg. При этом полного перевода оригинала на русский язык до сих пор нет. Исправляем досадное упущение, ибо луч...

Самые популярные структуры данных Что такое структура данных? Проще говоря, структура данных — это контейнер, в котором хранятся данные в определенной компоновке (формате, или способе организации их в памяти). Эта «компоновка» позволяет структуре данных быть эффективной в одних операциях и неэффективной в др...

[Из песочницы] Запускаем браузерные тесты с Cucumber и Selenoid в Gitlab CI c Allure отчетом Cucumber – это инфраструктура тестирования, позволяющая преодолеть разрыв между разработчиками ПО и бизнес-менеджерами. Тесты пишутся на простом языке управляемой поведением разработки (BDD) в стиле Given, When, Then (условия, операция, результат), которой понятен любому пол...

СБУ предлагает продлить блокировку соцсетей «ВКонтакте» и «Одноклассников» ещё на 3 года Недавно исследовательская компания Kantar провела опрос среди украинцев с целью выяснить, как они относятся к идее продолжения блокировки российских соцсетей и некоторых сайтов. Отметим, срок блокировки заканчивается через месяц – в середине мая – через 3 года после подписан...

CreateRemoteThread для Linux В WinAPI есть функция CreateRemoteThread, позволяющая запустить новый поток в адресном пространстве другого процесса. Её можно использовать для разнообразных DLL-инъекций как с нехорошими целями (читы в играх, кража паролей, и т. д.), так и для того, чтобы на лету исправить ...

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

Google разрабатывает свой аналог AirDrop для Android Google не смогла перенести AirDrop на Android, но создала свой аналог Перекрёстное внедрение новых функций – совершенно стандартная практика, к которой в процессе совершенствования своих операционных систем прибегает и Apple, и Google. Сегодня одно нововведение появляется на...

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

Почему я обновлюсь на Android 11 и вам советую Я довольно прохладно отношусь к обновлениям Android, поскольку чаще всего считаю их бесполезными, и активно продвигаю свои идеи в публичном пространстве. Но это вовсе не значит, что моя позиция непоколебима, скорее напротив, я всегда радуюсь, когда кому-то удаётся переубеди...

[Перевод] Обратная разработка XC2064 — первой микросхемы FPGA Программируемая Логическая Интегральная Схема (ПЛИС) может реализовать произвольную логику, что угодно, от микропроцессора до генератора видеосигнала или майнера криптовалюты. ПЛИС состоит из множества логических блоков, каждый из которых обычно состоит из триггера и логичес...

[Перевод] Framework vs Platform: в чём разница? Привет, Хабр! Представляю вашему вниманию перевод статьи "Framework Vs. Platform What’s The Difference?" автора G. Harris. Исповедуюсь: я педант. Несмотря на личные неудачи на этом поприще, я глубоко верю, что использование правильного языка добавляет множество пре...

[Перевод] Python Gateway в InterSystems IRIS Эта статья посвящена Python Gateway — комьюнити-проекту с открытым исходным кодом для платформы данных InterSystems IRIS. Этот проект позволяет оркестрировать любые алгоритмы машинного обучения, созданные на языке Python (основная среда для многих Data Scientists), использов...

Вот почему в iPadOS 14 нет виджетов, как на iPhone Просто виджеты заняли бы все свободное место и среди иконок смотрелись бы максимально нелепо Apple решила прислушаться к желаниям пользователей и в iOS 14 реализовала виджеты в iPhone. Хотя впервые виджеты появились в iPadOS 13, именно новая операционка для айфонов оказалась...

Возможна ли телепортация человека? Представьте, что вы можете исчезнуть из своей кухни и в следующий момент материализоваться в африканской саванне, тропических лесах Амазонки или на Титане, спутнике Сатурна (в космическом костюме, разумеется). Эта идея настолько соблазнительна, что лежит в основе многих нау...

Почему я не пользуюсь Nearby Sharing на Android Первоначально о запуске технологии Nearby Sharing заговорили больше года назад. Все думали, что Google запустит её аккурат к релизу Android 10. Но, как оказалось, тогда Google начала просто потихоньку тестировать нововведение и внедрять в программный код Android единичные у...

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

[Перевод] Пустобрёх GPT-3: генератор языка от OpenAI понятия не имеет, о чём говорит Тесты показывают, что популярный ИИ пока ещё плохо разбирается в реальности С тех пор, как OpenAI в мае впервые описал свою новую систему искусственного интеллекта (ИИ) GPT-3, генерирующую текст, сотни новостных изданий, включая и MIT Technology Review, написали множество ...

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

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

Алгоритмы быстрой обработки HTTP-строк В HTTP/2 появилась компрессия стандартных заголовков, но тело URI, Cookie, значения User-Agent по-прежнему могут составлять десятки килобайт и требуют токенизации, поиска и сравнения подстрок. Задача становится критичной, если HTTP-парсер должен обрабатывать интенсивный злон...

Типизированные запросы OData в TypeScript Традиционно запросы OData к данным выражаются в виде простых строк без проверки типов при компиляции или без поддержки IntelliSense, кроме того, разработчику приходится изучать синтаксис языка запросов. Данная статья описывает библиотеку TsToOdata, которая превращает запрос...

[Из песочницы] Как трекать людей в масках или универсальный подход к трекингу объектов произвольной природы Введение С тех пор, как нейронные сети начали набирать популярность, большинство инженеров стали решать многие из задач ПО в области Public Safety методами deep learning. Несмотря на то что у нейросетей нет конкурентов в вопросах обнаружения (detection) и распознавания (iden...

[Перевод] Deep Q Trading: объектно-ориентированный код на R Привет! Это перевод еще одной моей статьи, посвященной обучению с подкреплением (reinforcement learning). Эту итерацию даже предложили запостить в блоге Веды аналитики. :) В двух прошлых статьях на эту тему: 1 и 2 я пробовал создать и запустить обучение с подкреплением д...

Шаблоны GRASP: Controller (контроллер) Привет, Хабр! Меня зовут Владислав Родин. В настоящее время я являюсь руководителем курса «Архитектор высоких нагрузок» в OTUS, а также преподаю на курсах, посвященных архитектуре ПО. Специально к старту нового набора на курс «Архитектура и шаблоны проектирования» я продолж...

[recovery mode] Кросскомпиляция выполняемых файлов Rust для Windows из Linux Наверное не будет уж очень удивительным если я тут, на IT площадке Хабра, скажу что я иногда балую себя программированием. Основная OS у меня Linux, но иногда приходится собирать исполняемые файлы и для Windows. И естественно что перегружаться в Windows только для сборки exe...

Samsung Galaxy M42 получит аккумулятор на 6000 мАч Линейка Samsung Galaxy M известна своими огромными батареями — большинство представленных сегодня на рынке устройств имеют аккумулятор на 6000 мАч, а Galaxy M51 идет еще дальше с 7000 мАч. Согласно многочисленным сообщениям, к семейству вскоре присоединится новый телефон, ко...

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

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

[Из песочницы] Пишем на языке С/C++ в Linux под KolibriOS Вступление KolibriOS – миниатюрная операционная система, ядро и большинство программ которой написано на ассемблере. Это, конечно же, не значит, что на других языках программирования писать для KolibriOS нельзя. Данная статья — инструкция по настройке toolchain'а для Linux. ...

Почему Android и iOS никогда не изменятся кардинально Знаете, я часто пишу о том, что нам нужны новые операционные системы с совсем иным интерфейсом. Android и iOS жутко надоели, как и Windows, macOS и Linux. Все эти системы какими были на этапе зарождения, такими и остаются. Основная идея операционной системы — предоста...

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

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

[Перевод] Как я неделю был стажером SRE-инженера. Дежурство глазами инженера ПО SRE-инженер — стажер Для начала позвольте представиться. Я — @tristan.read, фронтэнд-инженер в группе Monitor::Health GitLab'а. На прошлой неделе мне выпала честь побыть стажером у одного из наших дежурных SRE-инженеров. Целью было ежедневное наблюдение за тем, как дежурный...

Подробности о следующем крупном функциональном обновлении Windows 10, которое выйдет через год В канале Microsoft для разработчиков (Dev channel, ранее известный как Fast ring) появилась новая сборка Windows 10 – Windows 10 Dev Preview 20150. Под этим обозначением скрывается следующее крупное функциональное обновление Windows 10 – оно выйдет весн...

Для головоломки The House of Da Vinci 2 вышло обновление с русской локализацией В начале декабря на iOS вышло продолжение прекрасной головоломки The House of Da Vinci. Проект является одним из лучших развлечений в стиле серии The Room, выделяясь менее абстрактным сюжетом. Вплоть до того что в процессе прохождения вы встречаете других героев и можете слу...

4K обновление модельного ряда профессиональных лазерных проекторов Vivitek От аналогов линейка Vivitek выгодно отличается наличием трех оригинальных технических решений, которые позволяют в 2-3 сократить бюджет для многих типов задач 4K обновлении модельного ряда Обновление затронуло старшие модели со сменными объективами. На 15% до 10,000 лм выр...

Выполняется развертывание Windows 10 Build 19042.610 и Build 19041.610 Microsoft выпускает новое дополнительное обновление для Windows 10 версии 20H2 (обновление за октябрь 2020 г.) и версии 2004. Microsoft также опубликовала прямые ссылки для загрузки автономных установщиков Windows 10 KB4580364. Кумулятивный патч KB4580364 – это дополнительно...

Bison, dynamic linking и… обработка BMP изображений В этом посте я постараюсь раскрыть тему написания несложного модульного приложения на языке C89 для обработки 24-битных BMP изображений, использующего в своей работе простой скриптовый язык.Если вы заинтересованы в разработке языков или вам необходимо быстро разобраться как ...

Samsung готовится представить свою функция для обмена ... Для пользователей Android-устройств обмен файлами был не самой простой задачей. В свое время был Android Beam, но он так и не снискал популярности. Недавно Google создала функцию Fast Share, но не на всех устройствах она работает корректно.   Ряд производителей взялис...

Игровой магазин GOG предлагает весеннюю распродажу игр с коллекционным изданием The Witcher В игровом магазине GOG которая принадлежит разработчику CD Projekt, проходит весенняя распродажа на игры. Коллекция Witcher Goodies Collection включает в себя The Witcher 3: Wild Hunt с различными разрешениями от стандартной четкости вплоть до 4K. The Witcher Goodie Pack 1 и...

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

Microsoft хочет перенести приложения Android в Windows 10 Приложения Android уже доступны в Windows 10, и все это работает d приложении Your Phone, которое позволяет синхронизировать смартфоны с ПК. Однако эта функция совместима только с некоторыми телефонами Android, и, согласно недавней информации, предоставленной наблюдателем из...

В iOS 13.4 появилась функция восстановления ОС по воздуху. Но она пока не работает Несмотря на то что Apple уже давно отказалась от идеи активировать iPhone и iPad строго через iTunes, да и сам iTunes в прежнем виде уже перестал существовать, это по-прежнему важный инструмент, который может пригодиться в любой момент. Возврат на более раннюю версию операц...

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

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

Получение Method из Method Reference в Java Я столкнулся с проблемой — как получить из method reference вида Function<String, Integer> fun = String::length; вызываемый метод класса (или хотя бы его имя), т.е. в примере это java.lang.String.length(). Как выяснилось, не одного меня волновал этот вопрос, нашлись та...

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

Мониторинг Node.js-приложения Здравствуйте! Меня зовут Ренат Саматов, я возглавляю фронтенд-направление в линейке продуктов Витрина. Большая часть наших проектов рендерится на сервере. Сегодня мы побеседуем об одном из важнейших аспектов SSR-приложения: о мониторинге. Даже в 2020-м мониторинг Node.js-...

[Перевод] Краткое руководство по разработке чартов в Helm Unsplash by Frank Eiffert Helm — мощный инструмент для применения, обновления и управления приложениями в Kubernetes. Сообщество Helm создает множество чартов с открытым исходным кодом. Вы можете развернуть Redis, Nginx или Prometheus Operator с помощью одной команды. И они...

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

Сериал «Не родись красивой»: Зрители могут увидеть долгожданное продолжение Катя Пушкарева станет не дурнушкой, а настоящим хипстером Сериал закончился в далеком 2006 году, но до сих пор не утратил своей актуальности. Его периодически включают в свои программы различные каналы, а форумы поклонников не утихают по сей день. Народ ждет продолжения и с...

Сериал «Не родись красивой»: Зрители могут увидеть долгожданное продолжение Катя Пушкарева станет не дурнушкой, а настоящим хипстером Сериал закончился в далеком 2006 году, но до сих пор не утратил своей актуальности. Его периодически включают в свои программы различные каналы, а форумы поклонников не утихают по сей день. Народ ждет продолжения и с...

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

readable — еще один линтер для PHP Хочу представить линтер для PHP readable. Сейчас в нем 16 правил, которые должны улучшить читабельность кода. К основным преимуществам можно отнести: скорость — меньше секунды на 1000 файлов настройка baseline — можно не исправлять все ошибки в проекте сразу, а создать конф...

Google сделает Chrome для Android ещё быстрее в следующем обновлении Быстродействие – понятие очень условное, потому что целиком и полностью зависит от субъективного восприятия оценивающего. Поэтому то, что одним будет казаться очень быстрым, другие сочтут раздражающе медленным. Но даже при таких различиях в восприятии Google Chrome никогда ...

PostgreSQL Antipatterns: «Бесконечность — не предел!», или Немного о рекурсии Рекурсия — очень мощный и удобный механизм, если над связанными данными делаются одни и те же действия «вглубь». Но неконтролируемая рекурсия — зло, которое может приводить или к бесконечному выполнению процесса, или (что случается чаще) к «выжиранию» всей доступной памяти. ...

[Перевод] Руководство по Node.js для начинающих. Часть 1 Доброго времени суток, друзья! Представляю Вашему вниманию перевод этого руководства по Node.js. Введение в Node.js Node.js — это открытая и кроссплатформенная среда выполнения JavaScript. Это отличное решение почти для любого проекта. Node.js запускает «движок» Java...

Что установлено на моём iPhone в 2020 году Что установлено на моём iPhone? Всем интересно, какие приложения используют другие владельцы смартфонов. И именно поэтому я решился на написание данного материала. По правде говоря, с недавнего времени я решил существенно сократить использование телефона по одной простой при...

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

Дневник Samsung Galaxy Note 20 Ultra: автономность или как долго «живет» этот смартфон На свете есть один вопрос, который неизменно ставит меня в тупик, потому что на него нет ответа. По крайней мере в том виде, в котором его хочет получить всякий, его задающий. Это вопрос о времени работы телефона от одного заряда аккумулятора. Задающие этот вопрос всегда хот...

NVIDIA призвала геймеров использовать свои ПК для борьбы с COVID-19 Если у вас есть игровой компьютер, вы можете использовать его графические возможности для борьбы со вспышкой пандемии коронавирусной инфекции COVID-19. NVIDIA/CDC NVIDIA призывает всех владельцев игровых ПК скачать приложение Folding@home, чтобы использовать компьютер в своб...

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

[recovery mode] Добавляем очень быстрый JSON API к нашему приложению Все наши микросервисы, вне зависимости от того, как они общаются друг с другом, предоставляют своего рода heartbeat интерфейсы, чтобы система мониторинга могла в любой момент узнать, как там дела; типа общего состояния здоровья и каких-то специфичных частностей, скажем, конт...

Pandemia: Virus Outbreak — стратегия для Android о спасении мира от пандемии В ожидании нового режима в Plague Inc., где разработчики наконец-то позволят бороться с вирусами, а не распространять их, можете ознакомиться с новым проектом под названием Pandemia: Virus Outbreak. Его можно сравнить с серией Reigns или недавней Infinite Corp, где управлен...

5 полезных инструментов для создания респонсив-писем: cloud, десктоп и не только Email остается одним из главных каналов коммуникации компаний с аудиторией. Существует огромное множество инструментов, которые позволяют создавать и отправлять письма, но каждый раз когда дело доходит до выбора какого-то одного – это сразу оказывается непростой задачей.&nbs...

Что айтишнику не стоит делать в 2020? Хабр полон прогнозов и советов о том, что делать в следующем году — какие языки учить, в какие сферы сворачивать, как поступать со своим здоровьем. Звучит вдохновляюще! Но у любой медали две стороны, и мы спотыкаемся не только в чём-то новом, а по большей части в том, что де...

Аппаратный конвертер HDMI-RGB (18/24-bit) Доброго времени суток, Хабр! И снова моя статья будет посвящена видео конвертеру. На этот раз это будет HDMI-RGB. Статью хочу посвятить не конкретно разработке, а одной проблеме с цветами, которая у меня возникла при подключении 18-bit матрицы к 24-bit драйверу. Читать да...

[Из песочницы] Некоторые тонкости injection'а коллекций в Spring'е Всем привет! Меня зовут Владислав Родин. В настоящее время я преподаю на портале OTUS курсы, посвященные архитектуре ПО и архитектуре ПО, подверженного высокой нагрузке. Сейчас в OTUS'е открыт набор на новый поток курса Разработчик на Spring Framework. В преддверии старта к...

[Из песочницы] Mikrotik RouterOS в Docker Всем доброго времени суток! В данной статье я хочу рассказать об одном OpenSource проекте под названием Docker RouterOS, изначально он был создан в качестве полигона для прогонки интеграционных тестов и ничего более, но со временем, по просьбе пользователей, был добавлен ряд...

Как конкуренты могут легко заблокировать ваш сайт Недавно мы столкнулись с ситуацией, когда ряд антивирусов (Касперский, Quttera, McAfee, Norton Safe Web, Bitdefender и несколько менее известных) начали блокировать наш сайт. Изучение ситуации привело меня к понимаю, что попасть в список блокировки крайне просто, достаточно ...

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

[Из песочницы] Angular 9. Перезапуск guard-ов текущей страницы. Trigger current route guards Столкнулся с необходимостью перезапустить guard-ы для текущей страницы, вне зависимости от того какая страница открыта. Стандартного решения не нашел, а предлагаемые в интернете ограничиваются одной страницей. Поэтому написал своё и решил им поделиться. Описание кейса Стра...

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

Собираем «цепочки» с помощью window functions Иногда при анализе данных возникает задача выделения «цепочек» в выборке — то есть упорядоченных последовательностей записей, для каждой из которых выполняется некоторое условие. Это может быть как условие от данных самой записи, так и сложное выражение относительно одной и...

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

First DI: Первый DI на интерфейсах для Typescript приложений Делюсь одной из своих библиотек которая называется First DI. Она уже много лет помогает мне решить проблему внедрения зависимостей в браузерных приложениях для таких библиотек как React, Preact, Mithril и другие. При написании First DI за основу была взята идеология DI библи...

Попытка определить язык манускрипта Войнича, Random Forest Classifier Пытаемся определить язык таинственной рукописи — манускрипта Войнича — простыми методами обработки естественных языков на Python. Читать дальше →

Apple представила macOS Big Sur — и она очень похожа на iOS 14 В отличие от iOS 14, слухов про macOS до начала WWDC было не так много. За несколько часов до начала презентации стало известно название новой версии операционной системы для Mac — macOS Big Sur. И это подтвердилось. macOS Big Sur значимое обновление для линейки компьютеров...

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

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

[Перевод] Подробности об использовании CSS-функции minmax() в Grid-макетах Существует множество руководств, в которых рассматриваются общие вопросы работы с CSS Grid, с механизмом, позволяющим создавать сеточные макеты. Я и сам немало об этом писал. Но я обратил внимание на то, что у многих разработчиков возникают сложности с использованием CSS-фун...

Конкурс World & AI Data Challenge: начинаем решать задачу распознавания шрифта Брайля Технологии искусственного интеллекта и анализа данных всё стремительнее входят в нашу жизнь, они могут дать еще один шанс решению действительно важных для людей социальных задач, которые ранее не были реализованы. С этой целью центр цифрового развития АСИ организовал конкурс...

В ожидании Darkest Dungeon 2: подборка игр в жанре рогалик (roguelike) на Android Игры в жанре roguelike (или rogue-like), в русскоязычном сегменте интернета именуемые "рогаликами" представляют собой подвид RPG с элементами данжен кроулера и некоторыми особенностями. Характерные черты рогаликов - необратимая смерть персонажа (permadeath), случайно сгенери...

[Из песочницы] Очередная статья про wc Всем добрый день. Недавно на Хабре появилась статья Побеждая C двадцатью строками Haskell: пишем свой wc от @0xd34df00d. Автор, известный своей симпатией к функциональному программированию, реализовал на Хаскеле аналог утилиты wc, и подверг его оптимизации, получив в результ...

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

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

Как защитные механизмы Safari портят жизнь рекламодателям Safari — настоящая боль для рекламодателей Обеспечение конфиденциальности пользователей – один из столпов, на которых Apple удалось выстроить свой авторитет. Чтобы выполнить данное обещание, компании зачастую приходится идти не только против самой себя, добровольно соз...

Подборка статей о машинном обучении: кейсы, гайды и исследования за июль 2020 Похоже, не один наш дайджест не обходится без упоминания разработок Open AI: в июле самой обсуждаемой темой в области машинного обучения стал новый алгоритм GPT-3. Технически это не одна модель, а целое семейство, которое для удобства обобщают под единым названием. В самой...

Как справиться с декомпозицией задач и не перестараться Всем привет! Меня зовут Виктор, я системный аналитик в компании «Спортмастер». И сегодня я хотел бы поговорить о декомпозиции задач и передачи их в разработку. Любой объект состоит из частей, будь это автомобиль или программный продукт. И чтобы собрать любой из этих объекто...

7 слов в английском, которые встречаются в СМИ реже чем 3 случая на 100 миллионов В английском языке уже больше миллиона уникальных слов — именно такие результаты дал масштабный анализ литературы, который совместно проводили Гарвардский университет и компания Google. Лексикон языка увеличивается в среднем на 8500 новых слов каждый год. С такой же скоро...

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

Поиск научных публикаций в Интернете. Часть 2. Где и как искать Продолжение (начало – здесь) 1.3. Поисковые системы – специализированные и не очень В общем случае результаты поиска в первую очередь зависят от поставленной задачи и корректности запроса. Но эти результаты чаще всего, с одной стороны, а) избыточны и с другой стороны — ...

Книга «Эффективный TypeScript: 62 способа улучшить код» Привет, Хаброжители! Книга Дэна Вандеркама окажется максимально полезена тем, кто уже имеет опыт работы с JavaScript и TypeScript. Цель этой книги — не обучать читателей пользоваться инструментами, а помочь им повысить свой профессиональный уровень. Прочитав ее, вы сформируе...

[Перевод] Life in the Fast Lane Серия статей о GC Don’t Fear the Reaper Life in the Fast Lane Go Your Own Way. Часть первая: Стек Go Your Own Way. Часть первая: Куча В первой из серии статей о GC я представил сборщик мусора в языке D и...

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

Google наконец сделает ночную тему в Chrome на Android полноценной Несмотря на то что одно время ночная тема образовала вокруг себя целый культ, сейчас страстный интерес пользователей к этому явлению как-то поутих. Можно было подумать, что все разработчики уже добавили ночную тему в свои приложения, однако это не так. Просто этот тренд, ка...

[Перевод] Измерение прогресса в эпоху «зашумлённых» квантовых вычислений Концепция «квантового объёма» от IBM предлагает вынести измерение прогресса в квантовых вычислениях за пределы простого подсчёта кубитов В IBM придумали термин «квантовый объём» для измерения прогресса в квантовых вычислениях, пока квантовые технологии ещё далеки от идеала ...

Полноценный Kubernetes с нуля на Raspberry Pi Совсем недавно одна известная компания объявила, что переводит линейку своих ноутбуков на ARM-архитектуру. Услышав эту новость, я вспомнил: просматривая в очередной раз цены на EC2 в AWS, обратил внимание на Graviton'ы с очень вкусной ценой. Подвох, конечно же, был в том, ...

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

Apple выпустила iOS 14.2.1 для iPhone 12 с исправлением ошибок Сегодня, 19 ноября, Apple выпустила iOS 14.2.1. Обновление не содержит ни одной новой функции и вышло в конце недели, указывая на его экстренность. Обычно в Купертино стараются выпускать свежие версии своих операционных систем по вторникам, но это если речь идёт о плановых ...

Функциональные тесты в Циан Привет! Меня зовут Тимофей, я Python-разработчик в команде Платформа компании Циан. Наша команда занимается разработкой инструментов для продуктовых разработчиков. Это и библиотеки: HTTP-клиент, веб-сервер, библиотеки доступа к базам данных, и средства мониторинга микросерв...

Функциональный опрос Всем привет! Обычно в наших опросах необходимо выбрать один из нескольких ответов. Но сегодня мы решили не ограничивать вас готовыми решениями и проводим опрос в свободном стиле: что напишете — то и будет. Данный опрос касается в первую очередь пользователей десктопной ве...

Скидки? Распродажа? Лучше! Это Черная пятница!!! 27 ноября Киев будет охвачен любителями шоппинга. Это будет настоящий ажиотаж среди покупателей и магазинов. Улицы будут пестрить самыми яркими плакатами, описывающими условия акций и размер скидок. Поспешите! Только в этот день вы сможете купить все, о чем давно мечтали, по...

[Перевод] 5 самых сложных языков программирования в мире Все слышали про C, C++, Java, Python и многие другие, но есть несколько языков малоизвестных программирования, которые не только сложные, но и непонятные для многих разработчиков. Они называются эзотерическими языками программирования и существуют как доказательство какой...

Модерация изображений: уроки этикета от Data Scientist’a, часть 2 Привет, Хабр! Мы продолжаем серию статей про модерацию контента на площадках Центра Развития Финансовых Технологий Россельхозбанка. В прошлой статье мы рассказывали, как решали задачу модерации текста для одной из площадок экосистемы для фермеров “Свое Фермерство”. Почитать...

Zoom – программа для видеоконференций Технологии не стоят на месте. Если раньше, чтобы связаться с другими людьми, необходимо была как минимум телефонная связь (опускаем сейчас голубиную почту и различные шифрованные методы передачи информации), то сейчас благодаря веку Интернета можно без проблем связаться с лю...

Samsung представила свой аналог AirDrop. Что он умеет Quick Share — это аналог AirDrop от Samsung, который можно назвать даже более продвинутым, чем оригинал Несмотря на то что обычно Apple довольно нетороплива в освоении новых технологий, наиболее ценные наработки, которым предстояло изменить рынок, первой внедряла именн...

Сложности работы с ANTLR: пишем грамматику Ruby В «Ростелеком-Солар» мы разрабатываем статический анализатор кода на уязвимости и НДВ, который работает в том числе на деревьях разбора. Для их построения мы пользуемся оптимизированной версией ANTLR4 – инструмента для разработки компиляторов, интерпретаторов и трансляторов...

Telegram-бот на Java для самых маленьких — от старта до бесплатного размещения на heroku Для кого написано Если вы ни разу не писали Telegram-ботов на Java и только начинаете разбираться — эта статья для вас. В ней подробно и с пояснениями описано создание реального бота, автоматизирующего одну конкретную функцию. Можно использовать статью как мануал для созда...

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

[Перевод] Rust 1.47.0: const generics для массивов, LLVM 11, Control Flow Guard и сокращение трассировок Команда Rust рада сообщить о выпуске новой версии, 1.47.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение. Если вы установили предыдущую версию Rust средствами rustup, то для обновления до версии 1.47.0 вам дост...

Как создать шаблон описания системы и начать его использовать Когда в IT-компании работают 6 человек, которые пилят одну систему и обсуждают её в кулуарах, описание системы и документация кажутся ненужными. Но когда систем уже более 100, без описания не обойтись. Ведь непродуманное изменение UI может остановить создание заказов. Мы соз...

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

Edge vs. Cloud: в чем разница? Являются ли периферийные вычисления (Edge computing) своего рода ребрендингом облачных вычислений (Cloud computing) или это действительно что-то новое? Портал Enterprisers Project рассказывает о том, как работает Edge computing, для каких целей его ...

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

Всё, что вы хотели знать о перцептронах Розенблатта, но боялись спросить Вы, наверно, знаете, что перцептрон Розенблатта, изобретённый в середине XX-го века, стал прообразом современных нейронных сетей. Однако многое из того, что известно нам о нём и его создателе, не соответствует действительности. В продолжение серии статей об историческом ра...

Есть ли жизнь за МКАДом? Как мы ищем и готовим разработчиков В этой статье мы хотим поделиться опытом команды разработчиков Codeinside из Пензы о том, как в регионе найти и быстро ввести в строй нового сотрудника. Приглашаем в комментариях описать свой опыт. Вероятно, кто-то из читателей, не связанный с IT, недоумевает: разве найти р...

Простое руководство по дистилляции BERT Если вы интересуетесь машинным обучением, то наверняка слышали про BERT и трансформеры. BERT — это языковая модель от Google, показавшая state-of-the-art результаты с большим отрывом на целом ряде задач. BERT, и вообще трансформеры, стали совершенно новым шаго...

Функция-конвертер для отправки сообщений на русском языке в Телеграмм из Микротик РоутерОС Мессенджер Телеграмм крайне удобен для уведомления о работе IT-оборудования, чем активно пользуются СисАдмины. Популярные WhatsApp и Viber поддерживают API но в них нет встроенной технологии создания своих ботов. РоутерОС известной компании Микротик не позволяет штатными с...

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

[Перевод] Закладывая фундамент будущего Rust Rust был задуман в 2010 (в зависимости от того, как вы считаете, можно сказать, что в 2006!) как проект в Mozilla Research, но его долгосрочной целью было создание самостоятельного проекта. В 2015, вместе с выпуском Rust 1.0, появилось управление, независимое от Mozilla. С т...

LyX: Общие замечания. Часть 1 Скопировано с моего блога в целях создания еще одного русскоязычного источника информации по данной теме. Эта статья является продолжением следующих статей одного цикла: статья 1 статья 2 статья 3 статья 4 статья 5 Фух, даже не знаю, как писать этот пост. Я мог бы начать ...

[Из песочницы] Частотный анализ русского текста и облако слов на Python Частотный анализ является одним из сравнительно простых методов обработки текста на естественном языке (NLP). Его результатом является список слов, наиболее часто встречающихся в тексте. Частотный анализ также позволяет получить представление о тематике и основных понятиях т...

Симуляторы фабрики и управления: лучшие игры в стиле Factorio для iOS и Android На этой неделе на мобильных вышла игра Sandship: Crafting Factory. Она интересна и сама по себе, но привлекает многих, потому что приближается к определению игры «в стиле Factorio», которая пользуется безумной популярностью на компьютерах. Если вы знакомы с последней, то лиш...

Еще немного истории — на этот раз копаемся в OS/360 В продолжение поста о том, как работали программисты в 80-х, вспомнил и решил описать предысторию, идею и реализацию моего первого успешного проекта. Итак, дело было году этак в… давно тому назад. Я был студентом 3 курса, и начал работать старшим лаборантом своей кафедры. Ч...

Лучшая гарнитура для киберспорта. HyperX Cloud Alpha Выбрать достойную игровую гарнитуру достаточно тяжело, ведь на рынке есть просто масса различных моделей, которые выглядят красиво, но не дают того, что нужно игроку. Мы решили пойти еще дальше и выбрать лучшую гарнитуру не для обычного геймера, а для продвинутого киберспорт...

MIUI 12 позволит управлять смартфонами Xiaomi прикосновениями к задней крышке Xiaomi – одна из немногих компаний, которые начали свой путь с откровенного воровства идей и смогли на этом подняться, сыскав невероятную популярность. В какой-то момент её даже стали называть китайской Apple – настолько фирменный стиль бренда был похож на американский анал...

Как переехать в Испанию из Украины по студенческой визе: личный опыт, советы и эмоции Вот такие виды открываются из Гранады Привет, Хабр! Мы давно обсуждали возможность появления в нашем блоге историй от людей, работающих в IT. Решили начать с экспериментального цикла материалов об IT-иммиграции, изучении языков и прочих интересных вещах. Первая история — о...

[Перевод] Создание тёмной темы для Stack Overflow 30 марта 2020 года разработчики Stack Overflow дали посетителям сайта возможность пользоваться бета-версией тёмной темы. Материал, перевод которого мы публикуем, посвящён рассказу о том, как создавалась тёмная тема Stack Overflow. Баннер на Stack Overflow, который позволяе...

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

Какой язык программирования быстрее работает, проще изучается, легче пишется и вообще всех прекрасней на свете? В преддверии дня разработчика мы решили поднять извечный вопрос: «Какой язык программирования самый лучший?» Читать дальше →

Сервер Игры на MS Orleans — часть 1: Что такое Акторы Привет Хабр! И так, на четырнадцатый день копья решил я значит начать делать простенький игровой сервер для простой онлайн стрелялки. За одно тему распределенных вычислений затронуть. В этой вводной статье цикла хочу рассказать что такое акторы (в Орлеанс их зернами называ...

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

OSINT в Telegram Протокол Telegram известен своей доступностью и открытостью. У него есть множество публичных реализаций: tdlib/td, rubenlagus/TelegramApi, vysheng/tg, LonamiWebs/Telethon и другие. Однако, даже имея в распоряжении столь богатый инструментарий и объемную документацию (https...

Коммутаторы ExtremeSwitching X465. Универсальный гигабит и мультигигабит Портфолио коммутаторов компании Extreme Networks пополнилось семейством ExtremeSwitching X465, линейка которых представлена шестью моделями с «медными» портами (релиз «оптики» ожидается в ближайшем будущем). По сути, ExtremeSwitching X465, является третьим поколением и логич...

Статический анализ кода коллекции библиотек PMDK от Intel и ошибки, которые не ошибки Нам предложили проверить с помощью анализатора PVS-Studio коллекцию открытых библиотек PMDK, предназначенную для разработки и отладки приложений с поддержкой энергонезависимой памяти. Собственно, почему бы и нет. Тем более это небольшой проект на языке C и C++ с общим разме...

Сжатие данных в Apache Ignite. Опыт Сбера При работе с большими объемами данных иногда может остро встать проблема нехватки места на дисках. Одним из способов решения данной проблемы является сжатие, благодаря которому, на том же оборудовании, можно себе позволить увеличить объемы хранения. В данной статье мы расс...

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

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

JavaScript: 250+ практических вопроса (список + викторина + бонус) Доброго времени суток, друзья! Представляю вашему вниманию список из 250+ практических вопроса по JavaScript с подробными (насколько это возможно и уместно в контексте чеклиста) ответами, возможностью проверить свои знания с помощью викторины, состоящей из 30 случайных в...

Yet Another Производственный Календарь на MS SQL. ПО->ША->ГО->ВО Написать свое решение меня подтолкнул пост на Хабре на аналогичную тему, в котором эта задача была решена «в лоб» — простым перечислением дней и флагом рабочий/выходной за весь диапазон жизнедеятельности системы, в которой этот календарь используется. В аналогичной ситуации ...

[Из песочницы] Игра для программистов FuncBall Многие, как и я, любят футбольные симуляторы и многие увлекаются программированием. Когда-то, в далёком 2004 году, наигравшись в ФИФУ я подумал, что было бы неплохо совместить два моих увлечения в одной игре, в которой игроки управлялись бы не вручную, а написанным для них с...

[Перевод] Обратная связь по грантам памяти (memory grant feedback) в SQL Server 2019 Всем привет! В преддверии старта курса «MS SQL Server разработчик», подготовили для вас еще один интересный перевод. Если оптимизатор неправильно вычисляет необходимый объем памяти для выполнения запроса, то это будет либо пустая трата памяти, которую мог бы использовать ...

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

На следующей неделе состоится релиз приключения The Liar Princess and the Blind Prince За последнее время издатель NIS перенес довольно много интересных проеков на iOS и Android, включая htoL#NiQ: The Firefly Diary и Disgaea 1 Complete. Сегодня компания анонсировала, что приключение The Liar Princess and the Blind Prince выйдет на мобильных на следующей неделе...

Microsoft Edge: облегчение поиска вкладок с функцией предварительного просмотра В то время как Microsoft Edge все еще сильно еще отстает от Google Chrome, но теперь браузер теперь основан на Chromium и предлагает несколько полезных новых функций и дополнений. Но есть одна проблема – в новом Microsoft Edge все еще отсутствуют некоторые ключевые функции, ...

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

Как мы автоматизировали портирование продуктов с C# на C++ Привет, Хабр. В этом посте я расскажу о том, как нам удалось организовать ежемесячный выпуск библиотек для языка C++, исходный код которых разрабатывается на C#. Речь идёт не об управляемом C++ и даже не о создании моста между неуправляемым C++ и средой CLR — речь об автомат...

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

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

Вот это поворот! Новый iPhone может быть похож на Mac Pro В сети уже появилась информация (хоть и сомнительная) о 4-сенсорной тыльной камере iPhone 13 (про iPhone 12 – как нам кажется – мы все уже знаем). А что будет потом, через пару другую лет? В подробностях этого не знают даже те, кто отвечает за их эволюцию в Apple, но кое-чт...

Композитор The Last of Us намекнул на разработку 3 части Ни для кого ни секрет, что The Last of Us: Part 2 стала одной из лучших игр этого года. Поэтому вопрос о продолжении стоит остро как никогда. Композитор первых двух частей Густаво Сантаолалья сделал намек на возможное продолжение. Читать полную статью

[Перевод] Архитектурный шаблон MVI в Kotlin Multipaltform, часть 1 Около года назад я заинтересовался новой технологией Kotlin Multiplatform. Она позволяет писать общий код и компилировать его под разные платформы, имея при этом доступ к их API. С тех пор я активно экспериментирую в этой области и продвигаю этот инструмент в нашей компани...

[Перевод] Java Records (JEP 359) Проблема Одной из проблем Java является ее многословность и объем необходимого стандартного кода. Это общеизвестно. Давайте рассмотрим простой класс Cat на Java. Мы хотим, чтобы каждый объект Cat имел следующие атрибуты (поля): Читать дальше →

[recovery mode] Переезд от jQuery к Svelte, без боли Всем привет. Я бэкэнд разработчик и фронтэнд задачи решаю как умею, то есть на jQuery, это работало в 2015, работает и сейчас. Но при наличии Vue и React это уже не камильфо. Из любви к особому пути я решил осваивать не проверенный миллионами разработчиков Angular/React/Vue...

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

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

Nokia 215 4G и Nokia 225 4G запущены в Китае HMD Global выпустила в Китае два новых функциональных телефона под брендом Nokia с возможностью подключения к сети 4G. Эти телефоны называются Nokia 215 4G и Nokia 225 4G. Первая модель стоит 43 доллара США, последняя стоит 52 доллара США. Nokia 215 4G и Nokia 225 4G оснаще...

Flutter, Dart — локальная база в сотни раз более быстрая чем SQLite или Shared Preferencies Примерно месяц назад общаясь с одним разработчиком приложения на Flutter встала проблема торможения обработки маленьких (в десятках тысяч) массивов данных на телефоне юзера. Многие приложения предполагают обработку данных на телефоне и, далее, их синхронизацию с бэкендом. На...

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

Как описать 100 Gitlab джоб в 100 строк В продолжение предыдущей статьи про инструменты деплоя в Kubernetes, хочу рассказать вам про то как можно использовать Jsonnet для упрощения описания джоб в вашем .gitlab-ci.yml Дано Есть монорепа, в которой: 10 Dockerfiles 30 описанных деплоев 3 окружения: devel, staging...

Операционная Система «Сивелькирия»: вводное описание Привет, Хабр. Эта статья открывает цикл публикаций об операционной системе «Сивелькирия», на данный момент находящейся на раннем этапе проектирования и разработки. В статьях цикла будут подробно описаны системные проблемы популярных операционных систем и предложены пути их ...

Осторожно с новой версией Windows 10. Microsoft опубликовала длиннющий список известных проблем Компания Microsoft только что выпустила крупнейшее обновление своей операционной системы в 2020 году — Windows 10 May 2020 Update (версия 2004).  Одновременно была обновлена страничка с информацией о релизе. И если вчера там содержалась гордая надпись, что и...

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

Сверточная нейронная сеть и ее интеграция в iOS (часть 1) Средства реализации. Различные алгоритмы машинного обучения интегрированы в множество высокоуровневых языков программирования. Наиболее популярным и быстро развивающимся из них является Python. TensorFlow — открытая программная библиотека для машинного обучения, разработа...

Windows 10 Build 19041.450 уже доступна для скачивания Windows 10 KB4566782 теперь доступна для развертывания в Windows 10 версии 2004 через Центр обновления Windows. Как обычно, Microsoft также опубликовала прямые ссылки для загрузки автономных установщиков накопительного обновления KB4566782. Вторник исправлений – это второй в...

AnLinux: простой способ установить Linux-окружение на Android-телефон без рута Любой телефон или планшет, работающий на Android, — это устройство, которое управляется ОС Linux. Да, очень модифицированной ОС, но все же основа Android — ядро Linux. Но, к сожалению, для большинства телефонов опция «снести Android и поставить дистрибутив по своему вкусу...

Google представила «Быстрые команды» и 3D Touch для Android. Жаль, не для всех Копировать чужие наработки, особенно, если их владельцем является Apple, очень опасно. Samsung в этом уже убедилась на собственном опыте, хотя изначально её планы были поистине наполеоновскими. Поэтому сейчас если кто-то и заимствует идеи компании из Купертино, то старается...

Кто, как и на чем исследовал мировой океан — разбираем базы NOAA Приветствую вас, глубокоуважаемые! «Выбросило меня тогда из кабины, в тысячный раз подумал он. Ударило обо что-то головой, так я больше и не оправился…» (С) АБС, «Улитка на склоне» Пока коронaвирус бороздит просторы планеты, предлагаю с одного ракурса взглянуть, как мы (че...

Как скачать обои из iOS 14 и с iPad Air 4 на любой Android Говорят, что все пользователи Android хотят iPhone. Я не знаю, так ли это на самом деле, но, если проанализировать интерес к статьям с инструкциями по воплощению некоторых функций iOS на Android, складывается впечатление, что желающих пересесть на платформу Apple предостато...

[Перевод] PEP 257 на русском. (Соглашение о Docstrings) Привет, Хабр. Бывают моменты, когда тебе хочется максимально погрузиться в язык и понять все его тонкости. В случае Python один из лучших способов это сделать — читать на официальном сайте документацию и PEP-ы. В своё время я этого не делал, поскольку не мог понять многих «т...

Google рассказала, что не так с оболочками для Android Samsung слишком сильно меняет Android, и Google это не нравится Так уж повелось, что за более чем десятилетнюю историю за Android закрепился статус самой небезопасной мобильной ОС на рынке. Такого мнения придерживаются очень многие пользователи, однако это в корне неверная п...

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

Сборка кинематики CoreXY Дорогие друзья!В продолжении прошлой темы "Набор для самостоятельной сборки 3D принтера B&R" опишу подробно сборку кинематики CoreXY, на примере набора для сборки 3D принтера B&R с областью печати 300х200х300мм.Собрать 3D принтер из данного набора можно как на кинематике H-b...

Edge-ик в тумане и другие приключения периферийных вычислений Добрый день. Меня зовут Игорь Хапов. Я руководитель разработки в Научно-техническом центре IBM. И сегодня я хотел бы вам помочь окунуться в мир периферийных вычислений, или edge computing, как его ещё называют. Я расскажу о том, что же такое edge computing и как он может пов...

[Перевод] Чем меня разочаровал Typescript и стоит ли он того? Прежде чем начать, хочу упомянуть, что я фанат TypeScript. Это мой основной язык программирования для фронтенд проектов на React и для любой бекенд работы, которую я выполняю в Node. Я полностью за Typescript, но есть моменты, которые меня беспокоят и про которые я и хотел...

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

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

[Перевод] Random Forest, метод главных компонент и оптимизация гиперпараметров: пример решения задачи классификации на Python У специалистов по обработке и анализу данных есть множество средств для создания классификационных моделей. Один из самых популярных и надёжных методов разработки таких моделей заключается в использовании алгоритма «случайный лес» (Random Forest, RF). Для того чтобы попытать...

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

[Перевод] Разбор худшего в мире куска кода Есть одна итальянская страница на Facebook. Называется она «Il Programmatore di Merda», что в переводе означает «Дерьмовый программист». Мне нравится эта страница. Там часто публикуют куски отвратительного кода и мемы о программировании. Но однажды я увидел там кое-что сове...

ABBYY NeoML: как мы делали библиотеку машинного обучения и зачем она нужна Привет, Хабр! Меня зовут Стас, и я отвечаю за направление Common Libraries в компании ABBYY. Недавно мы выложили на GitHub созданную нами библиотеку для машинного обучения NeoML. NeoML — это кроссплатформенная C++ библиотека, позволяющая организовать полный цикл разработки ...

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

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

Спор о первом языке программирования: окончательное решение Некоторые относятся к спору о выборе первого языка программирования примерно так: Говорят, на выбор влияет миллион фаторов и спорить по этому поводу не имеет никакого смысла. Тем не менее, холивары продолжаются. Виталий Брагилевский решил поставить точку и на Saint AppsC...

«Google Переводчик» поможет вам лучше понимать иностранную речь Google Translate научится переводить диалоги Удобство приложений и сервисов Google действительно сложно переоценить. YouTube, Google Maps, Google Assistant, Google Search – каждый из этих и многих других продуктов поискового гиганта считается лучшим в своём роде. Но успех пр...

Рецензия: «Джуманджи: Новый уровень» В 2017 году студия Sony решила выпустить продолжение и, одновременно, перезапуск любимой многими сказки из 90-х — «Джуманджи». 12 декабря в прокате стартовал сиквел обновлённой версии франшизы под названием «Джуманджи: Новый уровень» (Jumanji: The Next Level). Стоит ли тр...

Найдите IT-помощников и победите кризис. Волонтёры объединились в группу помощи против COVID-19 Сообщество IT-волонтеров переходит на оперативный режим работы и объединяется в группу «IT-волонтеры против COVID-19» для быстрой помощи некоммерческим проектам и низовым инициативам. Если ваша НКО уже переживает кризис из-за пандемии, IT-специалисты готовы помочь и реши...

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

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

[Из песочницы] Go: десериализация JSON с неправильной типизацией, или как обходить ошибки разработчиков API Недавно мне довелось разрабатывать на Go http-клиент для сервиса, предоставляющего REST API с json-ом в роли формата кодирования. Стандартная задача, но в ходе работы мне пришлось столкнуться с нестандартной проблемой. Рассказываю в чем суть. Как известно, формат json име...

[Из песочницы] Пишем простую игру на python Сегодня мы создадим всем известную игру камень, ножницы, бумага. В этом нам поможет ЯП python и библиотека tkinter, но если вы не знаете что это такое, советую почитать данную статью. Первое, что нам нужно, это начальная структура, окошко, у меня оно будет выглядеть так: f...

[Перевод] Благодаря удивительному глитчу в Ocarina of Time удалось добавить модели из Star Fox 64 За долгие годы написания статей про игры я рассказал о многих удивительных глитчах, неизвестных с давних пор кодах, трюках с выполнением произвольного кода и поисках глубоко сокрытого контента внутри классических игр и оборудования. Но ничто не смогло подготовить меня к это...

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

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

Лучшие MMORPG 2019 года: Black Desert Mobile, Rangers of Oblivion и другие MMORPG — самый неоднозначный жанр мобильных игр. С одной стороны, разработчики уже давно поняли, что никакой «знакомый с ПК» опыт здесь не нужен: достаточно добавить знакомых элементов, авто-бой и можно выпускать. С другой, поняли они это в первую очередь из-за самих игроков...

Продвинутый CSS-in-TS Здравствуйте, меня зовут Дмитрий Карловский и я… автор одного из первых фреймворков целиком и полностью написанных на тайпскрипте — $mol. Он по максимуму использует возможности статической типизации. И сегодня речь пойдёт о максимально жёсткой статической фиксации стилей. Э...

Windows 10 версии 2004 все еще имеет блокировку обновления и старые ошибки Microsoft ограничивает выпуск обновления May 2020 Update, которое впервые появилось для Windows 10 27 мая. Подход поэтапного развертывания позволяет Microsoft обнаруживать и устранять критические ошибки, которые могли остаться незамеченными в период бета-тестирования обновле...

Говорящий плеер на raspberry Приветствую всех. У меня проблемы со зрением, увлечение мое — программирование. Как то в недалеком прошлом я узнал об одноплатном компьютере raspberry, описание меня впечатливо и я приобрел его. Так, как официальный дистрибутив — raspbian, основан на debian, думал включу с...

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

[Из песочницы] PostgeSQL: Разработка расширений (функций) на языке С Эту статью написал еще пару лет назад, и не знал куда ее можно было бы выложить, а потом и забыл. Смысл использования языка С при разработке расширений для PostgreSQL по сравнению с интерпретируемыми (скриптовыми) языками можно свести к двум положениям: производительность и...

[Из песочницы] Большое тестирование процессоров различных архитектур Предисловие Попытка сравнить производительность процессоров на разнородных архитектурах x86-64, e2k (Эльбрус), mips и arm. Все тесты написаны на языке C (взяты из исходных кодов, которые я не модифицировал и не оптимизировал) и компилируются под конкретную архитектуру с испо...

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