Социальные сети Рунета
Среда, 20 января 2021

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

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

Книга «Обработка естественного языка в действии» Привет, Хаброжители! Мы издали практическое руководство по обработке и генерации текстов на естественном языке. Книга снабжена всеми инструментами и методиками, необходимыми для создания прикладных NLP-систем с целью обеспечения работы виртуального помощника (чат-бота), спам...

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

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

О чем говорится в средневековом "дьявольском" манускрипте Расшифровка "сатанинской" рукописи XVII века, которой больше 300 лет, велась итальянскими программистами с помощью DarkNet. Источник

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

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

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

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

DeepPavlov: «Keras» для обработки естественного языка помогает отвечать на вопросы про COVID-2019 В такой области глубокого обучения, как обработка изображений, библиотека Keras играет ключевую роль, радикально упрощая обучение transfer learning и использование предварительно обученных моделей. В области обработки естественного языка (NLP) для решения достаточно сложных ...

Numl – Альтернативный язык разметки и стилизации для веб Всем привет! Меня зовут Андрей, я профессионально разрабатываю веб-интерфейсы уже больше 11 лет и последний год развиваю проект Numl, который можно назвать языком разметки и стилизации для веб. В этой статье я расскажу, как в попытке перебороть ряд особенностей CSS и упрости...

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

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

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

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

Какой язык программирования учить, чтобы за вами охотились HR крупных компаний Десять лет назад язык программирования PHP был в лидерах рейтингов, а сейчас проекты в веб все чаще написаны на JavaScript и Python. Обидно потратить на изучение языка год или два, а потом остаться без работы. Мы в Mail.ru Cloud Solutions изучили аналитику, исследования, ...

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

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

Правосторонний интерфейс: адаптируем контролы к right-to-left языкам C адаптацией приложений и сайтов под RTL-языки (right-to-left, справа налево) сталкиваются разработчики многих развивающихся и выходящих на новые рынки продуктов. Мы в Badoo тоже в какой-то момент оказались в этой ситуации: наши приложения переведены на 52 языка и диалекта. ...

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

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

Сканирующее окно по массивам NumPy CoLab блокнот с примерами Возможно сделать скользящее окно (rolling window, sliding window, moving window) по массивам NumPy на языке программирования Python без явных циклов. В данной статье рассматривается создание одно-, двух-, трех- и N-мерных скользящих окон по массивам...

Обзор GameLisp: нового языка для написания игр на Rust Программист, подписывающийся псевдонимом Fleabit, уже полгода разрабатывает свой язык программирования. Сразу же возникает вопрос: ещё один язык? Зачем? Вот его аргументы: Разработка движка игры и разработка игры на этом движке – две очень разные задачи, и для них удобно...

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

Как кыргызский язык стал «русским» и почему это закономерно «B пpeдeлax иcтopии мы видим, чтo языки тoлькo дpяxлeют пo oпpeдeлeнным жизнeнным зaкoнaм, в звyкoвoм и фopмaльнoм oтнoшeнии. Языки, нa кoтopыx мы тeпepь гoвopим, являютcя, пoдoбнo вceм языкaм иcтopичecки вaжныx нapoдoв, cтapчecкими языкoвыми пpoдyктaми. Bce языки кyльтypн...

Открытый курс «Deep Learning in NLP» от создателей DeepPavlov на базе курса cs224n Всем привет! Вступление Меня зовут Алексей Клоков, я хочу рассказать о запуске классного курса по обработке естественного языка (Natural Language Processing), который очередной раз запускают физтехи из проекта DeepPavlov – открытой библиотеки для разговорного искусственного ...

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

Как улучшить контент с помощью Natural Language Processing Как технологии обработки естественного языка помогают Google понимать контент, и как их можно использовать для улучшения текстов. Сообщение Как улучшить контент с помощью Natural Language Processing появились сначала на Searchengines.ru.

[Перевод] 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 и...

Natural Language Processing. Итоги 2019 и тренды на 2020 Всем привет. С некоторым запозданием я решил опубликовать эту статью. Каждый год я стараюсь подвести итоги произошедшего в области обработки естественного языка (natural language processing). Не стал исключением и этот год. BERTs, BERTs are everywhere Начнем по порядку. Ес...

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

ChaiScript — скриптовый язык для C++ Когда возникает потребность внедрить скриптовый язык в проект на C++, первым делом большинство людей вспоминает Lua. В этой статье его не будет, я расскажу о другом, не менее удобном и легком в освоении языке под названием ChaiScript. Читать дальше →

Язык программирования karasic Привет, друг. Как известно, каждый уважаемый кодер рано или поздно пишет свой логер, парсер json и язык программирования. Поскольку первое и второе мы уже написали, то нам ничего не остаётся, как представить наши наработки по новому инновационному языку программирования kara...

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

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

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

Рейтинг языков программирования TIOBE: январь 2020 Актуальный рейтинг популярности языков программирования в мире по данным индекса TIOBE. Язык C стал языком программирования 2019.

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

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

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

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

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

ТЕЛЕКОММУНИКАЦИИ (16.11 – 15.12.2019) «МТС» начала продавать виртуальных юристов – систему автоматической работы с документами и управления жизненным циклом договоров. Решение создано на базе таких ИИ-технологий, как обработка естественного языка и компьютерное зрение...

Новогодние бенчмарки компьютеров Эльбрус Новогодние бенчмарки компьютеров Эльбрус Продолжение статьи Большое тестирование процессоров различных архитектур. В этот раз я решил измерить производительность конкретных сред/языков программирования (C#, Java, JavaScript, Python, Lua) на компьютерах с процессорами Эльбру...

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

[Перевод] Нужна ли нам замена языка C? Язык программирования C даже сегодня находится в списке наиболее популярных используемых языков, несмотря на то, что он был выпущен аж в 1972 году и по современным стандартам имеет довольно много ограничений и изъянов. Популярность языков программирования в 2020 по индексу...

Лемматизируй это быстрее (PyMorphy2, PyMystem3 и немного магии) Я работаю программистом, и в том числе занимаюсь машинным обучением применительно к анализу текстов. При обработке естественного языка требуется предварительная подготовка документов, и одним из способов является лемматизация – приведение всех слов текста к их нормальным фор...

[Перевод] Что плохо в новых значках Google Компания Google «переосмыслила» G Suite как Google Workspace и выродила удивительное семейство разноцветных логотипов вместо всем привычных, узнаваемых, а в случае Gmail — даже культовых — иконок. На их месте появились маленькие радужные капли, которые мы теперь будем изо ...

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

[Из песочницы] Web2Text: глубокое структурированное извлечение содержимого web-страницы Привет, Хабр! Представляю вашему вниманию перевод статьи "Web2Text: Deep Structured Boilerplate Removal" коллектива авторов Thijs Vogels, Octavian-Eugen Ganea и Carsten Eickhof. Веб-страницы являются ценным источником информации для многих задач обработки естествен...

[Перевод] Почему будущее не за Python Хотя, безусловно, этот язык программирования будет востребован ещё много лет. Сообществу программистов понадобились десятилетия, чтобы по достоинству оценить Python. С начала 2010-х годов он переживает бум — и в итоге превосходит C, C#, Java и JavaScript по популярности. ...

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

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

[Перевод] Debugging в Julia — два способа скришнот из metal slug 3 2020 год — это определенно год странностей. Мой код тоже часто включает в себя некоторые странные ошибки. И в данном посте я хочу показать вам несколько методов отладки кода на языке julia. Читать дальше →

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

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

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

Обучение модели естественного языка с BERT и Tensorflow Рис. 1. Фразы и предложения в векторном представлении модели естественного языка Обработка естественного языка (Natural Language Processing, NLP) – это область вычислительной лингвистики, ориентированная на разработку машин, способных понимать человеческие языки. Разработк...

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

Oracle сама скопировала API у Amazon S3, и это совершенно нормально Юристы Oracle сравнивают реимплементацию Java API в Android с копированием содержания «Гарри Поттера», pdf В начале этого года Верховный суд США рассмотрит важное дело Oracle против Google, которое определит правовой статус API в соответствии с законом об интеллектуальной...

Android Localization Library: простое переключение языков Android Localization Library — библиотека для управлениями языками в приложении. Принцип локализации остается прежним (вы делаете разные строковые файлы для разных языков), а библиотека помогает переключаться между языками “на лету”. Например: class MainApplication : A...

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

Umka: новый статически типизированный скриптовый язык Только что вышла первая версия разработанного мной статически типизированного встраиваемого скриптового языка Umka. Он призван сочетать гибкость привычных скриптовых языков с защитой от ошибок типов на этапе компиляции в байт-код. Основная идея языка — Explicit is better th...

Elixir как цель развития для python async В книге «Python. К вершинам мастерства» Лучано Рамальо описывает одну историю. В 2000 году Лучано проходил курсы, и однажды в аудиторию заглянул Гвидо ван Россум. Раз подвернулся такой случай, все стали задавать ему вопросы. На вопрос о том, какие функции Python заимствовал ...

[Перевод] Почему язык С не помешает вам делать ошибки Если вкратце: потому что мы так сказали. :) Ладно, это слишком короткое объяснение для статьи, дорогой читатель, и мои провокационные слова требуют объяснения. Встреча Комитета по языку С — которую сначала планировали провести в германском Фрайбурге, но не срослось по по...

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

[Из песочницы] Пишем спецификацию под Nvidia Kepler (бинарники CUDA, версия языка sm_30) для Ghidra Для обычных процессорных языков уже написано довольно много спецификаций для Ghidra, однако для графических ничего нет. Оно и понятно, ведь там своя специфика: предикаты, константы, через которые передаются параметры в том числе, и другие вещи, унаследованные от шейдеров. Кр...

[Перевод] Более эффективное предварительное обучение NLP моделей с ELECTRA Последние разработки в области предварительного обучения языковых моделей привели к значительным успехам в сфере обработки естественного языка (Natural Language Processing, NLP), породив такие высокоэффективные модели, как BERT, RoBERTa, XLNet, ALBERT, T5 и многие другие. Эт...

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

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

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

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

[Из песочницы] DevOps инструменты не только для DevOps. Процесс построения инфраструктуры автоматизации тестирования с нуля Часть 1: Web / Android Примечание: данная статья является переводом на русский язык оригинальной статьи «DevOps tools are not only for DevOps. Building test automation infrastructure from scratch». Однако все иллюстрации, ссылки, цитаты и термины сохранены на языке оригинал...

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

LG раскрыла особенности нового дизайнерского языка для своего следующего смартфона Флагманские телефоны LG за последние пару лет выглядели очень похожими друг на друга. Отличия в дизайне устройств G7, V40, G8, V50, G8X и V60 были незначительными. Но в дальнейшем ситуация изменится. Компания готовится к выходу нового смартфона, который будет использовать со...

Проверь себя в Swift: паззлер для любителей головоломок Мы, команда мобильной разработки в SimbirSoft, при создании iOS-приложений широко используем язык Swift – достаточно безопасный, быстрый и выразительный. Для тех, кто знаком со Swift, мы приготовили несколько головоломок–паззлеров. Попробуйте определить результат выполнения ...

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

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

G-code, потерявшийся брат Assembler-а Про язык управления промышленными CNC-станками и всевозможными любительскими устройствами вроде 3D-принтеров написано очень много статей, но почитать о том, какова идеология этого языка и как она связана с аппаратной реализацией — почти негде. Поскольку моя работа связана не...

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

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

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

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

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

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

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

LabVIEW NXG — простые типы данных и приведение типов Это третья статья из цикла о LabVIEW NXG, в которой мы рассмотрим простые типы данных и несложные преобразования между ними. Система типов LabVIEW весьма похожа на "классические" языки программирования. В данной статье мы рассмотрим базовые типы — численные, булев...

16 советов по разработке для Android на языке Kotlin. Часть 1 Перед прочтением этих советов вам желательно ознакомиться с документацией Kotlin и самостоятельно изучить язык на сайте try.kotlinlang.org. Поскольку эти советы направлены именно на использование Kotlin в контексте разработки под Android, у вас также должен быть опыт работ...

Как установить русский язык на iPhone или iPad (iOS) Достаточно часто к нам обращаются новоиспеченные iOS-пользователи, которые по разным причинам стали владельцами iPhone или iPad с языком системы отличным от русского. Надо сказать, что iOS поддерживает огромное количество языков и иногда изменить язык системы не так просто, ...

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

1С справа налево: как мы поддержали RTL в платформе 1С: Предприятие Платформа 1С:Предприятие локализована на 22 языка, включая английский, немецкий, французский, китайский, вьетнамский. Недавно, в версии 8.3.17, мы поддержали арабский язык. Одна из особенностей арабского языка в том, что текст на нём пишут и читают справа налево. UI для ара...

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

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

Как я изучаю языки Привет, хабровчане! Давным-давно, когда динозавры ходили по земле, a автор этих строк училась в шестом классе, на глаза мне попалась небольшая книжечка венгерской переводчицы Като Ломб «Как я изучаю языки». Я прочла её и — пропал калабуховский дом. Передо мной открылся сов...

XPATH + XML = быстрая обработка При выполнении запросов язык XPath оперирует такими сущностями как узлы. Узлы бывают нескольких видов: element (узел-элемент), attribute (узел-атрибут), text (узел-текст), namespace (узел-пространство имён), processing-instruction (узел-исполняемая инструкция), comment (уз...

16 советов по разработке для андроид на языке Kotlin. Часть 2 Всем привет. В преддверии старта базового курса по Android-разработке, продолжаем делиться полезным материалом. Перед прочтением этих советов вам желательно ознакомиться с документацией Kotlin и самостоятельно изучить язык на сайте try.kotlinlang.org. Поскольку эти советы...

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

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

[Перевод] Самый быстрый компилятор aka compiler-benchmark От переводчика: все началось с топика на форуме D. После оценки скорости компиляции D по сравнению с другими языками мне было интересно, существует ли какой-нибудь язык, который компилируется в нативный код почти так же быстро или быстрее, чем D, за исключением C? Если да, т...

Чистый Cython VS nvc++: жжем металлические пластины на GPU для сравнения скорости Будем греть металлические пластины на GPU Все знают, что Python не блещет скоростью сам по себе. На мой взгляд язык прекрасен своей читабельностью, но основная ниша его применения там, где вы большую часть времени ожидаете ввода/вывода каких-то данных. Условно, вы можете...

[Из песочницы] Пишем автотест с использованием Selenium Webdriver, Java 8 и паттерна Page Object В этой статье рассматривается создание достаточного простого автотеста. Статья будет полезна начинающим автоматизаторам. Материал изложен максимально доступно, однако, будет значительно проще понять о чем здесь идет речь, если Вы будете иметь хотя бы минимальные представлени...

[Перевод] 7 опасных ошибок, которые легко совершить в С#/.NET Перевод статьи подготовлен в преддверии старта курса «C# ASP.NET Core разработчик». C# — великолепный язык, и .NET Framework также очень хорош. Строгая типизация в C# способствует уменьшению количества ошибок, которые вы способны спровоцировать, по сравнению с другими язык...

Член программного комитета PyConRu 2020 отвечает на вопросы об языке Python: актуальный взгляд и немного парселтанга Антон Патрушев – очень опытный python-разработчик, постоянный член программного комитета PyCon Russia и старый друг конференции. Он работает с языком python уже много лет, начинал свое знакомство с ним в Naumen, теперь является СТО в Spherical, а еще это была именно ид...

Курс Natural Language Processing (обработка естественного языка) Всем привет! Huawei Russian Research Institute (Huawei RRI) в рамках программы взаимодействия с ведущими российскими университетами (МФТИ, МГУ, МГТУ им. Н. Э. Баумана) представляет открытый курс “Natural Language Processing” или “Обработка естественного языка”, который пройд...

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

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

Haproxy — программирование и конфигурирование средствами Lua Сервер Haproxy имеет встроенные средства для выполнения скриптов Lua.Язык программирования Lua для расширения возможностей различных серверов используется очень широко. Например, на Lua можно программировать для серверов Redis, Nginx (nginx-extras, openresty), Envoy. Это впо...

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

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

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

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

Контрибьютим в Swift Знакомо, узнали? Каждый раз когда вы пытались объявить опциональное замыкание @escaping в Swift компилятор ругался и писал непонятную ошибку @escaping attribute only applies to function types. Мне это не нравилось, и я решил это исправить. Теперь компилятор Swift 5.3 вместо...

[Перевод] BERT, ELMO и Ко в картинках (как в NLP пришло трансферное обучение) 2018 год стал переломной точкой для развития моделей машинного обучения, направленных на решение задач обработки текста (или, что более корректно, обработки естественного языка (Natural Language Processing, NLP)). Быстро растет концептуальное понимание того, как представлять...

Создание Python-обвязки для библиотек, написанных на C/C++, с помощью SIP. Часть 1 Иногда во время работы над проектом на языке Python возникает желание использовать библиотеку, которая написана не на Python, а, например, на C или C++. Причины для этого могут быть разные Во-первых, Python — язык замечательный, но в некоторых ситуациях недостаточно быстрый....

[Из песочницы] Отображение данных в формате json на структуру C++ В идеале хотелось бы определить структуру С++ struct Person { std::string name; int age; bool student; } person; передать экземпляр person в метод отображения вместе с данными json_data map_json_to_struct(person, json_data) после чего просто пользоваться заполненной струк...

[Перевод] ALBERT — облегченный BERT для самообучения языковым представлениям С тех пор как в 2018 году был представлен BERT, исследования в области обработки естественного языка охвачены новой парадигмой: использованием больших объемов существующего текста для предварительного обучения параметров модели на основе самообучения (self-supervision), не т...

Язык Go обновился до версии 1.15 На днях представлен релиз языка программирования Go 1.15. Как известно, изначально это был проект компании Google, который вышел за пределы корпорации и стал развиваться при поддержке сторонних разработчиков. Код проекта распространяется под лицензией BSD. Достоинств у ...

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

Процессор Forth J1 в FPGA плате M02mini Впервые я познакомился с языком программирования Forth еще в студенческие годы. Было это правда ну очень давно. Уже тогда язык поразил меня тем, что он «не такой как все». При этом, код получался хоть и малопонятный, но компактный и быстрый. Недавно я занимался запуском пр...

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

Книга «Golang для профи: работа с сетью, многопоточность, структуры данных и машинное обучение с Go» Привет, Хаброжители! Вам уже знакомы основы языка Go? В таком случае эта книга для вас. Михалис Цукалос продемонстрирует возможности языка, даст понятные и простые объяснения, приведет примеры и предложит эффективные паттерны программирования. Изучая нюансы Go, вы освоите...

Рейтинг языков программирования от DOU.UA: JavaScript опередил Java, а Python — PHP Профильный украинский ресурс DOU.UA представил результаты ежегодного опроса о языках программирования, составленного по результатам опроса 10 тыс. отечественных IT-специалистов. В коммерческой разработке JavaScript наконец существенно опередил Java и стал самым популярным яз...

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

[Перевод] Что такое *args и **kwargs в Python? Функции — это жизнь. Правда? Если вы только начали осваивать Python, неважно — первый ли это ваш язык программирования, или вы пришли в Python из другого языка, то вы уже знаете о том, что количество параметров в объявлении функции соответствует количеству аргументов, которы...

Facebook случайно заблокировала целый язык и снова получила обвинения в непрозрачном использовании технологий отслеживания 16 января некоторые пользователи Facebook столкнулись с проблемой – они не могли опубликовать записи при использовании качинского языка. При попытке отправить в соцсеть запись на этом языке возникало сообщение об ошибке и уведомление «Мы не можем опубликовать это. Нажмите дл...

Учимся понимать чертовски быструю английскую речь на примере выступлений Эдди Мерфи и Эминема Студенты, которые учат английский язык как второй, часто не готовы к реальной скорости речи носителей языка. Это на учебных пособиях и аудировании все предельно понятно, а когда нейтив начинает тараторить, ты такой «Чё?». Мы расскажем вам, как научиться понимать быструю ре...

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

Андрей Терехов: от Фортрана до Питона Этой осенью Андрей Терехов — завкафедрой системного программирования Матмеха СПбГУ, профессор, доктор физмат наук — рассказывал нашим коллегам об истории популярных языков программирования и их проникновении в СССР. Вместе с Андреем Николаевичем мы подготовили на основе ег...

Использование примесей (mixins) в Dart Несколько раз от коллег звучал вопрос о том, что не понятно, зачем вообще нужны mixin'ы (примеси) в языке Dart. Я решил посмотреть, что есть на просторах Интернета по этому вопросу. К великому огорчению в статьях, которые удалось найти в основном говорится о том, как использ...

[Из песочницы] Реализация алгоритма определения ширины объекта с помощью ультразвукового дальномера и энкодеров на языке RobotC Доброго дня! Сегодня я бы хотел поделиться реализацией алгоритма определения ширины объекта с помощью ультразвукового дальномера и энкодеров на языке программирования RobotC (с использованием платформы VEX EDR). Предистория Недавно, мне предложили провести мастер-класс на ...

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

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

Google внедряет BERT в поиск на русском языке Google объявил, что самое крупное обновление алгоритмов работы поиска за последние 5 лет – BERT Update – в этом месяце будет внедрено в поиск на русском языке. BERT – это технология предварительного обучения обработке текста на естественном языке. Она анализирует не отдельны...

Защита и взлом Xbox 360 (Часть 2) В прошлый раз мы оставили сцену Xbox 360 на моменте, когда разработчикам стало очевидно, что защита DVD-ROM легко обходится, и с этим точно нужно что-то делать. Попытки исправить ситуацию обновлением ПО самой приставки не увенчались успехом, и на поле битвы вступила компани...

5 языков любви сделают ваши отношения крепче Чтобы сохранить отношения, научитесь говорить на языке партнёра.

[Перевод] Отчет DORA State of DevOps 2019, теперь и на русском языке Привет, Хабр! Я сделал перевод на русский язык отчёт DORA State of DevOps 2019. Предлагаю ознакомиться с отчетом, ведь это не только самое актуальное DevOps-исследование на данный момент, но и готовое практическое руководство по DevOps-трансформации! Отчет State of DevO...

Какие языки программирования не актуальны в 2020 году В антирейтинг попали четыре языка программирования

Azure Virtual Training Days — 4 крутых мероприятия в сентябре Azure Virtual Training Days — это отличная возможность глубоко погрузиться в технологии Microsoft. Наши специалисты помогут раскрыть весь потенциал облака, поделившись своими знаниями, предложив эксклюзивные идеи и практические занятия. С нетерпением ждем встречи с вами н...

Об ошибках в коде QuantConnect Lean В данной статье рассматриваются ошибки в проекте с открытым исходным кодом, найденные с помощью статического анализатора. Говорится о некоторых простых вещах, которые могут помочь избежать их появления. Например, используя синтаксические конструкции языка начиная с C# 8.0. ...

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

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

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

[Перевод] Ранние годы ФОРТа КДПВ взята отсюда Введение ФОРТ – простой и естественный компьютерный язык. Он получил широкое распространение там, где необходима высокая эффективность. В 60-х годах он прошел путь развития от университетов через бизнес к лабораториям. Это — история о том, как простой инт...

Подкаст Лайфхакера: 9 отвратительных заимствований в русском языке Язык может впитывать в себя чужую лексику. Это закономерный процесс, но всё хорошо в меру.

UML для самых маленьких: диаграмма классов Аве, Кодер! Диаграмма классов UML иллюстрирует структуру системы, описывая классы, их атрибуты, методы и отношения между объектами. Даже самые малые детки знают, что UML происходит от Unified Modeling Language, если по русски, то — унифицированный язык моделирования, кото...

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

Podlodka #150: Эволюция языков программирования В программировании, как и в лингвистике, языки не высечены в камне. В зависимости от решаемых задач и популярных в конкретный период времени парадигм, языки меняются и эволюционируют.

Как я студентам язык D преподавал Два года назад я начал читать курс “Язык программирования Ди” в самом настоящем университете, провёл в общей сложности 40 лекций, примерно столько же практических занятий даже дважды принял экзамен, один раз удалённо. Как так случилось, кому вообще может быть нужен D, и как ...

Docker для фронтендера. Часть 2. Что ты такое? Продолжаю делать расшифровку своего доклада Docker для фронтендера с конференции FrontendConf 2019. В предыдущей части я постарался ответить на вопрос, зачем фронтенд-разработчику может понадобиться Docker. Сегодня попытаюсь простым языком рассказать, что это за инструмент,...

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

[Из песочницы] Компилятор Befunge на Python В процессе подготовки к курсу «Основы компиляторов» для студентов 4-го курса я изучал различные эзотерические языки программирования. Вот хорошая статья на эту тему. В статье самым интересным мне показался язык Befunge (Крис Пресс, 1993 год), особо отмечу три его особенности...

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

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

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

[recovery mode] Что безопаснее — PIN Online или PIN Offline? С появлением на рынке микропроцессорных платежных карт наряду с хорошо и давно знакомым к этому времени методом для верификации держателя карты PIN Online, когда значение ПИН проверяется эмитентом карты на его хосте, начал повсеместно применяться метод PIN Offline. Суть мет...

Portmanteau или слово-чемодан: как шутка в английском языке превратилась в новый способ создавать необычные слова Каждый год в словарь английского языка добавляется примерно 1000 новых слов. А это значит, что каждый день создается примерно 3 новых. И как минимум одно из этих трех — это «портмонто». Что это за смесь бульдога с носорогом? Всего лишь слово, которое было создано из комбина...

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

9 четких инструментов для изучения и прокачки английской лексики В Оксфордском словаре английского языка почти 450 000 слов! Но если вы учите язык как иностранный, их совсем не нужно запоминать все и сразу. Чтобы полноценно общаться на английском языке, вполне достаточно всего лишь 2000–3000 слов. При должном усердии и небольшом количе...

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

Ещё один велосипед: храним юникодные строки на 30-60% компактнее, чем UTF-8 Если вы разработчик и перед вами стоит задача выбора кодировки, то почти всегда правильным решением будет Юникод. Конкретный способ представления зависит от контекста, но чаще всего тут тоже есть универсальный ответ — UTF-8. Он хорош тем, что позволяет использовать все сим...

[Из песочницы] Получение видео из Tik Tok без водяного знака Добрый день, всем любителям habr. В этой статье я хочу поделиться с Вами как можно получить видео с Tik Tok без водяного знака, с помощью такого языка как PHP. В настоящее время Tik Tok набирает популярность и было бы не прилично не написать про него маленькую статейку, и ...

И мышонок, и лягушка. Универсальный Компилятор В серии про надежное программирование [1], [2] остался незаслуженно забытым Swift. Я, честно говоря, просто не считал его кроссплатформенным, а работающим исключительно для macOS/iOS. Тут случайно выяснилось, что Swift также поддерживается такой средой разработки, как Re...

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

[Перевод - recovery mode ] Scala 3: избавление от implicit. Extension-методы и неявные преобразования Это моя вторая статья с обзором изменений в Scala 3. Первая статья была про новый бесскобочный синтаксис. Одна из наиболее известных фич языка Scala — имплиситы (от англ. implicit — неявный — прим. перев.), механизм, который использовался для нескольких разных целей, наприм...

LabVIEW NXG 5.0 — Основы и Блок-Диаграмма Это первая статья из небольшого цикла о графическом языке программирования G, который используется в LabVIEW. Язык этот пока не очень популярен — по индексу TIOBE на май 2020 года LabVIEW находится на сороковом месте аккурат между Julia и Haskell. Выпуск LabVIEW Community Ed...

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

[Из песочницы] Создание упаковщика x86_64 ELF файлов под linux Введение В данном посте будет описано создание простого упаковщика исполняемых файлов под linux x86_64. Предполагается, что читатель знаком с языком программирования си, языком ассемблера для архитектуры x86_64 и с устройством ELF файлов. В целях обеспечения ясности из приве...

Google научился переводить с татарского. Google Translate впервые за четыре года расширил поддержку языков Компания Google объявила о расширении языковой поддержки для сервиса Google Translate (Google Переводчик).  Теперь Google Переводчик может работать с текстами на таких языках: руанда, ория или одия, татарский, туркменский и уйгурский. На этих языках говоря более ...

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

С стал языком года по версии TIOBE  Почему язык программирования C, которому уже 50 лет, все еще востребован? TIOBE  объясняет это растущей популярностью Интернета вещей (IoT) и огромным количеством небольших интеллектуальных устройств, которые выпускаются в настоящее время.

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

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

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

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

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

[Перевод] Финальные классы в PHP, Java и других языках Использовать финальные классы или не использовать финальные классы? Вот в чём вопрос. А еще в том, когда и как это делать правильно. Читать дальше →

[Перевод] Метаклассы в Python Метаклассы – это такие классы, экземпляры которых сами являются классами. Подобно тому, как «обычный» класс определяет поведение экземпляров класса, метакласс определяет и поведение классов, и поведение их экземпляров.Метаклассы поддерживаются не всеми объектно-ориентированн...

Проект Natasha. Набор качественных открытых инструментов для обработки естественного русского языка (NLP) Два года назад я писал на Хабр статью про Yargy-парсер и библиотеку Natasha, рассказывал про решение задачи NER для русского языка, построенное на правилах. Проект хорошо приняли. Yargy-парсер заменил яндексовый Томита-парсер в крупных проектах внутри Сбера, Интерфакса и РИА...

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

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

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

[Перевод] Языковая механика стеков и указателей Прелюдия Это первая из четырех статей в серии, которая даст представление о механике и дизайне указателей, стеков, куч, escape analysis и семантики значения/указателя в Go. Этот пост посвящен стекам и указателям. Оглавление цикла статей: Language Mechanics On Stacks And P...

[Перевод] Пол Грэм: «Краткость = сила» На 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...

[Из песочницы] Rust Embedded. Разработка под процессоры Cortex-M3 на примере отладочной платы STM32F103C8T6 (Black Pill) Привет! Хочу познакомить вас с проектом Rust Embedded. Он позволяет нам использовать язык программирования Rust для разработки под встроенные платформы (Embedded Linux / RTOS / Bare Metal). В этой статье, мы рассмотрим компоненты, которые необходимы для начала разработки п...

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

[Перевод] 4 революционных возможности JavaScript из будущего JavaScript, с момента выхода стандарта ECMAScript 6 (ES6), быстро и динамично развивается. Благодаря тому, что теперь новые версии стандарта ECMA-262 выходят ежегодно, и благодаря титаническому труду всех производителей браузеров, JS стал одним из самых популярных языков про...

Стоматологи назвали способ определить болезни по языку Стоматологи назвали способ определить болезни по языку. На нём может появляться различного характера налёт в зависимости от заболевания.

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

Машинное обучение без учителя. Отрывок из книги Привет, Хаброжители! Пока наши новинки печатаются в типографии, а офис сидит на удаленке, мы решили поделиться отрывком из книги Пола и Харви Дейтелов «Python: Искусственный интеллект, большие данные и облачные вычисления» Практический пример: машинное обучение без учителя,...

Как коронавирус влияет на языки программирования: рейтинг TIOBE Результаты мирового рейтинга популярности языков программирования на начало мая 2020.

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

Английский для айтишника: учебники, словари и подкасты, которые помогут вам выучить язык Привет, Хабр! Я собрала ряд материалов, которые помогут в изучении английского в сфере информационных технологий. Помните, что у каждой из профессий в сфере IT есть специфическая лексика. Учить все и сразу — не рационально. Тем не менее есть довольно широкий список базовой ...

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

Поиск Mail.ru будет отвечать на запросы в форме диалога Поисковая система Mail.ru приступила к тестированию нового механизма распознавания естественного языка пользователей – диалоговой речи.

Поиск Mail.ru будет отвечать на запросы в форме диалога Поисковая система Mail.ru приступила к тестированию нового механизма распознавания естественного языка пользователей – диалоговой речи.

Экосистема разработки в 2020 году: чем живут программисты в России и мире Привет, Хабр! В начале 2020 года мы провели уже четвертый ежегодный опрос о состоянии экосистемы разработки, чтобы выяснить, чем живут программисты, какие языки, технологии и инструменты они используют и как изменился мир разработки по сравнению с 2019 годом. Мы проанализиро...

Книга «Программирование на Rust» Привет, Хаброжители! Официальный гайд по языку программирования Rust поможет вам создавать более быстрое и надежное программное обеспечение. Высокоуровневая эргономика и низкоуровневое управление часто противоречат друг другу, но Rust бросает вызов этому конфликту. Авторы ...

[Перевод] Пол Грэм про Java и «хакерские» языки программирования (2001) Это эссе явилось развитием бесед с несколькими разработчиками на тему предвзятого отношения к Java. Это не критика Java, а скорее, наглядный пример «хакерского радара». Со временем, хакеры развивают нюх на хорошие — или же плохие — технологии. Полагаю, может оказаться инт...

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

Топ-12 самых интересных ИТишных динамических инфографик Динамические (развернутые во времени) гистограммы очень прикольные. Есть в них особая драма, борьба, накал страстей. Плюс к этому анимация дает особое понимание происходящего. все течет, все изменяется, неизменны только перемены… Инфографика/видеографика/динамическая статис...

RubyGems Digest 2020·09 Большая подборка информации о библиотеках языка Ruby за сентябрь 2020 года. Новости, включая русскоязычные источники. А так же полезные мнения и опыт разработки. Читать дальше →

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

Паскаль играет в Go. Реализация методов и интерфейсов в любительском компиляторе If I could export one feature of Go into other languages, it would be interfaces. — Russ Cox Мой предельно простой компилятор Паскаля уже становился предметом двух публикаций на Хабре. Со времени их написания язык обзавёлся всеми недостающими средствами, положенными станд...

[В закладки] Словарь внедрения CRM: 50 терминов, которые вам помогут Клиенту и разработчику довольно трудно найти общий язык: они мыслят разными категориями и оперируют разными терминами. Мы составили небольшой словарь наиболее распространённых понятий в мире CRM-систем, который поможет вам разговаривать с вендором на равных и даже немного на...

Umka. Жизнь статической типизации в скриптовом языке В своё время посты на Хабре и Reddit о статически типизированном скриптовом языке Umka вызвали весьма активную дискуссию. Прошедшие полтора месяца позволили мне избавиться от некоторых заблуждений, развить язык и дать чуть более вразумительные ответы на вопросы публики. ...

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

Технологии для проверки «Тотального диктанта»: что можно улучшить? Я состою в жюри World AI & Data Challenge. Это такой международный конкурс для разработчиков технологий для решения разных социальных задач, таких как борьба с бедностью, помощь людям с ограничениями слуха и зрения, улучшение обратной связи между человеком и государствен...

28 лет спустя. Microsoft хоронит Visual Basic Компания Microsoft раскрыла свои планы по поводу языка программирования Visual Basic. Многие разработчики начинали Visual Basic но, судя по всему, дни этого языка сочтены.  В официальном блоге команды .NET сообщается, что Microsoft не планирует больше развивать да...

Сбер выложил русскоязычную модель GPT-3 Large с 760 миллионами параметров в открытый доступ Последнее десятилетие в области компьютерных технологий ознаменовалось началом новой «весны искусственного интеллекта». Впрочем, ситуацию в индустрии в наши дни можно, наверное, охарактеризовать уже не как весну, а полноценное «лето ИИ». Судите сами, за последние неполные 10...

[Из песочницы] Адаптивное разбиение кривых Безье 2-го и 3-го порядка Уже год как я сменил работу на новую. В этой статье я хочу поделиться опытом, накопленным на прошлом месте. Здесь рассмотрены методы аппроксимации кривых Безье, а также обработка исключительных случаев, при которых простые алгоритмы показывают себя не очень хорошо. Все, ком...

RubyGems Digest 2020·10 Большая подборка информации о библиотеках языка Ruby за октябрь 2020 года. Новости, включая русскоязычные источники. А также полезные мнения и опыт разработки. Читать дальше →

[Перевод] Примеры GraphQL на Java для начинающих [со Spring Boot] В этой статье мы рассмотрим пример GraphQL на Java и создадим простой сервер GraphQL со Spring Boot. Таким цыпочкам тоже нравятся примеры GraphQL на Java со Spring Boot! GraphQL — это язык запросов для API, который позволяет клиентам запрашивать ограниченное множество данны...

[Перевод] Второй год Q# Прошло уже больше 2 лет с момента первого публичного выпуска языка квантового программирования Q#. К случаю годовщины ребята из команды Q# подготовили рассказ про второй год этого развития. Читайте о нем под катом! Читать дальше →

[Перевод] Учёные автоматизируют исследования поведения животных, чтобы декодировать работу мозга Машинное обучение и глубокие нейросети способны распознать и анализировать «язык поведения» животных способами, находящимися за пределами человеческих возможностей Для отслеживания движений животных в природной среде учёные всё чаще обращаются к методам машинного обучения (...

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

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

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

Вопросы развития открытого образования на русском языке обсудят участники Всероссийского семинара 12 и 13 марта 2020 года состоится Всероссийский семинар, на котором будут рассмотрены итоги проектов и программ по развитию русского языка, реализованных в 2019 году в рамках ведомственной целевой программы «Научно-методическое, методическое и кадровое обеспечение обучения р...

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

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

Интернет вещей по-русски. Многоканальная мощь физуровня базовой станции OpenUNB OpenUNB — продолжаем! И так, мы сформировали сигнал OpenUNB согласно проекту стандарта (исходники — на Гитхабе). Сигнал вылетел в эфир, показав нам свои прелести на приборе. Теперь нам нужно его конвертировать в цифровую форму, отделить от других возможных сигналов и от шума...

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

[Из песочницы] Расчет временных ограничений для ПЛИС простым языком Здравствуйте. Эта статья написана для самых-самых новичков в мире ПЛИС. В ней я попытаюсь максимально просто и понятно рассказать что такое временны́е ограничения (timing constraints), накладываемые на проекты под ПЛИС. Статья создана на основе собственного опыта попыт...

Книга «Android. Программирование для профессионалов. 4-е издание» Привет, Хаброжители! Познакомьтесь с возможностями программирования Android на языке Kotlin! Множество примеров приложений с четкими объяснениями ключевых концепций и API позволят легко разобраться в самых трудных задачах. Эта книга посвящена прикладным методам разработки ...

[Перевод] Проектирование C API C API все так же распространены, как и раньше. На C написано много библиотек или библиотек с предоставлением C API. Есть также биндинги для различных языков программирования, что делает язык C стандартом де-факто для переносимых API. Тем не менее многие API не соответствуют ...

Презентации WWDC и Platforms State of the Union доступны с субтитрами на русском языке Русский язык впервые включён в список языков, на которые переводятся основные события конференции WWDC. Перевод содержит точные термины, названия элементов пользовательского интерфейса и многое другое.

Podlodka #146: Изучение английского языка Так сложилось, что английский язык – это де-факто язык международного общения. А еще, так сложилось, что английский – основной язык в IT.

Про фразовые глаголы Фразовые глаголы английского языка гораздо проще, чем кажутся. Они работают точно так же, как в русском языке приставки. Выдающийся советский актёр Зиновий Гердт, узнав однажды о недостойном поступке, совершённом знакомым ему писателем, сказал: «Разрешите с вами раззнакомить...

Назад к истокам: рулим компьютером прямо из MBR Разворачивал в очередной раз Linux-образ на USB-drive (почему-то им оказался Manjaro, но это совсем другая история), и в голову пробрались странные мысли: BIOS увидел флешку, а дальше-то что? Ну да, там MBR, скорее всего GRUB и… А раз в MBR затесался чей-то кастомный код, зн...

[Перевод] 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, как и многие активно используемые сегодня языки, поставляется со с...

[Перевод] Выбираем лучший бэкенд-фреймворк 2021 года Недавно мы опубликовали статью, автор которой размышлял о том, какой язык программирования, JavaScript, Python или Go, лучше всего подойдёт для бэкенд-разработки в 2021 году. Сегодня мы представляем вашему вниманию перевод ещё одного материала того же автора. Здесь он пытает...

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

16 советов по разработке для андроид на языке Kotlin. Часть 3 И еще раз здравствуйте! В преддверии старта базового курса по Android-разработке, делимся заключительной частью статьи «16 советов по разработке для андроид на языке Kotlin». Читать первую часть Читать вторую часть LATEINIT Одной из ведущих особенностей Kotlin является е...

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

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

Генерация типизированных ссылок на элементы управления Avalonia с атрибутом x:Name с помощью C# SourceGenerator В апреле 2020-го года разработчиками платформы .NET 5 был анонсирован новый способ генерации исходного кода на языке программирования C# — с помощью реализации интерфейса ISourceGenerator. Данный способ позволяет разработчикам анализировать пользовательский код и создавать...

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

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

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

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

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

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

[Перевод] DataHub с открытым исходным кодом: платформа поиска и обнаружения метаданных от LinkedIn DataHub с открытым исходным кодом: платформа поиска и обнаружения метаданных от LinkedIn Быстрый поиск нужных данных необходим для любой компании, которая полагается на большое количество данных для принятия решений на основе этих данных. Это не только влияет на продуктивнос...

[Из песочницы] Расширенный HTML В этой статье хотел бы рассказать немного про библиотеку, первую версию которой я создал еще в конце прошлого года. Суть очень простая — расширить возможности языка HTML, чтобы можно было без JavaScript'а писать простые и рутинные вещи: отправка формы в json формате, загрузк...

Нескучный Data Science. Пишем на языке R собственный детектор спама Для подписчиковРаботать в Data Science, как ты мог слышать, – престижно и денежно. В этой статье я познакомлю тебя с азами языка R, который используют в «науке о данных». Конструируя программу, ты увидишь, как сухая скучная математика может быть вполне наглядной и полезной, ...

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

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

PHP-Дайджест № 193 (16 – 30 ноября 2020) Парад релизов: обновление языка — PHP 8.0, а также Xdebug 3, DBAL 3.0, Bref 1.0, Symfony 5.2, Flysystem 2.0. Первый принятый RFC для PHP 8.1, долгосрочная поддержка PHPUnit, порция полезных инструментов, подкасты, стримы, статьи. Приятного чтения! Читать дальше →

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

Google научился переводить с татарского. Google Translate впервые за четыре года расширил поддержку языков Компания Google объявила о расширении языковой поддержки для сервиса Google Translate (Google Переводчик).  Теперь Google Переводчик может работать с текстами на таких языках: руанда, ория или одия, татарский, туркменский и уйгурский. На этих языках ...

Русский язык включён в список основных языков поддержки RIPE NCC 9-13 ноября проходит онлайн-конференция ENOG 17. Открыл мероприятие Ханс Петтер Холен (Hans Petter Holen), управляющий директор RIPE NCC; он рассказал о том, какие сложности в работе были связаны с пандемией, и подчеркнул, как быстро и легко коллеги перешли на виртуальное об...

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

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

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

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

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

[Перевод] Новости из мира OpenStreetMap № 500 (11.02.2020-17.02.2020) Wochennotiz / weeklyOSM – Issue # 500 | Thank you О нас Вышел 500-й выпуск нашего еженедельного новостного проекта. Всё началось 23 июля 2010 года с небольшой заметки, в которой содержалось всего 14 новостей. Редакция проекта благодарит всех читателей, которые поддержива...

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

Распознавание текста на картинке с помощью tesseract на Kotlin Ни для кого не секрет, что Python прочно занял первенство в ML и Data Science. А что если посмотреть на другие языки и платформы? Насколько в них удобно делать аналогичные решения? К примеру, распознавание текста на картинке. Читать дальше →

[Из песочницы] Падение популярности PHP: не все так однозначно? Привет, Хабр! Представляю вашему вниманию перевод статьи "PHP in decline: The rise and fall of a programming language" автора Сара Шлотхауэр (Sarah Schlothauer). Когда-то PHP был одним из самых популярных языков программирования, однако на сегодняшний день он продо...

[Перевод] Это не легаси-код, это PHP За последний год разработчики Vimeo писали код бэкенда на множестве языков — PHP, Go, Ruby, Python, NodeJS, Java, C, C++ и немного на Rust. В 2004 году мы начинали всего с одного: PHP. Это был идеальный язык для новых стартапов наподобие Vimeo. Интерпретатор PHP позволял ...

Бесплатные тренинги по Microsoft Azure в октябре Примите участие в Microsoft Virtual Training Days и найдите множество возможностей для развития вашей организации и построения вашей личной карьеры. Еженедельные мероприятия для специалистов с любым уровнем навыков — это возможность: бесплатно стать сертифицированным спец...

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

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

[Перевод] Чистый код для TypeScript — Часть 3 Заключительная часть статей, посвященных тому, как можно использовать принципы чистого кода в TypeScript(ps. Все эти принципы относятся не только к языку TypeScript). Читать дальше →

Apple приобрела разработчика ПО, улучшающего работу голосовых помощников Сегодня стало известно о том, что купертновцы приобрели ирландскую компанию Voysis. Ее сотрудники занимались созданием механизмов, позволяющих голосовым ассистентам лучше понимать естественный язык людей.Читать дальше... ProstoMAC.com.| Постоянная ссылка | No comment Вы та...

ООП в языке R (часть 2): R6 классы В прошлой публикации мы разобрали S3 классы, которые являются наиболее популярными в языке R. Теперь разберёмся с R6 классами, которые максимально приближённые к классическому объектно ориентированному программированию. Читать дальше →

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

[Из песочницы] Nuxt + Django + GraphQL на примере Предисловие Nuxt — "фреймворк над фреймворком Vue" или популярная конфигурация Vue-based приложений с использованием лучших практик разработки на Vue. Среди них: организация каталогов приложения; включение и преконфигурация самых популярных инструментов в виде Nux...

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

MikroTik Скрипт: Массовое создание VPN (PPP) пользователей, из csv файла Не самая частая задача на устройствах MikroTik - одномоментное создание большого количества VPN/PPP  пользователей. Но когда она возникает, это превращается в очень скучное и нудное дело, что следует исправить. Импортируем PPP пользователей из CSV файла, на устройство M...

Очереди на очереди: Magento 2 + RabbitMQ Привет! Меня зовут Павел и я Magento 2 бэкенд-разработчик. Когда-то давно, когда я только начинал знакомство с Magento 2 (для краткости буду называть ее M2), мне понадобилось автоматизировать обработку однотипных событий при разработке одного решения. Тогда я удивился, наско...

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

Google Переводчик получил поддержку 5 новых языков Команда Google Translate объявила о добавлении в приложение поддержки 5 новых языков. Это первое обновление такого рода за последние четыре года. Среди новых языков значатся киньяруанда, одия, татарский, туркменский и уйгурский. В мире на них разговаривают около 75 млн челов...

Что такое Windows PowerShell и с чем его едят? Часть 2: введение в язык программирования Исторически утилиты командной строки в Unix-системах развиты лучше чем в Windows, однако с появлением нового решения ситуация изменилась. Читать дальше →

[Из песочницы] Распараллеливаем код в R за пару минут Если верить стереотипам, то язык R – это что-то узкоспециализированное для статистики и машинного обучения. Второй стереотип – что код на чистом R не очень быстрый: во-первых, потому что интерпретируемый, во-вторых, потому что исполняется последовательно. Безусловно, стереот...

Как оптимизировать изучение английского Ни для кого не секрет, что знание английского на хорошем уровне — уже must-have для современного человека. В нынешней реальности с бешеным темпом жизни, напряженной работой и попыткой найти work-life balance, чтобы выучить язык чаще всего приходится прибегать к помощи репе...

Потерянные буквы английского языка: куда они исчезли и при чем тут Илон Маск В современном английском языке 26 букв, а раньше было больше. Как упрощение скосило целый ряд букв и как век назад звучала песенка об английском алфавите, читайте в этом материале. Читать дальше →

Легкости перевода. Cisco Webex получит поддержку русского языка Уже в начале 2021 года платформа для корпоративных коммуникаций Cisco Webex научится вести синхронный перевод видеоконференций с иностранного на русский язык и составлять протокол встречи для русскоязычной аудитории. Это – только одна из более чем 50 инноваций, которые компа...

Язык запросов для TSDB. Улучшаем PromQL (Александр Валялкин, VictoriaMetrics) Добрый день! Сегодня я вам расскажу немного про PromQL. Это язык запросов для time-series баз данных. Затем расскажу, как мы его усовершенствовали в разрабатываемой нами time-series базе данных VictoriaMetrics. Читать дальше →

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

Популярная лингвистика. Часть 1. Маме — пиджин, детям — креол Если вам интересно, что такое пиджин и чем он отличается от креола, на каком языке общаются пришельцы и откуда есть пошёл дотракийский язык, то этот небольшой цикл статей для вас. Читать дальше →

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

Разработка под iOS и Android: рейтинг языков программирования 2020 Разработка приложений под iOS и Android уже давно стала мейнстримом, но обилие языков по прежнему смущает начинающих разработчиков. Вы хотите стать мобильным разработчиком, но не знаете какой язык программирования выбрать? Не знаете на чем писать свое мобильное приложение дл...

Новая надстройка Arria для Power BI доступна на Microsoft AppSource Arria NLG  анонсирован выход новой эффективной версии  Arria для Power BI – надстройки, позволяющей пользователям Microsoft Power BI работать с интеллектуальными комментариями на базе системы генератора естественного языка (NLG).  До настоящего времени ра...

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

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

Использование Obj библиотек в KolibriOS в языках высокого уровня Вступление В KolibriOS системные библиотеки имеют формат MS COFF и расширение Obj. В этой статье будет рассказано как их импортировать и использовать в C--, GCC и TinyC. Читать дальше →

Почему батарейки кислые на вкус Все, кто пробовал прислонять к языку батарейку «Крона», наверняка знают ее кислый вкус. Неужели это «вкус электрического тока» или на языке образуется кислота? Источник

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

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

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

Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio Авторы: Андрей Карпов, khandeliants Филипп Хандельянц. Хочется поделиться интересной ситуацией, когда вопрос, используемый нами на собеседовании, оказался сложнее, чем задумывал его автор. С языком C++ и компиляторами надо всегда быть начеку. Не заскучаешь. Читать дальше &r...

Определяем язык текста. Сложный случай Источник изображения: AnnaElli Система «Антиплагиат» работает с текстами на разных языках. Большинство работ, поступающих на проверку, написаны на русском, английском или казахском языках. Сейчас индекс «Антиплагиата» содержит документы более чем на 50 языках. Читать дальш...

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

[Перевод] Эндрю Ын «Страсть к машинному обучению». Перевод глав 36-46 Три года прошло с момента публикации первых глав книги Эндрю Ына (Andrew Ng) «Machine Learning Yearning». Если вы подписаны на хаб «Машинное обучение», то нет никакой нужды представлять вам её автора и скорее всего саму книгу вы уже давно прочитали на языке первоисточника. П...

Semantris от Google: как ИИ помогает учить английский играючи В 2016 году Уилл Найт, исследователь искусственного интеллекта из Массачусетского технологического института, писал, что «Машины, которые понимают естественные языки, были бы крайне полезны. Но мы не знаем, как их создать». С тех пор многое изменилось. Искусственный интел...

Google BERT в поиске на всех языках охватывает около 10% запросов Сотрудник Google Дэнни Салливан прояснил в Twitter, что глобальный запуск BERT не повлиял на долю охватываемых им запросов. Как и на английском языке в США, в других языковых версиях поисковой системы BERT влияет на примерно 10% запросов. «Это зависит от языка, но в целом со...

Первый в мире язык программирования на классическом китайском Выпускник Университета Карнеги-Меллона (США) и уроженец Шанхая Линдун Хуан разработал новый язык программирования, основанный на старинном классическом китайском языке. То, что задумывалось как личный проект, хобби, привлекло к себе широкое внимание пользователей. Хуан не ус...

[Перевод] Сортировка в Scala — пример на кошках Привет, Хабр! Выношу на ваш суд русскоязычный перевод моей статьи на Medium: Sorting in Scala — a cat shop example. Статья рассчитана на читателей, знающих синтаксис языка Scala и осведомлённых о базовых инструментах стандартной библиотеки. Читать дальше →

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

Security Week 18: текстовая бомба для iOS Если из разных видов уязвимостей собрать воображаемый сборник лучших хитов, то различного рода ошибки обработки ввода займут там лучшие места. Одним из древнейших способов вывода программы или всей системы из строя является zip-бомба — архив небольшого размера, который разво...

Простой веб сервер для SPA/PWA за «5 минут» Как создать Простой веб-сервер, используя только стандартные инструкции nodejs Часто для разработки MPA/SPA/PWA приложений требуется простой веб-сервер. Однажды, на одном большом митинге в ответ на вопрос: «Что ты делал?», я сказал, что поднимал веб-сервер для хостинга PWA п...

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

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

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

PHP-Дайджест № 174 (10 января – 24 февраля 2020) Свежая подборка со ссылками на новости и материалы. В выпуске: 5 новых RFC из PHP Internals, а также предложение по развитию языка и пара прототипов новых фич в виде пул-реквестов, порция полезных инструментов, видео, подкасты и многое другое. Приятного чтения! Читать даль...

Swift 5.2. Обзор всех изменений В конце марта вышел релиз Swift 5.2 для Xcode 11.4 beta. В нём улучшена диагностика ошибок, анализ зависимостей, расширен функционал SwiftPM. Обзор некоторых изменений уже был опубликован на Хабре, в этой же статье рассмотрена эволюция самого языка с возможными примерами исп...

[Перевод] О нет! Моя Data Science ржавеет Привет, Хабр! Предлагаем вашему вниманию перевод интереснейшего исследования от компании Crowdstrike. Материал посвящен использованию языка Rust в области Data Science (применительно к malware analysis) и демонстрирует, в чем Rust на таком поле может посоперничать даже с Nu...

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

В «osu!» играй, про ошибки не забывай Приветствуем всех любителей экзотических и не очень ошибок в коде. Сегодня на тестовом стенде PVS-Studio достаточно редкий гость – игра на языке C#. А именно – «osu!». Как обычно: ищем ошибки, думаем, играем. Читать дальше →

Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) Возвращаемся к работе с новым дайджестом — в нем роутинг и компоненты, интеграционные тесты и языки программирования, годовой отчет App Annie и улучшения Duolingo. Читать дальше →

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

Google BERT в поиске на всех языках охватывает около 10% запросов Сотрудник Google Дэнни Салливан прояснил в Twitter, что глобальный запуск BERT не повлиял на долю охватываемых им запросов.Как и на английском языке в США, в других языковых версиях поисковой системы BERT влияет на примерно 10% запросов.«Это зависит от языка, но в целом соот...

У некоторых пользователей Edge Chromium устанавливается на неправильном языке Сегодня состоялся официальный релиз нового браузера Microsoft Edge на базе Chromium, который вы уже можете скачать с официального сайта. Однако запуск прошёл не совсем гладко. Некоторые пользователи сообщают о том, что браузер устанавливается на другом языке. Компания Micro...

Как выбрать идеальный монитор: 4 момента на которые нужно обратить внимание Если не хотите утруждаться выбором монитора, – просто берите универсальный ноутбук и радуйтесь жизни! Или прочитайте нашу статью, в которой мы простым языком расскажем, как выбрать монитор с учетом индивидуальности ваших ежедневных задач. Читать полную статью

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

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

ТЕСТ: Что такое реноме? А анфилада? Определите значение редких слов! В русском языке есть множество слов, значение которых мы вроде бы и знаем, но всё равно чуть-чуть сомневаемся. Как реагировать, когда кто-то рядом восклицает «Вот это эскапада!», на что обращать внимание, если экскурсовод вдруг упоминает анфиладу, и стоит ли опасаться панеги...

Sealed типы в Java Язык Java с недавнего времени стал активно развиваться. Шестимесячный релиз версий Java не может не радовать Java разработчика новыми фичами. Одним из приоритетных направлений развития Java является сопоставление с образцом (pattern matching). Pattern matching раскрывают п...

«Hadoop. ZooKeeper» из серии Технострима Mail.Ru Group «Методы распределенной обработки больших объемов данных в Hadoop» Предлагаю ознакомиться с расшифровкой лекции "Hadoop. ZooKeeper" из серии "Методы распределенной обработки больших объемов данных в Hadoop" Что такое ZooKeeper, его место в экосистеме Hadoop. Неправда о распределённых вычислениях. Схема стандартной распре...

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

Билингва платформы 1С – почему мы программируем на двух языках Аннотация. Статья является первой (будем надеяться) в цикле, повествующем о тех концептуальных и практических аспектах платформы «1С: Предприятие», которые представляются автору интересными и очень важными, но пока еще не нашедшими четкого отражения в технической публицистик...

[Из песочницы] Почему в 2020 году мы по-прежнему выбираем Ruby? Привет, Хабр! Представляю вашему вниманию перевод статьи «Why is Ruby still our choice in 2020?» автора Vira Vashkovska. Мы — опытная команда Ruby on Rails разработчиков. Некоторые из нас занимаются разработкой на Ruby уже многие годы и знают его как свои пять пальцев. Вот ...

В нативный код из уютного мира Java: путешествие туда и обратно (часть 1) Java и другие управляемые языки просты и удобны во многих случаях, но иногда их возможностей недостаточно — например, если нужна библиотека, написанная только на C или C++. Иногда хочется позвать пару методов из системного API, или попытаться улучшить производительность для...

[Из песочницы] Предлагаю подумать: как технологии могут помочь бороться с пропагандой в СМИ? Фотограф: Аркадий Шайхет. Вступление Эту статью можно разделить на две логические части. В первой я рассматриваю феномен медиапропаганды: что это такое, почему она опасна и к каким жутким вещам уже приводила в истории. Я подробно рассмотрю механизмы работы современной гос...

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

ТЕСТ: Определите значения устаревших слов! Давным-давно люди называли предметы, явления и действия совсем другими словами. Язык менялся, какие-то выражения совсем перестали использоваться в речи, а у некоторых появились более понятные нам синонимы. В этом тесте мы собрали забавные устаревшие словечки и предлагаем вам...

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

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

Как писать музыку на Python — помогут три тематические библиотеки (для специалистов разного уровня) Продолжаем тему музыкального программирования — ранее мы говорили о языках Csound, SuperCollider и Pure Data, а сегодня рассказываем Python и библиотеках FoxDot, Pippi и Music-Code. Читать дальше →

Язык программирования Mash http://mash-project.org https://github.com/RoPi0n/mash-lang Mash? Это язык императивный язык программирования с динамической типизацией, сборкой мусора, ООП и поддержкой многопоточности. Интересно? Тогда под кат! :) Читать дальше →

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

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

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

Чемпионат по выполнению теста Кнута Еще в 1964 году известный специалист Дональд Кнут предложил простой тест [1], названный им «Man or boy?» (в вольном переводе «взрослый или детский?») для проверки трансляторов с языка Алгол-60.Тест выглядел так: Читать далее

Что значит быть Agile? Agile Манифест был опубликован в 2001 году. Он определил ценности и принципы, на основе которых всё множество практик, использовавшихся в разработке программного обеспечения, как новых, так и ранее существовавших, было разделено на две части – Agile практики и не-Agile практ...

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

Читаете и читаете новости о пандемии, не в силах остановиться? Это «doomscrolling» В английском языке появился новый термин: «doomscrolling» («ужасолистание») - привычка читать, читать и читать страшные новости. Залипать, не ложиться спать, и не работать.

Дайджест IT-событий марта Как всегда, отмечаем начало месяца сводкой готовящихся событий для разработчиков. С приближением весеннего равноденствия в IT-сообществе также устанавливается редкое равновесие — в этом выпуске хватает всего: языков разработки, data science, хакатонов, тестирования. Читат...

Дайджест интересных материалов для мобильного разработчика #367 (19 — 25 октября) В этом выпуске две истории инди-разработки игр, языки программирования внутри iOS, большие картинки внутри Android, ошибки разработчиков и дизайна кнопок, траты зумеров и монетизация маленьких приложений. Читать дальше →

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

[Из песочницы] SwiftUI по полочкам Каждый раз, когда в языке программирования появляется новый Фреймворк, рано или поздно, появляются люди, которые изучают язык именно с него. Вероятно так было и в IOS разработке во времена появления Swift: поначалу он рассматривался как дополнение к Objective-C — но я этого ...

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

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

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

[Перевод] JavaScript исполнилось 25 лет 4 декабря 2020 года JavaScript исполнилось 25 лет. Автор материала, перевод которого мы сегодня публикуем, Даниэль Адамс, говорит, что этот язык повлиял на её карьеру, а так же — на профессиональную деятельность многих программистов. JavaScript повлиял и на то, как обычные л...

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

Мне кажется, дело не в языке, а в том, как на нем пишут «Летом между 2 и 3 курсом я пошла искать работу — а в Новосибе того времени почти все вакансии для ребята без опыта были про PHP. Начинала с очень простых вещей — WordPress, Drupal… Потом писала бэкенды на Yii и много еще разного. Go впервые попробовала в 2014-м, вдохновивши...

Кастомизация календаря на PyQt5 Сегодня столкнулся с простой на первый взгляд задачей: в виджете календаря на PyQt5 сделать так, чтобы сегодняшняя дата обводилась зеленой рамкой. Но оказалось, что на русском языке материалов на эту тему вообще нет, а на английском - только один вопрос на stackoverflow. Реш...

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

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

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

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

Разработка приложений и Blue-Green deployment опираясь на методологию The Twelve-Factor App с примерами на php и docker Для начала немного теории. Что такое The Twelve-Factor App? Простыми словами, это документ призванный упростить разработку SaaS приложений, помогает тем что, осведомляет разработчиков и DevOps инженеров о проблемах \ практиках которые чаще всего встречались в разработке со...

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

О конкурентном корутинизме (на примере реактивного программирования) 1. Введение Конкурентная борьба за умы, настроения и чаяния программистов является, как мне представляется, современным трендом развития программирования. Когда почти не предлагается ничего нового, хотя и под лозунгом борьбы за него. Распознать в толчее программных парадигм ...

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

Wasm в Armory Engine Для тех кто в танке - wasm или WebAssembly это язык программирования низкого уровня для виртуальной стековой машины раз разработанный как портативная цель компиляции для высокоуровневых языков, таких как Си, C++, C#, Rust, Go. Проще говоря вы можете ...

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

Mash — язык программирования, компилирует сам себя Приветствую всех в новом 2020-м году. С момента публикации первого поста про Mash прошел практически ровно 1 год. За этот год язык был сильно доработан, были продуманы многие его аспекты и определен вектор развития. Этим всем я рад поделиться с сообществом. Читать даль...

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

Заменяем события C# на Reactive Extensions с помощью кодогенерации Недавно прошла приуроченная к выходу .NET 5 конференция .NETConf 2020. На которой один из докладчиков рассказывал про C# Source Generators. Поискав на youtube нашел еще неплохое видео по этой теме. Советую их посмотреть. В них показывается как во время написания кода разрабо...

Фильм о технологиях производства электроники: от легирования кремния, до сборки компьютера Я перевёл на русский язык фильм Silicon Run II (Кремниевый забег, часть 2), в котором очень интересно и наглядно показаны этапы производства современной электроники. Видеоряд почти целиком состоит из съёмок реальных производственных линий, многие из которых не найти в других...

LEGO Education WeDo 2.0 и Scratch — новая связка для обучения детей робототехнике Привет, Хабр! Несколько лет обучающий набор LEGO Education WeDo 2.0 и детский язык Scratch развивались параллельно, но в начале этого года у Scratch появилась поддержка физических объектов, в том числе и модулей LEGO Education. О том, как можно использовать эту связку для об...

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

Эксперименты с микроконтроллерами в Jupyter Notebook Jupyter Notebook — любимый инструмент-среда для data scientist'ов, аналитиков, инженеров, математиков, студентов и даже для нас — самых обычных ученых в экспериментальной физике. Этот инструмент предназначен для работы с интерпретируемыми языками и удобного графического пре...

Атрибут cleanup Цитата из документации GCC [1]: Атрибут cleanup предназначен для запуска функции, когда переменная выходит из области видимости. Этот атрибут может быть применён только к auto-переменным, и не может быть использован с параметрами или с static-переменными. Функция должна прин...

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

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

[Перевод] Кунг-фу стиля Linux: великая сила make Со временем Linux (точнее — операционная система, которую обычно называют «Linux», представляющая собой ядро Linux и GNU-инструменты) стала гораздо сложнее, чем Unix — ОС, стоящая у истоков Linux. Это, конечно, неизбежно. Но это означает, что тем, кто пользуется Linux уже да...

Металингвистический совратитель Си. Опус II: Рекуррентный экстаз >> Осторожно, модерн! 2 — 0.2. Пропажа заначки Год назад, в 15 лет, меня озадачила проблема compile-time имитации алгебраических типов данных в чистом Си. Для этого я создал poica — исследовательский язык на макросах. Серия этих опусов — логическое продолжение моего и...

Бьярне Страуструп о контроле над языком, удалении старых функций, заимствованиях у Rust и многом другом Этим летом на онлайн-конференции C++ Russia побывал самый почетный гость, какой только может быть на мероприятии по C++: создатель этого языка Бьярне Страуструп. Мы поговорили с ним о контроле над языком, нововведениях, удалении старых функций, о том, почему у языка нет четк...

Большая роль «маленького разговора» О чем вы обычно думаете, когда встречаете кого-то впервые на работе / в лифте или когда вам предстоит сложный телефонный разговор с недовольным клиентом? Большинство носителей английского языка ответили бы: small talk. Как говорится, “Good beginning is half the battle!” (Хор...

C++ быстрее и безопаснее Rust, Yandex сделала замеры Недавно я пытался заманить коллегу, сишника из соседнего отдела, на Тёмную сторону Rust. Но мой разговор с коллегой не задался. Потому что, цитата: В 2019 году я был на конференции C++ CoreHard, слушал доклад Антона antoshkka Полухина о незаменимом C++. По словам Антона, Rus...

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

.NET Community Meetup 29/10 Будем рады встретиться онлайн на .NET Community meetup. Подключайтесь к нам 29 октября общаться и дискутировать: затронем тему дизайна и использования асинхронного Success/Failure-пайплайна в микросервисах и погрузимся в историю языков программирования — что позаимствовали а...

Зачем программистам психотерапия и как устроен алгоритм подбора идеального терапевта Четырнадцатого октября прошёл прямой эфир с главным евангелистом mental health в нашей IT-тусовке — создатель языка Kotlin и основатель стартапа Alter Андреем Бреславом. Делимся с вами расшифровкой и записью интервью Читать дальше →

Ведение разработки БД. Шаблоны создания/изменения объектов MSSQL При постоянной работе с MSSQL необходимо создавать различные объекты БД: таблицы, представления, триггеры и т.д. В статье приведу шаблоны SQL запросов, которые помогут, и, возможно, стандартизируют подход создания кода на языке T-SQL. Кроме этого, опишу о том, как я веду ре...

Гидродинамическое моделирование (CFD) на рельефе с помощью MantaFlow и визуализация результатов в ParaView Дисциплина Computational fluid dynamics(CFD) или, на русском языке, Вычислительная гидродинамика изучает поведение различных потоков, в том числе вихревых. Это и моделирование цунами, и лавовых потоков, и выбрасываемых из жерла вулкана камней вместе с лавой и газами и многое...

[Перевод] Независимый HttpBench для D, или врут ли тесты TechEmpower? Простой фреймворк для тестирования HTTP-серверов, вдохновленный Simple Web Benchmark (Прим.пер.Там есть график для многих других языков), но сфокусированный на dlang фреймворках и библиотеках. Он измеряет достижимый RPS (запросы в секунду) в сценарии простого текстового отве...

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

[Перевод] Руководство Google по стилю в C++. Часть 10 Часть 1. Вступление … Часть 9. Комментарии Часть 10. Форматирование … Эта статья является переводом части руководства Google по стилю в C++ на русский язык. Исходная статья (fork на github), обновляемый перевод. Читать дальше →

std::atomic. Модель памяти C++ в примерах Для написания эффективных и корректных многопоточных приложений очень важно знать какие существуют механизмы синхронизации памяти между потоками исполнения, какие гарантии предоставляют элементы многопоточного программирования, такие как мьютекс, join потока и другие. Особен...

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

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

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

Индийский политик записал свой предвыборный ролик на разных языках при помощи технологии дипфейк Индийский политик Манодж Тивари из партии БДП воспользовался технологией дипфейк, чтобы записать свой предвыборный ролик на разных языках. В оригинальном видео Тивари говорит на хинди, в сфабрикованных — на английском языке и на харианви, диалекте хинди. Дипфейки с участием ...

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

Создаем graphql бекенд на Golang Сегодня мы будем разрабатывать приложение на Golang + GraphQL. Мы часто используем GraphQL на своих проектах и знаем о нем немало, использовали его вместе с различными языками программирования: Javascript, Ruby и теперь руки дошли и до того чтобы попробовать связку Golang G...

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

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

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

Созерцание великого фрактального подобия (с) «Галактика галактик» Фракталы — не просто красивое природное явление. Согласно проведенным исследованиям, рассматривание фрактальных структур на 60 % повышает стрессоустойчивость, измеряемую на основе физиологических показателей. При созерцании фракталов в лобной коре...

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

[Перевод] Руководство Google по стилю в C++. Часть 2 Часть 1. Вступление Часть 2. Заголовочные файлы … Все мы при написании кода пользуемся правилами оформления кода. Иногда изобретаются свои правила, в других случаях используются готовые стайлгайды. Хотя все C++ программисты читают на английском легче, чем на родном, приятн...

[Из песочницы] Простой Telegram-бот на Flask с информированием о погоде Всем привет, в этой статье я расскажу как сделать простейшего телеграмм бота на Python для отправки текущей погоды в Москве. Статья расчитана на новичков в Python, которые бы хотели узнать больше о том, как взаимодействовать с внешними сервисами по API. Технологии и API: Py...

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

[Из песочницы] Способы реализации API-сервера на Golang с автогенерацией кода и документации Я бы хотел в этой статье рассказать вам о том как можно быстро и просто сделать веб сервер на языке Golang с документацией к нему. И о том какие есть подходы и инструменты для их реализации Сегодня мы разберем эти готовые инструменты: swagger-api/swagger-codegen go-swagger/...

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

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

Линтер на все случаи жизни — GitHub Super Linter Команда DevOps инженеров из GitHub поделились своим универсальным решением для проверки качества кода. С ним можно настроить линтер для 17 языков всего в 11 строк: name: Lint Code Base on: push: branches-ignore: - 'master' jobs: linter: runs-on: ubuntu-lat...

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

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

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

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

[Перевод] Назад в Будущее: какие подходы NLP будут востребованы на NIPS 2020 Стремительно и неотвратимо приближается ключевое событие года в области Data Science: конференция NIPS 2020, запланированная на 6-12 декабря 2020. Традиционно на самом масштабном событии года будут представлены значимые результаты, свежие идеи и перспективные подходы в разли...

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

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

[Перевод] Вы уверены, что пишете объектно-ориентированный код? Мы, PHP-разработчики, горды тем, что пишем на ООП-языке (можно легко здесь заменить PHP на C#, Java или другой ООП-язык). Каждая вакансия содержит требования про знание ООП. В каждом собеседовании спрашивают что-нибудь про SOLID или трех "китов" ООП. Но когда дело ...

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

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

Методы организации DI и жизненного цикла приложения в GO Есть несколько вещей, которыми можно заниматься вечно: смотреть на огонь, фиксить баги в легаси-коде и, конечно, говорить о DI — и всё равно нет-нет, да и будешь сталкиваться со странными зависимостями в очередном приложении. В контексте языка GO, впрочем, ситуация чуть слож...

Новая надстройка Arria для Power BI доступна на Microsoft AppSource Arria NLG  анонсирован выход новой эффективной версии  Arria для Power BI – надстройки, позволяющей пользователям Microsoft Power BI работать с интеллектуальными комментариями на базе системы генератора естественного языка (NLG).  До настоящего времени ра...

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

Какой язык выбрать для работы с данными R или Python? Оба! Мигрируем с pandas на tidyverse и data.table и обратно По запросу R или Python в интернете вы найдёте миллионы статей и километровых обсуждений по теме какой из них лучше, быстрее и удобнее для работы с данными. Но к сожалению особой пользы все эти статьи и споры не несут. Цель этой статьи — сравнить основные приёмы обработки д...

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

Автоматизируем локализацию макетов в Figma В один прекрасный момент наши дизайнеры решили, что пора обновить обложки нашего приложения в Apple Store и Google Play. На всех 17 языках. Это история про то, как нырнуть в незнакомый язык программирования, незнакомую платформу и незнакомую задачу, собрать много всего инте...

ADAM-6700 —универсальный модуль связи с объектом на базе Linux Модули серии ADAM — самый узнаваемый продукт нашей компании. Запущенные в далеком 1992 году, они постоянно развиваются, сохраняя классический узнаваемый дизайн. Сегодня это мощные многофункциональные устройства, совмещающие в себе сразу несколько классов приборов для решен...

[Из песочницы] Как развивались комментарии к коду с 1940-х до 2020 года А никак они не развивались. С самых первых языков программирования и по сей день комментарии коду — это всего лишь статичный текст (за некоторыми исключениями, о которых я расскажу). Ну а что там еще можно улучшить или придумать — спросите вы. Давайте поразмышляем на эту...

Как выпускать продукты непрерывно на 20 языках и не умереть? В этой статье мы расскажем, как мы переводили локализацию мобильных проектов в Smartcat, какие изначально у нас были боли и как мы с ними справились. Кто мы Привет всем! Мы — Екатерина Галицкая и Дарья Егорушкина из «Лаборатории Касперского» (отдел документации и локализац...

О полезности contextvars В Python есть множество возможностей и языковых конструкций. Какие-то мы используем каждый день, а о некоторых даже опытные программисты узнают с удивлением после нескольких лет работы с языком (привет, Ellipsis!). Совсем недавно вышел Python 3.9, но в этой статье я расскаж...

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

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

[Перевод] 25 лучших репозиториев GitHub для разработчиков Python Согласно опросу разработчиков на StackOverflow в 2020 году*, Python — один из самых любимых языков в мире. Что еще более интересно, Python — это язык, который разработчики больше всего хотят попробовать в своей работе. Если вы один из тех, кто использует Python и хочет прока...

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

Эмилия Кларк рассказала о дотракийском языке Хотя ее персонаж весь сериал говорил на вымышленном дотракийском языке, последний монолог отнял все силы актрисы. «Я знала, что эти слова очень важны, и я много времени потратила на то, чтобы их запомнить, — рассказала Кларк порталу NME, — впервые за весь период съемок в «Иг...

Пишем прошивку под TI cc2530 на Z-Stack 3.0 для Zigbee реле Sonoff BASICZBR3 с датчиком ds18b20 Предполагается, что читатель уже имеет начальные знания языка C, что-то знает о Zigbee, чипе cc2530, методах его прошивания и использования, а также знаком с такими проектами, как zigbee2mqtt. Если нет — подготовьтесь или сходите почитать на https://myzigbee.ru и https://w...

[Перевод] Разбираем WTF задачки в JavaScript JavaScript язык особенный. Сколько его не изучай, всегда найдутся моменты, которые заставят даже матёрого профессионала начать чесать репу. В этой статье приводятся несколько задачек на JavaScript, связанных с необычным поведением языка. Кому-то они помогут узнать что-нибуд...

[Перевод] Что такое «this» и с чем его едят Автор фото — Sebastian Herrmann. Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Daniel James «What is 'this'? Why is that?». Что такое «this» и с чем его едят Когда я начинал изучать JavaScript, концепция this показалась мне крайне запутанной. ...

Топ 10 ошибок в проектах Java за 2019 год 2019 год подходит к концу, и команда PVS-Studio подводит итоги уходящего года. В начале 2019 года мы расширили возможности анализатора, поддержав язык Java. Поэтому список наших публикаций про проверку открытых проектов пополнился обзорами Java проектов. За год было найдено...

Библиотеки для декодирования видео. Сравнение на Python и Rust Многие задаются вопросом — насколько медленный Python в операциях декодирования? Правда ли, что компилируемые языки дают прирост скорости во всем, чего касаются? Что быстрее: OpenCV или ничего? Ответы на эти и другие бесполезные вопросы под катом вы прочитать не сможете. Там...

Краткий гайд по использованию GDB В этом коротком туториале мы рассмотрим базовые приёмы работы с GDB, а также посмотрим как можно (и нужно) подготавливать файлы к отладке для GDB. GDB — переносимый отладчик проекта GNU, который работает на многих UNIX-подобных системах и умеет производить отладку многих яз...

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

Введение в IDAPython На русском языке (и на Хабре, в частности) не так много статей по работе с IDAPython, попытаемся восполнить этот пробел. Для кого. Для тех, кто уже умеет работать в IDA Pro, но ни разу не писал скрипты на IDAPython. Если вы уже имеете опыт написания скриптов под IDAPython, ...

[Перевод] Python пора потесниться. О перспективах Julia Доброе утро, Хабр! Обойма нашей литературы по Python постоянно пополняется книгами самого разного уровня. Тем не менее, сегодня мы хотели бы сегодня вынести на обсуждение эту статью, автор которой считает язык Julia жизнеспособной и перспективной альтернативой Python. Чита...

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

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

C2x: будущий стандарт C Я ловлю в далёком отголоске, Что случится на моём веку. («Гамлет», Борис Пастернак)Признаться, пишу на чистом C я не так уж и часто и за развитием языка уже давно не слежу. Но тут произошло два неожиданных события: С вернул себе звание популярнейшего языка программирования ...

Опыт сопряжения Java, JavaScript, Ruby и Python в одном проекте посредством GraalVM В прошлом месяце вышла стабильная LTS-версия многоязычной среды выполнения GraalVM 20.3.0 от корпорации Oracle и мне захотелось испробовать её для решения какой-нибудь интересной практической задачи. Для тех кто не в курсе, приведу краткое описание этой новой платформы. Graa...

Вышло исследование всех методов 3D-печати керамики! Для специалистов отраслей, использующих детали, изготовленные из технической керамики, на сайте Admatec.ru размещена и переведена на русский язык информация по исследованиям износа конструкционной оксидной керамики, изготовленной путем аддитивного производства. Узнайте, ка...

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

Новую версию Arria для Power BI запустила Arria NLG Arria NLG  анонсирован выход новой эффективной версии  Arria для Power BI – надстройки, позволяющей пользователям Microsoft Power BI работать с интеллектуальными комментариями на базе системы генератора естественного языка (NLG).  До настоящего времени ра...

[Перевод] Как быть билингвом в Data Science В этой статье я хочу продемонстрировать R Markdown — удобную надстройку для программирования вашего проекта как на R, так и на Python, позволяющую программировать некоторые элементы вашего проекта на двух языках и управлять объектами, созданными на одном языке, с помощью дру...

[Перевод] Разбираем идеальный кейс фишинга при аренде квартиры Недавно я стал жертвой (к счастью, неудачной) фишинговой атаки. Несколько недель назад я бродил по сайтам Craigslist и Zillow: я хотел арендовать жилье в районе залива Сан-Франциско. Мое внимание привлекли симпатичные фото одного местечка, и мне захотелось связаться с аренд...

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

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

Дефицит программистов на языке COBOL угрожает государственной системе США Ряд штатов США начал спешный поиск всех, кто имеет навыки работы с языком программирования COBOL. Причина – балансирование на грани паралича государственных сервисов, работа которых базируется на древних мейнфреймах, некоторым из которых уже по 40 лет. До наступления пандеми...

Теория здравомыслия Как мыслить и действовать адекватно ситуации, избавиться от инфантилизма и не наступать на одни и те же "грабли"? Эта статья может стать отправной точкой для получения навыков усвоения материала почти любой сложности.Общая семантика включает в себя метод, помогающий дос...

[Перевод] Как ограничить частоту запросов в HAProxy: пошаговая инструкция Автор статьи объясняет, как реализовать в HAProxy ограничение скорости обработки запросов (rate limiting) с определенных IP-адресов. Команда Mail.ru Cloud Solutions перевела его статью — надеемся, что с ней вам не придется тратить на это столько времени и усилий, сколько пр...

Изучаем потенциал видеокарты GeForce GT 1030 в 2020 году – лучшая видеокарта для Пасьянса и Солитёра по мнению экспертов Gecid Есть ли смысл в покупке видеокарты GeForce GT 1030 в 2020 году? Отвечаем на сложные вопросы простым русским языком

Гид по сленгу дизайнеров: как ставить задачу на одном языке с повелителями Фотошопа и Иллюстратора Логомашина принесла актуальный словарь дизайнеров, чтобы вам было проще ставить задачи и вносить правочки.

Rust превосходит по производительности C++ согласно результатам Benchmarks Game В начале этого месяца случилась маленькая победа. Согласно последним результатам популярного бенчмарка, сравнивающего производительность языков программирования, Rust занимает второе место, разместившись между C и С++: Для сравнения производительности используется геометр...

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

[Перевод] JEP 360: Sealed Types (Preview) В то время, как половина мира заточилась в самоизоляции, ходят слухи, что Java 15 может присоединиться к флешмобу. Если в Бельгии нельзя размножаться людям, то почему классы должны наследоваться бесконтрольно, разве это справедливо? Задача этого JEP — описать улучшение язы...

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

[Из песочницы] 9 ключевых алгоритмов машинного обучения простым языком Привет, Хабр! Представляю вашему вниманию перевод статьи «9 Key Machine Learning Algorithms Explained in Plain English» автора Nick McCullum. Машинное обучение (МО) уже меняет мир. Google использует МО предлагая и показывая ответы на поисковые запросы пользователей. Netflix...

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

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

jsqry — лучше, чем jq В своей прошлой статье на Хабре я писал про библиотеку Jsqry, которая предоставляет простой и удобный язык запросов (DSL) к объектам JSON. С тех пор прошло много времени и библиотека тоже получила свое развитие. Отдельный повод для гордости — библиотека имеет 98% покрытие ко...

Что такое Windows PowerShell и с чем его едят? Часть 3: передача параметров в скрипты и функции, создание командлетов Во второй части цикла рассматривались основы языка программирования PowerShell, а сейчас стоит разобраться с использованием написанного на нем кода для задач администрирования. Самый очевидный способ это сделать — запустить сценарий. Кроме него существует возможность созда...

[Из песочницы] Сравнение российской рэп сцены используя R и техники Text Mining. Noize Mc and Kasta vs Pharaoh and Morgenshtern R. Text Mining. Rap Популярность многих современных рэп исполнителей остается для меня и других приверженцев “старой школы” большой загадкой. Постоянные споры о том, кто лучше, чьи текста интереснее, чья музыка разнообразнее занимают умы многих интернет-пользователей. Чтобы ...

«Инициал» можно читать именно там, где вам удобно. Например, в Instagram! Много полезного о русском языке и хороших текстах, а ещё картинки со страдающим котом.

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

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

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

Видеозаписи докладов митапа по продуктовой аналитике Привет, Хабр! 7-го мая в Wrike TechClub мы собрали экспертов из XSolla, Pandora и Wrike и поговорили о подходах и решениях в продуктовой аналитике, инсайтах, экспериментах и взаимодействии аналитика с другими отделами. Доклады и обсуждение проводили на английском, так что ес...

45 youtube-каналов на английском языке для ИТ-специалистов Хотела узнать, что смотрят коллеги (кроме нетфликсов и амедиатек), провела опрос. Результат получился неожиданный. Я думала, ну, соберу каналов 10, которые смотрят все ИТ-специалисты. Не тут-то было! Во-первых, каналов получилось в 10 раз больше, чем я предполагала. Во-вторы...

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

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

[Из песочницы] Многопоточный линейный список: проблема существования элемента, повышение производительности и соотношение с STL Здравствуйте, уважаемые посетители Хабра! В этой статье речь пойдёт о связном списке, многопоточности и С++. Сразу отмечу, что были все шансы положить эту работу «на полочку» и использовать в небольшом количестве личных проектов. Вместо этого я всё-таки решил выложить её на...

[Перевод] Коды ошибок — это гораздо медленнее, чем исключения На современных 64-битных PC-архитектурах использование C++-исключений означает всего лишь добавление к функциям недостижимого кода с вызовами деструктора и ухудшение производительность менее чем на 1%. Такие небольшие ухудшения производительности сложно даже измерить. Обрабо...

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

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

Как забраться на дерево Точнее, как с него спуститься. Но обо всем по порядку. Эта статья немного выбьется из привычного формата статей от PVS-Studio. Мы часто пишем о проверке других проектов, но почти никогда не приоткрываем дверь нашей внутренней кухни. Пришло время это исправить и рассказать о...

FOSS News №37 – дайджест новостей и других материалов о свободном и открытом ПО за 5–11 октября 2020 года Всем привет! Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире. Эволюция телеком отрасли от закрытости к открытости, открытие исходников GitHub Docs, Facebook развив...

Алексей Найдёнов. ITooLabs. Кейс разработки на Go (Golang) телефонной платформы. Часть 1 Алексей Найдёнов, CEO ITooLabs, рассказывает про разработку телекоммуникационной платформы для операторов связи на языке программирования Go (Golang). Алексей также делится опытом развертывания и эксплуатации платформы в одном из крупнейших азиатских операторов связи, которы...

Алексей Найдёнов. ITooLabs. Кейс разработки на Go (Golang) телефонной платформы. Часть 2 Алексей Найдёнов, CEO ITooLabs, рассказывает про разработку телекоммуникационной платформы для операторов связи на языке программирования Go (Golang). Алексей также делится опытом развертывания и эксплуатации платформы в одном из крупнейших азиатских операторов связи, которы...

Новая надстройка Arria для Power BI доступна на Microsoft AppSource Arria NLG  анонсирован выход новой эффективной версии  Arria для Power BI – надстройки, позволяющей пользователям Microsoft Power BI работать с интеллектуальными комментариями на базе системы генератора естественного языка (NLG). До настоящего времени разработчики панели Pow...

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

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

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

JetBrains Technology Day for Java В мае языку Java исполнилось 25 лет. Такое событие нельзя пропустить! Давайте праздновать вместе с JetBrains 10 июля на первом в мире виртуальном митапе для Java энтузиастов — JetBrains Technology Day for Java. Мы с интересом тестируем новый онлайн-формат и приглашаем все...

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

Режим самоуничтожения: разложение эндоскопической капсулы за счет света Одним из самых распространенных и эффективных методов диагностики ЖКТ (желудочно-кишечного тракта) является эндоскопия. Пациент приходит на процедуру, ложится на бочок (как правило, но не всегда), а добрый доктор вводит ему в организм через естественные пути эндоскопически...

Covid-19: зачем мы сидим на карантине, и ответы на другие вопросы Привет Хабр. Изначально я не планировал публиковать здесь статью про коронавирус, аналитики на хабре уже более чем достаточно. Однако, читая разные местечковые форумы и соцсети, я с удивлением обнаружил сколько достаточно вредных мифов гуляет в сети, и что обычные люди, не ...

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

Изучаю Scala: Часть 1 — Игра змейка Привет Хабр! Когда я изучаю новый язык я обычно делаю на нем змейку. Может какому нибудь новичку который тоже изучает Scala будет интересен код другого новичка в этом ЯП. У опытных скалистов скорее всего мой первый код на Scala вызовет грусть. За подробностями добро пожалов...

[Перевод] Почему Discord переходит с Go на Rust Rust становится первоклассным языком в самых разных областях. Мы в Discord успешно используем его и на серверной, и на клиентской стороне. Например, на стороне клиента в конвейере кодирования видео для Go Live, а на стороне сервера для функций Elixir NIF (Native Implemente...

Разработка плагинов для Zabbix Agent 2 На последнем Zabbix Summit 2019 вместе с выходом Zabbix 4.4 был анонсирован новый Zabbix Agent 2, ключевая фишка которого — возможность написания плагинов к нему на языке Go. И многие сразу стали спрашивать: а как же, собственно, эти плагины писать, как они устроены? Где взя...

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

Переводчик на iPhone: Как пользоваться встроенной программой Перевод в iOS В iOS 14 (обзор всех новых функций) компания Apple добавила новое приложение «Перевод». Нетрудно догадаться, хотя бы по названию, что программа предназначена для перевода с одного языка на другой. Приложение «Перевод» имеет несколько полезных функций, которые окажутся удобны...

У нас появился новый образ в маркетплейсе: VPS с Joomla 3.9 на Centos 8 Joomla — третья по популярности (после Wordpress и Shopify) система управления контентом, написанная на языке PHP и использующая в качестве хранилища данных реляционные базы данных. Как и многие другие CMS, Joomla полностью бесплатна для использования и имеет открытый код...

[Перевод] Руководство по версиям и возможностям Java Здесь есть все, что вам нужно знать о различных версиях и функциях Java. Java 8, Java 11, Java 13 — какая разница? Вы можете использовать это руководство, чтобы найти и установить последнюю версию Java, понять различия между дистрибутивами Java (AdoptOpenJdk, OpenJDK, Oracl...

Все, что вы хотели узнать про области видимости в Python, но стеснялись спросить В преддверии старта нового потока по курсу «Разработчик Python», решили поговорить про области видимости в Python. Что из этого вышло? — Читайте в материале ниже. Сегодня мы будем говорить о важных теоретических основах, которые необходимо понимать и помнить, чтобы писат...

Netflix запустил русскоязычную версию и оплату в рублях Американский стриминговый сервис Netflix запустил русскоязычную версию.При попытке зайти на Netflix через браузер под российским IP пользователь автоматически перенаправляется на netflix.com/ru/. При этом зарегистрированные пользователи смогут менять язык вручную.Новым польз...

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

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

Какая асинхронность должна была бы быть в Python В последние несколько лет ключевое слово async и семантика асинхронного программирования проникла во многие популярные языки программирования: JavaScript, Rust, C#, и многие другие. Конечно, в Python тоже есть async/await, они появились в Python 3.5. В этой статье хочу обсу...