• Magento 2. Ui Grid

    • Tutorial
    Абсолютно все пользователи Magento 2 обратили внимание на обновленный интерфейс админ панели. В этой статье я хотел бы рассмотреть новый интерфейс Grid страниц и главное, как можно создать свою собственную Grid страницу с подробным описанием.
    Читать дальше →
  • Elasticsearch — сортируем выдачу руками

      Благодаря своей гибкости и масштабируемости, сегодня Elasticsearch находит применение во все более широком круге задач — от поиска до аналитики. Однако есть ряд вопросов, с которыми Elasticsearch не справится в одиночку.

      Например, ваша поисковая выдача меняется от пользователя к пользователю. И сортировка, основанная только на данных самого документа (TF/IDF или сортировки по любым полям документа), не дает нужного результата. При этом в поисковой выдаче интернет-магазина вы хотите показать товар, который пользователь уже смотрел на первых позициях.

      Другой пример. Параметр, влияющий на сортировку, меняется слишком часто: Elasticsearch построен на базе Lucene и использует append-only хранилище, обновление документов фактически отсутствует. Каждое изменение документа приводит к его переиндексации и влечет периодическое перестроение сегментов хранилища. Иными словами, если вы хотите отсортировать выдачу по количеству просмотров документа на сайте, то самое тупое, что можно сделать, — это записывать каждый просмотр в Elasticsearch. И здесь, похоже, назрел вопрос использования внешнего хранилища мета-информации, используемой для сортировки документов.


      Читать дальше →
    • Ускоряем angular.js или как не выстрелить себе в ногу



        Всем доброго времени суток. Релиз Angular.js 2.0 приближается, а проблемы с производительностью первой версии все еще остаются. Эта статья посвящена оптимизации Angular.js приложений и будет полезна как начинающим, так и тем, кто уже использует этот фреймворк, но еще не сталкивался с проблемами его производительности.
        Читать дальше →
      • Профилирование PHP скриптов на живом сервере

          Добрый день, сообщество!

          Наверняка кто-то из вас сталкивался с такой проблемой: медленно работает сайт на реальном сервере.
          Важно оперативно выяснить в каких местах возникли сложности. Использовать для этого xdebug нельзя, так как он создает большую нагрузку на сервер и сам вносит погрешность в измерения. Для решения этой задачи мы выбрали систему, которая позволяет очень быстро собирать древовидную статистику по работе сайта — pinba.
          Читать дальше →
        • Видео докладов с конференции DevConf 2014

            Этим летом в Москве проходила конференция профессиональных веб-разработчиков DevConf 2014. Мы в Badoo поддерживали конференцию, выступали с докладами и сделали видео докладов, которые были интересны нашим разработчикам. Так как спикеры были «за», то мы делимся видео с нашими подписчиками.

            1. «StatsCollector, или «Мама! Он и меня посчитал!»».
            Старынин Валерий, PHP разработчик отдела BI, Badoo.
            Доклад о том, как мы собираем статистику для каждого пользователя, обсчитываем каждое открытие страницы (и не только!), обрабатываем 120000 событий в секунду и планируем расширяться.



            Читать дальше →
          • А вот про Sphinx 3.0

              Вот вы там все сидите и ничего не знаете, а мы, тем временем, пилим помаленьку мега-релиз поискового движка Sphinx за номером 3.0. Грядет ряд больших переделок. Часть из них, как полагается, ещё даже как следует не начата. Однако большая часть уже скорее готова, чем нет. А отдельно взятые изменения даже протекли в публичную ветку 2.3. Так что, пожалуй, настало время вкратце начинать рассказывать, чего ожидать в светлом будущем: надеюсь, не столь отдалённом. Кому интересно почитать, все под кат; кому послушать, приходите на meetup в эту субботу. Если совсем вкратце, то: прощай, концепция дополняющего основную базу движка; привет, хранилище документов, тотальный RT, репликация, REST и ряд других известных ключевых слов.
              Читать дальше →
            • Учебник AngularJS: Всеобъемлющее руководство, часть 1

              • Перевод
              • Tutorial

              Содержание


              1 Введение в AngularJS
              2 Engineering concepts in JavaScript frameworks
              3 Modules
              4 Understanding $scope
              5 Controllers
              6 Services and Factories
              7 Templating with the Angular core
              8 Directives (Core)
              9 Directives (Custom)
              10 Filters (Core)
              11 Filters (Custom)
              12 Dynamic routing with $routeProvider
              13 Form Validation
              14 Server communication with $http and $resource

              1 Введение в AngularJS


              Angular – MVW-фреймворк для разработки качественных клиентских веб-приложений на JavaScript. Он создан и поддерживается в Google и предлагает взглянуть на будущее веба, на то, какие новые возможности и стандарты он готовит для нас.

              MVW означает Model-View-Whatever (модель – вид – что угодно), то есть гибкость в выборе шаблонов проектирования при разработке приложений. Мы можем выбрать модели MVC (Model-View-Controller) или MVVM (Model-View-ViewModel).

              Этот обучающий материал задумывался как отправная точка для изучения AngularJS, его концепций и API, чтобы помочь вам создавать великолепные веб-приложения современным способом.
              Читать дальше →
            • ASP.NET vNext Ликбез

              Ожидаемый релиз платформы ASP.NET (vNext) один из наиболее насыщенных в плане новшеств. Но вместе со всеми новинками к нам приходит и огромное число новых спецификаций, компонентов и других особенностей. В то же время мир .NET эволюционирует с такой скоростью, что просто следить за всеми новинками web-разработки от Microsoft почти не возможно. Особенно если вы до сих пор пишете на технологиях 10-летней давности (ASP.NET Web Forms, .NET 2.0) или выходец не из .NET мира веб-разработки. Возможно именно сейчас один из тех моментов когда можно пропустить все версии предыдущих обновлений и, начав с чистого листа, попасть в новый поток развития платформы. Рассмотрим основные пункты для этого:
              • vNext
              • Roslyn
              • OWIN
              • Katana
              • K

              Читать дальше →
            • altdrag — упрощаем работу с окнами в Windows

                Вкратце: бесплатная утилита altdrag упрощает управление окнами (move&resize) в Windows.

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

                Да, именно так, как это работает в Linux.

                Это очень удобно. Не нужно целиться в заголовок и в границу окна.

                Программа будет особенно полезна обладателям экранов с маленьким разрешением (например, нетбуки). Она поможет «обуздать» окна, превышающие размер экрана, которые обычно перетащить не получается.

                Читать дальше →
              • Архитектура больших проектов: FaceBook

                • Перевод

                Архитектура больших проектов: Facebook



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

                Читать дальше →
              • Centos5.5 Nginx 0.8.33 + PHP5.3.1(fpm) + MySQL5.5.0(phpmyadmin) — полная настройка для начинающих — 1 часть

                  Centos5.5 Nginx 0.8.33 + PHP5.3.1(fpm) + MySQL5.5.0(phpmyadmin)

                  Недавно мой знакомый купил ВПС, и конечно же ему захотелось развернуть полноценный сервер, плюс учитывая начальные ресурсы: 768Мб памяти и 2 ядра выделеных на его контейнер, сервер должен быть не прожорливым и быстрым, на нем будет крутиться blog. Решил поставить nginx, и php+php-fpm. Думаю nginx описывать не буду, как и php+php-fpm обзоры можно найти на хабре. Вот только вся соль проблемы в том, что он хотел поставить все правильно, как в учебнике. Заглянул по форумам, перегуглил весь интернет, но так и не нашел правильного пацанского мануала. Везде только основные моменты настроек и установки сервера. Так не пойдет, сказал он и пришел ко мне. Одна голова хорошо, но пиво в двоем пить лучше!
                  Стали составлять план, что нам нужно для работы.

                  ! Данный пост предназначен только для начинающих, для тех кто не имеет опыта в установке и настройке сервера. Вам будет понятно на примере что и где и как установить, и потом углубившись в мануалы и вооружившись напильником, сделать все конкретно под ваши задачи.
                  Как минимум для начала работы нужно:
                  Putty — the.earth.li/~sgtatham/putty/latest/x86/putty.exe — SSH client

                  Centos 5.5 — последяя будет уже стоять на серваке.
                  Nginx 0.8.33 — можно выбрать и старший релиз или стабильный.
                  PHP 5.3.1 — думаю проблем с ней не будет.
                  MySQL 5.5.0 — база!
                  php-fpm патч
                  suhosin-patch
                  libevent-1.4.13-stable

                  и далее все остальные пакеты которые понадобятся для компиляции и работы сервера:
                  gcc gcc-c++ libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers libmcrypt libmcrypt-devel pcre-devel

                  Поехали...
                • Как IT-специалисту сохранить свои финансы?

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

                    Однако российские реалии таковы, что даже хорошая зарплата сегодня, вовсе не означает сытого будущего хотя бы завтра, не говоря уж о более отдаленной перспективе. Не являясь специалистом в экономике или области финансов, я решил (прежде всего для себя), порассуждать на тему, а как же, собственно, нам, айтишникам, не потерять, и, в идеале, приумножить свои сбережения?
                    Читать дальше →
                  • Часть 2. Сколько мегабит/с можно пропустить через зрительный нерв и какое разрешение у сетчатки? Немного теории



                      Другие публикации из этой серии


                      Часть 1. Unboxing VisuMax — фемто-лазера для коррекции зрения
                      Часть 3. Знакомьтесь — лазер по имени Amaris. Переезды и первое пробуждение VisuMax
                      Часть 4.1 Возвращаем зрение. От очков до эксимерного лазера
                      Часть 4.2 Возвращаем зрение. От очков до эксимерного лазера

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

                      Я постараюсь рассмотреть человеческое зрение через призму IT. Если кому-то не слишком интересно читать часть, посвященную биологическим аспектам зрения — ничего страшного. Просто пропустите разделы, начиная с оптической системы глаза, и сразу переходите к традиционному конкурсу от наших девушек. Однако, я все же рекомендовал бы ознакомиться с этим материалом, чтобы лучше понять следующую статью, в которой мы будем рассматривать LASIK, Femto-LASIK, ReLEx SMILE и другие методы лазерной офтальмохирургии.

                      Есть настроение разобраться, что именно говорят эти непонятные люди в белых халатах, задумчиво глядя на результаты вашего обследования? Вы хотите узнать немного нового об уникальном природном даре — зрении? Тогда добро пожаловать под habracut. Как обычно — много иллюстраций и трафика (≈5 MB).
                      Читать дальше →
                    • Зима, смартфон и перчатки, или готовь палец летом…

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

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

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

                          Понедельник
                          • Новости: ученые изобрели машину времени, вышел новый ноутбук толщиной 80 нанометров, Google покупает Microsoft, Facebook увольняет 1000 программистов.
                          • Вылез стартап. Попиарился, лёг под хабраэффектом, встал, собрал замечания, поблагодарил, пропал навсегда.
                          • Вышла новая версия третьего слева линукса. Качать срочно.
                          • Я негодую — счет за телефон оператор округлил до кратности числу Пи.

                          Вторник
                          • Опровержение новостей: ученые изобрели всего-лишь более точные часы, 80 нанометров — это техпроцесс, а не толщина ноутбука, Google покупает какой-то стартап, который отказался купить Microsoft, Facebook набирает 5000 программистов.
                          • Начало холивара, модного на этой неделе (чай vs кофе, бинокль vs подзорная труба, черное vs белое)
                          • Очень важный технический ресурс (ЖЖ, порнолаб, Sony Network) взломан (заДДОСен, конфискован УБОПом). Паника и отчаяние.

                          Читать дальше →
                        • Поддержка формы айтишника

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

                            Эта статья — попытка обобщить, поделиться и обсудить с товарищами по несчастью информацию, накопленную на протяжении 3 лет тренировок.

                            Предыстория


                            Вопрос поддержания собственной физической формы остро стал после поступления в ВУЗ. До этого спортом, как таковым, я не занимался (за исключением шахмат в 5-ом классе, полугодовалого хождения на каратэ-до и физкультуры в школе). После первого семестра активной учебы и сдачи лаб, вольготного отношения к физкультуре и веселого распития пива, стал замечать, что потихоньку начинаю терять форму и обрастать жиром. Начал задумываться как комплексно подойти к решению сложившейся проблемы. Решительно и бодро проштудировал многочисленные сайты и руководства для юных качков и уверенно пошагал в зал (благо он был бесплатен). Естественно без тренера и естественно без какой-либо системы начал таскать все, что попадалось под руки. С разным количеством подходов и упражнений в них. Естественно, ожидаемого эффекта накачаться мои отчаянные попытки не дали. Далее я снова углубился в литературу и начал открывать для себя все новые и новые горизонты.
                            Думаю, не стоит описывать все мои попытки достичь высот, ибо это займет слишком много моего и вашего времени. Попытаюсь вкратце рассказать, что я извлек для себя из всего этого.
                            Читать дальше →
                          • Ghetto workout

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

                              Отжимания




                              Читать дальше →
                            • nginx magento ssl postfix — сервер и магазин своими руками

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

                                Но в основном было нытье, типа — я умнее тебя ты работаешь не правильно, конфиг не пацанский… никто так и не сказал как и что поправить, где сделать правильнее и по другому, какие еще есть возможности конфигурации, и тд. да и heck с ним, у всех свои взгляды, я это принимаю.
                                Все же кто то взял себе на заметку, ну а кто-то прошёл мимо.
                                Почему я пишу об этом? Есть сайты, форумы со списками рассылок, есть много мануалов, но, люди продолжают сходить с ума в поисках нормального пояснения установок и настроек. Платят другим горе специалистам, а те ставят все криво и не полные конфиги, без оптимизации. А если нет разницы — зачем платить больше (с)??? Любой человек хотел бы настроить свой сервер и поставить магазин, и для начала ему нужен старт, показать, что это очень просто, что можно сэкономить на начале, потом, когда все заработает, уже задуматься — а всели так сложно? а могу ли я дальше все делать сам? сделать еще лучше поднабравшись опыта? Да все можно сделать самому. Не даром старая мудрость гласит — хочешь чтобы было хорошо, сделай все сам!

                                Чтобы не писать порожняком, будем конкретно делать установку и запуск сервера для магазина, под управлением — МАГЕНТО 1.4.0.1

                                подробности
                              • Книга Джошуа Кериевски «Рефакторинг с использованием шаблонов»

                                  Дочитал на днях сабжевую книжку. Вышла она еще в 2008 году (а предыдущее издание и того раньше), но мне она попалась только недавно. По идее, читать ее надо было бы после книги Фаулера «Рефакторинг. Улучшение существующего кода», на которую Кириевски постоянно ссылается, но до Фаулера я пока не добрался, хотя это и не особо затруднило чтение. Вторая книга, которую лучше всего прочитать заранее, это «Приемы объектно-ориентированного проектирования. Паттерны проектирования» банды четырех.

                                  Суть книги «Рефакторинг с использованием шаблонов» состоит в том, что в книге автор собрал 27 довольно сложных рефакторингов, большинство которых предназначены для того, чтобы как можно более безболезненно ввести в архитектуру программы паттерны, описываемые в книге банды четырех. Как пишет в начале Кириевски, часто он начинает программировать без использования паттернов до тех пор пока этот участок кода не надо расширять, тогда он принимается за рефакторинг. Правда, в книге есть еще один рефакторинг, который наоборот избавляет код от использования синглтонов (автор называет болезнь, когда используют синглтоны по любому поводу, синглтонизмом и предлагает открыть общество анонимных синглтоников).
                                  Читать дальше →