Социальные сети Рунета
Воскресенье, 19 мая 2024

Обзор языка Crystal Привет, Хабр!История Crystal начинается в 2011 году, когда команда энтузистов решили создать язык, который бы исправил некоторые из тех ограничений и проблем, с которыми они сталкивались, работая с Ruby. Они мечтали о языке, который бы позволял писать код, легкий для пониман...

Про́клятый огонь, или магия препроцессора C Задавались ли вы когда-нибудь вопросом, можно ли полноценно программировать при помощи директивы #define в языке C? Полнота по Тьюрингу шаблонов C++ известна весьма широко, например, люди пишут трассировщики лучей, делающие все вычисления во время компиляции (вместо времени ...

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

[Перевод] Как я уменьшил размер образа docker на 40% Ежедневно по работе я сталкиваюсь с Dockerfile, написал несколько из них самостоятельно, создавал контейнеры и всё такое. Но я никогда не публиковал их в реестре docker hub. Мне хотелось создать ugit — инструмент для отмены команд git (написанный в виде шелл-скрипт...

[Перевод] 8. Nix в пилюлях: Универсальные скрипты сборки Продолжаем знакомство с Nix и NixOS. В прошлых статьях мы научились собирать пакеты Nix (деривации), а теперь попробуем написать универсальный скрипт сборки, который можно было бы использовать для сборки множества пакетов.Люка Бруно продолжает свой захватывающий рассказ. Чит...

Компиляция на этапе выполнения в C++: constexpr, consteval и constinit Сегодня мы поговорим о том, как constexpr, consteval, и constinit позволяют реализовывать компиляцию на этапе выполнения. Компиляция на этапе выполнения позволяет ускорить выполнение кода за счет выполнения расчетов на этапе компиляции, а не в рантайме.constexpr делает воз...

История языков программирования: Autocode Алика Гленни из 50-х годов XX века «Упрощённые системы кодирования», которые затем стали называть привычным нам термином «языки программирования», появились очень давно. Одним из первых языков, которые действительно упростили работу операторов вычислительных машин, стал язык, разработанный Аликом Гленни в 195...

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

Kotlin (не) против Java: особенности компиляции в байткод В 1995 году Sun Microsystems представили Java — объектно-ориентированный язык программирования, основное кредо которого можно сформулировать так: «Написано один раз, работает всегда». В 2011 году как улучшенную альтернативу Java компания JetBrains представила Kotlin — язык с...

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

Как родились названия популярных языков программирования? Истории некоторых языков известны, другие меньше. Одни были названы согласно правилам корпоративного нейминга, другие были плодом долгого творчества команды, а третьи названия взяты с потолка. В этой статье я собрал забавные истории появления некоторых из них. Читать далее

Чтение на выходные: «Стив Джобс и я: подлинная история» Стива Возняка Сегодня в рубрике — мемуары Стива Возняка, талантливого айтишника, стоявшего у истоков Apple. Обозреватели называют его тихим гением, но придумал он по-настоящему «громкие» вещи, которые меняли и продолжают менять мир. История становления техногиганта описана от первого лица...

[Перевод] Исследование NASA обнаружило на Энцеладе источник энергии для жизни и молекулу, способствующую ее зарождению 14.12.2023, Гретхен Маккартни, Лаборатория реактивного движения, Пасадена, КалифорнияУченые, анализирующие данные миссии NASA «Кассини», сделали еще один шаг к доказательству обитаемости: они нашли убедительное подтверждение наличия цианистого водорода - молекулы, которая им...

Эволюция разработки под Android Отправной точкой истории разработки Android считается начало 2000-х, когда Энди Рубин, Рич Майнер, Ник Сирс, Крис Уайт основывают Android Inc. Уже в 2005 Google выкупает их, а в 2008 запускает свою ОС — Android. Первым смартфоном на её базе стал HTC Dream. Так началась ...

Где заканчивается Flutter и начинается платформа? Сердце фреймворка Flutter (который для разработчиков часто представляется только в виде набора классов на языке Dart) написано на языке С и компилируется в двоичный артефакт, известный как Flutter Engine, подключаемый к приложению и используемый из Dart-классов через механиз...

Сто паттернов для разработки корпоративных программ. Часть первая В этой статье рассмотрены все паттерны проектирования из "Банды четырёх" с примерами на языке программирования C#. Для самых терпеливых имеются дополнительные паттерны.Это первая статья из серии "Сто паттернов для разработки корпоративных программ". Следующие статьи будут по...

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

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

Мое мнение о Assassin's Creed Mirage на PS5 (PushSquare) В игре Assassin’s Creed Mirage разработчики возвращаются к истокам серии, что имеет как положительные, так и отрицательные последствия.

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

Сервер Юк. Заставляем Yandex Cloud Functions работать на F# В этой статье я расскажу, как засунуть F# в Yandex Cloud Functions. Навыка работы с Serverless у меня нет, так что это будет не компиляция моего опыта, а отчет о вполне успешном эксперименте.Судя по всему, разработчики Yandex Cloud Functions считают, что dotnet = C#. Поэтому...

Z-test Привет, Хабр!Z-тест, известный также как z-критерий Фишера, представляет собой набор статистических методов для проверки гипотез, которые базируются на предположении о нормальном распределении данных. Эти методы используются для анализа, являются ли средние значения двух наб...

[recovery mode] С какого курса начать обучение программированию для детей? Голосование Знакомство с программированием может начинаться уже с первого класса и даже раньше: с пяти лет. Даже в этом возрасте ребенок способен освоить логику и основные принципы написания кода. Для обучения можно использовать различные языки программирования, например, Скретч, Пайтон...

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

HashiCorp обвинила сообщество OpenTofu в краже кода Terraform, но что-то пошло не так 3 апреля на сайте InfoWorld вышла статья известного публициста на тему Open Source и юриста Matt Asay под названием «OpenTofu, возможно, демонстрирует нам, как не надо делать форк». Лидер-абзац в статье довольно жёсткий: Не согласны с лицензией? Просто сделайте форк про...

Fastlane для Android разработчиков Рост команды требует большего вовлечения в процессы и договорённости, которые, в свою очередь, требуют автоматизации и инспекции. Можно взять bash‑скрипты и закрыть ими эту потребность, но насколько это будет удобно? Тут нужен инструмент, который упростит разр...

Flutter: история успеха Кроссплатформенный фреймворк Flutter появился в 2017 году. С тех пор он стал одним из самых популярных инструментов для разработки мобильных приложений. Мы в Friflex работаем с Flutter с первого релиза, следим за его развитием и каждый год проводим большую конференцию о крос...

[Перевод] За 25 лет я выучил 30 языков программирования. Хочу поделиться своим опытом Привет, Хабр! Перевели для вас статью программиста-самоучки, в арсенале которого — три десятка языков программирования. Надеемся, она вдохновит вас поделиться собственными историями становления в кодинге не меньше, чем нас в beeline cloud. Приятного чтения!Всё началось в дал...

Разработка игр с использованием Go и библиотеки Ebiten Go является мощным и эффективным языком программирования, который можно использовать для создания игр. В этой статье мы рассмотрим разработку простой игры с использованием языка Go и библиотеки Ebiten, предназначенной для создания 2D игр. Читать далее

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

[Перевод] Генезис-файлы. Часть I: eCash Дэвида Чаума и зарождение мечты шифропанков Это – первая публикация в серии материалов, посвященных становлению движения шифропанков. Эти статьи призваны познакомить сообщество с технологиями, предшествующими киберкоммерции, которую мы сегодня наблюдаем. Понимание истории, осознание мотивов и методов достижения целей ...

Взлет и падение языка COBOL. Где и как язык программирования, которому 60 лет, применяется и в наше время? В 2023 году языку COBOL исполнилось уже 64 года. Это один из старейших языков программирования, которые применяются на практике. Кроме того, он же — один из лидеров по объему написанного кода. Язык не собирается умирать, наоборот, он развивается. Конечно, конкурентом популяр...

Зачем нам так много языков программирования? В мире насчитывают примерно 7 000 естественных языков и 9 000 языков программирования. Но, в то время как количество первых стабильно сокращается, число вторых продолжает уверенно расти. Сегодня поговорим о универсальном языке программирования «для всего» и причинах появлени...

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

Управление Linux-сервером — самая ценная инвестиция В эпоху облаков настройка Linux-сервера своими руками кажется неким вымирающим искусством. Для непосвящённого человека даже bash-скрипты выглядят как заклинания, а коллеги проникаются уважением к сисадмину, как древние индейцы к своему шаману… Сейчас это «древнее искусство...

Быстрое пополнение словарного запаса при изучении иностранного языка методом «Ознакомление-забывание-вспоминание» Привет, Хабр!В этой статье мы описываем полную методику быстрого пополнения словарного запаса при чтении неадаптированной литературы на иностранном языке. Статья будет интересна тем, кто владеет иностранным языком на уровне B2-С1 и столкнулся с необходимостью увеличить слова...

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

[recovery mode] Делаем JavaScript компилируемым с помощью llvm.js В данной статье мы рассмотрим мощный проект - llvm.js и расскажем, что он представляет из себя. Также мы научимся создавать компилируемый язык программирования на основе JavaScript. Хотя в этой статье мы сфокусируемся именно на JavaScript, ознакомившись с процессом, вы сможе...

Деревья ltree в PostgreSQL – простым языком Привет, Habr! Меня зовут Оля Плюта, я продуктовый аналитик маркетплейса Uzum Market. В этой статье я расскажу об иерархических деревьях ltree в PostgreSQL. Статья вводная, поэтому я постаралась сделать её максимально понятной и наглядной. Читать далее

Модульность в JavaScript: CommonJS, AMD, ES Modules Привет, Хабр!Начало истории в модульности в JavaScript положил хаос: глобальные переменные, конфликты имен и сложности с зависимостями. Со временем сообщество предложило несколько подходов для организации модулей, начиная от CommonJS, которое легло в основу Node.js, до AMD, ...

Как можно использовать .NET из Javascript (React) в 2023 году Статья показывает опыт использования .NET из JavaScript (React) с помощью компиляции .NET кода в WebAssembly с помощью новых возможностей .NET 7. Включает инструкцию по созданию проекта для .NET для использования из Javascript, и интеграции его в веб-приложение, написанного...

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

Как я за месяц написал интерпретируемый язык программирования на Python Привет, Хабр! В этой статье я хотел бы поделиться опытом создания своего языка программирования.ПредысторияМне 14. Обучаясь на втором году Яндекс Лицея, нужно было написать несколько проектов. Первым из них стал проект на PyQT5. Я долго думал над идеей и вспомнил, что летом ...

Удары по корневой инфраструктуре, медленные атаки и хактивизм: как менялись DDoS-атаки в нулевых Частота и масштаб DDoS-атак увеличиваются ежегодно. Услуги DDoS as a service позволяют всем желающим относительно легко проводить продолжительные атаки, которые трудно нейтрализовать. В CloudMTS мы уделяем пристальное внимание защите инфраструктуры и хотим ближе познако...

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

Из микро в макро: как адаптировать мобильное приложение под ТВ-платформу Рано или поздно Android-разработчику станет любопытно попробовать новые платформы. Устройств с этой ОС много — есть из чего выбрать. Например, сейчас набирает популярность разработка под умные телевизоры.И вот здесь начинается самое интересное. Вроде бы и на смартфоне, и на ...

Почему Сборка с Помощью Есlipse ARM GCC Плагинов это Тупиковый Путь В программировании микроконтроллеров часто используют Eclipse с плагинами.Главным образом от незнания языков скриптов сборки (Make, Cmake, Ninjia и т п).В этом тексте я напишут почему способ сборки из Eclipse c ARM плагинами — это тупиковый путь...

[Перевод] Релиз Bun Shell (новый shell для JavaScript) JavaScript — самый популярный скриптовый язык в мире. Так почему же так сложно запускать shell-скрипты на JavaScript?Этим вопросом задались создатели Bun (альтернатива Node.js - очень быстрый runtime для запуска JS-кода, а также менеджер зависимостей, тест раннер, бандлер дл...

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

DIY: Ваше собственное облако на базе Kubernetes (часть 3) Вот мы и подобрались к самому интересному: запуску Kubernetes в Kubernetes. В этой статье мы поговорим о таких технологиях, как Kamaji и Cluster API, а также о том, как интегрировать их с KubeVirt.В прошлых статьях мы уже рассказывали, как мы готовим Kubernetes на bare metal...

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

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

Гайд по релокации в Великобританию и получению ВНЖ в 2023 по Innovator Founder Visa В этой статье я постараюсь максимально подробно описать, как выглядит процесс получения инноватор визы и ВНЖ Великобритании, поделиться реальными кейсами, затыками и рисками. Статья будет полезна для стартапов, предпринимателей и других специалистов, рассматри...

ASCII-арты на python Здравствуйте уважаемые читатели, в этой статье я расскажу Вам как делать ASCII-арты при помощи языка python, на примере моего кода. Читать далее

«Пора ли гнать на мороз Computer Vision — scientist'ов ?» (Fondation Models и вокруг) Прошлый год в Computer Vision запомнился тем, что появилось множество больших претрейненных сетей (Fondation Models). Самая известная - GPT4v (ChatGPT с обработкой изображений).В статье я попробую простым языком объяснить что это такое (для тех кто пропустил), как меняет инд...

Как System/360 спасла IBM и переписала историю вычислений 7 апреля 1964 года, шестьдесят лет назад, компания IBM анонсировала семейство компьютеров с архитектурой IBM System/360. Автор книги «От хорошего к великому» Джим Коллинз включил System/360 в тройку лучших бизнес-достижений всех времен, наряду с моделью T Форда и первым...

GigaChat и русский жестовый язык Всем привет! Меня зовут Капитанов Александр, я отвечаю за направление компьютерного зрения в SberDevices. В этой статье я расскажу о том, как моя команда Vision RnD разработала серию моделей SignFlow, обеспечивающих перевод с жестового языка на русский и американский английс...

Истории из жизни вредоносов: знакомимся с Remnux Представим следующую ситуацию, у нас имеется файл, который скорее всего содержит вредоносный код. Варианты с отправкой этого файла сазу на virustotal.com мы пока рассматривать не будем, так как это слишком просто не спортивно.Можно конечно, поднять виртуалку/контейнер с Wind...

Ещё раз об экзоконтинентах, тектонике плит и зарождении жизни Не так давно уважаемый @SLY_G опубликовал на Хабре перевод интересной статьи «Когда во Вселенной впервые появились континенты». Ссылаясь на исследования и модели Джейн Гривз из Школы физики и астрономии Кардиффского университета в Уэльсе, автор статьи (Эван Гоф) рассуждает о...

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

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

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

Возможности JS, о которых вы возможно не знали Всем привет! Меня зовут Леша, я фронтенд-разработчик. Крашу кнопочки, пишу js скрипты, веду канал в TG https://t.me/frontend_tales (подписывайтесь, стараюсь выкладывать полезный материал). В этой статье хотел бы поделиться с вами лайфхаками JavaScript, которые, возможно, пом...

[Перевод] Result builders in Swift Конструктор результатов можно рассматривать как встроенный предметно-ориентированный язык (DSL) для сбора деталей, которые объединяются в конечный результат. Конструкторы результатов в Swift позволяют создавать результат, используя "блоки сборки", расположенные в ряд друг за...

Простой тест llvm/libjit часть II, те же + gnu lightning Эта статья является продолжением Простой тест libjit vs llvm, где сравнивалось быстродействие библиотек для Just In Time компиляции llvm и libjit на примере задачи решета эратосфена. В этой статье решается точно та же задача — решето эратосфена при помощи еще одной JIT биб...

[Перевод] Timed wait events in PostgreSQL перевод второй статьи известного специалиста в области Oracle Фрица Хугланда на тему трассировки postgresql при помощи bpftrace (первую статью я перевёл ранее см. Использование bpftrace для трассировки выполнения запросов в postgres) Читать далее

История водородных двигателей и почему они до сих пор не спасли человечество Люди заинтересовались перспективами водородных двигателей еще в XIX веке. Однако прошел XIX век, за ним ХХ. Мы уже прожили почти четверть XXI столетия. А эра водорода так до сих пор и не наступила. Посмотрим, где она начиналась и  почему за два века технология не получи...

Внедрение процесса тестирования Google Tag Manager: увлекательная история Даши-путешественницы Март принес с собой проблему: у некоторых клиентов начали подвисать страницы, на которых монолитный js был разделен на чанки. На таких страницах в основном бандле содержится минимум для отрисовки первого экрана, а остальные чанки мы загружаем отложено. Однако из-за неправиль...

Малоизвестные и интересные особенности C и C++ В C и C++ есть особенности, о которых вас вряд ли спросят на собеседовании (вернее, не спросили бы до этого момента). Почему не спросят? Потому что такие аспекты имеют мало практического значения в повседневной работе или попросту малоизвестны.Целью статьи является не освеще...

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

Простой VBA скрипт для преобразования таблицы excel телефонной базы контактов в файл .vcf Недавно я пытался перекинуть свои контакты из старого Блекберри в телефон с Андроидом и меня постигла неудача - оказалось не существует инструментов для корректного преобразования одного формата в другой.Тогда я решил преобразовать мои контакты, полученные из старого телефон...

Необходимая защита и вооружение для БТР: история с 1936 по 1960 год. Часть 1 Статья рассматривает историческое развитие боевых транспортёров, начиная с их появления в 1936 году и до 1960 года. В статье подробно описывается эволюция защитных систем и вооружения на популярных моделях БТР.

История одной уязвимости в Google Chrome Эта статья посвящена уязвимости, которую мне удалось обнаружить в браузере Google Chrome в конце прошлого года, а также рассказывает об истории её возникновения. Уязвимость существовала в течение продолжительного периода и была устранена 31 октября 2023 года. Компания Google...

Первые кадры выживания в мире Терминатора — Terminator: Survivors Спустя два года после анонса выживание с открытым миром Terminator: Survivors наконец-то вышло из тени на презентации NACON Connect 2024. Как заявляют разработчики из Nacon, игра появится в раннем доступе через Steam уже 24 октября этого года. А позже состоится полноценный р...

Из летописи навигации: история компаса в России Компас занимает особое место в истории навигации. О появлении первого компаса и его развитии мы рассказали в первой части цикла статей. Сегодня мы поговорим об использовании компаса отечественными мореплавателями и о том, как компас появился на территории России. Читать дале...

Геймдев на Lisp. Часть 1: ECS и металингвистическая абстракция В данной серии практических руководств мы подробно рассмотрим создание несложных 2D-игр на Common Lisp. Результатом первой части станет настроенная среда разработки и простая симуляция, отображающая двумерную сцену с большим количеством физических объектов. Предполагается, ч...

Tailwind vs BEM — 2 (архитектура) Статья рассматривает возможные задачи верстки на разных проектах и как с ними справляются две разные архитектуры: Tailwind CSS и ванильный CSS + BEM. Читать далее

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

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

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

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

Рассматриваем мифический фреймворк C2 Mythic. Часть 1 Привет Хабр, на связи лаборатория кибербезопасности AP Security. В этой статье мы продолжим разбирать C2-фреймворки. На этот раз, мы будем изучать относительно новый фреймворк под названием Mythic. Приятного прочтения! Читать далее

VisionFive2 (ядро Linux) В предыдущей статье мы рассмотрели процесс сборки загрузчика. Теперь мы рассмотрим ядро Linux, исходные коды которого поддерживает компания StarFive в репозитории https://github.com/starfive-tech/linux. Кроме того, мы рассмотрим создание скриптов загрузки ядра (boot.scr) для...

Vivo X100 Pro+: стал известен сенсор камер, дисплей и ... Компания Vivo планирует выпустить топовую модель X100 Pro+ (или X100 Ultra) в первой половине 2024 года. Из последних истоков стало известно, какие улучшения по сравнению с предшественником получит новинка

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

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

Суслик и пингвин: кодим на Go под Linux Язык ядра Linux, его модулей и утилит написаны на языке C. Хоть он и является старым языком и прародителем многих других, но его до сих пор используют. В экосистему линукса постепенно проникают и более молодые языки — например, Rust. Но сегодня мы поговорим об детище Google ...

Вся мощь паттернов в Wolfram Language Редкая птица долетит до середины Днепра, не каждый разработчик осилит все паттерны в WL. Нет ему равных языков в паттерн-матчинге. Чуден и необычен язык этот. Изобилует он точками, подчеркиваниями, да запятыми так, что в глазах рябит, да разум мутнеет. В этой статье я постар...

От настолки 1970-х до топовой игры 2023 года. История Baldur’s Gate Baldur’s Gate — это не только нашумевшая игра прошлого года. Это целый сеттинг, по которому изданы десятки игр и написаны десятки книг. История серии начинается с культовой настольной игры «Подземелья и драконы» середины 1970-х, продолжается в оригинальной Baldur’s Gate от B...

Самодельные инструменты для тестирования продукта, или DIY в разработке Все мы привыкли к общепринятым инструментам для тестирования. Думаю, список есть у каждого и он постоянно пополняется. Лично мой: Postman, IntelliJ IDEA и DataGrip от JetBrains, ShareX для скриншотов и его величество DevTools. В этой статье я хотел бы отдать дань само...

Без холивара «переписать все на Go»: проблема переносимости в Python и ее решение На скриптовых языках удобно разрабатывать… И на этом удобство заканчивается. Вне машины разработчика начинаются проблемы. Особенно если вы пишете какой-то прикладной тулинг — cli-утилиты, вспомогательные приложения в вашем SDK и прочее. Вы даже не можете рассчитывать на то, ...

[Перевод] Язык Janet для смертных. Часть 1 — Значения и ссылки Это первая глава перевода небольшой книги о языке Janet за авторством Иана Генри (Ian Henry). В этой книге раскрываются различные аспекты работы с языком, обьяснение синтаксиса и некоторых приемов программирования. Внимание, в этой публикации содержатся скобочки! Люди с неп...

[Перевод] Мои первые шаги в создании браузерных 2D игр на чистом JavaScript + Canvas. Часть 1. Прототип Всем привет!Поделюсь с Вами моим первым опытом в создании двумерных браузерных игр на языке JavaScript. Читать далее

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

Yul: Учимся использовать inline assembly в Solidity В этой статье я расскажу про язык среднего уровня между Solidity и байт-кодом, который применяется в EVM. Основная задача Yul - это оптимизация смарт-контрактов по газу, как на уровне языка так и на уровне компилятора, а также гораздо больший контроль над выполнением кода. М...

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

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

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

Как и почему мы построили Единую историю операций на Citus DB Доступ к единой истории операций — функция, которую сегодня ожидают видеть пользователи любого современного интернет-банкинга. В приложениях Газпромбанка функция существует уже много лет, но некоторое время назад мы решили существенно её переработать. В этой статье я расскаж...

Опальный миллиардер: история основателя Alibaba Джека Ма История жизни основателя Alibaba, Джека Ма, начинается в городе Ханчжоу, что в китайской провинции Чжэцзян, где он родился 10 сентября 1964 года. Его настоящее имя — Юнь, но его прозвали Джеком туристы, которым было сложно произносить китайское имя будущего миллиардера. ...

[Перевод] std fs в Rust медленнее, чем Python? Нет, это аппаратный баг В этой статье я поделюсь с вами долгой историей, которая начинается с op.read() opendal, а заканчивается неожиданным поворотом. Это путешествие оказалось для меня достаточно поучительным, надеюсь, и для вас оно будет таким же. Я постараюсь максимально точно воссоздать с...

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

Компиляция Record для Android В Android Developers Blog выходила статья Records in Android Studio Flamingo о том как компиляторы R8/D8 преобразуют классы java.lang.Record. В ней рассказывается как добиться минификации компонентов toString() у Kotlin data-классов. Меня заинтересовала эта тема и я решил чу...

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

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

Подборка: навыки и инструменты начинающего Go-разработчика Привет! Меня зовут Александр Тетеркин, я Go-разработчик в VK. Раньше я писал на Python, потом перешел на Go — пишу на этом языке уже три года, а также являюсь наставником на курсе «Go-разработчик с нуля».Я знаю, что новички в любой сфере задаются вопросами о том, с чего нача...

Автоматическое создание карточек слов для изучения иностранного языка или интеграция google translate в google sheets Добрый день.Недавно сделал инструмент для автоматизированного создания карточек для изучения слов — подумал что может быть кому то пригодится и как инструмент, и как техническое решение.Немного вводной информации: один из способов запо...

[Перевод] Анатомия Hello World на языке C Эта статья посвящена программе Hello World, написанной на C. Это максимальный уровень, на который можно добраться с языком высокого уровня, не беспокоясь при этом о том, что конкретно язык делает в интерпретаторе/компиляторе/JIT перед выполнением программы. Изначально я хо...

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

Да кто такой этот ваш impl Trait В преддверии выхода Rust 1.75.0, наполненным async trait-ами и return-position impl Trait in trait, надо разобраться, что такое impl Trait и с чем его едят. После прочтения статьи вы сможете битбоксить с помощью новых акронимов понимать, что за наборы символов RPIT...

Вопросы по SQL, которые часто задают на собеседовании. Часть 1 SQL (Structured Query Language) – это язык программирования, используемый для управления реляционными базами данных. В этой статье я собрал вопросы по SQL, с которыми вы можете столкнуться на собеседовании. Их часто задают для проверки общих знаний и навыков. Читать далее

[recovery mode] 13 грехов продакт-менеджера Чтобы качественно решать проблемы пользователей, продакт-менеджер должен обладать широким набором компетенций: исследования, аналитика, критическое мышление, управление проектами, коммуникации и так далее.Ошибки в работе неизбежны. Но ошибаться не страшно. Страшно не признав...

От Kubernetes в мечтах к Kubernetes в проде. Часть 4. Хранилище секретов ― HCP Vault В серии статей по теме DevOps мы вместе с Lead DevOps инженером департамента информационных систем ИТМО Михаилом Рыбкиным рассказываем о проверенных инструментах выстраивания инфраструктуры, которыми с недавнего времени пользуемся сами. В предыдущих статьях мы уже рассмотрел...

Rust — это не «memory safe C» TL;DR: 1) в Rust намного больше достоинств, чем просто скорость и безопасность 2) в Rust по умолчанию CDD (compiler-driven development, разработка через компилирование). Это как TDD, только CDD 3) Rust не сложный язык, особенно если не гнаться за максимальной производительно...

Повторяем Bad aplle на языке Python ASCII-графикой Повторяем Bad Apple в Python ASCII-графикойДоброго времени суток, уважаемые читатели хабра, в этой статье я расскажу Вам о том, как я повторил клип Bad Apple ASCII-графикой Читать далее

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

История разработки приложения для складных смартфонов Samsung. Часть 2 — гайдлайны Эта статья - продолжение истории про фрилансера Мишу и его знакомство со складными устройствами от авторов - выпускников «IT Школы Samsung». В предыдущей части главный герой осваивал инструментарий Remote Test Lab.В далеком 2019 году Samsung выпустила Galaxy Fold - инновацио...

Шифр Цезаря на Ассемблере Друзья, коллеги, всех приветствую! В этой статье мы напишем шифратор на грязном "макро-чистом" Ассемблере и в качестве элементарного шифра будем использовать Шифр Цезаря (Шифр сдвига с ключом k = n). Статья написана для новичков, которые могут погрузиться в мир "первой" крип...

Где открыть магазин? Путешествие в геопространственный анализ и обратно В статье расскажу поподробнее про оценку локаций для бизнеса.Проблема классическая: ищем место для открытия нового магазина/ресторана/пиццерии.Сразу скажу, что при помощи гео я решал очень узкий набор задач:• Оценить существующие локации с т.з. плотности населения, конкуре...

Миграция конфигурации сборки с Groovy на Kotlin DSL (Domain-Specific Language) — это язык программирования, который спроектирован и оптимизирован для решения задач в конкретной области или для определенного класса задач. DSL build.gradle предоставляет разработчикам удобный способ определения настроек проекта и управления ...

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

