В начале февраля 2024 года вышел Go 1.22. Вот, что нового и интересного принёс новый релиз: сделали более безопасное поведение переменных в циклах, добавили функции-итераторы в качестве rangefunc-эксперимента и улучшили шаблоны роутинга. В этой статье я сфокусируюсь на последнем, самом долгожданном, для многих, обновлении — шаблонах http-роутинга.
Мичурин Алексей @michurin
Разработчик ПО
Как превратить любой скрипт в Telegram-бота
6 min
31KTutorial
Если вам нужен простенький Telegram bot, способный выполнять скрипты (написанные на любом языке) и отвечать текстом и картинками, то вам под кат. Там вы найдёте рассказ о бот-движке, который делает то, что вам надо.
+15
Re: Отчёт и задания со всероссийской олимпиады по администрированию Linux-систем
2 min
19KТут появился интересная заметка про subj. Первый же вопрос первого тура поставил меня в тупик. Даже не столько вопрос, сколько правильный ответ организаторов. Оказывается ping у них выполняется от рута. На моей системе это не так. Уверен, что если вы пользуетесь достаточно современной системой, то и у вас ping выполняется не от рута.
Дело в том, что в Linux ещё с прошлого тысячелетия(!) существует такая штука, как capabilities. В man capabilities написано так мало, что даже и пересказать-то нечего: с помощью команды setcap можно устанавливать исполняемым файлам права на испольование разных подсистем без рутовых прав. В частности, для ping достаточно только прав CAP_NET_RAW. Существует масса подборок советов, как избавиться от suid-бита для различных системных программ.
Жаль, что люди, которые пользуются современными системами и держат руку на пульсе развития Linux, не имели ни единого шанса пройти даже первый тур этой олимпиады.
Динара Сафина, первая ракетка мира, между прочим, (фотка отсюда) тоже потрясена.
Всем счастливой пятницы!
Дело в том, что в Linux ещё с прошлого тысячелетия(!) существует такая штука, как capabilities. В man capabilities написано так мало, что даже и пересказать-то нечего: с помощью команды setcap можно устанавливать исполняемым файлам права на испольование разных подсистем без рутовых прав. В частности, для ping достаточно только прав CAP_NET_RAW. Существует масса подборок советов, как избавиться от suid-бита для различных системных программ.
Жаль, что люди, которые пользуются современными системами и держат руку на пульсе развития Linux, не имели ни единого шанса пройти даже первый тур этой олимпиады.
Динара Сафина, первая ракетка мира, между прочим, (фотка отсюда) тоже потрясена.
Всем счастливой пятницы!
+20
Читают ли в Google свои собственные соглашения?
2 min
29KЯ активно пользуюсь самыми разными сервисами Google. Периодически, мне предлагается принять новое соглашение. Вот и сейчас, я уже несколько дней не имею доступа к своим приложениям в Google App Engine потому, что никак не решаюсь согласиться с соглашением.
Но начнём слегка издалека. Вот, как начиналось предыдущее соглашение:
Здесь и далее, выделение моё, URLы на скриншотах оставлены специально, они все работают. Браузер — последний Хром.
Но начнём слегка издалека. Вот, как начиналось предыдущее соглашение:
Здесь и далее, выделение моё, URLы на скриншотах оставлены специально, они все работают. Браузер — последний Хром.
+29
Кому МТС доверяет свою рекламу
2 min
2.1KСлучилась со мной история. Зашёл я сутра (кофе ещё не пил) в web-интерфейс Gmail, а меня отредиректило на какую-то порнуху:
Покровы буду сорваны во второй части, а пока…
Покровы буду сорваны во второй части, а пока…
+70
Ветвления. Что с ними можно сделать
11 min
8.3KМой прошлый пост вызвал огромный резонанс. Комментариев было не много, но я получил множество писем, а некоторые читатели выступили даже с открытыми заявлениями (там, правда, преобладают наезды на меня лично и на хабр в целом, но есть и мысли по существу вопроса). Поэтому я решил продолжить писать в жанре «мои мысли по поводу вопросов известной компании». Этим постом я постараюсь решить две задачи: (i) ответить на вопросы и возражения читателей предыдущего поста и (ii) толкнуть в некотором смысле философскую мысль о безIFовом программировании. Букв получилось довольно много, но те, кому интересно только что-то одно из поста, могут пропустить половину.
И ещё: этот топик (как и прошлый) — не наезд ни на кого. Просто интересно порассуждать об интересных вопросах. Здесь нет подтекста, намёка, вызова. Параноиков и сторонников теорий заговоров попрошу расслабиться.
В этот раз хотел бы взглянуть на вопрос 4.
И ещё: этот топик (как и прошлый) — не наезд ни на кого. Просто интересно порассуждать об интересных вопросах. Здесь нет подтекста, намёка, вызова. Параноиков и сторонников теорий заговоров попрошу расслабиться.
В этот раз хотел бы взглянуть на вопрос 4.
+38
Как безопасно разрушить объект. И другие мысли
5 min
12KНедавно разглядывал вакансии одной известной конторы, задумывался над вопросам (которые, кстати, на всех их вакансиях одинаковые). И решил написать заметку по самому интересному (на мой взгляд) аспекту первого же вопроса. Может быть доберусь и до других, а пока предлагаю задуматься, надо ли делать деструкторы виртуальными?
Ответ не так уж однозначен, и чтобы заманить вас под кат скажу, что в реализации STL вы обнаружите всего несколько виртуальных деструкторов.
Каким же должен быть полный ответ на вопрос про деструкторы?
Ответ не так уж однозначен, и чтобы заманить вас под кат скажу, что в реализации STL вы обнаружите всего несколько виртуальных деструкторов.
Каким же должен быть полный ответ на вопрос про деструкторы?
+37
Шестиугольный тетрис
4 min
3.8KПохоже, что это входит в привычку — раз в полгода я выкладываю в opensource какую-нибудь свою поделку.
В этот раз я представляю на суд и удовольствие общественности клон тетриса. Шестиугольный.
Идея игры, думаю, всем знакома. Я постарался придать ей вкусную реализацию. Это:
В этот раз я представляю на суд и удовольствие общественности клон тетриса. Шестиугольный.
Идея игры, думаю, всем знакома. Я постарался придать ей вкусную реализацию. Это:
- Предсказуемое поведение фигур. Что-то типа физики. На пример, если вы хотите повернуть фигуру, а стенка ей мешает, то фигура подвинется. В разумных, конечно, пределах.
- Скины.
- Регулируемый размер поля.
- Просто постарался придать этому делу приятный вид
+118
+65
Что спросить работодателя на собеседовании, чтобы не попасть в болото
5 min
12KБольшинство работодателей на собеседовании дадут вам возможность задать любые вопросы. Это отличный шанс определить, хорош ли работодатель и стоит ли на него работать. Одной из смертельных болезней для коллектива является имитация бурной деятельности (далее ИБД). Она возникает там, где руководство заключается не в координировании работ, а заменено формальным контролем, где коллектив топчется на месте, десятками лет не получая новых задач, где нет места вашему стремлению к новым технологиям, где вы не научитесь ничему новому. Интрига усиливается тем обстоятельством, что имитатор никогда не признается, что он лишь имитирует работу. Наоборот, он будет напускать на себя и свою деятельность важность. Лишь когда вы поваритесь в коллективе годик, вы поймёте, что не надо было сюда идти, что вы просто теряете время. Но есть несколько простых признаков, по которым можно легко вычислить болезнь. О них эта заметка.
+57
Морской бой с искусственным интеллектом — по-честному
5 min
12KРаз пошла такая пьянка (respect!), решил выложить в opensource свою поделку — игру в морской бой. Проект хостится на googlecode. Там есть SVN. Кроме того, исходники и виндовую сборку можно забрать прямо с моего домашнего компа (почему так — под катом). Основные фичи:
<upd> Осторожно — хабрэффект! :-)
Коллеги! Сейчас с моего домашнего компа одновременно идёт более сотни скачиваний (обслуживается более ста соединений). Скачивание виндового дистрибутива может занять 10-20 минут, не все браузеры это выдерживают :-) Пользуйтесь даунлоадилками, или подождите спада хабраэффекта.
Ещё раз приношу извининея. Никак не мог ожидать такого качалова. Уже более 1000 скачианий :-). Жду ваших комментариев. Спасибо!</upd>
<upd2>
Вывалил наспех :-)
Можно взять всё не из дома!
Сорци
Под винду
(из дома скачали уже больше 3000 копий :-) я ожидал, ну максимум 100 :-))
</upd2>
- написан на Qt — запускается где угодно (причём используются только базовые возможности, вам не придётся доустаналивать какой-нибудь QSvgRenderer)
- имеет несколько вариантов правил (нужны ещё? — пишите! :-))
- играет честно (то есть, при выдумывании хода, компьютер не подглядывает в ваше поле)
- автоматическая и ручная расстановка кораблей и прочие мелочи
<upd> Осторожно — хабрэффект! :-)
Коллеги! Сейчас с моего домашнего компа одновременно идёт более сотни скачиваний (обслуживается более ста соединений). Скачивание виндового дистрибутива может занять 10-20 минут, не все браузеры это выдерживают :-) Пользуйтесь даунлоадилками, или подождите спада хабраэффекта.
Ещё раз приношу извининея. Никак не мог ожидать такого качалова. Уже более 1000 скачианий :-). Жду ваших комментариев. Спасибо!</upd>
<upd2>
Вывалил наспех :-)
Можно взять всё не из дома!
Сорци
Под винду
(из дома скачали уже больше 3000 копий :-) я ожидал, ну максимум 100 :-))
</upd2>
+50
Шифрованная файловая система в файле: готовый рецепт
2 min
4.9KНа хабре уже было множество статей о том, как безопасно передать данные, защитив канал, или зашифровав файл с данными. Но часто хранить данные в файле не очень удобно (например, в файле не удобно хранить SVN-репозиторий, или maildir с почтой).
Под катом ещё одно решение, которое я нахожу весьма удобным, возможно оно пригодится ещё кому-то.
Под катом ещё одно решение, которое я нахожу весьма удобным, возможно оно пригодится ещё кому-то.
+21
Официально вышел релиз FreeBSD 8.0. Основные новшества:
1 min
709Более эффективная система блокировок — 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 (беспроводные системы связи).
И ещё огромное количество не менее инересных изменений!
Режим эмуляции Linux переведен на ядро 2.6.16.
Виртуализация сетевого стека vimage. Это позволяет обеспечить поддержку на одной машине нескольких изолированных стеков. Система значительно расширяет сетевую функциональность jail-ов. В каждом jail-е можно делать всё своё — собственные PF, ipfw, dummynet, IPSec, маршрутизация…
Новый USB-стек:
* Решены проблемы с паникой ядра при извелечении USB-устройств без их отмонтирования (дождались! :-))
* Утилита usbconfig, для настройки USB устройств
* Новый USB API и режим совместимости с Linux
* И множество других дополнений
Значительно доработана подсистема CAM (унифицированный интерфейс для драйверов SCSI-устройств).
Значительно дработана net80211 (беспроводные системы связи).
И ещё огромное количество не менее инересных изменений!
+49
Добрая весть! На ftp появилась FreeBSD 8.0-RELEASE
1 min
726Не взирая на предсказания, похоже, восьмёрка появилась!
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
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
+46
+32
Введен в строй сайт Perl.org — первые дыры (upd: уже заткнули)
2 min
854upd5: Уязвимость ликвидировали, но топик удалять не буду, ибо обсуждение интересней топика :-)
Введен в строй новый сайт perl.org, полный пошлейших XSS дырок. Первая же проверка обнаруживает дыру!
Судя по заголовкам, хостится на каком-то старье:
Куда катится мир?? 8-O
Введен в строй новый сайт perl.org, полный пошлейших XSS дырок. Первая же проверка обнаруживает дыру!
Судя по заголовкам, хостится на каком-то старье:
Server: Apache/1.3.33 (Unix) mod_perl/1.29Про дизайн я молчу, скриншот сделан в FF3, видны сразу два разъехавшися элемента.
Куда катится мир?? 8-O
+67
zoclock 1.2.0
1 min
441Обновился zoclock.
Новшества:
Версия 1.2.0 представляется мегастабильной. Я зарегился на qt-apps и там народ плюсует ZOClock. В общем, нареканий никаких нет.
Ну больше добавить нечего, если кто-то пропустил момент, когда я обезумел, то может почитать о нём здесь :-)
Новшества:
- Пофиксены опечатки.
- Всплывающая подсказка изначально имеет системные цвета и шрифт (зависит от вашей системы); потом её конечно можно перенастроить, как и раньше.
- В подсказке можно включить отображение даты.
- И, о да! Я собрал таки это дело под Windows :-) Сборка статическая и ооочень тяжёлая (3M в архиве).
Версия 1.2.0 представляется мегастабильной. Я зарегился на qt-apps и там народ плюсует ZOClock. В общем, нареканий никаких нет.
Ну больше добавить нечего, если кто-то пропустил момент, когда я обезумел, то может почитать о нём здесь :-)
+3
Что меня спрашивали на собеседовании
2 min
9.8KНе буду называть имён компаний. К её чести надо сказать, что это действительно лидер в своём деле, достигший нешуточных успехов. Стоит отметить прекрасный уютный офис, совершенно вменяемый HR (что было очень приятно), множество бонусов (страховки, тренажёры, обучение...) для сотрудников.
Всё было очень мило. И всем действительно большое спасибо.
Но мне хотелось бы сказать о том, что меня действительно поразило!
Всё было очень мило. И всем действительно большое спасибо.
Но мне хотелось бы сказать о том, что меня действительно поразило!
+145
Осторожно! Регекспы!
4 min
8.8KЧасто ли вы используете регулярные выражения? Задумываетесь ли вы о том, на сколько оправдано их использование? Каковы альтернативы, каковы возможности и ограничения? Какова цена применения регекспа?
Я уже давно и часто замечаю, что люди (особенно из мира Perl) склонны мистифицировать регулярные выражения, наделяя их (в своём сознании) универсальными сверх-способностями.
Настоящей статьёй, я призываюодуматься задуматься.
Я уже давно и часто замечаю, что люди (особенно из мира Perl) склонны мистифицировать регулярные выражения, наделяя их (в своём сознании) универсальными сверх-способностями.
Настоящей статьёй, я призываю
+145
zoclock 1.1.0
2 min
541Моя скромная программа zoclock, о которой я недавно писал, вызвала неожиданно большой интерес. Такого резонанса не вызвал ещё ни один мой топик, я получил не только массу комментариев и предложений, но множество приватных сообщений! И вот (на много позже обещанного :-)) я выкладываю новую версию, в которой учтены многие пожелания, среди которыхвнутренняя архитектура организация кода.
- режимы отображения часов: 1-12, 1-12+am/pm, 0-23
- всплывающая подсказка
- возможность показа unixtime
- возможность переключения на шестнадцатеричную систему
- множество дополнительных настроек
- режим «поверх других окон» (появился ещё в v.1.0.1)
+21
Information
- Rating
- Does not participate
- Location
- Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity