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

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

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

[Из песочницы] Molecule — тестируем роли Ansible Доброго времени суток. На Хабре не раз упоминался ansible, но статей о тестировании его ролей при помощи molecule мной обнаружено не было, однако Я нахожу данный фреймворк крайне удобным и хотел бы поделиться этим с аудиторией Хабра. Но для начала немного о том, чем я пользо...

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

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

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

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

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

Бэкап файловых и SQL баз 1С средствами Effector Saver (в облако и с шифрованием) В этой статье я хочу поделиться опытом резервного копирования файловых и SQL баз 1С в локальное, сетевое и облачное (на примере Google Drive) хранилище с помощью Effector Saver. Писал инструкцию для друга, но думаю она пригодиться и кому-то из вас. И как всегда, в комментар...

Как мы мониторили Black Hat Europe 2018 Полгода назад я уже писал на Хабре заметку, где делился нашим опытом мониторинга различных конференций по ИТ и ИБ, в которых Cisco приглашают для обеспечения работы SOC и NOC (Black Hat, Mobile World Congress, RSAC и т.п.). Сегодня я бы хотел поделиться опытом участия в рабо...

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

[Перевод] Что я узнал про оптимизацию в Python Всем привет. Сегодня хотим поделиться еще одним переводом подготовленным в преддверии запуска курса «Разработчик Python». Поехали! Я использовал Python чаще, чем любой другой язык программирования в последние 4-5 лет. Python – преобладающий язык для билдов под Firefox, те...

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

Промышленный контроллер. Система сбора данных. АСУ Доброго времени суток, Хабр! Разработка промышленного контроллера с дисплеем для сбора и анализа данных, а также для управления нагрузками, объединенными в группы. Кому интересно, что из этого получилось, прошу под кат. Читать дальше →

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

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

Добавляем ZigBee устройства в Homebridge используя CC2531 На Хабре уже встречались статьи о том, как подружить ZigBee устройства различных производителей с системами управления умным домом, без использования фирменных хабов, вроде Xiaomi Gateway. Однако, инструкции для homebridge, я не нашел не только на Хабре, но и на других прост...

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

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

