Когда вы выполняете какой-нибудь запрос, оптимизатор запросов MySQL пытается придумать оптимальный план выполнения этого запроса. Вы можете посмотреть этот самый план используя запрос с ключевым словом EXPLAIN. EXPLAIN – это один из самых мощных инструментов, предоставленных в ваше распоряжение для понимания MySQL-запросов и их оптимизации, но печальным фактом является то, что многие разработчики редко его используют. В данной статье вы узнаете о том, какие данные предлагает EXPLAIN на выходе и ознакомитесь с примером того, как использовать его для оптимизации запросов.
User
Семь принципов создания современных веб-приложений
19 min
189KTutorial
Translation
Эта статья основана на моей презентации с конференции BrazilJS в августе 2014 года. Она базируется на идеях, о которых я писал в блоге недавно, в основном, в связи с UX и производительностью.
Я хочу представить 7 действенных принципов для веб-сайтов, которые хотят применить JavaScript для управления UI. Эти принципы являются результатом моей работы как веб-дизайнера, но также как давнего пользователя WWW.
JavaScript бесспорно стал незаменимым инструментом для разработчиков фронтенда. Сейчас сфера его применения расширяется на другие области, такие как серверы и микроконтроллеры. Этот язык программирования выбрали престижные университеты, чтобы обучать студентов основам информатики.
В то же время существует ряд вопросов относительно его роли и конкретного использования, на которые многие затрудняются ответить, в том числе авторы фреймворков и библиотек.
Я хочу представить 7 действенных принципов для веб-сайтов, которые хотят применить JavaScript для управления UI. Эти принципы являются результатом моей работы как веб-дизайнера, но также как давнего пользователя WWW.
JavaScript бесспорно стал незаменимым инструментом для разработчиков фронтенда. Сейчас сфера его применения расширяется на другие области, такие как серверы и микроконтроллеры. Этот язык программирования выбрали престижные университеты, чтобы обучать студентов основам информатики.
В то же время существует ряд вопросов относительно его роли и конкретного использования, на которые многие затрудняются ответить, в том числе авторы фреймворков и библиотек.
- Должен ли JavaScript использоваться как замена функциям браузера: история, навигация, рендеринг?
- Умирает ли бэкенд? Нужно ли вообще рендерить HTML?
- Правда ли, что будущее за приложениями на одной странице (Single Page Applications, SPA)?
- Должен ли JS генерировать страницы на веб-сайте и рендерить страницы в веб-приложениях?
- Нужно ли использовать техники вроде PJAX или TurboLinks?
- Каково точное отличие между веб-сайтом и веб-приложением? Должно ли остаться что-то одно?
+90
GUI для xdebug trace файлов
3 min
17KПриходилось ли вам разбираться в запутанном коде без внятной документации? Например, что происходит при создании страницы в какой-нибудь CMS, или почему и откуда именно чужой код посылает email, или делает что-то еще?
Есть множество приемов для погружения в чужой код. Можно использовать var_dump(), для чего вам придется запускать один и тот же сценарий множество раз. Можно настроить отладчик, но тогда вам придется заходить (Step Into) во множество функций которые не относятся к тому что вы ищете, а если вы пропустите (Step Over) какой-то важный вызов, вам придется начинать все сначала. Современные IDE предоставляют хорошие средства статического анализа кода, но и с их поддержкой бывает сложно понять, что происходит во время выполнения.
Долгое время меня привлекали возможности трассировки xdebug, но вручную отследить что-либо в многомегабайтном логе совершенно не реально, а какого-нибудь внятного GUI для *.xt файлов я так и не нашел. Поэтому решил написать свой визуализатор, о котором и хочу рассказать.
Есть множество приемов для погружения в чужой код. Можно использовать var_dump(), для чего вам придется запускать один и тот же сценарий множество раз. Можно настроить отладчик, но тогда вам придется заходить (Step Into) во множество функций которые не относятся к тому что вы ищете, а если вы пропустите (Step Over) какой-то важный вызов, вам придется начинать все сначала. Современные IDE предоставляют хорошие средства статического анализа кода, но и с их поддержкой бывает сложно понять, что происходит во время выполнения.
Долгое время меня привлекали возможности трассировки xdebug, но вручную отследить что-либо в многомегабайтном логе совершенно не реально, а какого-нибудь внятного GUI для *.xt файлов я так и не нашел. Поэтому решил написать свой визуализатор, о котором и хочу рассказать.
+14
Что нужно настроить в mySQL сразу после установки?
5 min
150KTranslation
Вольный перевод довольно старой статьи с MySQL Performance Blog о том, что лучше сразу же настроить после установки базовой версии mySQL.
+81
Феерическая расстановка всех точек над Lumia 1020 или каким должен быть настоящий камерофон с поддержкой RAW
11 min
221K
Пришло время собрать в одном месте все-все-все мифы и разоблачения одного из самых противоречивых с точки зрения читателей камерофонов — Lumia 1020. (Внимание, много фото, красивых фото)
А также гвоздь программы, впервые на хабре, у всех на глазах: работа с RAW-исходниками, полученными с 1020, и их обработка.
Садитесь поудобнее, мы начинаем ;)
Какие вопросы чаще всего приходят в голову, когда читатель слышит выражение: «Камерофон Lumia 1020 с камерой в 41 мегапиксель»?
- 41 мегапиксель, как он там умещается?
- Соответствует ли остальное железо заявленному уровню фотомодуля?
- И всё же, там правда столько мегапикселей?
- Да даже если столько, какая от них польза? Зачем так много?
- Предположим, что в этом есть смысл, но RAW в смартфоне — это же перебор, толку от него с такой матрицы?!!
- Всё равно зеркалка лучше!
P.S. Да, у автора всё так же остался приступ «Люди любят обиженных» и он всё ещё отчаянно пытается восстановить честь финских инженеров, чьи достижения, по мнению автора, были незаслуженно проигнорированы в свете последних событий.

