1.07K subscribers
260 photos
1 video
341 links
1cloud.ru — автоматизированный онлайн-сервис аренды виртуальной инфраструктуры.

Пишем про управление проектами, безопасность в ИТ, ЦОДы и облачную инфраструктуру.

Поддержка @onecloud_customerbot
Download Telegram
Шаблоны проектирования: порождающие паттерны

📝📈🚀

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

Тем не менее, ни один из шаблонов не является готовым решением «на блюдечке». Это не фрагменты кода, не библиотеки и даже не отдельные классы. Стоит рассматривать шаблоны проектирования, скорее, как набор качественно работающих методик, которые стоит модифицировать, исходя из своего проекта.

Делятся паттерны проектирования на три большие группы. Это:

1. Порождающие
2. Поведенческие
3. Структурные

Будем последовательны, и в этом посте поговорим о первом типе, а именно о порождающих шаблонах.

К ним относятся шаблоны, благодаря которым ваша система окажется вне зависимости от способа её создания.
Шаблон, который порождает классы, прибегает к наследованию, а шаблон, создающий новые объекты, делегирует их инстанцирование уже новому другому объекту.

Кратко пробежимся по каждому из типов порождающих шаблонов.

✔ Фабрика — это некий мастер-объект, предназначение которого состоит в производстве других объектов. Помогает существенно уменьшить количество самокопирования в коде за счет делегирования фабрике функции создания типовых объектов.

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

✔ Абстрактная фабрика — это шаблон, предназначенный для создания зависимых друг от друга или же связанных объектов. При этом их конкретные классы не специфицируются. Если сказать проще, то это «фабрика фабрик».

✔ Строитель (builder) позволяет создавать разные модификации объекта, избегая «замусоривания» конструктора. Используйте конструктор, если процесс создания объекта состоит из множества шагов или может варьироваться в зависимости от обстоятельств.

✔ Прототип путем клонирования создает новый объект, основанный на текущем, но обладающий дополнительными качествами. То есть вместо полностью нового объекта с некоторыми изменениями копируется существующий.

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

В следующей публикации мы продолжим тему паттернов проектирования — оставайтесь на связи!
Как защитить LAMP-сервер

🗡️🏢🏹

Если вы занимаетесь веб-разработкой, вы наверняка знакомы с понятием LAMP. Давайте разберемся, как надежно защитить каждый компонент стэка от атак и посягательств злоумышленников.

Защищаем Linux

1. Автоматические обновления

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

Чтобы включить автообновления, установите пакет unattended-upgrades.

2. Настройка брандмауэра

В Linux Ubuntu инструмент настройки брандмауэра UFW по умолчанию деактивирован. Включить его можно одной командой: sudo ufw enable. После активации откройте доступ к OpenSSH и Apache, а при необходимости разрешите доступ и к другим сервисам командой sudo ufw allow номер порта.

3. Отключение ненужных служб

Если вам не нужны какие-то из работающих на сервере служб, деактивируйте их.

4. Защищаем Apache

Fail2ban

Утилита для веб-сервера на Ubuntu, призванная регистрировать несанкционированные вторжения. ПО следит за файлами журналов и регистрирует неудавшиеся попытки входа, их количество, а также обнаруживает автоматические атаки. Когда утилита распознает попытку компрометации, происходит блокировка IP, с которого совершались запросы. В iptables просто добавляется новая цепочка, и атаку на сервер можно считать неудавшейся.

Модуль mod\_evasive

Еще одна утилита для защиты Apache от DoS- и DDoS-атак. Модуль также работает с IP-адресами, выявляя те, с которых происходят подозрительные запросы, и помещая добавляя их в черный список.

Защита информации

По дефолту Apache хранит большое количество информации, требующей защиты, поэтому для обеспечения безопасности веб-сервера конфиденциальные данные лучше всего скрывать. Это можно сделать через conf-файл. Сначала создайте файл «custom.conf» в папке conf-available веб-сервера Apache и вставьте туда следующие строки:

---
ServerTokens Prod
ServerSignature Off
TraceEnable Off
Options all -Indexes
Header unset ETag
Header always unset X-Powered-By
FileETag None
---

После этого включите конфигурацию командой sudo a2enconf custom.conf и перезагрузите Apache. Вы великолепны!

5. Защита MySQL

Для этого необходимо выполнить всего несколько шагов:

запустить сценарий безопасности: sudo mysql_secure_installation;
деактивировать удаленный доступ;
создать отдельных пользователей и настроить привилегии для каждого из них;
деактивировать LOCAL INFILE через conf-файл;

6. Защита PHP

Если вы перешли к защите PHP, надеемся, вы действительно обеспокоились вопросами безопасности LAMP-сервера и выполнили все предыдущие шаги. Остался последний этап — защита PHP.

Через php.ini скройте основные данные, полученные от PHP, приведением настроек к следующему виду:

---
expose_php = Off
display_errors = Off
mail.add_x_header = Off
---

Не забудьте выполнить перезапуск Apache, чтобы настройки стали актуальны.

Некоторые функции PHP могут представлять определенную угрозу безопасности веб-сервера. Чтобы минимизировать риски, необходимо деактивировать их через php.ini. Прежде всего, настройте disable_functions:

disable_functions = show_source,system,shell_exec,passthru,exec,phpinfo,popen,proc_open,allow_url_fopen,curl_exec,curl_multi_exec

Затем в том же файле выключите функцию удаленного исполнения PHP:

---
allow_url_fopen=Off
allow_url_include=Off
---

Чтобы ограничить максимальное время исполнения найдите в файле настройки max_execution_time, max_input_time и memory_limit и замените их значения на 30, 30 и 40M соответственно.

Дополнительно можно активировать open_basedir, директиву, регулирующую доступ к файлам на сервере.

Вы прекрасны, а ваш LAMP-сервер защищен. Используете иные методы защиты? Поделитесь ими в комментариях, — коллеги будут вам благодарны.
Памятка по оптимизации фронтенда

💡👉💻

Предположим, у вас есть сайт или веб-приложение на JS-фреймворке. Было бы здорово, если бы оно работало так же быстро, как этого хотят пользователи. Для того, чтобы ваш проект соответствовал их ожиданиям в плане скорости, необходимо оптимизировать работу фронтенда. Какие этапы нужно пройти, чтобы заставить сайт работать максимально быстро?

Сначала необходимо собрать аналитику производительности фронтенда. Для этого вам понадобятся такие инструменты, как Lighthouse (от Chrome) и Speedcurve.
Lighthouse даст вам четкую сводку по производительности фронтэнда и компонентам, которые стоит оптимизировать. Второй инструмент предназначен для этих же задач, но позволяет отслеживать динамику. Что и как оптимизировать после получения результатов.

1. Изображения

Пожалуй, именно они составляют значимую долю данных.

✔ Оптимизируйте их по размеру и убедитесь в их адаптивности. Можно использовать инструмент Responsive Image Breakpoints Generator для получения все нужных вариантов и код.

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

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

✔ В качестве финального шага по оптимизации картинок можно использовать CDN. Благодаря кэшированию изображений на распределенной сети вы сможете значительно ускорить загрузку. Пользователь, заходящий на ваш сайт из США, не будет вынужден загружать картинку с европейского сервера, CDN «выдаст» его с ближайшего из возможных сервера.

2. HTML, CSS, JS

HTML — каркас сайта. Если в коде присутствуют ссылки на внешние ресурсы, как бывает в 99,9% случаев, придерживайтесь нескольких правил:

✔ все ссылки на CSS — в начале документа;

✔ критичные стили можно вынести в <style>, а для других использовать предварительную загрузку или http/2 Server Push;

✔ используйте для JS атрибуты async (если ждать полной загрузки нет необходимости) или defer (в обратном случае).

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

3. Сжатие и кэширование

✔ Сжать код, картинки, аудио можно с помощью gzip или Brotli. Отредактировав файл конфигурации веб-сервера, можно включить выбранный способ сжатия.
Для кэширования отлично подходит Leverage Browser Caching, который также можно включить в конфиг-файле.

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

📚💻💡

Git — это open source распределенная система контроля версий, разработанная Линусом Торвальдсом и используемая миллионами разработчиков. Как вы уже могли догадаться, система абсолютно бесплатна.

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

1. Git Tutorial

Ваш шаг #0 в мир гит — официальное введение. После того, как вы закончите изучать его, можете переходить ко второму руководству.

http://amp.gs/NO6B
http://amp.gs/NO6l

2. Try Git

Интерактивный самоучитель Git от GitHub, с помощью которого можно освоить базис работы с инструментом. Можно вводить git-команды, побаловаться с виртуальным репозиторием.

http://amp.gs/NO6m

3. Pro Git

Книга, обучающая работе с системой, под авторством Скотта Шакона, активного участника Git и GitHub. Считается официальной книгой.

Английская онлайн-версия: http://amp.gs/NO6x
На русском: http://amp.gs/NO6k

4. Git Wiki

Что может быть лучше, чем энциклопедия? На Git Wiki вы найдете необходимую документацию, туториалы, подсказки и многое другое!

http://amp.gs/NO6T

5. Ry’s Git Tutorial

Шикарный туториал по Git, который научит вас не только азам работы, но и продвинутым фишкам — вы узнаете, как работать с патчами и низкоуровневыми командами. Все темы снабжены примерами.

http://amp.gs/NOcc

6. Learn Git Branching

Еще один интерактивный инструмент, цель которого — не только помочь вам разобраться, как работает Git, но и сделать это просто, в форме игры. Обязательно познакомьтесь руководством.

http://amp.gs/NO6G

7. Git Reference

Гайд для тех, кто уже начал использовать Git. На сайте вы найдете основные команды, примеры их использования и возможные опции.

http://amp.gs/NO6P

Если вы уже умеете работать с этим инструментом, поделитесь в комментариях, как вы изучали его и какие ресурсы помогли вам освоиться.
Как выбрать JS-фреймворк

💡👉💻

Мир JS богат, и разработчики, не имеющие опыта использования фреймворков, подчас не знают, как начать с ними работать. Сегодня мы оценим популярные JS-фреймворки по 5 критериям, чтобы вы могли выбрать то, что вам по душе.

1. Доступность ресурсов

Согласитесь, мало кто согласиться использовать фреймворк с нищей документацией. И дело не всегда только за оф. документацией — вам понадобятся форумы, дополнительные ресурсы, книги.

EmberJS — отличная и понятная документация, снабженная примерами;

Angular и React — оф. документация скромная, но в сети есть огромное количество сторонних ресурсов и даже видео, которые помогут освоить инструмент.

Vue — неплохая документация, есть несколько мощных веб-ресурсов и даже каналы на YouTube.

Aurelia — фреймворк относительно молод, поэтому дела с документацией и коммьюнити как-то не очень.

2. Популярность

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

Наиболее популярными JS-фреймворками признаны Angular и React, Ember и Vue немного отстают от них. Если вы хотите выбрать именно популярный фреймворк — выбирайте из этой четверки.

3. Особенности

Откройте документацию каждого из претендентов, проанализируйте его структуру и функционал. Обязательно обратите внимание на разделы:

— Шаблонизация
— Маршрутизация
— Валидация и обработка форм
— Связь с сервером

Отнюдь не все фреймворки поддерживают полный цикл — нужно понимать, понадобятся ли вам сторонние библиотеки и для чего.

React и Vue — охватывает только представление приложение, о связи с сервером, валидации форм вы должны позаботиться самостоятельно.

Ember — покрывает почти все моменты, кроме расширенной обработки форм. Однако Ember структурно отличается от популярных фреймворков и использует собственную объектную модель.

Angular — чемпион по функционалу из коробки, есть даже Rx — библиотека для асинхронных событий.

4. Удобство

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

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

Angular — есть CLI и TypeScript.

React и Vue — тоже есть CLI, но его функционал все же уступает возможностям CLI Ember и Angular.

Помните: ни один форум не ответ на вопрос, какой фреймворк лучше всего подойдет вам. Для объективного и взвешенного выбора протестируйте на собственном небольшом проекте каждый из наиболее популярных. А надежную IT-инфраструктуру вам предоставит 1cloud.
Как защитить виртуальную инфраструктуру 1cloud?

Несмотря на то, что большая часть проблем с виртуальной инфраструктурой, по статистике, вызвана некорректными действиями администраторов, не стоит забывать и про злоумышленников.

Согласно исследованиям, проникновение в инфраструктуру, в среднем, бывает замечено лишь через 2 года после взлома.

Если вы работаете с облаками и виртуальными серверами, необходимо понимать, какие базовые средства помогут защитить ВИ.

Написали большой текст про такие способы защиты.
CD и необходимые инструменты

💡👉☁️

Continuous Delivery, или непрерывная доставка, — набор практик, цель применения которых — постоянное обновление ПО. CD позволяет производить быстрое развертывание на проде без изменения имеющегося функционала.

Помимо непрерывно развертывания вы также можете встретить понятия непрерывного развертывания и непрерывной интеграции. Их отличия необходимо четко понимать.

Благодаря использованию практик и инструментов Continuous Delivery обеспечивается непрерывная поставка обновлений пользователям. Непрерывное развертывание (Continuous Deployment) гарантирует поставку обновленного функционала сразу в прод, без ручных манипуляций DevOps-специалистов.
Непрерывная интеграция (Continuous Integration) — практика автоматизированной сборки и тестирования ПО для быстрого обнаружения багов и несовместимостей.

Как это работает вместе?

В идеале процесс разработки выглядит так:

— Разработчик отправляет код в центральный репозиторий.
— На CI-сервере все изменения сливаются с основным кодом, выполняется unit-тестирование, все перемещается в стейджинг — среду, максимально приближенную к боевой для проведения тестирования.
— В стейджинге приложение тестируется QA-инженерами.
— Перед развертыванием на проде все проверяется.
— Приложение развертывается на продакшене.

Естественно, процесс непрерывной доставки требует определенных инструментов. Давайте разберемся, какие инструменты советует сообщество для каждой задачи в рамках CD.

1. Сборка — Ant, Tomcat.
2. Code Review — Fisheye, Crucible
3. Code Insight — Fisheye
4. Непрерывная интеграция — Jenkins, Bamboo
5. Базы данных — MySQL, Oracle, Liquibase, SQL Server
6. Автоматизация инфраструктуры — Puppet, Chef
7. Менеджмент зависимостей — Nexus
8. Автоматизация развертывания — Fabric, Java Secure Channel
9. IDE — Eclipse, Visual Studio
10. Управление проектами — JIRA Agile
11. Мониторинг — Zabbix, CloudKick
12. Тестирование — AntUnit, Jmeter, SoapUI
13. Контроль версий — Git

Чтобы овладеть популярными в сфере разработки практиками и необходимым инструментарием понадобятся силы, время и надежная IT-инфраструктура, которую готов предоставить 1cloud. Не уверены, что мы с вами подружимся? Закажите бесплатный тест или виртуального сервера или облачной инфраструктуры на нашем сайте.
Как выбрать ОС для виртуального сервера

💫💻☁️

При заказе виртуального сервера вы должны определиться, на какой операционной системе стоит остановить свой выбор. Однако, когда варианты не ограничиваются Windows Server и Ubuntu, этот выбор может стать затруднительным. На примере виртуальных серверов 1cloud разбираемся, как выбрать ОС для последующего взаимодействия с системой.

1️⃣Ubuntu

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

2️⃣Debian

Универсальный дистрибутив, демонстрирующий отличные показатели стабильности работы. Подойдет для небольших виртуальных машин. Есть менеджер пакетов, APT-инструменты. Дистрибутив неплохо защищен, стабилен и демонстрирует высокий уровень совместимости приложений. Debian, как и Ubuntu, будет неплохим выбором не только для новичков, но и опытных пользователей. Из минусов — новые релизы выходят редко, что может не соответствовать требованиям проекта.

3️⃣CentOS

CentOS — вариант ОС RHEL c открытым кодом, обеспечивает работу сервера на уровне предприятия. Отличная поддержка и развитое комьюнити. В CentOS есть быстрый пакетный менеджер yum и широкие возможности интеграции с управляющими панелями, если это необходимо. Так же, как и с Ubuntu, у вас не возникнет проблемы найти специалиста по работе с CentOS. Актуальными считаются версии 6 и 7, причем система постоянно обновляется. Одним из минусов пользователи называют постоянные обновления и связанные с этим небольшие баги. CentOS дружественна к начинающим администраторам и отлично подойдет, если вы ищете бесплатную альтернативу Red Hat Enterprise Linux.

4️⃣FreeBSD

Одна из самых долгоживущих операционных систем, однако сейчас пользователи все чаще уходят с FreeBSD на что-то более новое. Одна из проблем системы — сложности, связанные с поиском квалифицированных специалистов и их стоимость. Однако при грамотном подходе, FreeBSD может стать великолепным вариантом с точки зрения безопасности.

5️⃣Windows Server

Производительная и практичная ОС с высокими требованиями к аппаратной части. Для многих администраторов именно Windows Server является наиболее понятной ОС с привычным пакетом ПО. Однако, стоит озаботиться покупкой лицензии или выбрать провайдера, стоимость лицензии у которого уже включена в арендную плату за виртуальный сервер.

6️⃣PFSense

Специализированный для построения межсетевых экранов/брандмауэров дистрибутив, базирующийся на ядре FreeBSD, с обширным функционалом. Как правило, PFSense обычно используется как брандмауэр/маршрутизатор/DNS- или DHCP-сервер.

7️⃣VyOS

Open-sourse проект, основанные на Debian, который легко развернуть на ВМ, физическом железе или в облаке. Используется в качестве сетевого маршрутизатора и, несмотря на «опенсорсность» обладает серьезным специализированным функционалом: VPN, туннелирование, фильтрация трафика, маршрутизация и многое другое входит в стандартный функционал VyOS.

Бесплатно протестировать виртуальный сервер на любой из перечисленных ОС и дистрибутивов можно на нашем сайте.
Технология WebAssembly — как это работает

💻💫☁️

В противостоянии с JavaSript была рождена технология, позволяющая повысить производительность рабочего процесса и использовать любимый стиль программирования, и имя ей — WebAssembly. Разбираемся с ключевыми фичами технологии.

WebAssembly — низкоуровневый формат байт-кода для выполнения скриптов в браузере. Теперь разработчикам не придется использовать JS только потому, что именно он умеет выполняться в браузере. WebAssembly позволяет использовать инфраструктуру JS почти без самого JS.

Как это работает?

Уже сейчас в WebAssembly можно скомпилировать C/C++, Rust, Go, C#, TypeScript, PHP, Python, Ruby, Swift, Kotlin и другие языки — список платформ и языков постоянно расширяется. WebAssembly не призван заменить JS, а, скорее, расширить его возможности, запуская код различных языков программирования в веб-приложениях практически с нативной скоростью.

Зачем это нужно?

WebAssembly позволяет выполнять код с высокой скоростью на различных платформах. Он не предназначен для самостоятельного написания, так как это низкоуровневый ассемблерный язык, однако wasm-код имеет читабельный текстовый формат, который позволяет отлаживать его вручную. В то же время технология хорошо сочетается с актуальными веб-технологиями и поддерживает политики безопасности и инструменты современных браузеров.

Как начать работу?

Познакомиться с WebAssembly можно использовать Emscripten (SDK) — набор утилит для компиляции C/C++ кода в asm.js. Также сгенерировать wasm-код можно прямо на уровне сборки. А если вы знакомы с Rust — его тоже можно скомпилировать в WebAssembly.

Узнать больше о технологии можно на MDN web docs.

Нужна надежная облачная инфраструктура для реализации проектов и идей? Оставьте заявку на бесплатное тестирование облака 1cloud.
Как автоматизировать работу в облаке и сократить трудозатраты на 30-40%?

🤖☁️📈

Многие процессы, сопряженные с взаимодействием с облаками, можно автоматизировать. Это позволит вам вести разработку эффективнее и сократить затраты сил и времени на 30-40%. Какие инструменты автоматизации позволяют этого добиться?

1️⃣ Шаблоны серверов

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

2️⃣ «Горячее» копирование

Многие облачные провайдеры позволяют использовать функцию копирования сервера «на горячую» — без остановки запущенных серверов. Вос

3️⃣ RESTAPI

Используйте API для автоматизации работы с панелью управления. Кстати, с помощью API можно управлять шаблонами серверов — создавать, получать список, удалять без непосредственного взаимодействия с панелью управления. Также API 1cloud позволяет гибко управлять мониторингом, частными и публичными сетями, серверами, SSH-ключами, хранилищем и другим.

4️⃣ Снапшоты

Используйте мгновенные снимки состояний для быстрого отката изменений. Облако 1cloud позволяет сделать полный снимок машины, включая диски и оперативную память.

Бесплатно протестируйте облачную инфраструктуру 1cloud и убедитесь в надежности решения.
Cascadia Code — новый шрифт от Microsoft для кодеров

Шрифт анонсировали весной этого года. Cascadia Code «заточена» под работу с IDE, редакторами кода, терминалами и командной строкой.

Какие фичи предлагает Microsoft?

Поддержка лигатур — символы «для обывателей» превращаются в нужные вам программистские символы.

Это open source, детка! А значит, каждый может внести свой вклад в развитие Cascadia Code.

Скачать шрифт можно прямо из репозитория.
7 полезных инструментов для Android-разработчика

Занимаетесь разработкой Android? Собрали для вас 7 инструментов, повышающих продуктивность и качество процесса.

1️⃣ Stetho

Сервис от Facebook с открытым исходным кодом для отладки приложений. Процесс отладки приложения теперь не сложнее работы с сайтами через DevTools.

2️⃣ JRebel для Android

Надоело ждать? JRebel сократит временные затраты на разработку и сборку.

3️⃣ Gradle Please

Используете Gradle? Теперь либы можно добавлять одной строкой!

4️⃣ LeakCanary

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

5️⃣ DryRun

Практически инновация в мире Android-разработки — инструмент позволяет в тестовом режиме запустить любую либу, размещенную в интернете.

6️⃣ Fabric

Легендарный инструмент с полным набором возможностей для сборки, развертывания и масштабирования приложения. Мощнейшая вещь.

7️⃣ NimbleDroid

Необходимо протестировать продукт перед публикацией в маркет? NimbleDroid позволяет найти критический ошибки и утечки памяти, проверяя пользовательские сценарии и точки возможных падений.

Как много наших подписчиков занимаются Android-разработкой? Или вы из лагеря вебщиков? А может, мы вообще не угадали! Поделитесь в комментариях, чем вы занимаетесь и как именно используете облако 1cloud — будем рады.

Еще не сделали выбор? Оставьте заявку на бесплатное тестирование облачной инфраструктуры и ощутите все преимущества работы с 1cloud.
Не Bootstrap'ом единым

Bootstrap — самый популярный UI-фремворков. Но далеко не единственный. Разбираемся с преимуществами и недостатками его альтернатив.

1️⃣ Bulma

Бесплатный CSS-фреймворк с открытым исходным кодом, основанный на Flexbox и используемый более 200 000 разработчиков. Из минусов — нет JS, поэтому модальные окна и другие свистелки нужно будет делать на стороне.

2️⃣ Semantic UI

Относительно молодой, но набирающий популярность фреймворк. Пока очевидных недостатков по сравнению с Bootstrap не обнаружено — интуитивно понятный, с семантическим кодом (относится даже к JS).

3️⃣ UIKit

Импонирует Material Design? Вам подойдет модульный UIKit, соответствующий этому веянию веб-дизайна. Кстати, фреймворк весьма неплох функционально: модульный, высокий уровень кастомизации компонентов, подойдет для создания сложных интерфейсов. После Bootstrap может показаться сложным, однако советуем протестировать.

4️⃣ Materialize

Фреймворк от Google в стиле материального дизайна. Документация хорошо проработана и написано, поэтому сложностей с фреймворком не должно возникнуть даже у новичков.

5️⃣ Foundation

Если вы хоть раз задумывались об использовании UI-фреймворков, то наверняка слышали о Foundation. Несмотря на обилие документации и обучающих видео, новичок, скорее, сделает выбор в пользу Bootstrap — Foundation может показаться сложным и тяжелым. Однако многие любят его за более широкие возможности кастомизации сетки, количество плагинов и многое другое.

А как вы делаете процесс разработки более эффективным и комфортным?

Облачная инфраструктура 1cloud позволяет не только разрабатывать в облаке, но и макетировать, тестировать, развертывать информационные системы. Закажите бесплатный тест облака от 1cloud на нашем сайте.
Коллеги из компании ИТ-ГРАД приглашают на вебинар про SAP
Forwarded from МWS Cloud
Приглашаем вас принять участие в первом из серии вебинаров, посвященном презентации новой услуги профессионального SAP-хостинга с международным уровнем поддержки на базе дата-центров в России.

Облачный провайдер «ИТ-ГРАД» (входит в Группу МТС) и компания itelligence, SAP Platinum Partner с более чем 30-летним опытом реализации SAP-проектов, объявляют о стратегическом сотрудничестве и запуске сервиса для решений SAP по модели облачного хостинга на российских локациях.

Регистрация по ссылке
Windows или Linux — холивар выбора ОС для работы

🤬⚔️😱

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

1. Windows

✔️ Огромный выбор софта для разработки: от редакторов кода (Atom, Sublime Text) до полнофункциональных IDE.
✔️ В качестве решения для веб-разработки может быть использован Open Server.
✔️ Visual Studio для Windows позволяет разрабатывать и собирать программы практически «в одном окне».
✔️ Средство автоматизации PowerShell, пришедшее на смену cmd, само по себе является замечательным и удобным сопутствующим инструментом.

❌ Если вы занимаетесь веб-разработкой, и ваши сайты будут размещены на сервере под управлением Linux, вы рискуете столкнуться с некоторыми несовместимостями. К примеру, PHP для Windows не делает различий между заглавными и строчными символами. Программа в которой один и тот же метод в разных участках кода называется и «FooBar()», и «fooBar()» будет работать в Windows, но вызовет ошибки в Linux.
❌ Более тяжеловесна и требовательна к «железу».
❌ Серьезное ПО преимущественно распространяется на платной основе и не имеет качественной «свободной» реализации.
❌ Платная лицензия.

В целом, разработка на любом языке под Windows — достаточно тривиальное занятие, не требующее «танцев с бубном». Подойдет и начинающим, и профессионалам.

2. Linux

✔️ Идеальная платформа для web-разработчиков, как начинающих, так и профессиональных.
✔️ Стандартный способ установки приложений через окно терминала может показаться непривычным, однако гораздо более удобен на практике, так как исключает трату времени на поиск дистрибутивов в интернете.
✔️ Многие инструменты разработки имеют Linux-версии, что позволит вам с минимальными потерями перейти на Linux с Windows.

