Как стать автором
Обновить
182
0
Мичурин Алексей @michurin

Разработчик ПО

Отправить сообщение

Разбираемся в новом роутинге в Go 1.22

Время на прочтение5 мин
Количество просмотров10K

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

Читать дальше →

Как превратить любой скрипт в Telegram-бота

Время на прочтение6 мин
Количество просмотров31K

Если вам нужен простенький Telegram bot, способный выполнять скрипты (написанные на любом языке) и отвечать текстом и картинками, то вам под кат. Там вы найдёте рассказ о бот-движке, который делает то, что вам надо.


Telegram bot

Читать дальше →

Re: Отчёт и задания со всероссийской олимпиады по администрированию Linux-систем

Время на прочтение2 мин
Количество просмотров19K
Тут появился интересная заметка про subj. Первый же вопрос первого тура поставил меня в тупик. Даже не столько вопрос, сколько правильный ответ организаторов. Оказывается ping у них выполняется от рута. На моей системе это не так. Уверен, что если вы пользуетесь достаточно современной системой, то и у вас ping выполняется не от рута.

Дело в том, что в Linux ещё с прошлого тысячелетия(!) существует такая штука, как capabilities. В man capabilities написано так мало, что даже и пересказать-то нечего: с помощью команды setcap можно устанавливать исполняемым файлам права на испольование разных подсистем без рутовых прав. В частности, для ping достаточно только прав CAP_NET_RAW. Существует масса подборок советов, как избавиться от suid-бита для различных системных программ.

Жаль, что люди, которые пользуются современными системами и держат руку на пульсе развития Linux, не имели ни единого шанса пройти даже первый тур этой олимпиады.

Динара Сафина, первая ракетка мира, между прочим, (фотка отсюда) тоже потрясена.

Всем счастливой пятницы!

Под катом опрос

Читают ли в Google свои собственные соглашения?

Время на прочтение2 мин
Количество просмотров29K
Я активно пользуюсь самыми разными сервисами Google. Периодически, мне предлагается принять новое соглашение. Вот и сейчас, я уже несколько дней не имею доступа к своим приложениям в Google App Engine потому, что никак не решаюсь согласиться с соглашением.

Но начнём слегка издалека. Вот, как начиналось предыдущее соглашение:



Здесь и далее, выделение моё, URLы на скриншотах оставлены специально, они все работают. Браузер — последний Хром.

но эта не единсвенная странность

Кому МТС доверяет свою рекламу

Время на прочтение2 мин
Количество просмотров2.1K
Случилась со мной история. Зашёл я сутра (кофе ещё не пил) в web-интерфейс Gmail, а меня отредиректило на какую-то порнуху:



Покровы буду сорваны во второй части, а пока…

Интрига!

Ветвления. Что с ними можно сделать

Время на прочтение11 мин
Количество просмотров8.3K
Мой прошлый пост вызвал огромный резонанс. Комментариев было не много, но я получил множество писем, а некоторые читатели выступили даже с открытыми заявлениями (там, правда, преобладают наезды на меня лично и на хабр в целом, но есть и мысли по существу вопроса). Поэтому я решил продолжить писать в жанре «мои мысли по поводу вопросов известной компании». Этим постом я постараюсь решить две задачи: (i) ответить на вопросы и возражения читателей предыдущего поста и (ii) толкнуть в некотором смысле философскую мысль о безIFовом программировании. Букв получилось довольно много, но те, кому интересно только что-то одно из поста, могут пропустить половину.

И ещё: этот топик (как и прошлый) — не наезд ни на кого. Просто интересно порассуждать об интересных вопросах. Здесь нет подтекста, намёка, вызова. Параноиков и сторонников теорий заговоров попрошу расслабиться.

В этот раз хотел бы взглянуть на вопрос 4.
Читать дальше →

Как безопасно разрушить объект. И другие мысли

Время на прочтение5 мин
Количество просмотров12K
Недавно разглядывал вакансии одной известной конторы, задумывался над вопросам (которые, кстати, на всех их вакансиях одинаковые). И решил написать заметку по самому интересному (на мой взгляд) аспекту первого же вопроса. Может быть доберусь и до других, а пока предлагаю задуматься, надо ли делать деструкторы виртуальными?

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

Каким же должен быть полный ответ на вопрос про деструкторы?
Читать дальше →

Шестиугольный тетрис

Время на прочтение4 мин
Количество просмотров3.8K
Похоже, что это входит в привычку — раз в полгода я выкладываю в opensource какую-нибудь свою поделку.

В этот раз я представляю на суд и удовольствие общественности клон тетриса. Шестиугольный.

Идея игры, думаю, всем знакома. Я постарался придать ей вкусную реализацию. Это:

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

Что спросить работодателя на собеседовании, чтобы не попасть в болото

Время на прочтение5 мин
Количество просмотров12K
Большинство работодателей на собеседовании дадут вам возможность задать любые вопросы. Это отличный шанс определить, хорош ли работодатель и стоит ли на него работать. Одной из смертельных болезней для коллектива является имитация бурной деятельности (далее ИБД). Она возникает там, где руководство заключается не в координировании работ, а заменено формальным контролем, где коллектив топчется на месте, десятками лет не получая новых задач, где нет места вашему стремлению к новым технологиям, где вы не научитесь ничему новому. Интрига усиливается тем обстоятельством, что имитатор никогда не признается, что он лишь имитирует работу. Наоборот, он будет напускать на себя и свою деятельность важность. Лишь когда вы поваритесь в коллективе годик, вы поймёте, что не надо было сюда идти, что вы просто теряете время. Но есть несколько простых признаков, по которым можно легко вычислить болезнь. О них эта заметка.
Читать дальше →

Морской бой с искусственным интеллектом — по-честному

Время на прочтение5 мин
Количество просмотров12K
screen.png - upload images with PicamaticРаз пошла такая пьянка (respect!), решил выложить в opensource свою поделку — игру в морской бой. Проект хостится на googlecode. Там есть SVN. Кроме того, исходники и виндовую сборку можно забрать прямо с моего домашнего компа (почему так — под катом). Основные фичи:
  • написан на Qt — запускается где угодно (причём используются только базовые возможности, вам не придётся доустаналивать какой-нибудь QSvgRenderer)
  • имеет несколько вариантов правил (нужны ещё? — пишите! :-))
  • играет честно (то есть, при выдумывании хода, компьютер не подглядывает в ваше поле)
  • автоматическая и ручная расстановка кораблей и прочие мелочи
Собственно, это всё, что я отдаю человечеству, но… взамен я надеюсь на некоторый feedback ,-)

<upd> Осторожно — хабрэффект! :-)
Коллеги! Сейчас с моего домашнего компа одновременно идёт более сотни скачиваний (обслуживается более ста соединений). Скачивание виндового дистрибутива может занять 10-20 минут, не все браузеры это выдерживают :-) Пользуйтесь даунлоадилками, или подождите спада хабраэффекта.
Ещё раз приношу извининея. Никак не мог ожидать такого качалова. Уже более 1000 скачианий :-). Жду ваших комментариев. Спасибо!</upd>

<upd2>
Вывалил наспех :-)
Можно взять всё не из дома!
Сорци
Под винду
(из дома скачали уже больше 3000 копий :-) я ожидал, ну максимум 100 :-))
</upd2>

Читать дальше →

Шифрованная файловая система в файле: готовый рецепт

Время на прочтение2 мин
Количество просмотров4.9K
Picamatic - upload your imagesНа хабре уже было множество статей о том, как безопасно передать данные, защитив канал, или зашифровав файл с данными. Но часто хранить данные в файле не очень удобно (например, в файле не удобно хранить SVN-репозиторий, или maildir с почтой).

Под катом ещё одно решение, которое я нахожу весьма удобным, возможно оно пригодится ещё кому-то.

Читать дальше →

Официально вышел релиз FreeBSD 8.0. Основные новшества:

Время на прочтение1 мин
Количество просмотров711
FreeBSD 8.0!Более эффективная система блокировок — MPSAFE (Multi Processor Safe). Работы над этой системой шли 4 года(!). На MPSAFE переведены и подсистемы TTY и Newbus (архитектура для написания драйверов устройств).

Режим эмуляции Linux переведен на ядро 2.6.16.

Виртуализация сетевого стека vimage. Это позволяет обеспечить поддержку на одной машине нескольких изолированных стеков. Система значительно расширяет сетевую функциональность jail-ов. В каждом jail-е можно делать всё своё — собственные PF, ipfw, dummynet, IPSec, маршрутизация…

Новый USB-стек:
* Решены проблемы с паникой ядра при извелечении USB-устройств без их отмонтирования (дождались! :-))
* Утилита usbconfig, для настройки USB устройств
* Новый USB API и режим совместимости с Linux
* И множество других дополнений

Значительно доработана подсистема CAM (унифицированный интерфейс для драйверов SCSI-устройств).

Значительно дработана net80211 (беспроводные системы связи).

И ещё огромное количество не менее инересных изменений!

Добрая весть! На ftp появилась FreeBSD 8.0-RELEASE

Время на прочтение1 мин
Количество просмотров728
FreeBSD_logo2.gif.jpeg - upload images with PicamaticНе взирая на предсказания, похоже, восьмёрка появилась!
ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/8.0-RELEASE/
Так же доступны образы и всё это для всех платформ.
Началось расползание по зеркалам.
upd: на отечественном зеркале ftp://ftp.ru.freebsd.org/pub/FreeBSD/releases/i386/8.0-RELEASE/
upd2: ссылочки, прямиком на исошники:
на ftp.ru.freebsd.org
на ftp1.ru.freebsd.org
Спасибо за совет rolltin

Тонкости перегрузки методов по константности *this

Время на прочтение4 мин
Количество просмотров4K
dress11.jpg - image uploaded to PicamaticОбнаружил, что есть аспект работы C++, о котором я раньше как-то не задумывался. А именно: если у вас есть две реализации одного метода (перегрузка), отличающихся константностью *this:
    int & v();
    const int & v() const;

когда и какой метод будет вызываться?
Ночью было время подумать.

Введен в строй сайт Perl.org — первые дыры (upd: уже заткнули)

Время на прочтение2 мин
Количество просмотров858
upd5: Уязвимость ликвидировали, но топик удалять не буду, ибо обсуждение интересней топика :-)

Введен в строй новый сайт perl.org, полный пошлейших XSS дырок. Первая же проверка обнаруживает дыру!



Судя по заголовкам, хостится на каком-то старье:
Server: Apache/1.3.33 (Unix) mod_perl/1.29
Про дизайн я молчу, скриншот сделан в FF3, видны сразу два разъехавшися элемента.
Куда катится мир?? 8-O
Читать дальше →

zoclock 1.2.0

Время на прочтение1 мин
Количество просмотров444
Обновился zoclock.
Новшества:
  • Пофиксены опечатки.
  • Всплывающая подсказка изначально имеет системные цвета и шрифт (зависит от вашей системы); потом её конечно можно перенастроить, как и раньше.
  • В подсказке можно включить отображение даты.
  • И, о да! Я собрал таки это дело под Windows :-) Сборка статическая и ооочень тяжёлая (3M в архиве).
Как и ранее есть сорци, и есть два deb-a, собранных под Ubuntu 9 и под Ubuntu 8. Желающие, могут взять исходники из SVN (там те же сорци, плюс файлы для сборки deb-ов).
Версия 1.2.0 представляется мегастабильной. Я зарегился на qt-apps и там народ плюсует ZOClock. В общем, нареканий никаких нет.
Ну больше добавить нечего, если кто-то пропустил момент, когда я обезумел, то может почитать о нём здесь :-)

Что меня спрашивали на собеседовании

Время на прочтение2 мин
Количество просмотров9.8K
sobesedovanie.jpg - image uploaded to PicamaticНе буду называть имён компаний. К её чести надо сказать, что это действительно лидер в своём деле, достигший нешуточных успехов. Стоит отметить прекрасный уютный офис, совершенно вменяемый HR (что было очень приятно), множество бонусов (страховки, тренажёры, обучение...) для сотрудников.

Всё было очень мило. И всем действительно большое спасибо.

Но мне хотелось бы сказать о том, что меня действительно поразило!

Вопросы!

Осторожно! Регекспы!

Время на прочтение4 мин
Количество просмотров8.8K
8341.jpg - image uploaded to PicamaticЧасто ли вы используете регулярные выражения? Задумываетесь ли вы о том, на сколько оправдано их использование? Каковы альтернативы, каковы возможности и ограничения? Какова цена применения регекспа?

Я уже давно и часто замечаю, что люди (особенно из мира Perl) склонны мистифицировать регулярные выражения, наделяя их (в своём сознании) универсальными сверх-способностями.

Настоящей статьёй, я призываю одуматься задуматься.

Читать дальше →

zoclock 1.1.0

Время на прочтение2 мин
Количество просмотров544
zoc110.png - Picamatic - upload your imagesМоя скромная программа zoclock, о которой я недавно писал, вызвала неожиданно большой интерес. Такого резонанса не вызвал ещё ни один мой топик, я получил не только массу комментариев и предложений, но множество приватных сообщений! И вот (на много позже обещанного :-)) я выкладываю новую версию, в которой учтены многие пожелания, среди которых
  • режимы отображения часов: 1-12, 1-12+am/pm, 0-23
  • всплывающая подсказка
  • возможность показа unixtime
  • возможность переключения на шестнадцатеричную систему
  • множество дополнительных настроек
  • режим «поверх других окон» (появился ещё в v.1.0.1)
Кроме того, подготовлены deb-пакеты, упрощена процедура сборки и внутренняя архитектура организация кода.
Под катом скришоты и благодарности благодарности
1

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность