» Материалы за Май 2017 года » Страница 37

 

Дайджест интересных материалов для мобильного разработчика #203 (9-14 мая)

Автор: admin от 15-05-2017, 14:15, посмотрело: 165

В новом дайджесте – разбор RxJava 2, перегрев команды VR-разработки, новинки Build для всех, выбор архитектуры и кодинг финнов во время езды на велосипеде.

Дайджест интересных материалов для мобильного разработчика #203 (9-14 мая)

Категория: Веб-разработка, Android, iOS

 

Биометрические технологии в финтехе и банкинге

Автор: admin от 15-05-2017, 14:15, посмотрело: 213

Биометрические технологии в финтехе и банкинге


В нашем предыдущем посте мы писали о биометрии в общих чертах, о том, на каком уровне развития она сейчас находится, о нашей платформе Id-Me. Наиболее очевидными и перспективными отраслями для применения биометрических технологий являются банковская сфера и финтех.

Сегодня мы опишем существующие технологии, перспективы их развития и выгоды, которые содержатся в их грамотном применении.

Категория: Информационная безопасность

 

Анализ комуникации из Tor сети в инфраструктуру с помощью ELK стека

Автор: admin от 15-05-2017, 14:15, посмотрело: 190

ElasticSeach достаточно гибкая платформа, и полученные в него данные можно обрабатывать многими способами, даже за пределами стека ELK. Для этого предоставлено более десятка различных API. Но для многих задач будет достаточно и возможностей Kibana.

Одной из таких я хотел бы поделиться с сообществом. Для меня, как и любого безопасника, важно видеть и понимать коммуникацию своей инфраструктуры с внешним миром. Одной из самых интересных является коммуникация с луковой сетью (Tor).

Анализ комуникации из Tor сети в инфраструктуру с помощью ELK стека

Категория: Программирование, Информационная безопасность

 

Создание JPEG из ниоткуда

Автор: admin от 15-05-2017, 14:15, посмотрело: 81

Вот интересная демонстрация возможностей afl; меня реально удивило, что она работает!

$ mkdir in_dir
$ echo 'hello' >in_dir/hello
$ ./afl-fuzz -i in_dir -o out_dir ./jpeg-9a/djpeg


В сущности, я создал текстовый файл только со словом "hello" и попросил фаззер выдавать поток в программу, которая ожидает на входе изображение JPEG (djpeg это простая утилита, которая идёт вместе с распространённой графической библиотекой IJG jpeg; libjpeg-turbo тоже должна подойти). Конечно, мои входные данные не похожи на валидное изображение, так что утилита быстро отвергает их:

$ ./djpeg '../out_dir/queue/id:000000,orig:hello'
Not a JPEG file: starts with 0x68 0x65

Категория: Программирование

 

Почему вы не отвечаете на мой вопрос?

Автор: admin от 15-05-2017, 14:15, посмотрело: 209

Почему вы не отвечаете на мой вопрос?

На различных Q&A-сайтах и форумах, связанных с разработкой, я провёл времени больше, чем хотелось бы признавать. Там я ответил на тысячи вопросов. Как правило, вопросы остаются в границах таких форумов. Но после того, как вопросы начали сыпаться на мой личный почтовый ящик, я подумал, что надо написать об этом.

Эти электронные письма и сообщения обычно поступают от людей, с которыми я никогда раньше не общался — все они просто знают, что я «отвечаю на вопросы или решаю проблемы». Всё обычно выглядит примерно так:


  • Я написал вопрос по ссылке {здесь}. Могли бы вы исправить ошибку?

  • Привет, пожалуйста, помогите здесь {ссылка}.

  • У меня есть серьёзное домашнее задание со сроком сдачи сегодня в 5 вечера, и мне с ним не справиться. Могли бы вы скачать его здесь {ссылка} и сделать так, чтобы к тому времени оно работало?


Это полные тексты реальных электронных писем, которые я нередко получаю.

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

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

Категория: Программирование, Веб-разработка

 

Автоматизация SSH-доступа к нодам Kubernetes с помощью Fabric и интеграции от CoreOS

Автор: admin от 15-05-2017, 14:10, посмотрело: 145

Несмотря на то, что Kubernetes представляет мир, в котором SSH не так нужен в повседневном использовании для деплоя и управления приложениями, по-прежнему бывают случаи, когда SSH полезен для сбора статистики, отладки и исправления конфигураций. Пусть через несколько лет SSH и запуск разовых отладочных сессий может уже не понадобиться, описанные ниже инструменты могут пригодиться сейчас для быстрого SSH-подключения к машинам из кластера Kubernetes.

Автоматизация SSH-доступа к нодам Kubernetes с помощью Fabric и интеграции от CoreOS

Kubernetes хранит базу данных нод кластера, просмотреть которую можно командой kubectl get nodes. Это мощный фундамент для автоматизации и интеграции с существующими инструментами. Одним из таких инструментов является SSH-утилита Fabric, известная ещё как fabfile.py.

Категория: Программирование, Системное администрирование

 

SOLID: принцип единственности ответственности

Автор: admin от 15-05-2017, 14:10, посмотрело: 145

В этой статье мы попробуем описать один из известных принципов объектно-ориентированного программирования, входящий в аббревиатуру не менее известного понятия SOLID. На английском языке он носит название Single Reponsibility, что в переводе на русский означает Единственность Ответственности.

В оригинальном определении этот принцип гласит:

Класс должен иметь только одну причину для изменения

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

Категория: Программирование

 

Soft Mocks для Go! (переопределение функций и методов в runtime)

Автор: admin от 15-05-2017, 14:10, посмотрело: 142

Soft Mocks для Go!


Soft Mocks для Go! (переопределение функций и методов в runtime) Основная идея Soft Mocks для PHP — это переписывание кода «на лету» перед include(), чтобы можно было поменять реализацию любых методов, функций и констант во время исполнения. Поскольку go — компилируемый язык, то логично делать то же самое на этапе компиляции. В этой статье я расскажу по свой проект Soft Mocks for Go.

Функциональность


Возможности Soft Mocks for Go весьма ограничены — вы можете временно переопределить нужные вам функции и методы, а потом откатить свои правки. Также можно вызвать оригинальную функцию.

При использовании soft mocks, следующий код:

func main() {
    closeFunc := (*os.File).Close
    soft.Mock(closeFunc, func(f *os.File) error {
        fmt.Printf("File is going to be closed: %sn", f.Name())
        res, _ := soft.CallOriginal(closeFunc, f)[0].(error)
        return res 
    })  
    fp, _ := os.Open("/dev/null")
    fmt.Printf("Hello, world: %v!n", fp.Close())
}


Напечатает вот что:

File is going to be closed: /dev/null
Hello, world: <nil>!


Скачать библиотеку можно по адресу: github.com/YuriyNasretdinov/golang-soft-mocks

Категория: Программирование, Веб-разработка

 

PHP-Дайджест № 108 – свежие новости, материалы и инструменты (24 апреля – 14 мая 2017)

Автор: admin от 15-05-2017, 14:10, посмотрело: 178

PHP-Дайджест № 108 – свежие новости, материалы и инструменты (24 апреля – 14 мая 2017)


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

Категория: Программирование, Веб-разработка

 

29 докладов DotNext 2017 Piter: От .NET Standard и контейнеров до безопасности и перфоманса

Автор: admin от 15-05-2017, 14:10, посмотрело: 192

Когда мы начинали делать DotNext, мы пошли по пути технического хардкора и мозголомной сложности, ровно так же, как делали это в Java-мире с Joker и JPoint. Шли годы, конференция росла, мы получали фидбеки и делали конференцию лучше, меняли программу, доклады, спикеров… И вот недавно, общаясь с людьми на DotNext и JPoint, я пришел для себя к интересному выводу — .NET разработчики не хотят упоротого хардкора:

  • Здесь нет безумного зоопарка фреймворков, работу которых надо в обязательном порядке знать на уровне исходников;

  • нет 5 GC, каждый из которых обладает своими особенностями;

  • качество документации стандартной библиотеки и развитых фреймворков в среднем выше;

  • большинство инструментов работают четко и счетчики производительности обычно не врут (это я в основном про .NET Framework говорю, с Core не все так радужно пока);

  • сам язык, в конце концов приятен и понятен (хотя под JVM можно пользоваться тем же Kotlin).


Зато есть много чего другого интересного:

  • Если вы работаете на низком уровне, модели памяти никуда не деваются;

  • Работа над улучшением производительности и оптимизации по памяти по прежнему с нами;

  • Сама платформа развивается огромными темпами — надо оставаться в курсе;

  • С кроссплатформенностью приходят новые инструменты и новые проблемы.



Поэтому новую программу конференции мы решили строить немного по-другому. Получается, что DotNext 2017 Piter — уже не только хардкор. А если не хардкор, то кто? Подробности смотрите под катом.

29 докладов DotNext 2017 Piter: От .NET Standard и контейнеров до безопасности и перфоманса

Категория: Программирование