Пойдём по порядку.
1. 41 мегапиксель, как он там умещается?
+136
Как перестать беспокоиться и начать снимать панорамы
3 min
59K
Иногда технических возможностей фототехники не хватает для того, чтобы запечатлеть ту картину, которая предстает нашему взору. В такие моменты приходится идти на всякие ухищрения, без которых фотография просто не получится.
Например, один из моих любимых объектов съемки — облака. Я очень люблю наблюдать за небом, как облака появляются, перекатываются из одной фигуры в другую, исчезают, и на их месте появляются новые. Но для того, чтобы сделать красивую фотографию облаков зачастую недостаточно разрешения и угла обзора цифровой камеры, поэтому приходится делать панорамы. Панорамная фотография — это общая фотография, собранная из множества отдельных кадров с фрагментами сцены. Процесс сборки панорамы в редакторе называется склейкой панорамы. Я не буду расписывать каждый шаг — дам общую информацию, которая позволит начать клеить панорамы, а уж детали программ разберете сами, если будет желание.
+36
Беззеркальные камеры и закон компьютерных мощностей
10 min
113K
+52
Перестаньте называть себя программистом и другие карьерные советы
19 min
258KTranslation
Есть один курс, который я бы добавил в программу обучения по всякой инженерной специальности, и он не о компиляторах или сложности алгоритмов. Это “Введение в реальность индустрии”, ибо об этом не говорят и это приводит к никому не нужным обломам. Эта статья претендует стать README.txt для молодого инженера в деле построения карьеры. Ее цель — сделать вас счастливее, заполнив пробелы в образовании относительно того, как работает реальный мир. Я не призываю следовать написанному как подробному руководству, но я надеюсь, что эта информация окажется для вас более ценной, чем то ничто, что вам рассказали об этом в университете.
+173
Периодическая таблица методов визуализации
1 min
26KЭтот краткий информационный пост посвящен тем, кто интересуется визуализацией данных.
На сайте http://www.visual-literacy.org обнаружил сегодня очень любопытную интерактивную периодическую таблицу методов визуализации данных (по аналогии с периодической таблицей химических элементов Менделеева).

Каждый элемент в этой таблице интерактивен и при наведении указателя мыши показывает один определенный метод визуализации данных.
Например элемент «Mi» — представляет собой метод визуализации «Mindmap», в чем можно наглядно убедиться, если навести на него мышкой.
В общем рекомендую к ознакомлению.
Ссылка на таблицу
На сайте http://www.visual-literacy.org обнаружил сегодня очень любопытную интерактивную периодическую таблицу методов визуализации данных (по аналогии с периодической таблицей химических элементов Менделеева).