Как я патчил Вселенную :) На Хабре достаточно много статей про разработку игр, однако среди них очень мало статей, которые касаются “закулисных” тем. Одной из таких тем является организация доставки, собственно, игры большому количеству пользователей на протяжении длительного времени (год, два, три...

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

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

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

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

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

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

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

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

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

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

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

Мой первый опыт восстановления базы данных Postgres после сбоя (invalid page in block 4123007 of relatton base/16490) Хочу поделиться с вами моим первым успешным опытом восстановления полной работоспособности базы данных Postgres. С СУБД Postgres я познакомился пол года назад, до этого опыта администрирования баз данных у меня не было совсем. Я работаю полу-DevOps инженером в крупной IT-к...

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

Оптический удлинитель HDMI. 300 метров Доброго времени суток, Хабр! Разработка волоконно-оптического HDMI удлинителя на 300 метров. Отказ от обратного канала (передача данных по одному волоконно-оптическому кабелю). Клонирование EDID с монитора. Читать дальше →

[Из песочницы] Amazon EKS Windows в GA с багами, но зато быстрее всех Добрый день, хочу поделиться с вами своим опытом по настройке и использованию сервиса AWS EKS (Elastic Kubernetes Service) для Windows контейнеров, а точнее о невозможности его использования, и найденном баге в системном контейнере AWS, тем кому интересен этот сервис для W...

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

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

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

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

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

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

[Из песочницы] LTSP сервер на базе CentOS7 Доброго времени суток, уважаемые жители Хабра. Вдохновившись статьей LTSP: Терминальный сервер на Linux решил сделать тоже самое только на CentOS 7. Побродив по просторам интернета и найдя лишь обрывки информации, а так же старенькую инструкцию для CentOS 5 взялся проходит...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Дилетант в opensource — lessons learned за 3 года Давно, в 2014 году я сделал для себя небольшую утилитку, чтобы перегонять C#-вьюмодели в TypeScript-код. Она сэкономила мне немало времени и нервов. И вот, в сентябре 2015 я решил оформить свои "эксперименты на коленке" в некую удобоваримую форму и вылить их на GitHub. Так н...

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

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

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

[Перевод] Как встроить С-библиотеку в Swift-фреймворк В 2014 году был представлен Swift, новый язык для разработки приложений экосистемы Apple. Новинка принесла не только новые возможности и функции, но и проблемы — тем, кто хотел пользоваться старыми добрыми C-библиотеками. В этой статье я рассмотрю одну из них — бандлинг C-...

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

Обучение детей программированию Здравствуйте. Меня зовут Михаил Капелько. Занимаюсь профессиональной разработкой ПО более 10 лет. Из них последние годы связаны с iOS. В свободное время разрабатываю игры и средства для их создания. Обзор Сегодня хочу рассказать о своём опыте обучения детей программированию,...

Мониторинг postgres внутри Openshift Доброго времени суток жители Хабра! Сегодня хочу рассказать вам, как нам очень хотелось мониторить postgres и еще пару сущностей внутри кластера OpenShift и как мы это сделали. На входе имели: Openshift Helm Prometheus Читать дальше →

Как мы создавали технологию оптического распознавания текста. OCR в Яндексе Привет! Сегодня я расскажу читателям Хабра о том, как мы создавали технологию распознавания текста, работающую на 45 языках и доступную пользователям Яндекс.Облака, какие задачи мы ставили и как их решали. Будет полезно, если вы работаете над схожими проектами или хотите узн...

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

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

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

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

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

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

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

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

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

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

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

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

Квест с iobroker для игр “Квесты в реальности” Всем привет, на хабре уже есть несколько статей про автоматизацию игр типа «квесты в реальности» (раз, два, три, четыре, пять...), я хотел бы тоже поделиться своим опытом участия в подобном проекте. В далеком 2015 году мои друзья решили организовать квест типа escape-room ...

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

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

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

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

[Из песочницы] Опыт поиска позиции PhD student в Германии Добрый день. Хочу поделиться опытом работы на позиции PhD student в Германии, а также рассказать об основных критериях, которые нужны в CV для успешного прохождения собеседования с профессором. Помимо этого, расскажу о зарплате и что стало главной причиной моего переезда. ...

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

С Днём Радио и Связи! Короткая открытка по поводу Если обратиться к простому обывателю, то он наверняка скажет, что радио умирает, потому что на кухне радио точка давно обрезана, приёмник работает только на даче, а в машине любимые треки проигрываются с флешки или онлайн-плейлиста. Но мы-то с вами знаем, что не будь радио, ...

Размышления о карьере в ИТ Сделать быструю карьеру в области разработки сегодня не так просто, как кажется. Если начать работать, например, в сфере финансов, то в 30 лет вы почти наверняка будете руководителем. В нашей же отрасли и в 35, и в 40 лет можно оставаться разработчиком. Среди нас много тех, ...

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

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

Опыт перевода большого проекта с Flow на TypeScript JavaScript – это один из языков с динамической типизацией. Такие языки удобны для быстрой разработки приложений, но когда несколько команд берутся за разработку одного большого проекта, лучше с самого начала выбрать один из инструментов для проверки типов. Можно начать р...

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

5 способов сделать Python-сервер на Raspberry Pi. Часть 2 Привет Хабр. Сегодня мы продолжим изучать сетевые возможности Raspberry Pi, а точнее их реализацию на языке Python. В первой части мы рассмотрели базовые функции простейшего веб-сервера, работающего на Raspberry Pi. Сейчас мы пойдем дальше, и рассмотрим несколько способов, ...

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

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

Преимущества следования styleguide’ам при разработке Angular-приложений В конце 2018-го года в Самаре состоялся Panda-Meetup #9 Frontend. На этом мероприятии я попробовал себя в новой роли и выступил с докладом. Меня зовут Евгений Холмов. В программирование я пришёл более 10 лет назад, будучи студентом. Последние 5 лет я занимаюсь разработкой си...

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

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

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

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

AR, робототехника и катаракта: как мы съездили на российско-немецкую школу по программированию В середине марта в Мюнхене прошла Joint Advanced Student School 2019 (JASS) — недельная англоязычная студенческая школа-хакатон++ по разработке программного обеспечения. О ней в 2012 году уже писали на Хабре. В этом посте мы расскажем о школе и поделимся впечатлениями нескол...

Вебинары Dell Technologies: все подробности о нашей обучающей программе Друзья, привет! Сегодняшний пост будет не длинным, но, надеемся, для многих полезным. Дело в том, что уже довольно давно компания Dell Tehnologies проводит вебинары, посвященные продуктам и решениям бренда. О них мы и хотим сегодня вкратце рассказать, а также попросить уважа...

[Перевод] Программный поиск общего кода с помощью oEmbed Всем доброго времени суток! Хочу поделиться переводом статьи ""Programmatically Discovering Sharing Code With oEmbed" автора Drew McLellan. Введение На многих сайтах размещены мультимедиа и контент, которыми можно поделиться в другой платформе с помощью некоторого HTML-кода...

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

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

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

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

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

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

Новый пакет валидаций для React на Mobx @quantumart/mobx-form-validation-kit Добрый день. Сегодня я хочу рассказать о новом пакете для асинхронных валидаций в проектах использующих в своей основе React, Mobx и написанных на Typescript. Современная Frontend разработка предполагает большое количество логики при заполнении страниц с документами, анкет ...

[Из песочницы] Краткое пособие для изучающих иностранный язык Доброго дня, уважаемое сообщество! К написанию этой статьи меня подтолкнула публикация уважаемого Mumlum Как выучить иностранный язык. Подумалось о том, что мой опыт может кому-то пригодиться. Для начала очень коротко о себе: мне 39 лет, 14 из которых я живу заграницей. В...

Безопасный доступ к полям регистров на С++ без ущерба эффективности(на примере CortexM) Рис. взят с сайта www.extremetech.com/wp-content/uploads/2016/07/MegaProcessor-Feature.jpg Всем доброго здравия! В прошлой статье я рассмотрел вопрос о проблеме доступа к регистрам микроконтроллера с ядром CortexM на языке С++ и показал простые варианты решения части про...

Ошибки панели администрирования или опыт разработки Laravel Orchid В прошлом на Хабре публиковалась статья "Orchid CMS — ещё одна CMS на Laravel", а теперь спустя два года и больше 100 релизов попробуем разобрать ошибки и проблемы которые стояли на пути разработки. Читать дальше →

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

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

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

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

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

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

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

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

Митап по PHP в Иванове Привет, Хабр! Мы рады сообщить, что уже в эту субботу в офисе компании Инвольта состоится митап на тему: “PHP: Неправильный путь. Почему важно знать инструменты Native PHP сегодня. Личный опыт разработчика Rambler.” Как уже понятно из темы, на митапе мы будем говорить про ...

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

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

Как за 28 часов создать прототип сервиса сравнения документов и выиграть хакатон Привет! После долгого перерыва мы решили вернуться на Хабр и хотим поделиться опытом участия в хакатоне. В сентябре в Москве прошел Diversity.Hack, партнерами которого стали Dostavista, Waves и мы — «Новые Облачные Технологии». Участие в хакатоне, организованном Phystech.Gen...

С чего начать изучать веб-разработку в 2019 году или HTML Academy VS Codecademy VS FreeCodeCamp Привет, Хабр! Хочу поделиться своими мыслями о самых популярных площадках для изучения веб-разработки HTML Academy, Codecademy, FreeCodeCamp (мне бы хотелось прочитать подобную статью, когда я только начинала учиться веб-разработке самостоятельно). *Данный обзор является мо...

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

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

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

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

Кармическое проклятье Хабра Непредвиденные последствия «Система кармы Хабра и ее влияние на пользователей» — это тема для курсовой как минимум Тема про карму на «Пикабу» Я мог бы начать эту статью с того, что я давно читаю Хабр, но это будет не совсем точным высказыванием. Правильный тезис звучал б...

Продвигаем Ethereum DAPP Сегодня в интернете достаточно информации, как создавать DAPP приложения. Вот вы создали крутое DAPP и теперь появляется вопрос ещё сложнее, как рассказать о нём потенциальным пользователям? Я хочу поделиться собственным опытом продвижения DAPP приложения по каталогам. Ме...

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

DisplayPort-LVDS Доброго времени суток, Хабр! И снова хочу предложить Вашему вниманию проект аппаратного конвертера, но теперь уже DisplayPort-LVDS построенный на одной (!) микросхеме Texas Instruments. Читать дальше →

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

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

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

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

Локализация приложения и поддержка RTL. Доклад Яндекс.Такси При локализации сервиса важно внимательно отнестись к согласованию переводов между собой. Руководитель группы клиентской Android-разработки Яндекс.Такси Александр Бонель рассказал, какие практики и инструменты упрощают локализацию. Во второй части доклада Саша поделился опыт...

Shader — это не магия. Написание шейдеров в Unity. Введение Всем привет! Меня зовут Дядиченко Григорий, и я основатель и CTO студии Foxsys. Сегодня хочется поговорить про шейдеры. Умение писать шейдеры (и в целом работать с рендером) очень важно при разработке под мобильные платформы или AR/VR, если хочется добиться крутой графики. М...

AMA с Хабром (Прямая линия с TM, v 6.0) Хабр детям не игрушка, а развлечение, информация и знания для брутальных айтишников и их боевых подруг. В общем, вы поняли, что расположение духа у нас праздничное, и нас тянет на поговорить. Как, впрочем, каждую последнюю пятницу месяца в рамках проекта АМА. А ещё мы вам по...

[Из песочницы] Разработка приложения для старого КПК (Cybiko Xtreme) в 2019 году Введение Привет Хабр! Я хотел бы поделиться своим опытом написания приложения для очень старого карманного компьютера, который серьезно опередил свое время, а именно Cybiko Xtreme 2001 года выпуска. Тем, кому интересно как жилось мобильному разработчику в начале 2000-х, до...

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

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

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

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

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

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

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

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

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

Зеленый кот о космическом контенте 29 ноября 2018 года на конференции Хабра "Контентинг" выступал Виталий Егоров Zelenyikot. Виталий — главный популяризатор темы космоса в отечественной блогосфере. Он поделился личным опытом продвижения проектов, поведал о своих доходах и дал советы начинающим блогерам. По...

HDMI-LVDS. Разработка на TSUMV59 от MStar Доброго времени суток, Хабр! В продолжение прошлой статьи на тему DisplayPort-LVDS, решил написать о своей новой разработке контроллера HDMI-LVDS на чипе TSUMV59 от MStar. Контроллер имеет много интересного на борту, например, аналоговый выход звука, ИК порт, кнопки управ...

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

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

TacacsGUI, Configuration Manager Добрый день! Сегодня я хотел бы представить вашему вниманию Configuration Manager – plugin входящий в проект TacacsGUI. Что же такое Configuration Manager? Это менеджер конфигураций (типа Oxidized или RANCID) с различными режимами просмотра изменений (diff) и записей в журн...

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

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

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

WebAssembly в продакшне и «минное поле» Smart TV: интервью с Андреем Нагих Интерес к WebAssembly велик, но пока что нечасто встретишь людей, использующих эту технологию в рабочем проекте. Разработка приложений под Smart TV — тоже «нетипичный JavaScript», когда все слышали о чём-то, но немногие лично пробовали. А у Андрея andreynagih Нагих есть о...

[Из песочницы] Redux — Не нужен! Заменяем с помощью useContext и useReducer в React? Доброго времени суток, Хабровчане! Хочу рассказать о том, как я недавно узнал о неких "хуках" в React. Появились они относительно недавно, в версии [16.8.0] от 6 февраля 2019 года (что по скоростям развития FrontEnd — уже очень давно) Прочитав документацию я заострил свое в...

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

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

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

[Из песочницы] Проблемы и нюансы при разработке под SmartTV с использованием React.js Хочу поделиться опытом разработки приложения с просмотром видео контента для SmartTV (Tizen и WebOS) и с какими проблемами мы столкнулись. На современных телевизорах, как мы знаем, можно устанавливать разные приложения, для облегчения работы с какими-то ресурсами и контенто...

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

Провинциальная ИБ – стагнация или развитие? Всем доброго времени суток. Сегодня нам хотелось бы обсудить информационную безопасность в регионах, и рассказать о прошедшем 19-20 июня восьмом ежегодном Форуме «Актуальные вопросы информационной безопасности», который мы традиционно с 2009 года проводим на базе Администр...

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

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

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

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

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

[Перевод] MVC в Unity со Scriptable Objects. Часть 1 MVC (Model-View-Controller) — это схема, предполагающая разделение данных приложения, пользовательского интерфейса и управляющей логики на три отдельных компонента, чтобы каждый из них можно было независимо модифицировать. Разработчик Cem Ugur Karacam поделился своим опытом ...

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

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

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

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

Хайлайты и тренды ICCV 2019 Нейросети в компьютерном зрении активно развиваются, многие задачи еще далеки от решения. Чтобы быть в тренде в своей области, достаточно подписаться на инфлюенсеров в Твиттере и читать релевантные статьи на arXiv.org. Но у нас появилась возможность съездить на Internatina...

Чем мы можем Вам помочь? Чем Вы можете помочь нам? Открытый API и вход по отпечатку пальцев. Что нового в security-приложении Cloud-Clout Приложение для безопасного хранения и обмена данными в облаках Cloud-Clout открывает свой API. Добрый день, Хабр! Прежде всего, разработчики приложения хотят поблагодарить всех хабро...

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

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

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

Сыграй в IT-Alias с инженерами Badoo IT-Alias — уникальный вариант классической настолки, игра на взаимопонимание и проверку технического словарного запаса. Её сделали инженеры Badoo, чтобы играть с участниками конференций и наших митапов. А сегодня мы хотим сыграть в IT-Alias с читателями Хабра — и подарить ...

Как написать вредное API Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. Всем привет! Я работаю тимлидом команды Integration Development в сервисе онлайн-бронирования отелей Ostrovok.ru и сегодня хотел бы поделиться своим опытом работы с ра...

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

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

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

Ubuntu 18.04 Root on ZFS В прошлом году потребовалось мне создать инструкцию по установке операционной системы Ubuntu 18.04. К слову, ничего сложного в установке Ubuntu нет, но есть нюанс: я хотел использовать файловую систему ZFS как базовую. С одной стороны, Ubuntu поддерживает ZFS на уровне ядра,...

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

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

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

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

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

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

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

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

Как я сделал (почти) бесполезный стриминг вебкамеры на Javascript В статье я хочу поделиться своими попытками сделать стримминг видео через websockets без использования сторонних плагинов браузера типа Adobe Flash Player. Что из этого получилось читайте далее. Читать дальше →

Проблемы действующей методики определения актуальных угроз от ФСТЭК Доброго времени суток, Хабр! Сегодня мы бы хотели покритиковать документ «Методика определения актуальных угроз безопасности персональных данных при их обработке в информационных системах персональных данных», утвержденный ФСТЭК России 14 февраля 2008г. (далее – Методика)....

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

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

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

Zotac выпускает миникомпьютеры с процессором Xeon Компания Zotac, известная своими миникомпьютерами Zbox, представила новую машину серии Q, которая является рабочей станцией в сверхмалом корпусе.

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

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

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

[Из песочницы] CI/CD, используя Jenkins на Kubernetes Добрый день. На Хабре уже есть несколько статей о jenkins, ci/cd и kubernetes, но в данной я хочу сконцентрироваться не на разборе возможностей этих технологий, а на максимально простой их конфигурации для постройки ci/cd pipeline. Я подразумеваю, что читатель имеет базовое ...

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

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

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

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

Shuttle выпускает миникомпьютер XPC DH370 Компания Shuttle обновила линейку своих миникомпьютеров в корпусе объёмом 1,3 литра. Модель DH370 сохраняет дизайн прошлого поколения, но при этом предлагает новый процессор Intel 8-го поколения.

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

[Из песочницы] Workflow 3D-художника. Как не утонуть в тонне информации. Часть 1 Всем привет, Хабр сообщество! Хочу сегодня рассказать Вам о workflow 3D-художников, как в это вникнуть и остаться со стабильной нервной системой. Статья нацелена на новичков в данной области, опытные акулы могут предаться ностальгии, вспомнить, как все начиналось. Читать дал...

Чего ждать, если хочешь стать iOS-разработчиком Со стороны iOS разработка может казаться закрытым клубом. Для работы обязательно нужен компьютер от Apple, экосистему пристально контролирует одна компания. Изнутри тоже иногда слышны противоречия — кто-то говорит, что язык Objective-C старый и неповоротливый, а кто-то, чт...

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

Unit-тесты в СУБД — как мы делаем это в Спортмастере, часть первая Привет, Хабр! Меня зовут Максим Пономаренко и я — разработчик в Спортмастере. Имею 10-летний опыт работы в IT-сфере. Начинал карьеру в в области ручного тестирования, затем переключился на разработку баз данных. Последние 4 года, аккумулируя знания, полученные в тестировани...

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

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

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

JS-битва: как я написал свой eval() Вы можете помнить Александра Коротаева по браузерной версии «Героев Меча и Магии»: расшифровка его доклада о ней собрала на Хабре громадное количество просмотров. А теперь он сделал игру, ориентированную на программистов: играть в неё надо JS-кодом. В этот раз на разработку...

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

ECS выпускает миникомпьютер для энтузиастов Компания ECS выпустила новый миникомпьютер LIVA Z2L, который с лёгкостью уместится на ладони. Однако от остальных миникомпьютеров подобного формата его выгодно отличает наличие порта GPIO.

Элементы, основа для разработки Работа и разработка идут хорошо когда есть: От чего отталкиваться(основа). К чему стремиться(идея, проект и т.д.) Одной из основ я хочу поделиться с Вами в данной публикации. Читать дальше →

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

[Из песочницы] Dart vs Node.js: сравниваем производительность на реализациях HTTP сервера Всем доброго времени суток! В этом году с выходом Flutter — фреймворка для кроссплатформенной разработки приложений наметился подъем хайпа по языку Dart. Как и любой перфекционист прокрастинирующий от скуки лентяй я задумался о сравнении производительности серверной реализа...

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

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

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

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

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

Разработка простейшей «прошивки» для ПЛИС, установленной в Redd. Часть 2. Программный код Итак, в прошлой статье мы разработали простейшую процессорную систему, с помощью которой планируем провести тест микросхемы ОЗУ, подключённой к ПЛИС комплекса Redd. Сегодня же мы сделаем для этой аппаратной среды программу на языке С++, а также разберёмся, как эту программу ...

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

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

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

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

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

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

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

С Днём Рождения, Хабр ❤ Привет, Хабр! Я тебя знаю очень давно — с 2008 года, когда я, тогда ещё ни разу не айтишник, открыл тебя по какой-то шальной ссылке. Знаешь, как это было? Открыл, ничего не понял, закрыл. Потом ты стал попадаться всё чаще и чаще, я присмотрелся, вчитался, через год ушёл в ИТ...

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

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

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

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

Ход конём по битам. Шахматный Bitboard Добрый день. Эту статью я написал специально для студентов курса «Алгоритмы для разработчиков» в OTUS и сегодня хочу поделиться ею со всеми читателями нашего блога. Шахматный конь стоит на шахматной доске и задумчиво смотрит в шахматную даль. Сколько разных ходов он может с...

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

[Из песочницы] Перемещение объекта по нажатии кнопки в Unity3d на C# Доброго времени суток. Сегодня поговорим про движение объекта по нажатию кнопки на экране в Unity3D. Эта тема очень проста, но часто используется в разного рода играх. Читать дальше →

Ретро-тестирование. The Witcher 2: Assassins of Kings vs FX 8300 OC с GTX 1060 OC Всем доброго времени суток. Сегодня я решил поделиться с вами своими тестами в игре The Witcher 2: Assassins of Kings (Ведьмак 2: Убийцы Королей) и посмотреть, как справляется "старичок" AMD FX 8300 в умеренном разгоне на каждый день

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

Новинки компании Xiaomi, о которых Вы могли не знать Доброго времени суток, дорогие друзья! В данной подборке хотел бы с Вами поделиться некоторыми новинками, представленными компанией Xiaomi.

Из юриспруденции в Big Data-разработку Путей много – как найти свой? Герой этой статьи, Роман Майер, получил гуманитарное образование и пришел в IT совсем из других областей. Он развивал собственный бизнес, работал менеджером по продажам, был юристом, а к 28 годам понял, что пока не нашел работу мечты и пора осв...

Как я разрабатываю и тестирую API со своим «велосипедом» PieceofScript PieceofScript — простой язык для написания сценариев автоматического тестирования HTTP JSON API. PieceofScript позволяет: описывать методы API в формате YAML, с названием метода на почти естественном языке, что удобно для чтения тестов достаточно гибко описывать модели в...

Справочная: робот Федор, что ты такое? На Хабре несколько раз упоминали отечественная разработку — робота FEDOR (Федор). В СМИ об этом роботе тоже пишут, в большинстве случаев упоминая разные его возможности (например, стрельбу с двух рук) и то, что в скором времени робот отправится на МКС. Сегодняшняя «Справо...

Astra Linux 1.6 (Смоленск). Готова ли система к работе с простыми пользователями? Примеры костылей Нейтрализация пользователя и процесс установки новой ОС Привет, Хабр. Сегодня хотим поделиться опытом миграции одной организации (далее – Заказчик) на отечественную ОС в рамках выполнения требований по импортозамещению. Сразу нужно обозначить, что Заказчик выбрал и закупил...

Шестерни в Box2D Добрый день, дорогой читатель! Это уже четвертая статья по Box2D. И здесь я предложу готовое решение для программистов. Мне самому нужны были шестерни для моего проекта, и я сделал 4-х, 6-и, 12-и и 24-х зубчатые колеса. Код занял 2115 строк, 4 дня работы. И я хочу поделиться...

MSI обновляет миникомпьютер Cubi 5 Компания MSI обновила линейку собственных миникомпьютеров Cubi новым поколением Cubi 5 10M, которое основывается на 10-м поколении мобильных процессоров Core Comet Lake.

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

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

Пробуем preload (PHP 7.4) и RoadRunner Привет, Хабр!  Мы часто пишем и говорим о производительности PHP: как мы ей занимаемся в целом, как мы сэкономили 1 млн долларов при переходе на PHP 7.0, а также переводим разные материалы на эту тему. Это вызвано тем, что аудитория наших продуктов растёт, а масштабирован...

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

[Из песочницы] Кластерное хранилище Pacemaker + DRBD (Dual primary) + ctdb Доброго времени суток, хабровчане. Поступила задача — развернуть отказоустойчивое High Available хранилище по средствам pacamaker + drbd (в режиме dual primary) + clvmd + ctdb, которое будет монтироваться на сервер. Оговорюсь, что со всеми этими инструментами я сталкиваюсь в...

«Умный дом» — переосмысление На Хабре уже было несколько публикаций о том, как айтишники строят себе дома и что из этого получается. Хочу поделиться своим опытом («тестовый проект»). Постройка собственного дома (особенно, если еще и своими силами) — крайне объемный кусок информации, поэтому я свое по...

[Из песочницы] К чему приводит лень или как докатиться до написания парсера psd и что из этого может получиться Доброго времени суток! Меня зовут Андрей, я хочу рассказать Вам о своем проекте, который разрабатываю в свободное от работы время. Он уже достиг этапа, когда есть что показать и от этого не станет стыдно. Читать дальше →

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

[Перевод] Опыт кандидата при рекрутинге разработчиков программного обеспечения. Часть 2 Добрый день. Делимся с вами второй частью статьи о рекрутинге разработчиков ПО, которая приурочена к запуску курса «IT-Recruiter». Первую часть можно прочитать тут. Уведомление привлекательно Итак, вы сходили на свое первое свидание, а потом… ничего. Вы звоните на следую...

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

42 Silicon Valley: как пройти отбор 1го февраля завершился январский Piscine в 42 Silicon Valley, и я хотел бы поделиться своим опытом и некоторым набором хаков, которые могут помочь получить множество экспы, высокий уровень и, как результат, приглашение в кадеты. Скорее всего, это может быть полезно и для ...

Век живи — век учись. Часть 4. Учись, работая? — Хочу прокачаться и пройти CCNA курсы Cisco, тогда я смогу перестроить сеть, сделать её более дешёвой и безотказной, поддерживать на новом уровне. Поможете с оплатой? — сисадмин, отработавший 7 лет, смотрит на директора. — Я тебя обучу, а ты уйдёшь. Что я, дурак? Иди, работ...

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

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

How to get Security Log with non-administrative user Привет Хабр! Читайте под катом как получить доступ к логу безопасности Windows без прав администратора. Эта будет не первая статья на Хабре связанная с логами Windows и наверно не самая оригинальная, но на мой взгляд я потратил слишком много времени на поиск простого решен...

Сортировка фотографий по данным из EXIF + PHP Хочу поделиться своим опытом сортировки фотографий с помощью скрипта на PHP Наступает тот момент, когда фотографий становится не много, а катастрофически много. Читать дальше →

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

Термометр & гигрометр на ATMEGA 328P-MU — Поднимаем уровень ардуино разработок Сегодня хочу поделиться одним из своих Ардуино проектов. Когда-то, не очень что бы давно я где-то на просторах интернета узнал об Ардуино. Влился я в это дело довольно быстро, уровень вхождения там не высокий. Через некоторое время уже собрав кучу датчиков, сенсоров для умно...

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

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

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

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

Хочу рецензии на хабр С момента моей регистрации на хабре у меня было ощущение какой-то недосказанности в статьях. Т.е. вот есть автор, вот его статья = мнение… но чего-то нет. Чего-то нехватает… Спустя время я понял, что недостает критического взгляда. В целом, его можно найти в комментариях. ...

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

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

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

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

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

[Перевод] Если вы не пишете программу, не используйте язык программирования Лесли Лэмпорт — автор основополагающих работ в распределённых вычислениях, а ещё вы его можете знать по буквам La в слове LaTeX — «Lamport TeX». Это он впервые, ещё в 1979 году, ввёл понятие последовательной согласованности, а его статья «How to Make a Multiprocessor Comput...

[Из песочницы] Анализ скроллинга страниц в Google Data Studio Добрый день, меня зовут Чакканбаев Ильхом я автор блога SeoPulses, хотел бы поделиться переводом и реализацией на практике статьи michaelhoweely.com. Для того чтобы создать полноценный и понятный отчет для блога или статейного сайта в Google Data Studio потребуется использов...

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

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

Сайт с нуля: как школьники осваивают IT При знакомстве с IT важно найти как грамотных наставников, так и увлеченных единомышленников. Такая возможность представилась ребятам из Кемерово, для которых центр развития «Эврика» организовал мастер-класс по web-программированию и созданию сайтов. 12 октября участники...

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

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

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

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

Сайзеры wxWidgets Привет Хабр! Сегодня хочу немного рассказать о своем опыте применения сайзеров в wxWidgets. Всю свою сознательную 'жизнь' на С++ я провёл в среде C++Builder с редкими вылазками в Misrosoft VC. В поисках чего-то нового решил попробовать связку CodeBlocks и wxWidgets. И сраз...

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

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

[Из песочницы] Создание многомодульного Gradle проекта SpringBoot + Angular в IDEA Достаточно часто в моей практике используется связка Spring + Angular. Хочу поделится своим опытом по подготовке подобного проекта в среде разработки IntelliJ IDEA. Создаем пустой Gradle проект Для начала создадим пустой Gradle проект в IDEA, при этом снимите все галочки би...

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

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

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

Рабочее место и 4k@60Hz Доброго времени суток уважаемые читатели, под катом рассказывается о выборе способа подключения 4k монитора к ноутбуку и подводных камнях совсем не новых технологий. Возможно такой пользовательский опыт и выводы будут кому-то полезны при выборе и покупке железа, особенно учи...

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

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

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

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

[Из песочницы] Упрощаем работу с базами данных в Qt с помощью QSqlRelationalTableModel Доброго времени суток, Хабровчане! В этой статье я хочу рассказать о своем опыте упрощения взаимодействия с базами данных SQL при разработке десктопного приложения с помощью класса QSqlRelationalTableModel кроссплатформенной библиотеки Qt. Пролог С Qt я познакомился еще буд...

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

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

[Из песочницы] Fish Redux — новая Redux библиотека для Flutter В конце 2018 года Google, не без помощи Open-Source сообщества, сделал большой подарок для мобильных разработчиков, выпустив первую стабильную версию кросс-платформенного фреймворка для мобильной разработки Flutter. Однако, при разработке крупных приложений, немного больших,...

Тот, кто воскресил Duke Nukem: интервью с Рэнди Питчфордом, волшебником из Gearbox RUVDS совместно с Хабром продолжают проект, состоящий из серии интервью с интересными, на наш взгляд людьми в IT-среде. В прошлый раз мы познакомились с Ричардом (Levelord) Греем. Levelord — дизайнер легендарных игр Duke Nukem, American McGee’s Alice, Heavy Metal F.A.K.K.2, ...

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

Танцы с саппортом: виды и формы поддержки Всем привет! Меня зовут Александр Афенов, и я тимлид команды Order Processing в Lamoda. Сегодня хочу рассказать вам о том, как мы разгребаем саппорт. Сначала поговорим про то, как он встраивается в наши процессы и как в целом мы планируем свою работу, спринты и итерации. ...

Интересные доклады на HighLoad++ Siberia 2019 по версии Plesk Всем привет! В июне в Новосибирске прошла конференция по разработке высоконагруженных приложений HighLoad++ Siberia 2019. Ранее в статьях на Хабре мы упоминали, что мы в компании Plesk проводим ретроспективу конференций и докладов, которые посещаем, чтобы не потерять получен...

Калькулятор TI-89 Titanium и его программирование на C Не так давно на Хабре была статья про графический калькулятор TI-83, и, поскольку я являюсь обладателем TI-89 Titanium — калькулятором следующего поколения от Texas Instruments, под катом я решил рассказать про него, и показать, как для этого калькулятора можно создавать сво...

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

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

Разработка под WebAssembly: реальные грабли и примеры Анонс WebAssembly состоялся в 2015-м — но сейчас, спустя годы, всё ещё немногие могут похвастаться им в продакшне. Тем ценнее материалы о подобном опыте: информация из первых рук о том, каково с этим жить на практике, пока что в дефиците. На конференции HolyJS доклад об о...

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

Протокол «Энтропия». Часть 1 из 6. Вино и платье Привет, Хабр! Некоторое время назад я разместил на Хабре литературный цикл «Бредни программиста». Результат, вроде бы, получился более-менее не плохой. Еще раз спасибо всем, кто оставил теплые отзывы. Сейчас, я хочу, опубликовать на Хабре новое произведение. Хотелось написат...

[Из песочницы] Make it True — Разработка логической игры на Unity Хочу поделиться процессом разработки простой мобильной игры силами двух разработчиков и художника. Данная статья в большей мере состоит описания технической реализации. Осторожно, много текста! Статья не являются руководством или уроком, хотя надеюсь что читатели смогут в...

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

[Из песочницы] Разработка визуальных тестов на базе Gemini и Storybook Привет, Хабр! В этой статье я хочу поделиться опытом разработки визуальных тестов в нашей команде. Так получилось, что о тестировании верстки мы задумались не сразу. Ну съедет какая-нибудь рамка на пару пикселей, ну поправим. В конце концов, есть же тестировщики — мимо них ...

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

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

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

WexLang — как я создал проект мечты для изучения английского языка Здравствуйте! В этой статье я бы хотел рассказать о проекте, над которым я работаю. Это сервис для эффективного чтения текстов на иностранных языках, а также для совместного чтения, обмена опытом и помощи друг другу в изучении языков. Читать дальше →

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

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

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

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

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

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

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

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

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

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

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

MWC: инструкция по применению 2019 год и новый Mobile World Congress. Все стремятся показать свои новинки, благодаря которым формируются главные IT-тренды на год. Мы тоже участвовали в MWC 2019 и в этом посте поделимся нашими впечатлениями от выставки, расскажем о наших новых разработках, сделаем обзор ...

IBM LTO-8 – простой способ хранить «холодные» данные Привет, Хабр! По статистике 80% данных устаревают в течение 90 дней и больше активно не используются. Весь этот массив данных нужно где-то хранить и желательно хранить с наименьшими затратами. И при этом иметь простой и быстрый доступ в случае необходимости. В последние ...

Аттестация информационных систем по принципу типовых сегментов. Мифы и реальность Доброго времени суток, Хабр! Сегодня мы хотели бы рассмотреть различные мифы, связанные с аттестацией объектов информатизации (ОИ) по требованиям безопасности информации по принципу типовых сегментов. А также разберемся, как все-таки правильно делать такую аттестацию. Миф...

Опыт персонализации интернет-магазина на примере динамической рекомендации Привет, Хабр! Поделюсь опытом о том, как собрали собственную систему персонализации на базе «знаний» о потенциальном покупателе. Единственное чем отличалось наше решение от классических — это использование комбинированной связки ряда решений и удовлетворял списку требова...

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

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

[Из песочницы] Опыт автоматизации регрессионного визуального тестирования на Java + Selenium Webdriver + aShot Здравствуйте. В этой статье я бы хотел рассказать о своем опыте автоматизации визуального регрессионного тестирования. Читать дальше →

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

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

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

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

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

Бредогенератор: создаем тексты на любом языке с помощью нейронной сети Привет Хабр. Эта статья будет в немного «пятничном» формате, сегодня мы займемся NLP. Не тем NLP, про который продают книжки в подземных переходах, а тем, который Natural Language Processing — обработка естественных языков. В качестве примера такой обработки будет использов...

Встраиваем интерпретатор Python в java-приложение с помощью проекта Panama Пару дней назад увидел твит Брайана Гетца, но только сегодня дошли руки поиграться с примерами. Про это и хочу кратко рассказать. О проекте Panama на Хабре уже писали, поэтому просто покажу пару простых примеров того, как можно применить native binder. Читать дальше →

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

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

От заявки до сцены. Жизнь доклада на Saint TeamLead Conf 2019 Жизнь доклада на TeamLead Conf идет в несколько этапов. Сначала он появляется в виде заявки, потом в программе на сайте конференции, перетекает в рассылку, в анонс на Хабр и на сцену. После — живет в расшифровке на Хабре и YouTube-канале, если попал в список лучших. Чтобы пе...

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

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

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

[Перевод] Зачем использовать python -m pip И снова здравствуйте. В преддверии старта нового потока по курсу «Machine Learning», хотим поделиться переводом статьи, которая имеет довольно косвенное отношение к ML, но наверняка будет полезна подписчикам нашего блога. Мариатта — разработчик из Канады, спросила в Тви...

[Из песочницы] Антипаттерны в React или вредные советы новичкам Привет, Хабр. Ровно год прошел с момента, как я начал изучать React. За это время я успел выпустить несколько небольших мобильных приложений, написанных на React Native, и поучаствовать в разработке web-приложения с использованием ReactJS. Подводя итог и оглядываясь назад н...

Облако для благотворительных фондов: руководство по миграции Не так давно Mail.Ru Cloud Solutions (MCS) и cервис Добро Mail.Ru запустили проект «Облако для благотворительных фондов», благодаря которому некоммерческие организации могут бесплатно получить ресурсы облачной платформы MCS. Благотворительный фонд «Арифметика добра» принял...

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

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

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

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

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

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

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

[Перевод] WolframClientForPython | Новая клиентская библиотека Wolfram Language для Python Оригинал перевода в моём блоге Получение полного доступа к языку Wolfram Language из языка Python Язык Wolfram (Wolfram Language) дает программистам в руки уникальный язык с огромным множеством сложных алгоритмов, а также встроенных знаний об окружающем мире. На протяжении...

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

Design на CodeFest. Но это не точно Каждый год мы начинаем обсуждение программы CodeFest с вопроса, будет ли дизайн-секция в этом году? Будет, но это не точно. И каждый год мы заканчиваем CodeFest словами: «Классно, что всё-таки сделали дизайн-секцию — на неё столько менеджеров пришло!» Дело в том, что мы ...

Топ 5 оригинальных и популярных клавиатур с Aliexpress Всем доброго времени суток, дорогие друзья! Сегодня хотел бы обратить ваше внимание на небольшой топ очень популярных клавиатур с Aliexpress, которые имеют стильный игровой дизайн и приемлемую цену

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

[Из песочницы] Как, кому и зачем идти в консалтинг? Личный опыт на примере Big Data Сегодня я расскажу о том, как устроен консалтинг в IT на примере Big Data, поделюсь личным опытом, как я попала в эту сферу, и кейсами из практики, а также дам совет, кому и зачем стоит пробовать себя в консалтинге. Читать дальше →

R пакет tidyr и его новые функции pivot_long и pivot_wide Пакет tidyr входит в ядро одной из наиболее популярных библиотек на языке R — tidyverse. Основное назначение пакета — приведение данных к аккуратному виду. На Хабре уже есть публикация посвящённая данному пакету, но датируюется она 2015 годом. А я хочу рассказать, о наиболее...

Сжимаем список IP-адресов наилучшим образом Как-то я прочитал на Хабре статью про настройку BGP на роутере. Инструкции оттуда можно использовать для настройки домашнего роутера так, чтобы трафик на определённые IP-адреса шёл через другой канал. Однако здесь есть проблема: список IP-адресов может быть очень большим. ...

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

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

Как не утонуть в рутине, или Наш опыт сравнения AWR-дампов при проведении нагрузочного тестирования Всем привет! Меня зовут Людмила, я занимаюсь нагрузочным тестированием, хочу поделиться тем, как мы выполнили автоматизацию сравнительного анализа регрессионного профиля нагрузочного тестирования системы с БД под СУБД Oracle вместе с одним из наших заказчиков. Целью статьи ...

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

Финтех-дайджест: Mir Pay для Android, отмена запрета на снятие наличных с анонимных кошельков, ИИ-стартапы не совсем ИИ Привет, Хабр. Сегодня мы расскажем вот о чем: «Мир» запустила аналог Apple Pay (работает только с Android); 40% ИИ-стартапов на самом деле не работают с ИИ; Отменен полный запрет на снятие наличных с анонимных кошельков и карт; Банковские карты укрепляют позиции (снова)...

«За месяц стал фуллстек-разработчиком». Студенты рассказывают о стажировке в ABBYY Уже начал свой путь в IT? Или все еще залипаешь в смартфоне в поисках той самой вакансии? Сделать первый карьерный шаг и разобраться, чем хочется заниматься, поможет стажировка. Летом к нашей команде присоединились 26 стажеров – студенты МФТИ, НИУ ВШЭ и других вузов. Они п...

Kubernetes Operator на Python без фреймворков и SDK Go на данный момент является монополистом среди языков программирования, которые люди выбирают для написания операторов для Kubernetes. Тому есть такие объективные причины, как: Существует мощнейший фреймворк для разработки операторов на Go — Operator SDK. На Go написа...

[Перевод] Разбираемся с промисами в JavaScript Доброго времени суток, Хабр! Представляю вашему вниманию перевод статьи «Understanding Promises in JavaScript» автора Sukhjinder Arora. Читать дальше →

[Из песочницы] Смена карьеры в 35. Мой опыт и первые успехи (предыдущий билд был с ошибкой входа, нужно заново авторизоваться) Всем привет. Меня зовут Марат, мне 40 лет (а в душе примерно 25), я живу в Харькове и хочу поделиться своими мыслями. Предыстория В 25 лет, с небольшим багажом знаний в области программирования я смело не побоявшись, как говаривал один комментатор на украинском телевидени...

Решение задания с pwnable.kr 25 — otp. Ограничение рамера файла в Linux В данной статье решим 25-е задание с сайта pwnable.kr. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о следующих категориях: PWN; крипто...

Web — javascript authentication, obfuscation и native code. Решение задач с r0от-мi —. Client. Часть 1 Данная статья содержит решений заданий, в которых рассматриваются аутентификация javascript, обфускация javascript и javascript native code. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьют...

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

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

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

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

[Из песочницы] От поиска идеи, до готового приложения Наверно многие задумывались над тем, как можно реализовать свои знания в готовом продукте. Кто-то больше, кто то меньше потратил на это времени. Хочу поделиться с сообществом своим опытом и видением, как это надо делать правильно, но не всегда получается. Читать дальше &rar...

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

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

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

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

Решение задания с pwnable.kr 23 — md5 calculator. Разбираемся со Stack Canary. Подключаем библиотеки C в python В данной статье решим 23-е задание с сайта pwnable.kr, узнаем, что такое stack canary и подключим libc в python. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду п...

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

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

Решение задания с pwnable.kr 16 — uaf. Уязвимость использование после освобождения (use after free) В данной статье рассмотрим, что такое UAF, а также решим 16-е задание с сайта pwnable.kr. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о ...

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

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

50 избранных материалов о заработке музыкантов, звуке в играх и кино, необычных инструментах и хорошо забытом старом Это — мегаподборка из нашего блога на Хабре и «Мира Hi-Fi», настоящего тематического медиа, для которого мы подготовили и опубликовали сотни материалов на тему звука и аудитехники. Сегодня мы предлагаем вашему вниманию избранные топики. В них мы пишем о заработке и карьере ...

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

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

Творчество и Фан-арты NVIDIA! Доброго времени суток, всем хорошего настроения и всех благ! Предлагаю к просмотру прекрасную подборку отличнейших артов на тему: "NVIDIA Фан-арты"! Если вы творческий человек, любите рисовать, делать что-то руками, а еще и являетесь большим фанатом NVIDIA, самое время сдела...

Исповедь рекламного агентства из глубинки: взлёты, падения и внедрение CRM «Я CIO, CTO, швец, жнец и на дуде игрец в небольшом рекламном агентстве в топ-85 регионе России. На первый взгляд, все эти полиграфии, концепции и нанесения страшно далеки от Хабра. Однако это не так. Сложные станки, автоматизация бизнеса, CRM, склад — неполный список ИТ-инф...

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

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

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

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

Маникюрный пылесос «своими руками» Всем доброго времени суток! Сегодня я буду собирать маникюрный вентилятор или, как точнее его будет назвать, — маникюрный пылесос. Его основная задача — втягивать в себя ногтевую крошку и пыль, которая образуется в результате работы фрезы. Это позволяет держать рабочий с...

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

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

Ethernet, FTP, Telnet, HTTP, Bluetooth — основы анализа трафика. Решение задач на сети с r0от-мi. Часть 1 В данной статье 5 первых заданий, узнаем основы анализа трафика различных сетевых протоколов. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказыват...

Решение задания с pwnable.kr 08 — leg, и 10 — shellshock. ARM ассемблер. Уязвимость bash В данной статье вспомним синтаксис ARM ассемблера, разберемся с уязвимостью shellshock, а также решим 8-е и 10-е задания с сайта pwnable.kr. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьют...

[Из песочницы] Заметки верстальщика: Полезные расширения Google Chrome в 2019 году В моем браузере установлено около 30 расширений, которые упрощают жизнь и работу в интернете. В этой статье я хочу поделиться 10 актуальными расширениями Google Chrome для верстальщика, которые постоянно использую при разработке сайтов. Читать дальше →

[Из песочницы] Обширный обзор собеседований по Python. Советы и подсказки Всем привет! Кратко о себе. По образованию я математик, а вот по профессии — программист. В сфере разработки с 2006 года. Хотя, поскольку программирование начали изучать ещё в школе, свои первые программки и игры я начал писать ещё в школе (примерно, с 2003). Так сложилось, ...

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

Подборка книг о том, как учиться, мыслить и принимать эффективные решения В нашем блоге на Хабре мы публикуем не только рассказы о разработках сообщества Университета ИТМО, но и фотоэксурсии — например, по нашей лаборатории робототехники, лаборатории киберфизических систем и DIY-коворкингу Фаблаб. Сегодня мы собрали подборку книг, которые рассмат...

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

Ещё один способ отстрелить себе ногу, используя std::thread Стандарт C++11 принёс в язык стандартный механизм поддержки тредов (их часто называют потоками, но это создаёт путаницу с термином streams, так что я буду использовать оригинальный англоязычный термин в русской транскрипции). Однако, как и любой механизм в C++, этот несёт в ...

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

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

Интерактивный Roadmap для изучающих веб-разработку В поселке продолжает развиваться школа программирования codery.camp. Недавно мы закончили полную переработку курса веб-разработки, который теперь доступен и в онлайн-форме. Для компоновки теоретических материалов мы применили необычное решение – все они объединены в интера...

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

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

Как мигрировать к другому мобильному оператору и не обанкротиться (для владельцев iOS) Привет, Habr! Решил поделиться своим опытом, как яблочному рабу владельцу iPhone без проблем мигрировать от одного мобильного оператора к другому. Итак, все знают, что в России с 1 декабря 2013 года можно перейти от одного мобильного оператора к другому со всеми вытекающим...

[Перевод] Лучшие нововведения социальных сетей в 2018 году И снова здравствуйте! Совсем немного времени остается до запуска нашего курса «SMM-специалист», в рамках которого вы узнаете о последних тенденциях и обучитесь работе с самыми актуальными инструментами онлайн-маркетинга для продвинутых специалистов. О трендах 2019 года пог...

[Перевод] Чему нас научила PDP-11? C. G. Bell, W. D. Strecker, “Computer What Have We Learned from the PDP-11,” The 3rd Annual Symposium on Computer Architecture Conference Proceedings, pp. l-14, 1976. Эта статья, которую я выбрал сегодня, является ретроспективой компьютерного дизайна. Это одна из ряда стат...

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

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

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

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

[Перевод] Анонсирован Dart 2.3: оптимизирован для разработки пользовательских интерфейсов Сегодня (8 мая 2019) мы объявляем о релизе Dart 2.3 SDK с новыми языковыми конструкциями, которые улучшают ваш опыт разработки при создании пользовательских интерфейсов, новой поддержкой инструментов для разработки Flutter UI и двумя новыми веб-сайтами: dart.dev и pub.dev. ...

Осторожный переезд в Нидерланды с женой и ипотекой. Часть 1: поиск работы На Хабре да и вообще в русскоязычном Интернете есть немало инструкций о том, как перебраться в Нидерланды. Я и сам немало полезного почерпнул из одной статьи на Хабре (ныне, видимо, скрытой в черновике). Но я все-таки расскажу о своем опыте поиска работы и переезда в эту евр...

Обновка для Tarantula PRO Доброго времени суток всем ! Вот обновка для паука )) Уже писали ,что мотор оси Z может закусывать в самом низу. При сборке обратил на это внимание и сразу установил туда две шайбы. И вроде бы все ничего,но решил переделать.На thingiverse нашел деталь .Сегодня распечатал. П...

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

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

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

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

Книга «GraphQL: язык запросов для современных веб-приложений» Привет, Хаброжители! У нас вышла книга по языку запросов GraphQL. Мы решили поделиться переводом главы «Анатомия запросов GraphQL» «Снежный клык» (Snowtooth) — выдуманный горнолыжный курорт. Ради примеров в данной главе мы сделаем вид, что это настоящая гора и мы там работ...

noexcept-ctcheck или несколько простых макросов, чтобы компилятор помогал при написании noexcept кода При разработке на C++ время от времени приходится писать код, в котором исключения не должны возникать. Например, когда нам нужно написать не бросающий исключений swap для собственных типов или определить noexcept move-оператор для своего класса, или вручную реализовать нетр...

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

[Перевод] Разновидности SIMD Во время разработки meshoptimizer частенько возникает вопрос: «А может этому алгоритму использовать SIMD?» Библиотека ориентирована на производительность, но SIMD не всегда обеспечивает значительные преимущества по скорости. К сожалению, SIMD может сделать код менее перено...

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

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

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

Как я почти рейтрейсил в реальном времени в 1997 году Я хотел бы поделиться воспоминаниями о своих попытках сделать «3D графический движок» «своими руками» практически в до-интернетную эпоху (он как бы уже где-то там конечно был, но у меня его фактически не было). Никакую Америку открыть не удалось, революции тоже не случилось,...

