Pull to refresh
4
0
slaFFik @slaFFik

// Be good, have fun, create things.

Send message

На чём стоит экономить в облаке

Reading time8 min
Views8.3K


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

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

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

Рассмотрим ситуации, когда выгоднее фиксированные тарифы, а когда — pay-as-you-go-концепция (PAYG). Плюс рассмотрим, что можно выключить лишнего, и где чаще всего впустую расходуются ресурсы. Пройдёмся по основным видам ресурсов: CPU, RAM, виртуальным дискам, сети и бэкапам.
Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments13

Bonsai: фамильный вики-движок

Reading time13 min
Views21K

Лирическое вступление


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

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



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

Идеальным решением для хранения семейных данных мне представлялся гибрид вики-движка и фотоальбома. Готовых подходящих решений не оказалось, поэтому пришлось написать собственный. Он называется Bonsai и доступен с открытым кодом по лицензии MIT. Дальше будет история о том, как он устроен и как им пользоваться, а также история его разработки и немного ДРАМЫ.
Читать дальше →
Total votes 67: ↑67 and ↓0+67
Comments40

Три простых приема для уменьшения Docker-образов

Reading time8 min
Views23K
image

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


Но как контролировать размер, когда каждое выполнение оператора RUN создает новый слой? Плюс, еще нужны промежуточные артефакты до создания самого образа...

Читать дальше →
Total votes 26: ↑22 and ↓4+18
Comments28

Загоним мамонта в яму: как провести презентацию, чтобы вас услышали и запомнили

Reading time10 min
Views37K
Многие из нас бывали на айтишных конференциях. А если не бывали, то наверняка смотрели трансляции, записи или читали расшифровки докладов на Хабре. А вы знаете, какие доклады становятся хитами даже на самых-самых хардкорных мероприятиях? Внутренности сложных технологий? Нет. DevOps? Отнюдь. Чаще всего приз зрительских симпатий берут так называемые доклады-кейноуты — презентации людей, вовсе не обязательно связанных с IT. Дело не в красивой презентации и даже не в харизме докладчика, а в том, что эти ребята знают секрет SUCCES. Нет, мы не опечатались.

Источник: Duran
Total votes 69: ↑67 and ↓2+65
Comments15

33 способа ускорить ваш фронтенд в 2017 году

Reading time20 min
Views85K

enter image description here


Вы уже используете прогрессивную загрузку? А как насчёт технологий Tree Shaking и разбиения кода в React и Angular? Вы настроили сжатие Brotli или Zopfli, OCSP stapling и HPACK-сжатие? А как у вас обстоят дела с оптимизацией ресурсов и клиентской части, со вложенностью CSS? Не говоря уже о IPv6, HTTP/2 и сервис-воркерах.

Читать дальше →
Total votes 87: ↑84 and ↓3+81
Comments39

11 видов кэширования для современного сайта

Reading time7 min
Views92K


Автор данной статьи не встречал структурированной обзорной информации о важных этапах кэширования, поэтому ему хотелось бы поделиться наработанным опытом в этой области, соединить воедино всю основную информацию по данному вопросу, а также рассмотреть плюсы и минусы каждого вида кэширования.
Читать дальше →
Total votes 30: ↑19 and ↓11+8
Comments18

Как сделать презентацию интерактивной

Reading time6 min
Views26K

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


Total votes 36: ↑31 and ↓5+26
Comments9

Оформляем красиво «битые» картинки

Reading time3 min
Views41K
Предлагаю вашему вниманию вольный перевод статьи "Styling Broken Images" с сайта bitsofco.de.

«Битые» картинки выглядят ужасно.

image

Но они не всегда должны так выглядеть. Мы легко можем применить CSS к элементу (тегу) img, чтобы улучшить его внешний вид — сделать его куда более привлекательнее, чем как он выглядит по умолчанию.

Если вам наскучили дефолтные уведомления о «битых» картинках, милости прошу под кат.
Читать дальше →
Total votes 59: ↑42 and ↓17+25
Comments32

Микросервисные паттерны проектирования

Reading time6 min
Views92K
Здравствуйте, Хабр!

В ближайшее время читайте пост о русском переводе долгожданной книги "Создание Микросервисов" Сэма Ньюмена, которая уже отправилась в магазины. Пока же мы предлагаем почитать перевод статьи Аруна Гупты, автор которой описывает самые интересные паттерны проектирования, применимые в микросервисной архитектуре
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments7

Измерение производительности функций в JavaScript