❌ Linux не слишком подходит для разработки на C#.
❌ Уверенный пользователь Windows не найдет в Linux некоторые привычные интерфейсные фичи и рискует запутаться в структуре ОС.
❌ Момент вкусовщины, но даже очень функциональный софт на Linux существенно уступает в красоте и удобстве интерфейса аналогам из Windows/MacOS.
❌ Настройка рабочего окружения (начиная с внешнего вида, заканчивая подбором софта) может занять существенно больше времени, чем на Windows. Тем не менее, потраченное на старте время не раз окупится во время работы.

Так что, слегка перефразируя популярное выражение, главное — не операционная система, а мастерство её пользователя.

Поделитесь, какую ОС вы используете на своем рабочем ПК и почему?
Наше промо сегодня на Газпром Арене! Потому что в сложных ситуациях мы своих клиентов не бросаем, и они это ценят ❤️
Партнерская программа 1cloud

💻🤝☁️

Стать партнером облачного сервиса 1cloud может любой пользователь!

Зачем?

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

Как это работает?

Регистрируйтесь на сервисе 1cloud, размещайте реферальные ссылки и получайте гарантированное партнерское вознаграждение.

✔️ Получайте 10% всех платежей привлеченных пользователей младше 1 года.
✔️ Получайте 5% всех платежей пользователей старше 1 года.
✔️ Переводите средства на банковский счет или оплачивайте услуги 1cloud!

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

Какие бонусы рефералу?

Клиент, зарегистрировавшийся по реферальной ссылке, получает бонус — 20% от первого платежа.

Как делиться реферальной ссылкой?

✔️ Размещайте ее на собственных (сайт, блог) или сторонних ресурсах (социальные сети, форумы, обсуждения).
✔️ В рассылке.
✔️ Просто рекомендуйте 1cloud своим друзьям и отправляйте ссылку напрямую!

Нужно ли быть клиентом 1cloud для участия в партнерской программе?

Чтобы стать нашим партнером, вам необязательно пользоваться услугами 1cloud. Достаточно регистрации и получения реферальной ссылки в личном кабинете.
Книжная полка: мобильная разработка в облаке

📚☁️✔️

Мобильная разработка и облака крайне тесно связаны: приложению не обойтись без виртуальной инфраструктуры.
Рассказываем, как сократить временные и финансовые затраты, если нужно быстро протестировать прототип приложения или сервиса.

1️⃣ Create an Uber Clone in 7 Days

Каждому начинающему разработчику приходится изобретать колесо — это неотъемлемый процесс изучения разработки. С помощью этого издания можно быстро понять проверенные решения и научиться их эксплуатировать.

Кстати, есть еще и сходный онлайн-курс.

2️⃣ Oracle Mobile Cloud Service Developer's Guide

Гайд по построению бэкенда приложения от Джона Томаса. Кстати, дополнительно вы научитесь best practiсes в сфере построения API.

3️⃣ App Development with Swift

Курс для тех, кто только начинает свой путь в iOS-дев. Подойдет даже в том случае, если вы еще не сталкивались со Swift — курс подробно рассказывает о его нюансах, инструментах и особенностях использования.

4️⃣ Swift in the Cloud

Как сократить время разработки, если есть Swift? Создать облачный бэкенд!
Кстати, книга разработана ребятами из IBM и самым полным руководством по Swift. Навыков работы с языком не нужно — курс начинается с классических 'Hello world!'.

5️⃣ Google Cloud Platform In Action

Научит вас создавать и запускать масштабируемые приложения на Google Cloud Platform. Разбираются даже базовые вопросы — что такое облако и облачный дата-центр, содержит примеры кода :)

Ок, как сэкономить время и деньги на разработке разобрались. А что делать с инфраструктурой?

Облако 1cloud — идеальное решение для разработчиков: надежно, легко масштабируемо, недорого.

Закажите бесплатный тест на нашем сайте.