Социальные сети Рунета
Понедельник, 6 мая 2024

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

Семантический поиск и генерация текста на R. Часть 1 Для этой задачи использую LLM (Large Language Models - например, chatGPT или opensouce модели) для внутренних задач (а-ля поиск или вопрос-ответную систему по необходимым данным).Я пишу на языке R и также увлекаюсь NLP (надеюсь, я не один такой). Но есть сложности из-за того...

Диспетчер Задач для Микроконтроллера В программировании микроконтроллеров часто нужно написать простые тестировочные прошивки. При этом надо некоторые функции вызывать чаще, а некоторые реже. Для этого, конечно, можно запустить FreeRTOS, однако тогда этот код не будет переносим на другие RTOS например Zephyr RT...

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

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

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

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

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

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

Разработка тензорного компилятора под RISC-V CPU с помощью OpenVINO и MLIR Привет, Хабр! Меня зовут Владислав Виноградов, я инженер группы исследований и разработки ПО глубокого обучения в YADRO. Моя команда создает и оптимизирует связанное с искусственным интеллектом программное обеспечение. Сегодня я расскажу, как можно разработать тензорный комп...

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

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

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

[Перевод] Как работает async/await в Swift Функция async/await в Swift появилась в iOS 15, и я полагаю, что на данный момент вы уже знаете, как ее использовать. Но задумывались ли вы когда-нибудь о том, как работает async/await изнутри? Или, может быть, почему выглядит и ведет себя именно так? Или даже почему вообще ...

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

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

Huawei поставила крест на Android. Представлена HarmonyOS NEXT, и в ней нет ни строчки кода Android Сегодня состоялось очень важное событие: Huawei представила в Китае новейшую операционную систему HarmonyOS NEXT, которая, в отличие от обычной HarmonyOS, не базируется на Android AOSP. Более того, эта ОС вообще не совместима с Android и ее приложениями. Создатели назы...

PIC32MZ и Быстрое Преобразование Фурье PIC32MZ и Быстрое Преобразование ФурьеМикроконтроллер от компании Microchip далеко не новый. Но пока нам дружественный Китай увы и ах, и такого (415 MIPS на частоте 252 MHz ядра) предложить не может. Ведущие производители микроконтроллеров в Китае - Artery, Nation Semiconduc...

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

[Перевод] Ноутбук, который не умрет История о том, как мой 12-летний ThinkPad за $200 пережил два элитных MacBook’а.Что это за ноутбук на фото? Это самый неубиваемый, способный непрерывно работать и при этом не желающий умирать компьютер из всех, что у меня были.Впрочем, довольно. На этом пока остановимся.Я не...

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

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

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

Python + pygame — небольшие оптимизации Приветствую IT-специалистов, решивших прочитать мою статью, я - python разработчик любитель (изучающий язык уже 5 лет, но не имеющий коммерческого опыта), который решил создать игру на очень медленном языке программирования. В процессе разработки я сталкиваюсь с различными п...

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

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

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

Релиз без ошибок. Невозможное возможно? Привет! Меня зовут Сергей, я технический эксперт в компании Bercut. Когда-то увлекался Delphi и J2ME, издал несколько книг на эти темы, а сейчас создаю высоконагруженные приложения для баз данных.Первой СУБД, с которой я познакомился — случилось это в далеком 2002 году, ...

[Перевод] Каково это, создавать язык программирования сегодня? «Эта книга – классика. Относитесь к ней бережно». Такую фразу произнёс архитектор из нашей команды, передавая мне The Dragon Book. Разработкой компиляторов я увлёкся где-то 15 лет назад ещё на заре своей карьеры. Как-то раз, читая эту книгу поздно вечером, я заснул, небреж...

Несколько советов как новичкам не забросить изучение IT Я создаю IT-курсы уже 6 лет, являюсь руководителем направления обучения Бэкенд-разработке в онлайн-школе и даже развиваю свои собственные курсы по программированию на Python. Еще веду корпоративные обучения, работаю в универе и провожу консультации о построении пути в I...

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

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

[Перевод] Как я снизил время инкрементных сборок Rust на 40% Я форкнул и модифицировал компилятор Rust rustc. Одна фича — кэширование расширения процедурных макросов — привела к снижению времени инкрементных сборок на 11-40% в различных реальных крейтах. Благодаря этому ускорились dev-сборки и меньше стал тормозить rust-analyzer (IDE ...

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

Установка Klipper на Neptune 3 pro (Volcano) под управлением BIGTREETECH BTT PI V1.2 ( для новичков которые вообще ничего не понимают ) В связи с тем, что в на данную тематику на русском языке ничего нет или это все устарело, а информация доводиться для всех как будто все программисты и конструктора, без какого либо педагогического понимания того, что человек может ничего не понимать  и есть подводные камни,...

Есть ли Undefined Behavior в Rust? Если вы никогда не сталкивались с Rust-ом, а слышали, что он помогает избежать Undefined Behavior (UB), то отчасти это так. Некоторые делят язык Rust на 2 части: safe и unsafe. Я бы поделил на 4 части: safe, unsafe, const и async. Но нас интересуют safe и unsafe. Получить UB...

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

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

Делаем addon для Blender Люблю Blender. Он мощный, а в последних версиях красивый! А ещё он бесплатный. И даже становится удобнее. Но, если посмотреть на то, сколько вопросов в интернете про то, как сделать что-то вполне тривиальное, начинаешь понимать что до реального удобства там ещё далеко. С пос...

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

Мечтают ли сотрудники о целях компании? В конце нулевых я пыталась стать крутым копирайтером. Зарплата тогда была маленькая, вчерашняя студентка искала своё призвание за гранью ненавистной основной специальности — тексты казались идеальным выходом из ситуации. Лидировали по запросам окна и автохимия, а вот на трет...

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

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

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

Хоппер или цистерна? Теплушка или малыш? Как мы сделали экспресс-курс о железной дороге для айтишников и не только Первая грузовая компания занимается железнодорожными перевозками — но далеко не все наши сотрудники имели опыт работы в ж/д-отрасли до прихода в ПГК, особенно это касается IT-специалистов. Чтобы организовать новичкам погружение в тему, мы сделали специальный вводный курс о т...

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

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

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

Выполняем сторонние программы на микроконтроллерах с Гарвардской архитектурой: как загружать программы без знания ABI? Зачастую в процессе разработки собственных устройств или моддинга уже существующих, встаёт задача выполнения стороннего кода: будь то ваши собственные программы с SD-флэшек, или программы, написанные другими пользователями с помощью SDK для вашего устройства. Тема компилят...

[recovery mode] Как заниматься английским языком самостоятельно: гайд по самостоятельному изучению грамматики для начинающих Вы хотите начать заниматься английским, но пока по какой-то причине не готовы записаться на курсы или найти преподавателя по английскому языку. Но вы готовы уделить какое-то время, чтобы изучать язык самостоятельно, в своем темпе, чтобы если вдруг где-то в будущем вам язык п...

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

[Перевод] Я разработчик, а не компилятор Недавно у меня было телефонное собеседование, на котором мне задавали разнообразные вопросы по Java. Это стандартное собеседование и большинство вопросов тоже было вполне стандартным:Что такое полиморфизм?В чём разница между List и Set? Когда стоит использовать первое, а ког...

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

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

Генеративная «уловка-22», или Почему ИИ плохо отличает сгенерированные тексты от написанных человеком Соблазн выдать текст, написанный ИИ, за оригинальный собственный стал особенно велик в последние годы, когда нейросети сделали огромный шаг вперёд. Вместе с этим, конечно же, появилась потребность определять тексты, написанные ИИ, а не человеком. Дошло до того, что некоторые...

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

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

KMP перешёл в stable. Что это значит? 1 ноября состоялся релиза Kotlin 1.9.20, beta компилятора k2. Но для нас интереснее глобальное изменение статуса KMP. Мы используем эту технологию в мобильной разработке и написали про неё несколько статей.В статье подробнее рассмотрим, что изменилось в технологии с пер...

Решение на миллион: разбираем алгоритмические задачи с победителями True Tech Champ Привет, Хабр! Меня зовут Алина Ёжикова, я работаю в МТС Диджитал и делаю мероприятия для разработчиков. Сегодня расскажу, как мы организовали самый большой и сложный ивент в моей карьере — олимпиаду по программированию на восемь тысяч разработчиков.Я говорю про True Tech Cha...

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

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

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

VBA, Word: перекрёстные ссылки согласно ГОСТ (убираем из текста паразитные названия «Рисунок..», «Таблица..» и тп) Меня попросили написать статью по поводу известной проблемы с паразитными названиями перекрёстных ссылок в тексте документа MS Word, а именно, когда вы вставляете в текст документа перекрёстную ссылку (меню ссылки/перекрёстная ссылка) Word позволяет вставить либо название ти...

Как я попробовал написать авиасимулятор Давным-давно, в 2015 году я написал свою первую статью на хабр: Пишем простую* игровую физику самолёта Статья появилась не сама по себе — я писал игру, но так её и не доделал. За предыдущие девять лет я несколько раз возвращался к проекту, что-то улучшал, но по-факту он так...

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

Ansible + Grafana Loki: Настраиваем отправку уведомлении в чат после логина на сервер по SSH Не задумывались ли вы когда-нибудь над тем, чтобы знать о каждом входе на ваши сервера? Меня охватила такая же паранойя: а вдруг, когда я сплю, на мой сервер заходит домовой и творит там ужасы? Хотя логин на наши сервера и запрещен по паролю, а SSH-ключи есть только у меня, ...

97 откликов, 2 тестовых, 3 технических собеседования — и оффер в IT-компанию у меня в кармане Привет, я Настя — младший разработчик в «Метре квадратном». Это статья о том, как я пришла в разработку практически с нуля в 2023 году. Знаю, на «Хабре» таких уже много, но когда-то подобная статья помогла мне начать свой путь, и я решила, что этот текст тоже может быть поле...

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

[Перевод] Люди со склонностью к микроменеджменту обычно не замечают этого за собой «Антон, есть разговор. Не знаю, как бы сказать повежливее, но завязывай, пожалуйста, с микроменеджментом, я уже на стену от этого лезу!» Это я-то?! Занимаюсь микроменеджментом??? Да я ведь просто пытаюсь помочь! Судите сами. Обычный вторник, все работают удаленно, общение ...

CI/CD в каждый дом: сборочный цех базовых docker-образов Привет, Хабр.Последнее время DevOps и CI/CD де-факто стали повсеместным стандартом независимо от размера команды, в интернетах хватает статей, почему это важно, в чём собственно идея, полезных практик и других материалов. Я же решил подойти с несколько другой стороны и макси...

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

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

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

Как на самом деле Async/Await работают в C#. Уроки по асинхронному программированию из первой половины работы Несмотря на то, что с предыдущей статьей-переводом мы выяснили что перевод уже есть на Хабре я рискну продолжить анализ этой работы.Теперь это НЕ перевод. Это моя интерпретация тех частей содержания первой половины Поста: Как на самом деле Async/Await работают в C#, которые ...

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

Установка GCC в сборке MinGW Установка коллекции компиляторов GCC (GNU Compilers Collection) в Windows и первичная настройка для дальнейшей работы. Читать далее

Побит новый рекорд емкости HDD. 30 ТБ и 400 градусов Цельсия внутри Многие задаются вопросом, как хранить данные дома или на работе. Надо же не только установить систему на жесткий диск, но еще куда-то сложить несколько сезонов любимого сериала, фотографии друзей и родных, видео с котиками, да и для игр тоже нужно много места. А если вы рабо...

Курс «PostgreSQL для начинающих»: #4 — Анализ запросов (ч.1 — как и зачем читать планы) Продолжаю публикацию расширенных транскриптов лекционного курса "PostgreSQL для начинающих", подготовленного мной в рамках "Школы backend-разработчика" в "Тензоре".В этой лекции мы узнаем, что такое план выполнения запроса, как и зачем его читать (и почему это совс...

Как я стал iOS разработчиком О чем пойдет речь В данной статье я хочу рассказать вам как я стал iOS разработчиком в 32 года не имея профильного образования, не оканчивая курсы, без знания английского языка и без друзей/знакомых в сфере IT.Понеслась.Первые мысли об...

Airflow в Kubernetes. Часть 1 Приветствую!На пути инженера данных часто встречаются задачи связанные с DevOps. Одна из таких - развернуть Airflow в Kubernetes кластере. Если до этого похожего опыта работы не было, то эта задача может показаться нетривиальной. Конечно, можно выполнить несколько команд из ...

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

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

Очень сложные Крестики-Нолики Доброго времени суток, когда вы в последний раз играли в крестики-нолики? Вспомните поле которое вы рисовали на бумаге: 3x3? 5x5? А что вы скажете насчёт 19x19? "Долго будем играть!" - и это только часть проблемы. Передо мной встала такая задача в ходе хакатона от компании Т...

[Перевод] 4 миллиардов операторов if Просматривая недавно соцсети, я наткнулся на этот скриншот. Разумеется, его сопровождало множество злобных комментариев, критикующих попытку этого новичка в программировании решить классическую задачу computer science: операцию деления с остатком.В современном мире, где ИИ п...

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

[Перевод] С новым годом: GPT в 500 строках на SQL В минувшем году все только и говорили об ИИ и о том, как он может всё за вас сделать.Мне нравится, когда кто-то или что-то работает за меня. Поэтому решил: попрошу-ка ChatGPT написать за меня новогодний пост:"Эй, ChatGPT. А ты можешь реализовать большую языковую модель на SQ...

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

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

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

Опыт участия в Epic MegaJam: 7 дней творения Я «обычный» энтерпрайз программист, но недавно попробовал силы в Epic Mega Jam 2023. Опыт получился яркий, эмоциональный. Сразу захотелось поделиться. Вероятно, профессионал прочитает статью с рукой у лица, если вообще будет читать. Но текст больше для тех из нас, кто занят ...

Это мы юзаем: библиотека Optuna в Python для оптимизации гиперпараметров Привет, Хабр!Гиперпараметры — это параметры, которые не учатся в процессе обучения модели. Они задаются заранее. От выбора гиперпараметров напрямую зависит качество и эффективность модели, а их оптимизация может улучшить результаты предсказаний.Традиционный подход к оптимиза...

Прокрастинация Данная статья написана по материалам лекций психолога в МФТИ. Эти лекции показались мне очень полезными, поэтому я решил поделиться своим конспектом. Читать далее

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

[Перевод] Регулярные выражения — это не трудно Регулярные выражения имеют дурную славу из-за присущей им сложности. Это справедливо, но я также считаю, что если сосредоточиться на определенном ключевом подмножестве регулярных выражений, то это не так уж и сложно. Большая часть трудностей возникает из-за различных «шорт...

Еще раз про асинхронную машину состояний и где именно там аллокации Несмотря на то, что про async/await уже было сказано много слов и записано множество докладов, тем не менее, в своей практике преподавания и наставничества, я часто сталкиваюсь с недопониманием устройства async/await даже у разработчиков уровня Middle+. В данной статье мы п...

Еще раз про асинхронную машину состояний и где именно там аллокации Несмотря на то, что про async/await уже было сказано много слов и записано множество докладов, тем не менее, в своей практике преподавания и наставничества, я часто сталкиваюсь с недопониманием устройства async/await даже у разработчиков уровня Middle+. В данной статье мы п...

Изучение Java в 2024 году: что стоит почитать. 6 книг, которые можно рекомендовать В 2024 г. Java никуда не делась и в ближайшие много лет явно не исчезнет. Язык продолжает развиваться. ПО, написанного на этом ЯП, всё больше. Разработчиков тоже нужно много и сразу, причём хороших. Для того чтобы стать таким специалистом, нужно, конечно, учиться и практиков...

Начало мая 2024 года ознаменовалось 60-летием языка программирования BASIC. В честь этого события несколько проектов FOSS BASIC выпустили новые версии Язык программирования BASIC, созданный более 60 лет назад для обучения начинающих программистов, до сих пор жив и развивается. В мае 2024 года легендарный язык отметил свой 60-летний юбилей, и сообщество разработчиков решило отпраздновать это событие по-особенному. Неск...

Введение в библиотеку Diffusers и диффузионные модели Diffusers — это библиотека от Hugging Face, которая позволяет работать с сотнями предобученных моделей класса Stable Diffusion для создания изображений и аудио.Всегда хотели стать художником, но у вас лапки? :) Тогда Diffusers этот то, что вам нужно!В этой статье рассмотрим ...

Ищем Арнольда Шварценеггера среди мужчин, женщин и детей с помощью нейросети на С++ Привет, Хабр! Меня зовут Кирилл Колодяжный, я ведущий инженер-программист в YADRO. Помимо основных рабочих задач, включающих исследование проблем производительности СХД, я увлекаюсь машинным обучением. Участвовал в коммерческих проектах, связанных с техническим зрением, 3D-с...

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

[Перевод] Svelte: Знакомство с рунами В 2019 году Svelte 3 превратил JavaScript в реактивный язык. Svelte - это фреймворк для создания веб-интерфейса, который использует компилятор для превращения декларативного кода компонентов в такой... Читать далее

Каков C++ в gamedev'e? Хотел написать продолжение к статье Что почитать игровому программисту? про использование С++ в игровых движках, но размышления свернули куда-то не туда.Завороженно смотрю как и какими темпами идет развитие языка в последние годы, и понимаю, что получить и особенно применить...

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

Кратко про то, как устроен компилятор Go Привет, Хабр! В back in 2007 трое гуру из Google — Роб Пайк, Кен Томпсон и Роберт Гриземер — решили, что мир нуждается в чем-то свежем и быстром. Они метили на упрощение процесса разработки, но при этом хотели сохранить весь перфоманс на уровне C. И вот, в 2009 году появился...

Куда девать 300 багов: автоматизация бэклога и RICE для багов POV: Вы только что начали работать над новым проектом и встретились с небольшой проблемой — в бэклоге багов обнаружилось 300+ открытых тасок. Первая реакция — недоумение, отчаяние и боль от увиденного. «Ну ничего, – думаете вы, – это же как раз то, зачем я нужен этой компани...

Мой первый опыт с VyOS. Часть 1 Привет хабр!Меня зовут Берик, я работаю системным администратором в IT холдинге SAMGAU, где отвечаю за IT инфраструктуру. Хочу написать серию статей где поделюсь своим опытом по использованию VyOS. Читать далее

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

Make Habr Hard Again: «железная» номинация «Технотекста» Новый «Технотекст» стартовал в конце прошлого года. Посмотрев список номинаций, некоторые авторы-инженеры YADRO, которые занимаются разработкой и программированием серверов, СХД, микроэлектроники, не поняли, какую из них выбрать. Раньше же была отдельная «железная» номинация...

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

Я написал бесплатную книгу для профессионалов в области AI (и не только) Привет, Хабр! Меня зовут Никита Горячев, работаю в позиции AI/ML Engineer в Сбере. В мой скоуп входит работа с SOTA (state-of-the-art) алгоритмами в областях NLP и RecSys. Книга написана в форме Guide Book с теоретическими и практическими заданиями. Ниже написал анонс в виде...

Разобраться раз и навсегда: Task.WhenAll или Parallel.ForEachAsync в C# Все хотят писать код, который работает быстро. Часто мы сидим, просматривая написанные алгоритмы и пытаясь понять, что можно сделать, чтобы настроить их производительность. В таком случае часто прибегают к параллельному выполнению задач. Конечно, если можно выполнять зада...

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

Эти функции смартфонов Xiaomi вывели меня из себя! Зачем они их придумали? Мне нравятся смартфоны Xiaomi за безграничные возможности оболочки HyperOS (MIUI). Устройства китайского бренда действительно предлагают много интересных фишек от киноэффектов для камеры до персонализации звука, чем выгодно отличаются от конкурентов. В то же время существую...

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

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

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

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

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

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

Почему вам стоит отказаться от использования timestamp в PostgreSQL Не секрет, что работа с часовыми поясами — боль, и многие разработчики объяснимо стараются ее избегать. Тем более что в каждом языке программирования / СУБД работа с часовыми поясами реализована по-разному.Среди тех, кто работает с PostgreSQL, есть очень распространенное заб...

[Перевод] Что GCC делает для усиления защиты ядра? Усиление защиты ядра Linux — это задача, предполагающая постоянную работу сразу по нескольким направлениям. И иногда эта работа может быть выполнена даже не в самом ядре, а с помощью других инструментов, или даже в компиляторах. На конференции 2023 GNU Tools Cauldron Цин Чжа...

Мой вам подарок к новому году или как наконец запустил то, что надо было давно запустить… Немножко истории Начну с истории вопроса. Очень давно, я написал Fresh IDE – навороченнoe IDE для программирования на ассемблере, а точнее на FlatAssembler. Fresh IDE долгие годы меня полностью устраивал, поэтому я с перерывами выпустил 2 главные версии и начал просто его...

Pandas в pandas'е: упаковываем документацию в датафрейм Документация к сложным библиотекам на питоне (напр. pandas) хранится в doc-строках и разбросана по сотням страниц сайта. В этой статье мы с помощью небольшого кода упакуем её (информацию из документации для каждого класса и метода) в... датайфрейм. Но зачем? Во-первых, это п...

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

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

Helidon 4 вышел, а никто и не заметил Те, кто использует Helidon в проде, наверняка точно знают, зачем им это нужно. Что делать остальным? Основная задача хомячка — объяснить детям концепцию смерти. Кажется, точно так же основная задача Helidon для широких народных масс — посмотреть на самые новые фишки Java и п...

In RISC-V Rust Превращаем простой пример распознавания нот из лабораторных работ Школы синтеза цифровых схем в Enterprise. Используем компилятор Rust для RISC-V микроконтроллера YRV-Plus. Читать далее

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

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

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

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

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

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

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

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

Лонгрид о JavaScript JavaScript — ужасный язык программирования. По сравнению с другими распространёнными языками он выглядит генетическим уродом. Дело даже не в отсутствии многопоточности, или статической типизации, или того, что node_modules для про...

Войти в ИТ через тестирование: опыт QA-инженеров hh.ru Привет! Меня зовут Олег Водянов, и я QA-инженер в hh.ru.  Свой путь в тестировании я начал в качестве джуна в далёком 2018 году. Всё, что мне тогда понадобилось для трудоустройства — это прочитать и законспектировать теоретическую информацию с сайта www.protesting.ru, н...

Как подружить JUnit 5 и Robolectric? Задавались ли вы вопросом, почему Robolectric не работает JUnit 5? В этой статье расскажу, как подружить Robolectric и JUnit 5 и как мы смогли это сделать в команде. Вы узнаете, как запустить JUnit 4 тесты при совместном использовании с JUnit Jupiter с помощью тестовог...

Тест-драйв PyTorch 2.0 и заглядываем под капот «двушки» Привет, Хабр!На связи участники профессионального сообщества NTA Рощупкин Богдан, Сахоненко Егор и Алёшин Максим.В посте мы рассмотрим, насколько эффективен torch.compile() на практике, заглянем под капот «двушки» PyTorch 2.0, чтобы узнать, как работает этот метод и как...

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

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

Разработка цифровой аппаратуры нетрадиционным методом: Yosys, SpinalHDL, VexRiscv (ч. 2) Это вторая и заключительная часть большой статьи. Ознакомиться с первой частью можно по ссылке. Основная прелесть использования ПЛИС, на мой взгляд, состоит в том, что разработка аппаратуры превращается в программирование со всеми его свойствами: написание и отладка кода...

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

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

Путь от преподавателя английского к AI Product Manager Всем привет, меня зовут Оля Шерстюк, раньше я была преподавателем английского языка, но начиная с 2023 года решила поменять свою деятельность и перейти в IT, сейчас я учусь в магистратуре AI Talent Hub. Хочу поделиться с вами своей историей.В 2023 я зачеркивала дни в календа...

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

Костыли, которые горят, пока всё лопается: как выглядит разработка под децентрализованные финансы Из рекламы МММ: он не халявщик, а партнёр! Тут на днях один молодой бомж с филфака СПбГУ дал интервью Карлсону (тому, что живёт в Х). После чего куча моих знакомых стала задавать вопросы про блокчейн-разработку (крипту). Ну и ещё в Телеге запустили переводы в один клик, и ...

[Перевод] Когда парное программирование не работает Экстремальное программирование включает более 10 разнообразных приемов — TDD, игра в планирование, «заказчик всегда рядом» и т.д. Сегодня речь пойдет о парном программировании. Предлагаем читателям блога beeline cloud поделиться своим мнением об этом приеме! Практиковали ли ...

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

5 переводчиков приложений для Android, которые выручат вас, если программа не поддерживает русский язык Несмотря на то, что русификация приложений — плевое дело для разработчиков, далеко не все программы поддерживают русский. Это существенно осложняет взаимодействие с софтом людям, которые не владеют иностранными языками. Тем не менее, сегодня существует вариант преодоления т...

«Костыли» вместо SIEM или почему так лучше не делать? В 2022 году только 14,5% российских компаний были оснащены SIEM, показало наше исследование. При этом задачи по контролю безопасности ИТ-инфраструктуры были и остаются у всех. Их часто решают альтернативными средствами. Например, 12% наших респондентов заявляли, что имеющиес...

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

Интерпретатор Brainfuck на Brainfuck Когда-то давно, году в 2013-м, на глаза мне попался следующий код:>>>+[[-]>>[-]++>+>+++++++[<++++>>++<-]++>>+>+>+++++[>++>++++++<<-]+>>>,<++[[>[->>]<[>>]<<-]<[<]<+>>[&...

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

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

Postgresso за 2023 В прошлом году Postgresso 12 (49) и был обзором, пробегающим по 11 предыдущим номерам. В этом году мы решили, что эту задачу лучше выделить в отдельный выпуск.ЯНВАРЬPostgresso 1 за 2023 (50)ИгрушкиДа, мы любим рассказывать об игрушечных базах, самодельных базах для души. Бул...

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

Как написать новостной Телеграм-канал если ты не программист. Часть первая Всем привет! Попробую написать трилогию покорения основ Python, отражающую мой путь любителя с “паяльником”. Тут не будет основ, чистого кода, отсылок к требованиям PEP-8, практически не будет ООП.Всех суровых Senior’ов, читающих данный материал, прошу понять и простить. Я н...

[Перевод] Невидимая проблема текстовых редакторов на смартфонах Когда я рассказываю о своих исследованиях редактирования текста на мобильных в Google, то обычно сталкиваюсь с непониманием и немного враждебным «Разве на телефонах нельзя редактировать тексты? В чём проблема?»Редактирование текста на мобильных поломано. На самом деле, оно г...

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

Размышления о выборе языка программирования для школы (и ситуации с информатикой в целом)… Эта статья выросла из ответа на комментарии к статье Основные отличия PascalABC.NET, где возник традиционный спор про то, есть ли смысл в 2023 году изучать Pascal. Для комментов мой ответ слишком большой, так что оформлю в виде такого спонтанного поста.Как бывший программист...

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

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

Как работает multiprocessing в Python под капотом Я довольно давно пишу на Python и во многих проектах использовал multiprocessing — пакет стандартной библиотеки языка Python, который предоставляет интерфейс для работы с процессами, очередями, пулами процессов и многими другими удобными инструментами для параллельного прогр...

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

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

Разработал 50 игр. Мои самые первые игры (Часть 1) С 2005 года я решил попробовать создавать игры и меня затянуло. Самоучка, у меня тогда еще интернета не было я был школьником) Рисовать и программировать я не умел, но было большее желание что-то создать)Тут я поделюсь кратким списком своих первых игр. Все они были разработа...

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

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

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

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

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

Почему навигация в Google, Booking и Spotify именно такая, и какую лучше выбрать вам При работе над паттерном навигации моя команда выяснила интересный факт — мало материалов для дизайнеров. Я провела своё исследование: поговорила с разработчиками, проанализировала множество приложений и заглянула в гайдлайны.В статье покажу три самых популярных вида навигац...

Контролируем чистоту воды с Home Assistant Всем привет! Хочу рассказать о небольшом и довольно простом кейсе использования Home Assistant, но на мой взгляд очень полезном. Это контроль ресурса магистральных фильтров. Идея сделать что то такое беспокоила меня давно и вот наконец руки дошли и до этого. Читать далее

Decky Notifications: как переизобрести KDE Connect и перенести уведомления в Steam Deck Недавно в мои руки попала портативная игровая консоль Steam Deck. Замечательное устройство, которое полностью поглощает внимание. В этом я вскоре нашел минус: телефон генерирует уведомления и приходится откладывать приставку, чтобы посмотреть сообщение. Хочу играть и не пр...

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

[Перевод] Большая шпаргалка по Rust. 2/2 Hello world! Представляю вашему вниманию вторую часть большой шпаргалки по Rust. Первая часть. Обратите внимание: шпаргалка рассчитана на людей, которые хорошо знают любой современный язык программирования, а не на тех, кто только начинает кодить. Также настоятельно реком...

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

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

Modular выложила в открытый доступ основные компоненты Mojo – языка программирования для ИИ Компания Modular открывает доступ к Mojo, языку для разработки ИИ, обещающему сделать программирование более простым и интуитивным.

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

Обработка анимации после бюджетного мокапа для UE4 Мы небольшая студия энтузиастов, основная наша деятельность это создание проектов для местного музея под гарнитуры VR (Oculus Quest 2). В каждый наш новый проект мы стараемся добавлять какую-нибудь фишку. В этом проекте принято было отказаться от Mixamo и создать свой компле...

[Перевод] 8 углубленных вопросов на собеседованиях на роль сеньора в JavaScript JavaScript — это мощный язык, который является частью фундамента интернета. У этого мощного языка также есть некоторые свои особенности. Например, знаете ли вы, что значение 0 === -0 равно true, или что Number("") дает 0? Дело в том, что иногда эти причуды могут ...

[Перевод] Принципы работы интегрированных сред разработки Вот некоторые принципы работы IDE (интегрированных сред разработки), которые, на мой взгляд, нужно зафиксировать: Принцип минимальной навигации Навигация в IDE раздражает. В тексте, конечно, можно выучить все причудливые навигационные сокращения типа C-a M-< M-f и так дал...

О внутрикластерной маршрутизации через Istio Привет, Хабр! Я Степан, DevOps‑инженер, занимаюсь созданием CI/CD процессов с учётом проверки кода на безопасность, поддержкой и разверткой новых кластеров Kubernetes, соблюдением требований безопасности и созданием системы мониторинга и логирования — все это ...

Подключаем модуль TM1638 к Arduino без библиотеки SPI Изначально поставка задачи была такой. У меня была в наличии плата TM1638. Нужно было научиться с ней работать (ну и проверить работоспособность самой платы) для того, чтобы использовать её в одном интересном проекте (о нём в другой раз). Под рукой оказалась платка Arduino N...

Quantization Deep Dive, или Введение в современную квантизацию Привет! Меня зовут Василий Землянов, я занимаюсь разработкой ML-инфраструктуры. Несколько лет я проработал в команде, которая делает споттер — специальную маленькую нейросетевую модельку, которая живёт в умных колонках Яндекса и ждёт от пользователя слова «Алиса». Одной из м...

Алгоритм расчёта расстояния между строками По работе стояла задача оптимизации поиска по адресам (улицы, дома и объекты). Главный критерий - нахождение адреса, если написано с ошибками или не дописан он в полной мере. Bert’ы, косинусные расстояния эмбеддингов и т.д. не подходили, так как они заточены под смысловой по...

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

Как изменить язык приложения на Android Одна из основных настроек Android — язык. Смартфоны позволяют нам взаимодействовать с системой хоть на русском, хоть на английском, хоть на китайском. Но получится ли изменить язык для отдельного приложения, если стандартный вариант вас по какой-то причине не устраивает? Да...

[Перевод] Распаковываем архив gzip вручную. Часть 2 В этой части мы, как и в первой, разархивируем файл gzip вручную, но теперь ещё и декодируем коды Хаффмана. Для начала запишем данные на диск: $ echo "hector the frantic father on an anchor or a rare fat cat sat on the ranch" > test-huff.txt $ xxd test-huff.t...

[Перевод] Отсечение и поиск / Prune and search Решал задачу на LeetCode (Word Search) и наткнулся на незнакомый мне термин "search pruning", либо "Prune and search". Немного погуглив, узнал, что это метод решения задач оптимизации, на Википедии есть соответствующая статья (ссылка). На русском языке я не нашел такого терм...

Broadcom ESXi для самых маленьких. Часть 1. Выдача процессоров виртуальным машинам В очередной раз столкнулся в интернете с отсутствием понимания «что такое виртуализация и как она работает с ядрами и процессором». Вспомнил себя тупого* и решил написать статью «как оно там в ESXi». Чтобы было на что ссылаться. Читать далее

Когда не нужны библиотеки для работы с часовыми поясами Итак, настал тот moment, когда вам нужно работать с датами в разных часовых поясах (Новый год же!), а ваш архитектор/начальник не разрешает использовать Moment Timezone или Luxon, потому что они увеличат размер вашей сборки, а для вашего проекта важно, чтобы UI грузился быст...

Ностальгические игры: Red Faction В 2001 году на ПК вышло довольно большое количество по-настоящему хороших шутеров. Считайте сами: Max Payne, Return to Castle Wolfenstein, Grand Theft Auto III, Half-Life: Blue Shift, Serious Sam: The First Encounter, Tom Clancy’s Ghost Recon, Operation Flashpoint: Cold War...

[Перевод] Итак, вы думаете, что знаете Git? Часть третья: реально большие репозитории Автор оригинала Скотт Чакон — сооснователь GitHub и основатель нового клиента GitButler. Этот клиент ставит во главу угла рабочий процесс и удобство разработки, в том числе код-ревью, и не является просто очередной обёрткой над CLI git. Вам хочется использовать ванильный G...

Мой 2-х месячный опыт настройки Selenoid под Android за 10 минут Если вы читаете эту статью, то наверняка слышали о Selenoid. Это мощное решение написанное на Go от компании aerokube для управления Docker-контейнерами, в которых «завёрнуты» все необходимые программы и драйверы для тестирования в браузерах или на Android-эмуляторах.Как утв...

Обобщенные фабрики тайпгардов в TypeScript Привет, Хабр! Меня зовут Сергей Соловьев, я разрабатываю интерфейсы международных платежей в Тинькофф Бизнесе. Уверен, многие хотят писать надежный, поддерживаемый, но при этом лаконичный код. Как найти баланс?TypeScript упрощает разработку веб-приложений ценой роста кодовой...

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

Танцы с бубном над чёрной мамкой на базе stm32f407vet6 часть 3 Часть 1Часть 2Почему не запускалась прошивка после перезагрузки и при включении.Как было сказочно ранее что успешный запуск после прошивки происходит только если её заливать по адресу 0x08080000  и работает она до первой перезагрузки. А адресация перепрограммируемой памяти н...

А закрыл ли я замок двери? Home assistant + Aqara и немного витухи Зачем всё это? Привет дорогой читатель! Проверь, а закрыл ли ты входную дверь? Сходи, проверь ;). Дёрни ручку! Вдруг открыта? Если у Вас бывают навязчивые мысли о том, что Вы забыли закрыть дверь, то поздравляю у Вас ОКР Вам надо лечиться Вам будет полезен мой опыт дорабо...

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

Владелец сети ломбардов о бизнесе, про который принято молчать Моей любимой шуткой про ломбардный бизнес стал ответ участника тематического форума на вопрос “Как раскрутить новое отделение?”. Кто-то писал о листовках, кто-то об акциях, а этот человек написал кратко – “Нужно ждать 10 лет”.Мне повезло, и всего через 7 лет моя сеть ломбард...

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

Работаете с микросервисами? Идём в сторону Go Разработчики приложений с микросервисной архитектурой обращаются к Golang не только как к основному языку, но и как к вспомогательному — в дополнение к другим, более сложным. А мы решили обратиться к спикеру курса «Golang-разработчик» Виталию Лихачеву, Senior Software Engine...

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

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

React Fiber & Concurrency Part 1 (2) В сети много статей и докладов, которые описывают React Fiber, но, к сожалению, они сейчас уже не актуальны. Заметив это, я решил разобраться и актуализировать информацию. Моими основными помощниками были исходники и отладчик, поэтому здесь вы увидите множество ссылок на код...

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

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

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

Как я рабочую задачу автоматизировал, не написав ни строчки кода, с помощью AI-ассистента AI-сервис Phind - ассистент по программированию для не программистов. Или как я автоматизировал свою рабочую задачу, не написав самостоятельно ни строчки кода. Читать далее

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

Российской OCR – 30 лет. Как появилась технология, благодаря которой мы забыли про ручной ввод? (Часть 2. OCR CuneiForm) В честь 30-летия OCR мы продолжаем вспоминать, как появились первые отечественные технологии распознавания текста. На прошлой неделе мы рассказали про самую первую такую программу – OCR Tiger, предназначавшуюся для оцифровки книг с целью их дальнейшего переиздания. Сего...

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

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

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

Как мы запустили курс практической разработки в НГУ Привет, Хабр. На связи Денис Былинин, системный архитектор из финансового маркетплейса Сравни. Сегодня хочу поделиться подробностями запуска курса по практической разработке для студентов мехмата Новосибирского Государственного Университета, где я выступал в роли составителя...

Жизнь без линтеров и расчет цены абстракции: материалы для разработчиков на С++ В марте мы собирались на митапе по С++ в Санкт-Петербурге. Для всех, кто не смог присоединиться к встрече, подготовили записи докладов и дискуссии с экспертами из YADRO, VK и Kaspersky, а также создателем Sprinx Андреем Аксёновым. Почему стоит сохранить подборку в закладки:•...

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

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

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

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

Как я решал Advent of Typescript, и что я понял Возможно вы слышали про Advent of Code — ежегодное соревнование по решению задач на рождественскую тему. Начиная с 1 декабря, вплоть католического рождества, каждый день выкладывается новая задача. С каждым днем сложность задач возрастает.В дека...

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

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

Зачем программисту микроконтроллеров математическая статистика? (или так ли хороши UWB трансиверы?) Настал день, когда мне для работы программистом микроконтроллеров наконец пригодилась математическая статистика из ВУЗ(овского) курса по теории вероятностей.Есть очень интересная технология для автоматического радиоизмерения расстояния. Технология основана на UWB трансиверах...

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

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

Разработка Tower Defense на Unity — часть 1 Доброго времени суток, ребята. Это моя первая статья вообще и первая в цикле статей о том, как я решил создать игру в жанре Tower Defence. Данный текст я пишу как человек неопытный и только исследующий сферу, так что он может показаться вам интересным, если вы уже давно проф...

Как я учился говорить клиентам «не знаю», если действительно чего-то не знал В детстве меня приучили к тому, что, если я не знаю ответа на какой-нибудь вопрос, нужно попробовать дойти до него своим умом. Порассуждать логически, подумать, погадать. Школьное образование только закрепило такой подход.— В каком году Пушкин стрелялся с Дантесом?— Не знаю ...

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

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

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

Непослушное дитя Докинза или о формировании современного мемофонда В уже далёком 2017 году я единственный раз побывал на фестивале «Geek Picnic», проходившем в Санкт-Петербурге. На тот фестиваль я собрался исключительно ради того, чтобы послушать Ричарда Докинза. Прочитанная им лекция выложена на YouTube здесь. В целом этот поход был для ме...

Мечтают ли нейроовцы о генеративных трубах? Кратко о PCG в контексте игровой индустрии Привет, Хабр! Меня зовут Владимир Садовский и я трудоголик (вялые аплодисменты) работаю программистом инструментария в Nau Engine. А ещё — обожаю игры. С детства. Компьютер у меня появился, когда мне было восемь. Предполагалось, что для учебы, но на глаза мне попалась Carmag...

[Перевод] Как прорешать тысячу задач на Leetcode за триста дней Привет, меня зовут Мэнси Эгэрвэл, я контент-менеджер в компании Favtutor. Недавно я добралась до отметки в тысячу решенных задач на Leetcode, и подумала, что хорошо бы поделиться своим опытом с другими. В прошлом мой интерес часто привлекали зеленые метки и разнообразные з...

Мы проанализировали 80+ креативов: вот 9 ключевых выводов Если вы уже запускали таргетированную рекламу, то, думаю, согласитесь со следующим: «Зачем изобретать велосипед, если можно просто адаптировать то, что уже работает у других?»  Для этого нужно постоянно мониторить рекламодателей (желательно, лу...

[Перевод] Программирование вне парадигм Со времени изобретения высокоуровневых языков программирования в отрасли доминируют парадигмы. Именно парадигмы, от императивных до объектно-ориентированных и функциональных – в основном формируют современный дискурс, касающийся языков программирования. Читать дальше →

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

Как в РСХБ разработали средство генерации SQL-запроса для упрощения задач по тестированию Привет, Хабр! Меня зовут Андрей Околелов, я работаю ведущим инженером в Блоке обеспечения и контроля качества выпуска изменений ПО в РСХБ. В банковской сфере я работаю с 1992 года, с 2018 основная деятельность — тестирование банковских прил...

Как мы оптимизировали процессы обеспечения качества Привет! Меня зовут Таня, я куратор в SM Lab. В этом посте я расскажу вам о нашем пути оптимизации тестирования — узнаете, какие на нашем продукте были проблемы в процессах тестирования, как мы их решали, почему не надо отвлекать тестировщиков и в чём польза интуитивного тест...

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

Doom. Часть 2. В поисках неведомого Кадата или магический реализм, сюрреализм и странные сны. 8 необычных вадов Doom совсем не был бы тем, чем он является, не сопровождай его определённая степень сюрреализма как окружения, так и происходящего, выгодно отличающего его от условно типовых шутеров в стиле милитари, и не менее условных хорроров / психоделических работ, имеющих больше или м...

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

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

Где изучать Javascript в 2024. Бесплатные курсы, книги и ресурсы Изучение JavaScript в 2024 году по открытым ресурсов имеет несколько преимуществ:1. Востребованность: JavaScript остается самым популярным языков программирования в мире. Знание JavaScript открывает двери к множеству возможностей в IT-индустрии.2. Бесплатный доступ...

DIY: Ваше собственное облако на базе Kubernetes (часть 1) Мы очень любим Kubernetes и мечтаем чтобы все современные технологии поскорее начали использовать его замечательные паттерны.А вы когда-нибудь задумывались о том чтобы построить своё собственное облако? Могу поспорить что да. Но можно ли это сделать используя лишь современны...

Мой первый принтер к ZX Spectrum После дембеля в ноябре 1986 году я, вместо того чтобы посвятить всё свое свободное время алкоголю и женщинам, по инициативе отца и не без его помощи собрал ZX Spectrum. Вариант, "Львов", так я сам оттуда, а отец даже принимал косвенное участие в его проектировании. Как раз в...

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

SQL HowTo: итоги по строкам и столбцам «в одно действие» Немного отвлечемся от простых SELECT и посмотрим на реальной бизнес-задаче построения различных "тепловых карт" и "шахматок", как знание возможностей SQL может облегчить жизнь и разработчику, и его базе. Читать далее

Оригинальный Сбербанк Онлайн перестал работать на iPhone. Что теперь делать и как войти в личный кабинет На днях Сбер начал предупреждать своих клиентов о том, что старое приложение Сбербанк Онлайн перестанет работать. При этом в App Store появилось новое приложение Учет онлайн, которое нужно обязательно скачать. Компания в прямом смысле навязывала его своим пользователям, но ...

Адаптивный дизайн приложений на Gtk Основные рабочие среды из мира GNU/Linux — это GNOME и KDE Plasma. До недавнего времени их можно было видеть только на десктопах, но сейчас эти окружения можно заметить и на мобильных девайсах. Эти девайсы не слишком распространены. Десктопный Linux встречается гораздо чаще....

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

Creality K1: замена шкивов - программная часть, root, Mainsail, разблокировка шейперов Вторая часть о замене шкивов - программная.По механике посмотрите это: Первая часть - механическая (замена самих шкивов)Итак, шкивы поменяны, но чтобы они работали как надо, нужно изменить Rotation Distance, Homing Speed, отклибровать Sensorless Homing, а раз мы туда залезли...

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

Презервация и пиратство: как не потерять медиа Вы когда-нибудь задумывались о том, что однажды не сможете посмотреть любимый фильм, пройти любимую игру, прочитать любимую книгу, послушать любимую музыку? Если вы думаете, что такого не случится, то вы не правы. The Crew, гоночная аркада от Ubisoft, больше недоступна для ...

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

Пишем свой QTableView с нуля Итак жил был фреймворк Qt и последние 10 лет ничего в нем не менялось. И захотел один чел написать свой QTableView с нужным ему функционалом, а именно захотелось ему выводить ячейки в несколько рядов (по горизонтали) в одной строке. Ещё ему хотелось растягивать одну из ячеек...

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

Addiator или арифметика на шести рейках Довольно случайно соприкоснувшись с механическими калькуляторами, я заинтересовался темой и понял, что она заслуживает некоторого внимания даже в наши дни. Я это говорю не как настоящий энтузиаст, досконально разбирающийся в этих устройствах, а всего лишь как начинающий колл...

Блок питания на 5 выходов Для своих электронных поделок я использую самодельный регулируемый линейный блок питания на 30V 3A. Он собран на базе конструктора с AliExpress, но я добавил несколько доработок от себя. У него неплохие характеристики в плане уровня пульсаций и шума, но всего один выход. Ког...

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

Как и где практиковаться начинающему мобильному разработчику Всем привет! Меня зовут Миша Вассер. Я руковожу мобильной разработкой в AGIMA, а ещё я наставник и автор на курсе «Android-разработчик» в Яндекс Практикуме. Помню то время, когда я начинал заниматься разработкой, — материалы были в основном на английском, а специализированны...

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

Играем в ReactOS Всем привет, дорогие друзья. В этой статье я хочу поделиться результатами тестов игр в ReactOS. Сразу отмечу, раз ReactOS, на данный момент стремится к совместимости с Windows Server 2003 (серверная версия Windows XP), то и игры, соответственно нужно тестировать той эпохи. Т...

[Перевод] Как программировали в 1969 году Я провёл это интервью со своей матерью Марианной Эрнерфельд в декабре 2018 года. В посте приведён немного урезанный перевод. Полное интервью на шведском языке можно прочитать здесь. Почему ты захотела стать программистом? Я решила стать программистом в 1965-66 годах. Прочи...

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

Здоровая конкуренция в GO. Главное не перехитрить самого себя Несколько лет назад я прочитал статью о параллелизации в GO и ничего не понял – я тогда только начинал программировать на этом языке. Но размышления автора мне очень понравились – они подкреплялись бэнчмарками, что было довольно убедительно. Автор игрался c параметром GOMAXP...

Стоит ли покупать смарт-часы Amazfit GTR 2 в 2023 году и где это можно сделать по самой выгодной цене В 2021 году я отказался от iPhone и перешел на Андроид. Это решение вынудило меня сменить облачное хранилище, некоторые привычные приложения, а заодно и умные часы. Вместе с Айфоном я пользовался Apple Watch, но они не работают с Андроидом, поэтому пришлось их продавать и и...

Онбординг аналитиков. Опыт Bimeister Я много слышу от новых коллег, что у нас в компании классный онбординг, что это им легко, комфортно входить в процесс, нет стресса. А ещё внутри компании и команды аналитиков он работает классно, поэтому решила поделиться им. Почти каждый а...

Что скрывается в коде игрового движка, написанного на Java? Вы когда-нибудь интересовались игровыми движками, написанными на Java? В этой статье мы рассмотрим и проверим на наличие ошибок в исходном коде один из популярных игровых движков — jMonkeyEngine. Возможно, мы даже узнаем, почему игры пишутся на C# и C++, а не на Java. Читать...

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

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

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

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

[Перевод] Быстрый парсинг 8-битных целых чисел Допустим, вам нужно быстро распарсить 8-битные целые числа (0, 1, 2, …, 254, 255) из строки ASCII/UTF-8. Задача взята из проекта simdzone под руководством Йероена Коеккоека (NLnet Labs). Дана строка и её длина: например, ’22’ и длина 2. Наивное решение на C может выглядеть т...

Renga STDL: краткий обзор языка для расширения функциональности программы Renga Renga - программа для проектирования зданий, с помощью которой можно создать трёхмерную модель, включающую инженерные конструкции, коммуникации и всю информацию о них. Затем из этой модели можно получить чертежи и спецификации. Renga работает под Windows и написана на C++.В ...

Аутентификация для WebSocket и SSE: до сих пор нет стандарта? WebSocket и SSE появились более десяти лет назад, однако до сих пор в стандартах отсутствуют рекомендации по решению задачи аутентификации для подобных соединений.В статье разберем особенности аутентификации применительно к протоколу WebSocket и технологии Server-Sent Events...

Мапперы на Famicom, NES, Денди: откуда взялись и зачем нужны (часть 1/2) Примерно раз в десятилетие на русскоязычных около-компьютерных ресурсах кто-нибудь поднимает тему такого элемента архитектуры 8-битной Денди и её прародителей, как «маппер», пытаясь на пальцах объяснить, что же это такое. И каждый раз у меня возникает ощущение, что рассказч...

Наш опыт Android- и iOS-разработки в проекте Посмотрим на текущую ситуацию с разработчиками Android и iOS‑приложений. Обсудим варианты разработки мобильных приложений. Разберемся, как мы в стартапе NFCKEY работаем в этом направлении. Затронем особенности, которые возникают в связи с у...

Как Додо Пицца доставляет свежий код: история мобильного CI для iOS Мобильная разработка под iOS особенная: собрать приложение можно только на macOS, среда разработки по сути только одна, большая часть принятого в сообществе тулинга написана на Ruby, свой пакетный менеджер появился только пару лет назад. Тяжко.А когда речь заходит про автома...

Из пушек по воробьям. Генерация и решение лабиринта не самым обычным способом На уходящей неделе мне попалась симпатичная, хоть и не новая мини‑серия статей на Дзен‑канале @zdgzdgzdg про процедурную генерацию лабиринта методом «коллапса волновой функции». Пока я читал эти статьи и знакомился с кодом, меня осенило: ведь это&nbs...

Разбираем TLS по байтам. Часть 1: кто такой этот ваш HTTPS? Подключение к сайту бывает защищённым, а бывает нет — это надо знать всем детям. Только мало детей знают, что это значит и как работает. Я, изучая веб-разработку, узнал об HTTP. Разобраться в нём несложно: в каждой статье о протоколе множество наглядных примеров запросов ...

Рецензия на книгу «Запомнить всё» Hello, Habr!Есть полезный опыт, которым хочу поделиться. В связи с переходом в IT-сферу возникла необходимость запоминать много новой информации. В результате прицельного поиска у меня в руках оказалась книга «Запомнить всё», изданной Альпиной. С книжками этого издательства ...

[Перевод] Увлекательный лексический анализ языка Rust Давайте поговорим о лексическом анализе. Сначала я собирался назвать этот пост «Реализуем токенайзер», но ветер переменился, времена изменились… и, чтобы не утонуть в потоке комментариев вида «фыр, а где мой BPE-токенизатор LLama, который вы мне обещали», ограничимся пока л...

API-автотесты: как достичь наиболее полного покрытия? Когда мы используем автотесты, то оптимизируем процесс выявления багов за счет сокращения ручного труда. И если основная потребность бизнеса в контексте тестирования — экономить деньги, минимизируя ущерб от каждого бага, то задача автотестирования: выявить наиболее полную ка...

«Импортозамещение» в видеонаблюдении. Часть четвертая: разбираю камеру от НИЦ “Технологии” сам Наконец пришла моя долгожданная двухмегапиксельная ip-камера, произведенная, как написано на стикере, в Краснодаре. Разберу начинку, ПО и попытаюсь определить насколько она отечественная. Читать далее

В колумбийском городе тела похороненных превращаются в мумии сами по себе — ученые не знают причину В колумбийском городке тела людей по какой-то причине превращаются в мумий. Источник фото: naked-science.ru В небольшом колумбийском городке Сан-Бернардо, расположенном в Андах, людей не хоронят на вечно. В целях экономии места, спустя некоторое время их эксгумируют, чтобы п...

Развитие RISC-V & мультиклеточная архитектура Рост популярности RISC-V с момента его появления в 2010 году позволяет говорить, что архитектура состоялась.Пока успех архитектуры RISC-V — это, в первую очередь, ее открытость. Все остальные факторы вторичны. Минимализм системы команд, ее стандартизация, программная инфраст...

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

Крутой пылесос, который моет сам себя. Обзор Dreame H11 Core Вряд ли кто-то задавался вопросом, стоит ли покупать пылесос. Скорее всего, куда чаще встречаются рассуждения на тему обновления пылесоса, чтобы получить новые функции. Этот гаджет действительно незаменим в деле поддержания чистоты дома. При этом, даже если у вас есть робот...

Коротко про алгоритмы и структуры данных Привет, Хабр! Меня зовут Ричард, я работаю в команде kPHP в VK, занимаюсь разработкой kPHP, плагинов для IDE, а также другого инструментария, делая жизнь разработчиков проще. В своей работе мне приходится иметь дело с PSI деревьями, AST, самопис...

Цифровая музыка на микрокомпьютерах (часть 2/2) В первой части статьи мы узнали про существование такого явления, как цифровая музыка, то есть состоящая из оцифрованных кусочков звучания реальных инструментов, на маломощных 8-битных микрокомпьютерах 1980-х годов, а затем углубились в детали этой истории в рамках горячо л...

Telegram выпустил обновление на Android с бесплатной расшифровкой голосовых сообщений. Есть и другие фишки Вышел Telegram 10.3.0. Это свежая версия популярного мессенджера с новыми функциями, которые наверняка позаимствует WhatsApp лет этак через 10. Впрочем, и это не точно, а вот об очередной порции фишек приложения Павла Дурова можно говорить с уверенностью. После обновления Т...

Качество выше, релиз ближе: как аналитик влияет на успех IT-проекта Привет, я Юля Зубова — руководитель отдела аналитики в диджитал-агентстве ДАЛЕЕ. Хотя написано много статей про роль аналитиков, открыты сотни вакансий и есть даже целые сформированные отделы, остались компании и команды, где их нет. Иногда приходится объяснять, зачем нужны ...

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

Самый лучший в мире курс по Машинному обучению — Алгоритмы Машинного обучения с нуля Краткий обзор курса, который я недавно закончил пилить на степике. Курс хардкорный :) В нем необходимо с нуля писать алгоритмы машинного. Наверное это один из лучший способов досконально разобраться в алгоритме.Курс бесплатный: https://stepik.org/course/68260/promo Читать да...

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

[Перевод] Чем на самом деле занимается Chief Technical Officer? В 2017 году я впервые почувствовал себя в роли CTO (Chief Technical Officer, технический директор). Я присоединился к маленькому стартапу в роли разработчика‑сеньора, и не успел опомниться, как оказалось, что я держу в руках бразды пра...

FreeCAD и C++ код с неопределённым поведением для медитации Изучая код проекта с помощью статического анализатора, иногда задаёшься вопросом: "Как возникла ошибка и почему её до сих пор не заметили?" Хотите посмотреть пример? Тогда приглашаем познакомиться с этой статьёй. Читать дальше →

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

[Перевод] Выделение регионов памяти в C++: советы и приёмы Эта статья обсуждалась на Hacker News.В течение минувшего года я шлифовал мой подход к выделению регионов. Практика показывает, что это эффективный, просто и быстрый подход; обычно его использовать в качестве средства для сборки мусора без издержек. В зависимости о...

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

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

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

35+ бесплатных ресурсов для начинающих разработчиков С++ Привет. Предположим, вы захотели начать изучать языĸ программирования C++ или, возможно, тех материалов, что уже изучили, вам недостаточно.Я — Савва, программирую уже больше 7 лет, работаю менеджером команды наставников в Практикуме на курсе «Разрабо...

Игровая легенда из нулевых: каким был Nokia N-Gage QD? Обзор, аппаратный ремонт и программирование под Symbian Друзья! Многие ли из вас помнят такой телефон, как Nokia N-Gage? В начале нулевых финская компания сделала смелую попытку ворваться на рынок игровых консолей, создав устройство, которое сочетало в себе сразу две функции: полноценный смартфон на базе аппаратной платформы WD...

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

10 наиболее дорогих научных проектов в истории Чуть ли не каждый год в мире появляется какое-то интересное открытие: только успевай читать новости на том же Хабре. А уж сколько денег, как государственных, так и частных, вливается в это — не счесть. Давайте посмотрим на 10 самых дорогих проектов в истории человечеств...

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

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

[Перевод] Большая шпаргалка по Rust. 1/2 Hello world! Представляю вашему вниманию первую часть большой шпаргалки по Rust. Обратите внимание: шпаргалка рассчитана на людей, которые хорошо знают любой современный язык программирования, а не на тех, кто только начинает кодить ;) Также настоятельно рекомендуется хот...

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

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

Подсветка для Ender 3 и Sprite Extruder с обдувом K3D Всем привет! Попросили меня подробнее написать про подсветку на моем Ender 3. Пишу!

Генерация зависимостей внутри программы В программировании программы часто строятся иерархично. Один программный компонент вызывает функции из другого программного компонента. Как бы представить эту взаимосвязь в законченной программе? Эту задачу можно решить прибегнув к языку Graphviz и утилитам cpp, dot, make, c...

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

[Перевод] Как я обработал один миллиард строк в PHP Вероятно, вы уже слышали о соревновании под названием "The One Billion Row Challenge" (1brc), если же нет, то предлагаю ознакомиться с репозиторием 1brc Гуннара Морлинга.Моё участие в проекте было мотивировано присутствием в нём двух моих коллег, которые достигли лидирующих ...

Шутер Monument. Обновление спустя 5 лет после релиза Разработка игры началась в далёком 2014 году с изучением Unity. Чтобы выучить новую двиг или язык программирования я обычно делаю какой-нибудь проект на этой технологии, в моём случае это работает лучше чем зубрёжка. Таким проектом стал Monument - олдскульный шутер с видом о...

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

Как я создавал мобильное приложение для хранения прочитанных книг BookDesk Всем привет! Меня зовут Александр, мне 33 года и я React-разработчик (10 лет опыта во фронтенде), я из Беларуси.Я хочу рассказать о моем опыте создания мобильного приложения для хранениях прочитанных книг BookDesk.Все началось еще в 2020 году, когда началась пандемия коронав...

Автоматизируем рутину в Android разработке: плагин для создания шаблонного кода на примере создания -api -impl модулей Привет, хабр! Меня зовут Алексей, я ведущий разработчик платформенной команды и по совместительству лид архитектурной компетенции в проекте Альфа-Бизнес. Сегодня я расскажу, как можно автоматизировать повторяющуюся работу в андроид-разработке при помощи плагина для Android S...

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

Мои советы после 20 лет в программировании Сегодня ровно 20 лет, как я начал программировать профессионально. За эти годы я:- Получил одобрение на петицию по грин‑карте за выдающиеся способности в науке.- Стал Google Developer Expert.- Стал IEEE Senior Member.- Был операционным директоро...

Нужен планшет до 20 000 рублей? Похоже, это лучший вариант: экран 12″, 12/256 ГБ и 450 тысяч в AnTuTu Несмотря на подорожание планшетов и другой техники, ценовой сегмент до 20 000 рублей продолжает оставаться самым популярным. Но изменение курса валют сильно сказалось на возможностях устройств, представленных в этой категории. В большинстве случаев нам приходится идти на ко...

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

Разговор с Алексеем Усановым из Positive Technologies о реверс‑инжиниринге и создании книги по этой специализации Это первый материал по «ИТ‑Пикнику», проходившему 2 сентября 2023 года. Будет отдельный обзорный материал мероприятия, а пока хочу представить интервью с руководителем направления исследований безопасности аппаратных решений компании Positive Technologies...

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

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

Как проверить локаторы с помощью Playwright В этой статье мы поговорим о том, что можно проверить у локатора (элемента) и какие вообще есть возможности проверок. Более того, в этой статье я описал упражнения, которые вы можете выполнить и отработать в качестве практики. Обычно мои статьи были холиварными, а не техниче...

Как устроены сети: полезные материалы от сотрудников Selectel Фрагмент из курса «Сети для самых маленьких». Чтобы стать сетевиком, новичку нужно изучить много теории, разобраться в особенностях профессионального оборудования и других аспектах. Мы в Selectel попросили коллег порекомендовать полезные ресурсы по сетевым технологиям, кот...

«Алиса» Яндекса выучила казахский язык Команда Яндекса объявила о запуске новой полезной функции для своего фирменного голосового помощника. «Алиса» научилась понимать казахский и говорить на нём.  Пообщаться с виртуальным ассистентом Яндекса на национальном языке Казахстана уже можно в моб...

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

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

Как построить хороший Vision продукта, используя Lean Canvas? Многие продакт-менеджеры тонут в сотне документах, которые приходится постоянно обновлять. Картинка, создающая целостное понимание по продукту, теряется или тратится много времени на то, чтобы её собрать. Целевая аудитория, исследования — в одном месте, метрики — в друг...

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

Интерактивные и документированные диаграммы для сложных систем Мой первый on-call выдался нелегким. Недели тренингов и обучения не подготовили меня к тому что придется бегать по Slack каналам различных команд и искать того, кто может что либо знать о какой-то из частей системы. Оказалось что многие страницы в корпоративной Wiki уже не о...

Разработка цифровой аппаратуры нетрадиционным методом: Yosys, SpinalHDL, VexRiscv (ч.1) Основная прелесть использования ПЛИС, на мой взгляд, состоит в том, что разработка аппаратуры превращается в программирование со всеми его свойствами: написание и отладка кода как текста на специализированных языках описания аппаратуры (HDL); код распространяется в виде па...

[Перевод] Бэкдор в основной версии xz/liblzma, ведущий к компрометации SSH-сервера В последние недели я, работая в системах с установленным дистрибутивом Debian Sid, столкнулся с несколькими странностями, связанными с liblzma (это — часть пакета xz). При входе в систему с использованием SSH очень сильно нагружался пр...

Как я пришёл в дата-анализ после долгих блужданий по онлайн-курсам, маршрут со всеми тупиками и ухабами Привет! Меня зовут Алексей, я дата-аналитик. Четыре года назад я пришёл в дата-анализ из сферы, далековатой от IT, — пивоварения (хотя о том, что на самом деле они не так далеки, я рассказывал здесь). До того как я нашёл свою нишу, тщетно пробовал вкатиться в IT через разные...

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

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

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

Рука из Ирулеги — загадочная находка археологов с надписями на древнем языке «Рука из Ирулеги» является одной из самых загадочных артефактов, найденных учеными В 2017 году специалисты по восстановлению старинных зданий занимались ремонтом средневекового замка Ирулеги, который располагается на территории Испании. Прямо у подножия дворца они нашли след...

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

Белгород. Telegram-bot для поиска укрытий Эта статья, как и приложение были написаны на прошлых новогодних праздниках, но по ряду причин, я не решился публиковать текст, так и остался он в черновиках. Вчера случилось страшное - в канун новогодних праздников город Белгород, в котором я живу, попал под массированный о...

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

Любовь и кошки: Башкирский Translation Forum Russia 2023 в объятиях Gen AI, LLM и CAT-tools Приветствую, дорогие читатели. Впервые решилась написать статью, связанную со своей профессией — с профессией переводчика. Статья покажет не только путь юного падавана в новой среде, но и первый опыт посещения больших мероприятий. И мой вывод: участвуйте! Читать далее

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

Shiva — Open Source проект на Rust для парсинга и генерации документов любого типа Идея проекта возникла у меня во время работы над проектом поисковика документов. Существует такая библиотека, как Apache Tika, написанная на Java, которая умеет парсить документы различных типов. Чтобы мой поисковик работал, он должен уметь извлекать текст из документов разн...

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

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

ГАЙД по python стеку для Data Science инженеров Data science - это область, которая занимается изучением и анализом больших объемов данных, чтобы находить в них полезные закономерности, делать прогнозы или принимать решения на основе фактов. Самым популярным языком программирования для data science является Python. Б...

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

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

Курс «PostgreSQL для начинающих»: #3 — Сложные SELECT Продолжаю публикацию расширенных транскриптов лекционного курса "PostgreSQL для начинающих", подготовленного мной в рамках "Школы backend-разработчика" в "Тензоре".В этой лекции углубимся в расширенные возможности команды SELECT : как можно "сложить" и "вычесть" вы...

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

Лучший стек для питониста-джуна 2024 (2 часть) Итак, что же поменялось за чуточку больше чем полгода? Если мы будем говорить об актуальности - ничего. Django до сих пор, а скорее всего так будет и всегда, остается "на плаву". Большая часть вакансий для back-end разработчика на Python имеет в себе требования по знаниям Dj...

Забудьте об Intel и AMD: для работы новой функции AI Explorer в Windows 24H2 нужна будет только SoC Snapdragon X Elite Уже в ближайшие месяцы на рынки выйдут первые ноутбуки с SoC Snapdragon X Elite, а заодно и с Windows 11 24H2. И похоже, что покупатели таких мобильных ПК получат преимущество над остальными, так как одна из новых важных функций Windows 11 будет работать только на SoC S...

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

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

Смерть third-party cookies. Что ждет нас в 2024? В большинстве браузеров уже есть те или иные механизмы блокировки third-party кук. В одних браузерах это ограничивается тем, что third-party куки разрешено отправлять только на посещенные пользователем сайты. В других браузерах внедряют различные "enhanced" и "intellegent" t...

Трансформером по A*, или как уменьшить число итераций самого известного алгоритма поиска пути Привет! Меня зовут Константин Яковлев, я научный работник и вот уже более 15 лет я занимаюсь методами планирования траектории. Часто эта задача сводится к поиску пути на графе, для чего обычно используется алгоритм эвристического поиска A*. Этот алгоритм был предложен в 60-х...

Как работают Векторные базы данных и Поиск похожих текстов в них Если вы когда-нибудь использовали в работе retrieval augmentation generation (RAG) на базе векторного поиска и не лезли туда под капот, но были бы не прочь, я постараюсь погрузить вас в то, как устроена векторная база данных внутри. Читать далее

Как опубликовать свое первое приложение на Django и не упасть духом. Гайд для выпускников курсов Я закончил курсы "Fullstack разработчик на Python" от одной известной компании. Обучение завершено успешно, но не было ощущения полноценности — на курсах не учили, как сделать самостоятельно деплой приложения на Django. И никто из студентов не задавался эти вопросом

Не все логи одинаковы полезны: 3 истории из жизни Прочитав статью "Утечки памяти, которые не утечки", я решил поделиться своим опытом поиска проблем, связанных с нагрузкой систем под управлением Windows. 2 проблемы были связаны с возросшей нагрузкой на ЦПУ и одна проблема связанна с утечкой памяти.В своей статье я расскажу,...

PyZelda своими руками или как геймдевить без Unreal, Unity и кредитов Хабры и Хаброчки, я хотел бы перед самой статьёй обсудить вопрос целесообразности писать свой движок, вместо готовых решений. Есть куча статей, которые опишут разные движки от более популярных до менее. Я бы хотел затронуть немного другой вопрос: "Как человеку, который изуча...

В Китае начался публичный бета-тест игры Mecharashi с роботами Mecharashi — мобильная игра из Китая, где проходит ПБТ на iOS и Android. Скачать клиент можно через местный App Store или TapTap. Геймеры будут участвовать в пошаговых и тактических битвах на больших локациях. Сражаться между собой будут группы роботов-мехов, которые использ...

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

Был программистом, а стал системным аналитиком: что хорошего в смене специализации и каких ошибок лучше не совершать Если вы задаётесь такими вопросами, как «точно ли я занимаюсь тем, что нравится?» или «как сменить сферу деятельности?», тогда эта статья однозначно для вас. В ней я поделюсь:• тем, как я выбрал свою первую профессию программиста;• почему решил сменить её и ушёл в системный ...

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

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

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

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

Графические процессоры RX 8700 XT/8600 XT на базе AMD RDNA 4 получают первые исправления на LLVM Идентификаторы графических вычислений (GC) двух новых устройств появились в последних патчах для компилятора LLVM.

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

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

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

Как сделать pruning, чтобы потом не плакать Обрезка нейросетей или же, если вникать в термины, pruning — то, что помогает уменьшить размер нашей модели без потери ее эффективности. Да, это далеко не новинка — в стэнфордских лекциях еще в 2017 году об этом говорили!Идея проста: мы просто убираем из модели все, что нам ...

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

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

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

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

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

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

Как я искал ПДн в 300 базах данных [и сохранил рассудок] Пришли как-то ко мне парни из службы безопасности и говорят: «Надо обойти все БД и собрать с них персональные данные». Потому что в России изменилось законодательство и теперь их нужно хранить в особо защищённых хранилищах. Если этого не сделать, то рано или поздно данны...

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

Google может переместить строку поиска в приложении Google App в нижнюю часть экрана В Google Chrome на устройствах под управлением iOS строка URL уже находится внизу, тогда как на Android она расположена в верхней части экрана

[Перевод] Dataloader 3.0: Новый алгоритм для решения проблемы N+1 При реализации Cosmo Router, open-source замена Apollo Router, мы столкнулись с проблемой поддержания нашего кода для решения проблемы N+1. Реализация маршрутизатора для федеративных служб GraphQL в значительной степени зависит от возможности группировать вложенные запросы G...

Лазеры, сервопривод, WiFi MESH-сети и сноуборд Первое мое воспоминание про горные лыжи было примерно в 5 летнем возрасте. Я лечу вниз по горке, а ко мне неумолимо приближается бетонный забор. Несмотря на эту неприятность, я все равно освоил горные лыжи, благо жили мы недалеко от гор. Правда после поступления в Москве в и...

Большие языковые модели (LLM) в задачах Сейчас в мире довольно много разговор о том, что LLM оставят всех нас без работы. Чтобы понять о чем речь рассмотрим на практических примерах какие задачи из коробки могут решать современные большие языковые модели (large language models, LLM).З.Ы. Подписывайтесь на мой теле...

6 лет из жизни инди-разработчика А привет, Хабр. У меня для тебя есть история длиной в шесть лет. История о том, как я учился делать свои собственные игры без навыков программирования и что из этого вышло. Почему так долго и почему так делать не стоит. Насто...

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

Разбираем на винтики учебный процессор TOY А давайте возьмём простейший процессор и напишем его эмулятор на Python. А потом скормим ему бинарник с программой, чтобы получить, например, такой результат:# python emulator.py -f add_two_numbers.bin Enter a number > -3 Enter a number > 8Output > 5Статья для тех, ...

Async/Await из C#. Головоломка для разработчиков компилятора и для нас Я рискну все таки продолжить изложение своего понимания Поста: How Async/Await Really Works in C#, которое в предыдущей статье получило название “ортогональный взгляд”. Также, недавно мы познакомились (возможно несколько преждевременно) с изначальным определением концепции S...

Первая проба пера Добрый день всем читающим эту статью! Совсем недавно я очень увлекся моделизмом. Собираю в основном автомобили в масштабе 1:24. До танков еще не дорос, а вот автомобили уже как раз. Очень понравились сборные модели от фирмы Aoshima. В особенности проработка каждых деталей в ...

Изометрическое Черчение в Inkscape Во время инженерной работы постоянно приходится проектировать заказные детали. Очевидно, что нужен какой-то векторный редактор для быстрого и простого создания статической графики. Редакторы 3D черчения как правило платные. При этом есть бесплатные программы для 2D черчения....

Как я осваивал Jetpack Compose Привет, я Михаил Селезнев, андроид-разработчик в компании 1221Systems. Поделюсь своими впечатлениями о Compose — будет интересно коллегам, которые думают о переходе на него. Расскажу, в чем были сложности и что помогло мне быстрее разобраться.Пару слов о моем бэкграунде: я в...

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

Метод SMART. Что это и почему про него важно знать руководителю? Привет! Меня зовут Лера, я в управлении проектами уже 7 лет. Реализовывала проекты на стыке AR/VR/ML-технологий в сервисной компании. Сейчас работаю в EdTech и параллельно занимаюсь менторством начинающих проджектов и руководителей.Прежде чем мы перейдем к основной...

Текст в стиле техно: есть ли жизнь за пределами Хабра? Написав первый текст в августе 2011, за 12 лет я срослась с Хабром: сперва вела блоги двух компаний, затем левачила партизанскими статьями, и наконец, стала работать в самом Хабре. Меня как автора до Хабра особо и не было — так, разовые заказы на переводы, переделанные песни...

Как быстро выбирать языковые модели (LLM) под свои задачи Последние полгода я активно занимаюсь разработкой сервисов на базе больших языковых моделей, они же «LLM». Для каждого проекта мне приходится подбирать модель по определенным критериям: языковая поддержка, требования к памяти, типу (instruction-based или completion), скорост...

[recovery mode] KolibriOS: пробуем ассемблер Решил потренироваться на ассемблере под x86 и выбор мой пал на KolibryOS. Ведь как-никак это ОС была написана на ассемблере и для использования ассемблера. И я хотел именно из самой KolibriOS писать код. Но... Наверное, зря я это всё затеял.Как оказалось, примеров кода не ма...

Основные функции Apache Tomcat Привет, дорогие читатели! Apache Tomcat — это открытое программное обеспечение, реализующее спецификации Java Servlet, JSP и Java WebSocket, предоставляя таким образом платформу для запуска веб-приложений, написанных на языке Java. Разработанный и поддерживаемый Apache Softw...

Особенности подготовки текстов для правильного воспроизведения в программах для незрячих Я впервые столкнулся с разработкой для незрячих пользователей в 2008 году, когда принимал участие в разработке программного телефона для контакт-центров, в котором большое число агентов было незрячими. Когда один из моих коллег потерял зрение, у меня было 10 лет опыта с...

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

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

[recovery mode] Где бесплатно учить Java в 2024 году В 2024 году изучение Java остается одним из актуальных направлений для тех, кто стремится стать профессиональным разработчиком.В настоящее время существует множество бесплатных ресурсов, которые предлагают уроки по Java, от курсов до университетских программ, что делает дост...

В SPEC 2017 обнаружено завышение результатов тестов процессорами Intel Sapphire Rapids Компиляторы oneAPI были адаптированы для SPEC 2017

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

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

Оцифровка бизнес-процессов как неотъемлемая часть современного бизнес-ландшафта «Если вашего бизнеса нет в интернете, то вас нет в бизнесе», – эту фразу Билла Гейтса помнят, пожалуй, все. Она оказалась пророческой: без сети жить может лишь такой бизнес, у которого нет конкурентов. Например, “сельпо” в далёкой деревне, в которой прекрасная продавщица зна...

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

Это база: нюансы работы с Redis. Часть 1 Привет! Меня зовут Петр и мы в компании Nixys очень любим Redis. Эта база используется, если не на каждом нашем проекте, то на подавляющем большинстве. Мы работали как с разными инсталляциями Redis, так и с разными версиями, вплоть до самых дремучих, вроде 2.2. Несмотря на т...

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

Как запустить Web3-проект | Часть 1: Коммьюнити-менеджмент и маркетинг Web3 захватывает мир, но для многих это по-прежнему пугающий «black box», который работает по неведомым законам и таит много сложностей. Чтобы в очередной раз доказать, что не так страшен чёрт, как его малюют, я написал обстоятельный гайд по запуску Web3-проектов. В первую о...

[recovery mode] Домашняя лаба. Как собрать домашнюю инфраструктуру мечты Мой первый опыт на Хабре получился не очень положительным, и, признаюсь, до сих пор смотря на комментарии и оценки, мне стыдно и больно где-то внутри.Потому в имя исправления ошибок молодости решил написать серию статей о том, как дома собрать свою "идеальную" хранилку, или ...

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

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

[Перевод] Сжимаем текст в изображения PNG (Наверно, это глупая идея. Но иногда даже самые глупые идеи приводят к неожиданным результатам.)Текст шекспировской трагедии «Ромео и Джульетта» состоит примерно из 146 тысяч символов. Благодаря английскому алфавиту каждый символ можно описать одним байтом. Так что размер те...

[recovery mode] Где изучать C# в 2024. Бесплатные курсы и полезные ресурсы Существует несколько причин, почему стоит учить C# в 2024 году через бесплатные курсы:1. Популярность: C# является одним из самых популярных языков программирования, особенно в сфере разработки приложений для платформы Microsoft. Изучение C# открывает двери для работы над ши...

[Перевод] Особенности управления реальными устройствами с точки зрения backend разработчика. Часть 1. Разработка на стенде Началось всё с того, что я захотел повысить мощность двигателя автомобиля установкой компрессора.В процессе понадобилось разобраться с Arduino и написать алгоритмы автоматического управления реальными устройствами, формально - управление всего одним моторчиком, но на практик...

Практическое руководство по Rust. Бонус Hello world! Представляю вашему вниманию бонусную часть практического руководства по Rust. Первая часть Вторая часть Третья часть Четвертая часть Руководство основано на Comprehensive Rust — руководстве по Rust от команды Android в Google и рассчитано на людей, которые ...

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

