• Как правильно писать статьи о программировании для начинающих

      В последнее время на Хабре стало появляться довольно много статей о тех или иных аспектах программирования, которые позиционируются как статьи для «начинающих». Между тем, как раз для начинающих эти статьи часто являются непонятными: иногда — слишком сложными, иногда — не отвечающими на те вопросы, на которые должны, иногда — тяжелыми для восприятия.

      Попробуем разобраться, как должна быть написана статья, если вы хотите, чтобы она не только понравилась, но и была полезна читателям.
      Читать дальше →
    • Let's Encrypt и nginx: настройка в Debian и Ubuntu

      • Tutorial

      image


      Если вдруг вся эта история прошла мимо вас, Let's Encrypt — центр сертификации от некоммерческой организации ISRG, существующий при поддержке EFF и многих компаний, взявшей на себя миссию дать людям бесплатные SSL/TLS сертификаты для сайтов и серверов. Сертификаты от Let's Encrypt уже используются на более чем 10 миллионах доменов.


      Кроме очевидной бесплатности у сертификатов от Let's Encrypt есть особое, отсутствующее у любых других коммерческих сертификационных центров, достоинство: если вы однажды получили сертификат от Let's Encrypt, то, при прочих равных, это навсегда. Не нужно раз в год-два вручную обновлять сертификаты. Не нужно вообще вспоминать что сертификаты где-то есть. Получил, настроил и забыл!


      Внимательный читатель сразу захочет возразить: как же так, ведь известно что сертификаты выдаются со сроком действия в три месяца? Всё дело в автоматическом обновлении сертификатов, которое возможно при полном отсутствии действий со стороны человека.


      Организации автоматического обновления сертификатов в статье уделено пристальное внимание, с тем чтобы вы могли в полной мере оценить это принципиальное преимущество Let's Encrypt.

      Читать дальше →
    • Ричард Хэмминг: Глава 27. Недостоверные данные

      • Перевод
      «Цель этого курса — подготовить вас к вашему техническому будущему.»

      imageПривет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2394 в закладки, 386k прочтений)?

      Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, написанная по мотивам его лекций. Мы ее переводим, ведь мужик дело говорит.

      Это книга не просто про ИТ, это книга про стиль мышления невероятно крутых людей. «Это не просто заряд положительного мышления; в ней описаны условия, которые увеличивают шансы сделать великую работу.»

      Мы уже перевели 21 (из 30) главу. И ведем работу над изданием «в бумаге».

      Глава 27. Недостоверные данные


      (За перевод спасибо Валентину Пинчуку, который откликнулся на мой призыв в «предыдущей главе».) Кто хочет помочь с переводом, версткой и изданием книги — пишите в личку или на почту magisterludi2016@yandex.ru

      По моему опыту, да и опыту многих других исследователей, данные, как правило, гораздо менее точны, чем это декларируется. Это не простой момент – мы зависим как от выбора исходных данных для принятия решений, так и от исходных данных при моделировании, по результатам которого принимаются решения. Так как природа ошибок очень многообразна, и у меня нет единой теории, чтобы объяснить их все, то я вынужден перейти к отдельным примерам и обобщениям из них.

      Позвольте мне начать с испытаний на долговечность. Хорошим примером служит мой опыт, участия в испытаниях жизненного цикла вакуумных труб. Они предназначались к использованию в первых подводных кабелях для передачи голоса с ожидаемым сроком службы 20 лет (после 22 лет мы просто вывели кабель из эксплуатации, которая стала слишком затратной – и это дает хорошее представление о скорости технического прогресса в те дни).
      Читать дальше →
      • +12
      • 4,2k
      • 2
    • Операционные системы с нуля; Уровень 0

      • Перевод
      • Tutorial

      Добрый день/вечер/ночь/утро! Есть один экспериментальный курс по операционным системам. Есть он в Стэнфордском университете. Но часть материалов доступно всем желающим. Помимо слайдов доступны полные описания практических занятий.


      Чем этот курс отличается от прочих других? Большая часть кода пишется самостоятельно и выполняется на вполне реальном современном железе. В качестве целевой платформы выбран Raspberry Pi 3 model B. Т.е. достаточно актуальная архитектура AArch64. ARMv8 Cortex-A53, четыре ядра, 64-бита и вот это всё. В качестве основного языка программирования выбран Rust. Который безопасный, быстрый, без GC и так далее. Его, Rust, предполагается изучать во время курса.


      Тут есть про диски, файловые системы, операции ввода-вывода, потоки /процессы, планирование, виртуальную память, защиту и безопасность, прерывания, параллелизм и синхронизацию. Как и в любом другом, уважающем себя курсе. Разница в актуальности материала и в количестве практики. Коддить придётся много.

      Читать дальше →
    • Крутой шаринг страниц в соцсети с помощью Open Graph

        Решил собрать в одной статье короткий рецепт приготовления страницы, которая круто шарится во все основные соцсети. Тем, кто вообще не в теме, придётся сначала прочитать про Open Graph protocol.
        Читать дальше →
        • +8
        • 44,2k
        • 4
      • Вы и ваша работа *

        • Перевод
        Длинный материал. Время чтения – около 40 минут.

        image

        Доктор Ричард Хэмминг, профессор морской школы Монтерея в штате Калифорния и отставной учёный Bell Labs, прочёл 7 марта 1986 года очень интересную и стимулирующую лекцию «Вы и ваши исследования» переполненной аудитории примерно из 200 сотрудников и гостей Bellcore на семинаре в серии коллоквиумов в Bell Communications Research. Эта лекция описывает наблюдения Хэмминга в части вопроса «Почему так мало учёных делают значительный вклад в науку и так многие оказываются в долгосрочной перспективе забыты?». В течение своей более чем сорокалетней карьеры, тридцать лет которой прошли в Bell Laboratories, он сделал ряд прямых наблюдений, задавал учёным очень острые вопросы о том, что, как, откуда, почему они делали и что они делали, изучал жизни великих учёных и великие достижения, и вёл интроспекцию и изучал теории креативности. Эта лекция о том, что он узнал о свойствах отдельных учёных, их способностях, чертах, привычках работы, мироощущении и философии.
        Читать дальше →
      • Почему в Perl так редко используется IoC, DI и магическая пилюля Kaiten::Container

          Думаю многие понимают значение баззвордов Inversion of Control (Ioc) и Dependency Injection (DI). Если не очень, но интересно — на хабре было несколько статей на эту тему, очень познaвательно и доступно изложено.
          Методики отличные, но применить их в настоящей жизни как-то не получалось.

          Под катом — небольшой обзор плачевного состояния дел в Perl и самостийное «кажется» решение.
          Читать дальше →
        • Эти штуки от Xiaomi прокачают ваш дом по-полной

            Привет, Geektimes! Важней всего, как говорят, погода в доме. Поэтому в погоне за новеньким смартфоном, планшетом или камерой не стоит забывать, что современные устройства позволяют не только иметь под рукой все самое необходимое, но и также изменить жилище до неузнаваемости, сделать его лучше и технологичнее. Все еще пылесосите и моете окна вручную? Тогда мы… нет, к вам не пойдем. Лучше вы давайте — под катом много интересного!

            image
            Читать дальше →
          • 10 самых популярных сайтов для соревнований программистов на начало 2018 года

            • Перевод


            В конце 2016 года была опубликована аналогичная статья. С тех пор список был обновлен на основе наблюдений и анализа нескольких ресурсов (постов в популярных блогах, обсуждений на Quora, поисковых запросов в Google и обсуждений на форумах, таких как reddit/learnprogramming и Hacker News).

            Предлагаем вниманию читателей обновленный список на 2018 год, который включает в себя 10 платформ, которые по личному мнению автора являются лучшими соревновательными площадками для программистов и содержат ресурсы, которые могут помочь начинающим и Intermediate-разработчикам совершенствовать свои навыки, подготовиться к собеседованию и продвинуться по своей карьерной лестнице.

            На этих сайтах также можно просто посоревноваться с коллегами или развлечься, решая интересные головоломки. Порядок составления списка основан лишь на уровне сложности заданий: от начального до продвинутого.
            Читать дальше →
          • Лекции Технотрека. Разработка под Android (осень 2017)


              Представляем вашему вниманию очередную порцию лекций Технотрека. В рамках курса будут рассмотрены основы разработки под Android. Вы научитесь эффективно использовать среду разработки Android Studio для создания пользовательского интерфейса, написания и отладки кода, профилирования приложений, поиска и решения проблем в коде. Узнаете о возможностях стандартной библиотеки и платформы Android, научитесь эффективно их использовать. Освоите проектирование кода, обладающего качествами модульности, расширяемости, простоты поддержки. Научитесь использовать средства автоматизированного тестирования.


              Курс ведут Юрий Береза, старший программист студии IT Territory, и Кирилл Филимонов, руководитель команды разработки BeepCar Android.

              Читать дальше →
              • +34
              • 18,4k
              • 4