Каждый элемент в этой таблице интерактивен и при наведении указателя мыши показывает один определенный метод визуализации данных.
Например элемент «Mi» — представляет собой метод визуализации «Mindmap», в чем можно наглядно убедиться, если навести на него мышкой.
В общем рекомендую к ознакомлению.
Ссылка на таблицу
+21
Разоблачение 12 юридических заблуждений о программах для ЭВМ
7 min
183KЗаблуждение / опасная привычка | На самом деле … | Наш совет прост: |
1. Мы создали программу и автоматически стали ее авторами и правообладателями. Для охраны и продажи программы никаких документов оформлять не нужно, ведь она охраняется авторским правом — ©! | Действительно: программа для ЭВМ охраняется авторским правом как литературное произведение (п.1 ст. 1259, ст. 1261 ГК РФ). Но то, что для возникновения авторских прав не требуется регистрация или соблюдение каких-либо иных формальностей (п.4 ст. 1259 ГК РФ), ни в коем случае не освобождает: − от соблюдения набора критериев, установленных законом; − от необходимости документально доказать факт создания программы и свои права на них. Неоформленный SOFT закон не охраняет. Всё просто: если у вас спор о правах на программу, то без документов вы не сможете доказать, что (1) у вас были права и (2) ваши права нарушены, (3) что сама эта совокупность данных и команд на языке программирования является интеллектуальной собственностью (ведь различные версии и релизы никакой новой интеллектуальной собственности не создают). То же самое – при постановке на бухгалтерский учёт и оформлении бухгалтерских проводок. Коротко говоря: нет документов = нет интеллектуальной собственности = нет нарушений прав = нет компенсации за нарушение прав. |
Оформляйте много хороших и разных документов при создании программ для ЭВМ: — договоры с авторами; — договоры с подрядчиками; — технические задания; — протоколы совещаний и тестов; — соглашения между соавторами; — авторское свидетельство; — сертификат признания интеллектуальной собственности; — спецификация РИД; — свидетельство о регистрации программы для ЭВМ (Роспатент). |
+89
Мультиварка — умная кастрюля или «не доведенный до ума» гаджет
12 min
645K
Этот пост будет полезен всем, кто хотя бы иногда что-то готовит сам, а также помогает или мешает это делать другим.
Из него можно узнать, что это за гаджет — мультиварка, какие у нее технические возможности и невозможности, внутренность, наружность, достоинства (много) и недостатки (тоже много). Расскажу кое-что и о маленьких мультиварочных хитростях, а также позволю себе общее лирическое отступление о программировании на кухне.
Цель поста — рассказать про мультиварки, как класс объектов, не выделяя особо его представителей, но, чтобы не вести разговор о сферической мультиварке в вакууме, сделаю основным примером разбора мою модель — Panasonic SR-TMJ181.
Те, у кого нет мультиварки узнают, нужна ли она им, но и те, у кого она есть, надеюсь, без новых знаний не останутся.
+223
Виртуальная прогулка по датацентрам Google
1 min
96KКомпания Google, ранее ревниво охранявшая свои датацентры от посторонних взглядов, опубликовала впечатляющую подборку фотографий, сделанных в святая святых. Более того, по датацентру в городе Ленор (Северная Каролина), теперь можно прогуляться в Google Street View или посмотреть видеотур. Пожалуй, слова тут излишни. Смотрите сами.


