Pull to refresh
38
0
Артур @HighQuality

User

Send message

Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон

Reading time12 min
Views134K

Я делаю много ревью для чужого кода на Ансибл и много пишу сам. В ходе анализа ошибок (как чужих, так и своих), а так же некоторого количества собеседований, я понял основную ошибку, которую допускают пользователи Ансибла — они лезут в сложное, не освоив базового.


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


Ожидаемый уровень читателя — уже написано несколько тысяч строк ямла, уже что-то в продакшене, но "как-то всё криво".

Читать дальше →
Total votes 112: ↑110 and ↓2+108
Comments66

Почему мы рады тому, что не попали на themeforest

Reading time4 min
Views30K

Наша команда начала работать над Admin Dashboard Template (мы называем её просто админка) для themeforest 9 месяцев назад. Забегая вперед, на этот маркетплейс мы так и не попали, но сильно не расстроились и сегодня рады поделиться с сообществом результатами нашей кропотливой работы и, надеемся, интересной и полезной историей.

Ссылки для нетерпеливых:

angular 1 версия: https://github.com/akveo/blur-admin (демо: blur, mint)
angular 2 версия: https://github.com/akveo/ng2-admin (демо)

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

Читать дальше →
Total votes 55: ↑48 and ↓7+41
Comments72

Чем PostgreSQL лучше других SQL баз данных с открытым исходным кодом. Часть 1

Reading time8 min
Views285K
Сегодня давайте поговорим о преимуществах Postgres перед другими системами с открытым кодом. Эту тему мы обязательно раскроем более подробно на PG Day'16 Russia, до которой осталось всего два месяца.

Возможно, вы спрашиваете себя: «Почему PostgreSQL?» Ведь есть и другие варианты реляционных баз данных с открытым исходным кодом (в рамках этой статьи мы рассматривали MySQL, MariaDB и Firebird), так что же Постгрес может предложить такого, чего нет у них? В слогане PostgreSQL заявляется, что это «Самая продвинутая база данных с открытым исходным кодом в мире». Мы приведем несколько причин, почему Постгрес делает такие заявления.

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


Читать дальше →
Total votes 55: ↑46 and ↓9+37
Comments86

Как стать фрилансером

Reading time8 min
Views76K
Формирование виртуальной личности

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

Привыкайте жить в новую эпоху…
Читать дальше →
Total votes 108: ↑78 and ↓30+48
Comments65

Низкий FPS при прокрутке страницы. Решение проблемы background-attachment: fixed

Reading time2 min
Views41K
Решил я тут недавно на одном из своих сайтов сделать легкий редизайн. И дошло дело до фона. Показался он мне каким-то скучным. Захотелось его немного «оживить». Подобрал подходящую картинку небольшого размера, загнал ее в свойство фона:

body{
	background: url("../images/bg.jpg") no-repeat center center / cover fixed;
}


и довольный нажал F5. Красота, да и только!

Начал скроллить страничку вниз и чувствую, что-то не то…


Такое чувство, как будто я играю в Crysis на очень старом компьютере. Почему же на сайте начались «тормоза» и прокрутка проходит рывками?

Я начал свое расследование…
Читать дальше →
Total votes 38: ↑36 and ↓2+34
Comments33

PHP-Дайджест № 77 – интересные новости, материалы и инструменты (1 – 17 января 2016)

Reading time4 min
Views21K


Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.

Приятного чтения!
Читать дальше →
Total votes 60: ↑55 and ↓5+50
Comments4

Monstroid: шаблон для WordPress на стероидах

Reading time3 min
Views39K
Привет Хабр! Вчера мы зарелизили «Monstroid» – тему-конструктор для WordPress. Новый продукт подойдёт пользователям WP самого разного уровня, а также поможет создавать сайты разной сложности, включая интернет-магазины.


Читать дальше →
Total votes 82: ↑47 and ↓35+12
Comments23

Дайджест интересных материалов из мира Drupal #3

Reading time3 min
Views7.9K
Всем привет!

Мы отобрали для вас самое интересное и полезное из мира Drupal за первые недели 2015 года.

Druplicon

По-русски



  1. Во-первых, в тестовом режиме запустилась новая площадка сообщества DrupalifeCommunity. Слово автору:
    Сразу скажу о судьбе проекта. Им я не претендую заменить Drupal.ru, это совершенно отдельное и самостоятельное начинание. Скажем так, альтернативное сообщество, как каким-то пытался стать DrupalSN.

    На новой площадке уже замечено несколько друпал-гуру, а это хороший знак :)
  2. Чуть ли не первая серьёзная статья на русском, в которой одновременно встречаются слова Drupal и Postgres: «Тестирование производительности Drupal: MySQL vs PostgreSQL часть 1». Очень ждём следующих частей!
  3. Продолжая тему баз данных, Роман Агабеков подробно пишет про репликацию master-slave MySQL.
  4. Как же без Panels: в этот раз «Добавляем поддержку Token'ов в настройки Panel Pane».
  5. Рубрика «Антиквариат»: код либрусека пятилетней выдержки.

Читать дальше →
Total votes 15: ↑12 and ↓3+9
Comments21

Функторы, аппликативные функторы и монады в картинках

Reading time5 min
Views190K
Вот некое простое значение:


И мы знаем, как к нему можно применить функцию:


Элементарно. Так что теперь усложним задание — пусть наше значение имеет контекст. Пока что вы можете думать о контексте просто как о ящике, куда можно положить значение:


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


data Maybe a = Nothing | Just a

Позже мы увидим разницу в поведении функции для Just a против Nothing. Но сначала поговорим о функторах!
Читать дальше →
Total votes 184: ↑175 and ↓9+166
Comments60

Список YouTube-каналов для обучения веб-разработке

Reading time2 min
Views217K
image


Привет, хабражители!

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

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

Под катом — текущая версия списка.
Читать дальше →
Total votes 64: ↑59 and ↓5+54
Comments16

Возможна ли жизнь без шаблонизатора?

Reading time2 min
Views11K
Правильный ответ — да, легко!

Практически всегда описывая устройство CleverStyle CMS у кого-то возникал вопрос, а как же настраивать внешний вид, ведь нет никаких шаблонов.
Нужно признаться, я немного лукавил, говоря, что внешний вид можно изменить с помощью CSS. Изменить-то можно, но не кардинально.
Шаблонизатора как не было, так и нет, и даже не планируется. Вместо этого для генерации простого HTML используется BananaHTML, а сам интерфейс ложится на плечи веб-компонентов и Polymer в частности.
Читать дальше →
Total votes 18: ↑10 and ↓8+2
Comments5

58 признаков хорошего интерфейса

Reading time16 min
Views380K
У хорошего интерфейса пользователя высокая конверсия и его просто использовать. То есть, он хорош и для бизнеса, и для использующих его людей. Вот список опробованных нами идей.

1 Один столбец вместо нескольких


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

image
Читать дальше →
Total votes 226: ↑182 and ↓44+138
Comments102

Функциональное программирование в Swift. Начало

Reading time15 min
Views25K


Предисловие переводчика.


Отмечая окончание 2014 года, известная Swift группа SLUG из Сан-Франциско выбрала 5 наиболее популярных Swift видео за 2014 с организованных ею встреч. И среди них оказалось выступление Chris Eidhof «Функциональное программирование в Swift».
Сейчас Chris Eidhof — известная личность в Swift сообществе, он — автор недавно вышедшей книги «Functional programming in Swift», один из создателей журнала objc.io, организатор конференции «Functional Swift Conference», прошедшей 6-го декабря в Бруклине и будущей конференции UIKonf.
Но я открыла его, когда он, один из первых, опубликовал очень простую элегантную статью об эффективности функционального подхода в Swift к JSON парсингу.
В этой статье нет недоступных для понимания концепций, никаких мистических математических «химер» типа «Монада, Функтор, Аппликативный функтор», на которых Haskell программисты клянутся перед оставшимся миром, закатывая глаза.
Там нет и таких нововведений Swift, как дженерики (generics) и «вывод типа» (type inference).
Если вы хотите плавно «въехать» в функциональное программирование в Swift, то вы должны познакомиться с его статьей «Parsing JSON in Swift» и выступлением на SLUG «Functional Programming in Swift».
Читать дальше →
Total votes 22: ↑16 and ↓6+10
Comments7

Архитектура мобильного клиент-серверного приложения

Reading time33 min
Views138K

К добавлению внешнего сервера рано или поздно приходит любой сложный проект. Причины, при этом, бывают совершенно различные. Одни, загружают дополнительные сведения из сети, другие, синхронизируют данные между клиентскими устройствами, третьи- переносят логику выполнения приложения на сторону сервера. Как правило, к последним относятся большинство «деловых» приложений. По мере отхода от парадигмы «песочницы», в которой все действия выполняются только в рамках исходной системы, логика выполнения процессов переплетается, сплетается, завязывается узлами настолько, что становится трудно понять, что является исходной точкой входа в процесс приложения. В этом момент, на первое место выходит уже не функциональные свойства самого приложения, а его архитектура, и, как следствие, возможности к масштабированию.
Заложенный фундамент позволяет либо создать величественный архитектурный ансамбль, либо «накурнож» — избушку на куриных ножках, которая рассыпается от одного толчка «доброго молодца» коих, за время своего существования повидала видимо — невидимо, потому что, глядя на множественные строительные дефекты заказчик склонен менять не исходный проект, а команду строителей.
Планирование — ключ к успеху проекта, но, именно на него выделяется заказчиком минимальный объем времени. Строительные паттерны — туз в рукаве разработчика, который покрывает неблагоприятные комбинации где время — оказывается решающим фактором. Взятые за основу работающие решения позволяют сделать быстрый старт, чтоб перейти к задачам, кажущиеся заказчику наиболее актуальными (как-то покраска дымоходной трубы, на еще не возведенной крыше).
В этой статье я постараюсь изложить принцип построение масштабируемой системы для мобильных устройств, покрывающей 90-95% клиент-серверных приложений, и обеспечивающей максимальное отдаление от сакраментального «накурножа».
Читать дальше →
Total votes 20: ↑11 and ↓9+2
Comments7

Учебник AngularJS: Всеобъемлющее руководство, часть 1

Reading time7 min
Views272K

Содержание


1 Введение в AngularJS
2 Engineering concepts in JavaScript frameworks
3 Modules
4 Understanding $scope
5 Controllers
6 Services and Factories
7 Templating with the Angular core
8 Directives (Core)
9 Directives (Custom)
10 Filters (Core)
11 Filters (Custom)
12 Dynamic routing with $routeProvider
13 Form Validation
14 Server communication with $http and $resource

1 Введение в AngularJS


Angular – MVW-фреймворк для разработки качественных клиентских веб-приложений на JavaScript. Он создан и поддерживается в Google и предлагает взглянуть на будущее веба, на то, какие новые возможности и стандарты он готовит для нас.

MVW означает Model-View-Whatever (модель – вид – что угодно), то есть гибкость в выборе шаблонов проектирования при разработке приложений. Мы можем выбрать модели MVC (Model-View-Controller) или MVVM (Model-View-ViewModel).

Этот обучающий материал задумывался как отправная точка для изучения AngularJS, его концепций и API, чтобы помочь вам создавать великолепные веб-приложения современным способом.
Читать дальше →
Total votes 44: ↑38 and ↓6+32
Comments29

Индустрия киберспорта, часть 2

Reading time9 min
Views12K
image

Привет! На связи Никита Бокарёв, креативный продюсер игрового направления Mail.Ru Group. Пришло время продолжить прерванный рассказ о киберспорте. Первую статью про историю этого явления можно прочитать вот здесь.

Кризис мира, кризис киберспорта


В прошлом посте я рассказал о зарождении и расцвете киберспорта, появлении и взлете первых крупных состязаний. Остановились мы приблизительно на 2007 году, с которого и продолжим рассказ.
Читать дальше →
Total votes 23: ↑18 and ↓5+13
Comments23

Про создание платформера на Unity. Часть 4.1, злодейская

Reading time4 min
Views85K
Привет, Хабр!

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



Осторожно, под катом по-прежнему много гифок!

Читать дальше →
Total votes 33: ↑27 and ↓6+21
Comments17

CloudFlare + nginx = кешируем всё на бесплатном плане

Reading time2 min
Views56K

В бесплатной версии Cloudflare все замечательно (ей-богу сказка!), но список кешируемых форматов файлов весьма ограничен.
К счастью кеширование всего подряд (до 512 Мб на файл) можно настроить в одно два действия.

Читать дальше →
Total votes 54: ↑51 and ↓3+48
Comments6

Перевод и озвучка фильма дома: Хокинг. Моя краткая история

Reading time4 min
Views76K
Год назад я перевёл и озвучил фильм Роберта Зубрина Марс: подполье. На Хабре публикация была тепло встречена, а сам фильм за прошедшее время был просмотрен более 200000 раз и до сих пор собирает научные дискуссии в комментариях.

Сегодня я хотел бы представить подробности о последнем нашем переводе. Это фильм о жизни Стивена Хокинга. В посте я расскажу о процессе перевода (так как на этот раз делал его не сам), о том, как лучше обработать звук, записанный в домашних условиях, и как легко переводить титры в фильмах. Ну и конечно сам фильм покажу.


Welcome to my world
Total votes 114: ↑108 and ↓6+102
Comments26
1
23 ...

Information

Rating
Does not participate
Registered
Activity