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

Различия

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

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

черновики:коля._заметки [08.07.2017 09:46]
nikolay_carbonsoft1
черновики:коля._заметки [20.05.2019 15:18]
Строка 1: Строка 1:
-===== Почитать/​посмотреть. ===== 
  
-==== Курс лекций "​Алгоритмы во внешней памяти"​. Максим Бабенко. ==== 
- 
-[[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]] 
- 
-Курс от Postgres Professional по особенностям архитектуры и внутреннего устройства PostgreSQL. 
-Курс (на данный момент из 8 лекций) был встречен мной амбициозно,​ ждал его с нетерпением. Но он мне «не зашел». Не сказать,​ что разочаровал,​ но я не смог придумать аудиторию,​ на кого это было рассчитано. ​ 
-В лекциях (примерно с 4й по 7) рассказывают про внутренние исходники бекенда,​ какие функции где и как используются. Не дается ни исторической справки о причинах данного подхода,​ о его плюсах/​минусах. Озвучиваются известные,​ в сообществе разработчиков Postgresql, узкие места и проблемы в отдельных местах кода. 
-Для меня, как для интересующегося,​ но напрямую не имеющего отношения к разработке Postgresql человека,​ это оказалось слишком нудно и сильно бесполезно. Знание о внутренней архитектуре залито большой кучей названий функций и структур. 
-Думаю, этот курс подойдет для людей, кто уже провел достаточно времени за разработкой модулей для Postgresql, для того, чтобы сверить свои догадки с реальностью и использовать все возможности,​ которые доступны внутри кодовой базы (хотя есть вероятность,​ что из само кода, документации и комментариев это можно сделать гораздо продуктивнее). Остальным не советую. 
- 
-8ю лекцию я еще не осилил,​ но выглядит интересно,​ со стороны обзора реализации работы с планами и запросами на языке си. TODO 
- 
-Конечно,​ стоит отметить,​ что из лекций можно подчерпнуть много полезной информации:​ об архитектуре всей системы (из 1й лекции),​ об сообществе (как сделать патч, чтобы его приняли в первой(?​) части 2й лекции),​ в 3й и, кажется,​ 4й лекции были примеры разработки готового модуля расширения для БД и расширения запроса CREATE TABLE с добавлением нового ключевого слова. ​ 
-Было много кишков с описанием,​ как это влияет на тюнинг системы. Но меня не покидало чувство,​ что всю эту информацию и уже слышал из статей по тюнингу и обзора кишков там было не меньше,​ но по объему и качеству там было намного лучше.