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

Подборка @pythonetc, август 2019 Новая подборка советов про Python и программирование из моего авторского канала @pythonetc. ← Предыдущие подборки Если у экземпляра класса нет атрибута с заданным именем, то он пытается обратиться к атрибуту класса с тем же именем. >>> class A: ... x = 2 ....

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

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

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

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

VBA и Python для автоматизации Excel и MS Office Поводом для заметки послужила статья на Хабре, в которой автор описывал, как он решал на Python задачу сбора и анализа метаданных из файлов Excel. Эта заметка более подробно раскрывает всем известный тезис: Под конкретную задачу надо выбирать наиболее подходящий инструмент п...

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

[Из песочницы] Extension в Dart (Flutter) В недавном релизе языка Dart 2.6 в языке появилась новая функция, static extension или статические методы расширения, который позволяет вам добавить новые методы к существующим типам. Зачем вообще нужны extension? Как их использовать и на что они годятся? Введение Начнём ...

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

Язык Bosque — новый язык программирования от Microsoft Буквально несколько дней назад компания Microsoft представила публике новый язык программирования. Языку дали название Bosque. Главная миссия дизайна языка — лучше быть богатым и здоровым, чем бедным и больным чтобы он был прост и понятен как для человека, так и для компьюте...

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

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

Пять перспективных языков программирования со светлым будущим (3 года спустя) В 2016-м году я опубликовал перевод статьи про 5 перспективных языков программирования, в которой прогнозировался их рост в ближайшие 2-3 года. Зачастую прогнозы так и остаются прогнозами, без последующего анализа. Но я решил, что это непорядок. И посколько 3 года уже проле...

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

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

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

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

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

«Теория Большого взрыва» и практика применения Python Вступление В последнее время активно изучаю язык программирования Python. Особенно меня заинтересовало использование Python в распознавании и классификации лиц. В статье я попробую применить распознавание лиц для сериала «Теория Большого взрыва». Читать дальше →

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

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

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

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

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

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

6 нежданчиков от Джулии Наконец-таки появилось русскоязычное руководство по языку Julia. Там реализовано полноценное введение в язык для тех, у кого мало опыта в программировании (остальным будет полезно для общего развития), так же имеется введение в машинное обучение и куча заданий для закреплен...

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

[Перевод] Оверинжинирг 80 уровня или редьсюеры: путь от switch-case до классов О чем пойдет речь? Посмотрим на метаморфозы редьюсеров в моих Redux/NGRX приложениях за последние пару лет. Начиная с дубового switch-case, продолжая выбором из объекта по ключу и заканчивая классами с декораторами, блекджеком и TypeScript. Постараемся обозреть не только ис...

[Перевод] F#10: Списки Любое серьезное программирование на любом языке всегда будет включать списки. Таким образом, вам будет приятно узнать, что F# очень и очень хорошо поддерживает списки с помощью своего модуля List. Список в F# — это упорядоченная, неизменная серия элементов одного типа. Читат...

Книга "{Вы не знаете JS} Типы и грамматические конструкции" Каким бы опытом программирования на JavaScript вы ни обладали, скорее всего, вы не понимаете язык в полной мере. Это лаконичное руководство исследует типы более глубоко, чем все существующие книги: вы узнаете, как работают типы, о проблемах их преобразования и научитесь пол...

C/C++ из Python (boost) Заключительная статья из серии как вызывать C/C++ из Python3, перебрал все известные способы как можно это сделать. На этот раз добрался до boost. Что из этого вышло читаем ниже. Читать дальше →

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

Парадокс Питона (The Python Paradox) В последнем выпуске подкаста "Цинковый прод" помимо всего прочего обсуждался так называемый парадокс Питона (The Python Paradox). Как ни странно, на Хабре нет практически ни одного упоминания об этом парадоксе. При том, что, несмотря на свою простоту, мысль очень интересная...

CLion 2019.1: ClangFormat, подсветка кода через Clangd, memory view, начальная поддержка микроконтроллеров Привет, Хабр! У команды CLion множество отличных новостей — питерская часть команды вместе с другими коллегами успешно перебралась в новый офис, к нам присоединились новые классные разработчики, а главное, мы буквально на днях выпустили первое большое обновление в этом году...

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

[Из песочницы] ОС реального времени AQUA RTOS для МК AVR в среде BASCOM AVR При написании для МК кода посложнее, чем «помигать лампочкой», разработчик сталкивается с ограничениями, присущими линейному программированию в стиле «суперцикл плюс прерывания». Обработка прерываний требует быстроты и лаконичности, что приводит к добавлению в код флагов и п...

[Из песочницы] Почему Вы должны попробовать FastAPI? Лого взято из Github репозитория FastAPI FastAPI — относительно новый веб-фреймворк, написанный на языке программирования Python для создания REST (а если сильно постараться то и GraphQL) API, основанный на новых возможностях Python 3.6+, таких как: подсказки типов (type-hi...

[Перевод] Погружение в Move — язык программирования блокчейна Libra от Facebook Далее мы рассмотрим в деталях основные характеристики языка Move и в чем его ключевые различия с другим, уже популярным языком для смарт-контрактов — Solidity (на платформе Ethereum). Материал основан на изучении доступного он-лайн 26-страничного whitepaper-а. Введение Move...

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

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

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

Зачем вам учить Go Источник картинки Go — относительно молодой, но популярный язык программирования. По данным опроса Stack Overflow, именно Golang получил третье место в рейтинге языков программирования, которые хотели бы освоить разработчики. В этой статье мы попробуем разобраться в причина...

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

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

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

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

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

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

Изучаем OpenCV на StereoPi: карта глубин по видео Сегодня мы хотим поделиться серией примеров на Питоне для изучающих OpenCV на Raspberry Pi, а именно для двухкамерной платы StereoPi. Готовый код (плюс образ Raspbian) поможет пройти все шаги, начиная c захвата картинки и заканчивая получением карты глубин из захватываемог...

Не очередной язык программирования В последнее время на рынке появилось огромное количество новых языков программирования: Go, Swift, Rust, Dart, Julia, Kotlin, Hack, Bosque – и это только из числа тех, которые на слуху. Ценность того, что эти языки привносят в мир программирования, тяжело переоценить, но,...

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

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

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

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

[Перевод] Встречайте Big Data Tools: поддержка Spark и Zeppelin-ноутбуков в IntelliJ IDEA У нас отличные новости. Мы рады объявить о выходе Big Data Tools — нового плагина для IntelliJ IDEA, который обеспечивает интеграцию со Spark и поддерживает редактирование и запуск Zeppelin-ноутбуков. Теперь вы можете создавать, редактировать и запускать Zeppelin notebooks п...

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

Возможности языка Q и KDB+ на примере сервиса реального времени О том, что такое база KDB+, язык программирования Q, какие у них есть сильные и слабые стороны, можно прочитать в моей предыдущей статье и кратко во введении. В статье же мы реализуем на Q сервис, который будет обрабатывать входящий поток данных и высчитывать поминутно разли...

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

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

Эволюция создания веб-приложений на Java История развития построения веб-приложений на языке программирования Java с примерами их использования на временном промежутке от появления спецификации сервлетов до сегодняшнего дня. Читать дальше →

Атрибуты C#: обо всех аспектах Здравствуй, читатель. В этой статье описаны атрибуты со всех сторон — начиная от спецификации, смысла и определения атрибутов, создания собственных и работе с ними, заканчивая добавлением атрибутов на рантайме и наиболее полезными и интересными существующими атрибутами. Если...

Обсуждение: что предложит платформа Feedback Assistant для разработчиков Сегодня мы решили рассказать об изменениях и других метаморфозах в политике Apple, коснувшихся ИТ-комьюнити. Обсудим, что происходит, и как на это реагирует сообщество. Читать дальше →

Grasshopper 2.6.2 Grasshopper — приложение, позволяющее выучить основы программирования на языке JavaScript с помощью бесплатных коротких уроков. Обучение в новом сервисе представлено в игровой форме, из-за чего программа напоминает самый популярный сервис для изучения иностранных языков Duol...

[Перевод] Семь неожиданных переменных Bash Продолжая серию заметок о менее известных функциях bash, покажу вам семь переменных, о которых вы могли не знать. 1) PROMPT_COMMAND Возможно, вы уже в курсе, как манипулировать приглашением prompt, чтобы показать различную полезную информацию, но не все знают, что каждый ра...

Язык программирования Zig Первым комментарием к замечательной статье Субъективное видение идеального языка программирования оказалась ссылка на язык программирования Zig. Естественно, стало интересно, что же это такое за язык, который претендует на шину C++, D и Rust. Посмотрел — язык показался симп...

На пути к ядру Питона Привет, Хабр! Представляю вашему вниманию перевод статьи Toward a “Kernel Python” автора Glyph Lefkowitz (создателя фреймворка Twisted). Подробнее — под катом. Читать дальше →

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

[recovery mode] Что мне не нравится в Python Привет, Хабр! Я подумал о том чего мне не хватает в Python, и что мне не нравится. Дисклеймер: это мое субъективное мнение, оно может не совпадать с Вашим. Я с удовольствием программирую на Python, но у любой технологии (языка программирования в частности) есть свои недос...

Кое-что о пространстве имён Я программирую на PHP. И немножко на JS. Когда-то я программировал на Java, ещё раньше — на LotusScript. Попробовал на вкус python и dart. Basic, Fortran, Pascal, Prolog, VisualBasic, С++/С, perl — на всём этом я тоже изображал что-то исполняемое. Языки программирования меня...

[Из песочницы] Invidious — альтернативный YouTube-фронтенд «Invidious» — это веб-фронтенд (грубо говоря, веб-клиент) для сайта YouTube. Код проекта написан на языке программирования Crystal, использует СУБД PostgreSQL и распространяется под свободной лицензией AGPLv3+. Читать дальше →

[Перевод] 10 самых влиятельных языков программирования последних 50 лет и их создатели В IT-вселенной существует множество языков программирования. С каждым годом их становится всё больше и больше. Например, сравнительно недавно появились языки Scala, Kotlin, Go и Closure. Но история говорит нам о том, что выживут лишь немногие из них. Языки, о которых пойдёт...

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

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

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

Элементарно, Watson: вы интегрируетесь с Voximplant Работа с естественными языками (NLU, NLP) – зона активной конкуренции между IT-гигантами. Равно как и развитие ИИ. Ну и, соответственно, пересечение этих множеств – тоже горячая ниша, за которой интересно наблюдать и осваивать новое. Voximplant давно подружился с гугловским...

Павел Финкельштейн о Kotlin в production на jug.msk.ru 13 марта 2019 года в офисе компании КРОК прошла очередная встреча сообщества московских Java-разработчиков jug.msk.ru, на которой Паша Финкельштейн рассказал о своём опыте использования языка программирования Kotlin. Читать дальше →

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

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

Разбираем протокол пейджерных сообщений POCSAG, ч1 Привет habr, Давным-давно, когда мобильный телефон стоил 2000$ и минута звонка стоила 50 центов, была такая популярная штука как пейджинговая связь. Затем связь стала дешевле, и пейджер сначала превратился из престижного атрибута делового человека в непрестижный атрибут кур...

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

Неопределённое поведение в C++ Ситуация, когда код на языке C++ синтаксически валиден, однако его поведение не определено в Стандарте, в русскоязычной литературе часто называют просто неопределённым поведением. В самом же Стандарте для таких ситуаций существуют целых 3 термина: undefined behavior, unspec...

[Перевод] Python становится самым популярным языком программирования в мире Еще летом на The economist вышла статья о том, что Python все активнее завоевывает рынок. Но завирусилась она только сейчас. Вероятно, так произошло из-за того, что она очень неоднозначная. Ведь несмотря на такой заголовок, автор заявляет, что Python, теоретически, может пов...

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

[Из песочницы] Матрёшка Си. Слойная система языка программы Попробуем представить химию без Периодической системы Менделеева (1869). Сколько же элементов надо было держать в голове, причём в произвольном порядке… (Тогда — 60.) Для этого достаточно подумать об одном или нескольких сразу языках программирования. Те же чувства, тот же...

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

Язык программирования Ü. Введение, мотивация к созданию, цели Введение С 2016-го года (с перерывами) я разрабатываю собственный язык программирования. Название данного языка — «Ü». Почему Ü? Потому, что хотелось однобуквенного названия, а все буквы из набора A-Z уже заняты. Данная статья имеет задачу ознакомить публику с данным языко...

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

[Перевод] Будущее PHP Это мертвый язык программирования или нет? У PHP наверняка были лучшие времена. Но действительно ли он мертв? На форумах, подобных StackOverflow, люди предполагают, что PHP мертв. У них есть верная точка зрения, или может быть, они просто не любят PHP? Давайте посмотрим ...

[Из песочницы] Wolfram Function Repository: открытый доступ к платформе для расширений языка Wolfram Привет, Хабр! Представляю вашему вниманию перевод поста Стивена Вольфрама "The Wolfram Function Repository: Launching an Open Platform for Extending the Wolfram Language". Предпосылки состоятельности языка Wolfram Сегодня мы стоим на пороге великих свершений вмест...

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

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

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

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

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

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

Книга «Kotlin. Программирование для профессионалов» Привет, Хаброжители! Книга Джоша Скина и Дэвида Гринхола основана на популярном курсе Kotlin Essentials от Big Nerd Ranch. Яркие и полезные примеры, четкие объяснения ключевых концепций и основополагающих API не только знакомят с языком Kotlin, но и учат эффективно использо...

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

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

[Перевод] Jetpack Compose Jetpack Compose это отдельный набор инструментов разработанный для упрощения разработки UI. Он соединяет модель реактивного программирования с лакончностью и лёгкостью использования языка программирования Kotlin ПРИМЕЧАНИЕ: Jetpack Compose в настоящее время находится в ст...

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

[Перевод] Заметка о void в JavaScript и TypeScript Если вы, до того, как заинтересовались JavaScript, писали на традиционных языках с сильной типизацией, то вы, возможно, знакомы с концепцией void. Это — тип, использование которого сообщает программисту о том, что соответствующие функции и методы при их вызове ничего не возв...

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

Выпуск Rust 1.36.0: Трейт Future, стабилизация alloc и MaybeUninit<T> Представляю вашему вниманию перевод публикации о новой версии всеми любимого языка программирования Rust. Введение Команда по разработке языка программирования Rust рада анонсировать новую версию, 1.36.0. Rust — это язык программирования, позволяющий каждому разрабатывать на...

Андрей Терехов: «Можно сколько угодно говорить, что американское лучше, но наша машина никогда не ломается» Завкафедрой системного программирования СПбГУ, профессор, доктор физмат наук, президент компании «Ланит-Терком» Андрей Николаевич Терехов — о том, как делал первый в СССР транслятор языков Алгол 68 и Ада, о силе обкома КПСС и рождении «Самсона», который никогда не ломался....

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

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

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

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

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

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

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

Структуры против Классов С самого начала, когда я начинал заниматься программированием, вставал вопрос, что использовать для улучшения быстродействия: структуру или класс; какие массивы лучше использовать и как. По поводу структур, Apple приветствует их использование, объясняя это тем, что они лучше...

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

[Перевод] Модели дженериков и метапрограммирования: Go, Rust, Swift, D и другие В некоторых сферах программирования нормально хотеть написать такую структуру данных или алгоритм, которые могут работать с элементами разных типов. Например, список дженериков или алгоритм сортировки, которому нужна только функция сравнения. В разных языках предложены всев...

Введение в Си. Послание из прошлого столетия ПРЕДИСЛОВИЕ Я несколько раз в своих комментариях ссылался ссылался на книгу Эндрю Таненбаума «Operating Systems Design and Implementation» на ее первое издание и на то, как в ней представлен язык Си. И эти комментарии всегда вызывали интерес. Я решил, что пришло время опубли...

Java, Spring, Kurento и медиасервисы Существует уже немало медиа сервисов, но люди продолжают их создавать. Решил и я заняться изобретением своего велосипеда. Натолкнувшись на проект Kurento, понял что это то, что мне надо. Данная статья является частично переводом Kurento Documentatin, частично это заметки...

Как реализовать язык программирования на JavaScript. Часть 1: Парсер Здравствуйте! Представляю вам любительский перевод руководства реализации своего языка программирования на JavaScript — PL Tutorial. От переводчика Мы создадим свой язык программирования — λзык (в оригинале — λanguage). В процессе создания мы будем использовать достаточно мн...

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

Google: атрибут nofollow в метатеге robots также будет обрабатываться как подсказка Сотрудник Google Гэри Илш (Gary Illyes) заявил в Twitter, что поисковик изменил подход не только к обработке ссылочного атрибута rel=nofollow, но и nofollow в метатеге robots. Теперь этот атрибут также будет расцениваться как подсказка, а не директива, как это было ранее. Пр...

Практикум RHEL 8 Beta: Устанавливаем Microsoft SQL Server Microsoft SQL Server 2017 был доступен для полноценного использования под RHEL 7 с октября 2017 года, и при работе над RHEL 8 Beta Red Hat тесно сотрудничала с Microsoft, чтобы повысить производительность и обеспечить поддержку большего числа языков программирования и прикла...

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

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

К вопросу о сдвигах, знаках и быстродействии МК «Найди всему причину и ты многое поймешь» Возможно, мои постоянные читатели (ну не может быть, чтобы их не было) помнят, что я как то в своем посте недоумевал по поводу того, что при описании регистров внешних устройств используется атрибут unsigned. В комментариях было пред...

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

[Перевод] Как реализовать язык программирования на JavaScript. Часть 3: CPS-интерпретатор Здравствуйте! Представляю вам третью часть моего перевода руководства реализации своего языка программирования на JavaScript — PL Tutorial. От переводчика Мы создадим свой язык программирования — λзык (в оригинале — λanguage). В процессе создания мы будем использовать достат...

«Анализ данных на Python» в двух частях Курсы по анализу данных в CS центре читает Вадим Леонардович Аббакумов — кандидат физ.-мат. наук, он работает главным экспертом-аналитиком в компании Газпромнефть-Альтернативное топливо. Лекции предназначены для двух категорий слушателей. Первая — начинающие аналитики, кот...

Microsoft решила помочь начинающим кодерам в изучении Python Люди, решившие выучить новый язык программирования, нередко не могут понять, с чего начать. Специально для них Microsoft подготовила небольшой видеокурс по Python для начинающих. Как сообщается, курс состоит из 44 коротких видеоуроков — их длина варьируется от 2 до 12 ...

Опыт использования генератора статических сайтов Hugo Делюсь 2-х летним опытом использования генератора статических сайтов Hugo. Заметка ориентирована на начинающих, но в этой заметке не будет инструкций "как установить Hugo" или "как создать первый пост". Эта заметка будет полезна тем, кто выбирает и сравнивает альтернативы дл...

Выпуск Rust 1.37.0: Profile-Guided Optimization, неименованные константы и cargo vendor Представляем вашему вниманию перевод публикации о новой версии всеми любимого языка программирования Rust. Введение Команда разработчиков Rust рада сообщить о выпуске новой версии, 1.37.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное...

Loli — новый высокопроизводительный язык В этой статье мы поговорим о новом интерпретируемом языке Loli, рассмотрим синтаксис и сравним с языками C и Python. Читать дальше →

Книга «Как устроен JavaScript» Большинство языков программирования выросли из древней парадигмы, порожденной еще во времена Фортрана. Гуру JavaScript Дуглас Крокфорд выкорчевывает эти засохшие корни, позволяя нам задуматься над будущим программирования, перейдя на новый уровень понимания требований к Сле...

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

Знакомство со статическим анализатором PVS-Studio для Java На протяжении многих лет команда PVS-Studio развивает одноименный статический анализатор. На данный момент анализатор представляет собой сложное программное решение и предоставляет возможность анализа таких языков программирования, как C, C++, C# и Java на платформах Windows...

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

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

[Из песочницы] Game Engine своими руками на C++. Часть 1 (Вступление) Game Engine Проектируем, пишем, думаем рассуждаем, читаем и многое другое Внимание: статьи содержат много костылей! Читать дальше →

Открытая лекция курса «JavaScript-разработчик» Стартовый курс по Javascript посвящен основам языка и решению типичных задач для верстальщика и начинающего фронтендера: галереи, слайдеры, таймеры, калькуляторы, проверка форм. Входные требования: базовое знакомство с HTML+CSS, наличие терминала, базовое...

Разработчики назвали самые востребованные языки программирования Самыми популярными языками программирования для освоения в этом году у разработчиков будут Open Source-язык …

С чего начать изучение Python: книги для начинающих Друзья, забирайте в закладки подборку из 17 книг по Python. Подборка поможет вам освоить язык программирования с нуля или с минимальными знаниями. Готовы приступить к изучению Python? Тогда начнем! Читать дальше →

Книга «Spring. Все паттерны проектирования» Привет, Хаброжители! Мы издали книгу в которой дается обзор фреймворка Spring 5 и паттернов проектирования для него. Объясняется принцип внедрения зависимостей (dependency injection), играющий ключевую роль при создании слабосвязанного кода во фреймворке Spring. Затем рассм...

Intel One API Project: архитектур много, API один На проходившем в июне Intel Software Technology Day ведущие инженеры компании рассказали о софтверном проекте под названием «Intel One API» — унифицированной модели программирования для облегчения разработки ПО под разнообразные вычислительные архитектуры, включающей в себ...

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

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

Не очередной язык программирования. Часть 3: Физика Третья и заключительная часть серии статей о языке lsFusion (ссылки на первую и вторую части) В ней речь пойдет о физической модели: всем том, что не связано с функционалом системы, а связано с ее разработкой и оптимизацией производительности, когда данных становится слиш...

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

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

[Из песочницы] 20 игр, чтобы научить ребёнка программированию Привет Хабр! Меня зовут Оксана Селендеева. Я считаю, что лучше начинать программировать с юного возраста — 4-5 лет, потому что кодинг активно развивает у детей когнитивные функции мозга, и это впоследствии помогает им отлично усваивать точные науки. А попробовать себя в прог...

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

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

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

Где взять аудиосемплы для ваших проектов: подборка из восьми тематических ресурсов В прошлый раз мы делали подборку ресурсов с полноценными музыкальными композициями для приложений, игр или видео. Сегодня рассказываем о площадках с библиотеками коротких звуков и семплов, распространяемых в основном по лицензиям класса Creative Commons. Читать дальше →

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

Знакомимся с языком Swift на примере игры Snake Всем привет! В преддверии запуска курса «iOS-разработчик. Базовый курс» мы организовали очередной открытый урок. Этот вебинар рассчитан на людей, которые имеют опыт разработки на любых языках и платформах, однако желают ещё изучить язык Swift и освоить разработку под iOS. ...

Читаем даташиты 2: SPI на STM32; ШИМ, таймеры и прерывания на STM8 В первой части я попробовал рассказать хобби-электронщикам, выросшим из штанишек Ардуино, как и зачем им стоит читать даташиты и прочую документацию к микроконтроллерам. Текст получился большой, поэтому я пообещал практические примеры показать в отдельной статье. Ну что же,...

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

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

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

