Backend разработчик
Яблочный CI
Введение
Мы — команда Platform в Playrix, у нас большая и сложная билд-ферма, использующая возможности всех платформ и облачных решений и успешно применяющая их на практике. В этой статье я бы хотел поделиться с вами особенностью работы с платформой MacOS.
6 рекомендаций по разработке безопасных Go-приложений
Однако то, что в языке программирования нет уязвимостей, не означает, что любое приложение, написанное на этом языке, будет совершенно безопасным. Если разработчик не будет придерживаться определённых рекомендаций — он вполне может создать незащищённое приложение даже на таком языке. В случае с Go можно найти подобные рекомендации, обратившись к материалам OWASP.
Автор статьи, перевод которой мы сегодня публикуем, сформулировал, на основе данных OWASP, 6 рекомендаций по разработке безопасных приложений на Go.
Скрещиваем k8s с Kafka, бережём контейнеры, спасаемся от мусора в Ansible: топ-10 докладов DevOops 2018
Хабр, привет! Опубликовав видеозаписи докладов с DevOops 2018, мы традиционно составили десятку лучших докладов (по мнению посетителей конференции) и представляем её вам.
Доклады идут по возрастанию рейтинга, так что главные лидеры в конце поста, но различия между оценками не гигантские — в общем, стоит смотреть всё!
Несколько малоизвестных возможностей docker-compose
Во многих инструкциях с просторов интернета описывают некий минимум действий, и как следствие минимум команд и возможностей.
Я решил сделать некую подборку мало освещенных возможностей, особенностей. Статья не претендует на уникальность, это и мне, как памятка, и возможно некоторым падаванам поможет, начинающим свой путь с docker-compose.
Беспроводные устройства Xiaomi в умном доме ioBroker
Этот пост следует воспринимать, как пошаговую инструкцию для интеграции ZigBee устройств в инфраструктуру умного дома. Описанное здесь ни в коем случае не является аксиомой и можно найти много других способов подключения ZigBee устройств. Если всё же пропускать детальное описание, то можно составить впечатление о сложности или легкости объединения устройств от разных производителей в одну локальную платформу на примере ZigBee и ioBroker (о нём чуть позже). Я расскажу в этой статье, как подключить устройства к умному дому, отобразить информацию с них на планшете или просто в браузере и отправить сообщения через телеграм о смене состояния устройств. Если я вас заинтересовал, то прошу под кат.
PostgreSQL: PipelineDB — агрегирующие запросы в режиме реального времени
Если да — то вы уже представляете, что вам придётся написать что-то вроде такого, только хуже
SELECT hour(datetime), somename, count(*), sum(somemetric)
from table
where datetime > :monthAgo
group by 1, 2
order by 1 desc, 2
Время от времени самые разнообразные подобные запросы начинают появляться, и если один раз стерпишь и поможешь — увы, обращения будут поступать и в будущем.
А плохи такие запросы тем, что хорошо отнимают ресурсы системы на время выполнения, да и данных может быть так много, что даже реплику для таких запросов будет жаль (и своего времени).
А что если я скажу, что прямо в PostgreSQL можно создать вьюху, которая на лету будет учитывать только новые поступающие данные в прямо подобном запросе, как выше?
Так вот — это умеет делать расширение PipelineDB
Как подготовиться и сдать IELTS: личный опыт
Компьютерное зрение и машинное обучение в PHP используя библиотеку opencv
Основной вклад я внёс в два хаба: PHP и Серверное администрирование. Мне нравится работать на стыке этих двух областей, но сфера моих интересов гораздо шире.
Как и многие разработчики я часто пользуюсь результатами чужого труда (статьи на Хабре, код на гитхабе, ...), поэтому я всегда рад делиться с сообществом своими результатами в ответ. Написание статей — это не только возврат долга сообществу, но так же позволяет найти единомышленников, получить комментарии от профессионалов в узкой сфере и ещё больше углубить свои знания в исследуемой области.
Собственно эта статья об одном из таких моментов. В ней я опишу чем занимался почти всё своё свободное время за последние полгода. Кроме тех моментов, когда я ходил купаться в море через дорогу, смотрел сериалы или игрался в игры.
Полный перевод книги про построение сообществ: «Социальная архитектура»
«Это эссенция тридцатилетнего опыты разработки программного обеспечения.»Приветствую, Хабр.
Хочу представить лучшую (единственную) книгу по построению сообществ, написанную тру ИТишником.
Для себя я нашел применимые инструменты для анализа сообщества/организованности «на лету»(я и еще более 100 человек провели «аудит» Хабра), а так же подсказки, какой "генотип" закладывать при разработке нового продукта/брэнда/движухи. Читайте, сохраняйте, расшаривайте и пишите свой отзыв.
Об авторе
«К сожалению, мы не выбираем себе смерть, но мы можем встретить ее достойно, чтобы нас запомнили, как мужчин.»
— к/ф «Гладиатор»
Питер Хинченс (Pieter Hintjens) — бельгийский разработчик, писатель. Занимал должность CEO и chief software designer в iMatix, компании, производящей free software, такие как библиотека ZeroMQ (библиотека берет на себя часть забот о буферизации данных, обслуживанию очередей, установлению и восстановлению соединений и прочие), OpenAMQ, Libero, GSL code generator, и веб-сервиса Xitami.
- Автор более 30 протоколов и распределенных систем.
- Основатель проекта Edgenet по созданию полностью безопасной, анонимной глобальной P2P-сети.
- Президент ассоциации Foundation for a Free Information Infrastructure (FFII), которая воевала с патентным правом.
- CEO сервиса по созданию собственных вики-проектов Wikidot.
- Он был активистом open standards и основателем Digital Standards Organization.
- Питер в 2007-м был назван одним из 50 самых влиятельных людей в области «Интеллектуальная собственность».
О том, как я переизобретал медиацентр
С приобретением нового телевизора возник вопрос, какую приставку для него брать. Возможностей Chromecast уже не хватало и хотелось полноценный медиацентр на Kodi. Телевизор со SmartTV покупать не вариант — Kodi можно установить только на Android (из SmartTV платформ), а к нему я отношусь без особой любви, к тому же он уже внутри телевизора, а не в отдельной коробке, которую можно безбоязненно перепрошивать. Ну а зачем мне полноразмерный Android, со всеми его сервисами и программами в виртуальной машине, без полноценного GNU/Linux окружения и, скорее всего, без обновлений? По той же причине также были отметены многочисленные готовые медиацентры на Android, хотя та же приставка от Xiaomi довольно хороша. Можно было бы подумать насчёт SmartTV на TizenOS, но для него нет Kodi.
Создание приложения на Ionic с использованием API
Есть у меня приложение, написанное на Ionic Framework. На его основе хочу поделиться со всеми своим опытом разработки и напишу как создать кроссплатформенное приложение по шагам.
В этой статье будем с нуля разрабатывать приложение, которое позволяет читать статьи (публикации). У публикации будет название (заголовок), заглавное фото, краткое содержание, полное содержание, категория, автор, дата публикации. Все данные для приложения будут браться с сервера посредством Http-запросов.
В приложении будет несколько страниц (экранов):
- список всех публикаций, отсортированный по дате.
- список категорий, отсортированный по алфавиту.
- список авторов, отсортированный по имени.
- список публикаций выбранной категории, отсортированный по дате.
- список публикаций выбранного автора, отсортированный по дате.
- содержание публикации.
Результатом статьи получится приложение, которое выглядит как на картинке выше.
Плюс ссылка на исходники всего проекта.
Про похудение с точки зрения химика. Как я перепрограммировал свой организм
Аннотация: Рассказ о том как я подошел к процессу оздоровления своего организма с «точки зрения химика» и что из этого получилось. Вкратце :– сильно похудел пока на 28кг(процесс сильно замедлился и вполне управляем), многие элементы физического состояния сильно улучшились. В общем – много плюсов, особенно при сидячей работе, как это и бывает при работе с компьютерами. Неожиданно – что удалось обойтись без угнетающих и неприемлемых для меня диет. Минусы – для этого процесса мне пришлось выделять очень много времени. Особенно в начале, когда организм еще не настроился должным образом. Бывает трудно заснуть, Однако, у меня получилось то что получилось, и это оказалось много лучше того, что я ожидал.
Цель написания:Среди знакомых эмоциональное воздействие моего примера расходится кругами, естественно, все хотят знать Секрет (секрет Полишинеля на самом деле). К сожалению, если объяснять в двух словах суть моих действий – ходьба и питание, хоть и досыта, но не часто, это приводит только к непониманию и отрицанию.-«Для меня это невозможно». Для меня это тоже было невозможно, вот потому-то я и решил написать эту статью, в которой постараюсь изложить мои рассуждения, предпринятые действия и способы облегчить процессы расщепления накопленных организмом жиров, при этом не страдая от голода и с минимальным риском для здоровья.
Если Вам это интересно – пожалуйте под кат, обещаю много букв и мало картинок.
IP KVM своими руками
Решено было исправить это досадное недоразумение и как можно дешевле и компактней. Начнем со стереотипов Raspberry Pi и Arduino, а в следующей статье будет продолжение уже на другом железе.
Continuous delivery с Travis CI и Ansible
Настройка непрерывной доставки (Continuous delivery CD) для вашего проекта c github.com
Hеобходимо:
- Репозиторий на github.com
- Сервер для Ansible (для примера ip: 1.1.1.1)
- Сервер для развертывания вашего проекта (для примера ip: 2.2.2.2)
- Локальная машина с настроенным проектом
- Базовые знания работы в командной строке, Travis CI и Ansible
Очередная статья про Docker для новичка [nginx + php-fpm + postgresql + mongodb]
Всем доброго времени суток. Вдохновленный целым набором статей на тему поднятия окружения на докере, я решил поделиться своим опытом по данному вопросу.
Сразу оговорюсь, эта статья так сказать «от новичка новичку», поэтому постараюсь подробно рассказать обо всех сложностях и вопросах, которые у меня возникли в процессе настройки окружения в Docker.
Добро пожаловать под кат!
PHP-Дайджест № 98 – интересные новости, материалы и инструменты (28 ноября – 11 декабря 2016)
Видео доклада «Пишем #b_ правильно» с WebCamp 2015
Как сверстать сайт вручную «по-БЭМ» без классов «block__element__element», и на реальном примере со всеми его проблемами, а не меню-пункт_меню-ссылочка, как вы видели раньше. Без BEMJSON, BEM Tools, но с миксованием, модификаторами и разбором ошибок.
Я знаком с БЭМ давно и все эти годы встречался с множеством заблуждений и стереотипов в использовании. В докладе постарался развеять популярные мифы и рассказал о своём трехлетнем опыте внедрения и использования БЭМ и связанным с этим наступании на грабли.
Слайды: delka.github.io/talks/webcamp/2015/bem
Техническое задание на сайт
Не так давно на хабре были две статьи (Согласно техническому заданию и А зачем мне ТЗ? Я и так знаю!) посвященные техническим заданиям. У меня обе статьи вызвали, мягко говоря, недоумение, в особенности статья «Согласно техническому заданию». На мой взгляд, это вообще вредная статья, которая приводит к неверному понимаю сути ТЗ. В связи с этим хочу выразить свой взгляд на этот вопрос. Не буду говорить обо всех тех. заданиях, слишком широка тема, но думаю смогу рассказать о ТЗ на сайт.
То описание технического задания, о котором речь пойдет ниже, не является пересказом ГОСТа, но скорее является его творческой переработкой, хорошо сдобренной горьким опытом. Описанный ниже подход к ТЗ не охватывает все аспекты сайтостроения, но задает общее направление.
Большинство сайтов можно отнести к маленьким и очень маленьким проектам, масштаба единиц человеко-месяцев. В силу малости размеров такие проекты спокойно поддаются хорошему продумыванию и легко реализуются с помощью водопадной модели, достаточно просто не лениться на каждом этапе разработки (от написания ТЗ до сдачи проекта). Применять к этим проектам гибкие методологии разработки нет смысла, а как раз есть смысл применять хорошее ТЗ. К тем сайтам, которые не попадают под водопадную модель не стоит применять описанный ниже подход.
1. Обоснование необходимости ТЗ
А зачем вообще нужно ТЗ на сайт? Заказчик говорит: «Нужен следующий сайт: каталог товаров, корзина, форма заказа, доставка, мы на карте, о нас, обратная связь». Что не ясно? Ничего необычного, всё обыденно и рутинно.
Разработчик отчетливо представляет, что нужно сделать, а сделать, в его понимании нужно вот так:
Особенности разработки API на Symfony2
Информация
- В рейтинге
- Не участвует
- Откуда
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Зарегистрирован
- Активность