Как я написал свой первый эзотерический язык программирования В данной статье, я рассказываю о том, как написал свой первый эзотерический язык программирования C42. Читать далее

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

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

[Перевод] Переменные окружения в Node.js: полное руководство В этой статье мы рассмотрим переменные окружения (environment variables) в NodeJs с примерами. По сути, это пары ключ-значение набора данных, которые хранятся на уровне операционной системы. Они важны, поскольку отвечают за: разделение проблем, безопасность, переносимость, м...

Как показать номер версии на экране загру… Привет, Хабр! Меня зовут Сергей, и я 3 года работаю Android/iOS разработчиком. Написал с нуля приложение для фитнес-клубов (Google Play/App Store — если интересно, код под NDA, его не могу показать) и дорабатываю малоизвестный банк. За это время накопилось много интерес...

Маленькие радости админа локалхоста Внезапно D_E_N_I_S_K_A сочинил простой скрипт на питоне, который делает «выстрел» на каждое обращение к страницам (читая access.log), и попросил меня запостить его #!/usr/bin/env python import popen2, random f_in, f_out = popen2.popen2("tail -f -n 0 /var/log/lighttpd/a...

В Сети возмутились статьей из газеты 50-х о наказаниях для женщин Пользователь Reddit опубликовал фотографию статьи из New York Daily Mirror 1950-х годов, в которой приводилось мнение мужчин о телесных наказаниях женщин. Компиляцией комментариев поделилась Лента.ру.

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

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

История FineReader: так создавалась легенда (часть II) Мы продолжаем изучать летопись функционального развития легендарного редактора FineReader PDF. Первую часть 30-летней истории можно прочитать здесь. А сейчас перенесемся в середину нулевых.  Читать далее

Исследуем саундбар Yamaha YAS-109 Всем привет!Краткое предисловие: я счастливый обладатель замечательного саундбара YAS-109 от Yamaha, на момент написания пользуюсь им уже целый год, и всё в целом хорошо. Но однажды я решил узнать: не подслушивает ли меня мой музыкальный друг? Ведь у него есть встроенная под...

Атаки на Bluetooth. Часть 1 Снова приветствуем всех заинтересованных и случайно попавших на эту статью! Продолжаем рубрику "Без про-v-ода", в основном мы разбираем для вас атаки на Wi-Fi, но в этой статье мы затронем одну из популярных беспроводных технологий - Bluetooth. Все мы каждый день им пользуем...

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

Разработка децентрализованных приложений на Spring Boot: инструменты Web3 Tech Привет! Меня зовут Даниил, я разработчик в Web3 Tech. Недавно в JVM-инструментарии для нашей основной платформы «Конфидент» состоялся новый релиз, в который вошли библиотеки клиента для взаимодействия с нодой и Spring Boot стартеры. Далее в посте я расскажу об этих библиотек...

Хеш-функция Стрибог. Особенности аппаратной реализации на System Verilog На просторах интернета есть несколько статей об алгоритме получения хеш-функции Стрибог (ГОСТ 34.11-2012), в том числе и на Хабре. Однако везде в качестве примера приводится реализация на языках программирования C, C#, Python и других. То есть идет последовательное выполнен...

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

Сказ о том, как я эмулятор Intel 4004 на Python писал (часть 2) Небольшой дисклеймер: перед прочтением данной статьи ознакомьтесь с первой частью, дабы вникнуть в суть происходящего. Желаю вам приятного прочтения :)Это вторая часть о том, как я писал и продолжаю писать и улучшать эмулятор Intel 4004 с очень ограниченным функционалом на я...

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

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

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

Kodein DI для Android. Целостность графа и тесты на DI DI фреймворки бывают двух видов: те, что строят свой граф зависимостей во время компиляции (compile time фреймворки), и те, которые делают это уже при выполнении кода (runtime фреймворки).Kodein — типичный представитель runtime фреймворков. Это значит, что о пропущенной зави...

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

ESPspectrum прошивка ESPspectrum - проект на основе компьютера ZX spectrum, с собственной простой операционной системой. Это вторая статья проекта ESPspectrum. В данной статье описывается программный код OC. Есть возможность открывать, редактировать, создавать и удалять файлы. Есть калькулятор с...

Backup. Файловое резервное копирование бюджетного VPS Предыстория. В своё время, когда мне надо было найти решение этого вопроса на Хабре, казалось, что все статьи состоят из установки и настройки Veeam Backup, Proxmox Backup и прочих коммерческих решений для блочных устройств. У меня запросы поскромнее. SLA и 3-2-1 не требуютс...

Гайд по сплит клавиатурам Этот гайд создан для тех, кто интересуется сплит клавиатурами, но еще не знаком с их особенностями и преимуществами или рассматривает переход на них. Главная цель гайда – предоставить всестороннюю информацию о сплит клавиатурах: от их истории и типов до подробного рассмотрен...

[Перевод] PL/I — многогранный язык Майк Бедфорд раскрывает тайны PL/I - языка, который, как надеялись в IBM, заменит FORTRAN и COBOL.Названия языков программирования варьируются от банальных до точно описательных, от совершенно бессмысленных до, как в случае с темой этого месяца, откровенно неточных. Речь иде...

Краткая история сервера На первый взгляд история и последующая эволюции серверов выглядит предельно просто. Ее исходные вехи: 1964 год — создание мэйнфрейма IBM System/360, каковой в числе прочего был сервером для его интерактивных консолей и прочих периферийных устройств, то есть сервером в «желез...

[Перевод] Погружение в компиляторы Kotlin Привет, меня зовут Мялкин Максим, я занимаюсь мобильной разработкой в KTS.Не за горами выпуск новой версии Kotlin 2.0, основной частью которого является изменение компилятора на K2. По замерам JB, K2 ускоряет компиляцию на 94%. Также он позволит ускорить разработку новы...

Разбор монады ContT, или как написать продвинутый goto, генераторы и файберы на хаскеле В этой статье я разберу монаду ContT, и покажу как вернуть return и другие control-flow операторы из императивных языков программирования, которых мне так нехватало, когда я начинал изучать хаскель. Читать далее

Язык программирования R для статистической обработки данных Гибадуллина Д.А  Гибадуллина Дарья Анатольевна/ Gibadullina Daria Anatolievna- студент второго курса бакалавриат Уральского филиала Финансового университета направления бизнес-информатика Аннотация: Язык программирования R имеет широкое применение в области ст...

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

Динамический JIT компилятор C++ Когда-то давно я писал статью-наблюдение про использование Хабра в качестве площадки для архитектурных ревью технических решений практически любой сложности Хабр — ума палата, и продолжаю пользоваться этим способом на постоянной основе. А теперь, похоже, я нашел еще один оч...

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

Пункт назначения — Squadus. Наш опыт переезда на альтернативу Microsoft Teams В марте 2024-го рынок встряхнула новость от Microsoft о грядущем отключении доступа к облачным сервисам компании для корпоративных клиентов из России. Оперативно делая бэкапы, одни побежали искать «обходные пути», вторые — подбирать альтернативы продуктам Microsoft. А я реши...

Настраиваем CI/CD с GitHub Actions и werf: инструкция для новичков В этой статье мы рассмотрим, как настроить пайплайн CI/CD в GitHub: подготовим репозиторий, зальём туда приложение, создадим файлы конфигурации GitHub Actions, в которых опишем, как собирать наше приложение и деплоить его в кластер Kubernetes, развёрнутый под управлением Dec...

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

Полноценный 2D-платформер на Python в 2023? Мой опыт Говорят, что на Python легко и просто создавать игры-платформеры. Правда ли?В этой статье вы узнаете о всех стадиях создания игры-платформера на Python, о сложностях при его создании и выводах, которые я сделал после релиза игры. Читать далее

Почтовый сервер на Debian / ALT / Astra / RedOS — опыт портирования Ansible Playbook История начинается в 2017-м году - когда мне потребовался самодельный почтовый сервер на связке Postfix + Dovecot + Roundcube + LDAP-каталог (AD на тот момент). Сказано - сделано - времени ушло прилично (делалось для FreeBSD), но зато много в чем получилось досконально разоб...

Security Week 2414: последствия взлома xz-utils История со взломом набора утилит xz-utils, несомненно, войдет в категорию легендарных событий в сфере информационной безопасности. Эта тщательно спланированная атака на цепочку поставок была в шаге от полного успеха. Могла быть реализована ситуация, когда десятки и сотни тыс...

Как нашли бэкдор в радиосвязи TETRA — подробный разбор Неприступных крепостей не бывает. Опасную брешь, то есть бэкдор, недавно обнаружили в шифрованном стандарте радиосвязи TETRA. А ведь он вот уже 25 лет используется военными, экстренными службами и объектами критической инфраструктуры по всему миру. Самое интересное, что на т...