[Из песочницы] Визуализация количества побед у команд НБА с помощью анимационных столбиковых диаграмм в R Для начала небольшая вводная информация. Меня зовут Владислав и моё знакомство с R состоялось в августе прошлого года. Изучать язык программирования я решил по причине прикладного характера. Мне с детства нравилось вести спортивную статистику. С возрастом это увлечение транс...

Баги C++20. Итоги встречи в городе Белфаст На днях прошла встреча комитета по стандартизации языка программирования C++ в городе Белфасте. От представителей стран в комитет прилетело около 400 замечаний к C++20, с половиной из них успели расправиться. Под катом вас ждут результаты обсуждений замечаний России (да-да,...

Книга «Head First. Kotlin» Привет, Хаброжители! У нас вышла книга для изучения Kotlin по методике Head First, выходящей за рамки синтаксиса и инструкций по решению конкретных задач. Эта книга даст вам все необходимое — от азов языка до продвинутых методов. А еще вы сможете попрактиковаться в объектно-...

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

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

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

Как выглядит zip-архив и что мы с этим можем сделать. Часть 2 — Data Descriptor и сжатие Продолжение статьи Как выглядит zip-архив и что мы с этим можем сделать. Предисловие Доброго времени суток. И снова в эфире у нас нетрадиционное программирование на PHP. В прошлой статье уважаемых читателей заинтересовала тема сжатия в ZIP и сохранение потоков в zip. Попробу...

Western Digital представила линейку игровых накопителей WD_BLACK Western Digital официально представила игровые накопители серии WD_BLACK. Этот новый бренд ориентирован на игровую аудиторию. Стоит отметить, что WD_BLACK отличается от классической линейки жестких дисков премиум-класса Western Digital Caviar Black. Подробнее об этом читайте...

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

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

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

Магические трансформации типов данных в Rust: Интринсика mem::transmute<T, U> Введение Язык программирования Rust, невзирая на всеохватывающую идеологию безопасности данных, располагает и небезопасными методиками программирования, ведь порой они могут повышать скорость путём устранения лишних вычислений, а порой это просто жизненная необходимость. Од...

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

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

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

[Из песочницы] Таймлапс собственными силами с облачного сервиса видеонаблюдения IPEYE Недавно появилась задача ежедневно формировать таймлапс с пары камер видеонаблюдения, подключенных к IPEYE. Если вам интересно как с этим справился человек с минимальными знаниями питона или вы хотите мне указать на мои ошибки — добро пожаловать под кат… Читать дальше &rarr...

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

[Перевод] Замена EAV на JSONB в PostgreSQL TL; DR: JSONB может значительно упростить разработку схемы БД без ущерба производительности в запросах. Введение Приведем классический пример, наверное, одного из старейших вариантов использования в мире реляционных БД (база данных): у нас есть сущность, и необходимо сохрани...

[Из песочницы] Опыт программирования на Юниксе* Под программированием понимается собственно процесс программирования на С для мелких микроконтроллеров, а также трассировка печатных плат, рисование моделек в Солиде, редактирование доков в Офисе, чтение интернета и написание этой заметки. Вот это устройство UNIX FIT MX-450V...

Завершающий курс специализации по Python от Mail.ru Group Python — простой и гибкий язык, применяемый во многих областях современной разработки. На нём создают веб-приложения, пишут игры, анализируют данные и выполняют многие другие задачи. Mail.ru Group запустила на платформе Coursera специализацию «Программирование на Python», ...

Мастер-класс по программированию для школьников в Самаре Преподаватели проведут интерактивный урок по гибкому программированию. В бесплатном мастер-классе, который состоится в рамках инициативы Meet and Code, примут участие школьники в возрасте 10–16 лет с нарушениями слуха. На примере готовых программных модулей участники сде...

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

Интеграция с SAP ERP. Реализация мобильного прайс-чекера в магазине В рассматриваемом нами примере интеграции SAP ERP со сторонним ПО, мы будем использовать SAP Connector for Microsoft .NET для получения данных из SAP. Программное обеспечение для терминала сбора данных (ТСД) будет взаимодействовать с Microsoft Internet Information Server (II...

[Перевод] Бессерверные вычисления на основе OpenWhisk, часть 1 Это цикл переводных заметок автора Priti Desai. Поскольку сами заметки довольно короткие, то в одной публикации будет собрано сразу несколько. Будут рассмотрены детали развертывания приложений для OpenWhisk с примерами, а в конце цикла — приведена архитектура и код приложен...

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

EFORTH для МК-161: Структуры данных Эта статья — окончание цикла статей про eForth на программируемом калькуляторе. Начало здесь: habr.com/ru/post/452398 Команды входного языка «Электроники МК-161» занимают только половину файла eForth0.mkl. Вторую половину занимают таблицы, разработать которые был не меньший...

[Перевод] Криптография в Java. Класс KeyPair Привет, Хабр! Представляю вашему вниманию перевод 6, 7 и 8 статей автора Jakob Jenkov из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

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

Python стал «языком 2018 года» по версии экспертов TIOBE Эксперты TIOBE назвали Python языком программирования 2018 года. По словам специалистов, Python сегодня является неотъемлемой частью многих IT-сфер. Он лидирует по использованию в статистике и при создании систем искусственного интеллекта, скриптов и системных тестов, а такж...

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

Языки функционального программирования: прошлое, настоящее и будущее Языки функционального программирования — это особый класс языков программирования. Портал Techopedia рассказывает об их истории, предназначении и характеристиках. Clojure, Elixir, Elm, F#, Haskell, Idris и Scala — это ...

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

[Из песочницы] Архитектура компьютерных систем 1 часть. Логические вентили Логические элементы Доброго времени суток, я начинаю серию статей по написанию виртуальной машины на языке Golang. Я выбрал этот язык так как он прост для чтения и имеет в стандартной библиотеке уже необходимые функции, которые пригодятся в дальнейшем. Эта статья не несёт в...

Знакомство со статическим анализатором PVS-Studio при разработке C++ программ в среде Linux PVS-Studio поддерживает анализ проектов на языках C, C++, C# и Java. Использовать анализатор можно под системами Windows, Linux и macOS. В этой заметке речь пойдет об анализе кода, написанного на C и C++ в среде Linux. Установка Установить PVS-Studio под Linux можно разными...

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

Взаимодействие R с базами данных на примере Microsoft SQL Server и других СУБД Поскольку львиная доля бизнес информации храниться в базах данных. На каком бы языке программирования вы не писали, вам придётся производить различные действия с ними. В этой статье я расскажу о двух интерфейса для работы с базами данных в R. Большая часть примеров демонстри...

Криптография в Java. Класс MessageDigest Привет, Хабр! Представляю вашему вниманию перевод третьей статьи "Java MessageDigest" автора Jakob Jenkov из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

[Перевод] Криптография в Java. Класс Signature Привет, Хабр! Представляю вашему вниманию перевод пятой статьи "Java Signature" автора Jakob Jenkov из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

[Перевод] Криптография в Java. Класс Certificate Привет, Хабр! Представляю вашему вниманию перевод заключительной статьи "Java Certificate" автора Jakob Jenkov из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

[Перевод] Криптография в Java. Класс Mac Привет, Хабр! Представляю вашему вниманию перевод четвертой статьи "Java Mac" автора Jakob Jenkov из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

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

[Перевод] Как Netflix использует Питон Поскольку многие из нас готовятся к конференции PyCon, мы хотели немного рассказать, как Python используется в Netflix. Мы применяем Python на всём жизненном цикле: от принятия решения, какие сериалы финансировать, и заканчивая работой CDN для отгрузки видео 148 миллионам ...

[Перевод] Программная реализация усилителя класса D Best-404-Error интересуется, можно ли получить результат компиляции длиной менее 512 байт, если исходник написан на языке высокого уровня. Можно, если упростить возлагаемую на прошивку задачу. Программная реализация усилителя класса D позволяет менять его параметры (часто...

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

[Перевод] Data-Oriented Design (или почему, используя ООП, вы, возможно, стреляете себе в ногу) Представьте себе такую картину: близится конец цикла разработки, ваша игра едва ползает, но в профайлере вы не можете найти очевидных проблемных мест. Кто же виноват? Паттерны произвольного доступа к памяти и постоянные промахи кеша. Пытаясь повысить производительность, вы ...

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

OpenSceneGraph: Управление окнами и режимами отображения Введение Мы уже говорили о том, что класс osg::Camera управляет связанным с ним графическим контекстом OpenGL. Графический контекст инкапсулирует информацию о том, как и куда происходит отрисовка объектов и какие атрибуты состояния к ним применяются. Под контекстом понимают...

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

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

Deep Learning в вычислении оптического потока С появлением множества различных архитектур нейронных сетей, многие классические Computer Vision методы ушли в прошлое. Все реже люди используют SIFT и HOG для object detection, а MBH для action recognition, а если и используют, то скорее как handcrafted-признаки для соответ...

Короткая JS-задачка для понедельника Которая родилась в процессе изучения кошмаров LexicalEnvironment и вообще ликбеза на тему "Почему оно работает так". Задача получилась действительно из серии wtfjs, но после внимательного рассмотрения — полностью укладывается в логику работы языка. Читать дальше →

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

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

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

Intel oneAPI — один за всех Итак, случилось то, о чем еще с июля месяца говорила компания Intel — вышла бета-версия Intel oneAPI Toolkits, набора инструментов для разработки, с которыми жизнь больше не будет прежней. В состав набора, как и обещалось, вошел компилятор нового языка Data Parallel C++, наб...

Заметки на Mac, iPhone и iPad: 7 способов работать продуктивнее с Заметками от Apple Apple Заметки – не просто «еще одно» приложение для того, чтобы записывать свои мысли. Их возможностей более чем достаточно для того, чтобы переехать даже из такого серьезного менеджера заметок как Evernote. Главное – знать, как правильно всё «готовить».   1. Организуйт...

[Из песочницы] Изучение комбинаторных парсеров с Rust Привет, Хабр! Представляю вашему вниманию перевод статьи "Learning Parser Combinators With Rust". Эта статья учит основам комбинаторных парсеров людей, которые уже знакомы с Rust. Предполагается, что никаких других знаний не требуется, а всё, что не имеет прямого о...

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

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

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

OSDay 19 или почему еще жив язык Си Недавно (10-11 июня) в Москве прошла очередная научно-практическая конференция OSDay. На этот раз конференция проходила в математическом институте им. В.А. Стеклова РАН. Формально она была посвящена инструментам разработки операционных платформ и системного программного обе...

[Из песочницы] Как создать 2D игру с Python и аркадной библиотекой Привет, Хабр! представляю вашему вниманию перевод статьи How to create a 2D game with Python and the Arcade library автора Paul Vincent Craven Как создать 2D игру с Python и аркадной библиотекой Узнайте, как начать работу с Arcade, простой в использовании библиотеки Python д...

Plasma Cash Chain как решение трилеммы масштабируемости в блокчейн Добрый день, уважаемые читатели! Данная статья посвящена Plasma Cash Chain и проливает свет на следующие темы: трилемма масштабируемости и способы ее решения; структуры данных чайлд чейна и их отображение в рутчейне; реализация ввода в рутчейн; реализация вывода из рутче...

[Из песочницы] Как научиться учиться Привет, Хабр! Представляю вашему вниманию перевод статьи «HOW TO LEARN HOW TO LEARN». Заметки и наблюдения о том, как лучше организовать свой учебный процесс. Мы, IT-шники, обречены на постоянное обучение до конца жизни. Еще 10-15 лет назад знания Java и JSP-серверлетов б...

40 каналов и чатов для тех, кто интересуется DevOps Сфера DevOps развивается очень стремительно. Команда DevOpsDays Moscow составила список каналов и чатов для тех, кто интересуется DevOps и хочет оставаться в центре событий. Мы сами читаем эти каналы, а некоторыми даже руководим. Все сообщества для удобства мы разделили на...

[recovery mode] Навыки, самообразование и языки программирования для начинающих разработчиков: исследование HackerRank В начале этого года HackerRank опубликовала результаты масштабного исследования, в котором приняли участие 10 тысяч студентов — будущих разработчиков. Целью исследования было выяснить, насколько важно самообразование в ходе обучения, а также узнать, какие навыки студенты ...

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

Путь курильщика: как войти в профессию программиста, если ты гуманитарий В детстве Анастасия Бирилло мечтала стать учителем русского языка и литературы. Сегодня она – научный сотрудник JetBrains Research, методист и преподаватель Digital Banana, а также разработчик собственного стартапа. «Гуманитарий – не приговор», – утверждает Настя. На нашей н...

PHP для начинающих. Обработка ошибок Не совершает ошибок только тот, кто ничего не делает, и мы тому пример — сидим и трудимся не покладая рук, читаем Хабр :) В этой статье я поведу свой рассказа об ошибках в PHP, и о том как их обуздать. Читать дальше →

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

Страх и ненависть DevSecOps У нас было 2 анализатора кода, 4 инструмента для динамического тестирования, свои поделки и 250 скриптов. Не то, чтобы это всё было нужно в текущем процессе, но раз начал внедрять DevSecOps, то надо иди до конца. Источник. Авторы персонажей: Джастин Ройланд и Дэн Хармон. ...

Google вводит атрибут для покупных ссылок Спустя пятнадцать лет после внедрения nofollow Google решил презентовать сеошникам два новых атрибута для ссылок.

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

this и ScopeChain в EcmaScript Привет, Хабр! В предыдущей статье мы рассматривали общую теории ООП в применении к EcmaScript и популярное заблуждение начинающих разработчиков относительно отличия ООП в JS и классических языках. Сегодня мы поговорим о двух других не менее важных концепциях EcmaScript, а...

[Перевод] Расцвет и упадок Visual Basic Мне нужно сделать признание. До того, как я стал респектабельным разработчиком, работающим с такими современными языками, как C# и Java (и тем бурлящим хаосом, который известен нам под именем JavaScript), я был увлечённым фанатом невероятно популярного и неуклюжего Visual Ba...

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

[Из песочницы] System.Console, Mono и NCurses Всем привет, в своей работе (а ранее и в учебе) я часто использую C# и этот язык стал мне, что называется, привычным. Решив немного потренироваться в программировании, я написал консольный текстовый редактор для Linux. Вкратце опишу полученный опыт. В Mono класс System.C...

Paper — минималистичный редактор заметок для macOS Он прекрасно подходит и для коротких записей, и для длинных текстов.

Python vs. Scala для Apache Spark — ожидаемый benchmark с неожиданным результатом Apache Spark на сегодняшний день является, пожалуй, наиболее популярной платформой для анализа данных большого объема. Немалый вклад в её популярность вносит и возможность использования из-под Python. При этом все сходятся на том, что в рамках стандартного API производитель...

Ускорение запуска Julia при помощи PackageCompiler.jl Зайдя на официальный сайт языка программирования Julia, можно увидеть утверждение: "Julia is fast!". Однако, новые пользователи на практике сталкиваются с проблемой медленной загрузки модулей, в особенности графических [1,2]. Диалектически, причиной медленного запуска являет...

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

End2End-подход в задачах Automatic Speech Recognition Что такое End2End-распознавание речи, и зачем же оно нужно? В чем его отличие от классического подхода? И почему для обучения хорошей модели на основе End2End нам потребуется огромное количество данных — в нашем сегодняшнем посте. Классический подход к распознаванию речи Пр...

[Из песочницы] Генератор мемов на Ruby для привлечения интереса к языку По моему мнению язык Ruby перестал быть популярным как в 2012 — 2014 году и поэтому у меня возникло желание пока про язык совсем не забыли, попробовать его снова донести в массы, ведь Ruby по моему мнению самый удобный и практичный язык для веб разработки. Я с неделю назад ...

[Перевод] Язык программирования Swift на Raspberry Pi Raspberry PI 3 Model B+ В этом мануале мы разберем основы использования Swift на Raspberry Pi. Raspberry Pi — небольшой и недорогой одноплатный компьютер, потенциал которого ограничен лишь его вычислительными ресурсами. Он хорошо известен техногикам и любителям DIY. Это о...

OpenSceneGraph: Основы работы с текстурами Введение Мы уже рассматривали пример, где раскрашивали квадрат во все цвета радуги. Тем не менее существует и другая технология, а именно применение к трехмерной геометрии так называемой текстурной карты или просто текстуры — растрового двухмерного изображения. При этом во...

DevOops 2019 глазами разработчика 29-30 октября в Санкт-Петербурге прошла конференция DevOops. В этой статье я поделюсь впечатлениями и инсайтами, а также краткими заметками о прослушанных докладах. Небольшой disclaimer: поскольку я разработчик, то некоторые мысли и комментарии могут быть с уклоном в Dev, ...

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

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

На что способна ада. Делаем утилиту для определения гипервизора на полузабытом языке Для подписчиковЛучше всего познавать язык на реальном проекте, поэтому, когда я решил поэкспериментировать с адой, я поставил себе реальную и интересную задачу: написать утилиту для детекта работы в гипервизоре. Это само по себе занятно, а новый язык программирования позволи...

[Перевод] Представляем .NET Core 3.1 Preview 2 Представляем .NET Core 3.1 Preview 2. .NET Core 3.1 будет небольшим выпуском, сфокусированным на ключевых улучшениях в Blazor и Windows desktop, двух больших новинках .NET Core 3.0. Это будет выпуск с долгосрочной поддержкой (LTS) с ожидаемой финальной датой выкатки в декабр...

[Перевод] Что записано в this? Закулисье JavaScript-объектов JavaScript — это мультипарадигменный язык, поддерживающий объектно-ориентированное программирование и динамическую привязку методов — мощную концепцию, которая позволяет структуре JavaScript-кода меняться во время выполнения программы. Это даёт разработчикам серьёзные возмож...

Гэри Илш о EAT, новых ссылочных атрибутах и факторах ранжирования Google На конференции Pubcon 2019 состоялась Q/A-сессия с сотрудником Google Гэри Илшем. Ведущей сессии выступила SEO-консультант и автор блога TheSEMPost Дженнифер Слэгг. Ниже – обзор самых интересных вопросов и ответов. 1. Новые ссылочные атрибуты (rel=sponsored и ugc) Есть ли ка...

Julia и нейронные сети: Flux Прошло чуть больше года, с тех пор как MIT объявил о релизе высокопроизводительного языка общего назначения Julia. С тех пор язык набирает популярность: он используется в более чем 1500 университетах (в некоторых преподается в качестве первого ЯП), а области применения охва...

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

Waves выпустила обновление ноды с поддержкой языка RIDE Блокчейн-экосистема Waves Platform выпустила обновление ноды версии 0.17, благодаря которому в тестовой сети стал доступен язык программирования RIDE для dApps. Об этом журналу ForkLog сообщили представители компании. Одной из характеристик языка является защита разработчико...

Асинхронное программирование (полный курс) Асинхронное программирование за последнее время стало не менее развитым направлением, чем классическое параллельное программирование, а в мире JavaSript, как в браузерах, так и в Node.js, понимание его приемов заняло одно из центральных мест в формировании мировоззрения раз...

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

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

[Из песочницы] SpaceVIL — кроссплатфоремнный GUI фреймворк для разработки на .Net Core, .Net Standard и JVM В данной статье я постараюсь рассказать о фреймворке SpaceVIL (Space of Visual Items Layout), который служит для построения пользовательских графических интерфейсов на платформах .Net / .Net Core и JVM. SpaceVIL является кроссплатформенным и мультиязычным фреймворком, в его ...

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

Гэри Илш об атрибуте alt и отказе от альтернативного текста На днях один из SEO-специалистов поинтересовался в Twitter, нужен ли Google альтернативный текст или можно оставлять атрибут alt пустым. Его вопрос выглядел так: «Случайная мысль. Я наблюдаю, как всё больше экспертов по доступности говорят клиентам, чтобы они оставляли больш...

Всё, кроме Kotlin: Андрей Бреслав о гендерном балансе в IT, эмоциях и не только Андрей Бреслав (abreslav) известен прежде всего как человек, возглавляющий работу над языком Kotlin. Но в последнее время он стал выступать с докладами совсем о другом: весной говорил о важности эмоций при работе в IT, а в августе на TechTrain представит доклад «Это выгодн...

Инструменты для запуска и разработки Java приложений, компиляция, выполнение на JVM Ни для кого не секрет, что на данный момент Java — один из самых популярных языков программирования в мире. Дата официального выпуска Java — 23 мая 1995 года. Эта статья посвящена основам основ: в ней изложены базовые особенности языка, которые придутся кстати начинающим “д...

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

Руководство: Thymeleaf + Spring. Часть 2 Первая часть Третья часть 5 Отображение Seed Starter Data Первое, что покажет наша страница /WEB-INF/templates/seedstartermng.html, — это список с начальными стартовыми данными, которые в данный момент сохранены. Для этого нам потребуются некоторые внешние сообщения, а т...

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

[Перевод] RxVMS — практичная архитектура для Flutter-приложений Это первый пост из серии публикаций, в которых объясняется мое понимание архитектуры приложений для Flutter. Предупреждаю — это будет весьма самоуверенным. Пока запланированы: Введение (этот пост) Основы Dart Streams RxDart: магические трансформации потоков Основы RxVMS: Rx...

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

Знакомство с Python для камрадов переросших «язык A vs. язык B» и другие предрассудки Для всех хабравчан, у которых возникло ощущение дежа-вю: Написать этот пост меня побудили статья "Введение в Python" и комментарии к ней. К сожалению, качество этого "введения" кхм… не будем о грустном. Но ещё грустнее было наблюдать склоки в комментариях, из разряда "C++ бы...

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

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

HackerRank: JavaScript обошёл Java в качестве самого популярного языка программирования Платформа HackerRank, объединяющая более 5 млн программистов со всего мира, опубликовала результаты своего ежегодного исследования, посвящённого навыкам разработчиков – Developer Skills Report 2019. В опросе приняли участие более 71 тыс. инженеров по программному обеспечению...

DOU.UA опубликовал рейтинг языков программирования среди украинских IT-специалистов. В лидерах Java, JavaScript, C#, PHP и Python Украинское издание DOU.UA провело опрос среди украинских специалистов, в котором приняло участие более 900 респондентов, 90% из которых проживают в Украине. Полученные данные позволили определить наиболее популярные среди украинских специалистов языки программирования. В это...

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

В Java может появиться новая сериализация На сайте OpenJDK появился новый исследовательский документ, в котором описывается идея введения в язык новой улучшенной сериализации взамен старой. Сериализация в Java существует с версии 1.1, то есть практически с момента её рождения. С одной стороны, сериализация является...

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

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

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

Самые популярные языки программирования 2014-2019 На этом видео - самые популярные языки программирования с 2004 по 2019 год.

Заметка о интеграционном тестировании используя Jenkins на Kubernetes Добрый день. Практически сразу после установки и конфигурации CI/CD по инструкции из предыдущего поста у команды возник вопрос как правильно осуществлять интеграционное тестирование. У нас уже был опыт запуска тестовых зависимостей в docker контейнерах, но это стало проблема...

Концепции программирования в Scratch Многим знаком Scratch – детская среда программирования, обучение в которой обычно сводится к созданию творческих проектов по принципу «от простого к сложному». При этом «классический подход» к изучению программирования (переменные → ветвления → циклы → функции → структуры ...

DataArt примет открытую лекцию Андрея Терехова, завкафедрой системного программирования Матмеха СПбГУ 5 декабря — это будет четверг — в центре разработки DataArt в Санкт-Петербурге пройдет лекция доктора физмат наук, профессора, члена правления РУСОФТ Андрея Николаевича Терехова. Он расскажет о самых популярных советских ЭВМ, о работе над транслятором языка Алгол-68 для ни...

Карьера программиста. Глава 3. Университет Продолжение рассказа «Карьера программиста». Закончив вечернюю школу, пришла пора поступать в университет. В нашем городе был один университет технической направленности. В нем же, был один факультет «Математики и Информатики», на котором была одна кафедра «Компьютерных сис...

Arend – язык с зависимыми типами, основанный на HoTT (часть 1) В данном посте мы поговорим о только что выпущенном JetBrains языке с зависимыми типами Arend. Этот язык разрабатывался JetBrains Research на протяжении последних нескольких лет. И хотя репозитории уже год назад были выложены в открытый доступ на github.com/JetBrains, полноц...

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

Встраиваем Lua интерпретатор в проект для микроконтроллера (stm32) В достаточно крупных приложениях немалую часть проекта составляет бизнес-логика. Эту часть программы удобно отлаживать на компьютере, после чего встраивать в состав проекта для микроконтроллера, ожидая, что эта часть будет выполняться в точности так, как было задумано без ...

Загадочный Forth. Знакомимся с одним из важнейших языков программирования, о котором мало кто знает Для подписчиковForth применяют в самых разных областях, включая чипсеты PCI и космические аппараты, а Павел Дуров будет использовать схожий язык в смарт-контрактах криптовалюты TON. Не претерпев больших изменений, один из старейших языков программирования позволяет воплотить...

Пасьянс "Косынка" 0.1 Представляем Вам любимый многими классический пасьянс «Косынка» известный в англоязычном варианте также как Klondike Solitaire или просто Solitaire. Пасьянс работает на основе классических правил – цель проста: соберите в доме все карты по порядку и масти, от туза до коро...

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

Что слышно в радиоэфире? Принимаем и декодируем наиболее интересные сигналы Привет Хабр. На дворе уже 21й век, и казалось бы, передать данные можно в HD-качестве даже на Марс. Однако, до сих пор в радиоэфире работает немало интересных устройств и можно услышать немало интересных сигналов. Все из них рассмотреть разумеется, нереально, попробуем ...

[Из песочницы] CSS-переход свойства height от 0px до auto Здравствуй, Хабр! Хочу поделиться ещё одним способом создания css-перехода (transition) свойства height от 0px до auto. Столкнулся с данной проблемой при разработке веб-компонентов TreeView и DataGrid. В TreeView решил сделать плавное развёртывание/свёртывание узлов, а в ...

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

Причины внедрить в процесс разработки статический анализатор кода PVS-Studio PVS-Studio – это инструмент для поиска ошибок и потенциальных уязвимостей в исходном коде программ, написанных на языках C, C++, C# или Java. PVS-Studio относится к классу инструментов статического тестирования защищённости приложений (Static Application Security Testing, S...

F#3: Форматирование текста При работе с любым языком вам, скорее всего, нужно будет отформатировать текст, и F# ничем не отличается. Поскольку F# является языком .NET, мы всегда можем использовать Console.WriteLine (..) и String.Format (..), где мы можем использовать любой из обычных форматеров, кото...

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

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

Не очередной язык программирования. Часть 2: Логика представлений Вторая часть трилогии о языке и платформе lsFusion. Первую часть можно найти тут. В ней речь пойдет о логике представлений, а именно обо всем том, что связано с объединением данных и отображением их пользователю или другим информационным системам. Читать дальше →

Программирование микроконтроллеров ESP8266/ESP32 написанием YAML конфиг файлов Будучи поклонником системы управления "умным домом" Home Assistant я недавно открыл для себя интересный инструмент, тесно с HA интегрированный и ранее на Хабре не освещенный — ESP Home (ранее ESPhomeYAML). ESP Home представляет собой набор библиотек и инструментов, генерирую...

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

Самые короткие научные статьи Математика В 2005 году ученые Джон Конуэй (John Conway) и Александр Сойфер (Alexander Soifer) решили написать «самую короткую научную статью по математике в мире». Непосредственно тело статьи состоит из двух слов (и двух иллюстраций — в них содержится ответ на вопрос, постав...

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

Работа с датами на языке R (базовые возможности, а также пакеты lubridate и timeperiodsR) Получить текущую дату в любом языке программирования, операция эквивалентная "Hello world!". Язык R не является исключением. В этой статье мы разберёмся с тем, как устроена работа с датами в базовом синтаксисе языка R, а также рассмотрим несколько полезных пакетов, расширяющ...

Рубрика «Читаем статьи за вас». Июль — Сентябрь 2019 Привет, Хабр! Продолжаем публиковать рецензии на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество! Статьи на сегодня: Layer rotation: a surprisingly powerful indicator of generalizati...

Рубрика «Читаем статьи за вас». Январь — Июнь 2019 Привет, Хабр! Продолжаем публиковать рецензии на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество! Статьи на сегодня: Neural Ordinary Differential Equations (University of Toronto, 2...

Microsoft представила новый язык программирования Он получил название Bosque.

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

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

Основы шаблонов С++: шаблоны функций Дисклаймер: статья была начата еще в феврале, но, по зависящим от меня причинам, закончена не была. Тема очень обширна, поэтому публикуется в урезаном виде. Что не поместилось, будет рассмотренно позже. Невозможно разбираться в современном С++, не зная, что такое шаблоны п...

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

[Из песочницы] Преодоление порога 32 КБ для данных в ПЗУ микроконтроллеров AVR Что может быть хуже костылей? Только неполно документированные костыли. Перед вами скриншот из последней официальной интегрированной среды разработки для 8-битных микроконтроллеров AVR, Atmel Studio 7, язык программирования Си. Как видно из столбца Value, переменная my_arra...

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

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

[Из песочницы] Как с нуля написать приложение? С чего начать новичку? Flutter / Программирование Пол года назад я сама искала такую статью и теперь я очень хочу посоветовать себе в прошлом с чего можно начать. 1. Выбрать тему приложения Не нужно долгих мук выбора, просто начните делать то, что вам пригодилось бы. Лучше что-то простое. Нужно понимать, что мы пока не стр...

[Перевод] Выпуск Rust 1.39.0: async/await, аттрибуты для параметров функций, новые константные функции Команда Rust рада сообщить о выпуске новой версии, 1.39.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение. Если вы установили предыдущую версию Rust средствами rustup, то для обновления до версии 1.39.0 вам дост...

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

[Из песочницы] Изучаем данные, собранные Xiaomi Mi Band за год Введение Люди носят фитнес-браслеты по разным причинам, я могу предположить некоторые из них: Для того, чтобы поддерживать себя в форме и выполнять цели по активности; Потому что это некая модная штучка; Чтобы ставить над собой эксперименты или узнать себя лучше. Я ношу фи...

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

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

Реализация Kotlin Flow на C# Всем привет! Последние годы я занимаюсь разработкой под Андроид на Котлине. Не так давно, за неимением RxJava на Kotlin multiplatform, мы начали использовать корутины и flow – холодные стримы для Котлина из коробки. До Андроида я много лет провёл с C#, и там свои корутины е...

[Перевод] Rust в Microsoft (или cоздание Security Daemon Azure IoT Edge) Примечание от переводчика: Rust относительно молодой язык программирования, и на этом этапе развития всегда интересные опыты практического применения. Известно, что Intel, DropBox, Amazon, Facebook и другие используют Rust для своих проектах. Про применение Rust в проекте ...

Kotlin как будущее разработки приложений на Android С момента появления версии 1.0 прошло всего несколько лет, а язык приняли на вооружение многие крупные компании и разработчики. Всё благодаря тому, что создателям языка удалось добиться целей, поставленных в начале пути — разработать инструмент, который был бы удобнее и б...

Распознавание номеров. Практическое пособие. Часть 1 Все начиналось банально — моя компания уже год платила ежемесячно плату за сервис, который умел находить регион с номерными знаками на фото. Эта функция применяется для автоматической зарисовки номера у некоторых клиентов. И в один прекрасный день МВД Украины открыло дост...

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

Ссылочные атрибуты nofollow, sponsored и ugc и их влияние на SEO Разбираемся с последними изменениями в обработке ссылочных атрибутов со стороны Google. Сообщение Ссылочные атрибуты nofollow, sponsored и ugc и их влияние на SEO появились сначала на Searchengines.ru.

Google рассказала, как создавать приложения на Android «Разработка Android-приложений на языке Kotlin» – это бесплатный онлайн-курс, который компания Google разработала совместно с образовательной организацией Udacity для того, чтобы любой желающий мог пройти самостоятельное обучение и постичь азы (и не только) программирования...

[Из песочницы] React. Lazy loading Доброго времени суток. Занимаюсь разработкой проекта на React и Redux. Хочу в этой статье описать архитектуру своего проекта. Итак, начнем. Файловая структура: Для подключения редьюсеров создаем класс singleton reducerRegister: ./reducerRegister.js class ReducerRegistry...

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

Заметки фитохимика. Радио-банан Каждое чудо должно найти свое объяснение, иначе оно просто невыносимо… К.Чапек Я практически не касаюсь в своих статьях вещей, которые повсеместно описаны и легко доступны, к примеру макро- и микроэлементного состава фруктов/овощей. Но вот для банана решил сделать исключени...

Счётчик DWT Маленькая заметка об очень полезной вещице входящей в состав модуля DWT (Data Watchpoint and Trace unit) имеющегося у stm32. Читать дальше →

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

Автоматизируем переход на React Hooks React 16.18 — первый стабильный релиз с поддержкой react hooks. Теперь хуки можно использовать не опасаясь, что API изменится кардинальным образом. И хотя команда разработчиков react советует использовать новую технологию лишь для новых компонентов, многим, в том числе и мне...

[Из песочницы] Имплементация кэша на Verilog В данной статье разбор простейшей реализации RAM на языке Verilog. Перед тем, как перейти к разбору кода, рекомендуется изучить базовый синтаксис языка Verilog. Здесь вы можете найти обучающие материалы. Читать дальше →

4G-роутер в роли универсального сервера для IoT Роутеры серии ICR-3200 призваны заменить классическую связку: одноплатный компьютер + модем + роутер. Теперь можно запускать всю необходимую логику прямо на роутере. Благодаря мощному ARM-процессору, 512 МБ оперативной памяти и ~2ГБ встроенной флеш-памяти, на роутере можно ...

[Перевод] Тестирование инфраструктуры как код с помощью Pulumi. Часть 1 Добрый день, друзья. В преддверии старта нового потока по курсу «DevOps практики и инструменты» делимся с вами новым переводом. Поехали. Использование Pulumi и языков программирования общего назначения для инфраструктурного кода (Infrastructure as Code) дает много преимущ...

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

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

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

Основы машинного обучения простым языком Перевод заметки аналитика фармацевтической компании Pfizer Кайла Галлатина.

Создатель C++ «похоронил» биткоин Масштабное энергопотребление и использование в незаконных целях является доказательством нежизнеспособности биткоина. Об этом в интервью Youtube-каналу Лекса Фридмана, специалиста по искусственному интеллекту, заявил создатель языка программирования C++ Бьерн Страуструп. Дат...

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

Смесь на тему программирования и около Век галантности проходит. Ему на смену приходит век софистов, экономистов и вычислителей; Слава Европы исчезнет навсегда. Э.Бек (Англия, 1792) Зачем? Прожив не короткую жизнь программиста спрашиваю себя: “Было ли в ней чего интересного от программирования и если да, то, что...

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

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

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

Искусство парсинга 2 или транслитерация собственной разметки +БОНУС: как включать классы друг в друга в C++ Привет, Хабр! Эта статья — прямое продолжение статьи Искусство парсинга или DOM собственными руками, где мы разобрали HTML-документ и построили на его основе абстрактное синтаксическое дерево (AST) с доступом к любому элементу ч...

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

Серия лекций по робототехнике профессора Грегора Шёнера, директора Института нейроинформатики (INI) Бохум, Германия Открытые лекции спикера пройдут в рамках Международной объединённой летней школы «Роботы: сознание, очувствление и управление», организованной Центром технологий компонентов робототехники и мехатроники Университета Иннополис. Язык — английский. Читать дальше →

В США поймали огромного бирманского питона: гость из Азии 5,1-метровая самка питона весом 53,5 кг — это инвазивный вид, завезенный во Флориду из Бирмы и активно осваивающий новые территории. На родине эти змеи вырастают до 5−6 метров в длину, но для солнечных регионов США это большая редкость. Исследователи признали, что питоны пре...

Sophos XG Firewall: От классического МЭ до NGFW с автоматической реакцией на ИБ инциденты В настоящее время происходят изменения в архитектуре угроз и резкое увеличение числа и сложности систем безопасности и, конечно, происходит эволюция в разработке средств защиты, в том числе межсетевых экранов. Межсетевые экраны нового поколения (Next-Generation Firewall, NG...

[Из песочницы] OBD2 reader — диагностика автомобиля При создании приложения мы столкнулись с множеством выборов, проблем и так далее, с которыми попробуем ознакомить вас в этой статье. Как оказалось с автомобилем можно вести диалог, причем довольно таки продуктивный. Естественно для того чтобы организовать общение с автомобил...

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

[Из песочницы] Особенности атрибута inputmode для мобильных ОС и браузеров Привет, Хабр! Представляю вашему вниманию перевод статьи «Everything You Ever Wanted to Know About inputmode» Christian Oliff. Примечание переводчика: Первоначальное название статьи «Всё, что вы когда-либо хотели знать об inputmode» изменено на «Особенности атрибута inputmo...

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

Adata выходит на рынок блоков питания с серией XPG Core Reactor Компания Adata решила попробовать свои силы на рынке блоков питания. Дебютная серия XPG Core Reactor включает модели мощностью 550 Вт, 650 Вт, 750 Вт и 850 Вт, оснащенные модульными кабельными системами и имеющими сертификаты 80 Plus Gold. Все четыре модели имеют длину...

[Из песочницы] Какой уровень востребованности PHP разработчиков на 1 квартал 2019 года? На рынке труда программисты PHP являются одними из наиболее востребованных специалистов. За последние 3 года их популярность среди работодателей выросла на более чем на 12%. PHP — самый распространенный язык программирования общего назначения с открытым исходным кодом, многи...

Async/await в C#: концепция, внутреннее устройство, полезные приемы Доброго времени суток. В этот раз поговорим на тему, в которой начинал разбираться каждый уважающий себя адепт языка C# — асинхронное программирование с использованием Task или, в простонародье, async/await. Microsoft проделали хорошую работу — ведь для того, чтобы использов...

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

Рейтинг языков программирования в мире на начало июля 2019 Новый выпуск индекса TIOBE на начало июля от голландских аналитиков.

Рейтинг языков программирования в мире на ноябрь 2019 Перевод ноябрьского индекса TIOBE: Java рискует уступить первенство.

Заметки product manager’a: поведение пользователей на страницах игр в app store. Сколько надо времени чтобы скачать игру В интернете большое количество информации о том, как правильно паблишить мобильные игры, как делать для них маркетинг, что размещать на страницах магазинов, однако большое количество нюансов незаметны сразу. В данной статье я поделюсь своими заметками и инсайтами, которые бы...

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

Evrone и DataArt проведут в Воронеже серию митапов Первая встреча, посвященная языку Ruby, пройдет 20 апреля в отеле Ramada Plaza. На следующей, в начале июня, речь пойдет о машинном обучении, далее — два митапа о Java и фронтенд-разработке и большая итоговая конференция. Компания Evrone известна, прежде всего, проведени...

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

iТоги 2019/4: смартфоны немного сдали позиции. Вспоминаем основные темы и самые интересные новости апреля 2019 года Рынок смартфонов уже не первый квартал сокращается, что начало отражаться и на дайджесте самых читаемых новостей месяца. Хотя заметки о смартфонах продолжают оставаться наиболее многочисленной категорией, с ними соседствуют публикации о видеокартах, телевизорах и других инте...

Внутренние и вложенные классы java. Часть 2 Внутренние и вложенные классы java 02.03.2017 — 2019 год <<< Часть 1 Часть 2 Внутренние классы Inner Classes — Внутренние классы Внутренний класс связан с экземпляром его обрамляющего класса (из документации). Пример внутреннего класса есть в документации...

[Перевод] Грамматика английского. Who vs. Whom – как понять, какое слово использовать Разобраться в хитростях английской грамматики может быть довольно непросто. Классический пример здесь – выбор между who и whom. Даже носители языка не всегда корректно используют нужное слово, что уж говорить о тех, кто только изучает английского. В блоге одного из сервис...

Книга «Глубокое обучение с подкреплением на Python. OpenAI Gym и TensorFlow для профи» Привет, Хаброжители! Глубокое обучение с подкреплением (Reinforcement Learning) — самое популярное и перспективное направление искусственного интеллекта. Практическое изучение RL на Python поможет освоить не только базовые, но и передовые алгоритмы глубокого обучения с подк...

[Перевод] Courier: мигрирование Dropbox на gRPC Примечание переводчика Большинство современных программных продуктов не являются монолитными, а состоят из множества частей, которые взаимодействуют друг с другом. При таком положении дел необходимо, чтобы общение взаимодействующих частей системы происходило на одном языке...

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

Язык программирования Ruby обновлен до версии 2.6 Главным новшеством стал JIT-компилятор, повышающий скорость выполнения кода.

[Из песочницы] Разработка многозадачной микроядерной ОС — Планировщик После того, как вы прочитали базовые шаги по написанию Hello World ядра из цикла имеющихся на Хабре статей, самое время приступить к серьезной разработке самых базовых инструментов: аллокатора кучи и планировщика. Честно говоря я долго думал стоит ли начинать писать статьи ...

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

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

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

MQTT/UDP, предвесенние итоги: дистанционная конфигурация и цифровая подпись Зима кончается, и это повод подвести очередную черту и рассказать, что нового появилось в MQTT/UDP. Для начала, ссылки на предыдущие введение и статью. Спасибо всем, кто с интересом отреагировал и отдельно тем, кто делился мыслями. Вы мне очень помогли с подходом к цифрово...

Подборка @pythonetc, май 2019 Это одиннадцатая подборка советов про Python и программирование из моего авторского канала @pythonetc. Предыдущие подборки. Читать дальше →

Подборка @pythonetc, апрель 2019 Это десятая подборка советов про Python и программирование из моего авторского канала @pythonetc. Предыдущие подборки. Читать дальше →

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

Курс лекций «Основы цифровой обработки сигналов» Всем привет! Часто ко мне обращаются люди с вопросами по задачам из области цифровой обработки сигналов (ЦОС). Я подробно рассказываю нюансы, подсказываю нужные источники информации. Но всем слушателям, как показало время, не хватает практических задач и примеров в процессе...

Пример разбора C++ кода с помощью libclang на Python На одном личном проекте на C++ мне потребовалось получать информацию о типах объектов во время выполнения приложения. В C++ есть встроенный механизм Run-Time Type Information (RTTI), и конечно же первая мысль была использовать именно его, но я решил написать свою реализацию,...

Асинхронное программирование в JavaScript (Callback, Promise, RxJs ) Всем привет. На связи Омельницкий Сергей. Не так давно я вел стрим по реактивному программированию, где рассказывал про асинхронность в JavaScript. Сегодня я бы хотел законспектировать этот материал. Но перед тем как начать основной материал нам нужно сделать вводную. Итак...

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

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

Тише едешь – дальше будешь: Автомобилисты сравнили в деле старые «Джетту» и ВАЗ-2109 Драг-битва между двумя старыми «тазами» окончилась сомнительным результатом. Но и его можно учесть, выбирая между «девяткой» и «Джеттой»: смотря, что нужно от машины. Коллекция видеороликов YouTube-канала «GVR AUTO SHOW» пополнилась обсуждаемой новинкой – реальным драг-батт...

Обновился менеджер пакетов Sileo для iOS-устройств с джейлбрейком Версия 1.2.9 был полностью переписана на языке программирования Swift.

Google назвал приоритетный язык программирования для создания Android-приложений Он позволяет работать с меньшим количеством кода

Kotlin вошел в Топ-20 языков программирования RedMonk Вышел новый рейтинг языков программирования RedMonk и самый заметный рост в нем показал Kotlin.

[Из песочницы] Что значит unsafe в Rust? Привет, Хабр! Представляю вашему вниманию перевод статьи "What Is Rust's unsafe?" автора Nora Codes. Мне доводилось видеть много недопониманий относительно того, что значит ключевое слово unsafe для полезности и правильности языка Rust и его продвижения как "б...

На форуме «Город образования» проведут мастер-классы по ИТ для учителей В программу московского международного форума «Город образования» (он пройдет на ВДНХ с 29 августа по 1 сентября) включена презентация проекта «ИТ-класс в московской школе». В его рамках пройдет ряд мастер-классов по креативному программированию для педагогов. В ходе этих за...

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

В Москве школьники будут осваивать Scratch 10 и 11 октября 2019 года в Москве состоится мастер-класс «Визуальные языки программирования (Scratch) для глухих и слабослышащих детей». Мероприятие проводится в рамках инициативы Meet and Code и Европейской недели программирования. На мастер-классе школьники 3–6 классо...

BlessRNG или проверяем ГСЧ на честность В геймдеве часто нужно что-нибудь завязать на рандоме: у Unity для этого есть свой Random, а параллельно с ним существует System.Random. Когда-то давно на одном из проектов сложилось впечатление, что оба могут работать по-разному (хотя должны иметь равномерное распределени...

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

[Из песочницы] Язык программирования, помещающийся на почтовой открытке Источник Ральф Джонсон, один из членов "Банды четырёх", однажды показал, как синтаксис языка Smalltalk-80 можно уместить на почтой открытке. Сейчас, спустя почти 30 лет после появления первой версии Smalltalk, самым быстроразвивающимся диалектом Smalltalk является...

[Перевод] Десять лет программирования на Erlang Я присоединился к сообществу Erlang около 10 лет назад, посреди первой фазы хайпа. Нам говорили, что Erlang — это будущее конкурентности и параллелизма. Реализовать их на этом языке проще и быстрее всего, и вы ещё получите бесплатную распределённость. В то время будущее каз...

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

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

Эпистолярный жанр: от знакомства с брендом до первой покупки Как выстроить успешную коммуникацию при помощи email-рассылки? Формируем Welcome-серию писем с целью увеличения продаж. И читаем рекомендации Директора по маркетингу GetResponse Россия, Юлии Раковой.

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

Из эпицентра Google Cloud Next ’19: полевые заметки CEO Если хотите знать, откуда дует ветер, отправляйтесь в самое сердце урагана. Приблизительно такое ощущение сложилось от посещения конференции Google Cloud Next ’19, где три дня разработчики, продакт-менеджеры, специалисты по данным и другие светлые умы делились самыми горяч...

Самые редкие и самые дорогие языки программирования. Часть II Недавно для читателей Habr я провела небольшое исследование языков программирования, таких как Rust, Dart, Erlang, чтобы выяснить, насколько они являются редкими на российском рынке IT. В ответ на мое исследование посыпалось больше количество комментариев и вопросов касате...

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

На Яндекс.Диске появился раздел с заметками На сервисе Яндекс.Диск появился новый раздел —  Яндекс.Заметки. Содержимое раздела синхронизируется между устройствами: можно начать составлять заметку на рабочем компьютере, а продолжить — в метро на смартфоне. В Заметках ­можно вести списки дел и покупок — или з...

[Перевод] Компиляция C в WebAssembly без Emscripten Компилятор — часть Emscripten. А что, если удалить все свистелки и оставить только его? Emscripten необходим для компиляции C/C++ в WebAssembly. Но это гораздо больше, чем просто компилятор. Цель Emscripten в том, чтобы полностью заменить ваш компилятор C/C++ и запустить в ...

Курс по Kotlin – руководство для начинающих Это введение в Kotlin, статически типизированный язык программирования общего назначения с открытым исходным кодом.

Не утруждайтесь изучением этих языков программирования в 2019 г. Платформа Codementor надеется сократить спектр языков, заслуживающих затрат времени и сил …

Мировой рейтинг языков программирования на февраль 2019 Голландская компания TIOBE Software изучила популярность языков программирования в мире и составила февральский рейтинг 2019. Адаптированный перевод.

Язык программирования Kotlin, созданный выходцами из России, стал основным для Android-приложений Большой успех российских программистов

25 бесплатных онлайн-курсов программирования для обучения с нуля Осваивайте популярные языки не выходя из дома и в удобном для вас темпе.

[Перевод] Какие ставки сделал Безос в 1997 году, чтобы Amazon сейчас занимал 50% рынка e-commerce в США и 14% в мире? Джеф Безос, гендиректор Amazon ежегодно пишет письмо акционерам, а волонтеры школы стартапов RUSSOL и инициативы Y Combinator по-русски переводят их, чтобы попытаться ответить на этот вопрос и вдохновить читателей на создание своего Amazon. Читаем перевод первого письма акци...

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

Самые редкие и самые дорогие языки программирования Принято считать, что языки программирования, такие как Rust, Erlang, Dart, а также некоторые другие являются самыми редкими в мире IT. Поскольку я подбираю IT специалистов для компаний, постоянно контактируя с айтишниками и работодателями, я решила провести личное исследован...

[Перевод] C# или Java? TypeScript или JavaScript? Классификация языков программирования на основе машинного обучения На GitHub представлено больше 300 языков программирования, начиная с общеизвестных языков, таких как Python, Java, и Javascript, и заканчивая эзотерическими языками, такими как Befunge, известными только малым группам людей. Топ-10 языков программирования, размещенных на Gi...

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

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

[Перевод] Объясняем SQL и NoSQL для бабушки Одно из наиболее важных решений, которые принимает разработчик, заключается в том, какую базу данных использовать. В течение многих лет опции были ограничены различными вариантами реляционных баз данных, которые поддерживали язык структурированных запросов (SQL). К ним отно...

Как создаются классы персонажей в мобильном MMO Action Продолжаем беседовать с командой разработчиков MMO экшена Pixel Wars из компании DatCroft Games. На сей раз представители отдела геймдизайна Роман Давыдов и Екатерина Стерликова рассказывают, как создавался новый класс персонажа Друид, почему он получился именно таким и в че...

Как устроен компьютер внутри Хаябусы-2, которая сбросила бомбу на Рюгу. И фотографии его разработчиков На днях японская автоматическая станция Хаябуса-2 сбросила бомбу на астероид Рюгу. Космическим кораблем управляет радиационно-устойчивая система на кристалле HR5000 (JAXA2010/101) с 64-битным процессорным ядром MIPS 5Kf. На бортовом компьютере работает операционная система р...

[Из песочницы] Новые рубежи в Физике Здравствуй, уважаемый читатель! Представляю вашему вниманию перевод с английского языка статьи «Physics, The Next Frontier» авторства Chris Hecker. Я, начинающий Java-разработчик, столкнулся с тем, что материалы по созданию физического внутриигрового движка представлены ли...

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

Автоматизация: как работать с обновлениями Привет, Хабр! Я довольно давно и много занимаюсь автоматизацией тестирования. И не понаслышке знаю, какую боль иногда доставляют новые версии чего угодно. Обновили XCode, вышла новая Selenium, придумали новый браузер (особое спасибо Microsoft за Edge и его драйвер), зачем-т...

Nvidia планирует отказаться от поддержки CUDA для macOS Уже более десяти лет Apple и Nvidia находятся не в самых лучших отношениях, что связано с линейкой MacBook Pro на платформе Nvidia. Обе компании понесли немалые убытки при решении проблем, и теперь Apple отказывается от графических компонентов Nvidia. В последних заметках о ...

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

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

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

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

У Яндекса появились синхронизируемые заметки Яндекс обзавёлся собственным сервисом заметок, который сегодня доступен уже для всех пользователей. Заметки — часть уже давно работающего Яндекс.Диска. Одной из главных фишек стала кроссплатформенность: заметки синхронизируются на всех устройствах, доступна веб-версия, при...

Вся история Linux. Часть I: с чего все началось В этом году ядру Linux исполняется 27 лет. ОС на его базе используют многие корпорации, государственные, исследовательские учреждения и дата-центры по всему миру. За более чем четверть века вышло немало статей (в том числе и на Хабре), рассказывающих о разных отрезках истор...

[Из песочницы] novtable оптимизация Компилятор Microsoft позволяет добавить расширение «novtable» для атрибута «__declspec» при объявлении класса. Заявленная цель — значительно уменьшить размер генерируемого кода. На экспериментах с нашими компонентами уменьшение составило от 0,6 до 1,2 процента от размера D...

LEGO MINDSTORMS Education EV3 + MicroPython: программируем детский конструктор взрослым языком Привет, Хабр! Мы уже рассказывали о платформе LEGO MINDSTORMS Education EV3. Основные задачи этой платформы — обучение на практических примерах, развитие навыков STEAM и формирование инженерного мышления. В ней можно проводить лабораторные работы по изучению механики и динам...

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

Крупные аварии в дата-центрах: причины и следствия Современные ЦОД надежны, однако любое оборудование время от времени ломается. В небольшой заметке мы собрали наиболее значительные инциденты 2018 года. Читать дальше →

MODX-Дайджест #4 (8 – 22 апреля 2019) Свежая подборка новостей о MODX. В выпуске: закрылся сайт modx-клуба, прогресс с конвертацией процессоров, активная работа над документацией, заметки и обновления дополнений. Приятного чтения! Читать дальше →

Подборка @pythonetc, март 2019 Это десятая подборка советов про Python и программирование из моего авторского канала @pythonetc. Предыдущие подборки. 0_0 0_0 — полностью корректное выражение на Python. Читать дальше →

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

Беспроводной модуль связи с объектом WISE-4000 Можно ли без навыков программирования развернуть систему сбора данных промышленного уровня? В статье мы познакомимся с устройствами, которые позволяют в несколько кликов получить готовую систему обработки цифровых сигналов, доступных через JSON API. Серия WISE-4000 — это ...

Bing: мы всегда воспринимали nofollow как подсказку, а не директиву На фоне активного обсуждения последних изменений в обработке атрибута nofollow со стороны Google команда Bing решила прояснить свою позицию по этому вопросу. Сегодня сотрудник поиска Фабрис Канель (Fabrice Canel) заявил в Twitter, что Bing всегда обрабатывал атрибут nofollow...

«САПР для всех, даром, и пусть никто не уйдет…» или первые шаги в программировании FreeCAD на Python Возможно, вам уже ранее попадались мои заметки по первым шагам в программировании САПР на примере NanoCAD. Надо отметить, что для человека не умеющего программировать и знающего САПР на уровне «электронного кульмана» это было удивительное приключение. Однако, NanoCAD это вс...

Промышленные неуправляемые коммутаторы Advantech серии EKI-2000 При построении сетей Ethernet используются различные классы коммутирующего оборудования. Отдельно стоит выделить неуправляемые коммутаторы – простые устройства, позволяющие быстро и эффективно организовать работу небольшой Ethernet-сети. В данной статье приводится подробны...

Заметки фитохимика. Картофель. Часть вторая. Рассказы про белки/жиры или «День сыроеда» Я думаю постоянные читатели моих заметок уже заметили достаточно скептическое мое отношение ко всевозможным, с позволения сказать, пищевым и диетологическим девиациям вроде сыроедения, моноедения, праноедения («тысячи их»). Но сегодня я хочу поговорить о таких «нутриентах» к...

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

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

Google: скульптурирование PageRank – это пустая трата времени Сотрудник Google Джон Мюллер считает, что использование ссылочного атрибута nofollow для скульптурирования PageRank – это пустая трата времени. Об этом он заявил в ответ на вопрос одного из пользователей. Вопрос к Мюллеру звучал так: «Здравствуйте! Должен ли я использовать а...

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

Книга «Kafka Streams в действии. Приложения и микросервисы для работы в реальном времени» Привет, Хаброжители! Эта книга подойдет для любого разработчика, который хочет разобраться в потоковой обработке. Понимание распределенного программирования поможет лучше изучить Kafka и Kafka Streams. Было бы неплохо знать и сам фреймворк Kafka, но это не обязательно: я ра...

Podlodka #119: Теория языков программирования Знали ли вы, что есть люди, которые сейчас исследуют и изобретают то, что через 20-25 лет превратится в хайповые фичи очередных модных и современных языков программирования?

Pathway – неидеальная игра почти про Индиану Джонса (Mac) Разработчики из студии Robotality решились на необычный шаг и выпустили игру во многом похожую на старые приключенческие романы и фильмы в духе «Индианы Джонса». В Pathway есть все атрибуты такого приключения: дальние страны, длинные и полные опасностей походы, древние храмы...

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

[Перевод] Ценны ли данные вашей компании в эпоху ИИ? И снова здравствуйте! Сегодня мы продолжаем серию публикаций приуроченных к запуску курса «Big Data для менеджеров». Итак, начнем. “ИИ близко”. Это то, что мы слышим с 2017 года и, скорее всего, продолжим слышать и дальше. Для устоявшихся компаний, которые не являются Googl...

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

Блеск и нищета переводной литературы — Лучше вообще не читать, чем такое. Часто ли вы читаете техническую литературу? Именно литературу, а не мануалы на хабре или багрепорты на гитхабе? А когда читаете, на каком языке предпочитаете это делать (если есть возможность выбирать, конечно)? Какую версию предпочтёт...

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

[recovery mode] Скрытая комиссия Яндекс.Денег в Samsung Pay Доброго времени суток. В этой небольшой заметке хочу рассказать как я попался на удочку скрытых комиссий. Читать дальше →

auto git bisect на примере ядра Linux Данная заметка имеет собой цель продемонстрировать автоматический git bisect на примере ядра Linux. С последующим поиском официальной версии начиная с которой всё поломалось и последней хорошей версии. Читать дальше →

На iOS и Android вышло приключение Hoppia Tale, вдохновленное The Legend of Zelda Студия Ludic Side, в портфолио которой несколько довольно простых аркад, выпустила мультяшное приключение Hoppia Tale, которое за короткое время получило невероятно высокие от игроков. Все дело в том, что Hoppia Tale вдохновлена одной из лучших игровых серий в истории, The ...

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

[recovery mode] Что такое Cordentity? [Перевод статьи] Cordentity — это приложение Corda (CorDapp) позволяющее использовать возможности технологии Self Sovereign Identity (SSI) другим CorDapps. Другими словами, Cordentity = Corda + Identity. Мы рады объявить, что теперь Cordentity является проектом Hyperledger Labs с открытым и...

Kotlin puzzlers, Vol. 2: новая порция головоломок Можете предсказать, как поведёт себя такой Kotlin-код? Скомпилируется ли он, что выведет и почему? Как бы хорош ни был язык программирования, он может подкинуть такое, что останется только в затылке чесать. Kotlin не исключение — в нём тоже встречаются «паззлеры», когда д...

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

[Перевод] Wolfenstein 3D: трассировка лучей с помощью WebGL1 После появления прошлым летом графических карт Nvidia RTX трассировка лучей (ray tracing) снова обрела былую популярность. За последние несколько месяцев мою ленту в Twitter заполнил бесконечный поток сравнений графики со включенным и отключенным RTX. Полюбовавшись на тако...

Наши победили: TopCoder Open 2019 В Хьюстоне 13-16 ноября прошёл финал чемпионата TopCoder Open 2019, и Гена Короткевич (Беларусь) занял первое место сразу в двух соревновательных треках: Algorithm и Marathon. Такое раньше ещё никому не удавалось сделать в один год! Отличное завершение сезона-2019, в котор...

[Перевод] Ленивая загрузка изображений средствами браузера Автор материала, перевод которого мы сегодня публикуем, Эдди Османи из Google, говорит, что уже в Chrome 75 вполне может появиться поддержка нового атрибута элементов <img> и <iframe> loading. Это означает, что данные элементы будут поддерживать стандартные возмо...

[Перевод] Как приоритеты pod'ов в Kubernetes стали причиной простоя в Grafana Labs Прим. перев.: Представляем вашему вниманию технические подробности о причинах недавнего простоя в работе облачного сервиса, обслуживаемого создателями Grafana. Это классический пример того, как новая и, казалось бы, исключительно полезная возможность, призванная улучшить кач...

Как питон глотает крокодила Благодарим за фото газету Daily Mail. Источник

Распознавание объектов в режиме реального времени на iOS с помощью YOLOv3 Всем привет! В данной статье мы напишем небольшую программу для решения задачи детектирования и распознавания объектов (object detection) в режиме реального времени. Программа будет написана на языке программирования Swift под платформу iOS. Для детектирования объектов буд...

Telegraff: Kotlin DSL для Telegram На Хабре тысячи статей про то, как сделать Телеграм бота под разные языки программирования и платформы. Тема далеко не новая. Но Telegraff – лучший фреймворк для реализации Телеграм ботов и я это под катом докажу. А ну-ка

Мировой рейтинг языков программирования на апрель 2019 Аналитики из Голландии TIOBE Software выложили апрельский рейтинг языков программирования. Интерес к C++ возрождается: третье место занимает C++, а Python снова на четвертой позиции.

[Перевод] Как обучение стойке на руках связано с внутренними стандартами Amazon и как оно повлияло на мировоззрение компании? Джеф Безос, гендиректор Amazon ежегодно пишет письмо акционерам, а волонтеры школы стартапов RUSSOL переводят их, чтобы ответить на эти вопросы, вдохновить читателей на создание своего Amazon. Читаем перевод письма акционерам, опубликованного Безосом 20 лет спустя. Оно больш...

MPS 2018.3: планы генерации, улучшения в языке сборки и упаковки и в языке редактора, обновленный интерфейс Привет, Хабр! Недавно мы выпустили [MPS 2018.3](https://www.jetbrains.com/mps/download/). В этой версии много новых функций, с которыми работа над проектами станет еще эффективнее. Мы улучшили планы генерации и язык описания редактора, добавили новые конструкции в язык сборк...

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

[Из песочницы] Phoenix LiveView: когда вам больше не нужен JavaScript* * для создания динамической страницы Не так давно 12.12.2018 был анонсирован выход новой библиотеки для фанатов phoenix framework под названием Phoenix LiveView. Я бы хотел поделиться с вами впечатлениями от ее использования и phoenix в целом, а в следующей статье попробова...

Подборка @pythonetc, сентябрь 2019 Новая подборка советов про Python и программирование из моего авторского канала @pythonetc. ← Предыдущие подборки Читать дальше →

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

Samsung Compiler Bootcamp: научим создавать «программирующие программы» Каждый уважающий себя программист хотя бы раз в жизни хотел придумать свой язык программирования – и сделать для него компилятор. Подобное желание вполне понятно: сделать программу, которая в результате своей работы порождает другую программу – это, если вдуматься, волшебс...

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

Повышающий продажи маркетинговый абсурд: проверенные кейсы Исполнительный директор самого популярного в мире сервиса для музыкантов Ultimate Guitar, Михаил Трутнев, рассказал на Epic Growth Conference про подход, который поможет увеличить количество густых идей и, следовательно, привести к росту продукта. Этот подход называется «ирр...

Ryzen 5 3500X одержал преимущество над Core i5-9400F серии тестов Китайский ресурс Bilibili опубликовал короткий видеообзор 6-ядерного процессора AMD Ryzen 5 3500X. Также обозреватели провели его тестирование и сравнили с Intel Core i5-9400F. Подробнее об этом читайте на THG.ru.

[Перевод] «Алгебраические эффекты» человеческим языком Комментарий от переводчика: Это перевод замечательной статьи Дэна Абрамова (Dan Abramov), являющегося контрибутором React. Его примеры написаны для JS, но будут одинаково понятны разработчикам на любом языке. Идея общая для всех. Вы слышали об алгебраических эффектах? Мои п...

DEV Labs 2019. Python для решения нетривиальных задач. Онлайн-митап Уважаемые коллеги! Приглашаем принять участие в онлайн-митапе серии DEV Labs, который пройдёт 20 марта и будет посвящён языку Python. Расскажем о применении Python в сфере проектирования систем «умного дома» и рассмотрим примеры решения задач по распознаванию человеческих д...

Программирование LibreOffice Base. Часть 2 В части 2 будет рассмотрена связь между таблицами базы данных и формами. В частности как задавать связь между двумя таблицами и использовать таблицы-«справочники» в качестве источника данных для выпадающих списков. Читать дальше →

Какой серверный язык выбрать…мобильному разработчику Вы скажете, какое вообще дело мобильному разработчику до того, на чем написан бэкенд. Главное, чтобы API туда был удобный, понятный, гибкий. А нам так не кажется. Мы в AppsConf думаем, что всем нам необходимо иногда выходить за пределы мобильной разработки и прокачивать шля...

[Перевод] Как написать смарт контракт на WebAssembly в сети Ontology? Часть 1: Rust Технология Ontology Wasm снижает стоимость переноса смарт контрактов dApp со сложной бизнес- логикой на блокчейн, тем самым значительно обогащая dApp экосистему. В настоящее время Ontology Wasm одновременно поддерживает разработку как на языке Rust, так и на языке C++. Яз...

Наследование в C++: beginner, intermediate, advanced В этой статье наследование описано на трех уровнях: beginner, intermediate и advanced. Expert нет. И ни слова про SOLID. Честно. Beginner Что такое наследование? Наследование является одним из основополагающих принципов ООП. В соответствии с ним, класс может использовать пер...

[Из песочницы] Создание минимального Docker-контейнера для Go-приложений Привет, Хабр! Предлагаю вашему вниманию перевод статьи основателя сервиса Meetspaceapp Nick Gauthier «Building Minimal Docker Containers for Go Applications». Время чтения: 6 минут Существует множество, как официальных, так и поддерживаемых сообществом контейнеров для разл...

Функции обратного вызова в скриптах Иногда наш COM‐компонент должен отправить клиенту уведомление или вызвать функцию обратного вызова. Схема простая: компонент публикует интерфейс, клиент создаёт унаследованный от интерфейса объект и передаёт его компоненту, компонент в свою очередь вызывает функции интерфейс...

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

Где обучать детей программированию? Ежегодно HeadHunter проводит “Школу программистов”, где обучает студентов и молодых специалистов всем хитростям разработки, а также работе в команде. Помимо языков программирования ребята изучают основы дизайна, тонкости командной разработки. Недавно мы стали обсуждать, ка...

Что ещё слышно в радиоэфире? Радиовещание на КВ (DXing) Данная публикация дополняет цикл статей «Что слышно в радиоэфире?» темой о радиовещании на коротких волнах. Массовое радиолюбительское движение в нашей стране началось со сборки простейших радиоприёмников для прослушивания передач вещательных радиостанций. Впервые констру...

Разбираем протокол пейджерных сообщений POCSAG, ч2 Привет, Habr! В первой части был рассмотрен протокол обмена пейджерными сообщениями POCSAG. Были рассмотрены цифровые сообщения, перейдем теперь к более «полноценным» сообщениям в формате ASCII. Тем более, что декодировать их интереснее, т.к. на выходе будет читаемый текст....

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

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

Microsoft создала язык программирования для слабовидящих детей С помощью Code Jumper будут не только знакомить детей с основами программирования, но и давать им необходимые навыки для развития дальнейшей карьеры в ИТ-отрасли.

Проверка исходного кода библиотек .NET Core статическим анализатором PVS-Studio Библиотеки .NET Core — один из самых популярных C# проектов на GitHub. Неудивительно, с учётом его широкой известности и используемости. Тем интереснее попробовать выяснить, какие тёмные уголки можно найти в исходном коде этих библиотек, что мы и попробуем сделать с помощью...

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

Как попасть в топ Google в ЕС/США в нише разработки и найти клиентов с большими бюджетами Пост лучше всего подойдет разработчикам «one-man-company» или командам. Я расскажу, как достаточно легко и просто (при отсутствии или минимальном бюджете) попасть в топ поисковой выдачи в развитых странах в нише разработки и перестать бороться за клиентов в СНГ, которые хотя...

[Из песочницы] Английский и айтишник: английскую сову на русский глобус? Люди с техническим складом ума во всем стремятся найти систему. При изучении английского, столь востребованного в IT, многие программисты сталкиваются с тем, что не могут понять, как устроен этот язык, его систему. “Кто виноват?” В чем же проблема? Казалось бы, программист...

В «Архиве интернета» появилось 2 500 классических DOS-игр. Их можно запустить в браузере Классика, которую можно попробовать бесплатно.

Как приготовить настоящий суп харчо Попробуйте классическое блюдо или разнообразьте его вкус.

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

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

[Из песочницы] Программирование на JavaScript для токарного станка Эту статью следовало бы назвать «генерирование комбинаций шестерен гитары китайского токарного станка для подбора шага подачи с помощью скрипта на JavaScript», но это звучит не так интригующе. Читать дальше →

[Перевод] JavaScript: Публичные и приватные поля классов Несколько предложений расширяют существующий синтаксис классов в JavaScript новой функциональностью. Эта статья объясняет новый синтаксис публичных полей классов в V8 v7.2 и Chrome 72, а также грядущих приватных полей. Вот пример кода, который создает экземпляр класса Incre...

Air Battle — Воздушный флот 1.3.8 Да начнется битва в воздухе! Займите место командира и отражайте воздушные атаки в Air Battle. Обнаруживайте вражеские самолеты и атакуйте квадраты так же, как в классическом «морском бое». Особенности: — Игра по правилам «морского боя» — Красивая графика — К...

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