+47
Оказывается, в Windows тоже есть перенаправления, пайпы, свой /dev, /dev/null, /etc/fstab, grub.cfg
5 min
95KTutorial
Разделы можно пропускать без ущерба для понимания, ровно как и любые непонятные/неинтересные места в них.
Как обычно:
Перенаправления
Как обычно:
echo foo > bar
echo foo 2> bar
echo foo > bar 2>&1
+71
Жизнь с планшетом или список приложений для Android
7 min
312KRecovery Mode
Привет!
Сегодня хочу рассказать о своей жизни с планшетом, ну а точнее поделиться списком приложений, которые помогают мне в моей жизни и работе.
Пост написан для устройств на базе операционной системы Android, но думаю и в других системах есть аналоги.
Сегодня хочу рассказать о своей жизни с планшетом, ну а точнее поделиться списком приложений, которые помогают мне в моей жизни и работе.
Пост написан для устройств на базе операционной системы Android, но думаю и в других системах есть аналоги.
+65
Подборки судебных решений. Ключевые слова и товарные знаки
19 min
17KВремя от времени в судах рассматриваются дела такой категории, как использование товарных знаков в качестве ключевых слов (в России пока речь идет только об использовании в сервисах Яндекс.Директ и Google AdWords, хотя за рубежом в это вовлечены и такие сервисы, как Baidu Paid Search, Ebay и другие). В статье рассматриваются некоторые значимые дела для российской и зарубежной судебной практики, которые дают некоторое представление о том, что на самом деле может стоять за подобным использованием ключевых слов.
+18
Готовим пользовательское соглашение своими руками
8 min
75KTutorial
Пользовательское соглашение или как его еще принято называть Соглашение об использовании сервиса, является ключевым документом, на котором строится юридическая защита интернет-сервиса.
По сути, всякое соглашение с пользователем сервиса направлено на легальное снижение правовых рисков владельца интернет-сервиса в связи с его эксплуатацией. При этом не важно извлекается ли доход от использования сервиса или услуги (лицензия) предоставляется пользователю бесплатно. Поэтому Пользовательское соглашение для сайта прежде всего выполняет роль дисклаймера. Прочие функции соглашения должны быть подчинены главной роли документа.
Особую актуальность вопросы защиты интернет-сервиса приобретают в связи с принятием так называемого «антипиратского закона», которым возлагается ответственность на информационного посредника за размещение или предоставление доступа к материалам, нарушающим интеллектуальные права третьих лиц. Закон вступает в силу с 01 августа 2013 г., в связи с чем пользовательские соглашения и схему взаимодействия с пользователем необходимо привести в соответствие с ужесточившимися требованиями.
По сути, всякое соглашение с пользователем сервиса направлено на легальное снижение правовых рисков владельца интернет-сервиса в связи с его эксплуатацией. При этом не важно извлекается ли доход от использования сервиса или услуги (лицензия) предоставляется пользователю бесплатно. Поэтому Пользовательское соглашение для сайта прежде всего выполняет роль дисклаймера. Прочие функции соглашения должны быть подчинены главной роли документа.
Особую актуальность вопросы защиты интернет-сервиса приобретают в связи с принятием так называемого «антипиратского закона», которым возлагается ответственность на информационного посредника за размещение или предоставление доступа к материалам, нарушающим интеллектуальные права третьих лиц. Закон вступает в силу с 01 августа 2013 г., в связи с чем пользовательские соглашения и схему взаимодействия с пользователем необходимо привести в соответствие с ужесточившимися требованиями.
+52
Жизнь разработчика (в картинках)
1 min
67KВзято отсюда специально для хабра. Возможно, в некоторых из ситуаций вы узнаете себя.
Когда я показываю босу, что окончательно пофиксил баг

Когда проджект-менеджер входит в офис

Когда я показываю босу, что окончательно пофиксил баг

Когда проджект-менеджер входит в офис

+516
Как найти чужое мыло
19 min
87K
Руководство содержит описание поиска личных и корпоративных email различными методами с использованием специальных сервисов и поисковых систем. Включает практические примеры поиска email и рекомендации для начинающих.
+35
Выравниваем блок по центру страницы
5 min
994KTutorial
Очень часто стоит задача выровнять блок по центру страницы / экрана, да ещё и так, чтобы без ява-скрипта, без задания жёстких размеров или отрицательных отступов, ещё чтобы и скроллбары работали у родителя, если блок превышает его размеры. В сети ходят достаточно много однообразных примеров как выровнять блок по центру экрана. Как правило большинство из них основаны на одних принципах.
+33
Google Public DNS не ресолвит некоторые домены
3 min
83K
В последние несколько месяцев стали поступать жалобы от пользователей, что до них часто не доходит почта от их партнеров. Почта поднята на собственном сервере, поэтому начал изучать логи. Но в логах не было ничего криминального. Кроме того, все тестовые письма, которые я отправлял в этот домен со своих ящиков, прекрасно доходили, и, пожав плечами, я решил, что это какие-то локальные проблемы.
Через некоторое время, мне в руки попал лог отправки письма в наш домен с другого сервера, и тут меня как обухом по голове ударили. Оказывается, их DNS сообщает почтовому серверу, что имя домена не опознано.
+41
Information
- Rating
- Does not participate
- Registered
- Activity