Реализация многофункционального терминального интерфейса для МК AVR В данной статье речь пойдёт о разработке многофункционального терминального интерфейса для МК (на примере МК Atmega32 и терминала HyperTerminal. Многофункциональность в моём случае будет заключаться в обработке управляющих символов и управляющих последовательностей с целью р...

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

«Белое золото»: патентная история первых литиевых аккумуляторов В предыдущем материале мы подробно рассказали об открытии лития и начале его промышленного производства. Новейшая же история лития начинается с патента Майкла Стэнли Уиттингема из Exxon Research & Engineering Co. «Перезаряжаемый электрохимический элемент c катодом и...

Transient storage в EVM (EIP-1153): на грани добра и зла В одной из статей о расчете газа в Ethereum (ссылка) я рассказал об истории изменений механизмов подсчета газа для хранилища смарт-контракта (storage) — от правил, заложенных в протоколе изначально, до EIP-3529. Во всех этих изменениях прослеживается основная проблема: нерац...

Как потерять $5000, не уехать в США и остаться должником в $17000+ Ранее на Хабре уже выходила статья Повесть о том как потерять 3тыс. долларов и не уехать в США, в которой @Iliya_karin рассказал о своём опыте сотрудничества с компанией, которая помогает переехать в США IT-специалистам - oCitizens (uDevs).Илья и я стали клиентами oCitizens ...

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

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

Я изучал иностранный язык 3 месяца с DuoLingo. Почему это не самый эффективный инструмент для изучения языка Уже чуть более трех месяцев я учил испанский язык  с помощью тренажера DuoLingo. Это первая часть эксперимента. Моей целью было оценить объем знаний и перспективы использования DuoLingo изучающими иностранный язык.Я не тратил много времени, 10-15 минут в день, иногда ме...

Металл не только для солдатиков: краткая история олова Мы продолжаем рассказывать о различных металлах, истории их открытия, применении и патентом аспекте. На этот раз речь пойдет об олове, известном всем мальчишкам и девчонкам по оловянным солдатикам, в том числе стойким.Олово (Sn) — пластичный металл серебристо-белого цвета. В...

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

[Перевод] 4. Nix в пилюлях: Основы языка Четвёртая часть из цикла статей Люка Бруно, посвящённой пакетному менеджеру и языку программирования Nix.Здесь мы знакомимся с основами языка. Читать далее

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

Как много языков может влезть в одного программиста? Всем привет, я Серёжа, технический лидер iOS-разработки. Сегодня хочу поговорить о многогранности мира программирования, а именно о количестве языков, причинах, по которым они нам нужны, и о том, зачем одному программисту несколько языков.Если с каких-то рассуждений прямо си...

[Перевод] SQLx: raw SQL в Rust Когда речь заходит об использовании SQL, экосистеме Rust есть что нам предложить: к счастью, нам доступны несколько отличных готовых к использованию решений. SQLx — это чисто асинхронный, независящий от рантайма SQL-крейт, позволяющий использовать проверяемые во время компил...

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

От «здравствуйте» до こんにちは: языки программирования не на английском языке Существует огромное количество самых разных языков программирования, их насчитывается несколько тысяч. Какие‑то — идеальны для работы, другие же созданы just for fun. К слову, есть ЯП, представленные программистами из неанглоязычных стран, в них...

Наследие Windows XP: загадка title.wma Старые операционные системы и приложения до сих пор способны удивлять. За каждым файлом порой скрывается целая история. Кто реальный автор демоигры Pinball Space Cadet и правда ли обои рабочего стола Bliss («Безмятежность») были сняты в округе Сонома, штат Калифорния? Подобн...

Реализация слоев в NN (часть 1) Не приходил ли вам когда-нибудь в голову вопрос о том, как устроены слои нейронных сетей под капотом? Задумавшись над этим вопросом, я перерыл интернет в поисках полноценной реализации слоёв, но находил лишь отдельные куски кода или слишком упрощенные примеры, где чаще всего...

[Перевод] Простые языки программирования Мне нравятся простые языки программирования, такие как Gleam, Go и C. Знаю, я не один такой. Есть что-то чудесное в работе с простым языком: каково его читать, использовать в команде, возвращаться к нему спустя долгое время и т.д. В этом посте я хочу конкретизировать, в чём...

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

API для хостинга: кому он потребовался и как мы его сделали Привет, Хабр! На связи хостинг-провайдер SpaceWeb. В этой статье расскажем, как работает клиентский API у нас, почему для него мы выбрали технологию JSON-RPC и чем она нам так нравится. Историей делятся Виталий Киреев, руководитель R&D, и Алексей Шашкин, продакт-менеджер...

Какой язык программирования выбрать? Обзор на Go Продолжаем серию статей про особенности, применение, плюсы и минусы языков, которые используются в «Криптоните». В этой статье наш инженер департамента инфраструктуры Алексей Косов расскажет про Golang.Ранее наши разработчики делали обзоры на Rust, Scala, JavaScript и Spark....

Я мыслю MOV EAX, 1 Чем больше усилий ты прикладываешь, тем лучше это у тебя получается. Программирование не исключение, и чтобы с уверенностью сказать: "Я могу написать это" нужно много работать. Эта статья о том с какого языка начать путь в программировании и о том как понять принципы работы ...

Распознавание и перевод жестовых языков: обзор подходов Всем привет! В статье «Slovo и русский жестовый язык» мы рассказывали, как решаем задачу распознавания изолированных жестов, в статье «Русский жестовый язык: первое место в американском бенчмарке» делились результатами решения, а в статье «GigaChat и русский жестовый язык» р...

Путь развития Frontend разработчика (Вторая часть) Это вторая часть roadmap frontend разработчика, Если вы не читали первую часть, то настоятельно рекомендую ознакомится, Первая часть. В этой статье я продолжу вам рассказывать про мое представление современной карты развития frontend разработчика. Читать далее

Почему FilamentPHP — это хорошее решение для создания CMS Привет, Хабр! Меня зовут Егор Черненок, я работаю PHP-разработчиком в AGIMA. В этой статье расскажу вам о FilamentPHP. В документации говорится, что это набор красивых Fullstack-компонентов для Laravel. От себя добавлю, что он отлично подходит для построения CMS. А теперь по...

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

Отправляем и принимаем SMS с помощью SIM868 и Repka Pi В этой статье мы продолжим рассказ об использовании модуля GSM/GPRS/GNSS Bluetooth HAT, созданного на базе SIM868, для беспроводной передачи данных в виде СМС-сообщений через Российский одноплатник Repka Pi. Такой способ даже в наше время актуален, когда нужно управлять авто...

Корутины C++ для чайников: пишем асинхронный веб-клиент Написать этот материал меня побудило... отсутствие хороших статей по корутинам в C++ в русскоязычном интернете, как бы странно это не звучало. Ну серьезно, C++20 существует уже несколько лет как, но до сих пор почти все статьи про корутины, что встречаются в рунете, относятс...

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

ООП в Mathematica В комментариях к мой статье пользователь @Refridgeratorв ответ на мой вопрос написал, что в Wolfram Language (WL) не хватает следующего: "ООП, перегрузки операторов, строгой типизации, событийно-ориентированного программирования, дата-ориентированного программирования, парал...

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

Замена Miro, первый российский конструктор прототипов сайтов, сервис быстрых ответов в Telegram и другие стартапы 9 участников первого набора Product Radar. Битва за «Продукт недели» в самом разгаре! Product Radar — российская площадка для продвижения технологических продуктов, аналог Product Hunt. Читать далее

Аутентификация, авторизация пользователей и единый вход (SSO) с использованием Django В этой статье исследую технологию SSO. Начинаю с разбора концепций аутентификации и авторизации. Рассматриваю как они работаю в контексте Django. После прохожу путь от описания как работает SSO простыми словами, до разбора протоколов используемых в SSO.В итоге делаю реализац...

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

Получение и визуализация данных из Битрикс24 без навыков программирования Год назад у Битрикс24 появилась нативная интеграция с BI-сервисом DataLens: теперь пользователи CRM могут строить дашборд с бизнес-аналитикой за несколько кликов. Для создания таких аналитических отчётов бизнес обычно объединяет все данные в единую базу. При таком подходе мо...

Diplodoc — открытый набор инструментов для создания документации Всем привет, меня зовут Женя Колесников, я из команды Yandex Infrastructure. Сегодня я расскажу, как мы пришли к написанию документации в концепции Docs as Code, придумали для этого набор инструментов, назвали его красивым именем Diplodoc и выложили в опенсорс — теперь вы то...

От контейнеров для еды до бильярдных шаров: история изобретения целлулоида История создания целлулоида связана с французским химиком Александром Парксом, который в 1855 году случайно обнаружил материал, который впоследствии стал известен как «паркезин». Если бы Паркс знал, какого джинна он выпустил из бутылки... Читать далее

Недоступный металл для ветрогенераторов: краткая история диспрозия Мы продолжаем рассказывать о различных металлах, истории их открытия, применении и патентом аспекте. На этот раз речь пойдет о серебристо-сером металле диспрозии (Dysprosium, от греч. δυσπρόσιτος, то есть «недоступный»), химическом элементе III группы периодической системы, ...

Архитектура RISC-V продолжает развиваться: сразу пять крупных компаний займутся внедрением технологии по всему миру На днях стало известно о том, что несколько известных компаний, включая Robert Bosch GmbH, Infineon Technologies AG, Nordic Semiconductor ASA, NXP® Semiconductors, Qualcomm Technologies, Inc., основали новую организацию, которая получила название Quintauris GmbH. Она будет з...

[recovery mode] Кто такой Data Engineer Да, в этих ваших интернетах есть много материалов о том кто такой Data Engineer (DE), в том числе и на самом хабре. Но мне самому захотелось об этом рассказать. Опыт, хоть и небольшой, в этой сфере у меня есть (Сейчас Data Engineer в Сбер Образовании). ЭТА СТАТЬЯ НЕ ЯВЛ...

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

«В каждой игре должен быть свой CJ»: история инструментов для создания модов В прошлой статье мы рассказали, как появились первые моды, и даже проследили взаимосвязь с современными играми на примере серии ARMA и DayZ Standalone. На этот раз погрузимся в тему глубже: обсудим виды модификаций и историю инструментов, с помощью которых их можно создава...

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

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

Продюсеры и консьюмеры с Apache Kafka в Python Салют, Хабр!Apache Kafka - это распределенная платформа потоковой обработки, предназначенная для построения систем обработки данных. Kafka позволяет публиковать, подписываться, хранить и обрабатывать потоки данных в реальном времени. Все это дает нам очень высокую пропускную...

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

Как настроить GitHub Actions и не заплакать: пошаговая инструкция Как настроить GitHub Actions и не заплакать: пошаговая инструкцияПривет всем! Меня зовут Виталий, я фронтендер в Mish. Решил недавно освоить полноценный автоматический деплой проекта, чтобы все работало само. Расскажу и вам, что из этого получилось.В статье буду разговариват...

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

Разработка игры Jim Power для 8-битной приставки: из первых рук Одно из моих главных увлечений в жизни — видеоигры, преимущественно старые. Я большой энтузиаст ретро-компьютеров и игровых консолей, много лет занимаюсь самыми разнообразными делами в этой области. Кто-то знает меня как разработчика игр, кто-то — как демосценера, кто-то — ...

Пишем свой вариантный тип C++ 17 привнес в язык достаточно много нововведений, в том числе шаблон std::variant (хоть в Boost он есть уже довольно давно). Фактически, последним вышедшим и полноценно реализованным стандартом C++ на тот момент, как я начал изучать данный язык, являлся как раз C++17, поэ...

Некоторым языкам программирования десятки лет — и они ещё в ходу. 5 старых, но актуальных ЯП Не так давно мы писали про язык COBOL, которому уже больше 60 лет. Он до сих пор актуален, поскольку на нём держится немало систем финансовых и банковских организаций. Но есть и другие старые ЯП, всё ещё применяемые в некоторых отраслях. О них сегодня и говорим, не обойдя и ...

Как создавалась Call of Duty 2 Кто не знает серию Call of Duty? Конечно ее знает каждый, если не просто игрок, то хотя бы фанат шутеров. Поистине культовая, всемирно известная серия, взявшая свои истоки с игр про Вторую Мировую Войну. Многие части были созданы под эгидой Infinity Ward. Помимо игр компан...

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

Руководство по проектированию дизайна и юзабилити интерфейсов с Drag and Drop Всем привет! Меня зовут Александр Григоренко, я фронтенд-разработчик, и я часто сталкиваюсь с разработкой веб-интерфейсов с использованием Drag and Drop. В своей предыдущей статье про Drag and Drop я рассказывал про историю появления и развития этого подхода: появившись в пе...

Macintosh 128K: от мечты к легенде в мире компьютеров Не так давно вышло обновление macOS 14 Sonoma. Некоторые уже раскритиковали его за то, что Apple отошла от своих же принципов минимализма, добавив на рабочий стол виджеты. На эту тему можно долго спорить, но факт остается фактом: тот привычный образ GUI массовый пользователь...

Как мы переводили проект на CMake В статье мы расскажем о том, как переводили проект с рекурсивной сборочной подсистемы ЗОСРВ "Нейтрино", представляющей собой набор расширений инструмента GNU Make на сборочную систему CMake: с какими нюансами нам пришлось столкнуться, какие преимущества мы получили...

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

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

Космический телескоп Хаббл впервые в истории обнаружил воду за пределами Солнечной системы Учёные считают данное открытие очень важным для понимания зарождения жизни во Вселенной

Экспорт статьи из LibreOffice Writer в Habr Flavored Markdown или HTML Резюме. В статье дается ссылка на файл в формате ODT (основной формат файлов, используемый в текстовом редакторе LibreOffice Writer), содержащий макросы на «родном» для LibreOffice языке программирования макросов BASIC, которые осуществляют экспорт текста из LibreOffice Writ...

Аналитик vs. презентация задачи. Изучаем профессионально-деформационные диалекты коллег Привет =) На связи снова Анастасия-аналитик из команды STM Labs со своей любимой темой «мягких» навыков. В статье про собеседования (первая часть тут, вторая тут) я сравнила аналитика с переводчиком с бизнесового языка на разработческий. Или наоборот.Недавно у нас на работе ...

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

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

Когда-либо давал. F#-сервер из скрипта на примере локального брокера сообщений В ходе разработки на F# поднимать локальные web-серверы приходится гораздо чаще, чем это принято на C#. Связано это с большим количеством нехарактерных для C# активностей. То, что в C# делают плагины для IDE, у нас делают скрипты, причём их сферы ответственности пересекаются...

Прогресс с цветными дисплеями E Ink: Bigme представила моноблок с таким экраном. Насколько это удобно? Цветные «электронные чернила» появились не сейчас, но сначала они были весьма несовершенными. С течением времени технология совершенствуется. Одна из компаний, которая стояла у истоков и совершенствует цветные E Ink, — Bigme. Насколько можно понять, бизнес идёт неплохо, и се...

[Перевод] Когда целый день программировал на Zig: впечатления Rust-энтузиаста Я — большой фанат Rust, так как в этом языке предоставляется отличное инструментальное оснащение, и, когда я пишу на этом языке, я могу быть вполне уверен, что этот код будет работать надёжно. Но иногда Rust ненавистен. Чтобы написать код на Rust, требуется немало времени,...

MES — вместо зоопарка автоматизаций на производстве В истории каждой производственной компании однажды наступает День Х момент качественного перехода. Сначала на предприятии появляются локальные островки автоматизации отдельных задач, функций, подразделений. Между этими островками продолжают курсировать люди, но уже не только...

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

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

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

[Перевод] Hono vs. H3 vs. HatTip vs. Elysia — современные замены Express для сервера (или без сервера) H3 отмечает, что Express.js - старый и малоразвивающийся фреймворк, являющийся не оптимальным выбором для новых проектов из-за потенциальных проблем безопасности и утечек памяти, что, к слову, касается и Koa.В нашей статье мы сделаем акцент на фреймворках, поддерживающих зап...

Как создавался Ведьмак Ко мне в руки тут попала одна книжка про разработку этих ваших ведьмаков и Гервантов из Рыбии. История франшизы, короче. В общем, прочитал я её, проникся, решил изучить тему глубже, а потому, дорогие читатели, держите материал, без регистрации и СМС, даром. Это будет компи...

Настройка протокола mKCP в панелях 3X-UI и X-UI Сегодня мы поговорим о настройке подключения к прокси-серверу по протоколу mKCP в известных web-панелях X-UI и 3X-UI. Про mKCP, как и про многие другие актуальные на сегодняшний день прокси- и VPN-протоколы я недавно рассказывал в статье "Надежный обход блокировок в 2024: пр...

Из фото в 3D, ч.2: калибровка камеры Фото до (слева) и после (справа) калибровки камеры В первой части статьи мы немного поупражнялись на яблоках, чтобы понять, как 3D-объекты проецируются на 2D-плоскость фотографии. Заодно мы описали математическую модель камеры и ее параметры.Знаешь параметры — живешь в Сочи...

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

Для работы над неинвазивным глюкометром Apple в своё время создала секретный стартап Avolonte, о котором знало только руководство Большая статья Bloobmerg о планах Apple на сферу здравоохранения включает далеко не только историю о том, как умные часы купертинцев могли бы работать с Android, но в Apple в итоге передумали. К примеру, в статье есть информация о том, чего ждать от Apple Watch в следую...

История 3D-печати: от идеи к первым опытам и настоящему Каких-то 40 лет назад 3D- печать казалась уделом фантастических рассказов, несмотря на то, что тогда уже были разработки и  возможности для реализации. Но волшебная аура вроде: «А почему бы мне не напечатать себе дом или автомобиль?» больше напоминала перспективы термоя...

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

AITU Military CTF 2024: История о том, как мой сон привел к поднятию киберполигона в стенах моего университета. Часть 1 Всем еще раз привет! В данной статье будет рассказано, как мой сон на университетской лекции случайно привел к череду событий, где я стал техническим организатором двух киберполигонов в стенах моего университета... Читать далее

Кратко про микросервисы на Scala и Erlang Привет, Хабр!Микросервисы давно являются некой "попсой" для создания гибких, масштабируемых и отказоустойчивых систем. И естественное имеет свою реализацию в функциональном программирование.В статье рассмотрим два языка программирования, которые выделяются своим функциональн...

Управление сетевыми устройствами: Orange Pi, OpenWRT и Python Современный мир интернета вещей (IoT) и смарт-устройств требует гибкости и мощности при управлении сетевым оборудованием. Найти подходящее решение, сочетающее в себе одновременно простоту, надежность и доступность, может быть сложной задачей. Сегодня я хочу рассмотреть одну ...

Файловый ввод, сделанный по-человечески Поводом к написанию данной статьи и к разработке соответствующей мини-библиотеки ffh стало одно из практических заданий по дисциплине ‘Языки программирования’, которую я веду. В этом задании необходимо прочитать все строки из текстового файла для последующей обработки. Так ...

Apple рассматривала разные форматы Dynamic Island Вырез Dynamic Island появился в iPhone относительно недавно. Он заменил собой знаменитую «челку». При этом в плане функциональных возможностей Dynamic Island заметно превосходит обычный вырез, в котором скрывались модули Face ID и фронтальная камера. Как стало известно на дн...

Сборник советов, как упростить работу с YAML-файлами YAML (.yml) — популярный язык для конфигурационных файлов, широко используемый DevOps в подходе «Инфраструктура как Код» (IaC). Несмотря на то, что работать с ним бывает проще, чем с тем же JSON (особенно в контексте взаимодействия с большими объемами данных), иногда использ...

[Перевод] Состояние WebAssembly – 2023 и 2024 Автор статьи Жерар Галлан известен как автор книги “WebAssembly in Action”, выпущенной Manning в 2018 году. Существует перевод его книги на русский “WebAssembly в действии” (Питер, 2022). Предыдущий обзор Состояние WebAssembly в 2022-23 годах опубликован автором в январе 202...

Мемоизация в React: я почитал документацию вместо вас В статье рассмотрены три инструмента мемоизации в React: useMemo, useCallback, memo. Главный источник информации: документация React. Не всем комфортно работать напрямую с документацией, так что если вы постоянно откладываете погружение в документацию React - я сделал это за...

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

Делаем HMI-панель из планшета для системы автоматизации на контроллере Wiren Board Система автоматизации обычно работает автономно без участия пользователя, но единая точка контроля и управления системой всё равно нужна: вмешаться в работу автоматических алгоритмов, внести изменения в параметры или просто проверить, что система работает верно.В комплекте с...

Мой опыт времен флеша в геймдеве (Часть 2) Ранее я писал Как я решил сделать игру, вдохновившись Heroes of Might and Magic, и потерял деньги. И вы статью хорошо приняли (62к просмотров).Я решил вспомнить, а с чего всё начиналось и чем по итогу закончилось - провести ретроспективу. Разработка игр - это мое хобби в сво...

Организация SQL скриптов крупного проекта Если проект использует реляционную СУБД обязательно возникнет вопрос - как организовать скрипты для сохранения гибкости и уменьшения трудозатрат. Погружаемся

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

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

Macromedia Flash: Взлет и закат технологии Если никто не подведёт итог под историей Macromedia Flash, она рискует затеряться в хламе IT-подвала. Напомню, что “волшебный” плагин Flash player стоял практически на всех компьютерах мира. И в какой-то момент именно эта технология была лучшей для анимации, игр и мультимеди...

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

Настраиваем минимальный WEB-сервер на Repka Pi 3. NGINX+PFP-FPM+MySQL и ставим Wordpress В этой статье я расскажу как установить на Repka Pi 3 полноценный WEB сервер на Nginx с php-fpm и MySQL для того, чтоб в конечном счете установить WordPress и начать делать и размещать Ваш сайт на данной платформе. Ставить будем на родную ОС Repka Pi от 11.12.23 (последняя а...

Токсичный, но важный металл для солнечных панелей и не только: краткая история кадмия Мы продолжаем рассказывать о различных металлах, истории их открытия, применении и патентом аспекте. На этот раз речь пойдет о кадмии.  Читать далее

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

Как и почему я писал для Флиппера на Си-с-классами Мой Флиппер дошёл до меня больше полугода назад, но что-то под него написать я собрался только сейчас. Его API рассчитаны на язык С — а у меня с ним опыта не очень много. Но проблем с тулингом не возникло — у Флиппера есть своя система сборки, которая скачала мне нужный тулч...

Сравнение utility types библиотек или тайпскрипт на стероидах Буквально за несколько лет typesctipt стал практически мастхэв в современной фронтэнд-разработке (и не только). Язык типов, работающих поверх языка javascript, который сам по себе является языком со слабой динамической типизацией со всеми вытекающими (отсутствие достойного т...

PI-планирование: как с его помощью мы выстроили здоровую коммуникацию с заказчиком Привет! Меня зовут Даша Семенова, я руководитель проектов в AGIMA. Уже пять лет настраиваю процессы у одного большого заказчика. Это еком, ребята продают свою продукцию, а многие из вас ее покупают. А если не покупаете, то точно слышали. В общем, бренд известный и важный для...

100 вопросов для подготовки к собесу Python Доброго времени суток!Представляю подборку из 100 вопросов с собесов на позицию джуна Python-разработчика. На Хабре есть неплохие статьи на тему подготовки к собеседованию и всё в таком духе, но прямо набора вопросов/ответов на понимание Python в формате чек-листа не встреча...

HyperLogLog в PostgreSQL HyperLogLog принадлежит к категории вероятностных структур данных, которые позволяют аппроксимировать количество уникальных элементов в больших наборах данных с удивительно низким потреблением памяти. HLL использует логарифмическую память.В PostgreSQL HyperLogLog предоставля...

[Перевод] Автоматизация тестирования с Cucumber, Selenium и Java В этой статье я постараюсь познакомить вас с технологиями для создания чистых, устойчивых к изменениям и простых для понимания автоматизированных тестов. Надеюсь, вы узнаете что-что новое об автоматизации или хотя бы познакомитесь с моим подходом. Статья будет полезна в перв...

[Перевод] История разработки игры «Тетрис»: каким может быть подарок на Новый год или Рождество? От лица beeline cloud поздравляем всех читателей Хабра с Новым годом! Подготовили для вас статью про необычный подарок. Будем рады, если вы в комментариях поделитесь своими историями и расскажете, какие интересные технологичные презенты вам доводилось дарить или получать в к...

Готовимся к собеседованию по Rust: 4 самых частых вопросов. Часть 1 Привет, Хабр!Rust — язык программирования с акцентом на безопасность, скорость и параллелизм. Rust решает многие проблемы, с которыми сталкиваются на других ЯП, например, управление памятью без сборщика мусора. Очевидно из-за многих преимуществ Rust выбирают все большей комп...

Кто убивает мое производство одежды? 11 лет мое производство шьет спецодежду для врачей и стюардесс, жилеты для неотапливаемых складов Вайлдберриз, и другую униформу. 10 человек на 150 кв.м в Подмосковье отшивают одежды на 1,5 млн в месяц. Сегодня мы переживаем не самые лучшие времена, как и вся отрасль, и вот ...

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

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

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

Похоже, я придумал свой алгоритм поиска кратчайшего пути Всем привет! Я реализовал похоже собственный алгоритм поиска кратчайшего пути с отрицательными ребрами графа. Почему собственный? Я искал подобное решение, но не нашел, возможно, оно уже было реализовано, просто плохо поискал. Жду Нобелевскую премию =) Додумался я до него пу...

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

Торговать на зарубежных брокерских счетах снова можно, но только если вы расскажете о них налоговой С марта 2023 года российское инвестиционное сообщество оказалось расколото: одни юристы настаивали на том, что сделки с бумагами на зарубежных счетах оказались под запретом, другие считали, что это не так. Новый указ от 08.11.2023 ставит в этом вопросе точку – в данной стать...

Assembler для Windows в Visual Studio В этой статье я покажу как написать приложение для windows на ассемблере. В качестве IDE будет привычная многим Visual Studio 2019 со своими привычными плюшками - подсветка кода, отладка и привычный просмотр локальных переменных и регистров. Собирать приложение будет MASM, а...

[recovery mode] Разработка расширения для PHP на C++. Хуки встроенных функций и методов PHP - это мощный и широко используемый язык программирования для веб-разработки. Однако, иногда требуется расширение функциональности или модификация стандартного поведения PHP с использованием более низкоуровневых языков, таких как C++. В этой статье мы рассмотрим, как с...

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

Библиотека Granite от elementary OS На данный момент существует множество различных операционных систем на базе ядра Linux. Буквально на любой вкус. Некоторые операционные системы пользуются уже готовыми графическими оболочками, а другие создают свои. В дистрибутиве elementary OS применяется свое окружени...

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

30-летний скрипт наконец будет удален из Windows Microsoft официально прекратила разработку VBScript (Visual Basic Scripting Edition) после 27-летнего существования и планирует отказаться от этого скрипта в одном из будущих онбовлений ОС. Это решение вошло в список «Устаревших функций для клиента Windows».

LLaMA 2, RWKV, Santacoder и другие LLM на iOS Однажды я решил изучить язык Swift и разработать свое первое приложение для iOS. Для этого я решил создать реальный проект, который заключался в оптимизации нашумевшего LLaMA.cpp под iOS. Я поставил перед собой задачу обеспечить запуск 3B и 7B моделей на&...

Обзор синтаксиса Tailwind CSS Салют, Хабр!Tailwind CSS – это utility-first CSS фреймворк, который отличается от традиционных CSS фреймворков вроде Bootstrap или Foundation тем, что вместо предопределенных компонентов предлагает набор utility-классов, позволяющих стилизовать элементы прямо в HTML.Utility-...

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

Oppo A59: Dimensity 6020 и всесторонняя защита всего за $140 Oppo возвращается с новыми силами и выпускает Oppo A59, оснащенный чипсетом Dimensity 6020. Это бюджетное устройство, «наделенное мощью и стилем», если верить компании, начинается всего с 14 999 индийских рупий (16 613 рублей).

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

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

О развитии навыка говорения «Гло́кая ку́здра ште́ко будлану́ла бо́кра и курдя́чит бокрёнка». Эту фразу из несуществующих слов предложил в начале XX века академик Л.В. Щерба. Из неё ясно, что "будлану́ла" — действие, которое ку́здра (ж.р.) совершила в отношении бо́кра (м.р.); бокрёнок, скорее всего, дет...

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

Последний полёт Delta IV Heavy никак не состоится. Что это за ракета-носитель и чем она известна? За последние несколько дней полёт ракеты-носителя Delta IV Heavy от компании United Launch Alliance переносился несколько раз. А ведь это важное событие в истории космонавтики, поскольку «космический грузовик» должен совершить свой последний рейс. Чем известна Delta IV Heavy...

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

Tesla Cybertruck: пять лет от прототипа до серийного электромобиля. Непростая история суперпикапа В ноябре 2019 года Илон Маск представил в Лос-Анджелесе прототип Cybertruck. Дизайн электромобиля не был похож ни на что другое. Соответственно, кому-то он понравился, а кому‑то вообще не зашёл. Уже через пару дней после презентации появилось огромное количество шу...

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

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

Конфигурация вместо кода при написании Telegram-бота Привет! Меня зовут Никита и я пишу от имени небольшой команды студентов, разработчиков проекта Cloffer — систему онлайн-заказа для кофеен. Мы решили начать наш путь с написания связки бэкенд + набор телеграм-ботов.Эта статья будет посвящена подходу, который мы использовали д...

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

[Перевод] Что нового во Flutter 3.16, ч.1 Hola, Amigos! На связи Саша Чаплыгин, Flutter-dev агентства продуктовой разработки Amiga. Это статья-перевод от автора Kevin Chisholm. Оригинал статьи читайте по этой ссылке. Мы решили разбить материал на несколько частей для удобства восприятия. Читать далее

Как установить GOWIN EDA для запуска примеров Школы Синтеза Одной из проблем первых сезонов Школы цифрового синтеза является малое число поддерживаемых плат, на которых можно легко и быстро повторить упражнение.Чтобы справиться с данной проблемой, группа энтузиастов, под руководством Юрия Панчула, добавила поддержку множества плат и ...

Эволюция оценки программиста на интервью Я более десяти лет жизни писал код в одной российской компании и активно собеседовал-нанимал людей. За это время успел пообщался с четырьмя сотнями кандидатов. На моих интервью было все – от алгоритмических задач до разговоров о «жизни». Но форма вторична – я рассматриваю ин...

Java Тренажер Хочу представить вашему вниманию бесплатный курс Java Тренажер, который недавно опубликовал на платформе Stepik.Java — это объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (позднее приобретённой компанией Oracle). Он был выпущен в 1995...

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

День информатики в России – история создания первой полупроводниковой ЭВМ 75 лет назад 4 декабря 1948 года советские инженеры Башир Рамеев и Исаак Брук подали патент и зарегистрировали проект первой в СССР цифровой вычислительной машины. Говоря современным языком — компьютера. Теперь именно эта дата считается датой рождени...

Half-life через 25 лет. История серии Если сразу перейти к сути, сделавшей Half-Life феноменом, то эта суть в сюжете и погружении. Полноценный сюжет с завязкой, развитием, развязкой и финалом, с живыми, говорящими персонажами, поданный не в кат-сценах, а через диалоги и грамотную режиссуру. До выхода HL шутеры...

[Перевод] Как, блуждая по Stack Overflow, можно набрести на Branch predictor В блоге beeline cloud мы делились историями и мнениями разработчиков — как программист-самоучка выучил 30 языков программирования, в каких случаях парное программирование не работает и почему некоторые проекты угасают, когда из компании уходит тимлид разработки. Сегодня...

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

WebAssembly: короткий обзор ассемблера для фронтенда В последнее время фронтенд все больше и больше обрастает новыми технологиями, одна из них — WebAssembly. На ней можно написать полноценное web‑приложение и почти все на что способна ваша фантазия. В статье мы рассмотрим, что такое WebA...

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

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

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

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

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

CSS генератор селектров, дашборд для запуска Ansible-плейбуков, Terraform-кода и Bash-скриптов – и другие стартапы 10 новых российских проектов для замены Notion,  интеграции Tilda с Airtable, поиска работы для дизайнеров и многого другого. Битва за «Продукт недели» началась!Product Radar — здесь каждую неделю публикуются лучшие онлайн-сервисы и железки от русскоязычных команд. Чита...

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

Реализация чата на Flutter при помощи вебсокетов Всем привет, на связи PurplePlane! В этой статья мы хотели бы рассмотреть реализацию простого чата на языке Dart, используя пртокол websocket.Рассмотрим пример использования вебсокета при реализации простого чата с помощью библиотеки web_socket_channel. Читать далее

Континент 4 Getting Started 2.0. Контроль доступа Если Вы рассматриваете Континент 4 NGFW как решение, на которое планируете мигрировать с иностранного решения, настоятельно рекомендуем ознакомиться с заключением к данной статье. Там вы найдете перечень полезных материалов.Все используемые вирт...

Что известно о процессорах Lunar Lake: распаянная оперативка, минимум ядер и + 50% к производительности Линейка десктопных процессоров Arrow Lake бесспорно является одной из самых ожидаемых новинок Intel, но предстоящий релиз Lunar Lake от этого хуже точно не становится. Напротив, модельный ряд мобильных процессоров, ориентированный на портативные решения, обещает получить сер...

Постфиксный калькулятор на Haskell Можно ли внедрить в Haskell постфиксный калькулятор?begin push 1 push 2 add endbegin push 1 push 2 push 3 add mul endНа первый взгляд такой код на Haskell не может работать. Функция begin должна иметь произвольное количество аргументов, а Haskell является языком со статическ...

Cotea: программный контроль исполнения Ansible Привет! Я Давид Бадалян, работаю в Исследовательском центре доверенного искуственного интеллекта ИСП РАН. В статье я хочу поговорить об Ansible – одной из самых популярных систем по автоматизации развёртывания. Стоит запустить Ansible программно, и он становится черным ...

[Перевод] Битва фреймворков: сравнение высокопроизводительных HTTP-библиотек Мир веб-разработки предлагает бесконечное количество вариантов HTTP-фреймворков для разных языков программирования. Но как разработчикам понять, какие из них обеспечивают действительно высокую производительность? Под катом команда блога CodeReliant* проводит прямое сравнение...

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

«Рувики» полноценно заработает 15 января. Бета-тестирование завершено Этап бета-тестирования российской онлайн-энциклопедии «Рувики» завершён, и 15 января отечественный аналог «Википедии» заработает в полноценном режиме. В бета-версии ресурс работает с 26 июня 2023 года. Финальный вариант, который будет запущен в б...

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

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

CPM vs. BI:  о чем не расскажут продавцы Более восьми лет я специализируюсь на внедрении CPM и BI-систем различных вендоров. Несмотря на то, что во многом их функционал пересекается, мне хорошо понятно, какие задачи решаются лучше, а какие решаются только одним из этих двух классов систем.Написать данную статью мен...

Протезы MODESTA: из гаражных изобретателей в резиденты SKOLKOVO Здравствуйте, дорогие друзья.Меня зовут Абрамов Роман, являюсь инженером‑разработчиком и со‑основателем компании по производству протезов «MODESTA». С самого детства являюсь заядлым радиолюбителем, в любое свободное время бежал к паяльнику. Тяга к те...

Торговый бот на Python с нуля (с использованием Binance API), часть 2 Продолжение первой части статьи о создании торгового бота на python с нуля с использованием Binance API!В данной статье мы напишем полностью рабочую реальную стратегию с использованием биржевых данных. Я расскажу что такое линии Боллинджера, а также о других популярных страт...

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

Бенчмарк Whetstone — исторический тест оценки производительности Продолжаю работу по обзору старых кроссплатформенных тестов оценки производительности, первая статья про целочисленный бенчмарк Dhrystone Тест разработан Гарольдом Керноу (CCTA) в 1972 году на языке Algol-60, в 1973 появляется реализация на языке Fortran, а в 1996 году появл...

Архитектурные нюансы OpenStack. Базы данных как сервис, реализация Trove Привет, Хабр. Это вторая статья в цикле, в котором мы рассматриваем архитектуру основных сервисов OpenStack. Первая, в которой я рассказывал о Nova и общих паттернах построения платформы, находится здесь. Сегодня погрузимся в детали реализации сервиса DBaaS, который в платфо...

Как рынок заставил нас сделать аналог Jira (расшифровка аудио записи) Всем привет! Это ламповая история от основателей компании – рассказ о хронологии замены Jira, а также о том, как собственные разработки помогают при создании будущих сервисов. Всё что идёт ниже – расшифровка аудио с небольшой редактурой, которая записана мной. Все совпадения...

Недельный геймдев: #140 — 24 сентября, 2023 Из новостей: Unity извинилась перед сообществом и обновила правила, разработчики Terraria задонатили 100к командам Godot и FNA, AppLovin выкатили unifree для миграции Unity‑классов в скрипты других движков.Из интересностей: изучение протокола System Link в&nbs...

Как и зачем мы парсим XML Большинство разработчиков рано или поздно сталкиваются с XML. Этот язык разметки настолько глубоко вошел в нашу жизнь, что сложно представить систему, в которой не используется он сам или его подмножества. Разбор XML - достаточно типовая задача, но даже в ней можно выделить ...

Пишем приложение на Python для подготовки к собеседованиям по Python На конец 2023 года язык программирования Python является самым популярным по индексу TIOBE. Что касается работы, то по количеству вакансий в мире язык Python занимает второе место (после JavaScript/TypeScript). Поэтому у соискателей на должность, где требуется Python, возник...

webOS возвращается к жизни в лице LuneOS. Что происходит и чего ждать от операционной системы Начало 2024 года ознаменовалось возрождением сразу нескольких забытых проектов. Один из них — Damn Small Linux, о котором мы недавно писали. Теперь ещё и webOS, правда, в лице своего форка, получившего название LuneOS. Эта операционная система получила первое обновление прим...

Разметка трёхмерных моделей миокарда Здравствуйте, мы студенческая команда APIzza. Мы хотим поделиться с вами нашим опытом по разметке трёхмерных моделей из набора данных MedShapeNet, который был опубликован в 2023 году.Так как набор данных включает в себя огромное количество трёхмерных моделей внутренних орган...

[Перевод] Как создать собственный шрифт В этом месяце я решил узнать, как создать шрифт, который буду использовать в своём комиксе hakum. Раньше я рисовал текст в цифре на своём планшете. Результат оказывался хорошим, но иногда трудночитаемым (размер текста часто скакал на одной странице). Мне не хотелось использо...

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

Crypto AG. Троянский конь ЦРУ Шифрование данных всегда было важной составляющей политики государства. Помимо того, что надо тайно вести собственную переписку, нужно ещё и стараться читать вражескую. А чтобы наиболее эффективно читать вражескую переписку, неплохо бы поставлять врагу свои шифровальные маши...

Метод опорных векторов (SVM). Подходы, принцип работы и реализация с нуля на Python Метод опорных векторов (Support Vector Machine или просто SVM) — мощный и универсальный набор алгоритмов для работы с данными любой формы, применяемый не только для задач классификации и регрессии, но и также для выявления аномалий. В данной статье будут рассмотрены основные...

Open Research Knowledge Graph: новый подход к научной коммуникации На сегодняшний день для представления и обмена результатами исследований мы используем методы, которые были разработаны много веков назад. С момента зарождения современной науки (публикации первого научного журнала "Transactions of the Royal Philosophical Society", 1665 г.) ...

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

Сказочное королевство Nix Solutions Здравствуйте, дорогие читатели. Расскажу вам историю, которая случилась со мной до того, как я переехал жить в Россию.Моя история начинается в 2019 году в городе Харьков (Украина). Я, типичный самоучка без курсов и какого-либо опыта, решаю всё же найти относительно стабильну...

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

Как в C# быстро извлечь подстроку Извлечение подстроки. Казалось бы, что тут может быть сложного? В любом современном языке программирования это можно сделать через функцию substring или через slicing. За время работы C# разработчиком я повидал разный код, в том числе разные способы извлечения подстроки. В э...

Как видели будущее компьютеров в СССР. Часть 2 В прошлой статье мы остановились на 1970-х годах – поговорили о машине «МИР», портативных компьютерах, которые сегодня мы бы скорее назвали калькуляторами. В этот раз заглянем в 1980-е годы – период, когда в СССР активно занимались популяризацией компьютеров и программирован...

Поддержка диалекта YDB в инструменте миграции Liquibase В этой статье мы подробно рассмотрим процесс интеграции одного из наиболее известных и широко используемых в мире Java инструментов для управления миграциями - Liquibase - с YDB. Читать далее

Первый в мире мини-ПК с твердотельной системой охлаждения. Zotac Zbox PI430AJ объёмом 210 миллилитров предлагает Core i3 и бесшумную работу Компания Zotac наконец-то полноценно анонсировала уникальный мини-ПК ZBOX Pico PI430AJ, который является первым в мире компьютером с твердотельной системой охлаждения AirJet.  Впервые такой мини-ПК компания показывала весной, но до прилавков он доберётся лишь сейч...

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

11lc — инновационный компилятор для нового языка программирования Данная статья посвящена находящемуся на стадии проектирования компилятору 11lc. В ней перечисляются наиболее яркие особенности этого компилятора. Отсутствие скрытой неэффективности Это свойство скорее языка программирования 11l, нежели компилятора. Однако оно настолько важн...

Отнюдь не для браслетов, а для гибкой электроники: краткая история циркония Мы продолжаем рассказывать о различных металлах, истории их открытия, применении и патентом аспекте. На этот раз речь пойдет о цирконии. Это тугоплавкий металл. Среднее содержание циркония в земной коре составляет 0,02%. По распространенности он превосходит такие металлы, ка...

[Перевод] Выявление ошибок в работе с памятью в C и C++: Сравниваем Sanitizers и Valgrind В этой статье вашему вниманию представлено сравнение двух инструментов для поиска ошибок в работе с памятью в программах, написанных на memory-unsafe (небезопасных при работе с памятью) языках — Sanitizers и Valgrind. Эти два инструмента работают совершенно по-разному. Поэто...

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

Как презентовать дизайн-концепцию и не обосраться. Готовый скрипт + чек-лист Самое дурацкое, что можно сделать после создания дизайн-концепции — скинуть ссылку заказчику и ожидать фидбэк. Привет, я Антон — креативный директор в Пиробайт. Расскажу, как подготовиться к демо, чтобы после созвона вам не сказали легендарную фразу: «Давай по новой, Миша. В...

[Перевод] 50 лет первой операционной системе для персональных компьютеров В 1974 году первопроходец ПО для PC Гэри Килдалл продемонстрировал в Пасифик-Гроув, Калифорния, первую коммерчески успешную операционную систему для персонального компьютера — CP/M. В этой статье мы расскажем историю о том, как его компания Digital Research Inc. превратила ...

Треугольник Паскаля и скрытые в нём «паск(х)алки» Известный американский популяризатор науки Мартин Гарднер в своей книге «Математические новеллы» посвятил целую главу «одной из самых изящных и известных схем в истории математики», которую чаще всего принято называть треугольником Паскаля. Эта математическая конструкция, ко...

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

Релиз Ruby 3.3.0: что появилось нового в языке программирования и что изменилось На днях появился новый релиз динамического объектно ориентированного языка программирования Ruby 3.3.0. Он вобрал в себя лучшие возможности многих других ЯП, включая Perl, Java, Python, Smalltalk, Eiffel, Ada и Lisp. Что касается кода проекта, то он распространяется под лице...

Как необычные решения приводят к критическим уязвимостям. Или история одного бага, найденного в CloudTips Привет, Хабр! В данной статье хотел бы поделиться историей, как был найден достаточно простой в исполнении баг, но приводящий к опасной уязвимости веб приложения. Данный баг был найден в сервисе CloudTips от Тинькофф и CloudPayments на BugBounty площадке app.bugbounty.bi.zon...

Решаем головоломки и настраиваем среды Kubernetes: подборка новых языков программирования В блоге beeline cloud мы уже делились дайджестом свежих DIY-материалов о контейнерах, DevOps и архитектуре. Сегодня расскажем, кто и зачем разрабатывает новые языки программирования — выбрали те, что появились на свет за последние три года. Некоторые из них написаны энтузиас...

Ноутбук Toshiba T1100Plus год 1986 Хотел выкинуть этот Т1100Plus но машинка показала удивительную волю к жизни - пришлось восстанавливать. Или история "источника вдохновения" для первого советского ноутбука Электроника МС1504 Читать далее

Cloud Native или cloud-native: как мы разбирались с написанием термина и почему Open Source тоже пишут без дефиса На днях мы работали над переводом глоссария CNCF и начали спорить о том, как писать словосочетание cloud-native. Раньше мы использовали название с дефисом — такое правило применяется к составным прилагательным в английском языке (пример — well-known actor). «Википедия» в ста...

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

10 лет Docker: от революционной идеи до современной практики Привет, Хабр! На момент написания статьи, я занимаюсь надежностью (SRE) в компании Workday, еще помогаю студентам в Практикуме осваивать курс по DevOps-практикам.В этой статье я поделюсь кратким обзором истории Docker, его ключевыми концепциями и мисконцепциями. Надеюсь, это...

Синкерим, хешайдим, терминируем: 6 утилит, чтобы ускорить ваши локализации Наша команда Mobile Doc&Loc «Лаборатории Касперского» занимается подготовкой документации и локализации B2C-продуктов компании для мобильных устройств. Основная сложность (и одновременно фишка) нашей работы заключается в том, что необходимо регулярно подготавливать перев...

Краткая история подогрева дорог. Часть первая Оценить грандиозность инженерной задачи подогреть (и/или охладить) дорожное полотно автомобильных трасс и городских улиц можно только в сравнении. По разным данным в мире от 64 млн до 21 млн км автодорог и городских улиц. Большее доверие внушает вторая, меньшая цифра. Эти да...

Чем заменить Raspberry PI в промышленности? Если коротко, то речь пойдет о промышленном ПК на основе Raspberry CM4 – это абсолютный аналог Raspberry Pi4 в промышленном исполнении с надёжной eMMC от Samsung и полной программно-аппаратной совместимостью. Одну статью мы закончили фразой: «Надеемся, что мы вдохновим читат...

Нельзя писать безопасный код на C++ без санитайзеров С++ видится мне огромным франкенштейном: очень уж много разнообразных способов описать свои намерения. В добавок к этому язык пропагандирует политику zero-cost abstractions, из которой следует (помимо прочего), что программист в ответе за все св...

С 500 мс до нуля, или история о том, как я написал Node.js C++ addon и ускорил скидочный сервис в 500 раз Приветствую тебя! Меня зовут Дмитрий и я работаю в LAD. Сегодня я поведаю историю о том, как эволюционировал скидочный сервис одного из наших проектов. Пройдя путь от всеми нелюбимого, "тормозящего" сервиса, до сервиса, который имеет наилучшие показатели на недельных графика...

Обработка результатов статистических наблюдений с помощью толерантных интервалов Здравствуйте, уважаемые читатели!В статье хочу поделиться личным опытом использования толерантных интервалов для обработки результатов статистических наблюдений, привести некоторые примеры и дать краткое описание процедуры расчета с реализацией на языке Python. Может быть, к...

Релиз Ruby 3.3.0: что появилось нового в языке программирования и что изменилось  На днях появился новый релиз динамического объектно ориентированного языка программирования Ruby 3.3.0. Он вобрал в себя лучшие возможности многих других ЯП, включая Perl, Java, Python, Smalltalk, Eiffel, Ada и Lisp. Что касается кода проекта, то он распространяется по...

Основы полнотекстового поиска в ElasticSearch. Часть третья Это третья и заключительная статья из цикла, в которой рассмотрим стандартную модель ранжирования документов в Elasticsearch.После того как определено множество документов, которые удовлетворяют параметрам полнотекстового запроса, Elasticsearch рассчитывает метрику релевантн...

Корпоративное хранилище секретов StarVault — первая в России полноценная альтернатива HashiCorp Vault Vault — самое популярное в мире корпоративное хранилище секретов. С 2023 года его практически невозможно использовать в российских компаниях с сохранением лицензионной чистоты из-за новых политик лицензирования его разработчика, британской компании Hashicorp.Мы сами применяе...

75 лет транзистору: прошлое, настоящее и будущее самого важного изобретения современного мира Днем рождения транзистора считается 23 декабря 1947 года. Тогда Уолтер Браттейн и Джон Бардин продемонстрировали первый в мире транзистор с точечным контактом. Оба физика были членами исследовательской группы Bell Labs, искавшей новое средство усиления электрических сигналов...

[Перевод] Фильтры действий в ASP.NET Core ASP.NET Core — это мощный и универсальный фреймворк для создания веб-приложений. Он предоставляет широкий набор возможностей для создания надежных и масштабируемых приложений, и одной из ключевых фич, расширяющих его функциональность, являются фильтры действий (Action Filter...

Ностальгические игры: Dragon Age: Origins Если вы спросите, чем мне запомнился 2009 год, я смогу назвать не так много вещей. Для начала – смерть Майкла Джексона, которая шокировала как меня лично, так и весь мир в целом. Также вспомню спорное награждение первого чернокожего президента США Барака Обамы Нобелевской пр...

«Трудности перевода»: как ChatGPT справился с задачей адаптации сложных текстов Привет, Хабр! Меня зовут Сергей Кулабухов, я занимаюсь внедрением ИИ в бизнес-процессы компании Fix Price. С появлением моделей обработки естественного языка (natural language processing) изменился и подход к реализации подобных задач. Теперь мы не программируем и не обучаем...

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

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

5 самых странных языков программирования: для чего они нужны и что на них можно написать Согласно самым разным источникам, в мире существует от нескольких сотен до нескольких тысяч языков программирования. Правда, ЯП, с которыми реально имеют дело десятки и сотни тысяч человек, немного. Больше, конечно, нишевых языков, применяемых для решения узкого круга задач....

Как мы управляем инфраструктурой на более 1000 серверов при помощи Ansible Привет, Хабр! Мы системные инженеры X5 Tech — Алексей Кузнецов и Борис Мурашин. У нас за плечами больше 15 лет опыта, в том числе поддержка сервисов Rapida, CyberPlat, TeleTrade, сопровождение стека BigData и внедрение кластеров Hadoop. В этой статье мы расскажем, как выбира...

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

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

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

Станция Дуо Макс. Как мы создавали первую умную колонку Яндекса с экраном Недавно на YaC 2023 мы показали нашу новую колонку — Станцию Дуо Макс. Это первая умная колонка Яндекса с сенсорным экраном и флагман в нашей новой категории устройств. Дуо Макс предложит пользователям как уже знакомые возможности других Станций, так и новые способы взаимоде...

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

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

Умный модульный ресторан: привез, поставил, заработал Что делать, если нужно поставить в какой-то точке ресторан, но капитальный вариант не подходит, а фудтрак не дает ассортимент блюд и полноценную кухню?В таком случае поможет модульный ресторан — их как раз начали собирать в Подмосковье. Мы посетили пилотный проект, который п...

Как мы решали вопрос многоязычности в боте Русский или English? Что для бота хорошо, то разработчику работа :)ВведениеВ этой статье я поделюсь своим опытом реализации многоязычности в телеграм-боте, World for Life Bot расскажу о принципах выбора языков, которыми я руководствовался, технических аспектах реализации и ...

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

Настройка C++ проекта c OpenMP. Обертывание С++ для Python с помощью pybind11 и CMake В статье описан практический пример настройки проекта на языке C++ с использованием, в качестве примера, библиотеки для многопоточных вычислений OpenMP , а также дальнейшее обёртывание для использования в проектах написанных на Python при помощи библиотеки Pybind11. В качест...

Не будьте героем Привет, Хабр! Я Женя Кучерявый, директор по фронтенду в Rentu. В этой статье расскажу как мы переезжали с Vue2 на Vue3, какие шишки набили и чему научились. Статья не хардовая. Читать далее

[Перевод] GROUPING SETS В двух последних статьях приводились примеры агрегации WITH ROLLUP и WITH CUBE. В SQL Server 2008 появился новый, более мощный синтаксис, совместимый с ANSI SQL 2006. В этой статье будет рассказано об этих изменениях. Читать далее

Самый конец 2023 года: оцениваем рейтинги языков программирования по версии TIOBE и PYPL Востребованность языков программирования постоянно меняется. Какие-то с течением времени остаются актуальными, а часть постепенно прекращает использоваться и уходит с рынка. Есть, конечно, долгожители вроде COBOL, но их не так много. Тем не менее некоторые ЯП находятся в топ...

[Перевод] Эффект Монреаля: почему языкам программирования нужен Царь стилей Давайте представим нереалистичный сценарий, где вы выбираете язык программирования для проекта, который в перспективе станет очень большим. Допустим, это будет набор сервисов в монорепозитории, над которыми работает более 100 человек. Чтобы сделать этот сценарий ещё менее р...

Уволил сына, удалил отчёт, отключил уведомления. Четыре истории о цифровизации в enterprise-компаниях Оцифровать бизнес — дело полезное, но не всегда безобидное. Расскажу вам, как мы нарушили покой любимых клиентов. А после всех историй дам советы, как правильно перевести компанию «на цифру».  Читать далее

[Перевод] Что ждет искусственный интеллект в 2024 году В этой заметке авторы MIT Technology Review рассматривают четыре тренда, за которыми стоит следить в наступившем году. Читать далее

[recovery mode] TarantoolScript: статическая типизация в Lua-скриптах Tarantool Если вам когда-нибудь доводилось писать скрипты для Тарантула, то вы наверняка сможете понять мою боль. Тарантул - удивительный инструмент, который позволяет не только хранить относительно большие объёмы данных и обеспечивать поразительно быстрое выполнение операций CRUD над...

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

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

Экспортируем иконки из Figma в проект одним кликом: история одной автоматизации Абсолютно стандартное начало: в Figma размещался набор из примерно тысячи иконок, которые успешно перенесли в проект. Все собрали, потестили и зарелизили. Про автоматизацию никто не думал, поскольку задача казалась «одноразовой». Ну а в случае последующих обновлений или допо...

Ищем альтернативу SharePoint среди российских решений. Обзор «Первой Формы» Всем привет! Меня зовут Саша Бойко, я бизнес-аналитиков «Первой Формы». В этой статье я хочу сравнить функциональные возможности этих двух решений для организации совместной работы. В 2023 году мы несколько раз проводили такое импортозамещение, и вот, когда Microsoft совсем ...

Scram для создания аппаратуры. Проект по созданию системы тестирования ADAS или краткая история 8 месяцев нашей жизни Добрый день, уважаемые коллеги и друзья! Уже больше года я работаю в Армении в компании, которая занимается созданием под ключ сложных, комплексных систем. Взяли меня на роль руководителя проектов, чем собственно я и занимаюсь последние 5 с лишним лет. В данной статье я хоте...

Звёздные войны: первый фильм с женщиной-режиссёром Впервые в истории культовой франшизы "Звёздные Войны", женщина возьмет на себя роль режиссера одного из фильмов. Шармин Обайд-Чинои, известная своими работами над сериалом "Мисс Марвел", будет управлять созданием нового фильма, продолжающего историю Рей Скайуокер.

XeLaTeX для оформления текстов: Текст, рисунки, таблицы, автоматизация В статье рассмотрим пример того как в XeLaTeX можно настроить форматирование отдельных элементов текста, автоматически создавать таблицы, рисунки. В первую очередь будет интересна тем кто собирается оформлять ВКР (выпускная квалификационная работа) бакалавра или магистра, пи...

Нейросети для программистов: уже что-то умеют или еще пока совсем джуны? Я Григорий Тумаков, CTO в Моризо Диджитал. Эта статья — про то, как мы в компании решили протестировать нейросети для рабочих задач.Для начала опросил коллег, кто и чем уже пользовался для облегчения процессов разработки. Затем суммировал свой опыт, добавил комментарии колле...

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

6 важных принципов GDPR Привет, Хабр!Сегодня я хочу поговорить о GDPR – регуляции, которая изменила понимание приватности данных в Европе и за ее пределами. На первый взгляд, GDPR может показаться очередной бюрократической головной болью, но на самом деле это очень большой шаг в сторону уважения и ...

У меня зазвонил Репка-фон. Делаем телефон на базе Repka Pi 3 с применением модуля SIM868 Делаем программно-управляемый телефон или даже узел связи на базе одноплатного компьютера Repka Pi и модуля платы функционального расширения для GSM связи. Просто поражают возможности одноплатных компьютеров в формфакторе Raspberry за счёт применения с использованием их 40 p...

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

Xiaomi 15 Pro – переворот на рынке, iPhone 16 Pro всех удивит, ... На этой неделе в технологическом мире произошло немало интересных событий – первые истоки будущих флагманов, новые лидеры и откровенно удивительные смартфоны – мы сделали короткий дайджест.

Xiaomi 15 Pro – переворот на рынке, iPhone 16 Pro всех удивит, ... На этой неделе в технологическом мире произошло немало интересных событий – первые истоки будущих флагманов, новые лидеры и откровенно удивительные смартфоны – мы сделали короткий дайджест.

Спортивный Nash-Healey Roadster 1953 Nash-Healey Roadster 1953 года выпуска. История представленной модели начинается в 1951 году

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

Внутренняя разведка Active Directory через Cobalt Strike С ростом автоматизированных вычислительных систем и с увеличением атак на данные системы резко возник вопрос мониторинга за операционными системами на базе которых и работает любая информационная система в компании. В данных операционных системах устанавливаются/подключаются...

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

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

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

Sovietwave и Sovietpunk: как романтика несбывшегося переплавила ностальгию по СССР в новый жанр? Часть 3 В первой части мы рассказали о зарождении неосоветской эстетики, во второй — о её роли в развитии музыки и кино нулевых, популярности в ЖЖ «развесистой клюквы» и даже таких феноменов, как маскоты Двача и увлечение меланхоличной эстетикой городских окраин. Теперь же поговори...

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

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

Как мы переводим наш мониторинг в наблюдаемость Привет всем! Полное содержание первого сезона можно прочитать тут и тут, а краткое содержание такое:  - Компания приняла решение улучшить работу клиентских сервисов и одним из рычагов для этого стал мониторинг - Мониторинг был разным (Patrol, Zabbix. NetCool), про Elast...

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

Как с помощью 3D-печати создавать девайсы будущего Всем привет!Мы молодой стартап из Краснодара. В этой статье мы погрузимся в увлекательный мир создания эргономичных клавиатур с использованием 3D-печати. Мы рассмотрим, какие преимущества эта технология приносит бизнесу, какие невероятные возможности она предоставляет для пе...

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

Team vs team lead Тимлид — это не только большие деньги и большая ответственность. Помимо всего прочего, человек, занимающий эту должность, должен уметь ладить с людьми, решать конфликты. На практике такое бывает не всегда. Историй на тему того, как тимлид кошмарит подчинённых, предостаточно....

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

Другой способ понять, как работает async/await в C# Про закулисье async/await написано предостаточно. Как правило, авторы декомпилируют IL-код, смотрят на IAsyncStateMachine и объясняют, вот дескать какое преобразование случилось с нашим исходным кодом. Из бесконечно-длинной прошлогодней статьи Стивена Тауба можно узнать мель...

Асинхронная работа с файловой системой в Vert.x Vert.x – это экосистема для создания реактивных приложений на JVM, которые могут масштабироваться и обрабатывать огромные объемы данных в реальном времени. Это полиглоттная платформа, поддерживающая не только Java, но и Kotlin, Groovy, Scala, и еще js. В контексте статьи раб...

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

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

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

Первое приложение на SolidJS В этой статье познакомимся с SolidJS − JavaScript-библиотекой для создания пользовательских интерфейсов без виртуального DOM. Мы создадим легкий список задач с использованием TypeScript и разберем некоторые особенности библиотеки. Читать далее

Как я проходила стажировку в отделе аналитических решений почти без опыта работы с данными Привет, меня зовут Луиза, я инженер данных в ЮMoney — работаю здесь уже год. Мы собираем данные, структурируем их, храним и создаём аналитические решения, например OLAP-кубы и дашборды. Департамент разделён на несколько команд, у каждой своя предметная область. За год я прев...

Рекуррентные сети против трансформеров Или история о том, как научная статья "Вам нужно только внимание..." немного перевернула игру и индустрию ИИ. Трансформеры становятся сотами или попросту попадают в самые последние решения сферы NLP. Кстати, заслужили свою популярность они вообще недавно — только в 2017...

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

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

Обычный Client Side с необычной эксплуатацией Это статья о клиентских уязвимостях, которые мне показались интересными.Целью статьи является показать, что иногда из, казалось бы, скучных уязвимостей с низким импактом, можно выжимать больше, чем кажется. Читать далее

Детекция объектов. R-CNN, Fast R-CNN, Faster R-CNN. Часть 1 Кто такой детектор?Данная статья посвящена постановке задачи детекции и обзору первых двухстадийных детекторов, таких как: R-CNN, Fast R-CNN и Faster RCNN. Читать далее

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

Как сделать умный офис на 300+ сотрудников? Свет, санузлы и душевые, переговорки и не только Мы продолжаем рассматривать проекты автоматизации офиса. Недавно мы побывали в небольшом офисе, расположенном на 79 этаже башни «Федерация» Москва-Сити. Теперь настала очередь более крупного офиса на 300+ сотрудников в Минске.Офис интересен обилием светильников DALI, локальн...

Small talk для большого успеха: общение с рекрутером, коллегами и новыми знакомыми Ребята, привет! Это Лена, методист курсов английского языка в Практикуме, преподаватель и англоговорящий интервьюер в международных IT-компаниях. Мы с вами уже знакомы по статье о собеседовании на английском для разработчиков.Я хочу более подробно раскрыть пункт о софтскилах...

Реализация кодека 66b/64b на языке VHDL В протоколах передачи данных для стабильной работы используются кодеки, выбранные разработчиками с учётом следующих требований:равномерное распределение 0 и 1 в каналепростота кодирования/декодированияиметь небольшую избыточностьОдин из самых распространённых протоколов, о к...

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

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

«Самоидентификация» клавиатуры «Я — русский!»‑ спел недавно известный певец. Да и я, после 20 лет пользования клавиатурой, наконец‑то, устал вечно поправлять текст, набранный не в той раскладке клавиатуры (в голове держать всё невозможно!) и сделал индикацию текущей раскладки. Каз...

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

«Галоп пикселя — часть шестая» — Анимация персонажей. Бег «Галоп пикселя», часть I — базовые понятия, этапы взросления, прикладные упражнения (линк) «Галоп пикселя», часть II — перспектива, цвет, анатомия и прикладные упражнения (линк) «Галоп пикселя», часть III — Анимация (линк) «Галоп пикселя», часть IV — Анимация света и тени ...

Unreal Engine 5: Nanite — Z-тест для самых маленьких Доброго времени суток,Неожиданной для себя, обнаружил, что по какой-то причине, присутствует не так много содержательных статей о работе технологий Unreal Engine 5 на русском языке. Я решил исправить эту несправедливость. И чтобы не повторятся с англоязычными статьями или не...

Reflection в iOS: как посмотреть содержимое любой сущности В Swift, как и во многих других языках программирования, есть возможность получать информацию о структуре объекта в Runtime. Для этого в языке есть специальный механизм — Reflection. С его помощью можно просматривать содержимое любых сущностей, не зная о них абсолютно ничего...

Миландр + GCC + VSCode. Пробуем мигать светодиодом на отечественном ARM32 микроконтроллере Год назад я написал статью об отладке STM32 микроконтроллеров из под VSCode, с компиляцией в GCC и сборкой с помощью CMake. А в декабре мне в руки попали две тестовые единицы отечественных микроконтроллеров К1986ВЕ92FI (MDR1211FI1). Производитель имеет свою библиотеку SPL на...

USB Rubber Ducky своими руками. По-настоящему Я думаю для пользователей Хабра и пентестеров в частности, тема badusb устройств не является секретной. Это вещи действительно интересные и полезные, а наверное, самый известный такой прибор - это USB Rubber Ducky от компании Hak5. С ним есть проблема, эти устройства сейчас ...

[Перевод] Ranking Functions: ROW_NUMBER Четыре функции ранжирования: ROW_NUMBER, RANK, DENSE_RANK и NTILE появились в SQL Server 2005 и отличаются от обычных скалярных функций тем, что результат, который они выдают для строки, зависит от других строк выборки. От агрегатных функци...

Конвертация в один клик! Как перенести код из Teradata в GreenPlum без лишних затрат и усилий Привет, Хабр! Миграция баз данных из одной СУБД в другую представляет собой особо сложную задачу, требующую тщательного планирования, подготовки и исполнения. В 2023 году в Сбербанке завершился масштабный проект по миграции крупного аналитического хранилища данных с платформ...

Квест по синхронизации аналитического и оперативного хранилищ в реальном времени без потерь на сотнях терабайт данных Я работаю в компании STM Labs, где мы строим большие высоконагруженные системы класса Big Data. Эта статья написана по мотивам моего выступления на конференции Saint Highload 2023. Хочу рассказать вам увлекательную историю про то, как мы искали лучшее решение по синхронизаци...

Расчет количества газа необходимого для выполнения транзакции в Ethereum. Часть 2 — storage Привет всем! В прошлой статье мы с вами изучили общую механику расчета газа при выполнении транзакций. В этой статье мы сфокусируемся на самых "дорогих" операциях работы с хранилищем смарт-контракта (storage), а также пройдемся по истории EIPs, связанных с расчетом газа в Et...

Отладка в SQL Developer Привет! Меня зовут Алексей Маряхин, я разработчик на Oracle. В этой статье продолжим знакомиться с темой отладки PL/SQL-кода.  В предыдущей статье мы изучили возможности отладки в PL/SQL Developer. В этой предлагаю рассмотреть ещё один инструмент — SQL Developer (версия...

Утечка дизайна Honor Magic 6 Pro, Magic 6 Porsche Design – удачная ... Только вчера мы говорили о новом партнерстве Honor и Porsche Design, и вот сегодня уже появились первые истоки смартфонов серии Honor Magic 6 в дизайне Porsche.

Как я курсовую писал на gRPC+REST в связке с клиентом на Android+Jetpack Compose В этой статье я расскажу о том как написал курсовую работу и успешно сдал её с первой попытки без защиты на «отлично». Чего у меня и моих одногруппников ранее никогда не удавалось. Читать далее

Как в 14 лет я стал сисадмином Привет, читатель! Это моя первая статья на Хабре. Прошу строго не судить.Хочу рассказать свою историю. Меня зовут Марк, мне 14 (2009г). В свои 14 я зарабатываю сам и занимаюсь делом моей мечты. Читать далее

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

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

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

Мастерим многопоточность: техники и инструменты для Java-разработчиков. Часть 1 Привет, Хабр! Это первая часть обзора по изучению существенных тем Java стека и туториала по их применению. В этой статье вы найдете важные аспекты многопоточности в Java, а также полезные шпаргалки с практическими примерами.Меня зовут Влад, я Java-разработчик в компании Sim...

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

Самый тяжелый металл для легких дисплеев: краткая история осмия Мы продолжаем рассказывать о различных металлах, истории их открытия, применении и, разумеется, патентом аспекте. На этот раз речь пойдет об осмии, представителе платиноидов. В природе осмий встречается в виде семи изотопов, шесть из которых стабильны: 184Os, 187Os, 188Os, 1...

Potato Sorvor в $NOTCOIN или история одного реверса Приветствую. Речь в статье пойдёт про мой опыт реверсинга и написания ботнета для $NotCoin.Дело было вечером, делать было нечего, подружка села на заборе — и скинула мне ссылку на ноткоин в альфе. Посмотрел, потыкал, недолго думая, я забыл про него на месяц. И вот он уже наб...

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

Как LLM учат понимать синтаксис Скорее всего, вы поняли заголовок правильно, хотя в нём есть стилистическая ошибка — двусмысленность (кто-то учит LLM, или они учат кого-то?). Человеческое понимание языка остается ориентиром и пока недостижимой целью для языковых моделей. При всей небезошибочности перв...

Пишем gRPC сервис на Go — сервис авторизации В этой статье мы научимся писать полноценный gRPC сервис на Go на примере сервера авторизации с полноценной архитектурой, готовой к продакшену. Мы напишем как серверную часть, так и клиентскую. В качестве клиента мы возьмём мой сервис — URL Shortener, о котором у меня также...

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

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

«Волчья пена» для полупроводников и не только: краткая история вольфрама Мы продолжаем рассказывать о различных металлах, истории их открытия, применении и патентом аспекте. На этот раз речь пойдет о вольфраме. Данный металл имеет атомный номер 74. В природе он имеет пять изотопов, четыре из которых стабильны, а пятый имеет большой период полурас...

[Перевод] Анимируем 3d-персонажа в Unity3D: скачиваем модель персонажа, скачиваем анимации Первая часть анимирования 3d-персонажа в Unity3d. В статье скачаем 3d-модель персонажа, скачаем скелетные анимации и импортируем их в проект unity. Читать далее

Затачиваем Astesrisk для работы с BLF Cisco BLF (Busy Lamp Field) — в общем, это набор индикаторов на IP телефоне, которые показывают статус линии: свободно или занято. В этой статье мы научим Asterisk правильно работать с телефонами Cisco для отображения BLF статусов. Читать дальше →

Используем зубную щётку Evowera Planck Mini не по назначению Помните историю со взломом зубной щётки? А вброс про ботнет из 3 млн щёток? Тема оказалась популярной. Недавно один немецкий энтузиаст Аарон Кристофель (известный под ником atc1441) взломал другую зубную щётку, запустив на ней рикролл, а затем и Doom (а куда же без него)? Св...

Лучше IBM PC, дешевле Apple. История компьютера Tandy 1000 В одной из своих предыдущих публикаций я рассказал об удивительной истории корпорации Tandy, превратившейся из скромной кожевенной мастерской в известнейшего мирового производителя компьютеров. В комментариях читатели вспомнили и самую успешную модель этой компании — Tandy...

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

Testplane в опенсорсе: автоматизируем пользовательские сценарии в веб-интерфейсах Привет! Меня зовут Евгений Константинов. Я занимаюсь разработкой инструментов автоматического тестирования в Яндексе. В этой статье хочу рассказать про историю создания инструмента TestplaneTestplane поможет вам:- протестировать разные сценарии в любом браузере; - прове...

Как я в 22 года получил «лычку» Senior Привет, читатель! Хотел поделиться историей о том, как я пришёл в IT в 18 лет и к 22 годам получил статус Senior в EPAM. Senior — тот самый Священный Грааль, о котором мечтают все новички. Небольшой дисклеймер: получить звание Senior не равно стать Senior, да и в разных комп...

Commandos Origins: дата релиза, набор тестировщиков и платформы Разработчики из студий Claymore Game вместе с издателем Kalypso, которые дружно работают над приквелом тактической серии Commandos: Origins, объявили о наборе тестеров. Как заявили авторы, они находятся в поиске опытных ветеранов серии и «талантливых кадетов», чтобы те проте...

Qucs-S: руководство по видам моделирования, часть 1 Qucs-S является программой с открытым исходным кодом для моделирования электронных схем. Qucs-S кроссплатформенный (поддерживаются Linux и Windows) и написан на С++ с использованием набора библиотек Qt. О данной программе рассказывают мои предыдущие статьи. Для работы Qucs-S...

Первая игра на LeoEcsLite Целью этой статьи является изучение архитектурного паттерна Entity Component Systems на практике. Я подготовил пошаговое руководство по созданию небольшой игры, с помощью которого вы познакомитесь с основными принципами разработки на Ecs. Читать далее

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

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

Кто первым записал сплайн-функцию? Как техническая механика  «предвосхитила» достижения теории сплайнов Отмечая расхождения в трактовке en.Wikipedia и ру.Рувики, даётся комментарий к истории появления сплайн-функций. Рассматривается на конкретных примерах, как методы расчёта изгиба балок «предвосхитили» некоторые из достижений математической теории сплайнов.   Чит...

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

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

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

Как оптимизировать код на С для x86-процессоров: подсистема кэша и памяти, инструкции AVX-512 Меня зовут Андрей Бакшаев, я ведущий инженер-программист в YADRO. Моя команда занимается разработкой и оптимизацией математических библиотек под архитектуру x86. До этого я 15 лет работал в Intel. Значительная часть моих задач заключалась в том, чтобы реализовывать некоторые...

Арабо-израильский конфликт - история 75-летнего противостояния Начавшийся 7 октября новый виток противостояния между Израилем и радикальной палестинской группировкой ХАМАС застал всех врасплох. Причины и истоки этого конфликта могут быть малопонятны. И немудрено: вражда Израиля и Палестины длится уже 75 лет. Она представляет собой грему...

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

Итерируемся по enum'ам в C++ В этой статье я хочу поделиться простым и очевидным трюком в C++, о котором, не смотря на его простоту и очевидность, как оказалось, не все знают.Предположим, у вас есть enum class, и вы хотите пройтись по его элементам, то есть вызвать какую-то функцию для каждого из значен...

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

SPARK для «малышей» Примеры кода на Python для работы с Apache Spark для «самых маленьких» (и немного «картинок»).Данная статья представляет собой обзор основных функций Apache Spark и рассматривает способы их применения в реальных задачах обработки данных. Apache Spark — это мощная и гибкая си...

Postgresso #10 (59) PostgreSQL 16.1- а также PostgreSQL 15.5, 14.10, 13.13, 12.17 и 11.22 (эта версия последняя, которая будет поддерживаться в линейке 11). Обновление закрывает 3 проблемы безопасности:CVE-2023-5868: показ содержимого памяти в вызовах функций с агрегацией (memory disclosure in ...

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

ЧВК «Вагнер» возвращается в СВО – строится новый лагерь и формируется особое подразделение Новое подразделение открывает набор бойцов для прохождения службы в СВО и в других регионах

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

Amstrad Notepad Computer NC100: история, характеристики и особенности винтажного девайса История британской компании Amstrad насчитывает ровно 40 лет. Она была основана в 1968 году сэром Аланом Майклом Шугаром. Этот достопочтенный джентльмен имеет титулы барона и рыцаря, является почётным доктором наук в двух университетах Лондона, а ныне занимает место в Палате...

Метод Reverse-engineering на практике: как расшифровать исходный код Всем привет! Сегодня в нашем эфире новый автор - Никита Синкевич, руководитель группы анализа и реагирования Инженерного центра Angara Security. Итак, начинаем!Иногда в ходе расследования инцидента информационной безопасности необходимо понять, имеет ли та или иная программа...

История фейерверков, повествование под Новый год 20 декабря 1699 года Петр Первый своим указом ввёл фейерверк в программу увеселений и установил новые традиции праздничных гуляний. Первый фейерверк в России был запущен в 1674 году в городе Устюг. 4 декабря 1711 года по приказу Петра I в честь именин Александ...

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