[Перевод] Введение в трассировку лучей: простой метод создания 3D-изображений. Часть 3 — реализация алгоритма трассировки лучей Предыдущая главаМы узнали всё, что нужно для перехода к практике! Теперь мы готовы написать наш первый трассировщик лучей. Вы уже должны быть в состоянии догадаться, как работает алгоритм трассировки лучей.for (int j = 0; j < imageHeight; ++j) { for (int i = 0; i < ima...

От советских компиляторов до грязных трюков: что поведают на C++ Russia 2024 Завсегдатаи C++ Russia уже хорошо знают некоторых спикеров и ждут их новых докладов. Например, Антона Полухина @antoshkkaa): в 2020-м все смотрели его «Грязные трюки из такси», а недавно — «C++ трюки из userver». Из необычного — серия докладов Петра Советова об автоматизации...

[Хабр, help] Android-разработчица. Как сделать первые шаги? Здравствуйте, я очень долго думала, стоит ли мне регистрироваться на "Хабре" и обращаться, как новичку, по этому вопросу, так как я не первая и не последняя, с подобными запросами.Я хочу стать Android-разработчицей, с нуля.Пожалуйста, укажите с чего начать первые шаги?Пожалу...

Используй Силу, Люк: Single Pane of Glass в Мире SRE Привет, Хабр! Меня зовут Кирилл, я работаю в IT более 13 лет. Сначала инженером по внедрению, потом DevOps, потом SRE, также работал руководителем группы сопровождения. Сейчас SRE в VK Рекламе, поэтому знаю, как важно делать правильные инструменты для анализа проблем. В...

Обзор содержимого voron 2.4 siboor Это будет мой третий принтер. Первый Нептун 3 про- отличная машина (продал).Второй - ворон 0.2 (ещё собираю). О нём тоже напишу обзор, как закончу собирать.Третий- ворон 2.4.Здесь будут только фото содержимого коробки.Сама коробка весит 27 кг. я взял тележку, чтобы до дома д...

Анонимная P2P-база знаний, где никто не может подделать чужое авторство | Магия асимметричных ключей на практике На днях, как это обычно и бывает перед сном, мой мозг решил, что было бы очень забавно перед экзаменом не спать, а заняться брейнштормом. Как результат я получил слитую сессию и безумное желание сделать свой P2P WEB 228.0 — ну вы знаете… Вот вы никогда не задумывались, чт...

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

Как перезагрузиться, пройдя пешком 250 км, или каким был для меня Путь Сантьяго Всем привет! Меня зовут Катя Черных, я бизнес аналитик в Х5 Tech, работаю на продукте Ценообразование. Живу в Москве, со времён ковида работаю удалённо и большую часть дня провожу дома. Поэтому к планированию отпуска отношусь серьёзно, стараюсь уезжать подальше из своего дом...

[Перевод] Исследователи приблизились к новому пределу скорости решения задачи коммивояжера Целочисленное линейное программирование может помочь найти ответ на множество реальных проблем. Теперь исследователи нашли гораздо более быстрый способ это сделать.   Задача коммивояжера — одна из старейших известных вычислительных задач. Она заключается в поиске к...

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

Образование для гуманитариев: попробуй выжить Я прошла через журфак СПбГУ, и я желаю всем мужчинам пройти… В конце первого курса собиралась отчислиться, но меня остановила мама — сказала, что без диплома я сразу стану наркоманкой. Мне такой вариант развития событий не подходил, потому еще 3 года я знатно охреневала от с...

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

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

Сам себе экосистема. Часть 4: как я реализовал клиент Telegram на Android-смартфоне 14-летней давности? С момента выхода первой части статьи из рубрики «сам себе экосистема» прошёл уже практически год! За это время, мы успели с вами реализовать клиенты VK и YouTube, которые работают на Android 2.2+, а также на Windows Phone 8, написать небольшую 2D-игру с нуля весом менее 1М...

[recovery mode] Как вести несколько проектов и не сойти с ума. Очередная статья про тайм-менеджмент Привет! Меня зовут София, я маркетолог проекта Fitil, в блоге которого публикую эту статью. Fitil — это сообщество для знакомств и общения. Мы стартап, а значит, задач очень много.Кроме Fitil я веду ещё два проекта как маркетолог: занимаюсь позиционированием, запусками ...

UML: обзор основных типов диаграмм, диаграмма объектов. Часть 3 Хабр, привет! В прошлых статьях про UML (Часть 1, Часть 2) мы узнали что такое язык моделирования UML и зачем он нужен, а также рассмотрели диаграмму классов и диаграмму компонентов. Сегодня я хочу продолжить тему проектирования процессов и остановиться на диаграмм...

Гайд по фарму 1,000 XP в Helldivers 2 за 5 минут Прокачка в Helldivers 2 даёт доступ к новым технолог mortar sentry иям и пушкам, но так как не все могут целыми днями сидеть перед экраном и фармить XP, игроки нашли быстрый и простой способ. Для начала нужно создать группу с друзьями минимум из 2 человек. Оптимально создат...

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

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

[Перевод] Абсолютный минимум об Unicode на 2023 год (всё ещё — никаких оправданий!) Двадцать лет назад Джоэл Спольски написал: «Не существует такой штуки, как «обычный текст». Если имеется строка, но неизвестно, какую кодировку символов она использует — смысла в этой строке нет. Больше нельзя спрятать голову в песок и притвориться, что «обычный» текст имеет...

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

Ученые разгадали секрет смоленской берестяной грамоты 12 века Ученые разгадали секрет берестяной грамоты, обнаруженной в Смоленске Во время археологических раскопок в Смоленске в конце 60-х годов учеными была обнаружена берестяная грамота с загадочными линиями и знаками, датированная XII веком. Историческую ценность в этой находке приз...

Почему мир Hogwarts Legacy похож на цветной картон (Часть I) Думаю, каждый вспомнит с наскоку несколько историй из Ведьмака, Дизонорда, Фаллаута. И я говорю не об основных или сайд квестах, а об истории, которые требовали лишь вашего внимания. Где вы сами складывали картинку по предметам во...

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

Верле: разрешаем коллизии (часть 2 — сетка, квадратики) Две сотни частиц слишком мало? Хочется тысячи или десятки тысяч? Тогда пора заменить неадекватно медленный алгоритм поиска коллизий на что-то чуть более изящное Читать далее

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

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

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

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

Мат (часть 8) Что самое главное в шахматах? Конечно МАТ! Именно умение ставить его, искать в любой ситуации путь к мату – определяет способность выигрывать. Если игрок не умеет ставить простейшие маты, не видит их – он просто не сможет выиграть шахматную партию. А еще - у матов есть разли...

RecTools – OpenSource библиотека для рекомендательных систем Если вы когда-либо работали с рекомендательными системами, то знаете, что все необходимые и самые часто используемые инструменты разбросаны по разным библиотекам. Более того, каждая из таких библиотек имеет много уникальных особенностей, к которым нужно приноровиться (наприм...

Делаю игрулю на Playdate на чистом C. Глава 3 Глава 1Глава 2Я пишу игру на игровую консоль Playdate на чистом C. Игра в жанре "выживальщик" наподобие Vampire Survivors. Так как в чистом C отсутствуют многие современные объектно-ориентированные удобства мне приходится по-всякому изворачиваться чтобы адаптировать свои иде...

Использование возможностей Angular. Часть 2 Как работают utility types, для чего они нужны и как использовать в работе. Для чего нужен infer, in, extends Читать далее

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

ChatGPT клиент для MS-DOS Благодаря стараниям ретро энтузиаста Yeo Kheng Meng (очень рекомендую его сайт, много интересного по ретро технике) можно юзать ChatGPT на DOS машинах. Кто владеет языком рекомендую Оригинальный пост на ангельском. Я тестил проект на машине Toshiba T1200, (для которой к слов...

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

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

IR remote control, а без микроконтроллеров можно? Да не вопрос Сколько логических микросхем понадобится для того, чтобы получить полноценный ИК пульт дистанционного управления? Наверняка вам даже в голову не приходил этот вопрос! А в моем воспаленном сознании однажды такой вопрос возник. Если вам приходилось сталкиваться с моими преды...

Как разработчику использовать ChatGPT: разберемся, когда нейросеть помогает, а когда вредит Может показаться, что ChatGPT работает непредсказуемо: то уверенно пишет документацию к коду, то не может решить школьную задачу по математике. Самое опасное, что во втором случае нейросеть умеет ввести в заблуждение. Чтобы понимать, какие задачи можно доверить чат-боту Chat...

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

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

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

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

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

Посмотрел мульт «Царство падальщиков» Давно не видел такой классной научной фантастики. Местный природный мир нарисован просто потрясающе, все эти зверушки и растения, которые непонятно что, но так интересно взаимодействуют — в лучших традициях и чем‑то напоминают советские мульты вроде «Пере...

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

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

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

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

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

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

Плэнер — язык логического программирования для ИИ: что из него получилось Боты под управлением системы GOAP (Goal Oriented Action Planning), источник Плэнер (Planner) — функционально-логический язык программирования, схожий по своему синтаксису с Лиспом. Функциональная часть языка содержит фактически целиком Лисп в качестве подмножества. При этом...

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

[Перевод] Rust — лучший язык для инфраструктуры данных Мир технологий бесконечно цикличен, и за последние несколько лет произошел еще один поворот колеса. Такие проекты, как ScyllaDB и Redpanda, добились успеха, переписав системы с Java (Cassandra и Kafka соответственно) на C++ для повышения производител...

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

Принципы непрерывного рефакторинга Работа со старым кодом для многих команд является частью повседневных обязанностей. За свою карьеру я видел и применял разные способы борьбы с тяжестью легаси. Они обычно сводились к одному из трёх основных сценариев:«Работает — не трогай!»...

[Перевод] Когда Random совсем не случаен Этот пост — рассказ об истории, случившейся больше десятка лет назад; её код был мной утерян. Поэтому прошу простить меня, если я не вспомню точно все подробности. Кроме того, некоторые подробности упрощены, чтобы от этой статьи могли получить все, кому нравится компьютерная...

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

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

Не работает режим модема на iPhone. Что делать Выход каждого нового Айфона ежегодно сопровождается различными проблемами. Но неизменным остается то что режим модема, после официального ухода Apple из России не настраивается автоматически при размещении SIM-карты внутри устройства. Линейка iPhone 15 исключением из правил...

Препарируем Wazuh. Часть 1: Базовая установка Тема SIEM решений с открытым исходным кодом постоянно проявляется на просторах сети. Одних интересуют SIEM системы как таковые, и хочется разобраться в решениях данного класса, но при этом не хочется связываться с тяжелыми и запредельно дорогими коммерческими SIEM. Другие не...

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

Практическое руководство по Rust. 4/4 Hello world! Представляю вашему вниманию четвертую и последнюю часть практического руководства по Rust. Первая часть Вторая часть Третья часть Руководство основано на Comprehensive Rust — руководстве по Rust от команды Android в Google и рассчитано на людей, которые уве...

Создание своего UEFI загрузчика Привет Хабр! Мне 16 лет, я студент, учусь на первом курсе колледжа на программиста. Начал увлекаться низкоуровневым программированием на Ассемблере и C/C++Я заметил что на Хабре есть множество статей о написании своих простых "загрузчиков" для BIOS-MBR, которые выводят на эк...

Open-source ML от Apple Привет, Хабр! После недавнего релиза Apple VIsion Pro я задумался над тем, какой вклад компания внесла в open-source ML, ведь, очевидно, было много предпосылок, наработок и технологий, о которых массовый пользователь не знает. Но все это гарантировано сыграло роль в появлен...

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

5 причин, почему Apple Vision Pro будет бесполезен в России Как только Apple презентовала свой VR-шлем Apple Vision Pro и объявила, что первое время он будет продаваться исключительно в США, некоторые решили, что никакой проблемы с тем, чтобы привезти его в нашу страну и пользоваться всеми его возможностями, не возникнет. Однако все...

[Перевод] Когда Zig круче Rust – массивы перечислений, позволяющие сэкономить память Перечисления (или размеченные объединения), отличающиеся вариативностью и, следовательно, размером, провоцируют в Rust серьёзную фрагментацию памяти. Дело в том, что нам приходится выделять достаточно данных, чтобы их хватило на самый крупный вариант. Читать далее

Сонары, роботы и чем флейта лучше гитары Несколько лет назад мне довелось посетить университет Харви-Мадд, в котором работали Дэвид Харрис и Сара Харрис, авторы известного учебника "Цифровая схемотехника и архитектура компьютера". Cлучайно зашел в комнату, в которой сидела группа студентов и лежало нечто, напоминаю...

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

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

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

Пишем минимальный ActivityPub-сервер с нуля В последнее время, на фоне покупки Twitter Илоном Маском, люди начали искать ему альтернативы — и многие нашли такую альтернативу в Mastodon. Mastodon — это децентрализованная социальная сеть, работающая по модели федерации, как email. Протокол федерации называется Activity...

[Перевод] Челлендж по обработке миллиарда строк на Go: от 1 минуты 45 секунд до 4 секунд Пару недель назад я прочитал о запавшем мне в душу челлендже по обработке миллиарда строк, поэтому захотел решить его на Go.Я немного опоздал, соревнования проводились в январе. И на Java. Меня не особо интересует Java, зато давно интересует оптимизация кода на Go.Этот ...

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