• Полезный обзор. 28 книг, которые повлияли на мое мышление, вдохновили или сделали лучше



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

    Из-за этого большинство подобных материалов мало полезны, несмотря на то, что могут содержать толковые книги. Мне давно хотелось написать полезный обзор, который не станет навязывать определенные материалы, а позволит читателю выбрать наиболее подходящие.
    Читать дальше →
  • Docker + Laravel = ❤

      laravel-in-docker


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

      В данной статье я расскажу о своём опыте "заворачивания" Laravel-приложения в Docker-контейнер да так, что бы и локально с ним могли работать frontend и backend разработчики, и запуск его на production был максимально прост. Так же CI будет автоматически запускать статические анализаторы кода, phpunit-тесты, производить сборку образов.


      "А в чём, собственно, сложность?" — можешь сказать ты, и будешь отчасти прав. Дело в том, что этой теме посвящено довольно много обсуждений в русскоязычных и англоязычных комьюнити, и почти все изученные треды я бы условно разделил на следующие категории:


      • "Использую докер для локальной разработки. Ставлю laradock и беды не знаю". Круто, но как обстоят дела с автоматизацией и запуском на production?
      • "Собираю один контейнер (монолит) на базе fedora:latest (~230 Mb), ставлю в него все сервисы (nginx, бд, кэш, etc), запускаю всё супервизором внутри". Тоже отлично, прост в запуске, но как на счёт идеологии "один контейнер — один процесс"? Как обстоят дела с балансировкой и управлением процессами? Как же размер образа?
      • "Вот вам куски конфигов, приправляем выдержками из sh-скриптов, добавим магических env-значений, пользуйтесь". Спасибо, но как же на счёт хотя бы одного живого примера, который я бы мог форкнуть и полноценно поиграться?

      Для нетерпеливых — ссылка на репозиторий, склонировав который ты сможешь запустить Laravel-приложение одной командой. Так же не составит труда его запустить на том же rancher, правильно "слинковав" контейнеры, или использовать продуктовый вариант docker-compose.yml как отправную точку.
      Читать дальше →
    • Вопросы для собеседования бэкенд-разработчика

      • Перевод
      Этот список появился как личная памятка по темам, которые я обсуждал с коллегами и друзьями и в которых хотел разобраться поглубже…

      Я не большой любитель задавать технические вопросы на собеседованиях: по мне так лучше посидеть с кандидатом (или кандидаткой) за клавиатурой над каким-то реальным кодом, реальной проблемой — и целый день заниматься парным программированием, желательно поочерёдно с остальными членами команды. Но я считаю, что некоторые технические вопросы могут быть хорошей отправной точкой для начала увлекательного и приятного разговора и позволят глубже узнать друг друга.

      В этом репозитории собран ряд вопросов, связанных с серверной частью, которые можно использовать при проверке потенциальных кандидатов. Ни в коем случае не рекомендуется задавать все вопросы одному кандидату: это займет несколько часов и вообще не имеет смысла, потому что они охватывают слишком широкий спектр тем. Никто не может знать всего. Выберите наиболее актуальный раздел и самые интересные вопросы, чтобы развернуть беседу.
      Читать дальше →
    • Yii 2.0.14

        Команда Yii рада представить новую версию PHP фреймворка: Yii 2.0.14. В неё вошло более сотни улучшений и исправлений, включая исправления безопасности.


        В релиз вошли несколько изменений, которые могут повлиять на уже работающие приложения. Эти изменения описаны в UPGRADE.md.


        Спасибо сообществу Yii за помощь в выпуске этого обновления!


        За процессом разработки можно следить, поставив звёздочку на GitHub. У нас есть много сообществ Yii, где вы можете попросить помощи или поделится своим опытом — мы и тысячи других пользователей Yii будем рады вашему участию.


        Этот релиз знаменателен тем, что становится последним релизом в версии Yii 2.0, содержащим улучшения. Это значит, что мы сконцентрируем силы на разработке версии 2.1.x, в которую войдёт много новых улучшений, которые невозможно включить в ветку 2.0.х из-за ограничений по сохранению обратной совместимости. Несмотря на это, ветка 2.0.х будет получать исправления и улучшения безопасности. Сроки окончания поддержки 2.0.х будут объявлены вместе с релизом версии 2.1.


        Убедитесь что версия фреймворка в composer.json прописана верно (~2.0.14) и вы не обновитесь на 2.1 случайно, когда он релизнется.


        Ниже мы рассмотрим самые интересные улучшения и исправления релиза. Полный список можно, как обычно, найти в CHANGELOG.

        Читать дальше →
      • Охота на рыжего демона или пеленгатор помех спутниковой навигации

        • Tutorial


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

        К чему это привело читайте дальше.
        Читать дальше →
      • Прочитайте код своего продукта. Весь

        • Перевод
        Основываясь на всём моём многолетнем опыте разработчика и техлида, я могу с уверенностью назвать одну конкретную вещь, которая наиболее сильно повышает продуктивность работы программиста: это прочтение абсолютно всего кода разрабатываемого командой продукта. Это «простое» действие (хотя оно и займёт некоторое время, а также потребует внимания для понимания прочитанного), но удивительно, как мало людей в командах делают это. А ведь разработчики, которые никогда не читали всего кода, всегда будут зависеть от тех, кто сделал это.
        Читать дальше →
      • Почему программисты не могут программировать

        • Перевод

        Я был недоверчив, когда прочитал это наблюдение у Реджинальда Брейтуэйт:


        Как и у меня, у автора возникают проблемы с тем фактом, что 199 из 200 претендентов на каждое задание программирования не могут писать код вообще. Повторяю: они не могут писать никакого кода вообще.
        Читать дальше →
      • К чёрту мотивацию, вам нужна дисциплина

        • Перевод
        Если вы желаете что-то сделать, то есть два способа этого достичь.

        Первый, более распространённый и в значительной мере неправильный вариант — попытаться мотивировать себя.

        Второй, весьма непопулярный, но абсолютно правильный выбор — воспитание дисциплины.

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

        В чём же разница?
        Читать дальше →
      • «Hello, (real) world!» на php в 2017 году

          Вы наверняка думаете, что писать на php — это просто. И «hello, world» выглядит примерно так так:

          <?php
          echo 'Hello, world!';
          

          Конечно, чего еще ожидать от языка с низким порогом входа. Ну да, именно так и было раньше. Много лет назад. Но теперь, в 2017 году никто так уже не делает. Давайте рассмотрим, почему, и попробуем построить наше более реалистичное hello-world приложение по шагам, а их, скажу сразу, получилось не мало.

          Читать дальше →
        • Все больше людей ударяются в мракобесие и отрицают существование ВИЧ. Россия на грани эпидемии

            image

            Последние месяцы СМИ сотрясает одна за другой публикации о надвигающейся на страну эпидемии ВИЧ. По различным оценкам, количество инфицированных в Российской Федерации перевалило за 1%, а в Екатеринбурге ситуация стала и вовсе критической — там медики официально объявили эпидемию (заражено 1,8% населения города).

            При этом обороты набирает пропаганда того, что ВИЧ не существует, а вся шумиха вокруг смертельно опасной инфекции — лишь происки врачей и попытка корпораций и системы здравоохранения запугать граждан и нажиться на их невежестве.

            Подобная точка зрения среди определенных категорий больных стала принимать массовый характер, что явно видно по социальным сетям. Самое печальное заключается в том, что в отличие от ГМО-мракобесия, следствием которого становится лишь замедление исследований и недоверие к генной инженерии со стороны населения, в случае с ВИЧ-мракобесием гибнут люди. Причем, как в классических сектах, в движении «ВИЧ — это миф» есть собственные «пророки», активно пропагандирующие отказ от лечения и профилактики, а также препятствующие оказанию помощи тем, кто на самом деле хочет ее получить.
            Читать дальше →
          • Форумы: движки, серверы и все-все-все

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

              Форумы: движки, серверы и все-все-все

              Какие движки используют успешные форумы? На каких серверах они работают? В какой кодировке хранят написанные пользователями сообщения? Вытеснит ли зашифрованный протокол HTTPS старый добрый HTTP?

              В исследовании используется статистика «Рейтинга форумов Рунета, Уанета и Байнета». Этот рейтинг содержит свыше 400 крупнейших русскоязычных (более 1 миллиона сообщений), украиноязычных (более 50 тысяч сообщений) и беларускоязычных (более 2 тысяч сообщений) форумов.
              Читать дальше →
            • Как вычисляют сумасшедших: патопсихологическая диагностика

                Update 07.04.19: У статьи появилось продолжение с критическим разбором используемых методик, рекомендую ознакомиться с ним.

                Привет, Geektimes! Этот пост я пишу в соавторстве с Лобановым Виталием (hdablin) по следам его публикации «Когнитивные стимуляторы и другая психофарма: можно ли стать умнее», посвящённой фармакологическим аспектам проблемы «разгона» мышления. В нём я хочу рассказать о патопсихологии, о том, как проверяют людей на адекватность в психиатрической больнице, о том, какими бывают нарушения мышления, как их выявляют, о том, где проходит разница между гиком и психически больным человеком, о том, можно ли диагностировать у себя психическое заболевание самостоятельно, и о многом другом, имеющем отношение к теме.

                Немного о себе: меня зовут Кристина, я медицинский психолог (именно медицинский, окончивший медицинский же университет по специальности «Клиническая психология», это важно), три года проработала в психиатрической больнице, сейчас ушла в частную практику, но осталась в психиатрии как в индустрии. Имею специализацию в нейропсихологии. За время работы мне приходилось сталкиваться с самыми разными категориями пациентов — шизофрениками, БАРщиками, депрессивными, органиками; часть из них обращалась добровольно, часть была госпитализирована в остром состоянии, часть вообще была «принудчиками» (это люди, совершившие преступление, но направленные судом не в тюрьму, а к нам в психушку на принудительное лечение).

                tl;dr: В статье рассказано о том, как, зачем и почему проводится диагностика нарушений работы психики.
                Читать дальше →
              • Обратная сторона Agile

                imageХочу поделиться историей, ну и заодно услышать мнения других участников хабрасообщества. Это небольшая история о том, как агрессивное внедрение методологии разработки Agile (Scrum) в отдельно взятой российской IT компании послужило началом исхода из компании лучших разработчиков. Обычно в статьях про Agile рассказывают, какая это классная и полезная методология, и вообще — это лучшее, что было придумано в этом направлении. Возможно, эта статья поможет взглянуть на Agile с другой стороны, ведь у любой монеты, как оказалось, есть две стороны.

                В общем, в 2010-м году была основана одна российская компания (что-за компания конкретизировать смысла нет), работала она в сфере IT-разработки (ПО для банковских продуктов).
                Читать дальше →
              • Блеск и нищета php. Эволюция языка от 4.x к 7.1

                  image


                  По слухам, сегодня должен состояться релиз 7.1. Поэтому хотелось бы немного оглянуться назад и посмотреть, а как же php вырос из набора костылей и подпорок в полноценный язык для веба. Прямо по шагам, т.е. по версиям. А в конце хотелось бы немного поразжигать поразмыслить о роли php в современной экосистеме.


                  Давайте мысленно вернемся во времена php4, когда получили своё развитие wordpress, bitrix и миллионы других CMS и домашних страничек.

                  Читать дальше →
                • Переносите домен? Готовьтесь к неприятностям


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

                    Обычно перенос домена сложностей не вызывает и хорошо описан в документации регистраторов. Я лично переносил уже не один десяток доменов между разными регистраторами и все было без накладок. Но по закону подлости при переносе домена самого крупного своего проекта получил массу новых впечатлений и даунтайм сервиса в несколько дней(!).
                    Читать дальше →
                  • Настройка окружения для PHP разработчиков

                    В данной статье мы рассмотрим настройку окружения для PHP разработчиков с использованием Vagrant, Docker, Xdebug, PHPUnit, и интеграцию с IDE PHPStorm.

                    +

                    Требования


                    • Окружение должно развертываться на Windows, MacOS, Linux
                    • Установка должна быть максимально простой
                    • Быстрая работа с файловой системой
                    • Интеграция с IDE PHPStorm
                    • Несколько версии PHP интерпретаторов (5.6, 7.0)

                    Читать дальше →
                  • [Select-Form]: Пишем свой select-список, используя jQuery и CSS

                    Здравствуйте, хабраюзеры и просто читающие. Сравнительно недавно задался вопросом, как применить стили к тегу select. Всем же хочется, чтобы стилизация формы соответствовала дизайну сайта, а пока что еще не все можно описать чистым CSS. В данной статье мы рассмотрим простенький пример написания своего select-списка, используя CSS и библиотеку языка JavaScript — jQuery. Думаю, особенно новичкам будет любопытен данный материал. Конечно, лучше было бы лучше написать на нативном JS, но всем известно, что строк кода было бы больше, и вряд ли он был бы понятнее.

                    Честно говоря, прежде чем взяться за создание очередного велосипеда, я пробовал найти подобное решение, но кроме эффектных div-оберток для тега select ничего не нашёл. И я подумал, что будет неплохо написать что-то простенькое и нужное. Ну, что ж, начнём!
                    Читать дальше →
                  • О теории искусственного интеллекта и работе подсознания и сознания

                      Многим знакомы фильмы, в которых искуственный интеллект, порожденный человеком, покушался на жизнь или контроль над своим создателем. Данный вывод может быть абсолютно закономерен для ИИ. Мало того, создание ИИ, подобного человеку, невозможно, а точнее сказать глупо, потому как это будет подобно созданию велосипеда на квадратных колесах, взамен известному классическому. Каким именно образом и почему такое возможно, и хочу вам рассказать. А также вы узнаете, почему человечество такое, какое есть.
                      Читать дальше →
                    • О сознании и искуственном интеллекте

                        Тема обретения искусственным интеллектом сознания стала фактически общим местом современной фантастической литературы и кинематографа (достаточно упомянуть Азимова, «Терминатора», «Призрак в доспехах» et cetera ad infinitum). Меж тем мало кто из фантастов задумывался над тем, что же такое сознание, как возникло сознание у человека и каким образом ИИ может это самое сознание обрести.
                        В данном эссе нам хотелось бы обратить внимание на одно очень интересное (и, на наш взгляд, весьма правдоподобное) определение упомянутого феномена, которое дал не фантаст и не философ, а ученый-эволюционист Ричард Докинз в своей книге "Эгоистичный ген".
                        И что же там?
                      • Детерминировано ли наше сознание?

                          В начале позапрошлого века французский математик Пьер Лаплас пришел к выводу, что наша вселенная является строго детерминированным объектом. То есть, зная начальное состояние системы, мы можем предсказать любое последующее её состояние, используя ряд вычислений.
                          Зная координаты и скорости всех объектов солнечной системы, мы имеем возможность предсказать её состояние через 10 — 20 — 1000 лет, пользуясь ньютоновской механикой. Лаплас считал, что детерминизм распространяется абсолютно на всё, в том числе и на человеческий разум.
                          Читать дальше →