Pull to refresh
82
0
Николай Бондаренко @misterion

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

Send message

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

Reading time5 min
Views17K
Мы в команде Ptah решили пойти чуть дальше привычных SPA и попробовали использовать Vue для конструктора лендингов. И теперь хотим поделиться частью нашего опыта.

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

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

Reading time7 min
Views5.2K

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


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


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


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


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


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


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

Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments2

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

Reading time4 min
Views100K
Внимание к мелочам рождает совершенство,
а вот совершенство уже не мелочь.


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


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 (опционально)
    Если указать этот необязательный параметр, правила так же применятся ко всем поддоменам.
Читать дальше →
Total votes 42: ↑39 and ↓3+36
Comments33

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

Reading time6 min
Views664K
На 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/

Подробный и обстоятельный ответ
Total votes 141: ↑136 and ↓5+131
Comments41

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

Reading time2 min
Views39K
Есть такой очень хороший товарищ по имени Daniel Julius Bernstein. Математик, программист и спец по компьютерной безопасности. Его хэш CubeHash чуть не дотянул до третьего раунда SHA-3, а потоковый шифр Salsa20 попал в шорт лист проекта eStream. А еще он автор культовой в узких кругах криптобиблиотеки NaCl, о трех штуках из которой я бы хотел вкратце рассказать.
Читать дальше →
Total votes 33: ↑32 and ↓1+31
Comments8

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

Reading time5 min
Views121K


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

Читать дальше →
Total votes 94: ↑91 and ↓3+88
Comments44

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

Reading time4 min
Views23K


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

Приятного чтения!
Читать дальше →
Total votes 41: ↑38 and ↓3+35
Comments13

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

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

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

Читать дальше →
Total votes 311: ↑288 and ↓23+265
Comments208

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity