• Регулярные выражения (regexp) — основы

      Регулярные выражения (их еще называют regexp, или regex) — это механизм для поиска и замены текста. В строке, файле, нескольких файлах... Их используют разработчики в коде приложения, тестировщики в автотестах, да просто при работе в командной строке!

      Чем это лучше простого поиска? Тем, что позволяет задать шаблон.

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

      Читать далее
    • Тренируемся дома по программе Пола Уэйда. Часть Четвёртая: Мостик или Секрет Бронированного Позвоночника

      • Translation

      Программа Тюремных Тренировок — это эффективные методы обучения по работе со своим весом. Многие из этих забытых, но действенных техник — находятся на грани исчезновения. Современный бодибилдинг поменял наше мышление, навязав ложные убеждения. Поэтому мы сняли этот фильм в Алькатрасе, вернувшись во времена, когда «Скала» была крупнейшей тюрьмой для особо опасных преступников. Пожалуй, это самое правильное место, чтобы показать методы тренировок заключённых.

      Приступить к тренировке
    • Сказ о том, как я с гидрой боролся

      На Хабре принято рассказывать про красивое программирование... Увы, в суровой практике такой красоты пока не встретил. Зато ввязался в эпичную битву: адский легаси, shared-хостинг с кучей сайтов и старый Битрикс с вирусами против самописного сканера на PHP. Даже как-то неприлично про такое вслух... Но сканер наверняка кому-то пригодится!

      Читать далее
    • Всё, о чём должен знать разработчик Телеграм-ботов

        Вы вряд ли найдете в интернете что-то про разработку ботов, кроме документаций к библиотекам, историй "как я создал такого-то бота" и туториалов вроде "как создать бота, который будет говорить hello world". При этом многие неочевидные моменты просто нигде не описаны.

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

        Подробный гайд о том, как работать с ботами — под катом.

        Читать далее
      • Миллион домашних фотографий: наводим порядок

          После покупки цифрового фотоаппарата и рождения детей стало появляться большое количество фотографий, а учитывая, что жена с фотоаппаратом почти не расставалась и старалась запечатлеть все «важные» детские моменты, фотографий стало появляться ОЧЕНЬ много.

          Пришло время навести порядок.
        • Тариф «100к+», или как вельми зело огорчить спамера


            Уже не впервые сталкиваюсь, что читатели Хабра не все поголовно умеют правильно бороться со спамом. И я не про SpamAssasin, «Ктозвонил» и прочие приложения для фильтрации информационного мусора, а про несложную, но весьма доставляющую всем сторонам процесса подачу жалобы в ФАС.

            Давайте расскажу, как буквально за 15 минут не отрываясь от любимого компьютера подключить спамеру задораздирающий тариф линейки «Административный»: «Административный 100к», «Административный 150к» и вплоть до «Административный 500к» – как повезет.
            Читать дальше →
          • Сборка PC AT-совместимого компьютера с процессором 80286

              Преамбула

              В детстве у меня не было велосипеда…

              Нет, не совсем так. В детстве я вволю наигрался кустарными «Спектрумами», в школе застал КУВТ (MSX-2), а в ВУЗе − ДВК (почти что легендарная PDP-11). Благодаря этому я не терял времени даром. И когда у меня появилась возможность обзавестись собственным серьёзным компьютером, я был уже тёртым калачом. Я был в курсе событий в мире IT. Я знал, что Intel и 32 бита победили. С трудом преодолев ограничения бюджета (голодные 90-е, студенческие подработки плюс займы у родни), я зашёл в мир PC с козыря − 386SX.

              Козырь, конечно, был мелковат: «четвёрки» тогда разлетались, как горячие пирожки, на горизонте маячил Pentium, а с другого краю Эппл спешно менял 68000 на PowerPC. Тем не менее, новым операционным системам, средам разработки и даже играм всё чаще требовались пресловутые 32 бита, и IA-32 + 4 мегабайта стали для меня своего рода пропуском в клуб, пусть и не VIP. Я научился клепать базы данных на Delphi, настраивать сеть на NetWare и FreeBSD, открыл для себя Интернет… В общем, я был рад тому, что не взял тогда «с рук», за полцены, изрядно подержанную «двойку».

              Однако сейчас, спустя почти 30 лет, меня заела то ли ностальгия, то ли любопытство, а может, это называется «гештальт»? Или я чего-то не договариваю… В общем, под занавес 2020 года я присоединился к ретро-компьютинговому сообществу, собрав свой первый велосипед двести восемьдесят шестой.

              Дисклеймер

              В статье я использовал несколько фотографий отвратительного качества собственного авторства. Что поделать, чукча − не фотограф, а в интернете подходящих изображений зачастую просто нет. Так что заранее прошу прощения за неудобства.

              Читать далее
            • Итальянская IBM-PC Olivetti Prodest PC1 HD

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

                Читать далее
              • Как я создал собственный алгоритм YouTube (чтобы не тратить время впустую)

                • Translation


                Побег от алгоритма YouTube


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

                Всё это неудивительно: алгоритм отдаёт приоритет кликам и времени просмотра.

                Поэтому я поставил перед собой задачу: Смогу ли я написать код, который автоматически будет находить ценные видео, избавив меня от привязанности к алгоритму YouTube?

                Вот так всё и началось.

                Оптимально выстроенные планы


                Я начал с визуализации того, что должен делать мой инструмент. Мне нужна была программа, которая будет (i) ранжировать видео на основании вероятной релевантности для меня и (ii) автоматически отправлять мне предлагаемые видео, из которых я смогу выбирать.

                Я решил, что смогу серьёзно повысить продуктивность, если буду пакетно выбирать наборы видео для просмотра на каждую неделю и избавлюсь от необходимости бесконечного скроллинга YouTube.
                Читать дальше →
              • Как находить проблемы с интернетом и кто виноват ч.1 — inception

                • Tutorial

                Многие могут рассказать такую историю :
                - Алло, техподдержка провайдера? У меня плохо открывается сайт aaaaaa.com.
                - С нашей стороны пули вылетели, проблема в мишени у сайта - пишите туда.

                - Привет. Это сайт aaaaaa.com? У меня плохо открывается ваш сайт.
                - У нас всё хорошо, пишите провайдеру.

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

                Заглянуть под кат
              • Как находить проблемы с интернетом и кто виноват ч.2 — домашняя работа

                • Tutorial

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

                Заглянуть под кат
              • Теория инвестиций для начинающих, часть 1

                  Эдвард Мэтью Ворд. Пузырь Компании Южных морей. 1847 г. Галерея Тейт, Лондон.

                  В какие ценные бумаги вкладывать деньги? Как накопить на пенсию? Кто такие ETF’ы и почему все с ними носятся? Зачем покупать акции, если рынок может упасть? Такие вопросы я слышу от студентов и коллег, когда читаю лекции о деривативах. В принципе, неудивительно. Деривативы — это что-то далёкое из мира больших банков, а личные инвестиции намного ближе к телу.

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

                  Собственно, моя статья — не столько инвестиционный совет (хотя я и расскажу о личном опыте и даже посчитаю свою «альфу»), сколько обзорный курс по теории инвестиций. Полезно знать, какие модели придумали предыдущие поколения, и в каких терминах можно думать об инвестициях. Если из теории следует, что имеет смысл покупать индексные ETF’ы, чтобы копить на пенсию — так и быть, расскажу и об этом.

                  Не секрет, что в финансах много математики. Я постарался соблюсти баланс. Я считаю, что интуитивное понимание главных экономических идей важнее, чем конкретная формула. Даже если вы пропустите вообще все формулы, то вы всё равно поймёте суть и получите полезные знания. С другой стороны, если вы хотели бы размять мозги не ахти какой сложной математикой, то у вас будет такая возможность.
                  Читать дальше →
                • Грабим награбленное

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


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