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

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
Следующая версия Следующая версия справа и слева
черновики:коля._заметки [11.05.2017 10:42]
nikolay_carbonsoft1
черновики:коля._заметки [08.07.2017 09:46]
nikolay_carbonsoft1
Строка 1: Строка 1:
-====== Почитать/​посмотреть. ​======+===== Почитать/​посмотреть. =====
  
 ==== Курс лекций "​Алгоритмы во внешней памяти"​. Максим Бабенко. ==== ==== Курс лекций "​Алгоритмы во внешней памяти"​. Максим Бабенко. ====
  
-[[http://​www.youtube.com/​embed/​KsPv6X9ysqI]] +[[http://​www.youtube.com/​embed/​KsPv6X9ysqI|http://​www.youtube.com/​embed/​KsPv6X9ysqI]] [[http://​www.lektorium.tv/​lecture/​13929|http://​www.lektorium.tv/​lecture/​13929]]
-[[http://​www.lektorium.tv/​lecture/​13929]] ​+
  
-На курсе рассказывают про алгоритмы,​ которые работают с данными,​ которые,​ по тем или иным причинам,​ не могут поместиться в оперативную память (когда файлы лежат на HDD/SSD или, например,​ в хадупе на HDFS). Объясняется сложность таких алгоритмов,​ относительно количества дисковых операций,​ теория подана довольно просто и интуитивно,​ мозг хорошо настраивается на мысль, что не так важна производительность кода, когда доступ к данным такой дорогой. ​+На курсе рассказывают про алгоритмы,​ которые работают с данными,​ которые,​ по тем или иным причинам,​ не могут поместиться в оперативную память (когда файлы лежат на HDD/SSD или, например,​ в хадупе на HDFS). Объясняется сложность таких алгоритмов,​ относительно количества дисковых операций,​ теория подана довольно просто и интуитивно,​ мозг хорошо настраивается на мысль, что не так важна производительность кода, когда доступ к данным такой дорогой.
  
 На 3-4й лекции завтыкал,​ примеры про алгоритмы на графах мне не очень близки. Может, почитаю про эти алгоритмы в памяти и пересмотрю как все меняется,​ когда граф окажется очень большим. Но первые лекции очень хороши. На 3-4й лекции завтыкал,​ примеры про алгоритмы на графах мне не очень близки. Может, почитаю про эти алгоритмы в памяти и пересмотрю как все меняется,​ когда граф окажется очень большим. Но первые лекции очень хороши.
Строка 17: Строка 16:
  
 \\ \\
-[[http://​www.youtube.com/​embed/​IHVIFVZeXcA]] +[[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://​www.lektorium.tv/​lecture/​30079]]+
  
-[[http://​compsciclub.ru/​courses/​bigdatasystems/​2017-spring/​]] ​+[[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. +Очень качественный и свежий курс про распределенные системы,​ про их работу под капотом. Речь идет про системы хранения,​ очереди и БД: HDFS, HBase, Cassandra, Kafka; про MapReduce и системы потоковой обработки:​ Hadoop MapReduce, Spark, Storm, Spark Streaming, плюс две лекции про Zookeeper и одна про Hive.
  
-Внешнее API систем и примеры использования приведены в основном для общего понимания,​ основная часть сосредоточена на внутренней архитектуре систем. Очень полезно для определения применимости этих систем в ваших проектах,​ поможет самостоятельно прикидывать производительность при применении той или иной технологии. ​+Внешнее API систем и примеры использования приведены в основном для общего понимания,​ основная часть сосредоточена на внутренней архитектуре систем. Очень полезно для определения применимости этих систем в ваших проектах,​ поможет самостоятельно прикидывать производительность при применении той или иной технологии.
  
-На лекциях разбирается архитектура,​ строение и алгоритмы,​ на которых основываются системы. Начинается все с HDFS из хадуповского стека, который является базовым строительным блоком распределенной системы на базе hadoop, на его примере также разбирается работа и деплой кода в hadoop YARN. +На лекциях разбирается архитектура,​ строение и алгоритмы,​ на которых основываются системы. Начинается все с HDFS из хадуповского стека, который является базовым строительным блоком распределенной системы на базе hadoop, на его примере также разбирается работа и деплой кода в hadoop YARN.
  
-Довольно забавно было, когда после первой лекции про HDFS была полная уверенность в том, что оно точно не подходит для БД, а в 3й лекции рассказывают про быстрый и производительный HBase, который хранит свои данные в HDFS и делает это консистентно. ​+Довольно забавно было, когда после первой лекции про HDFS была полная уверенность в том, что оно точно не подходит для БД, а в 3й лекции рассказывают про быстрый и производительный HBase, который хранит свои данные в HDFS и делает это консистентно.
  
-В лекциях было очень мало информации про свежие фичи данных систем,​ про интересное API, примеры производительных интеграций. Сложилось такое ощущение,​ что какой-нибудь MapReduce с помощью твиков можно разогнать на пару порядков (Spark как раз один из известных твиков,​ хе-хе). Но тогда можно было бы ожидать по 11 лекций на каждую систему,​ вместо одной, да и цель курса немного не про это. ​+В лекциях было очень мало информации про свежие фичи данных систем,​ про интересное API, примеры производительных интеграций. Сложилось такое ощущение,​ что какой-нибудь MapReduce с помощью твиков можно разогнать на пару порядков (Spark как раз один из известных твиков,​ хе-хе). Но тогда можно было бы ожидать по 11 лекций на каждую систему,​ вместо одной, да и цель курса немного не про это. Тема API и применимости также рассматривается в хорошей книге [[http://​dmkpress.com/​catalog/​computer/​databases/​978-5-94074-866-3/​|Семь баз данных за семь недель]],​ основной плюс которой в ее компактности,​ так что материал там изложен довольно сумбурно.
  
 В общем, если вы вечно путаете все эти модные словечки из темы MapReduce, не можете запомнить чем отличается Spark и Storm, Spark/​HBase/​Riak - после просмотра лекций у вас надолго в голове останутся "​крючки",​ за которые в будущем можно будет легко сориентироваться в этом зоопарке. В общем, если вы вечно путаете все эти модные словечки из темы 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 с добавлением нового ключевого слова. ​
 +Было много кишков с описанием,​ как это влияет на тюнинг системы. Но меня не покидало чувство,​ что всю эту информацию и уже слышал из статей по тюнингу и обзора кишков там было не меньше,​ но по объему и качеству там было намного лучше.