Системы управления версиями (VCS). Знакомство с Git.Dmytro Olaresko
Данный доклад познакомит Вас с системой управления версиями файлов Git, которой пользуется Drupal-сообщество. Эта система может значительно упростить жизнь команды разработчиков, а также обезопасить Вас от потери файлов. В доклад также входит описание систем управления версиями в целом.
Видео доклада:
http://www.youtube.com/watch?v=3urk3xf79SM
Владимир Гриненко —Инструменты фронтенд-разработчикаYandex
Мы поговорим о том, как создать эффективный и надёжный код, переложив всю лишнюю работу на роботов. Решим проблему с разным окружением у разработчиков (vagrant), научимся писать стили удобно (roole, autoprefixer), оптимизируем получившийся CSS (clean-css, CSScomb) и графику (Imagemin, SVGO), проверим js-код (jshint, jshint-groups, jscs), убедимся, что некрасивый код не попадёт в репозиторий (git-hooks), и обсудим, как можно быстро и легко создавать новые инструменты.
Автоматизируем всё, что можно, и подумаем, что и почему — нельзя!
Системы управления версиями (VCS). Знакомство с Git.Dmytro Olaresko
Данный доклад познакомит Вас с системой управления версиями файлов Git, которой пользуется Drupal-сообщество. Эта система может значительно упростить жизнь команды разработчиков, а также обезопасить Вас от потери файлов. В доклад также входит описание систем управления версиями в целом.
Видео доклада:
http://www.youtube.com/watch?v=3urk3xf79SM
Владимир Гриненко —Инструменты фронтенд-разработчикаYandex
Мы поговорим о том, как создать эффективный и надёжный код, переложив всю лишнюю работу на роботов. Решим проблему с разным окружением у разработчиков (vagrant), научимся писать стили удобно (roole, autoprefixer), оптимизируем получившийся CSS (clean-css, CSScomb) и графику (Imagemin, SVGO), проверим js-код (jshint, jshint-groups, jscs), убедимся, что некрасивый код не попадёт в репозиторий (git-hooks), и обсудим, как можно быстро и легко создавать новые инструменты.
Автоматизируем всё, что можно, и подумаем, что и почему — нельзя!
Полной автоматизацией процесса сборки приложения уже никого не удивишь. Не в последнюю очередь благодаря Maven – системе управления жизненным циклом проекта. Однако проекты растут очень быстро: увеличивается количество модулей, тестов, зависимостей, используемых плагинов. И всего лишь за год легковесный проект, на сборку которого уходило 5 минут, превращается в монстра, который пожирает время разработчиков 30-минутной сборкой. Чтобы справится с этой проблемой разработчикам приходится постоянно чистить свой код и бороться со скоростью выполнения тестов. Это верное решение, но не следует забывать о том, что и сам процесс сборки можно улучшить. В этом докладе будет рассмотрено, как при помощи простых и нехитрых шагов можно оптимизировать работу с зависимостями и обогатить скрипты сборки полезными плагинами. Также будут обсуждаться тонкости конфигурации основных плагинов и особенности работы с командной строкой, которые появились в последней версии Maven.
The project aims to ease the creation of new REST APIs by providing robust self-discovery generic REST API solution
Goals
No coding required to create a new REST API
Minimal modifications to persistent classes
Links
https://github.com/intersystems-ru/RESTForms/
https://github.com/intersystems-ru/RESTFormsUI/
Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...Unigine Corp.
Павел Наказненко, разработчик, freelance (Красноярск)
На основе нашего опыта портирования Unreal Engine 3 и Free Heroes 2 на Flash, расскажу немного о технологии FLASCC, а также тонкостях портирования С++ игр с помощью нее.
Альберт Матевосов, руководитель отдела разработки, “ДонИнтернет”
http://vk.com/stingmu
Основы о фреймворке Symfony
Отличия 3-ей ветки Symfony от 2-ой
Дальнейшее развитие Symfony
https://seleniumcamp.com/talk/webdriverio-puppeteer-double-gun-double-fun/
In the automation world, W3C Webdriver HTTP protocol has been successfully used for a long time. With its help, many projects and libraries in various languages have been implemented (selenide, protractor, webdriverio and thousands of others). But more and more teams decide to use Chrome Debug Protocol, in particular the Puppeteer tool. It is based on WebSockets, and has its own special features – two-way communication, ability to subscribe to events in the browser, and much more. In this talk, we will look at the capabilities of both protocols, experiment and combine them together in one project to make the browser work at full power, and take the best from both communication channels.
«Масштабируемый DevOps» Александр КолесеньIT Share
Типичные подходы к развертыванию приложений: как правильные, так и неправильные, но повсеместно применяемые.
Как сделать так, чтобы развертывание не стало проблемой с линейным ростом количества поддерживаемых окружений.
Методы обновления проекта с нулевым временем простоя: когда это уместно и принципиально возможно.
Михаил Боднарчук "Docker для PHP разработчиков" Fwdays
Это не рассказ о том, как из разработчика стать крутым DevOpsом. Это доклад о том, как можно сделать процесс разработки и развертки приложения комфортнее и эффективнее вместе с прогрессивной технологией контейнеризации - Docker.
В этом докладе я затрону следующие темы:
Docker - это то модное слово, которое все должны знать
Дирижирование оркестром вместе с Docker Compose
Создание и настройка рабочего окружения в Docker
Построение сервисно-ориентированых приложений
Безболезненное развертывание приложений с Shipyard
То, чего не хватало для Continuous Integration - запуск параллельных билдов
В мире автоматизации давным-давно успешно используют W3C Webdriver HTTP протокол. С его помощью реализовано множество проектов и библиотек на различных языках (selenide, protractor, webdriverio и тысячи других). Но так же в последнее время все больше и больше команд решают использовать Chrome Debug Protocol, в частности инструмент Puppeteer. Он основан на WebSockets, и имеет свои особые возможности - двухсторонняя связь, возможность подписки на события в браузере, и многое другое. В этом докладе мы посмотрим возможности обоих протоколов, поэкспериментируем и совместим их вместе в одном проекте, чтобы заставить браузер работать на полную и взять лучшее от двух каналов связи.
Source Control Addon for InterSystems Caché with UDL supportInterSystems
Source control module which lets import/export source codes of Caché Object Script classes, routines in UDL, XML modes.
Provides usage of every IDE with Caché and Ensemble
Полной автоматизацией процесса сборки приложения уже никого не удивишь. Не в последнюю очередь благодаря Maven – системе управления жизненным циклом проекта. Однако проекты растут очень быстро: увеличивается количество модулей, тестов, зависимостей, используемых плагинов. И всего лишь за год легковесный проект, на сборку которого уходило 5 минут, превращается в монстра, который пожирает время разработчиков 30-минутной сборкой. Чтобы справится с этой проблемой разработчикам приходится постоянно чистить свой код и бороться со скоростью выполнения тестов. Это верное решение, но не следует забывать о том, что и сам процесс сборки можно улучшить. В этом докладе будет рассмотрено, как при помощи простых и нехитрых шагов можно оптимизировать работу с зависимостями и обогатить скрипты сборки полезными плагинами. Также будут обсуждаться тонкости конфигурации основных плагинов и особенности работы с командной строкой, которые появились в последней версии Maven.
The project aims to ease the creation of new REST APIs by providing robust self-discovery generic REST API solution
Goals
No coding required to create a new REST API
Minimal modifications to persistent classes
Links
https://github.com/intersystems-ru/RESTForms/
https://github.com/intersystems-ru/RESTFormsUI/
Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...Unigine Corp.
Павел Наказненко, разработчик, freelance (Красноярск)
На основе нашего опыта портирования Unreal Engine 3 и Free Heroes 2 на Flash, расскажу немного о технологии FLASCC, а также тонкостях портирования С++ игр с помощью нее.
Альберт Матевосов, руководитель отдела разработки, “ДонИнтернет”
http://vk.com/stingmu
Основы о фреймворке Symfony
Отличия 3-ей ветки Symfony от 2-ой
Дальнейшее развитие Symfony
https://seleniumcamp.com/talk/webdriverio-puppeteer-double-gun-double-fun/
In the automation world, W3C Webdriver HTTP protocol has been successfully used for a long time. With its help, many projects and libraries in various languages have been implemented (selenide, protractor, webdriverio and thousands of others). But more and more teams decide to use Chrome Debug Protocol, in particular the Puppeteer tool. It is based on WebSockets, and has its own special features – two-way communication, ability to subscribe to events in the browser, and much more. In this talk, we will look at the capabilities of both protocols, experiment and combine them together in one project to make the browser work at full power, and take the best from both communication channels.
«Масштабируемый DevOps» Александр КолесеньIT Share
Типичные подходы к развертыванию приложений: как правильные, так и неправильные, но повсеместно применяемые.
Как сделать так, чтобы развертывание не стало проблемой с линейным ростом количества поддерживаемых окружений.
Методы обновления проекта с нулевым временем простоя: когда это уместно и принципиально возможно.
Михаил Боднарчук "Docker для PHP разработчиков" Fwdays
Это не рассказ о том, как из разработчика стать крутым DevOpsом. Это доклад о том, как можно сделать процесс разработки и развертки приложения комфортнее и эффективнее вместе с прогрессивной технологией контейнеризации - Docker.
В этом докладе я затрону следующие темы:
Docker - это то модное слово, которое все должны знать
Дирижирование оркестром вместе с Docker Compose
Создание и настройка рабочего окружения в Docker
Построение сервисно-ориентированых приложений
Безболезненное развертывание приложений с Shipyard
То, чего не хватало для Continuous Integration - запуск параллельных билдов
В мире автоматизации давным-давно успешно используют W3C Webdriver HTTP протокол. С его помощью реализовано множество проектов и библиотек на различных языках (selenide, protractor, webdriverio и тысячи других). Но так же в последнее время все больше и больше команд решают использовать Chrome Debug Protocol, в частности инструмент Puppeteer. Он основан на WebSockets, и имеет свои особые возможности - двухсторонняя связь, возможность подписки на события в браузере, и многое другое. В этом докладе мы посмотрим возможности обоих протоколов, поэкспериментируем и совместим их вместе в одном проекте, чтобы заставить браузер работать на полную и взять лучшее от двух каналов связи.
Source Control Addon for InterSystems Caché with UDL supportInterSystems
Source control module which lets import/export source codes of Caché Object Script classes, routines in UDL, XML modes.
Provides usage of every IDE with Caché and Ensemble
В 2015 году мы изменили порядок лекций. На первом этапе стажировки задача была делать проекты. И работа шла на результат. Мы не занимались качеством кода и архитектурой.
Это было сделано намеренно, чтобы когда дойдет до лекций о правильном коде, у участников стажировки уже был опыт реального проекта, на который они могут опираться, когда мы говорим о проблемах и о способах их решения.
Стажировка 2015. Разработка. Занятие 5. Использование nginx7bits
This document provides an overview of how to install and configure the Nginx web server on Ubuntu. It discusses:
1. Installing Nginx using the command "sudo apt-get install nginx".
2. The directory structure of an Nginx installation, including configuration files and virtual host configurations.
3. Examples of basic Nginx server configurations, including serving static files and adding additional configuration options.
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...Ontico
РИТ++ 2017, секция ML + IoT + ИБ
Зал Белу-Оризонти, 5 июня, 13:00
Тезисы:
http://ritfest.ru/2017/abstracts/2798.html
В данном докладе будет рассмотрено множество вопросов, с которыми сталкивается AppSec-отдел - как генерировать анти-CSRF токены, где хранить секретные ключи, как тестировать безопасность в сжатые сроки и многое, многое другое.
Комплекты для защиты серверов и рабочих станций от Intel Security (McAfee).
Рассмотрены основные комплекты EPS и модули, которые в них входят. Более подробно описана работа с консолью еРО и средствами шифрования.
В заключительной части даны практические советы и ссылки на источники достоверной информации.
Vladislav Radetskiy | Technical Lead | BAKOTECH GROUP
Процесс разработки и тестирования с Docker + gitlab ciАлександр Сигачев
Доклад - https://www.youtube.com/watch?v=lJsqRwULRVA
Какие проблемы решаем?
быстрый вход нового разработчика в проект
стандартизация настроек разработчиков
переключение между проектами - разные версии ПО и библиотек (mysql 5.6/5.7, node 0.12/7.2)
приучаем разработчиков к сетевому взаимодействию компонентов
Microservice - масштабирование/разделения разработки
Делим ресурсы staging среды между проектами
Seminarul Internaţional „Implementarea tehnologiei IR (repozitorii instituţionale): Sistemul DSpace”, 14-15 aprilie 2011. Chişinău, Ambasada Regală a Norvegiei în România, Asociaţia Bibliotecarilor din Republica Moldova, Consorţiul REM, Programul EIFL-OA, Biblioteca Ştiinţifică a Academiei de Studii Economice din Moldova. Instructor: Kuzma KUDIM, Institutul Sisteme Software al Academiei de Ştiinţe din Kiev, Ucraina.
Небольшое введение в систему контроля версий Git и началу работы с ней, в частности регистрация на сервисе Bitbucket, настройка среды Visul Studio и приложение Source Tree для удобной работы с репозиториями на локальном компьютере.
Платформа: Windows.
Техническая презентация решений McAfee (Intel Security) по шифрованию данных.
Рассматривается процесс развертывания и управления.
Подробно расписаны особенности и возможности актуальных версий продуктов.
Содержимое:
- номенклатура решений шифрования
- основы работы с еРО
- Drive Encryption (Win) детально
- Management of Native Encryption (Win, Mac) детально
- File & Removable Media Protection (Win)
- Источники знаний
- Советы из практики
Целевая аудитория:
Руководители ИТ/ИБ подразделений, специалисты по защите информации.
Опенсорс-инструменты на страже безопасности бэкенда — Петр ВолковYandex
Антивирусная система Яндекса ежедневно обнаруживает тысячи взломанных сайтов. Периодически среди них встречаются крупные и известные интернет-ресурсы.
Администраторы сайтов часто оказываются не готовы к тому, что злоумышленник может пробраться через внешний периметр и исполнить произвольный код на стороне сервера. В результате перед ними встаёт нелегкая задача: обнаружить последствия и предотвратить дальнейшие проблемы.
Доклад посвящён практикам и инструментам, которые могут существенно повысить эффективность противодействия вредоносной активности, и профилактике её возникновения.
Rust позволяет писать быстрые и надёжные программы. Особенно когда они многопоточные. Это делает его хорошим выбором для написания серверной части разнообразных веб-приложений.
Но что для этого нужно? Зачем терпеть все эти длиннющие ошибки от borrow checker'а? Что с продуктивностью разработки? Где взять библиотеки? А что если библиотеки нет? Какой веб-фреймворк выбрать? Как отлаживать и профилировать код?
В своём докладе я отвечу на эти и другие вопросы. Ещё я расскажу, что нужно делать, чтобы обойти проблемные места, которые у Rust, конечно, тоже есть.
Всё это — на примере кода инфраструктурного сервера, обеспечивающего «всегда зелёный master» (commit gatekeeper, аналог homu и zuul).
Как мы собираем проекты в выделенном окружении в Windows DockerPositive Hack Days
1. Обзор Windows Docker (кратко)
2. Как мы построили систему билда приложений в Docker (Visual Studio\Mongo\Posgresql\etc)
3. Примеры Dockerfile (выложенные на github)
4. Отличия процессов DockerWindows от DockerLinux (Долгий билд, баги, remote-регистр.)
Анна Тарасенко, «долгожитель» ИТ-лофта, генеральный директор 7bits, организатор таких событий, как IT-субботники в Омске, ИТ-конференций HappyDev и HappyDev-lite, стартап-интенсива Magic Kick Startup MKS рассказывает о своем докладе «Стартап = факап?»:
«Чем больше я общаюсь со стартаперами, инвесторами и бизнесменами, читаю книги, статьи и блоги о бизнесе, тем больше я понимаю, что надо просто браться и делать. Не ждать чудес, а идти ножками к клиенту и стараться решить его проблему. Хочу поделиться опытом проведения 2-х Magic Kick startup, одного Startup weekend и участия в 2-х Стартап-сабантуях, демо дне выпуска 10-го акселератора ФРИИ и многим другим.
Перековывалась из программиста в бизнесмены долго и мучительно. Это потребовало в частности излечения от перфекционизма и типичного российского нытья. Могу и люблю делиться опытом про все подряд».
Гудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофта7bits
Попробует вспомнить, откуда возник IT-лофт, почему он так назвался, что тут было хорошего и интересного. Как проводили субботники и хакатоны. Как кодили, слушали лекции, ели пиццу и печеньки, общались и работали.
Новейшая история ИТ-лофта — такой доклад решил подготовить Денис Нелюбин, системный архитертор 7bits, резидент лофта с 2014 года, организатор хакатонов и частый докладчик на ИТ-событиях Омска (и не только).
Гудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакать7bits
Реветь никто не собирается, а просто Саша Лопатюк, дизайнер Rosberry и соорганизатор Дизайн-среды, расскажет о том, почему договорённости и коммуникация в команде важнее расстояний, технологий и прочих мелочей.
Саше ИТ-лофт очень близок. Он работал здесь в команде А2 Дизайн, а потом участвовал в хакатонах и сам проводил события. Ему есть, что вспомнить и рассказать. Послушаем!
Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи 7bits
Человек, рабочее место которого в IT-лофте всегда можно узнать по большому количеству телефонов — Игорь Гончаровский.
Работая в IT-Loft и занимаясь длительное время вопросами связи, Игорь хотел бы поделиться мыслями о развитии технологий и их востребованности сейчас и в недалеком будущем в своем докладе «IT-Loft без связи».
Игорь также является владельцем ООО «Айтек», менеджером проектов Velvetech LLC и организатором конференций по Asterisk в России.
Доклад-ретроспектива — как Сергей с командой провели 15 Людумов, и какое будущее у проекта. Вы узнаете как вспомогательное IT-мероприятие превращается в городскую тусовку и свободный образовательно-практический проект.
Сергей Мячин настраивает бизнес-процессы в Лайв Тайпинг, помогает клиентам решать бизнес-задачи, кроме всего этого уже 5 лет разрабатывает игры и устраивает геймджемы.
Goodbye, IT-loft! Тараканов Алексей: Идеология в IT7bits
Тараканов Алексей — один из организаторов Omsk Linux User Group, Omsk Ubuntu LoCo, омской GPG-сети доверия (web of trust), евангелист Ubuntu, активист свободного программного обепечения, ведущий специалист ООО «ЛинуксМастер», занимается продвижением свободного программного обеспечения, делает нестандартные решения на базе СПО расскажет близкую ему тему: «Идеология в IT». Доклад о том, что такое OmskLUG, и ИТ-лофт как положительно повлиял на него.
Курс Java-2016. Занятие 04 (часть 2). Git и GitHub7bits
This document discusses setting up and using Git and GitHub for version control of a Java project. It explains how to initialize a Git repository, add and commit files, configure user information, check status and history, ignore files, connect to a remote GitHub repository, authenticate with SSH keys, and push code to GitHub. The steps taken are initializing a Git repository, adding files, committing with a message, configuring user details, viewing status and log, ignoring files, connecting to a remote repository, generating and adding SSH keys, and pushing the local code to the remote GitHub repository.
2. Стажировка-2015
1. Все, что не разрешено, запрещено
2. Данные пользователей строго
разделены
3. Только root имеет доступ везде
4. Для некоторых приложений
автоматически создается пользователь ОС
(postgres, tomcat)
5. Все, что сделано root, принадлежит root
Linux
4. Стажировка-2015
1. Защищенное соединение
2. Доступ к консоли удаленного
компьютера для выполнения команд
3. Возможность копирования файлов
(scp)
4. Возможность авторизоваться по
ключам (RSA и др.) и не сообщать всем
пароль
SSH
6. Стажировка-2015
1. Production (он же «боевой») – там, где
развернуто приложение для реальных
пользователей
2. Staging (он же «демонстрационный») – там,
где развернута версия для демонстрации
свежих разработок
3. Test (тестовый) – используется для ручного и
автоматизированного тестирования, их может
быть несколько
Сервера
8. Стажировка-2015
1. Ветка master для production, у нас пока
его нет
2. Ветка develop для staging
3. На тестовых серверах могут
разворачиваться любые ветки
Читаем: http://habrahabr.ru/post/106912/
Git
9. Стажировка-2015
1. Все приложения у tomcat7 лежат в папке
/var/lib/tomcat7/webapps
2. Там лежит файл *.war и каталог с тем же
именем, при удалении/замене war-файла
приложение
удаляется/переразворачивается. Это
первый способ развертывания – просто
копируем war-файл поверх.
Deployment
10. Стажировка-2015
3. Второй способ развертывания – загрузка war-
файла через web-консоль администратора. По
умолчанию она здесь:
http://localhost:8080/manager/html
4. Все содержимое папки приложения
ПЕРЕПИСЫВАЕТСЯ при развертывании! Все
файлы, загруженные пользователями, надо
хранить в другом месте.
Deployment
11. Стажировка-2015
5. Третий способ развертывания – maven из
консоли. Выбираем его.
6. Для каждого окружения свой build profile и
свои *.properties
7. Выносим ВСЕ пароли из pom-файла, все
храним в ~/.m2/settings.xml локально на
компьютерах разработчиков
Deployment
12. Стажировка-2015
8. Пушим в git только шаблоны
*.properties. Все пароли от БД, tomcat и так
далее – только локально на компьютерах
разработчиков.
9. На серверах не разворачиваем web-
консоль – это источник уязвимости.
Deployment
14. Стажировка-2015
1. Позволяет использовать несколько
развернутых приложений на одном
сервере. Настраиваем server_name.
2. Позволяет закрыть доступ браузерам и
поисковым роботам при помощи basic
auth. Нам надо закрыть хорошим паролем.
nginx
15. Стажировка-2015
3. Позволяет отдавать файлы картинок, стилей,
скриптов, шрифтов минуя приложение.
Настраиваем location с alias.
4. Выдерживает много соединений с
пользователями за счет очереди и асинхронной
работы с сетью и дисками.
5. Может писать логи доступа. Настраиваем
access_log и error_log.
nginx
17. Стажировка-2015
1. В вики проекта есть полная инструкция,
позволяющая с нуля поднять проект как
локально, так и на сервере. Для новичков!
2. Инструкция включает в том числе работу с
файлами свойств и пароли от БД и tomcat на
серверах.
3. Инструкция НЕ включает пароль root от
сервера.
Инструкции
18. Стажировка-2015
Во время разработки инструкция лучше,
чем скрипт развертывания, так как
позволяет учесть различия в ОС а также
использовать ручные настройки.
Автоматическое развертывание на
серверах – это совсем другая история.
Инструкции
19. Стажировка-2015
1. Пытаемся решить проблему сами ~30 минут.
2. Если не нашли, спрашиваем 2-3 товарищей
из своей и другой команды.
3. Если не помогли, спрашиваем специалиста
компании.
Не тянем с вопросами по полдня и дольше!
Борьба с тупняками