Search
Write a publication
Pull to refresh
-1
0
smartking @abiruba

User

Send message

Как программистам не дают больше ничем заниматься

Reading time3 min
Views56K


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

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

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

Это очень любопытный феномен, который я наблюдал неоднократно, во многих ситуациях и организациях, и не только со мной. Дошло до того, что теперь в некоторых проектах я активно избегаю писать код (или притворяюсь, что не умею), потому что хочу добиться доверия со стороны пользователя или заказчика (например), чтобы он разрешил мне заниматься планированием и составлением технических заданий. Но как только я что-нибудь напишу, то сразу становлюсь в команде «разработчиком». И останусь им навсегда.
Читать дальше →

Docker, как показатель зрелости

Reading time6 min
Views28K

Когда мы были детьми, мы многого не понимали, что на данный момент является абсолютно очевидным. "Почему я не могу есть одни конфеты? Почему бутерброды — не еда, я же это ем? Почему я не могу спать с хомяком? Зачем чистить зубы каждый день, да еще целых два раза?!" Действительно, зачем? Но будучи взрослыми, зрелыми людьми, мы не задаемся подобными вопросами.


Похожая ситуация происходит и в мире IT (возможно, это касается любой профессиональной деятельности). Многих вещей на начальных стадиях мы можем не понимать. "Зачем, да и вообще кому нужны всякие Symfony, если есть WordPress? Зачем тратить время на автоматическое тестирование, если и так все работает? Git? Linux? SOLID, DRY, DDD, TDD? Что за страшные слова?". Новичкам сложно понять, зачем нужно так много всего. Осознание приходит со временем и вскоре такие вещи становятся не только понятными, но и очевидными.


Хочу рассказать свою историю того, как я дорос до Docker и что этому поспособствовало.

Читать дальше →

Видеонаблюдение в подъезде своими силами

Reading time20 min
Views165K


Прочитал относительно недавнюю публикацию о видеонаблюдении и решил описать свой опыт. Считаю мое решение оптимальным по соотношению цена/функциональность, но с удовольствием выслушаю критику более опытных людей.

Итак, задача — минимальными материальными и временными ресурсами сделать видеонаблюдение в подъезде перед входной (в квартиру) дверью. Желательно не записывать круглые сутки “пустые” картинки, т.е. необходимо детектирование движения. Также хорошо бы иметь удаленный доступ к записям.
Читать дальше →

Golang, PHP, Кинопоиск и Telegraph — Что их объединяет?

Reading time6 min
Views18K
Периодически, чтобы не покрыться пылью, я стараюсь создавать интересные штуки, которые смогли бы облегчить чью-то жизнь. Я стремлюсь к тому, чтобы они были, полезнее, чем социальная сеть для кошек. Один из недавних примеров — Телеграм-бот, который позволяет в указанных координатах найти известные Wi-Fi-точки и посмотреть пароли к ним.

Этот раз не стал исключением и я задумал создать бота, который позволял бы с наибольшим комфортом и минимумом усилий смотреть любимые фильмы и сериалы, да еще и предоставлял контент в нескольких вариантах озвучки. Сказано — сделано. И теперь, когда железный друг человека радостно раздает пользователям их любимые шоу, я бы хотел поговорить о том, что сопутствовало созданию бота, какие проблемы вставали на моем пути и как они были решены. В первой главе я расскажу о Go глазами PHP-разработчика, во второй главе о поиске дзена для парсинга Кинопоиска, а в третьей — о недокументированной фиче Telegraph.

image
Читать дальше →

Настройка звука в Ubuntu

Reading time7 min
Views205K

У меня есть хобби — написание музыки. Поэтому после установки свежей версии Ubuntu на свой ноутбук мне понадобилось настроить звук чуть более тонко, чем обычным пользователям. К моему сожалению, сделать это у меня не вышло. Тем не менее, я хочу рассказать о шагах, которые немного приблизили меня к результату. Я надеюсь, что кому-то это сэкономит время. А может, с помощью читателей я смогу пройти дальше. Если вы пользуетесь Linux и можете произнести слова sidechain и компрессия в одном осмысленном предложении — Добро пожаловать!


Читать дальше →

Я создал приложение, которое делает изучение алгоритмов и структур данных гораздо интереснее

Reading time7 min
Views52K
image

Интерфейс CS-Playground-React

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

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

Зайдите на CS-Playground-React, простую браузерную JavaScript-песочницу для изучения и практикования алгоритмов и структур данных.

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

Биороботы нашего времени — избавляемся от рутины вместе с Telegram. Реальный кейс без фантазий

Reading time5 min
Views28K
В интернетах не прекращается хайп вокруг чат-ботов (в частности, Telegram) благодаря шуму в СМИ, неоспоримых достоинствах платформы, политике продвижения, средствам разработки и т.д.

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

