Как стать автором
Обновить
7
0
Павел Богданов @rebirther23

DevOps

Отправить сообщение

Заметки фрилансера: как перестать бояться и начать работать на себя

Время на прочтение9 мин
Количество просмотров93K

Привет! Последние несколько лет я занимался фрилансом на Upwork (бывший oDesk) и вот наконец решился поделиться своим опытом и наблюдениями с Хабрасообществом в небольшом цикле статей. Начать хотелось бы издалека: кому на мой взгляд стоит рассмотреть фриланс как основной вид своей деятельности + хотелось бы разобрать основные «отпугивающие» факторы, которые мешают многим решиться. Кому небезразлична тема фриланса и Upwork в частности — добро пожаловать под кат.
Читать дальше →
Всего голосов 38: ↑29 и ↓9+20
Комментарии185

Работа в офисе? Нет пути

Время на прочтение9 мин
Количество просмотров56K


Я - фрилансер

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

Поэтому фрилансеры очень редко ходят на собеседования. За более чем 10 лет своего профессионального стажа я был на собеседованиях 4 (четыре) раза, включая вчерашнее.

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

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

Однако, было поставлено условие — работа только в офисе. Никакой удалёнки.

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

Я постараюсь рассказать, почему удалённая работа — это особенный статус, от которого очень сложно отказаться.
Читать дальше →
Всего голосов 63: ↑57 и ↓6+51
Комментарии239

VDS для всех даром и пусть никто не уйдёт обиженным

Время на прочтение2 мин
Количество просмотров15K
Приветствую тебя, %USERNAME%. Я представляю одну молодую хостинговую компанию. У нас пока нет корпоративного блога на Хабре и прочих прибамбасов большой и успешной компании, но у нас есть кое что получше. Кому стало интересно — прошу под кат.

image

Читать дальше →
Всего голосов 28: ↑18 и ↓10+8
Комментарии42

Визуализация атак на базе ELK (elasticsearch, kibana, logstash)

Время на прочтение6 мин
Количество просмотров23K
Доброго времени суток. В процессе обслуживания большого количества серверов возникает необходимость централизации управления всем зоопарком машин, а так же централизованный сбор логов и аналитика логов на предмет выявления аномалий, ошибок и общей статистики.

В качестве централизованного сбора логов используется rsyslog, а для структурирования и визуализации elasticsearch + kibana. Все бы ничего, но когда количество подключенных машин разрастается, то данных настолько много, что уходит (уходило) большое количество времени на их обработку и анализ. Наряду с другими интересными штуками всегда хотелось организовать свой центр безопасности. Этакая мультимониторная статистика с картами, графиками и прочим.
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии6

7 полезных утренних привычек психологически выносливых людей

Время на прочтение4 мин
Количество просмотров75K
Как начинают свой напряженный день американские (и не только) участники Олимпийских игр и «Морские котики» (и как можете действовать и вы!)?

image

Жизнь активного предпринимателя — это, мягко говоря, езда по американским горкам.
Как же преуспевающие люди ухитряются переживать такие сумасшедшие дни?
Читать дальше →
Всего голосов 57: ↑33 и ↓24+9
Комментарии19

Подборка полезных слайдов про Linux

Время на прочтение1 мин
Количество просмотров46K
Недавно мы опубликовали перевод журнала про инструменты отладки для Linux, а теперь предлагаем подборку полезных слайдов для начинающих Linuxоводов от того же автора.


Читать дальше →
Всего голосов 60: ↑55 и ↓5+50
Комментарии30

Как же вы задолбали со своими оповещениями

Время на прочтение4 мин
Количество просмотров69K
В одиночку против индустрии.

image

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

Я смотрю на свой телефон и вижу что-то вроде этого:

image
Facebook: Джон, вы знаете Бена Гленна?

Да, я знаю Бена. Отличный парень. Но если честно, мне не надо добавлять его в друзья. Мы разговаривали в офисе от силы три или четыре раза, я не считаю необходимым делиться с ним своей личной жизнью. Кроме того, сейчас 9:35 утра, я опаздываю на работу, и последнее, о чём я сейчас думаю, — это новые друзья на Facebook.

Очистить.
Читать дальше →
Всего голосов 97: ↑83 и ↓14+69
Комментарии163

Прекратите проверять Email с помощью регулярных выражений!

Время на прочтение4 мин
Количество просмотров312K
Серьезно, прекратите. Это пустая трата времени и сил. Поищите регулярку для проверки Email в Google, взгляните на нее — и захочется отойти подышать свежим воздухом. Вспоминается одна очень известная цитата:

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

Джэйми Завински, regex.info
Читать дальше →
Всего голосов 272: ↑231 и ↓41+190
Комментарии237

Простой клиент-сервер на Android (интернет-мессенджер)

Время на прочтение26 мин
Количество просмотров228K
Важно. Все написанное ниже не представляет собой какой либо ценности для профессионалов, но может служит полезным примером для начинающих Android разработчиков! В коде старался все действия комментировать и логировать.

Поехали. Многие мобильные приложения (и не только) используют архитектуру клиент-сервер. Общая схема, думаю, понятна.



Уделим внимание каждому элементу и отметим:

  • сервер — представляет собой некую программу, работающую на удаленном компьютере, и реализующую функционал «общения» с приложениями-клиентами (слушает запросы, распознает переданные параметры и значения, корректно отвечает на них);
  • клиент — в нашем случае, программа на мобильном устройстве, которая умеет формировать понятный серверу запрос и читать полученный ответ;
  • интерфейс взаимодействия — некий формат и способ передачи/получения запросов/ответов обеими сторонами.

Неважно, как реализован любой из этих элементов, все они в любом случае присутствуют. Давайте реализуем примитивный сервер и Android клиент, работающий с ним. Как пример, будем использовать любой популярный мобильный интернет-мессенджер (Viber, ICQ), а приложение условно назовем «интернет-чат».
Читать дальше →
Всего голосов 18: ↑9 и ↓90
Комментарии10

Решение проблемы размытых шрифтов в Ubuntu

Время на прочтение2 мин
Количество просмотров47K
Недавно переехал на Ubuntu 11.04. Продуманная, удобная система, в основном всё меня устраивает, но шрифты в браузере отображались мыльно. Потратил довольно много времени и вот, наконец, нашел решение проблемы.

Должен признаться, в сети мало толковой информации на русском языке по Ubuntu. Искал по словам «настройка шрифтов gnome», «проблема шрифтов в ubuntu», «мыльные шрифты», даже «уродские шрифты» (я намеренно перечислил все варианты для гугла).
Читать дальше →
Всего голосов 65: ↑34 и ↓31+3
Комментарии86

Плюсы микросервисной архитектуры

Время на прочтение3 мин
Количество просмотров38K
Знакомство с микросервисной архитектурой серьезно изменило мой подход к разработке. В этой публикации я расскажу о различных аспектах использования микросервисов. Для иллюстрации некоторых из них буду использовать архитектуру проекта по аренде недвижимости.

Подопытное приложение
Клиент просматривает список доступных квартир и бронирует их, также он может размещать на сервисе свои квартиры.

При классическом подходе для построения чаще всего выбирается фреймворк и внутри него реализуются компоненты. В случае с микросервисами для каждого компонента строится отдельное приложение и подбирается свой набор инструментов. Компоненты чаще всего взаимодействуют через REST API.
image
Компоненты: C — данные по квартирам (ядро), 1 — бронирование, 2 — оплата, 3 — логирование броней, 4 — размещение квартир, 5 — администрирование контента.

Обратите внимание, что перед созданием микросервисного приложения придется как следует продумать бизнес-логику и разбить приложение на самодостаточные компоненты. А теперь поговорим о том, почему микросервисы это круто.
Читать дальше →
Всего голосов 33: ↑21 и ↓12+9
Комментарии41

Веб-сервисы в теории и на практике для начинающих

Время на прочтение9 мин
Количество просмотров614K

Что такое веб-сервисы?



Прежде всего, веб-сервисы (или веб-службы) — это технология. И как и любая другая технология, они имеют довольно четко очерченную среду применения.

Если посмотреть на веб-сервисы в разрезе стека сетевых протококолов, мы увидим, что это, в классическом случае, не что иное, как еще одна надстройка поверх протокола HTTP.

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

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

Чтобы связать все это и предоставить возможность одним приложениям обмениваться данными с другими, и были придуманы веб-сервисы.
Читать дальше →
Всего голосов 62: ↑61 и ↓1+60
Комментарии30

Реализация одного из вариантов мобильной версии сайта

Время на прочтение5 мин
Количество просмотров24K
Оговорюсь сразу, пишу для таких же непрофессионалов в сфере веб-разработки, как и я. По основному роду деятельности я фотограф. Надеюсь, кому-то поможет в аналогичной ситуации.

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

Итак, поддомен мы создали, разместили на нем требуемые нам странички. Основные задачи, стоящие перед нами после этого:
  1. Правильный редирект мобильных и десктопных устройств на соответствующие версии сайта
  2. Возможность просмотра полной версии с мобильных устройств
  3. Так как на урезанной версии сайта некоторые страницы из полной отсутствуют, то надо обрабатывать эти случаи, не теряя посетителей
  4. Удобство мобильной версии сайта для пользователей
  5. Избегание всевозможных сеошных проблем — появления дублей и т.д.

Читать дальше →
Всего голосов 22: ↑16 и ↓6+10
Комментарии16

Как создать искусственный интеллект? История вторая. Алгоритмы интеллектуального поиска и хранения информации

Время на прочтение10 мин
Количество просмотров70K
image
В серии статей мы рассказываем о новых подходах в Искусственном Интеллекте, моделировании личности и обработке BIG Data, которые недоступны для большинства специалистов по ИИ и общественности. Ценность этой информации в том, что она вся проверена на практике и большинство теоретических наработок реализованы в прикладных проектах.

image

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

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

В этой статье мы поговорим о технологиях и алгоритмах, которые изменят ваше представление о поиске и хранении информации.
Читать дальше →
Всего голосов 21: ↑15 и ↓6+9
Комментарии51

Функциональная типология

Время на прочтение10 мин
Количество просмотров8.1K
image

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

Что Вы найдете под катом:
  • Описание функциональной типологии
  • Объяснение механизмов работы нескольких известных практик
  • Примеры из моего собственного опыта


Читать дальше →
Всего голосов 24: ↑15 и ↓9+6
Комментарии16

OpenHAB и домашний контроллер — делаем железо

Время на прочтение4 мин
Количество просмотров42K
Удачно состыковав простое Modbus устройство с платформой OpenHAB, мне тут же захотелось сделать что-то полезное для дома. В ближайшем интернет магазине были закуплены проводки, макетка, модули и датчики для Arduino, и моток синей изоленты.

Вот так я обеспечил себе увлекательное занятие на предстоящие выходные. Поначалу было весело, но скоро путаница проводов стала напрягать, а надежда испытать это чудо в боевых условиях таяла с каждой минутой. Казалось, что проводки пытаются уползти сами собой, а конструкция разбегается от каждого неосторожного движения. А в это время в голове уже рождались новые гениальные мысли…

Решено, нужно спроектировать плату, к которой легко будет подключить все эти датчики и напихать в неё всё, что нужно для автоматизации. А если по той же шине навесить на OpenHAB другие устройства, то получится отличная система умного дома:


Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии15

Создание дизайна Landing Page

Время на прочтение11 мин
Количество просмотров242K


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

При разработке целевых страниц можно столкнуться с двумя главными проблемами, которые могут привести разработчика в ступор или серьезно повлиять на конечный результат не в лучшую сторону. Первая проблема – тупой «продающий» контент. Вторая проблема – отстойное оформление. Крайне редко встречаются целевые страницы, которые имеют хорошее содержание и выглядят достойно. Чаще всего целевые страницы представляют собой унылый шлак.

Так научимся же создавать качественные и красивые целевые страницы. Разобьём урок на 3 части. Содержание, Оформление и Практика.
Читать дальше →
Всего голосов 50: ↑32 и ↓18+14
Комментарии47

Грань между UI и UX

Время на прочтение2 мин
Количество просмотров112K
В последнее время часто сталкиваюсь с проектировщиками интерфейсов, которые вышли из дизайнеров, и на мой взгляд их объединяет одно свойство они не корректируют бизнес процесс. И в итоге остаются хорошие, сделанные по правилам интерфейсы, которые не решают главную проблему:

«Основная проблема интерфейса в том что это интерфейс. Интерфейсы — это препятствия на пути. Я не хочу сосредоточивать свои силы на интерфейсе. Я хочу сосредоточиться на работе… Я не хочу осознавать себя использующим компьютер, я хочу осознавать себя делающим дело».

Дональд Норман

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

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

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

Читать дальше →
Всего голосов 41: ↑37 и ↓4+33
Комментарии34

Плейсхолдеры — зло

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

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


Проблемы, причины и решение
Всего голосов 73: ↑34 и ↓39-5
Комментарии24
1

Информация

В рейтинге
Не участвует
Откуда
Омск, Омская обл., Россия
Дата рождения
Зарегистрирован
Активность