Простой москвич Levelord: интервью с создателем Duke Nukem RUVDS совместно с Хабром продолжают проект, состоящий из серии интервью с интересными, на наш взгляд людьми в IT-среде. В прошлый раз мы познакомились с главным «по мозгам» Алисы в Яндексе Борисом Янгелем. Сегодня представляем вашему вниманию интервью с Ричардом (Levelord) ...

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

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

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

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

«Скользкие» места C++17 В последние годы C++ шагает вперед семимильными шагами, и угнаться за всеми тонкостями и хитросплетениями языка бывает весьма и весьма непросто. Уже не за горами новый стандарт, однако внедрение свежих веяний — процесс не самый быстрый и простой, поэтому, пока есть немного...

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

Блокировка Telegram, Hetzner подсеть /16, опыт общения с РКН Работаю в достаточно крупной консалтинговой компании с представительствами по всему миру. Головной офис в Германии… Так сложилось, что, уехав из России около 20 лет назад, до сего момента про РКН и блокировки я лишь читал и сопереживал. Информация ниже, я так понимаю, не но...

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

Как рисует браузер. Лекция Яндекса До недавнего времени я работал в команде Яндекс.Браузера и по следам этого опыта сделал доклад на конференции YaTalks. Доклад был о том, что у браузера под капотом и как ваши странички превращаются в пиксели на экране. Минимум фронтенда, только внутренности браузера, только ...

Python и FPGA. Тестирование В продолжение к первой статье, хочу на примере показать вариант работы с FPGA (ПЛИС) на python. В данной статье затрону подробнее аспект тестирования. Если фреймворк MyHDL позволяет людям, работающим на python, используя знакомый синтаксис и экосистему, заглянуть в мир FPGA,...

Нетворкинг в США для чайников. Личный опыт На прошлой неделе я была на воркшопе/конференции по unsupervised machine learning. Все мы сто раз слышали, что подобные мероприятия нужны для того чтобы себя показать и на других посмотреть. Построить нетворк и все такое. Хочу поделиться тем, как я выходила из зоны комфорта ...

Реверс хрома и установка расширений Доброго времени суток, дорогой читатель! Хром обновляется, но новых статей про то, как программно установить расширение в хром нет, помимо --load-extension — но это не наш вариант, ведь мы не ищем легких путей. Сегодня расскажу как действительно можно одним exe-шником полу...

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

[Перевод] Модуль dis в Python и свертка констант Всем привет. Сегодня хотим поделиться еще одним переводом подготовленным в преддверии запуска курса «Web-разработчик на Python». Поехали! Недавно я очень удивился, когда обнаружил, что >>> pow(3,89) работает медленнее, чем >>> 3**89 Читать дальше →

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

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

Disk forensics, memory forensics и log forensics. Volatility framework и Autopsy. Решение задач с r0от-мi. Часть 1 Данная статья содержит решений заданий, направленных на криминалистику памяти, оперативной памяти, и логов web-сервера. А также примеры использования программ Volatility Framework и Autopsy. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и ра...

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

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

Google интересуется успехами динамического рендеринга Google хочет получить от вебмастеров обратную связь о том, как у них прошло внедрение динамического рендеринга – новой технологии, призванной облегчить сканирование JavaScript-сайтов. Сотрудник поиска Мартин Сплитт предложил направлять ему свои мнения и вопросы в личные сооб...

Как мы пересадили всю команду на другой язык за один день (на самом деле — нет) func main() { envs.UpdateDotenv() ctx := context_os.Context(context.Background()) res := resources.Get(ctx) ready := readiness.New() ready.AddProbe(func() { //add some initialization }) h := handlers.New(res) s := server.NewServer(ready) s.HandleFunc("/test", h.Tes...

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

Бритва EPAMа: тест по Java, о котором не скажут «опяяять» На Хабре больше сотни хабов и компаний, привязанных к тегу Java. Кажется, ни на одну тему не пишут так часто и подробно. Возможно, мы с компанией EPAM и сломали бритву Оккама, но сделали этот тест, посвященный одному из самых популярных языков программирования. Какое отношен...

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

Пробы и ошибки при выборе HTTP Reverse Proxy Всем привет! Сегодня мы хотим рассказать о том, как команда сервиса бронирования отелей Ostrovok.ru решала проблему роста микросервиса, задачей которого является обмен информацией с нашими поставщиками. О своем опыте рассказывает undying, DevOps Team Lead в Ostrovok.ru. Чи...

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

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

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

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

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

[Перевод] Как сделать SFINAE изящным и надежным И снова здравствуйте. Делимся с вами интересной статьёй, перевод которой подготовлен специально для студентов курса «Разработчик C++». Сегодня у нас гостевой пост Адама Балаша (Ádám Balázs). Адам является инженером-программистом в Verizon Smart Communities Hungary и зани...

GraphQL Voyager как инструмент для поиска уязвимостей В настоящее время все больше компаний начинают использовать GraphQL. Это относительно новая технология (если быть более точным, то это язык запросов), которая призвана решить существующие проблемы REST. Если вы еще не знакомы с GraphQL, то рекомендую начать с ресурсов: ...

От адвоката до тестировщика в Яндексе. История моей стажировки Привет! Меня зовут Кристина lapkina Кочерина, я тестировщик в Яндекс.Маркете. Еще полгода назад у меня был статус адвоката и большая юридическая практика, вечера я проводила в СИЗО. Но в какой-то момент решила, что пришло время заниматься тем, что приносит удовольствие, а не...

Reaktive — мультиплатформенная библиотека для реактивного Kotlin Многие сегодня любят реактивное программирование. В нём масса плюсов: и отсутствие так называемого "callback hell", и встроенный механизм обработки ошибок, и функциональный стиль программирования, который уменьшает вероятность багов. Значительно проще писать многопоточный ...

Онбординг как продажа веры в продукт и взлом роста конверсии — опыт Revolut и Wrike Product owner в Revolut Михаил Цвик поделился на конференции по продуктовому маркетингу Epic Growth Conference концепцией и практическим опытом взлома конверсии с помощью онбординга. Ниже опубликована расшифровка его выступления. Большинство кейсов представлены из компании...

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

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

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

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

[Перевод] Консенсус на репутации ноды. Нужен ли? Знаю-знаю. Криптопроектов тьма, есть куча консенсусов: на основе труда и владения, золота, нефти, выпеченных пирожков (есть и такой, да-да). Что нам ещё от одного? Это и предлагаю обсудить после прочтения перевода "облегченной" технической документации проекта *Созвездие (Co...

Как мы заново изобретали IP АТС Askozia, после того как проект был продан и закрыт разработчиком Как было все прекрасно до часа X Мы — небольшая команда разработчиков, которая много лет назад занималась разработкой и внедрением программ 1С. В далеком 2011 году мы хорошо знали программные продукты 1С, и не имели опыта в разработке собственных решений. На тот момент компа...

Robot Operating System Meetup Russian 2019 В мире робототехники давно и успешно развивается программный фреймворк, позволяющий быстро прототипировать робототехнические системы — Robot Operating System (ROS). Мы в Лаборатории робототехники Сбербанка активно применяем его в разработке собственных проектов. Накопив опр...

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

[Из песочницы] Зарабатываем на солнечной энергии или пассивный доход в 25% годовых, практический опыт КДВП © Diana, made by Siuzanna Постараюсь поделиться полученным опытом (почти) самостоятельной постройки и эксплуатации ряда своих домашних солнечных станций (дСЭС) под Зеленый тариф (ЗТ) в Украине и что из этого вышло. Написание статьи планировалось весной 2019, но ...

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

Пароли Cisco, перенос зоны DNS, нулевые запросы LDAP, собираем Ethernet пакеты. Решение задач на сети с r0от-мi. Часть 2 В данной статье решим еще несколько задач. Ссылки на другие части ниже. Первая часть: Ethernet, FTP, Telnet, HTTP, Bluetooth — основы анализа трафика. Решение задач на сети с r0от-мi. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиват...

Кодировки, шифр сдвига, брут хешей и создание картинки с помощью PIL python. Решение задач с r0от-мi Cryto. Часть 1 Данная статья содержит решений заданий Encoding ASCII и Encoding UU направленные на кодировки, Hash Message Digest 5 и Hash SHA-2 — на нахождение прообраза хеша, Shift cipher — шифр сдвига, и Pixel Madness — на составление картинки. Организационная информацияСпециально дл...

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

[Перевод] Visual Studio for Mac: 5 новых крутых функций За прошедший год команда Visual Studio for Mac обновила редакторы в среде IDE, чтобы они стали быстрее, плавнее и продуктивнее. Мы сделали это, создав нативный интерфейс редактора macOS на основе того же самого бэкенда редактора, что и Visual Studio в Windows. В версии 8.1 м...

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

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

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

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