Но давайте положим руку на сердце: когда последний раз вы что-то заказывали в интернет-магазине через чат-бот?

Кто все эти люди, которые заказывают разработку ботов для своих магазинов?


Типичный чат-бот магазина Vasya Limited:
>> автоматизирует поток водопад заявок из 5 человек в день,
>> сливает 4 из 5 заявок, кровью добытых через Яндекс-Директ,
>> если повезет, человек найдет номер телефона и позвонит,
>> но, вероятней всего, «Эээ, куда жать?», а потом закроет и уйдет гуглить дальше.

Чем занят владелец, когда продажи «автоматизированы»:
>> вносит заказы в excel-таблицу
>> заполняет почтовые бланки на посылках
>> стоит в очереди на почте с кучей посылок (каждый день!)
>> вносит трек номера в excel-таблицу, затем рассылает клиентам

Может, хватит на ровном месте встраивать «технологии» туда, где действительно нужен человек, в то время как люди загружены рутиной для роботов?
Читать дальше →

Как ты реализуешь аутентификацию, приятель?

Reading time10 min
Views126K


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


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


Здесь я постараюсь рассказать о большинстве распространённых сегодня методов аутентификации. Это не подробное техническое руководство, а лишь способ познакомить вас с ними. Хотя методы описаны с учётом применения в вебе, эти идеи можно реализовать и в других условиях.

Читать дальше →

Как обманывают трейдеров на биржах криптовалют: расследование Business Insider

Reading time3 min
Views34K


График торгов криптовалюты Vcash, которой манипулировали недобросовестные трейдеры

Издание Business Insider опубликовало большое расследование о схемах манипуляции ценами альткоинов на некоторых биржах криптовалюту, похожих на операции, которые совершал герой фильма «Волк с Уолл-стрит». Мы перечисляем главные факты из этой статьи.
Читать дальше →

Криптовалюты и виртуальная экономика

Reading time18 min
Views38K

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


Я порассуждаю на следующие темы:


  • Что такое деньги как таковые, и почему появление криптовалют было неизбежным
  • Являются ли криптовалюты очередным финансовым пузырем
  • Кто такие "богатые" и "бедные" с точки зрения математики
  • Кем вы можете стать в сфере криптовалют

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


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


Читать дальше →

«Как близнецы»: 3 пары похожих терминов ITIL

Reading time5 min
Views24K
Библиотека ITIL — подробный набор методов управления ИТ-услугами, который применяют с восьмидесятых годов. Но путаница в используемых терминах и их значении до сих пор преследует тех, кто только начинает внедряет у себя соответствующие методологии.

В этой статье мы попытаемся разграничить три пары похожих терминов:

  • Инцидент и проблема
  • Управление инцидентами и управление проблемами
  • Service desk и Help Desk

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

Читать дальше →

Docker и все все все

Reading time10 min
Views28K

image


Мало найдется сегодня несогласных с тем, что Docker в конце концов стал "мейнстримом". Ну, точнее, контейнеры Docker стали. Правда есть фронт, где война еще не окончена, хотя для многих победитель уже очевиден, и победитель этот — Kubernetes, который по статистике использования сильно опережает основных конкурентов: Docker Swarm и Mesos + Mesosphere.


Я знаю людей и компании, которые не согласны с выводом большинства о том, что k8s это будущее оркестрации контейнеров. Но по некоторым причинам и аналогичные инструменты от других производителей их также часто не устраивают. Крупные компании в таком случае выбирают путь разработки своего собственного инструмента для оркестрации контейнеров. Другие останавливаются на Mesos или даже на Nomad. Но я пока не знаю никого, кто использовал бы Docker Swarm (mode).


Кстати, число "8" в слове k8s означает точно "8 букв", то есть: k8s = k[8_других_букв]s = kubernetes. Мода на такие сокращения появилась в бородатых 80-х прошлого века, и лично я не приветствую такие сокращения, поэтому далее буду называть инструменты их полным именем.

Читать дальше →

Новая многообещающая методология разработки, которую уже назвали «убийцей Agile»*

Reading time5 min
Views66K
*

на правах пятницы


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


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


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


Итак, встречайте — Porozhnyak!

Как я получил 365K загрузок в App Store за две недели (и почему после этого ушёл из геймдева)

Reading time6 min
Views37K


Я не стал успешным разработчиком игр. Моя самая популярная игра Frantic Architect достигла всего 410 678 бесплатных установок, прежде чем была удалена из App Store; она ни в какое сравнение не идёт с Flappy Bird или 2048.

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

Вместо этого я бросил её.

Прошло уже полтора года после выхода Frantic Architect. Технологии развиваются быстро и я не тратил много времени на переосмысление заброшенных проектов. Но изучая сегодня App Store, я вижу там разработчиков казуальных мобильных игр, достигших успеха с той же стратегией, которую использовал я тогда. Сомневаюсь, что она ещё долго будет работать, но пока это так, и при этом она очень проста (если не примитивна).

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

Мне не интересно повторять этот эксперимент, потому что я считаю эту бизнес-модель фиговой. Возможно, вам удастся меня переубедить.
Читать дальше →

10 очевидных шагов для подготовки инфраструктуры интернет-магазина к Чёрной пятнице

Reading time10 min
Views10K


Несмотря на то, что мы предпочитаем писать про микросервисы, Kubernetes и прочее из области cloud native, нам хорошо известен и другой мир — гораздо более реальный, если посмотреть «в массе», например, на интернет-магазины (даже весьма успешные). В нём нет автоматического provisioning и масштабирования, сложной балансировки нагрузки и прочих красивых технических решений. Зато есть «Чёрная пятница», которая уже завтра, а значит — времени на подготовку практически не осталось. Конечно, наш рецепт №1 по качественной подготовке к ней (а заодно и получению целого букета дополнительных плюсов) — миграция на микросервисную архитектуру и Kubernetes, но предположим, что по какой-то причине этот вариант не подходит (до завтра его всё равно не реализовать).

Эта статья — список более-менее быстрых действий для оптимизации типовой инфраструктуры интернет-магазина (рассматриваются примеры с nginx, Apache, PHP, MySQL) с целью её подготовки к высоким нагрузкам. Они могут быть весьма очевидны для опытных системных администраторов, однако наверняка окажутся полезными для тех, кто глубоко ещё не погружался в эти вопросы, а их актуальность стремительно нарастает. Итак, попробуем выжать максимум из того, что есть в инфраструктуре, или хотя бы взять на заметку те основные вопросы, которыми стоит озаботиться перед следующими всплесками нагрузки.
Читать дальше →

Операционные системы Linux под разные задачи

Reading time17 min
Views686K
Существует огромное количество операционных систем Linux, каждая из которых предлагает то либо другое преимущество. Различные варианты ОС могут затруднить выбор и забрать немалое количество времени для поиска необходимой именно под ваши задачи. Ubuntu, Mint, Elementary, Fedora, OpenSUSE… список удобных для пользователя дистрибутивов может показаться бесконечной историей. Нужна ОС попроще? Для игр? А возможно, нужен мультимедийный дистрибутив для комфортного просмотра и прослушивания медиа контента? Все они доступны.



Здесь собран регулярно обновляемый список операционных систем Linux, оптимально подходящий под конкретные потребности и требования проекта. Материал — адаптивный перевод статьи Christian Cawley The Best Linux Operating Systems.

Pygest #18. Релизы, статьи, интересные проекты, пакеты и библиотеки из мира Python [5 ноября 2017 — 15 ноября 2017]

Reading time2 min
Views9.7K

image Всем привет! Это уже восемнадцатый выпуск дайджеста на Хабрахабр о новостях из мира Python.

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

Итак, поехали!



Читать дальше →

Время Bitcoin банков?

Reading time6 min
Views25K
Недавно в мире Bitcoin произошло довольно примечательное событие. Был добыт блок, в котором премиальные 12.5 BTC за блок оказались меньше, чем премиальные за транзакции 13.4 BTC. Конечно, такие ситуации случались и раньше в результате ошибок, щедрости или разных экспериментов на Blockchain, но впервые такая ситуация стала результатом тренда на стоимость транзакций.



Возможно Bitcoin требуются банки или их аналоги?
Читать дальше →

Инструменты управления контейнерами

Reading time7 min
Views11K


Развертывание приложений всегда было головной болью разработчиков. Олдфаги, которым довелось кодить во времена Windows COM, наверняка помнят «DLL Hell» – настоящий кошмар девелоперов и сисадминов. Но хотя прошли годы, ежедневно растущий поток новых технологий зачастую создает путаницу и неуверенность.

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

Как быть тимлидом — моя версия

Reading time8 min
Views34K

Я был абсолютно двинутый на компьютерах и геймерствовал безбожно. В юности хотел пойти писать игрушки и даже некоторое время писал. Рос, рос, рос. Был в разное время разработчиком, тимлидом, проект-менеджером. Выяснилось, что в проекте надо не только кодить, но и предлагать какие-то решения сходу, обосновывать их, договариваться, быстро переключаться между разнородными задачами. Лично для меня это серьезная нагрузка на мозг. Перейти из режима «кодить» и «говорить ртом» — отнимает много сил.

Читать дальше →

Information

Rating
Does not participate
Location
Беларусь
Date of birth
Registered
Activity