Коля. Заметки

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
черновики:коля._заметки [08.07.2017 09:43]
127.0.0.1 внешнее изменение
черновики:коля._заметки [20.05.2019 15:18] (текущий)
Строка 1: Строка 1:
-===== Почитать/​посмотреть. ​===== +===== DELME =====
- +
-==== Курс лекций "​Алгоритмы во внешней памяти"​. Максим Бабенко. ==== +
- +
-[[http://​www.youtube.com/​embed/​KsPv6X9ysqI|http://​www.youtube.com/​embed/​KsPv6X9ysqI]] [[http://​www.lektorium.tv/​lecture/​13929|http://​www.lektorium.tv/​lecture/​13929]] +
- +
-На курсе рассказывают про алгоритмы,​ которые работают с данными,​ которые,​ по тем или иным причинам,​ не могут поместиться в оперативную память (когда файлы лежат на HDD/SSD или, например,​ в хадупе на HDFS). Объясняется сложность таких алгоритмов,​ относительно количества дисковых операций,​ теория подана довольно просто и интуитивно,​ мозг хорошо настраивается на мысль, что не так важна производительность кода, когда доступ к данным такой дорогой. +
- +
-На 3-4й лекции завтыкал,​ примеры про алгоритмы на графах мне не очень близки. Может, почитаю про эти алгоритмы в памяти и пересмотрю как все меняется,​ когда граф окажется очень большим. Но первые лекции очень хороши. +
- +
-В последней [[http://​www.youtube.com/​embed/​uCfgk1sx_Pg|лекции]] акцент смещают с внешней памяти и оперативной на CPU-кеш и оперативную память. Скорости тут, конечно,​ будут другие,​ но порядок,​ на который отличается скорость доступа к кешу и ОЗУ, и порядок ОЗУ и HDD примерно одинаков,​ на мой взгляд. 5 лекция будет сама по себе полезна,​ если тебе нужен быстрый алгоритм,​ который работает с данными в ОЗУ. Минимизация доступа к ОЗУ сможет дать большой прирост производительности,​ да и круто это, знать как работает кеш в CPU :) +
- +
-Вместо пятой лекции,​ конечно,​ советую прочитать "What Every Programmer Should Know About Memory"​ [[https://​www.akkadia.org/​drepper/​cpumemory.pdf|https://​www.akkadia.org/​drepper/​cpumemory.pdf]] , но там много, и мне плохо зашли части про бечмаркинг скорости,​ т.к. нет под рукой проекта,​ на который я могу примерять цифры, чтобы их осознавать. +
- +
-==== Курс лекций "​Методы и системы обработки больших данных"​. Иван Пузыревский. ==== +
- +
-\\ +
-[[http://​www.youtube.com/​embed/​IHVIFVZeXcA|http://​www.youtube.com/​embed/​IHVIFVZeXcA]] [[http://​www.lektorium.tv/​lecture/​30079|http://​www.lektorium.tv/​lecture/​30079]] +
- +
-[[http://​compsciclub.ru/​courses/​bigdatasystems/​2017-spring/​|http://​compsciclub.ru/​courses/​bigdatasystems/​2017-spring/​]] +
- +
-Очень качественный и свежий курс про распределенные системы,​ про их работу под капотом. Речь идет про системы хранения,​ очереди и БД: HDFS, HBase, Cassandra, Kafka; про MapReduce и системы потоковой обработки:​ Hadoop MapReduce, Spark, Storm, Spark Streaming, плюс две лекции про Zookeeper и одна про Hive. +
- +
-Внешнее API систем и примеры использования приведены в основном для общего понимания,​ основная часть сосредоточена на внутренней архитектуре систем. Очень полезно для определения применимости этих систем в ваших проектах,​ поможет самостоятельно прикидывать производительность при применении той или иной технологии. +
- +
-На лекциях разбирается архитектура,​ строение и алгоритмы,​ на которых основываются системы. Начинается все с HDFS из хадуповского стека, который является базовым строительным блоком распределенной системы на базе hadoop, на его примере также разбирается работа и деплой кода в hadoop YARN. +
- +
-Довольно забавно было, когда после первой лекции про HDFS была полная уверенность в том, что оно точно не подходит для БД, а в 3й лекции рассказывают про быстрый и производительный HBase, который хранит свои данные в HDFS и делает это консистентно. +
- +
-В лекциях было очень мало информации про свежие фичи данных систем,​ про интересное API, примеры производительных интеграций. Сложилось такое ощущение,​ что какой-нибудь MapReduce с помощью твиков можно разогнать на пару порядков (Spark как раз один из известных твиков,​ хе-хе). Но тогда можно было бы ожидать по 11 лекций на каждую систему,​ вместо одной, да и цель курса немного не про это. Тема API и применимости также рассматривается в хорошей книге [[http://​dmkpress.com/​catalog/​computer/​databases/​978-5-94074-866-3/​|Семь баз данных за семь недель]],​ основной плюс которой в ее компактности,​ так что материал там изложен довольно сумбурно. +
- +
-В общем, если вы вечно путаете все эти модные словечки из темы MapReduce, не можете запомнить чем отличается Spark и Storm, Spark/​HBase/​Riak - после просмотра лекций у вас надолго в голове останутся "​крючки",​ за которые в будущем можно будет легко сориентироваться в этом зоопарке. +
- +
-P.S. нужно будет пересмотреть [[https://​www.youtube.com/​watch?​v=9ANuWEZqCUg|Яндекс изнутри:​ инфраструктура хранения и обработки данных]],​ что на самом деле в тренде. P.P.S. [[https://​www.youtube.com/​watch?​v=BCVsgup8hUQ|Как устроен поиск Яндекса:​ о чём невозможно прочитать]] - тоже прикольный видос, давно смотрел,​ уже не помню про что там. +
- +
-===== Машинное обучение. ===== +
- +
-[[https://​​www.youtube.com/​​watch?​​v=mk6CCruAxHg|Семинар по глубокому обучению или как стать Data Scientist’ом ]] +
- +
-Несложная,​​ поверхностная лекция по теме машинного обучения,​​ описние простых нейронных сетей, использования сверток и пулинга. Некоторые темы предполагаются,​​ как уже знакомые зрителю,​​ но это мешает только в паре мест доклада. В конце показывается пример на python+ TensorFlow по построению и обучению нейросети для определения цифр. +
- +
-[[https://​www.youtube.com/​watch?​v=U0LOSHY7U5Q|Практическое занятие по обработке текста в gensim с помощью алгоритма word2vec]] +
- +
-Слабый докладчик IMHO. Реальные кейсы не знает, на вопросы отвечает не прямо. +
- +
-Полу-лекция,​ полу-доклад про алгоритмы категоризации для слов. Из плюсов,​ что в комплекте идет IPython notebook с кодом и можно вместе с лектором ручками по-запускать все самому. Но из-за практической составляющей в видео очень много пауз, плюс многое оставлено вне доклада (вы можете что-то запустить,​ но как оно работает,​ может остаться для вас непонятным). Так себе, в общем, не советую без параллельной практики. +
- +
-Если у вас 500млн слов текста,​ word2vec - ок, doc2vec лучше от 1млн (будет гуд). +
- +
-===== Бизнес. ===== +
- +
-Ларри Боссиди и Рэм Чаран [[https://​www.ozon.ru/​context/​detail/​id/​5943887/​|Исполнение]] +
- +
-В книге рассказывается про построение так называемой «культуры исполнения»:​\\ +
-- мотивация руководства работать на результат\\ +
-- выстраивание контроля над выполнением планов на всей иерархии сотрудников\\ +
-- взаимопомощь,​ наставничество,​ выращивание кадров,​ правильная расстановка кадров\\ +
-- ответственность за взятые на себя обязательства,​ бесконечная работа над совершенствованием себя и бизнеса\\ +
-- открытый диалог между всеми сотрудниками,​ особый упор на высказывание всех своих мыслей и откровенный разговор,​ обнажение всех проблем на совещаниях для построения реалистичных планов и прогнозов;​ но не забывать про общение с рядовыми сотрудниками тоже, часто они могут о многом сказать,​ а ваша открытость и прозрачность политики предприятия снизит накал волнения у них\\ +
-- движение в сторону больше мобильности:​ сокращение запасов,​ большая открытость перед продавцами и поставщиками,​ быстрая корректировка планов и направления развития при внешних изменениях и разработка планов с учетом непредвиденных обстоятельств и невыполнения некоторых его пунктов\\ +
-- выставление крайне оптимистичных,​ но выполнимых планов;​ поддержание всего бизнеса в тонусе и нацеливание на постоянный рост показателей\\ +
-- повторюсь,​ но на это делается большой акцент:​ планы ставятся крупные,​ но они разрабатываются и потом согласовываются с непосредственными исполнителями,​ выясняются стратегии в случае невыполнения планов и оглашается список методов,​ с помощью которых эти планы планируется выполнить\\ +
-- методы выполнения планов,​ вкупе с контролем выполнения приводит к разбиению большого плана компании на более мелкие контрольные точки/​задачи,​ которые проще контролировать,​ которые ведут к результату постепенно,​ что позволяет,​ в свою очередь,​ быстро подстраиваться под ситуацию и разворачивать курс на 180 градусов\\ +
-- поддержание производственного плана (цели в показателях,​ задачи) и стратегического плана (новые перспективы,​ планирование на будущее,​ вектор компании) в синхронизированном состоянии,​ ориентация на завтрашний день; задачи решаются более «позитивно»,​ если исполнитель видит причины возникновения этой задачи и ее более глобальные результаты в стратегическом плане\\ +
-- перемена оценки работы отделов от сравнения с прошлыми показателями к соответствию будущим,​ запланированным показателям,​ показателям конкурентов\\ +
-- планы и действия обязательно сверяются с положением конкурентов,​ рынка и собственных кадров и возможностей фирмы; не стоит развивать новую технологию из смежной области,​ если у вас нет подходящих кадров,​ кому это под силу; не стоит открывать завод в азии, если нет человека,​ понимающего тамошнюю обстановку,​ тех людей, их законы и особенности,​ ну и политическую обстановку,​ конечно +
- +
-В общем, компания должна быть мобильна,​ контролируема,​ прозрачна,​ желающая совершенствоваться в каждом конкретном сотруднике,​ с выстроенной и справедливой системой мотивации. +
- +
-Книга все же рассчитана,​ как и сказано на обложке книги, больше рассчитана на руководящий состав,​ чем на обычного читателя,​ из-за этого книга читается не очень приятно,​ хотя все разжевано и понятно,​ наблюдается какая-то затянутость и нудность особенно в раскрытии всяких известных (для людей, на которых нацелена книга) топ-менеджеров. +
- +
-Но и далекому от этого человеку книга позволит взглянуть на постоянно меняющуюся бюрократию фирмы, в которой он работает,​ по-новому. Более лояльно,​ как минимум,​ а то и принять в этом более активное участие. +
- +
-Обсуждая некоторые моменты из этой книги (а многое в ней актуализировано на 2001 год), высказываются мнения,​ что очень многое в ней уже устарело. А мое впечатление о том, что книга призывает руководящих лиц «спускаться на ступень ниже», узнавать как можно больше о людях в своем подчинении,​ в их подчинении,​ о нюансах своего продукта,​ его производства,​ продаж,​ маркетинга,​ найма и воспитания кадров и прочего - это миф, и признак плохого руководителя. В книге делается большой упор на помощь высших директоров своим подчиненным в их непосредственной деятельности советами,​ давать которые,​ без глубокого погружения,​ бессмысленно,​ на мой взгляд. Но будем разбираться дальше,​ время покажет. +
- +
- +
- +
-===== PostgreSQL ===== +
- +
-Hacking PostgreSQL +
-Анастасия Лубенникова +
-[[https://​postgrespro.ru/​education/​courses/​hacking|Postgres Professional]] +
-[[https://​www.youtube.com/​playlist?​list=PLaFqU3KCWw6Jfb8IBNk3hZ07dxMxjfGtv|YouTube]] +
- +
- +
-Курс (на данный момент из 8 лекций) был встречен мной амбициозно,​ ждал его с нетерпением. Но он мне «не зашел». Не сказать,​ что разочаровал,​ но я не смог придумать аудиторию,​ на кого это было рассчитано.  +
- +
-В лекциях (примерно с 4й по 7) рассказывают про внутренние исходники бекенда,​ какие функции где и как используются. Не дается ни исторической справки о причинах данного подхода,​ о его плюсах/​минусах. Озвучиваются известные,​ в сообществе разработчиков Postgresql, узкие места и проблемы в отдельных местах кода. +
- +
-Для меня, как для интересующегося,​ но напрямую не имеющего отношения к разработке Postgresql человека,​ это оказалось слишком нудно и сильно бесполезно. Знание о внутренней архитектуре залито большой кучей названий функций и структур. +
- +
-Думаю, этот курс подойдет для людей, кто уже провел достаточно времени за разработкой модулей для Postgresql, для того, чтобы сверить свои догадки с реальностью и использовать все возможности,​ которые доступны внутри кодовой базы (хотя есть вероятность,​ что из само кода, документации и комментариев это можно сделать гораздо продуктивнее). Остальным не советую. +
- +
- +
-8ю лекцию я еще не осилил,​ но выглядит интересно,​ со стороны обзора реализации работы с планами и запросами на языке си. TODO +
- +
- +
-Конечно,​ стоит отметить,​ что из лекций можно подчерпнуть много полезной информации:​ об архитектуре всей системы (из 1й лекции),​ об сообществе (как сделать патч, чтобы его приняли в первой(?​) части 2й лекции),​ в 3й и, кажется,​ 4й лекции были примеры разработки готового модуля расширения для БД и расширения запроса CREATE TABLE с добавлением нового ключевого слова.  +
- +
-Было много кишков с описанием,​ как это влияет на тюнинг системы. Но меня не покидало чувство,​ что всю эту информацию и уже слышал из статей по тюнингу и обзора кишков там было не меньше,​ но по объему и качеству там было намного лучше.+