• Я не знаю ООП

      Я не умею программировать на объектно-ориентированных языках. Не научился. После 5 лет промышленного программирования на Java я всё ещё не знаю, как создать хорошую систему в объектно-ориентированном стиле. Просто не понимаю.

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

      И вот несколько вещей, которые вызывают у меня непонимание.
      Читать дальше →
    • В чём не следует подражать Джобсу



        Заказчики, млеющие от форм знака БМВ, не думают, что цвета и их расположение намекают на флаг Баварии, а сектора в круге символизируют самолетные пропеллеры (двигатели к которым «Баварские мотозаводы» когда-то изготавливали). Данный знак хорош только тем, что стоит на хороших машинах.

        Артемий Лебедев, «Ководство», § 103.


        Презентации, которые делал Стив Джобс, считаются (заслуженно) яркими, интересными и запоминающимися. После его смерти титул самого крутого спикера компаний технологической сферы не имеет однозначного обладателя, но одним из перспективных кандидатов, несомненно, является Илон Маск. Он не так близок к миру IT (носит пиджак!) и внешне кажется непохожим на Джобса, но между ними можно найти немало общего. Многие эксперты (и на Мегамозге в том числе) препарируют их презентации в поисках рецепта успеха. Капитан Очевидность в моём лице хочет отметить, что основная часть успеха Маска и Джобса лежит не в области выступлений. Но пойду дальше и скажу, что учиться выступать, повторяя их стиль, может быть опасно.
        Читать дальше →
      • Интересные случаи организации работы на второй линии технической поддержки



          История такая: будучи одной из крупнейших ИТ-компанией на российском рынке ИТ-аутсорсинга и услуг, мы очень часто оказываемся в ситуации поддержки решений на стыке двух-трёх производителей. И когда возникает проблема, например, от которой зависит, заплатят людям вовремя пенсию или нет, в общем случае начинается следующая история:
          — Ну что вы, наше железо отлично работает, проблема в ПО, — говорит первый вендор и отправляет ко второму.
          — Как можно! Наш софт протестирован, проблема в аппаратной части, — говорит второй и отправляет к первому.

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

          Поэтому работаем вместо них мы. Один раз – даже включенными в кислородно-изолирующие приборы после сработки пожарной сигнализации.
          Читать дальше →
          • +25
          • 25.1k
          • 5
        • Мошенничество со ставками на спорт

          image Социальная сеть «ВКонтакте» превратилась в настоящую торговую площадку, естественно мошенники не упускают возможность заработать и придумывают всё новые способы обмана доверчивых пользователей. Я рассмотрю способ которым пользуются уже более полугода и расскажу как мошенникам удаётся убедить рядового пользователя купить пароль от архива с заведомо неизвестным результатом матча.
          Читать дальше →
        • Обновление KB3035583 может автоматически обновить Windows 7 до Windows 10

            На ресурсе reddit появились многочисленные жалобы специалистов по IT и простых пользователей о том, что выпущенное Microsoft обновление KB3035583 (Update installs Get Windows 10 app in Windows 8.1 and Windows 7 SP1) без спроса пользователей автоматически обновляет ОС до Windows 10. Несмотря на то, что Microsoft открестилась от такого поведения указанного обновления, число пользователей, столкнувшихся с данной проблемой уже стало очень большим.



            Обновление специализируется на установке приложения GWX (Get Windows 10) для обновления до новой версии ОС по желанию пользователя, но никак не автоматически. У некоторых обновившихся таким образом пользователей стали также наблюдаться проблемы с системой RAID.

            Читать дальше →
          • Как в первый раз запустить i2pd: инструкция под Debian/Ubuntu

            • Tutorial


            I2p — это сеть со специализацией на анонимности внутрисетевых ресурсов, этим она отличается от сети tor, основной задачей которой являются не внутренние ресурсы, а построение безопасного доступа к интернету. Зная об этих двух особенностях, люди могут гораздо эффективнее работать в обеих сетях.

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

            • Tutorial


            I2p — это сеть со специализацией на анонимности внутрисетевых ресурсов, этим она отличается от сети tor, основной задачей которой являются не внутренние ресурсы, а построение безопасного доступа к интернету. Зная об этих двух особенностях, люди могут гораздо эффективнее работать в обеих сетях.

            В i2p ты можешь заниматься множеством вещей: посещать и создавать сайты, форумы и торговые площадки, принимать почту, чатиться и скачивать торренты, и многое многое другое. Программа i2pd способна работать с большим числом программ и сервисов.
            Читать дальше →
          • Pagekit: обзор модульной CMS на базе Symfony

            Pagekit: обзор модульной CMS на базе Symfony

            Знакомьтесь: Pagekit — это новая модульная CMS от немецкой студии-производителя шаблонов YOOtheme, основанная на Symfony компонентах, а также Vue.js, Webpack, Doctrine и других современных технологий. Pagekit задумывался как сочетание простоты в управлении с гибкими возможностями для разработки — того, чего не хватает известным CMS на базе PHP, и имеющим множество анахронизмов.
            Читать дальше →
          • Правила хорошего тона при написании плагина на jQuery

            Правила хорошего тона при написании плагина на jQueryЯ написал уйму плагинов на jQuery. Если посмотреть код всех плагинов, сортируя их по дате публикации на github, то можно проследить эволюцию кода. Ни в одном из этих плагинов не соблюдены все рекомендации, которые будут описаны ниже. Все что будет описано, лишь мой личный опыт, накопленный от проекта к проекту.
            Писать расширения на jQuery довольно просто, но если хотите узнать как написать их так, чтобы потом их было просто поддерживать и расширять, добро пожаловать под кат.
            Читать дальше →
          • Альтернативный способ локализации веб-сайтов: мутирующий контент CDN

            Вступление


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

            В этой статье я хотел бы вынести на обсуждение альтернативную модель перевода веб-сайтов. Если попытаться описать принцип в одном предложении, то это: CDN, который переводит контент между пользователем и оригинальным источником.
            Подробности
          • Badoo перешли на PHP7 и сэкономили $1M

              Badoo перешли на PHP7 и сэкономили $1M

              Мы сделали это! Несколько сотен наших application-серверов переведены на PHP7 и прекрасно себя чувствуют. Насколько нам известно, это второй переход на PHP7 проекта такого масштаба (после Etsy). В процессе мы нашли несколько очень неприятных багов в системе кеширования байт-кода PHP7, но они исправлены. А теперь — ура! — благая весть для всего PHP-сообщества: PHP7 действительно готов к продакшену, стабилен, потребляет значительно меньше памяти и дает очень хороший прирост производительности. Ниже мы подробно расскажем, как мы перешли на PHP7, с какими трудностями столкнулись, как с ними боролись и какие результаты получили.
              Читать дальше →
            • Список ресурсов по машинному обучению. Часть 2

              • Translation


              Продолжим (1, 2) рассматривать тему машинного обучения. Вашему вниманию вторая часть (первая тут) адаптированной подборки полезных материалов.
              Читать дальше →
            • Моментальная загрузка десктопных и мобильных сайтов: часть 1

              • Tutorial
              Web optimization

              Привет, Хабровчане! Сегодня поговорим об оптимизации скорости загрузки сайта. Это первое на что обращает внимание пользователь особенно при входе с мобильных устройств. Какие проблемы ведет за собой низкая скорость сайта:
              — снижение конверсии (исследование Walmart);
              — уменьшение охвата аудитории;
              — увеличение показателя отказов;
              — снижение доступности сайта;
              — снижение скорости индексации поисковыми роботами.
              Читать дальше →
            • Как самостоятельно проанализировать рынок труда

                На данный момент IT в целом — это одно из самых динамично развивающихся направлений. Каждый день появляется сотня новых библиотек, каждый месяц кто-нибудь придумывает новый язык или платформу — да что там, появляются целые направления. Время бежит и какие-то строки в Вашем резюме устаревают — грубо говоря, они больше не добавляют Вам очков в глазах работодателя. А какие-то навыки наоборот, могли бы существенно поднять Ваш рейтинг.
                Как не потеряться в этом море возможностей, выбрать главное и не ошибиться? Очевидно, нужно держать руку на пульсе и отслеживать рынок труда. О том как это можно сделать с помощью собственного велосипеда — под катом.
                Конструкция велосипеда
              • Что нужно знать про миграцию в Россию к 1 сентября 2015-го с иностранной инфраструктуры



                  Любой оператор персональных данных, обрабатывающий данные не в России, может попасть под блокировку.

                  Ниже я хочу рассказать про некоторые моменты миграции, с которыми мы уже сталкивались на практике при переносе клиентов в Россию на нашу инфраструктуру. Конечно же, первый вопрос будет про законы, второй — про то, как данные защищены от изъятия.
                  Читать дальше →
                • ZeroNet — По настоящему распределенная сеть — год спустя

                    image

                    Примерно год назад я писал об этой сети ZeroNet — Распределенные сайты через Bittorrent и Bitcoin тогда еще хабр был торт и в комментариях были обсуждения о том насколько сеть распределена. Да, год назад действительно были вопросы, но теперь всё изменилось.

                    Внутри:
                    • Что это такое этот ваш ZeroNet
                    • Что изменилось за год
                    • Почему она полезно с точки зрения защиты от цензурирования
                    • Почему она полезна в качестве импорто замещения и «защиты сувереннитета»
                    • Что есть в сети?

                    Читать дальше →
                  • Как новые руководители разрушают доверенные им компании

                      Эта статья – о рисках смены руководства в больших компаниях и характерных явлениях при попытках игнорировать закон эффективного управления собственностью:
                      Эффективно управлять можно только той собственностью, которую мог бы создать сам.
                      Кто не может создать, – будет только разрушать!
                      И.А. Дедюхова, Кодекс Хамурапи
                      Картинка для привлечения внимания читателей из поколений Y и Z:


                      Краткое содержание


                      Новый директор себе в подчиненные и советники пригласит своих «проверенных людей». Увеличение штата топ-менеджеров в условиях фиксированного ФОТ повлечет за собой сокращение рядовых сотрудников на значительный процент.
                      Новый директор в первую очередь будет сокращать те подразделения, работу которых он не понимает. Под прессом психологического давления руководители этих подразделений возмут на себя обязательства самостоятельно разработать планы по сокращению и принять на себя все риски их реализации.
                      Сокращения пройдут под флагом повышения эффективности, но для «непонятных директору» подразделений не смогут сформулировать критерии этой эффективности, кроме «минимизации затрат». Цель по минимизации затрат без дополнительных обоснованных ограничений – это цель по уничтожению, и не имеет отношения к настоящей оптимизации.
                      Отсекая непонятные ему части компании (выводя в аутсорс и т.п.), директор попытается превратить компанию в ту, работу которой он полностью способен понять, которой он в полной мере способен управлять.
                      Проблему нехватки знаний в технической области новый директор и его команда компенсируют «помощью» от западных консалтинговых компаний. Это приведет к ситуации внешнего управления, причем без всякой ответственности за диктуемые извне решения.
                      Внешняя и внутренняя отчетность о работе компании до самого конца не будет показывать никаких признаков проблем, т.к. тому, кто принес плохие вести не выдают премию, а рубят голову.


                      Читать дальше →
                    • Управление компанией-разработчиком: оно вам надо?

                        На Гайдаровском форуме Герман Греф заявил, что Сбербанк будет переходить на новые информационные технологии, выбрав в качестве основного партнёра российско-американскую компанию с численностью 60 чел. При этом Сбербанк потратил 65 млрд. руб. на амбициозный и сложный проект централизации ИТ- структуры и на сегодняшний день у него более 22 000 ИТ-сотрудников, включая 6 тыс. человек в Сбертехе. Основная причина перехода — скорость внесения изменений в ИТ, которая была низка и привела к отставанию ИТ Сбербанка от лидеров по развитию и гибкости ИТ-инфраструктуры. А насколько важна скорость внесения изменений в разработке? На что нужно обратить внимание в управлении процессом разработки? Стоит ли использовать модели и методологии? Попробуем разобраться.

                        Читать дальше →
                      • 5 отчётов, которые будут полезны каждому проекту

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

                          Введение

                          Статья написана с точки зрения программиста из техподдержки ERP системы.

                          Выполняя очередное тестовое задание, по очередной вакансии, мне в голову пришла очередная гениальная идея.
                          Почему бы не отдать пользователю редактирование формул для вычисления колонок отчёта? Получиться тот же самый Excel к которому все привыкли, только синтаксис — SQL.

                          И конечно за 30 лет развития ERP систем это уже конечно где то было реализовано. Но их алгоритмы это их тайны, а мне не жалко. я поделюсь идеей.
                          Читать дальше →