• Откуда мифы про Agile


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

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

      • Перевод
      Разметка структурированных данных позволяет показывать дополнительную информацию с вашего сайта в результатах поиска и сервисах Google. Мы рады представить несколько обновлений, которые помогут создавать разметку на сайте:

      Инструмент проверки структурированных данных


      Новый Инструмент проверки структурированных данных лучше показывает то, как Google интерпретирует разметку структурированных данных на странице сайта.
      Инструмент проверки структурированных данных
      Что именно можно тестировать
      • +11
      • 16,2k
      • 1
    • Как устроен наш код. Серверная архитектура одного проекта

        Картинка для привлечения вниманияТак сложилось, что к тридцати годам я менял работу лишь единожды и не имел возможности на собственном опыте изучить, как в различных компаниях устроены веб-проекты, расчитанные на высокую скорость отклика и большое количество пользователей. <irony> Так что, дорогой хабраюзер, попавший в поле моего зрения в оффлайне, увидев меня, лучше беги, пока я не начал докучать тебе вопросами на тему обработки ошибок, логирования и процесса обновления на рабочих серверах</irony>. Мне интересен не столько набор используемых технологий, сколько принципы, на которых построена кодовая база. Как код разбит на классы, как классы распределены по слоям, как бизнес-логика взаимодействует с инфраструктурой, каковы критерии по которым оценивается качество кода и как организован процесс разработки нового функционала. К сожалению, подобную информацию найти непросто, в лучшем случае всё ограничивается перечислением технологий и кратким описанием разработанных велосипедов, а хочется, конечно, более детализированной картинки. В этом топике я попытаюсь как можно более подробно описать, как устроен код в компании, где работаю я.
        Читать дальше →
      • Первый болтик

          Microsoft Robotics Studio – это среда для моделирования и программирования роботов. Программировать можно на таких языках как С#, Visual Basic и на встроенном визуальном языке программирования VPL (Visual Programming Language). Программа не новая, но в Интернете очень мало информации, можно найти только описание самой программы и пару стандартных примеров.

          Скачать Microsoft Robotics Studio
          Читать дальше →
        • «Отсекая лишнее». Каким образом ограничить свою фантазию и фантазию заказчика?

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

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

            Читать дальше →
          • Unsupervised learning или «пойди туда, не знаю куда, найди то, не знаю что»

              imageЭкспертные системы, нейронные сети, исчисление предикатов, хорновские дизъюнкты, теоремы сходимости…
              Не знаю как у вас, у меня вся эта кухня вызывает восторг. Как замечательно, что компьютеры (конечно, наученные программистами, вооруженными серьезной математикой) могут хотя бы иногда приближаться к человеку по навыкам принятия решений. Особенно это хорошо у них получается, когда человек готов учить.

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

              Неуправляемое обучение, обучение без учителя
              Однако есть ситуации, и их довольно много, когда правильного ответа никто не знает. И даже непонятно что является ответом. И даже задача не вполне ясна. Есть только данные. Надо что-то полезное из них извлечь.
              Согласитесь, задача гораздо более интересная и дающая простор для фантазии?
              Читать дальше →
            • Мертвые с косами. И тишина…

                Хочу поделиться опытом сборки бесшумного компьютера для дома.

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

                Корпус

                Компьютерный корпус — это всего лишь коробка, более или менее прилично выглядящая. Однако, если уделить внимание шумоизоляции, удобству сборки и эффективности охлаждения, то все не так очевидно. Для большей гибкости я рассматривал корпуса без блока питания, т.к. уже заранее выбрал один из самых тихих БП (см. ниже).
                Сразу скажу, что получилось дорого. Я выбрал корпус Antec P182 (на фото выше). Без блока питания они выпускают несколько моделей. Наиболее известные серии — P182 и P190 (сильно дороже). Есть еще довольно маленький корпус без БП NSK4000, но в небольших корпусах охлаждение менее эффективно и требует более шумных вентиляторов.
                Наряду с Antec я почитал про корпуса Lian-Li. Они оригинальны тем, что сделаны из чистого алюминия. Выглядят очень стильно и сделаны с высоким качеством. Но в России распространены еще меньше, чем Antec.
                Можно было, конечно, найти много хороших корпусов среди более дешевых. Что мне понравилось в Antec?
                Читать дальше →
              • Глазные ключи доступа (eye accessing cues)

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

                  В терминах НЛП это называется глазные ключи доступа (eye accessing cues)

                  Дабы не ждать ближайшего разговора с человеком чтобы обратить своё внимание на направления взгляда собеседника воспользуемся конкурсной работой Michael Simon Toon «Thought Moments» для BritishFilms. Не могу представить примера, более наглядного, чем этот



                  Автор ролика использует следующие ключи:
                  IMAGINATION — воображение MEMORY — память
                  EXPRESSION — выражение LANGUAGE — язык
                  EMOTION — эмоции LOGIC — логика
                  Читать дальше →
                • Постараюсь жить честно

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

                    Привет, хабр!
                    С удивлением обнаружил отсутствие на хабре развернутой статьи о сабже, что немедленно сподвигло меня исправить эту вопиющую несправедливость.

                    В условиях когда клиентская часть веб-приложений становится все более толстой, бизнес-логика неумолимо переползает на клиент, а на суверенитет серверных технологий все более смело посягает node.js нельзя не задуматься о приемах проектирования архитектуры на javaScript. И в этом деле нам несомненно должны помочь паттерны проектирования — шаблонные приемы решения часто встречающихся задач. Паттерны помогают построить архитектуру, которая потребует от вас наименьших усилий при необходимости внести изменения. Но не стоит воспринимать их как панацею, т.е., грубо говоря, если качество кода «не фонтан», он кишит хардкодом и жесткой связью между логически независимыми модулями, то никакие паттерны его не спасут. Но если стоит задача спроектировать масштабируемую архитектуру, то паттерны могут стать хорошим подспорьем.
                    Но впрочем эта статья не о паттернах проектирования как таковых, а о их применении в javaScript. В первой части этой статьи я напишу о применении порождающих паттернах.
                    Читать дальше →
                  • Pixi.js — 2D движок с прозрачной поддержкой WebGL

                      Pixi.js позволяет использовать мощь WebGL для рендеринга 2D-сцен, совершенно не вникая в подробности реализации, более того, он умеет самостоятельно определять наличие поддержки WebGL и переключаться между способами рендеринга. В отсутствие WebGL рендеринг осуществляется средствами canvas. Кроме того в Pixi.js реализован граф сцены, поддержка текстур и спрайтов, чуть больше недели назад в нём появилась поддержка интерактивности — на спрайты можно повесить обработчики событий мыши и тачскрина.
                      Читать дальше →
                    • intro.js — пошаговое руководство для веб-страницы



                        Эта маленькая библиотека позволяет очень просто создать пошаговое введение для сайта или приложения. Достаточно добавить атрибуты data-intro и data-step с описанием и номером шага соответственно к нужным элементам страницы. Вот так:

                        <a href='http://google.com/' data-intro='Hello step one!' data-step='1'></a>
                        
                        Читать дальше →
                        • +129
                        • 48,3k
                        • 24
                      • Пишем плагин для jQuery

                        • Перевод
                        • Tutorial
                        Эта статья призвана дать представление об основных правилах, подходах, дающих наилучшие результаты, и распространённых ошибках, на которые стоит обратить внимание при разработке плагинов для jQuery.
                        Читать дальше →
                      • Страны, регионы, города

                          Карта мира
                          Хочу поделиться базой стран, регионов и городов на русском языке. Возможно, кому-то пригодиться в своих проектах. В базе 106 стран, 922 региона и 10969 городов!

                          Если кто не понял о чем речь, то вспомните, например, как на ВКонтакте указывается город: выбирается страна -> подгружается список регионов -> выбирается регион -> подгружается список городов

                          Читать дальше →
                        • Быстрый старт с WebSocket на основе phpDaemon

                          • Tutorial
                          На хабре уже есть статья по этой теме. Но фреймворк с тех пор сильно обновился и, к сожалению, по старой статье разобраться скорее всего будет проблематично. Кроме того, в изучении чего-то нового всегда самое сложное — это начало. Поэтому по свежей памяти постараюсь описать процесс старта хотя бы в общих чертах.
                          Читать дальше →
                        • Технология быстрого создания фонов для 2D-игр на базе 3D-заготовок (48 часов разработки)

                          Вместо предисловия


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

                          Перед тем как начать я хотел бы сделать акцент на двух положениях:
                          Первое. Мы исходим из того что читатель знаком с такими пакетами как 3D Studio MAX (либо любым другим пакетом трехмерного моделирования) и Photoshop (или любым его аналогом). В данном конкретном случае я собираюсь использовать терминологию этих двух пакетов. Однако, не смотря на это те же самые принципы можно использовать, пользуясь любым другим софтом.

                          Второе. В своей работе я всегда исхожу из одной простой истины: простота – залог успеха. И если первое положение предельно ясно, то второе я хотел бы раскрыть несколько шире. Начав, как это ни печально, именно с теории.

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

                          Хочу также отметить, что я не причисляю себя к мастерам, которые делают шедевры. Данное примечание я делаю для тех злых людей, которые говорят (или скажут после публикации), что я заносчив, что меня занесло под небеса, и тех кто вместо того чтобы работать предпочитает злословить словно ябедник Кийр из моей любимой книги Оскара Лутса «Весна».

                          С преамбулами покончено перейдем к сути.

                          Я утверждаю и не беспочвенно, что хороший фон можно и нужно создавать не за неделю, не за пять дней и даже не за три. Чтобы сделать хорошую картинку для казуальной игры, без разницы i-spy это, match-3 или аркада, достаточно 48 часов. Разумеется, при условии того, что человек занимается работой, а не просиживанием штанов.

                          image

                          Читать дальше →
                        • Консоль для маководов: Beyond the GUI

                          • Tutorial
                          Доброго дня, уважаемые хабравчане-маководы!

                          Сегодня я расскажу как увеличить эффективность работы в Mac OS X за счёт использования консоли.

                          Лирическое отступление


                          Думаю, ни для кого не секрет, что Mac OS является Unix-based системой, но переработанной почти до неузнаваемости. Даже консоль засунули куда подальше — не сразу и найдёшь. И вся система нацелена на использование GUI, при дефолтных настройках даже переключение между кнопками по Tab не работает — без мыши никуда. И тем не менее, Мак — это не только окошки, не только док и лаунчер. Мак это ещё и вся мощь shell скриптов и консоли!

                          Если Вы пришли из мира M$, то для начала неплохо бы поучить общие команды shell'а, например, по вот этому учебному пособию. Как минимум, нужно усвоить команды перехода по каталогам и способы запуска программ и скриптов.

                          Если Вы пришли в мир Mac OS из мира Linux'а и FreeBSD, то, скорее всего, знаете как минимум основы shell-скриптинга. Но и для вас в статье может оказаться кое-что интересное, ведь в маке есть уникальные консольные команды, которые так же полезно знать.

                          Вот о некоторых особенностях маковской консоли далее и пойдёт речь.
                          Поехали!
                        • Одно предложение, которое делает нас сильнее

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

                            Это шаблон описания сути вашей компании или проекта в одном предложении. Я открыл его для себя во время стажировки в США. Составив его, мы реально становимся сильнее. В последствии мне это помогло выбрать правильный курс, сфокусироваться и расставить приоритеты.
                            Читать дальше →
                            • +138
                            • 91,4k
                            • 51