Reading time7 min
Views35K


Производительность всегда играла ключевую роль в программном обеспечении. А в веб-приложениях её значение ещё выше, поскольку пользователи легко могут пойти к конкурентам, если сделанный вами сайт работает медленно. Любой профессиональный веб-разработчик должен об этом помнить. Сегодня по-прежнему можно успешно применять массу старых приёмов оптимизации производительности, вроде минимизации количества запросов, использования CDN и не использования для рендеринга блокирующего кода. Но чем больше разработчики применяют JavaScript, тем важнее становится задача оптимизации его кода.
Читать дальше →
Total votes 30: ↑28 and ↓2+26
Comments15

50+ лучших дополнений к Bootstrap

Reading time5 min
Views202K


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

Для статьи я подобрал наиболее полезные дополнения «на все случаи жизни».
Читать дальше →
Total votes 123: ↑111 and ↓12+99
Comments25

Codeship.io: бесплатный CI сервер для приватного репозитория Github/Bitbucket

Reading time3 min
Views28K

Сразу заинтригую: в результате мы получим связку бесплатного приватного git репозитория на Bitbucket и бесплатный* Continious Integration сервер (SAAS), который будет собирать проект и прогонять все тесты после каждого пуша.
* — бесплатная подписка дает возможность тестировать 5 приватных репозиториев и максимум 100 билдов в месяц.

Мне этого для личного проекта достаточно.

Приведу пример для PHP, проект на Symfony2, но данный сервис поддерживает ещё и Ruby, Node.js, Python.

Читать дальше →
Total votes 28: ↑22 and ↓6+16
Comments19

Лицензия для вашего open-source проекта

Reading time98 min
Views181K
В этой статье я хочу немного поговорить об авторском праве и свободных лицензиях на ПО. Текст является результатом самостоятельного выбора лицензий и их применения к своим проектам.

Статья будет полезна тем, кто хочет:

— в общих чертах понять, что такое авторское право (но лучше обратиться к юристу);
— подобрать свободную лицензию для своего проекта;
— разобраться, что нужно писать в шапке файла исходного кода.
Читать дальше →
Total votes 136: ↑132 and ↓4+128
Comments117

Fail2ban [incremental]: Лучше, быстрее, надежнее

Reading time9 min
Views157K
fail2ban image
Про fail2ban написано уже много, в том числе и на хабре. Эта статья немного о другом — как сделать защиту им еще надежнее и о еще пока неизвестных в широких кругах новых функциях fail2ban. Добавлю сразу — речь пойдет пока про development branch, хотя уже долго проверенный в бою.

Краткое вступление


В большинстве своем fail2ban устанавливается из дистрибутива (как правило это какая-нибудь стабильная старая версия) и настраивается по манам из интернета за несколько минут. Затем годами работает, без вмешательства админа. Нередко даже логи, за которыми вроде как следит fail2ban, не просматриваются.
Так вот, сподвигнуть на написание этого поста меня заставил случай, произошедший с одним сервером моего хорошего знакомого. Классика жанра — пришла абуза, за ней вторая и пошло поехало. Хорошо еще злоумышленник попался ленивый — логи не потер, да и повезло еще крупно, что logrotate был настроен, чтобы хранить логи месяцами.
Как дальше жить
Total votes 72: ↑71 and ↓1+70
Comments60

Малоизвестные функции в WordPress

Reading time3 min
Views18K
Случалось ли с вами, что во время разбора кода стороннего плагина или темы, вы находили довольно полезную стандартную функцию, о которой раньше не знали? В такие моменты любой разработчик ощущает чувство собственной ничтожности, вспоминая какие велосипеды он городил в предыдущих проектах.

Дабы уменьшить количество расстройств, я решил описать несколько малоизвестных, но весьма полезных функций:

make_clickable
Находит в тексте ссылки и делает их кликабельными.
Пример:
$string = "This is a long text that contains some links like http://www.wordpress.org and http://www.wordpress.com .";
echo make_clickable( $string ); 


popuplinks
Добавляет target='_blank' rel='external' всем ссылкам в тексте.
Пример:
$string = "This is a long text that contains some links like <a href='http://www.wordpress.org'>http://www.wordpress.org</a> and <a href='http://www.wordpress.com'>http://www.wordpress.com</a> .";
echo popuplinks( $string ); 


wp_list_pluck
Достает определенные поля из коллекции.
Пример:
$posts = get_posts();
$ids = wp_list_pluck( $posts, 'ID' ); // [1, 2, 3, ...]


antispambot
Преобразовывает адреса электронной почты в символы HTML, для защиты от спам-ботов.
Пример:
$email = 'example@email.com';
echo '<a href="mailto:' . antispambot( $email ) . '">' . antispambot( $email ) . '</a>';

Читать дальше →
Total votes 32: ↑26 and ↓6+20
Comments8

Разработка мобильных Javascript MVC приложений с Framework7, RequireJS и Handlebars

Reading time14 min
Views33K
Недавно передо мной стала задача разработки IPhone и Android приложения. Опыта разработки под IOS у меня ранее не было, да и хотелось написать один раз и запускать на обеих платформах. Соответственно был выбран был выбран Javascript и PhoneGap.

И если с языком я определился относительно быстро, то далее было много вопросов.
Хотелось сделать, что бы приложение максимально повторяло интерфейс IOS7 и было похоже на native по скорости работы. При этом с одной стороны не было желания использовать «монстров», на подобии dojo или jquery mobile. c другой стороны хотелось получить удобную модульную MVC структуру приложения.

В итоге в финал моего личного сравнения вышли:
Ionic framework: http://ionicframework.com/
Framework7: http://www.idangero.us/framework7/
Читать далее
Total votes 23: ↑23 and ↓0+23
Comments26

FileAPI 2.0: Загрузка файлов на сервер год спустя

Reading time11 min
Views70K
FileAPI 2.0Привет Хабр! Примерно год назад я представил вашему вниманию первую версию open-source библиотеки FileAPI, предназначенную для работы с файлами на клиенте и последующей загрузки на сервер.

За это время был пройден долгий путь. Библиотека заработала 670+ звезд и 90+ форков. С помощью github-сообщества удалось исправить множество «детских» проблем и внести ряд улучшений. Было закрыто более 100 тасков, и благодаря Илье Лебедеву сделана загрузка файлов по частям. Сегодня я с гордостью хочу представить вам FileAPI 2.0.
Читать дальше →
Total votes 166: ↑157 and ↓9+148
Comments85

Шаблоны проектирования PHP. Часть 1. Порождающие

Reading time13 min
Views231K
Тема заезженная до дыр, не спорю… Вероятно, для опытных разработчиков моя статья будет мало, чем полезна. Я бы рекомендовал её к прочтению тем, кто только начал осознавать, что его коду чего-то не хватает, и что он созрел для вникания в это далёкое понятие – «паттерны». По себе помню, что довольно долгое время я путался в шаблонах, иногда даже не понимая, чем один отличается от другого. Именно этот факт стал основой для моей статьи. Примеры в ней не будут реальными. Они будут абстрактными и максимально простыми. Однако я постараюсь все примеры держать в едином контексте, чтобы можно было наглядно видеть отличия их использования в одной и той же ситуации. Я не буду нагружать классы лишним функционалом, чтобы можно было понять, какая именно часть кода имеет непосредственное отношение к шаблону. Главными героями примеров станут Factory (фабрика) и Product (продукт, производимый этой фабрикой). Возьмём это отношение за отправную точку. Возможно, в некоторых примерах это будет не очень уместно, но зато очень наглядно…

Статья будет разбита на несколько частей. В каждой я буду рассказывать о новом типе шаблонов проектирования. Всем, кого эта тема может заинтересовать, прошу под кат.
Меня заинтересовала...
Total votes 61: ↑43 and ↓18+25
Comments83

Идеальная страница 404 ошибки, или как удержать пользователя на сайте?

Reading time4 min
Views144K
Большинство пользователей, наткнувшись на страницу ошибки 404, постараются как можно скорее ее закрыть и забыть. Чтобы не потерять таким образом своих посетителей, стоит создать для этой ошибки необычное оформление. Рассмотрим детальнее, какие задачи стоят перед страницей 404 и как их воплотить.

Читать дальше →
Total votes 25: ↑13 and ↓12+1
Comments17

Тренды e-commerce: Что важнее всего для интернет-магазина? Часть 2

Reading time3 min
Views12K
image

Мы продолжаем говорить о задачах и сложностях с которыми сталкиваются представители отрасли электронной коммерции. В прошлом топике мы обсудили важность автоматизации процессов и наличия правильно реализованных товарных рекомендаций. Сегодня речь пойдет о не менее важных вещах, которые могут сыграть определяющую роль для успеха интернет-магазина: контенте и email-маркетинге.
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments4
1

Information

Rating
Does not participate
Location
Украина
Registered
Activity