Пользователь
Linux в кармане — на службе у фотографа
Недавно поставил себе задачу, как бы еще порадовать своих клиентов. Вспомнил многочисленные просьбы клиентов на свадебную съемку: «Как хорошо было бы, если бы на банкете вы смогли показать коротенькое слайдшоу из фотографий, которые отсняли за день». На эти просьбы приходилось отказывать, по нескольким причинам: лень таскать с собой ноутбук для сборки слайдшоу, нет времени на отбор пары десятков снимков из сотен, из raw опять же нужно конвертировать, и самое главное — на это все нужно время, которого нет.
Это рассказ, о том, как мне удалось сделать для себя инструмент, который с минимальным моим участием и минимальным дополнительным весом в рюкзаке, помогает сделать красивые слайдшоу. И конечно же рассказ о python, ffmpeg и linux на android.
Битовые операции в PHP на примерах
Например, встречались такие варианты:
if ($error['type'] == E_ERROR || $error['type'] == E_PARSE || $error['type'] == E_COMPILE_ERROR){…}
илиif(in_array($error['type'], array(E_ERROR, E_PARSE, E_COMPILE_ERROR)) {…}
В связи с этим решил написать небольшую статью о битовых операциях с примерами их использования.
Кеширование в Yii с помощью тегов
А у системы кеширования есть разные зависимости. Вот только ни одна из этих зависимостей не позволяет автоматически отслеживать изменения в таблице без обращения к ней же (имею ввиду CDbCacheDependency), что в нагруженных системах бессмысленно.
Для подобных вещей придумали так называемое тегирование. Т.е. создается какой-то тег, который сохраняется со всеми кешами связанными с данной таблицей. И как только он меняется, все связанные кеши должны перезагрузиться. Как оказалось в Yii это делается очень просто.
Работа с битовой маской
Часто возникает необходимость хранить данные логического типа для определенных таблиц. Например, таблица пользователей, такими данными могут быть поля активация пользователя, блокирование пользователя и др. Для таких полей удобно использовать битовую маску, при которой все данные хранятся в одном поле таблицы. Последнее время работаю с фреймверком Yii. Мне он нравится и во всем устраивает. Так вот, в процессе работы над несколькими проектами у меня появилось ряд наработок для работы с битовой маской под этот фреймверк.
Ими и хочу поделиться.
Гексагональная архитектура
По моему мнению, данная архитектура является отличным примером того, как должна строиться структура приложения. Более того, когда я писал свои проекты на Laravel, я, даже не зная этого, частенько использовал идеи, заложенные в основе гексагональной архитектуры.
Являясь одним из вариантов слоеной архитектуры, гексагональная подразумевает разделение приложения на отдельные концептуальные слои, имеющие разную зону ответственности, а также регламентирует то, каким образом они связаны друг с другом. Разбираясь с этим типом архитектуры, мы также можем понять как, зачем, и почему при проектировании приложения используются интерфейсы.
Гексагональная архитектура, ни в коем случае не новый подход к разработке с применением фреймворков. Напротив, это всего лишь обобщение «лучших практик» — практик новых и старых. Я обернул эти слова в кавычки, чтобы люди не воспринимали их совсем буквально. Лучшие практики, которые работают для меня, могут не работать для вас — все зависит от задачи и преследуемых целей.
Этот тип архитектуры придерживается классических идей, к которой приходят разработчики при проектировании приложений: отделение кода приложения от фреймворка. Пусть наше приложение формируется само по себе, а не на базе фреймворка, используя последний только как инструмент для решения каких-то задач нашего приложения.
Полезные сниппеты для Nginx конфигов
Доброго времени суток, уважаемые хабравчане! В Elasticweb мы негласно ратуем за Nginx и, наверное, мы одни из немногих хостингов, которые не поддерживают Apache и .htaccess соответственно. В связи с этим, большое количество обращений в тех. поддержку связано с оказанием помощи в написании конфигурационного файла для Nginx. Поэтому мы решили собрать коллекцию полезных сниппетов и коллекцию готовых Nging конфигов для наиболее популярных CMS/CMF/Фреймворков на PHP.
Разработка защищенных банковских приложений: главные проблемы и как их избежать
В прошлом году злоумышленники совершили на 30 % больше атак на российские банки, чем годом ранее. Пытались вывести около 6 млрд рублей. Часто атака становится возможной из-за недостаточной защищенности финансовых приложений.
По нашей статистике, более половины систем дистанционного банковского обслуживания (54 %) содержали XSS-уязвимости, которые позволяют осуществить MitM-атаку и перехватить доступ к интернет-банкингу. С мобильными банковскими приложениями ситуация выглядит не лучше: 70 % «кошельков» для Android и 50 % для iOS в 2014 году содержали уязвимости, достаточные для получения доступа к счету.
Выявлять уязвимости на ранней стадии гораздо дешевле, чем потом расхлебывать последствия их эксплуатации. В середине октября эксперты Positive Technologies Тимур Юнусов и Владимир Кочетков провели двухдневный мастер-класс по безопасной разработке банковских приложений. Сегодня мы представляем краткий пересказ.
Разговор о проблемах безопасности и их возможных решениях следует начать с типичных проблем защищенности банковских приложений.
NGINX как балансировщик нагрузки для MySQL или MariaDB Galera Cluster
Nginx хорошо известен всем за свои расширенные возможности и эффективность в качестве прокси и/или балансировщика веб-приложений с низким потреблением памяти. Как правило, nginx используется на первой “линии обороны” веб приложений, чтобы распределять нагрузку на сервера бекенда, периодически проверяя их работоспособность. Данная технология довольно популярна для приложений, которым требуется повышенная отказоустойчивость.
Чем отличаются SSL-сертификаты от Namecheap? Шифрование, проверка и доверие
(Замечание: После получения ценной обратной связи сообщества по сетевой безопасности, мы отредактировали эту статью, чтобы разъяснить нашу точку зрения, а также удалили второстепенные вопросы, которые отвлекали от основных, а именно: значительности проверки при SSL-сертификации и необходимости разъяснять пользователям, что из-за разработок в сфере автоматизации SSL-сертификации, наличие букв ¨https¨ и изображения замка в адресной строке уже может не свидетельствовать о безопасности, как ранее. Благодарим Вас за ценную обратную связь. Мы всегда прислушиваемся к ней и всегда открыты к обсуждению вопросов.)
Namecheap ориентирован на обеспечение безопасности и защиты данных всех пользователей. Мы считаем, что тенденция к шифрованию практически всего веб-трафика посредством автоматизированной выдачи SSL-сертификатов – положительное изменение в Интернете. Предотвращение MITM атак, а также других попыток перехвата данных, в интересах всех сторон. Это неоспоримый факт. Однако существует значительная разница между шифрованием и обеспечением безопасности. Это может показаться тривиальным продвинутым пользователям или специалистам, но для потребителей – это актуальная информация.
Мы думаем, что проверка владельца сертификата – важный вопрос, который требует особого внимания и обсуждения. Разработки последнего времени в сфере автоматизации выпуска SSL-сертификатов с технической точки зрения потрясающие. Тем не менее, следует разъяснить пользователям специфику новой модели обеспечения безопасности и то, на какие сигналы обращать внимание при принятии решений об обеспечении безопасности. Искать буквы «https» и изображение замка в адресной строке — т. е. показатели, которые традиционно считались достоверными, уже может быть и не так надежны, когда речь заходит о безопасности пользователя.
400 потрясающих бесплатных сервисов
Рад представить дополнение оригинального списка из 300 потрясающих бесплатных сервисов. Автор оригинальной статьи Ali Mese добавил ещё +100 новых сервисов, которые помогут найти все — от источников вдохновения и редакторов фотографий до создания опросов и бесплатных иконок.
И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.
A. Бесплатные веб-сайты
- HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
- Bootswatch: Бесплатные темы для Bootstrap.
- Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
- Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
- Strikingly: Конструктор веб-сайтов.
- Layers: Создание сайтов на WordPress (new).
- Bootstrap Zero: Самая большая коллекция бесплатных шаблонов Bootstrap (new).
- Landing Harbor: Продвижение мобильного приложения c помощью бесплатного лендинга (new).
Значимость SPF
SPF (Sender Policy Framework) представляет из себя текстовую запись в TXT-записи DNS домена. Запись содержит информацию о списке серверов, которые имеют право отправлять письма от имени этого домена и механизм обработки писем, отправленных от других серверов.
Например, SPF-запись «example.com. TXT «v=spf1 +a +mx -all»» говорит о том, что отправлять письма от имени домена «example.com» могут сервера, указанные в A и MX-записях этого домена, а письма, отправленные от других серверов должны быть удалены (Fail).
Wi-Fi: неочевидные нюансы (на примере домашней сети)
[!!]: после замечаний касательно публикации первой части привожу текст целиком. Если вы читали первую часть — продолжайте отсюда.
Пишем графическую программу на Python с tkinter
Поэтому предлагаю потренироваться в написании небольшой графической програмки на Python с использованием tkinter (кроссплатформенная библиотека для разработки графического интерфейса на языке Python).
Код в этой статье написан для Python 3.5.
Задание: написание программы для рисования на холсте произвольного размера кругов разных цветов.
Не сложно, возможно программа «детская», но я думаю, для яркой иллюстрации того, что может tkinter самое оно.
Хочу рассказать сначала о том, как указать цвет. Конечно удобным для компьютера способом. Для этого в tkinter есть специальный инструмент, который можно запустить таким образом:
Умный дом или игрушка для мужчин: Интернет
Итак, к технике.
Начнем по хронологии, чтобы всем все было понятно. Основы моего умного дома были заложены почти 2 года назад. Тогда считалось, что Интернет 2G на даче – это круто. Во всяком случае, я так считал. Если хочется 3G, то лезь повыше, на 2 этаж, залезай на табуретку около окна и не шевелись. Тогда было счастье – 3G, хоть и медленный. Я, как заядлый компьютерщик, решил
ipgeobase в Nginx
А потом смотришь: одни платные, другие нельзя у себя развернуть, третьи можно, но это ресурсозатратно, четвертые о регионах РФ ничего не знают…
И тут на помощь спешит больной мозг программиста с навязчивой идеей: «Нет у других — сделай сам»
Yii 2.0.6
Инструкции по установке и обновлению доступны по адресу http://www.yiiframework.com/download/.
Версия 2.0.6 является патч-релизом для ветки 2.0 и содержит более 70 небольших улучшений и исправлений, многочисленные улучшения документации и значительный прогресс с её переводом.
Спасибо всем, кто участвует в разработке фреймворка. Ваши pull-request-ы, обсуждения и другая помощь незаменимы.
За процессом разработки фреймворка можно следить поставив звёздочку или нажав кнопку «watch» на GitHub.
Также можно подписаться на наши Twitter и Facebook.
Далее представлен небольшой обзор самых интересных нововведений.
Обзор каркасов приложений на Symfony2
У каждой компании, имеющей некоторый опыт разработки на Symfony2, скорее всего имеется свой минимальный каркас для старта, но в статье мы посмотрим на варианты, находящиеся в открытом доступе.
Статья подойдет читателям, только начинающим знакомство с Symfony2. А людей, активно использующих этот фреймворк, попрошу поделиться замечаниями.
Подписываем данные: HMAC на практике в API и Web-формах
К таким данным могут относиться например данные, передаваемые в запросах API, когда критически важна целостность передаваемой информации, или же при передаче данных из Web-форм.
Как определить лицо на фотографии с помощью PHP
Информация
- В рейтинге
- Не участвует
- Откуда
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Зарегистрирован
- Активность