• Как отслеживать новости в мире C++

    • Перевод
    Стараясь непрерывно пополнять свои знания о С++ я определил для себя несколько каналов получения информации, на которых можно сконцентрироваться. Они, возможно, могут быть применимы и к другим областям знаний, но я попробую сфокусироваться на С++. Давайте я расскажу о них чуть подробнее.

    1. Вдумчивое чтение — чтение фундаментальных книг, структурированных и информативных. Это требует длительной концентрации, причём нельзя читать в состоянии усталости, поскольку вы попросту уснёте и ничего не запомните. Если у вас ещё нет электронной читалки — обязательно купите.
    2. Лёгкое чтение — чтение менее серьёзной литературы вроде книг о мотивации, продуктивности, Soft Skills. Всё это зря недооценивается некоторыми программистами. Эти книги не требуют большой концентрации внимания. Да, это совершенно не о языке С++, но это о том, как вообще что-то делать и всё-таки сделать. Хорошо читается перед сном.
    3. Подкасты — хорошо идут, когда нужно переключиться с чего-то одного на другое, или во время шоппинга. Помогают взглянуть на что-то неожиданное. Тренируют умение слушать и понимать услышанное, что может быть полезным умением (например, для участия в совещаниях). Если английский язык для вас не родной — вы можете услышать как произносятся термины и имена. Я рекомендую послушать CppCast или Software Engineering Radio — я был приятно удивлён широким охватом их тем. Первый эпизод вышел в 2006-ом году, подкаст наполовину состоит из истории программной инженерии и наполовину из теории (паттерны, проблемы, решения и т.д.)
    4. Видео и лекцииCppCon, CppNow, Meeting C++, ACCU Conference для начала. Там просто ошеломляющее количество интересных докладов. В отличии от подкастов это требует визуального внимания и концентрации, но и выучить в результате можно больше. Я думаю просмотр 2-5 видео в неделю вполне достижимо.
      Совет: увеличивайте скорость аудио/видео — мозг быстро привыкает к этой скорости и вы сможете услышать больше за меньшее время.
    5. Обсуждения, форумы, твиттер — этот канал обмена информацией требует меньше всего концентрации. Вы можете быстренько просмотреть дискуссии, ленту твиттера в поисках чего-то интересного — просто убивая время. Если что-то нашлось — можно добавить это в список для чтения позже. Чем это всё полезно — огромным разнообразием людей, мнений, подходов, задач и решений. Хороший способ разогнать свой мозг весьма случайной информацией.

      Вот, например, мой список Core C++ чтобы следить за значимыми в мире С++ разработчиками. А ещё есть несколько страниц и групп в Facebook и неплохие обзоры от Jens Weller.

      Для дискуссий о С++ есть раздел на Реддите (прим. переводчика: а ещё есть хаб на Хабрахабре). Ну и, конечно, группы комитета по стандартизации C++
    6. Блоги и статьи — обычно занимает 5-10 минут чтобы прочитать среднюю статью. Если встречается более глубокая статья — можно пометить её для чтения «когда я буду сконцентрирован». По моим наблюдениям выходит 5-10 хороших статей в неделю и не так сложно прочесть их все.

    Читать дальше →
    • +21
    • 17,1k
    • 7
  • Анонс книги Брайана Кернигана «The Go Programming Language»

      На Амазоне анонсировали новую книгу Брайана Кернигана и Алана Донована с ёмким названием «The Go Programming Language». Кто не в курсе — Брайан Керниган это один из соавторов Unix, автор cron-а и автор одной из самых культовых книг в мире программирования "The C Programming Language", написанную вместе с Деннисом Ричи в 1978-м.

      Книга доступна для предзаказа, релиз бумажной версии запланирован на 27 августа 2015.


      Читать дальше →
    • Веб-парсинг на Ruby

      image
      Это перевод статьи «Web Scraping with Ruby», которую я нашел полезной при изучении языка программирования Ruby. Парсинг меня интересует в личных целях. Мне кажется, это не только полезный навык, но и хороший способ изучить язык.
      Читать дальше →
    • Сайт с нуля на полном стеке БЭМ-технологий. Методология Яндекса

      • Tutorial
      На прошлой неделе BBC рассказала, что для новой версии главной страницы использовала методологию БЭМ, созданную в Яндексе. По такому случаю мы решили поднять материалы мастер-класса «Разрабатываем сайт с нуля на полном стеке БЭМ-технологий» и рассказать вам, как начать использовать полный стек БЭМ-технологий в своих проектах.

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



      В статье мы расскажем, в чём преимущество вёрстки независимыми блоками и что такое уровни переопределения, познакомимся с готовыми библиотеками блоков и инструментами для автоматизации сборки. Покажем, как разные инструменты — например, autoprefixer, css-препроцессор Stylus или модульная система YModules — упрощают жизнь разработчика и создают по-настоящему удобную платформу, если встроить их в процесс разработки по БЭМ.

      На живом примере мы объясним, в чём польза декларативного подхода, когда одни и те же идеи можно использовать как для CSS, так и для JavaScript. Отдельно остановимся на декларативных шаблонах BEMHTML и BEMTREE, которые позволяют преобразовывать данные в БЭМ-дерево, описанное в формате BEMJSON и, затем в HTML. Рассмотрим в деталях, как написать серверную часть приложения по БЭМ-методологии.
      Читать дальше →
    • Запуск OpenWRT 14.07 на Mikrotik и пример сборки Аsterisk c дополнительным модулем


               В интернете много статей по запуску openwrt на устройствах Mikrotik через metarouter. Во всех них для сборки используется ревизия r29684 с официальным патчем, поддерживающим процессоры(устройства RB400, RB700 series, RB900 series, RB2011 boards, RB1000, RB1100, RB1100AH and RB800). Для более поздних версий данный патч уже не подходит. Из этого следует то, что все пакеты openwrt достаточно старые и собрать обновленное ПО почти нереально. А в новых версиях openwrt появилось много новых пакетов и библиотек.
               Поискав в интернете, не получилось ли у кого запустить свежий openwrt под metarouter, наткнулся на нужную заметку. Данная статья как раз полностью копирует ее содержание, плюс маленький бонус по сборке пакетов. Приступим (пример для debian\ubuntu систем):
        Читать дальше →
      • Mikrotik. Failover. Load Balancing

        Когда у меня встала необходимость разобраться, как сделать failover или load balancing, имея два и более каналов в мир, я нашел множество статей и инструкций, в которых описывались рабочие конфигурации. Но почти нигде не нашел разъяснения, как все работает, и описания отличий разных вариантов. Хочу исправить эту несправедливость и собрать простейшие варианты построения failover и load balancing конфигураций в одной статье.

        Итак, у нас есть роутер, который соединяет нашу локальную сеть и два канала в интернет (основной ISP1 и резервный ISP2).

        Давайте рассмотрим что же мы можем сделать:

        Сразу предупрежу: несмотря на то, что в этой статье буду все описывать для mikrotik, не буду касаться темы скриптов
        Читать дальше →
      • Как я мучал Selenium тесты для GAE Django и к чему пришел в итоге

        Предистория


        Однажды на проекте, написанном на GAE Django, понадобилось реализовать тестирование с помощью Selenium. К сожалению, найти готовый инструмента для этого не удалось. Поиски по просторам интернета не дали положительных результатов.
        Читать дальше →
      • Node.js в огне

        • Перевод
        Мы создаем новое поколение веб-приложения Netflix.com, использующего node.js. Вы можете узнать больше о нашем походе из презентации, которую мы представили на NodeConf.eu несколько месяцев назад. Сегодня я хочу поделиться накопленным опытом в настройке производительности нового стека нашего приложения.

        Мы впервые столкнулись с проблемами, когда заметили, что задержка запроса в нашем node.js приложении со временем увеличивается. К тому же оно использовало больше ресурсов процессора, чем мы ожидали, и это коррелировало с временем задержки. Нам приходилось использовать перезагрузку как временное решение, пока мы искали причину с помощью новых инструментов и техник аналитики производительности в нашей Linux EC2 среде.

        Читать дальше →
      • «Аватар» Джеймса Кэмерона как пример тонкого социального троллинга

          Фильм Джеймса Кэмерона «Аватар», помимо того, что поставил абсолютный рекорд по кассовым сборам, еще и вызвал нехилое бурление различных субстанций в интернетах. Любой уважающий себя блоггер посчитал необходимым высказать свое мнение. Вот наиболее заметные примеры:

          Goblin — «Аватар же визуально впечатляет, но сопереживать синим пацанам и примкнувшим к ним иудам как-то не получается» (ссылка).
          u_96 — «А вот Не Наши никаких прав не имеют (поскольку они Не Наши), окромя как права добровольно убить себя об стенку, чтобы сэкономить Нашим время и патроны» (ссылка).
          kladun — «Ведь фильм-то — идеологическая какашка. Но сделан настолько потрясно, что зрители эту какашку жрут, причавкивая, и просят добавки» (ссылка).
          dr-piliulkin — «Прав ли был Джек, вставая на сторону аборигенов, организуя сопротивление своим бывшим сослуживцам, фактически — предавая Землю и людей?» (ссылка.)
          Юрий Нерсесов — «В российском триумфе «Аватара», кроме безумно красивого видеоряда сыграл и зрительский голод по фильмам о борьбе не с абстрактными злодеями из вымышленных миров, а с вполне земной, высокопоставленной и легкоузнаваемой сволочью» (ссылка).
          Леонид Каганов — «В фильме прекрасно все — и компьютерная графика, и декорации, и актеры, и сюжет достаточно неплохой» (ссылка).
          krylov — «Если кто-то увидит в сказанном апологию предательства как такового — чёрт с вами. «Понять в плохом смысле» можно даже таблицу умножения» (ссылка).

          Каждый из рецензентов видит в этом фильме какие-то свои откровения; при этом практически все сходятся на том, что сюжет у фильма до банальности прост. Вопроса «почему же такой тривиальный сюжет вызывает такие ожесточенные баталии», видимо, никто себе не задавал.

          А меж тем сюжетец-то ой как непрост