• Что такое grep и с чем его едят

      Эта заметка навеяна мелькавшими последнее время на хабре постами двух тематик — «интересные команды unix» и «как я подбирал программиста». И описываемые там команды, конечно, местами интересные, но редко практически полезные, а выясняется, что реально полезным инструментарием мы пользоваться и не умеем.
      Небольшое лирическое отступление:
      Года три назад меня попросили провести собеседование с претендентами на должность unix-сисадмина. На двух крупнейших на тот момент фриланс-биржах на вакансию откликнулись восемь претендентов, двое из которых входили в ТОП-5 рейтинга этих бирж. Я никогда не требую от админов знания наизусть конфигов и считаю, что нужный софт всегда освоится, если есть желание читать, логика в действиях и умение правильно пользоваться инструментарием системы. Посему для начала претендентам были даны две задачки, примерно такого плана:
      — поместить задание в крон, которое будет выполняться в каждый чётный час и в 3 часа;
      — распечатать из файла /var/run/dmesg.boot информацию о процессоре.

      К моему удивлению никто из претендентов с обоими вопросами не справился. Двое, в принципе, не знали о существовании grep.

      image

      Поэтому… Лето… Пятница… Перед шашлыками немного поговорим о grep.
      Читать дальше →
    • Как сэкономить время, запоминая сочетания клавиш

        Brainscape Вы когда-нибудь задумывались над тем, сколько времени можно было бы сэкономить, если бы вы использовали сочетания клавиш каждый день? У парней из Brainscape есть ответ, и, между нами говоря, они насчитали что-то просто неимоверное!

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

        Они сделали интересный тест, чтобы увидеть, сколько времени пользователь тратит впустую, когда он использует мышь вместо сочетаний клавиш, и результаты крайне удивительны. По их расчётам, пользователь может сэкономить в среднем 8 дней в год, если он будет использовать сочетания клавиш вместо кликов мыши.
        Читать дальше →
      • Настройка OpenVPN в связке Mikrotik/Ubuntu

        • Tutorial
        В любой компании, где существует более одного офиса, рано или поздно возникает необходимость в объединении этих самых офисов. Многие провайдеры предлагают такие услуги, но попросят за это денег, да и кто знает, что там творится на стороне провайдера? Поэтому сделаем все сами, и рассмотрим вариант объединения с помощью Mikrotik RB750, Ubuntu и OpenVPN.

        image
        Читать дальше →
      • Несколько интересностей и полезностей для веб-разработчика #20

          Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

          Awesome Sysadmin


          Мега популярный репозиторий на GitHub, который за несколько дней собрал более 4000 звезд. Это огромной живой список всех самых полезных инструментов с открытым исходным кодом для сисадмина по категориям: Backups, Cloning, Cloud Computing, Cloud Orchestration, Cloud Storage, Collaborative Software, Distributed Filesystems, DNS, VPN и др. Автор проекта упомянул также Awesome PHP, по образу и подобию которого он опубликовал свой список.

          NodeBB



          Многие уже из названия поняли, что это форум-движок на NodeJS и на самом деле это очень крутой проект. Я бы даже сказал, что это в какой то мере переосмысление сложившегося представления о форумах. Ну сколько уже времени прошло с тех пор… Сколько социальных сетей появилось и «социальности» в целом, сколько рассуждений о дизайне с интуитивно понятным UI и продуманным UX, сколько стремления разработчиков превратить веб в «среду для приложений», где все быстро и асинхронно словно нативный софт.

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




          Читать дальше →
          • +92
          • 43,4k
          • 6
        • Безопасность покупателя в рознице: что надо знать лично вам



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

            Пример: вам говорят, что товар по акции кончился. Вы видите один в витрине в герметичном ящике под потолком, но с ценником. Вам не имеют права отказать в его продаже.

            Второй пример: когда обновляются цены, в торговом зале может остаться ценник со старой ценой ниже. Цена в базе другая? Ну и что, вот ваш же документ. Если же вдруг ценник без печати-подписи, и на таком товаре нет правильного ценника — регистрируйте нарушение. Ценники обязательно должны быть хотя бы на одном товаре из пачки.
            Читать дальше →
          • Спидран по 13 уязвимостям на сайтах. Основные понятия, и средства защиты

            Недавно по работе собирал своего рода лекцию по веб-безопасности, ознакомился с известным рейтингом уявзимостей OWASP 2013 года, но с удивлением обнаружил, что корректной инфы на русском языке крайне мало, или её практически нет.

            Это, собственно, и стало поводом написать такую статью, в которой тезисно будут описаны основные уязвимости, причины, примеры и решения.

            Некоторые из предоставленных в списке уязвимостей уже расписаны и не раз — известный факт, но без них список был бы неполным. Поэтому сразу дам небольшое содержание поста:

            Читать дальше →
          • То, что вам никто не говорил о z-index в статье «То, что вам никто не говорил о z-index»

              image
              Почти два года назад вышла статья «What no one told you about z-index» (и её перевод на Хабре «То, что вам никто не говорил о z-index»), авторы которой рассказывают о малоизвестной (76% проголосовавших пользователей Хабра слышат об этом впервые), но документированной возможности создания нового контекста наложения указав opacity меньше единицы.

              Но несмотря на название статьи, авторы не рассказали вам ещё кое о чём.

              Предполагается, что вы знакомы с понятием контекста наложения (англ. stacking context).
              Элементы с общими родителями, перемещающиеся на передний или задний план вместе известны как контекст наложения. Понимание контекста наложения является ключом к пониманию z-index и порядка наложения элементов.

              Каждый контекст наложения имеет свой корневой элемент в HTML структуре. В момент формирования нового контекста на элементе, все дочерние элементы так же попадают в этот контекст и занимают своё место в порядке наложения. Если элемент располагается в самом низу одного контекста наложения, то никаким мыслимым и немыслимым образом не получится отобразить его над другим элементом в соседнем контексте наложения, располагающимся выше по иерархии, даже с установленным z-index равным миллиону.
              — Из статьи «То, что вам никто не говорил о z-index». Для понимания темы настоятельно рекомендую к ознакомлению либо её, либо классический труд на MDN.

              Новый контекст наложения формируется в случаях:

              • Корневой элемент () всегда содержит корневой контекст наложения. Любой элемент на странице, не участвующий в локальном контексте наложения (сформированном любым из последующих вариантов), участвует в корневом контексте наложения.
                Элемент с position отличным от static и значением z-index отличным от auto. Кроме одного исключения для position: fixed, но я это вынес в отдельный пункт.
                Элемент имеет значение opacity меньше, чем 1.
              Нужно больше контекстов наложения!
            • История появления Амперки


                Хабраридерам, привет!

                У блога нашей компании вскоре истекает оплаченный период. Мы определённо до его конца не успеем подготовить какой-нибудь интересный и небанальный материал о DIY-электронике. Поэтому, пользуясь случаем, расскажу лучше о том, как появилась Амперка, и как мы пришли к тому, что имеем сейчас и почему мы вечно ничего не успеваем.

                Итак, если вам интересна история появления одного малого бизнеса, прошу под кат.

                Читать дальше →
              • Система для полива растений. Как выйти на Кикстартер. Пошаговый процесс

                  Короче, решил я замутить свой стартап.


                  Стартап — это когда ты много работаешь, а тебе даже денег не платят. Хе хе. Знакомо? Тогда послушайте мою историю.

                  Год назад я работал руководителем направления CRM систем в компании Мегаплан. Не знаю у кого как, а мой ритм жизни в Москве был простым. Днем работа, вечером работа для удовольствия. Работой для удовольствия было изучение сначала Windows Phone, потом Xamarin и системы iOS. Ну не пиво же пить, в самом деле.

                  Так как программировать абы что было не интересно, я решил сделать что-нибудь что бы помогало в моем втором хобби


                  Читать дальше →
                • «Запретите им запрещать» или обратная сторона реестра запрещенных сайтов



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

                    Можно долго спекулировать о том, что они думали и чем они не думали, но факт есть факт: блокировкой любого сайта они невольно вручают мощное средство, если не сказать орудие, защиты и нападения в руки владельца домена, включенного в реестр.
                    Информационная война как она есть