Pull to refresh
182
0
Мичурин Алексей @michurin

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

Send message

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

Reading time5 min
Views10K

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

Читать дальше →
Total votes 15: ↑14 and ↓1+19
Comments3

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

Reading time6 min
Views31K

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


Telegram bot

Читать дальше →
Total votes 12: ↑11 and ↓1+15
Comments10

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

Reading time2 min
Views19K
Тут появился интересная заметка про subj. Первый же вопрос первого тура поставил меня в тупик. Даже не столько вопрос, сколько правильный ответ организаторов. Оказывается ping у них выполняется от рута. На моей системе это не так. Уверен, что если вы пользуетесь достаточно современной системой, то и у вас ping выполняется не от рута.

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

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

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

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

Под катом опрос
Total votes 58: ↑39 and ↓19+20
Comments52

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

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

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



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

но эта не единсвенная странность
Total votes 81: ↑55 and ↓26+29
Comments45

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

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



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

Интрига!
Total votes 184: ↑127 and ↓57+70
Comments46

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

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

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

В этот раз хотел бы взглянуть на вопрос 4.
Читать дальше →
Total votes 60: ↑49 and ↓11+38
Comments35

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

Reading time5 min
Views12K
Недавно разглядывал вакансии одной известной конторы, задумывался над вопросам (которые, кстати, на всех их вакансиях одинаковые). И решил написать заметку по самому интересному (на мой взгляд) аспекту первого же вопроса. Может быть доберусь и до других, а пока предлагаю задуматься, надо ли делать деструкторы виртуальными?

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

Каким же должен быть полный ответ на вопрос про деструкторы?
Читать дальше →
Total votes 67: ↑52 and ↓15+37
Comments51

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

Reading time4 min
Views3.8K
Похоже, что это входит в привычку — раз в полгода я выкладываю в opensource какую-нибудь свою поделку.

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

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

  • Предсказуемое поведение фигур. Что-то типа физики. На пример, если вы хотите повернуть фигуру, а стенка ей мешает, то фигура подвинется. В разумных, конечно, пределах.
  • Скины.
  • Регулируемый размер поля.
  • Просто постарался придать этому делу приятный вид
Читать дальше →
Total votes 140: ↑129 and ↓11+118
Comments102

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

Reading time5 min
Views12K
Большинство работодателей на собеседовании дадут вам возможность задать любые вопросы. Это отличный шанс определить, хорош ли работодатель и стоит ли на него работать. Одной из смертельных болезней для коллектива является имитация бурной деятельности (далее ИБД). Она возникает там, где руководство заключается не в координировании работ, а заменено формальным контролем, где коллектив топчется на месте, десятками лет не получая новых задач, где нет места вашему стремлению к новым технологиям, где вы не научитесь ничему новому. Интрига усиливается тем обстоятельством, что имитатор никогда не признается, что он лишь имитирует работу. Наоборот, он будет напускать на себя и свою деятельность важность. Лишь когда вы поваритесь в коллективе годик, вы поймёте, что не надо было сюда идти, что вы просто теряете время. Но есть несколько простых признаков, по которым можно легко вычислить болезнь. О них эта заметка.
Читать дальше →
Total votes 203: ↑130 and ↓73+57
Comments131

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

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

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

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

Читать дальше →
Total votes 68: ↑59 and ↓9+50
Comments85

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

Reading time2 min
Views4.9K
Picamatic - upload your imagesНа хабре уже было множество статей о том, как безопасно передать данные, защитив канал, или зашифровав файл с данными. Но часто хранить данные в файле не очень удобно (например, в файле не удобно хранить SVN-репозиторий, или maildir с почтой).

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

Читать дальше →
Total votes 35: ↑28 and ↓7+21
Comments25

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

Reading time1 min
Views709
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 (беспроводные системы связи).

И ещё огромное количество не менее инересных изменений!
Total votes 63: ↑56 and ↓7+49
Comments33

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

Reading time1 min
Views726
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
Total votes 56: ↑51 and ↓5+46
Comments36

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

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

когда и какой метод будет вызываться?
Ночью было время подумать.
Total votes 46: ↑39 and ↓7+32
Comments39

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

Reading time2 min
Views854
upd5: Уязвимость ликвидировали, но топик удалять не буду, ибо обсуждение интересней топика :-)

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



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

zoclock 1.2.0

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

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

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

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

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

Вопросы!
Total votes 197: ↑171 and ↓26+145
Comments189

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

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

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

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

Читать дальше →
Total votes 171: ↑158 and ↓13+145
Comments86

zoclock 1.1.0

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

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity