Pull to refresh
6
0

User

Send message

Magento 2. Ui Grid

Reading time45 min
Views33K
Абсолютно все пользователи Magento 2 обратили внимание на обновленный интерфейс админ панели. В этой статье я хотел бы рассмотреть новый интерфейс Grid страниц и главное, как можно создать свою собственную Grid страницу с подробным описанием.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments0

Elasticsearch — сортируем выдачу руками

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

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

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


Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments16

Профилирование PHP скриптов на живом сервере

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

Наверняка кто-то из вас сталкивался с такой проблемой: медленно работает сайт на реальном сервере.
Важно оперативно выяснить в каких местах возникли сложности. Использовать для этого xdebug нельзя, так как он создает большую нагрузку на сервер и сам вносит погрешность в измерения. Для решения этой задачи мы выбрали систему, которая позволяет очень быстро собирать древовидную статистику по работе сайта — pinba.
Читать дальше →
Total votes 39: ↑34 and ↓5+29
Comments59

Видео докладов с конференции DevConf 2014

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

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



Читать дальше →
Total votes 60: ↑55 and ↓5+50
Comments16

А вот про Sphinx 3.0

Reading time6 min
Views37K
Вот вы там все сидите и ничего не знаете, а мы, тем временем, пилим помаленьку мега-релиз поискового движка Sphinx за номером 3.0. Грядет ряд больших переделок. Часть из них, как полагается, ещё даже как следует не начата. Однако большая часть уже скорее готова, чем нет. А отдельно взятые изменения даже протекли в публичную ветку 2.3. Так что, пожалуй, настало время вкратце начинать рассказывать, чего ожидать в светлом будущем: надеюсь, не столь отдалённом. Кому интересно почитать, все под кат; кому послушать, приходите на meetup в эту субботу. Если совсем вкратце, то: прощай, концепция дополняющего основную базу движка; привет, хранилище документов, тотальный RT, репликация, REST и ряд других известных ключевых слов.
Читать дальше →
Total votes 74: ↑72 and ↓2+70
Comments54

Учебник AngularJS: Всеобъемлющее руководство, часть 1

Reading time7 min
Views272K

Содержание


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, чтобы помочь вам создавать великолепные веб-приложения современным способом.
Читать дальше →
Total votes 44: ↑38 and ↓6+32
Comments29

ASP.NET vNext Ликбез

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

Читать дальше →
Total votes 41: ↑39 and ↓2+37
Comments15

altdrag — упрощаем работу с окнами в Windows

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

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

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

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

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

Читать дальше →
Total votes 36: ↑33 and ↓3+30
Comments49

NoteSlate — просто блокнот и ничего лишнего. За $99

Reading time2 min
Views42K
Некие ребята решили подарить миру чудо:
image
Это блокнот на еPapper с сенсорным экраном формата А4 всего за 99 долларов.

Подробности и картинки внутри.
Читать дальше →
Total votes 250: ↑243 and ↓7+236
Comments191

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

Reading time7 min
Views9.2K

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



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

Читать дальше →
Total votes 53: ↑50 and ↓3+47
Comments13

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

Reading time12 min
Views5.3K
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

Поехали...
Total votes 40: ↑25 and ↓15+10
Comments28

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

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

Однако российские реалии таковы, что даже хорошая зарплата сегодня, вовсе не означает сытого будущего хотя бы завтра, не говоря уж о более отдаленной перспективе. Не являясь специалистом в экономике или области финансов, я решил (прежде всего для себя), порассуждать на тему, а как же, собственно, нам, айтишникам, не потерять, и, в идеале, приумножить свои сбережения?
Читать дальше →
Total votes 89: ↑72 and ↓17+55
Comments567

Часть 2. Сколько мегабит/с можно пропустить через зрительный нерв и какое разрешение у сетчатки? Немного теории

Reading time13 min
Views394K


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


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

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

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

Есть настроение разобраться, что именно говорят эти непонятные люди в белых халатах, задумчиво глядя на результаты вашего обследования? Вы хотите узнать немного нового об уникальном природном даре — зрении? Тогда добро пожаловать под habracut. Как обычно — много иллюстраций и трафика (≈5 MB).
Читать дальше →
Total votes 267: ↑260 and ↓7+253
Comments426

Зима, смартфон и перчатки, или готовь палец летом…

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

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

Немного погуглив, поэкспериментировав и вдохновившись вот этим постом на хабре, я решил смастерить чудо-перчатки, которыми можно манипулировать на морозе любым смартфоном с емкостным экраном (к которым относятся экраны и андроидов, и айфонов, и абсолютного большинства других современных смартфонов). Процесс, результат и видео — подкатом.
Читать дальше →
Total votes 28: ↑25 and ↓3+22
Comments55

Расписание выхода статей на Хабре (на любую неделю)

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

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

Читать дальше →
Total votes 432: ↑418 and ↓14+404
Comments57

Поддержка формы айтишника

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

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

Предыстория


Вопрос поддержания собственной физической формы остро стал после поступления в ВУЗ. До этого спортом, как таковым, я не занимался (за исключением шахмат в 5-ом классе, полугодовалого хождения на каратэ-до и физкультуры в школе). После первого семестра активной учебы и сдачи лаб, вольготного отношения к физкультуре и веселого распития пива, стал замечать, что потихоньку начинаю терять форму и обрастать жиром. Начал задумываться как комплексно подойти к решению сложившейся проблемы. Решительно и бодро проштудировал многочисленные сайты и руководства для юных качков и уверенно пошагал в зал (благо он был бесплатен). Естественно без тренера и естественно без какой-либо системы начал таскать все, что попадалось под руки. С разным количеством подходов и упражнений в них. Естественно, ожидаемого эффекта накачаться мои отчаянные попытки не дали. Далее я снова углубился в литературу и начал открывать для себя все новые и новые горизонты.
Думаю, не стоит описывать все мои попытки достичь высот, ибо это займет слишком много моего и вашего времени. Попытаюсь вкратце рассказать, что я извлек для себя из всего этого.
Читать дальше →
Total votes 46: ↑37 and ↓9+28
Comments35

nginx magento ssl postfix — сервер и магазин своими руками

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

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

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

подробности
Total votes 22: ↑12 and ↓10+2
Comments7

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

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

Суть книги «Рефакторинг с использованием шаблонов» состоит в том, что в книге автор собрал 27 довольно сложных рефакторингов, большинство которых предназначены для того, чтобы как можно более безболезненно ввести в архитектуру программы паттерны, описываемые в книге банды четырех. Как пишет в начале Кириевски, часто он начинает программировать без использования паттернов до тех пор пока этот участок кода не надо расширять, тогда он принимается за рефакторинг. Правда, в книге есть еще один рефакторинг, который наоборот избавляет код от использования синглтонов (автор называет болезнь, когда используют синглтоны по любому поводу, синглтонизмом и предлагает открыть общество анонимных синглтоников).
Читать дальше →
Total votes 66: ↑57 and ↓9+48
Comments26

Реализуем DI-контейнер на PHP5 с помощью Reflections

Reading time5 min
Views1K
Этот топик для тех, кто представляет, что такое DI (Dependency Injection) но никогда не задумывался «как оно там унутре все работает».
Прочитать, что такое DI, можно например тут или тут

Не ставилось целью разработать свой Production DI-фреймворк. Хотелось разобраться как можно реализовать подобную функциональность наиболее удобно (Phemto, упомянутый выше, показался менее удобным, чем, например, способ от Microsoft Unity)

Реализованный вариант конфигурируется в коде (не через XML, как некоторые другие реализации, хотя это кому как удобнее).
Каждый используемый тип должен быть предварительно зарегистрирован, но не надо перечислять его аргументы, как например в Phemto — контейнер сам выяснит типы аргументов конструктора через Reflection.

Посмотреть код реализации...
Total votes 8: ↑4 and ↓40
Comments4

jQuery 1.4: проблема с прерыванием ajax запросов

Reading time1 min
Views520
Решил перейти на новую версию, а тут такая засада. Как известно, метод $.ajax() возвращает объект XMLHttpRequest. У этого объекта есть метод .abort(), который прерывает запрос. И вот тут и кроется отличие от предыдущих версий — раньше такой «недогруженный запрос» тихо умирал, а в новой версии срабатывает событие success и недогруженные куски кода вставляются прямо на страницу, из-за чего смотрится это все очень не аккуратно.

Что это, баг или новая фича? Как это можно обойти? Помогите найти ответ.

Нормального чейнджлога версии, который бы смог внести ясность, найти не смог. А просматривать все видео на jquery14.com в поисках ответа, сами понимаете, никуда не годится.
Total votes 19: ↑18 and ↓1+17
Comments2
1
23 ...

Information

Rating
Does not participate
Registered
Activity