Pull to refresh
1
0
Роман Казаков @rkazakov

Менеджер по продуктам

Send message

40 ключевых концепций информационных технологий доступно и понятно

Reading time16 min
Views161K
Представляю вашему вниманию перевод очень ёмкой, и в то же время достаточно краткой (для такого масштаба проблемы) статьи Карла Чео. Я решил, что очень хочу сделать её перевод практически сразу, как только начал читать, и очень рад, что в итоге сделал это.
Для того, чтобы сделать обучение более веселым и интересным, представляю вам перечень важных теорий и концепций информатики, объяснённых с помощью аналогий с минимальным количеством технических деталей. Это будет похоже на очень быстрый курс информатики для всех с целью просто дать вам общее представление об основных концепциях.

Важные замечания:
  • Пункты с неуказанным источником написаны мной самостоятельно. Поправьте меня, если вы заметите какие-то неточности. Предложите лучшую аналогию, если это возможно.
  • Заголовки ссылаются на соответствующие им статьи в Wikipedia. Пожалуйста, читайте эти статьи для более серьезных и детальных объяснений.
  • Аналогии — отличный способ объяснить материал, но они не идеальны. Если вы хотите по-настоящему понять перечисленные концепции, вам следует начать с фундаментальных азов и рассуждать, исходя из них.

Также зацените эту инфографику (вариант на русском), если вы просто начинающий программист.
Читать дальше →

Путешествия банковской транзакции

Reading time8 min
Views153K
image

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

PM из Facebook: контринтуитивные выводы о менеджменте (часть 1)

Reading time7 min
Views7.5K
Впервые я начала руководить людьми семь лет назад — прошло три года после моего выпуска из университета и первой работы в области дизайна. В то время мне крайне не хватало квалификации. У меня почти не было опыта, когда кто-то руководил мной, не говоря уже о том, чтобы мне руководить другими. Я все еще благодарна менеджеру, который у нас был на тот момент, за её веру в меня. Не думаю, что в её ситуации я бы поставила на себя. И, опять же, одна из вещей, которой вы учитесь — дальновидный менеджер иногда может видеть в тебе то, что ты сам не видишь и подталкивать тебя к тем достижениям, которые казались невозможными.

image

В центре кадра — Julie Zhuo, product design director в Facebook

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

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

«Рок это жёстко» или я.музыка как граф

Reading time5 min
Views10K
КДПВ

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

К вопросу о документации

Reading time3 min
Views2.5K
(Примечание переводчика ПП — я надеялся, что проблема только у нас, и если я не вижу каких то параметров в даташите, то либо я просто не умею их читать, либо это неправильные дата и где-то есть настоящие. Но раз об этом пишет Джек, который, я надеюсь, имеет доступ к самым правильным дата, значит, действительно Все Очень Плохо).

Должен ли поставщик гарантировать поставку компонентов, соответствующих описанию? И наоборот, как добиться соответствия описания реальному компоненту?
Читать дальше →

Заметки о безопасности. Восстановление пароля

Reading time6 min
Views43K
Хотелось бы немного рассказать о подходе повествования в данном посте. Всё описанное имеет реальные случаи произошедшие из моей личной практики, в большинстве своём это популярные проекты, поэтому в тексте буду их упоминать. Главное на что я хотел бы обратить внимание — эта статья может показаться не интересной специалистам ИБ, т.к. она не содержит никаких новых векторов атаки и супер крутых подходов. Вся информация ориентирована на разработчиков и проект-менеджеров.
Проводя заказы на аудит целью ставится аналитика максимального ущерба при минимальных действиях и знаниях злоумышленника. Как показывает практика в суровых условиях производства ПО такие нюансы продумывают единицы проектов.



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

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

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

Книга «Python для сложных задач: наука о данных и машинное обучение»

Reading time13 min
Views47K
imageПривет, Хаброжители! Данная книга — руководство по самым разным вычислительным и статистическим методам, без которых немыслима любая интенсивная обработка данных, научные исследования и передовые разработки. Читатели, уже имеющие опыт программирования и желающие эффективно использовать Python в сфере Data Science, найдут в этой книге ответы на всевозможные вопросы, например: как считать этот формат данных в скрипт? как преобразовать, очистить эти данные и манипулировать ими? как визуализировать данные такого типа? как при помощи этих данных разобраться в ситуации, получить ответы на вопросы, построить статистические модели или реализовать машинное обучение?

Ниже под катом обзор книги и отрывок «Гистограммы, разбиения по интервалам и плотность»
Читать дальше →

Изучаем блокчейн на практике

Reading time12 min
Views56K
Вы читаете эту статью потому, что, как и я, с горячим интересом наблюдаете за возрастающей популярностью криптовалюты. И вам хочется понять, как работает блокчейн — технология, которая лежит в ее основе.

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

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


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

Как рассказать что такое Agile на заводе? Топ 5 самых популярных Agile-практик

Reading time9 min
Views13K
Если оторваться от Хабра, заглянуть в реальную российскую компанию старше 30 лет и больше чем с тысячью сотрудников и произнести слово Agile, то реакция будет как минимум настороженная. Люди там уже слышали истории похожие на «Как рассказать бабушке» или "Как рассказать дедушке" и посмотрели все выступления Грефа, получили с десяток предложений внедрить гибкость за неделю, кто-то из сотрудников даже поработал год со Scrum, но остается один вопрос:

«Что с этим нам делать то, у нас из программирования только сайт?»

В итоге примерно для 100% компаний Agile смахивает на шарлатанство.


Но вот парадокс — в мире 77% компаний*, использующих Agile в проектах, занимаются совсем не разработкой программного обеспечения.

*Из большого ежегодного опроса компаний от VersionOne

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

Вы уволили самого талантливого сотрудника. Надеюсь, теперь вы довольны

Reading time7 min
Views169K
Недавно довелось прочитать статью под названием «Мы уволили самого талантливого сотрудника. Это лучшее решение, которое мы когда-либо делали». [Очень популярная статья, которая получила массу положительных оценок на Medium — прим. пер.]

Давайте присядем, вы и я. Нужно поговорить. Если вы не читали статью по ссылке, то уделите 10–15 минут и прочитайте, впитайте её целиком.

Готовы? Отлично. Теперь разберём этот текст, потому что он значит гораздо больше, чем там написано. Если вы прочитали статью, то понимаете, что автор описывает проблемного сотрудника под вымышленным именем «Рик». Рик — это местный гений с огромным количеством знаний в предметной области, он входит в состав ключевых разработчиков продукта.

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

Что нужно знать руководителю IT подразделения?

Reading time4 min
Views14K
Мы тут потихоньку строим наш образовательный маршрут по brand new для нас местам в виде нового курса: "Руководитель IT подразделения". В отличие от обычных программерских курсов, тут мы решили затронуть достаточно широкий спектр задач связанных не столько с софтом и прочим, сколько управлением, финансами и прочим. Данные заметки-вопросы являются, скорее, кратким изложением программы курса, чем ответом на вопрос в топик, но нам было бы интересно охватывают ли они, а точнее сама программа, в каком-либо приближении такую штуку как руководство IT: всё ли нужно и всего ли хватает?

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

Не по ТЗ

Reading time4 min
Views41K


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

44 урока управления технарями

Reading time7 min
Views46K
Предлагаю читателям Хабра мой перевод статьи «44 урока управления технарями» Славы Ахмечета, сооснователя RethinkDB. В оригинальной статье используется термин «инженеры», но в контексте статьи я буду использовать также термин «технари» – более емкое, как мне кажется, с точки зрения русского языка слово, охватывающее профессии в сфере ИТ, частью которой я тоже являюсь.

Немного об оригинальном тексте. Статья была написана в 2014 году в личном блоге автора, в октябре 2016 компания RethinkDB не смогла выйти в прибыль и закрылась, о чем на Хабре писали тут и тут, а Слава поразмышлял об этом здесь.

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

Источник
Читать дальше →

«Лучшие практики» для построения отношений руководителя-гуманитария с разработчиками

Reading time3 min
Views6.4K


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

1. Начинайте говорить с разработчиком, только когда он в наушниках


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

О выборе структур данных для начинающих

Reading time18 min
Views181K
image

Часть 1. Линейные структуры


Массив


Когда вам нужен один объект, вы создаёте один объект. Когда нужно несколько объектов, тогда есть несколько вариантов на выбор. Я видел, как многие новички в коде пишут что-то типа такого:

// Таблица рекордов
int score1 = 0;
int score2 = 0;
int score3 = 0;
int score4 = 0;
int score5 = 0;

Это даёт нам значение пяти рекордов. Этот способ неплохо работает, пока вам не потребуется пятьдесят или сто объектов. Вместо создания отдельных объектов можно использовать массив.

// Таблица рекордов
const int NUM_HIGH_SCORES = 5;
int highScore[NUM_HIGH_SCORES] = {0};

Будет создан буфер из 5 элементов, вот такой:



Заметьте, что индекс массива начинается с нуля. Если в массиве пять элементов, то они будут иметь индексы от нуля до четырёх.
Читать дальше →

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

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

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

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

image

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

Как создать понятный пользователю каталог услуг: делаем это за 9 шагов

Reading time4 min
Views24K
Каталог услуг неразрывно связан с понятием ITSM и является важнейшим компонентом сервисного подхода. Необходимость в его создании возникает на этапе внедрения ITSM.

Это становится ясно из аналогий, которые приводит Шэрон Тейлор (Sharon Taylor), главный архитектор третьей редакции ITIL. Она сравнивает каталог услуг с iTunes или App Store для предприятий, онлайн-справочником и ресурсом для разработчиков одновременно. Разберемся с этой темой с помощью небольшого чеклиста.

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

«Роль аналитика в принятии важных продуктовых решений»: видеозаписи докладов с митапа

Reading time2 min
Views4.8K


В конце сентября в питерском офисе Wrike прошла встреча для продуктовых аналитиков и менеджеров по продукту. Встреча была посвящена вопросам качественной (vs количественная) аналитики, взаимодействию аналитиков и продакт-оунеров, процессу и инструментам валидации продуктовых изменений.

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

Как мы Scrum масштабировали

Reading time6 min
Views11K
Всем привет! Меня зовут Леша. Я работаю в подразделении Альфа-Банка, занимающемся развитием электронных каналов. Интернет- и мобильный банкинг – это все про нас.

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

Сегодня я хочу рассказать о нашем опыте масштабирования Scrum, когда над одним продуктом работало сразу несколько команд. Как мы до этого дошли и что из этого вышло? Всех заинтересованных прошу под кат.
Здесь должен быть слоник
Читать дальше →

Решение задачи коммивояжёра методом ближайшего соседа на Python

Reading time7 min
Views45K

Быстрый и простой алгоритм требующий модификации


Среди методов решения задачи коммивояжёра метод ближайшего соседа привлекает простотой алгоритма. Метод ближайшего соседа в исходной формулировке заключается в нахождении замкнутой кривой минимальной длины, соединяющей заданный набор точек на плоскости [1]. Моё внимание привлекла наиболее распространённая реализация данного алгоритма в пакете Mathcad, размещённая в сети на ресурсе [2]. Сама реализация не совсем удобна, например, нельзя вывести матрицу расстояний между пунктами или проанализировать альтернативные маршруты.

На ресурсе [2] приведена следующая вполне справедливая критика данного метода. «Маршрут не оптимальный (не самый короткий) и сильно зависит от выбора первого города. Фактически не решена задача коммивояжера, а найдена одна гамильтонова цепь графа». Там же предложен путь некоторого усовершенствования метода ближайшего соседа. «Следующий возможный шаг оптимизации — «развязывание петель» (ликвидация перекрестий). Другое решение — перебор всех городов (вершин графа) в качестве начала маршрута и выбор наикратчайшего из всех маршрутов». Однако реализация последнего предложения не приведена. Учитывая все перечисленные обстоятельства, я решил реализовать приведенный алгоритм на Python и при этом предусмотреть возможность выбора начального пункта по критерию минимальной длины маршрута.
Читать дальше →

Information

Rating
Does not participate
Date of birth
Registered
Activity