Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Как устроены массивы в PHP и как код влияет на скорость работы с ними

Уровень сложностиСложный
Время на прочтение11 мин
Охват и читатели13K

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

Читать далее

Создаём личную систему VoIP

Уровень сложностиПростой
Время на прочтение22 мин
Охват и читатели22K

Я всегда был активным сторонником самохостинга, но ни разу не пробовал ничего, связанного с VoIP. Недавно я приобрёл несколько IP-телефонов и создал личную домашнюю телефонную сеть на основе Asterisk. Это руководство поможет вам настроить собственную телефонную систему при помощи опенсорсных инструментов.

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

Читать далее

Эпоха групповых чатов. Негласные правила, динамика, модерация

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели10K

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

Соцсети умерли, а те, что осталось, похоже на ходячих мертвецов... А где кипит настоящая жизнь? Конечно, в групповых чатах мессенджеров! Словно возродились старые домовые сети. Воистину, история идёт по кругу.

Читать далее

Технологии из прошлого: телетайп. Разбираемся в устройстве, воскрешаем старый аппарат

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели15K

Телетайп, телепринтер (teletype, TTY) — стартстопный приемо‑передающий телеграфный аппарат с клавиатурой, аналогичной пишущей машинке. В отличие от обычного телеграфа, где сообщение передается посимвольно, с помощью точек и тире, этот аппарат позволяет передавать текстовое сообщение, просто набирая его на клавиатуре. Также аппарат может принимать сообщение, печатая его на бумаге. Девайс широко применялся в качестве терминальных устройств вычислительной техники на заре ее становления. Благодаря этому факту эта технология оставила много артефактов в истории IT, многие из которых сохранились и до настоящего времени. Это различные компьютерные терминалы, терминалы tty в Linux, некоторые команды терминала и даже известный многим электронщикам и программистам интерфейс UART.

Читать далее

Локальные LLM модели: обзор и тестирование

Уровень сложностиСредний
Время на прочтение33 мин
Охват и читатели49K

В ★5УГЛОВ мы часто работаем с языковыми моделями — как облачными, так и локальными. И если про онлайн‑сервисы знают все, то локальные LLM до сих пор остаются недооцененным инструментом. Я решил поделиться личным опытом: какие модели можно запускать прямо на ПК, чем они полезны и зачем их вообще использовать в реальных проектах.

Большие языковые модели (Large Language Model, LLM) уже давно не являются громоздкими программными продуктами, закрытыми от пользовательских доработок и требующими огромных вычислительных мощностей. Многие ИИ можно скачать и запустить на обычном компьютере без интернета. Популярны так называемые «дистиллированные» модели — сжатые версии основных нейросетей, имеющие меньше параметров. Они требуют меньше ресурсов и могут работать даже на не самых мощных настольных ПК или ноутбуках. За последнее время локальные ИИ заметно улучшились: они стали быстрее, стабильнее и качественнее. Если раньше многие из них стремились отвечать по‑китайски (если явно не указать язык), то сегодня выбор значительно шире и работать с ними удобнее. Попробуем оценить самые популярные на разных задачах и выбрать лучшую.

Читать далее

Промптинг и суеверия. Что (не) надо добавлять к запросу в ChatGPT

Уровень сложностиПростой
Время на прочтение28 мин
Охват и читатели45K

Американцы обожают играть на деньги и смотреть красочное шоу. Это самое примитивное и оттого ошибочное объяснение популярности программы The Price Is Right. Если вы никогда не видели эту передачу дневного американского телевидения, представьте себе многолетнюю светскую церемонию потребления, где зрителей зовут на сцену и награждают за умение ориентироваться в ценниках. Зритель из зала слышит заветную фразу «Come on down!», выбегает к подиуму и соревнуется в угадывании стоимости бытовых товаров.

Впервые формат появился в 50-х годах прошлого века, а в 1972 году The Price Is Right подобновили и начали транслировать днём по будням на канале CBS. Но идёт передача не в прайм-тайм, а в 10:00 или 11:00 утра. Несмотря на её странное время показа, знакома она всем американцам. Смотрят её не только пенсионеры и домохозяйки, её хотя бы раз видели затемпературившие дети, которые вместо школы остались дома.

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

Читать далее

DIY Open Source принтер. Часть 0

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели14K

Привет, Хабровчане! Этот цикл (надеюсь) статей будет посвящён моему пути в создании своего собственного решения по струйной печати. Это будет что-то вроде блога или дневника разработчика в котором постараюсь изучить как же всё таки работает печатающая головка у принтера и как ей можно управлять с помощью микроконтроллера. А также нас ждёт интригующий ответ на вопрос: "Если ли место DIY и OpenSourse в мире струйной печати".

Читать далее

Механизм запуска процесса в Linux

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели15K

В этой статье я расскажу о том, что происходит внутри ядра Linux, когда процесс вызывает execve(), как ядро подготавливает стек и как затем передаёт управление пользовательскому процессу для выполнения.

Изучил я этот механизм, когда разрабатывал Zapper — инструмент Linux, удаляющий все параметры командной строки из любого процесса без прав root.

Читать далее

Умное зеркало на Raspberry Pi: пошаговое руководство

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели18K

А давайте соберем умное зеркало на базе одноплатного компьютера Raspberry Pi и программной экосистемы MagicMirror! Оно нам будет показывать погоду, время, записи из календаря и любую другую информацию — для платформы доступны сотни бесплатных модулей с открытым исходным кодом.

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

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

Читать далее

Наше расследование: ищем отечественные микросхемы в «отечественных» счетчиках электроэнергии. Часть 8

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели23K

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

Читать далее

Модернизация древнего драйвера Linux с помощью Claude Code

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели18K

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

Читать далее

Я — идеальный программист

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели33K

Я — идеальный программист. Не помню себя таким, чтобы не хотел быть программистом. Задачки с двумя звёздочками, уроки информатики, олимпиады, домашний ПК раньше, чем у остальных — всё шло к моей профессии. Я был твёрдо убеждён в необходимости базового математического образования и получил его. Для меня программирование — это не ремесло, а искусство, помноженное на математику. Каждое утро я читаю Хабр и спецификации языков программирования. Пока чищу зубы, пролистываю профессиональные телеграм‑каналы.

Читать далее

Кастомные флейворы, интеграция с сервисом логов в DBaaS и другие апдейты августа в продуктах Selectel

Время на прочтение3 мин
Охват и читатели7K

В августе мы добавили аддоны в Managed Kubernetes, обновили конфигурации выделенных серверов и парольную политику в IAM. И не только. Все подробности — под катом.

Читать далее

Ближайшие события

Забавные названия математических теорем

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели23K

Известно, что математики - это устройства, трансформирующие кофе в теоремы. Много кофе в большое количество теорем. Чтобы их различать, им дают названия. Часто по имени авторов ("Теорема Ху", "Теорема Банаха-Алаоглу"); иногда, если авторы плодовитые, - просто по номеру (так и говорят: "Теорема 3.4 из [Tarjan '97]"). Иногда дают пафосные названия ("Основная Теорема Арифметики", "Центральная Предельная Теорема"). Если совсем нет идей, называют по содержанию ("Теорема о существовании и единственности решения дифференциального уравнения").
Но иногда теоремам дают забавные и смешные названия, которые приживаются в фольклоре и изучаются в вузах. Я хочу поделиться с вами некоторыми из них; парочка широко известна, еще несколько могут быть знакомыми выпускникам математических вузов, и пара из моей личной коллекции, возможно, будет вам неизвестна.

Читать далее

Реальна ли 3D-печать металлом на дому?

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели22K

Картинка: macrovector, freepik

Все знают, что 3D-печать металлом — это «дорого и вообще, в целом, сложно». 

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

Согласитесь, что иметь возможность печатать металлом с той же лёгкостью, с которой многие осуществляют печать на домашних 3D-принтерах — это стоит того! 

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

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

Несмотря на то что звучит смешно, по сути это грустно. На первый взгляд доступность вроде бы сохраняется: то и дело мелькают рекламные цифры вроде «печать одного кубического сантиметра за 70 руб., 90 руб. и т.д.», но при непосредственном контакте выясняется, что «минимальный заказ должен быть на 50 000 руб., без учёта оснастки» и т.д.

Но есть хорошая альтернатива (хотя и не без нюансов): электрохимическое аддитивное производство!

Читать далее

Как мы обманули Mozilla и почти взломали коллег

Время на прочтение9 мин
Охват и читатели14K

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели22K

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

Читать далее

DOOMQL: DOOM-подобный многопользовательский шутер на чистом SQL

Время на прочтение10 мин
Охват и читатели24K

Недавно я набрёл на шедевр Патрика — клон DOOM, основанный на DuckDB-WASM и работающий в браузере. Прочитав о нём, я решил  довести  эту великолепную идею до логического завершения: написать многопользовательский DOOM-подобный шутер целиком на SQL. При этом всю тяжёлую работу хотел сделать через базу данных CedarDB. Отлучившись с работы в месячный отпуск по уходу за ребёнком (бессонных ночей хватало), я попытался сделать именно это.

Вот вам тизер DOOMQL:

Читать далее

161-ФЗ и апелляция на Bybit: как я победил треугола

Время на прочтение14 мин
Охват и читатели35K

После прошлой cтатьи «Блеск и ад p2p-торговли на Bybit» стало ясно, что хабравчанам тема очень интересна. И поэтому мы продолжаем разговор о треуголах, апелляциях, 161-ФЗ и Bybit.

Читать далее

Post-PHP эра: куда движется веб-разработка?

Время на прочтение6 мин
Охват и читатели20K

Привет, хабровчане! Я Алиса — тимлид в e-commerce-агентстве KISLOROD, по базовой профессии — сеньор PHP-разработчик с десятилетним стажем. И да, спойлер: PHP не только жив, он бодро бегает марафоны.

По данным W3Techs, PHP работает на более чем 76% серверов, где известен язык бэкенда. Последние релизы стабильно приносят +20–25% производительности на версию — на фоне вечного рефрена «PHP умер». Удобно хоронить то, чьи обновления не открывал с 2012-го, верно? Давайте разбираться.

Читать далее