Pull to refresh
21
0
Александр @apah

Пользователь

Send message

Как я написал книгу почти по социнжинирингу

Reading time5 min
Views21K


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

Если коротко – она о том, как рассказывать истории. Точнее даже так: как в работающем бизнесе (или другом проекте) выбрать самые интересные истории, правильно их подать, в полной мере собрать факты и не облажаться потом. Методология построена именно на «не облажаться потом», то есть на проверке фактов и очень спокойной работе без истерических криков. Это продаёт, и этот канал рассказов о своих проектах называется контент-маркетингом (термин появился позже, чем тот же Фёдор из Сыктывкара начал рассказывать про свой книжный бизнес, но раньше, чем он начал печь пиццу). Ещё Евгений Чичваркин с Евросетью живо чувствовал, что нужно что-то такое – но он хотел снимать шоу про работу магазина, чтобы с отжимом поставщиков, собеседованиями, злыми клиентами, инвентаризациями и другими взлётами и падениями.

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

Библиотека быстрого поиска путей на графе

Reading time8 min
Views35K

Привет, Друзья!


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


Пример использования на огромном графе:



Поиграться с демо можно здесь


В библиотеке используется мало-известный вариант A* поиска, который называется NBA*. Это двунаправленный поиск, с расслабленными требованиями к функции-эвристике, и очень агрессивным критерием завершения. Не смотря на свою малоизвестность у алгоритма отличная скорость сходимости к оптимальному решению.


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

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

Иллюзия скорости

Reading time10 min
Views44K
Много лет я и мои коллеги убеждали разработчиков, что чем быстрее сайт — тем лучше. Статья не о том. Я не собираюсь показывать вам статистику, насколько больше зарабатывают компании, которые оптимизируют сайт для производительности (а это так). Расслабьтесь, возьмите чашечку шоколада — мы вместе совершим путешествие во времени.

Настоящее время и воспринимаемое время



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

Разработка прибыльной Android игры двумя школьниками

Reading time6 min
Views197K
В данной статье хочу рассказать вам об опыте разработки одной простенькой игры под Android, которая многократно окупилась еще на стадии разработки!

image

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

Литература на выходные: 15 материалов по структурированию кода для разработчиков

Reading time5 min
Views27K
Одним из параметров оценки кода служит его чистота. Создатель языка моделирования UML Гради Буч (Grady Booch) писал:

«Чистый код прост и ясен. Чистый код читается как хорошо написанное произведение. Чистый код никогда не скрывает намерений создателя, но, напротив, полон четких абстракций и простых линий передачи управления»

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

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

Выбор Help Desk системы. 9 типичных заблуждений

Reading time7 min
Views8K
Мы разрабатываем систему автоматизации постпродажного клиентского обслуживания для небольших бизнесов Okdesk, а потому ежедневно общаемся с большим количеством небольших сервисных компаний:

  • ит аутсорсинг;
  • обслуживание ККТ и другого специализированного оборудования;
  • digital агентства и веб студии;
  • вендоры и разработчики сервисов.

Оказывается, неудачный выбор и внедрения, вызванные неправильным подходом к проектам автоматизации в некоторых компаниях, порождают на рынке мифы относительно бесперспективности внедрений в определенных ситуациях. По итогам общения с более чем 1000 представителями среднего и малого бизнеса, мы отобрали наиболее распространенные заблуждения, из-за которых компании отказываются от внедрения систем службы поддержки (Help Desk). Многие из этих заблуждений являются причинами отказа от внедрения и других систем автоматизации. Нам захотелось поделиться этими заблуждениями с читателями и развеять эти мифы.
Развеиваем мифы

Обзор GUI-интерфейсов для управления Docker-контейнерами

Reading time5 min
Views182K


Работа с Docker в консоли — привычная для многих рутина. Тем не менее, бывают случаи, когда GUI-/веб-интерфейс может оказаться полезным даже для них. В статье представлен обзор наиболее заметных на сегодняшний день решений, авторы которых попытались предложить более удобные (или подходящие для каких-то случаев) интерфейсы для знакомства с Docker или даже обслуживания больших его инсталляций. Некоторые из проектов совсем молоды, а иные — наоборот, уже отмирают…
Читать дальше →

Zabbix 3.4: Массовый сбор данных на примерах счетчика Меркурий и smartmontools

Reading time7 min
Views41K


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

  • сбор всех данных за раз, полученных в JSON от консольной утилиты счетчика электроэнергии Меркурий 236
  • сбор показателей S.M.A.R.T. жестких дисков и SSD, полученных в табличном виде от smartmontools.
Читать дальше →

Управление ресурсами при разработке продуктов в машиностроении

Reading time7 min
Views6.8K
В своей предыдущей статье Канбан в управлении разработкой продуктов в машиностроении мною был рассмотрен опыт внедрения системы канбан в проектной деятельности на производственном предприятии. Система прижилась и подверглась некоторым эволюционным изменениям. Это живой, непрекращающийся процесс. В настоящей статье хочу развить тему управления проектами с точки зрения ресурсов. Приведу примеры оптимизации использования ресурсов в своей практике и покажу правильность выбранных подходов на основании теоретических знаний и практики их использования.


1. Расставлять приоритеты и планировать узкие места
Читать дальше →

Дизайн-система Acronis. Часть первая. Единая библиотека компонентов

Reading time7 min
Views24K


Меня зовут Сергей, я работаю старшим дизайнером в компании Acronis. В отделе дизайна продуктов для бизнеса я отвечаю за разработку и внедрение единой библиотеки компонентов.


Так как у нас много продуктов и сервисов, а дизайн в этих продуктах и сервисах сильно отличается, мы решили его унифицировать и привести к единому UI. Зачем? Все просто: такой подход дает возможность оптимизировать работу отдела, сосредоточить дизайнеров на UX, ускорить процесс разработки и запуск новых продуктов, снизить нагрузку на отделы тестирования и значительно сократить количество багов на стороне front-end. В этой статье я расскажу о нашем опыте, остановлюсь на инструментах и покажу, как устроена библиотека изнутри.

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

Искусство создания диаграмм процессов

Reading time9 min
Views43K
Когда хочешь быстро объяснить суть какого-то процесса, то обычно рисуешь на листке бумаги несколько прямоугольников с текстом и проводишь между ними связи. Этому нехитрому принципу следуют большинство методологий описания бизнес-процессов, технологических процессов и любой другой человеческой деятельности. Можно принять как данность, что подобные схемы очень важны в современной парадигме накопления знаний.

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

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

image

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

Как поделить одного инструктора на всех, чтобы каждому досталось по два. Best practice в обучении ИТ

Reading time14 min
Views15K
Сфера образования очень консервативна. Здесь сложно придумать что-то революционное, а уж внедрить новацию в учебный процесс еще сложнее. Так и получается, что обучение самым передовым технологиям во многих учреждениях до сих пор напоминает школьную тоску и поэтому малоэффективно.

В «Сетевой Академии ЛАНИТ» новый формат обучения разрабатывали, опираясь на научные исследования – как человек усваивает и как скоро забывает новую информацию, какие факторы отвлекают внимание и в каких условиях обучение более эффективно. Сразу скажу, благодаря новым методикам результаты экзаменов улучшились на 30%. В этой статье я расскажу о научных фактах, которые так повлияли на эффективность нашего обучения. Вы же сможете их использовать где угодно – и в самостоятельном обучении, и в выступлениях на публике, и при подготовке презентаций.


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

Внедрение code style в существующий проект

Reading time6 min
Views11K

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


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


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

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

Оптимизация веб-серверов для повышения пропускной способности и уменьшения задержки

Reading time31 min
Views47K


Привет! Меня зовут Макс Матюхин, я работаю в SRV-команде Badoo. Мы в Badoo не только активно пишем посты в свой блог, но и внимательно читаем блоги наших коллег из других компаний. Недавно ребята из Dropbox опубликовали шикарный пост о различных способах оптимизации серверных приложений: начиная с железа и заканчивая уровнем приложения. Его автор – Алексей Иванов – дал огромное количество советов и ссылок на дополнительные источники информации. К сожалению, у Dropbox нет блога на Хабре, поэтому я решил перевести этот пост для наших читателей.

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

Начальник, хочу работать из дома

Reading time3 min
Views63K
Несколько лет назад примерно с такой фразой ко мне пришел один из ведущих программистов. Давайте назовем его Иваном (все персонажи вымышленные, а любые совпадения случайны). Он собирался переехать жить за город и каждый день ездить в офис ему стало неудобно. У Ивана был приличный послужной список, несколько лет работы в компании и большой вагон доверия. Тогда мы договорились, что Иван будет работать удаленно понедельник и пятницу, а вторник-четверг он приезжает в офис с утренним графиком.
Читать дальше →

5 правил работы с суммами

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


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

Социнжиниринг в военной пропаганде

Reading time13 min
Views88K


Во время Второй мировой англичане достали личные дела командиров немецких подлодок. Вроде бы не очень важная информация для военных целей – лодки-то уже вышли на задания, что им сделаешь. Но к делу подключились тёртые специалисты по пропаганде. У союзников были ежедневные радиопередачи, и вот пример:
— Мы обращаемся к вам, командир подводной лодки «U-507» капитан-лейтенант Блюм. С вашей стороны было очень опрометчиво оставить свою жену в Бремене, где в настоящее время проводит свой отпуск ваш друг капитан-лейтенант Гроссберг. Их уже, минимум, трижды видели вместе в ресторане, а ваша соседка фрау Моглер утверждает: ваши дети отправлены к матери в Мекленбург…
Цитата из «Операция «Гроза» — И. Бунич
Красота, правда? И, главное, в точности соответствует одному из базовых методов социнжинирингового проникновения внутрь инфраструктуры при направленной атаке.

В общем, так получилось, что многие современные методы пиара пошли от наших, английских и немецких разработок времён Второй Мировой войны. И пока я писал книгу про то, как рассказывать людям о своей компании, понадобилось залезть для подтверждения и поднять пару исторических фактов. Заодно вскрылся отличный слой совершенно диких — ну или прекрасных — историй и методик убеждения. Про них и расскажу.
Читать дальше →

Пару слов о неминуемом повороте в развитии IT-отрасли

Reading time5 min
Views72K
В связи с тем, что относительно большая (и очень громкая) часть IT живёт в очередном пузыре доткомов (теперь уже стартапов), у некоторых представителей этого племени, а в особенности у всяких евангелистов и даже HR появилась иллюзия следующего свойства.

Мол, какой-то девайс, фреймворк или способ работы резко поднимает успешность предприятия. Например, «мы все используем MacBook, и у нас уже третий раунд инвестиций». Или «мы решили открыть travel-агентство, и нанимаем только тех программистов, которые не вылезают из путешествий; мы хотим, чтобы все сотрудники разделяли наши ценности, и у нас уже оборот 100 млн долларов». Или «как только мы внедрили React + Vue + Angular, наши дела пошли в гору, и нас купил Google». И так далее.

На первый взгляд кажется абсурдом? — Да, но признаем: хайп и гвалт есть несомненные сопутствующие элементы современного IT-мира. Любое явление, находящееся на острие общественного внимания, а IT, безусловно, из таких, не может не впитать в себя характерные черты социума своего времени. В частности, тенденцию к превалированию формы над содержанием.

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

Что общего у крупных успешных Open Source-проектов?

Reading time3 min
Views12K


В организации The Linux Foundation задались вопросом, что объединяет проекты с открытым кодом, которым удалось собрать вокруг себя большое сообщество и добиться быстрых темпов разработки. Чтобы ответить на него, Дэн Кон (Dan Kohn), возглавляющий одно из многочисленных подразделений организации — CNCF (Cloud Native Computing Foundation), и его коллега-разработчик (Łukasz Gryglicki) создали визуализацию для 30 самых активно развивающихся Open Source-проектов, по статистическим данным с мая 2016 по апрель 2017 года. В качестве численных показателей, которые были учтены для выборки самих проектов и их визуализации, авторы использовали:
Читать дальше →

Эволюция разработчика

Reading time8 min
Views11K


Это история о нас. Тем из нас, у кого 10 и более лет опыта работы в сфере ПО, описанное в статье может показаться знакомым. А те, кто еще на ранних этапах карьеры, смогут узнать, что ждет их в близком и не очень будущем, и получить пару советов.

Переведено в Alconost

Первые шаги


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

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

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity