Pull to refresh
2
0
Michael Vlasov @Vumik

Web-разработчик, IT-специалист

Send message

Интересный и одновременно простой слайдер на чистом CSS3

Reading time5 min
Views313K
Я никому не открою Америку, не удивлю публику новым фокусом и не взорву мозг тем, кто в CSS3 плавает, как аквалангист. Расскажу простой способ, как создать слайдер с помощью простых функций CSS3 без необходимости использовния javascript.
Читать дальше →

Как и зачем мы делаем TLS в Яндексе

Reading time16 min
Views90K
Я занимаюсь в Яндексе продуктовой безопасностью и, кажется, сейчас самое время подробнее, чем уже было на YaC, рассказать на Хабре о том, как мы внедряем TLS.

Использование HTTPS-соединений является важной частью безопасного веб-сервиса, так как именно HTTPS обеспечивает конфиденциальность и целостность данных на этапе передачи их между клиентом и сервисом. Мы постепенно переводим все наши сервисы только на HTTPS-соединение. Многие из них уже работают исключительно по нему: Паспорт, Почта, Директ, Метрика, Такси, Яндекс.Деньги, а также все формы обратной связи, имеющие дело с персональными данными пользователей. Яндекс.Почта уже больше года даже обменивается данными с другими почтовыми сервисами по SSL/TLS, поддерживающими это.



Все мы знаем, что HTTPS — это HTTP, завернутый в TLS. Почему TLS, а не SSL? Потому что принципиально TLS — это более новый SSL, при этом название нового протокола наиболее точно характеризует его назначение. А в свете уязвимости POODLE можно официально считать, что SSL больше использовать нельзя.
Читать дальше →

WSGI/Rack для PHP

Reading time2 min
Views13K
Исторически сложилось, что скрипты на PHP запускаются при каждом HTTP-запросе. Запускаясь, скрипт проводит какую-то инициализацию (например, устанавливает соединение с СУБД), после чего анализирует запрос и формирует ответ. Однако, всем прекрасно известно, что в мире Python и Ruby принят другой подход: веб-приложения на этих языках загружаются в память единовременно вместе с веб-сервером (или сервером приложений). Взаимодействие сервера приложений со скриптом осуществляется при помощи стандартных интерфейсов WSGI и Rack. Такой подход, безусловно, не лишён недостатков, главный из которых, пожалуй, связан с резким ростом накладных расходов при размещении большого числа сайтов на одном сервере, однако, обладает и важным преимуществом: инициализация производится лишь однократно, затем скрипт лишь отвечает на входящие HTTP-запросы.
Читать дальше →

Как правильно не соглашаться с идеями: Perfection Game и 3 шага проверки решения на устойчивость

Reading time6 min
Views27K
Осенью 2006 года судьба в лице руководства забросила меня на тренинг к Джиму Маккарти. Джим в свое время был руководителем проекта первой версии MS Visual Studio, после чего вместе с супругой Мишель ушел в тренеры-консультанты.

На тот момент я про Джима уже знал, поскольку на полке пылилась его книга “Программируем командный дух” (в оригинале “Software for Your Head”). Сквозь книгу я продраться не смог, поэтому ехал на тренинг с тяжелым чувством, что два дня проведу, скучая по работе.

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

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

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

Paperwork: свободная альтернатива Evernote

Reading time1 min
Views30K
У популярного веб-сервиса для создания и хранения заметок Evernote скоро появится свободная альтернатива — Paperwork. Благодаря открытым исходникам каждый может установить Paperwork на своём сервере и предоставить доступ пользователям по локальной сети или через интернет.

Демонстрационный доступ открыт по адресу demo.paperwork.rocks. После регистрации создаётся демо-аккаунт для создания и редактирования заметок. Базу данных удаляют ежедневно в 3:00 (CET). Для регистрации можно использовать произвольный email, он не проверяется.


Читать дальше →

Выбираем нано-квадрокоптер за 20$

Reading time3 min
Views62K
Актуально на февраль 2016

Прошёл ровно год, после того, как я написал пост "Прощай квадрокоптер или будьте осторожны с летательными аппаратами". Напомню, что тогда мой DJI Phantom, вместе с подвесом и GoPro, улетел в неизвестном мне направлении, а его поиски ничего не дали. Какого же было моё удивление, когда перед новым годом мне пришло сообщение:
«Привет Юра и Надя! Вчера я нашел ваш хеликоптер. Случайно увидел в серванте у одного местного. Зашел в дом к нему по делам. Смотрю на шкафу штучка интересная. Вряд ли полезная в этой семье. Спросил: Нашел? Да, нашел. На поленнице лежало. В мае нашел».

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

Состояние коптера — это большая тема для отдельной статьи, а пока скажу лишь, что основные элементы отлично функцонируют и коптер уже летает. Однако я решил не повторять своих ошибок и учиться пилотированию, начиная с более бюджетных моделей, а именно с нано-квадрокоптеров стоимостью ~20$, о них и пойдёт речь.


DJI Phantom в сравнении с нано-коптерами SYMA X12 и Cheerson CX-10
Читать дальше →

Статистика Backblaze: какой HDD самый лучший

Reading time4 min
Views58K


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

В дата-центре Backblaze на 31 декабря 2014 года работало 41213 дисков, которые используются для наших тарифных планов без ограничения на размер дискового пространства. Это больше, чем 27134 диска на конец 2013 года. В прошлом году большинство новых дисков имели объём 4 терабайта, а некоторые 6 терабайт.
Читать дальше →

7 золотых правил одного программиста

Reading time3 min
Views143K
Это статья про семь простых правил, которые я сформулировал для себя за годы работы программистом. Семь правил, которые подняли мою эффективность. Сделали меня лучше. Это мои правила и они работают для меня. Я не пытаюсь навязать их вам, я хочу поделиться с вами, и, возможно, узнать о том, каких правил и принципов придерживаетесь вы.

Компьютер всегда прав


Самая раздражающая ситуация в программировании — когда код верный, но не работает. “Да тут три строчки, блин, просто негде ошибиться! Наверное баг! Пойду потрачу три дня на изучение баг-репортов компилятора/интерпретатора/фреймворка...”. Возникает чувство, будто компьютер над вами издевается!

Тут главное помнить, что в этих трех строчках есть ошибка. Если код работает не верно — значит код написан не верно. Точка. Виноваты только вы. Универсальный совет — идите спать! Ну или хотя бы отвлекитесь на чашку чая. Когда, через некоторое время, вы вернетесь к коду, наверняка станет ясно, что тут лишний оператор отрицания, или перепутаны две переменные с похожими именами, или еще какая-нибудь мелочь, в которой мы никогда никому не признаемся.
Читать дальше →

Tree — убийца JSON, XML, YAML и иже с ними

Reading time11 min
Views175K
Здравствуйте, меня зовут Дмитрий Карловский и я… много думал. Думал я о том, что не так с XML и почему его в последнее время променяли, на бестолковый JSON. Результатом этих измышлений стал новый стандарт формат данных, который вобрал в себя гибкость XML, простоту JSON и наглядность YAML.

image Tree — двумерный бинарно-безопасный формат представления структурированных данных. Легко читаемый как человеком так и компьютером. Простой, компактный, быстрый, выразительный и расширяемый. Сравнивая его с другими популярными форматами, можно составить следующую сравнительную таблицу:
Больше — лучше JSON XML YAML INI Tree
Человекопонятность 3 1 4 5 5
Удобство редактирования 3 1 4 5 5
Произвольная иерархия 3 3 3 1 5
Простота реализации 3 2 1 5 5
Скорость парсинга/сериализации 3 1 1 5 5
Размер в сериализованном виде 3 1 4 5 5
Поддержка поточной обработки 0 0 5 5 5
Бинарная безопасность 3 0 0 0 5
Распространённость 5 5 3 3 0
Поддержка редакторами 5 5 3 5 1
Поддержка языками программирования 5 5 3 5 1
Читать дальше →

Полная кастомизация select без использования JS

Reading time4 min
Views84K
imageСколько я не мучил поисковик, а решения этого вопроса так и не нашлось. Конечно, всегда можно использовать JS и это нормально, но иногда заказчик душа просит изысков.
Читать дальше →

Я — сертифицированный PHP-специалист

Reading time4 min
Views33K
Да, наверное, возможность применения данного выражения — греет кому-то душу, но я немного о другом.

Разрешите поделиться опытом прохождения сертификации по PHP 5.5 от компании Zend Technologies.

Моя цель:
  • показать на примере, что это не так сложно, как кажется;
  • не так легко, как может показаться;
  • показать еще один весьма субъективный метод подготовки к тесту;
  • вдохновить тех из коллег, которые возможно планировали сертификацию, но все не решались это сделать.

Путь от «да, я хочу получить статус ZCE» до покупки ваучера


4 года — ровно столько времени потребовалось от простого «Да, не плохо было бы получить сертификат» до «Девушка, смотрите, а я сдал»

Если у вас появится такая мысль, то открывая в очередной раз Америку, скажу — вам помогут: правильно и ясно поставленная цель; четко разграниченные сроки; план действий.

Цель


Записывать поставленные цели — старо как мир, однако, о ведении записей и планировании жизни как таковой я раньше не задумывался. «Стать десятым ZCE в Казахстане» — одна из первых записанных на бумаге и достигнутых целей.
В этом плане нам технарям не нужно стесняться учиться и перенимать опыт у тимлидов, руководителей проектов и топ-менеджеров. Жизнь — это не только код, фичи и багфиксы.
Читать дальше →

Установка Archlinux на телефон с Android во второй раздел SD или просто подпапку системной карты памяти

Reading time5 min
Views54K
image

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

Обычный, классический Botbrew имеет свой репозиторий, но в нем мало пакетов, что грустно. Тем, кто действительно хочет беспредельничать, понравится Borbrew-Basil, который использует дебиановский репозиторий emdebian. Однако, с ним нынче тоже все грустно, так как
As of July 2014, updates to the Emdebian distributions ceased. There will be no further updates and no further stable releases.

Получается, что даже те, кто когда-то поставил себе emdebian, нынче в пролете. Данный пост будет о том, как поставить на рутованный телефон Archlinux, но не как обычно в loop образ, а на родную файловую систему Android или второй раздел SD. Предполагается, что имеется рутованный телефон с установленным busybox, включенной отладкой по USB и утилита adb на основном компьютере.
Читать дальше →

Долой абсолютные единицы в иконках-спрайтах

Reading time2 min
Views24K

Спрайты — классный способ сократить количество запросов к серверу. Можно упаковать кучу иконок в один спрайт и прописать в CSS смещения для каждой иконки. Однако, очень неудобно, что нужно попиксельно всё это считать. Пиксели — значит никакой динамики. Если использовать пиксели, то кусочек спрайта будет отображаться фиксированным размером — независимо от того, выводится он внутри параграфа, или внутри заголовка. Это неправильно, мне кажется, и неудобно. Но, похоже, я нашёл интересный способ выводить иконки динамического размера.
Читать дальше →

Обработка и оформление отчетов в Excel на PHP

Reading time16 min
Views259K

Не редко при разработке некоего проекта, возникает необходимость в формировании отчетной статистики. Если проект разрабатывается на Delphi, C# или к примеру, на С++ и под Windows, то тут проблем нет. Всего лишь необходимо воспользоваться COM объектом. Но дела обстоят иначе, если необходимо сформировать отчет в формате excel на PHP. И чтобы это творение функционировало на UNIX-подобных системах. Но, к счастью, не так все плохо. И библиотек для этого хватает. Я свой выбор остановил на PHPExcel. Я уже пару лет работаю с этой библиотекой, и остаюсь доволен. Поскольку она является кроссплатформенной, то не возникает проблем с переносимостью.


PHPExcel позволяет производить импорт и экспорт данных в excel. Применять различные стили оформления к отчетам. В общем, все на высоте. Даже есть возможность работы с формулами. Только необходимо учитывать, что вся работа (чтение и запись) должна вестись в кодировке utf-8.

Читать дальше →

AngularJS 1.x – перевод курса от CodeSchool

Reading time12 min
Views75K
Данная публикация является переводом оригинального курса CoodSchool с небольшими дополнениями, которые показались мне уместными в данном контексте. Публикация рассчитана на тех, кто только начинает знакомится с Angular.

Введение


AngularJS — популярная JavaScript библиотека, предназначенная, главным образом, для создания одностраничных веб-приложений с динамически обновляемым содержимым. Библиотека была написана словацким программистом Мишкой Хевери, который, работая в Google, получил от своего шефа задание выучить JavaScript. Он решил, что лучший способ изучить язык — это создать на его основе собственный фреймворк. Angular (звучит как «Ангула» и дословно переводится как «Угловатый») использует концепцию разделения данных и их представления, известную как MVC (M — model (данные), V — view (представление), С — controller (контролер, управляющая прослойка между ними обеспечивающая логику работы приложения).
Читать дальше →

#FailOverConf — как это было, презентации и видео

Reading time5 min
Views12K


4 апреля мы провели первую FailOver Conference — конференцию, целиком и полностью посвященную отказоустойчивости сайтов и их бесперебойной работе.

Целый день, более 7 часов, мы слушали доклады от разработчиков и архитекторов облачных сервисов, системных администраторов хостинг-провайдеров, опытных DBA, обсуждали их, спорили…

Тема оказалась очень важной и востребованной — более 1200 человек зарегистрировались на онлайн-трансляцию.

Конечно, сложно сразу «переварить» такой большой объем информации. К чему-то хочется вернуться позже, попробовать применить к конкретному проекту. Именно поэтому один из самых часто звучащих вопросов как из зала, так и в онлайне (в твиттере): «А будут ли опубликованы материалы?»

Да, конечно! Мы публикуем и презентации, и видео докладов, и с удовольствием делимся ими с вами!
Читать дальше →

Прозрачное кэширование в nginx для всех и каждого

Reading time2 min
Views115K
Представим, что у нас есть сайт, на который регулярно дают ссылки с хабра.
Нам нужно подготовить его к резким всплескам посещаемости. Как это сделать?

С версии 0.8.46 в nginx появились опции, позволяющие легко и просто настроить прозрачное кэширование для анонимных пользователей.

Для работы этой схемы от сайта требуется очень мало: достаточно лишь не начинать сессию, то есть не отправлять сессионную куку, без явной на то необходимости. Редкий сайт нельзя довести до такого состояния, а значит большинство сайтов можно защитить от резких всплесков посещаемости с помощью nginx с минимальными затратами сил и времени.

Читать дальше →

Умный анализатор uHoo расскажет все о качестве воздуха в доме или офисе

Reading time2 min
Views10K


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

Но что можно сделать в домашних условиях, в офисе? Много чего, если знать, что нужно делать. А для этого нужны данные о составе такого воздуха, нужен мониторинг. И такую возможность предоставляет умный анализатор воздуха uHoo.

Читать дальше →

Выбираем светодиодную лампу

Reading time3 min
Views182K
Всем привет, в продолжении своего поста хочу рассказать о своем опыте в выборе светодиодных ламп.
До написания данного поста меня сподвигло то, что рынок СИД ламп значительно расширился, а цены стали более доступными.
Для сравнения выберем светодиодные лампы, которые можно приобрести в розничных магазинах России или заказть из Китая.
Общее фото на память.

image
Читать дальше →

Аддон для Overclock`a сознания или флешбек-профи

Reading time3 min
Views70K
В продолжение темы ОС и этих двух постов: «Overclock мозга или внутренняя виртуализация сознания», Патч для гипервизора сознания хотелось бы поделиться своим опытом в данном сабже, а так же мало задокументированной, но зато намного более простой возможностью «прокачать» свой мозг.

image
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Registered
Activity