Как стать автором
Обновить
82
0
Николай Бондаренко @misterion

Не скучный инженер

Отправить сообщение

Возможности Vue, о которых не следует забывать

Время на прочтение5 мин
Количество просмотров17K
Мы в команде Ptah решили пойти чуть дальше привычных SPA и попробовали использовать Vue для конструктора лендингов. И теперь хотим поделиться частью нашего опыта.

Эта статья, прежде всего, для тех, кто только начал работать с Vue и хочет узнать лучше его особенности и возможности. Здесь я хочу рассказать о некоторых возможностях фреймворка, которые часто остаются незаслуженно забытыми начинающими разработчиками.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии21

Сгореть и вернуться из пепла или люди-фениксы

Время на прочтение7 мин
Количество просмотров5.2K

История о том как “сгорают” в распределенных командах.


Мы, в ProtocoleOne, пишем разные проекты и почти все они Open Source. И так уж сложилось, что крутые специалисты живут в разных городах и даже странах и не только в столицах.


Один из таких проектов — PaySuper. Проект для монетизации игровых проектов и упрощения приема платежей.


Я каждый день работаю с множеством крутых парней, списываюсь и разговариваю на утренних созвонах, и, приехав как-то раз в офис, из них всех я встретил… одного.


Все остальные были где-то в “виртуальном” мире, соединенным со мной оптоволоконной линией. И при всем этом нам удается разрабатывать сложные, долгие и крутые (ну по крайней мере я так думаю :) ) проекты.


Как? Давайте попробуем разобраться.


В общем и целом, эта статья — мой личный опыт, но я попробовал его разбавить мнением с “другой стороны”, а именно со стороны тим-лидов и технического директора.

Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии2

«HTTP Strict-Transport-Security» или как обезопасить себя от атак «man-in-the-middle» и заставить браузер всегда использовать HTTPS

Время на прочтение4 мин
Количество просмотров100K
Внимание к мелочам рождает совершенство,
а вот совершенство уже не мелочь.


Микеланджело Буонарроти


C 2012 года администраторам веб-ресурсов стала доступна новая технология HTTP Strict Transport Security (HSTS) — механизм, активирующий форсированное защищённое соединение по HTTPS. Данная политика безопасности позволяет сразу же устанавливать безопасное соединение, вместо использования HTTP. Механизм использует особый заголовок HTTP Strict-Transport-Security, для переключения пользователя, зашедшего по HTTP, на HTTPS-сервер [1].
HSTS направлен на закрытие следующих уязвимостей к атакам:
Пользователь помещает в закладки или набирает в адресной строке http://example.com/ и становится жертвой атаки «man-in-the-middle» HSTS автоматически преобразует HTTP-запросы в HTTPS для целевого домена
Веб-приложение, предполагаемое к использованию строго по HTTPS, по небрежности содержит HTTP-ссылки или отдает контент по HTTP HSTS автоматически преобразует HTTP-запросы в HTTPS для целевого домена
Атакующий «man-in-the-middle» пытается перехватить трафик жертвы используя поддельный сертификат в надежде, что пользователь не обратит внимания на сообщение о невалидном сертификате HSTS не даст пользователю пройти дальше сообщения о проблемах с сертификатом
Включается данная технология проще простого, необходимо возвращать пользователю HTTP-заголовок «Strict-Transport-Security» в тот момент, когда он заходит на сайт по HTTPS:
Strict-Transport-Security: max-age=expireTime [; includeSubdomains]

expireTime
    Время в секундах, на которое браузер должен запомнить, что данный сайт должен посещаться исключительно по HTTPS. includeSubdomains (опционально)
    Если указать этот необязательный параметр, правила так же применятся ко всем поддоменам.
Читать дальше →
Всего голосов 42: ↑39 и ↓3+36
Комментарии33

Как работает yield

Время на прочтение6 мин
Количество просмотров664K
На StackOverflow часто задают вопросы, подробно освещённые в документации. Ценность их в том, что на некоторые из них кто-нибудь даёт ответ, обладающий гораздо большей степенью ясности и наглядности, чем может себе позволить документация. Этот — один из них.

Вот исходный вопрос:
Как используется ключевое слово yield в Python? Что оно делает?

Например, я пытаюсь понять этот код (**):
def _get_child_candidates(self, distance, min_dist, max_dist):
    if self._leftchild and distance - max_dist < self._median:
        yield self._leftchild
    if self._rightchild and distance + max_dist >= self._median:
        yield self._rightchild

Вызывается он так:
result, candidates = list(), [self]
while candidates:
    node = candidates.pop()
    distance = node._get_dist(obj)
    if distance <= max_dist and distance >= min_dist:
        result.extend(node._values)
        candidates.extend(node._get_child_candidates(distance, min_dist, max_dist))
        return result


Что происходит при вызове метода _get_child_candidates? Возвращается список, какой-то элемент? Вызывается ли он снова? Когда последующие вызовы прекращаются?

** Код принадлежит Jochen Schulz (jrschulz), который написал отличную Python-библиотеку для метрических пространств. Вот ссылка на исходники: http://well-adjusted.de/~jrschulz/mspace/

Подробный и обстоятельный ответ
Всего голосов 141: ↑136 и ↓5+131
Комментарии41

Curve25519, EdDSA и Poly1305: Три обделенных вниманием криптопримитива

Время на прочтение2 мин
Количество просмотров39K
Есть такой очень хороший товарищ по имени Daniel Julius Bernstein. Математик, программист и спец по компьютерной безопасности. Его хэш CubeHash чуть не дотянул до третьего раунда SHA-3, а потоковый шифр Salsa20 попал в шорт лист проекта eStream. А еще он автор культовой в узких кругах криптобиблиотеки NaCl, о трех штуках из которой я бы хотел вкратце рассказать.
Читать дальше →
Всего голосов 33: ↑32 и ↓1+31
Комментарии8

Полезные сниппеты для Nginx конфигов

Время на прочтение5 мин
Количество просмотров121K


Доброго времени суток, уважаемые хабравчане! В Elasticweb мы негласно ратуем за Nginx и, наверное, мы одни из немногих хостингов, которые не поддерживают Apache и .htaccess соответственно. В связи с этим, большое количество обращений в тех. поддержку связано с оказанием помощи в написании конфигурационного файла для Nginx. Поэтому мы решили собрать коллекцию полезных сниппетов и коллекцию готовых Nging конфигов для наиболее популярных CMS/CMF/Фреймворков на PHP.

Читать дальше →
Всего голосов 94: ↑91 и ↓3+88
Комментарии44

PHP-Дайджест № 73 – интересные новости, материалы и инструменты (18 октября – 5 ноября 2015)

Время на прочтение4 мин
Количество просмотров23K


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

Приятного чтения!
Читать дальше →
Всего голосов 41: ↑38 и ↓3+35
Комментарии13

Чёрточки: только ли тире, минус и дефис?

Время на прочтение4 мин
Количество просмотров178K
Однажды вечером я почувствовал, что пришло время расширить 97‐ й параграф «Ководства» Артемия Лебедева.

На клавиатуре одна чёрточка, она обычно правее нуля и повыше букв «З» и «Х». Неосведомлённые люди называют её попеременно то дефисом, то минусом, то тире. Лебедев объясняет нам, что это четыре (учитывая две разновидности тире) различных символа. На самом деле их как минимум девять, и об этом я и расскажу вам сейчас.

Читать дальше →
Всего голосов 311: ↑288 и ↓23+265
Комментарии208

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность