Найти в Дзене

10.0 Data Science (DS): понимашки для биолога, медика, лирика и тех, кто с нуля

(1) Как появились новые направления Собственно, они появились от избытка информации, которое повлекло необходимость разработки новых технологий для её освоения. Причём, объёмы информации выросли во всех областях человеческой деятельности сразу. Это и есть, какой никакой, а прогресс. (2) Определения ИИ, DS и связанных терминов Data science — это обобщённое название отрасли, вида профессии, в которой основной упор делается на работу с данными, такое же обобщённое понятие, как и Сomputer science. Большие данные (Big Data) – совокупность непрерывно увеличивающихся объемов информации одного контекста, но разных форматов представления, а также методов и средств для эффективной и быстрой обработки. Таким образом, это - обозначение структурированных и неструктурированных данных огромных объёмов и значительного многообразия, эффективно обрабатываемых горизонтально масштабируемыми программными инструментами, появившимися в конце 2000-х годов и альтернативных традиционным системам управления баз
Оглавление
А вы помните, откуда взялся бит (0 или 1) и почему байт? 8-битные байты были приняты в System/360, вероятно, из-за использования BCD-формата представления чисел: одна десятичная цифра (0−9) требует 4 бита (тетраду) для хранения; один 8-битный байт может представлять две десятичные цифры.
А вы помните, откуда взялся бит (0 или 1) и почему байт? 8-битные байты были приняты в System/360, вероятно, из-за использования BCD-формата представления чисел: одна десятичная цифра (0−9) требует 4 бита (тетраду) для хранения; один 8-битный байт может представлять две десятичные цифры.

(1) Как появились новые направления

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

-2

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

И здесь ещё не указана наука как таковая
И здесь ещё не указана наука как таковая

(2) Определения ИИ, DS и связанных терминов

Data science — это обобщённое название отрасли, вида профессии, в которой основной упор делается на работу с данными, такое же обобщённое понятие, как и Сomputer science.

Большие данные (Big Data) – совокупность непрерывно увеличивающихся объемов информации одного контекста, но разных форматов представления, а также методов и средств для эффективной и быстрой обработки. Таким образом, это - обозначение структурированных и неструктурированных данных огромных объёмов и значительного многообразия, эффективно обрабатываемых горизонтально масштабируемыми программными инструментами, появившимися в конце 2000-х годов и альтернативных традиционным системам управления базами данных (СУБД). Этим для организаций занимается Business intelligence (BI) — обозначение компьютерных методов и инструментов для организаций, обеспечивающих перевод транзакционной деловой информации в человекочитаемую форму, а также средства для массовой работы с такой обработанной информацией. Термин впервые появился аж в 1958 г. в статье исследователя из IBM Ханса Питера Луна.

Под Big Data будем понимать не какой-то конкретный объём данных и даже не сами данные, а методы их обработки, которые позволяют эффективно обрабатывать информацию.

Цель BI — интерпретировать большое количество данных, заостряя внимание лишь на ключевых факторах эффективности, моделируя исход различных вариантов действий, отслеживая результаты принятия решений.

BI поддерживает множество бизнес-решений — от операционных до стратегических. Есть Tableau – это система интерактивной бизнес- аналитики.

-4

******************************************************************************

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

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

  1. серверы рабочей группы и контроллеры домена
  2. сетевые серверы и службы
  3. почтовые серверы и серверы обмена данными
  4. серверы приложений
  5. серверы баз данных
  6. веб-серверы
  7. файловые серверы и FTP-серверы
  8. терминальные серверы.
-5

Удаленный серверэто компьютер, к какому вы можете получить доступ посредством глобальной сети. Территориально такой компьютер располагается или в самой фирме, или на мощностях хостинг-провайдера. Для того чтобы подключиться к такому компьютеру, нужно использовать одну из служб удаленного доступа, RAS. Наиболее часто такими серверами называют cloud vps или VDS – решения, основанные на программной или аппаратной виртуализации.

Apache — это веб-сервер с открытым исходным кодом, отличающийся широкими возможностями конфигурации и должным уровнем поддержки. Для его успешного развертывания требуется более детальная настройка, но это в то же время обеспечивает большую степень контролируемости веб-сервера. Свободный веб-сервер. Apache является кроссплатформенным ПО, поддерживает операционные системы Linux, BSD, macOS, Microsoft Windows, Novell NetWare, BeOS. Apache имеет долю рынка в России до 17,45 %, на Западе в 2 раза больше. Apache HTTP Server поддерживает модульность.

О локальных и облачных серверах можно почитать здесь. О виртуальных и облачных здесь.

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

******************************************************************************

Machine Learning (ML) или машинное обучение — класс методов искусственного интеллекта, характерной чертой которых является не прямое решение задачи, а обучение за счёт опыта решений множества сходных задач. Для построения таких методов используются средства математической статистики, численных методов оптимизации, математического анализа, теории вероятностей, теории графов, а также различные техники работы с данными в цифровой форме.

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

Примерно так
Примерно так

Под термином Искусственный интеллект мы подразумеваем, что это некая система (абстракция), обладающая свойствами интеллекта человека, которая может мыслить, решать задачи (в том числе творческие), которые подразумевают наличие мыслительного процесса для его выполнения. Пожалуй, самое важное, что нужно знать — искусственного интеллекта, который описан выше, на данный момент, не существует. Слишком сложен наш мозг и сознание в целом для того, чтобы их оцифровать или сделать математическую модель, копирующую работу нашего сознания. Однако, существуют попытки (в том числе довольно удачные) имитации деятельности нашего мозга для решения тех или иных задач. Одним из направлений в ИИ, подпадающим под такую формулировку, является Machine Learning (ML).

Искусственный интеллект, ИИ (Artificial Intelligence, AI) — инженерно-математическая дисциплина, занимающаяся созданием программ и устройств, имитирующих когнитивные (интеллектуальные) функции человека, включающие, в том числе, анализ данных и принятие решений.

Сильный ИИ/Человекоподобный ИИ (Strong AI, Super‑AI) — интеллектуальный алгоритм, способный решать широкий спектр интеллектуальных задач, как минимум, наравне с человеческим разумом.
Слабый ИИ/Специальный ИИ (Narrow AI, Weak AI) — интеллектуальный алгоритм, имитирующий человеческий разум в решении конкретных узкоспециализированных задач (игра в шахматы, распознавание лиц, общение на естественном языке, поиск информации и т.п.).

Нейро́нная сеть, нейросеть или искусственная нейронная сеть, ИНС (Artificial neural networks ANNs, или neural networks (NNs) or neural nets) - это математическая модель, а также её программное или аппаратное воплощение, построенная по принципу организации и функционирования биологических нейронных сетей — сетей нервных клеток живого организма. Это понятие возникло при изучении процессов, протекающих в человеческом мозге, и при попытке смоделировать эти процессы по принципу нейронов, собирающих и передающих информацию для дальнейшего принятия решений. Такие процессоры обычно довольно просты (особенно в сравнении с процессорами, используемыми в персональных компьютерах). Я так по-простому называю neuronet. :)

Схема простой нейросети. Зелёным цветом обозначены входные нейроны, голубым — скрытые нейроны, жёлтым — выходной нейрон
Схема простой нейросети. Зелёным цветом обозначены входные нейроны, голубым — скрытые нейроны, жёлтым — выходной нейрон

Нейросети не программируются, они обучаются. Возможность обучения — одно из главных преимуществ нейронных сетей перед традиционными алгоритмами. В 1943г. Маккалок и Питтс формализуют понятие нейронной сети в фундаментальной статье о логическом исчислении идей и нервной активности, очевидно, они сильно опередили время. :)

(3) Общие понятия в программировании

✔ Помимо официального праздника программиста, отмечаемого 13 сентября, существуют и другие праздники отрасли: день сисадмина (последняя пятница июля), день компьютерщика (14 февраля), день веб-программиста (4 апреля) и даже день тестировщика (9 сентября).

Алгори́тм (лат. algorithmi — от имени среднеазиатского математика Аль-Хорезми) — конечная совокупность точно заданных правил решения некоторого класса задач или набор инструкций, описывающих порядок действий исполнителя для решения определённой задачи. В старой трактовке вместо слова «порядок» использовалось слово «последовательность». Независимые инструкции могут выполняться в произвольном порядке, параллельно, если это позволяют используемые исполнители.

Ранее в русском языке писали «алгорифм», сейчас такое написание используется редко, но тем не менее имеет место исключение (нормальный алгорифм Маркова).

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

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

Баронесса Ада Лавлейс в 1836/1837 годах написала алгоритм для вычисления чисел Бернулли на разностной машине Бэббиджа, за что её считают первым программистом в истории.
Баронесса Ада Лавлейс в 1836/1837 годах написала алгоритм для вычисления чисел Бернулли на разностной машине Бэббиджа, за что её считают первым программистом в истории.

Ути́лита, также произн. утили́та (англ. utility) — вспомогательная компьютерная программа в составе общего программного обеспечения для выполнения специализированных типовых задач, связанных с работой оборудования и операционной системы (ОС). Утилиты предоставляют доступ к возможностям (параметрам, настройкам, установкам), недоступным без их применения, либо делают процесс изменения некоторых параметров проще (автоматизируют его).

**********************************************************************************

NaN (Not A Number) — специальное значение, относится к числовому типу данных, возвращается когда математический оператор или функция не может вернуть результат вычисления.

error_reporting — задает, какие уровни ошибок попадут в отчёт в процессе запуска и отладки кода

Декремент — унарный оператор, который уменьшает значение переменной на единицу.

Итерация (или тик) — однократное выполнение тела цикла.

Семантика — это, прежде всего, смысловое значение единиц языка.

Фреймворки – программные продукты – набор готовых решений и компонентов, направленных на облегчение разработки.

Популярные PHP Framework :  Zend Framework  CakePHP  Kohana  CodeIgniter  Symfony

API (Application Programming Interface) — описание классов, методов, функций и переменных, которые приложение использует для выполнения поставленной задачи.

**********************************************************************************

NUI (англ. Natural User Interface) — естественный пользовательский интерфейс. Фактически невидимый, не активный  до взаимодействия с пользователем интерфейс. Он называется «естественным», поскольку использует естественное человеческое поведение для взаимодействия непосредственно с содержанием, т. е. мы управляем программой при помощи навыков, которые получили и используем в повседневной жизни.

UI (User Interface — пользовательский интерфейс) — совокупность средств (кнопки, иконки, меню, рубрики, навигация, дизайн и пр), с помощью которых пользователь общается с сайтом. Цель усовершенствований любого UI — максимально эффективно и удобно организовать взаимодействие с пользователем.

Back-end — программно-аппаратная часть сервиса в веб-технологиях, внутренняя часть серверной системы, в которой происходит обработка данных. К технологиям back-end относят PHP, Java, Python, JavaScript (node.js) и СУБД.

Front-end — клиентская часть сервиса в веб-технологиях, внешняя часть серверной системы, которая отвечает за приём данных, отправку ответов и генерацию кода для браузера. К технологиям разработки front-end относят html, css, javascript.

CAPTCHA (Completely Automatic Public Turing Test to Tell Computers and Humans Apart — полностью автоматический тест Тьюринга для различения компьютеров и людей) — это задача, которую легко решает человек, но которую невозможно (или крайне трудно) научить решать компьютер. Применяются CAPTCHA для того, чтобы предотвратить множественные автоматические регистрации и отправления сообщений программами-роботами. Задача CAPTCHA — защита от спама, флуда и захвата аккаунтов.

Cloud9 — облачная среда разработки. Удобный инструмент для написания кода прямо в браузере. Состоит из текстового редактора и набора интерпретаторов для нескольких популярных языков.

**********************************************************************************

CMYK — субтрактивная цветовая модель. Используется в основном в полиграфии. В её основе лежат четыре цвета: Cyan — голубой, Magenta — фуксия, Yellow — желтый, Key color — черный.

RGB — аддитивная цветовая модель, используется в вебе. В её основе лежат три цвета: Red — красный, Green — зеленый и B — голубой.

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

Растровое изображение — изображение, состоящее  из множества пикселей — цветных точек (как правило, прямоугольной формы), которые образуют строки и столбцы этого изображения.

**********************************************************************************

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

Ctr поисковой выдачи — это отношение числа кликов к числу показов сайта в результатах поиска, умноженный на 100%. На CTR влияет кликабильность сниппета, регион продвижения, длина запроса, соседи по выдаче, наличие блоков контекстной рекламы и Яндекс.Маркета.

Чем выше CTR, тем больше мы получим переходов на сайт. Можно потратить значительный бюджет для достижения высоких позиций в выдаче и иметь низкий ctr и невысокую конверсию по определённому ключевому запросу.

CTR может находиться в диапазоне от 0 до 100%. Чем многословней запрос, тем выше его CTR — это ещё один аргумент продвигаться по трафику. (blog.seonic.pro)

Wireframes (структурная схема страниц) – схема компоновки блоков и материалов на страницах сайта. Является важной частью разработки, поскольку помогает пользователям на ранней стадии понять, как будет выглядеть конечный продукт, оценить информативность и компоновку элементов.

**********************************************************************************

Google Adwords

Сервис контекстной рекламы от компании Google, предоставляющий множество инструментов для создания рекламных объявлений для показа в поисковой выдаче Google, а также на сайтах-партнёрах.

Google Analytics

Бесплатный сервис, предоставляемый Google для создания детальной статистики посетителей веб-сайтов. Статистика собирается на сервере Google, пользователь только размещает JS-код на страницах своего сайта. Код отслеживания срабатывает, когда пользователь открывает страницу в своем веб-браузере.

Разработанный компанией Google аналитический инструмент, предназначенный для отслеживания и анализа поведения посетителей на сайте. Google Analytics отражает поведение пользователей, качественные и количественные характеристики сайта: каким образом пользователи нашли сайт, как работали с ним, какими браузерами пользовались, возвращались ли; как можно улучшить сайт, чтобы пользователи проводили на нём больше времени, и на какие страницы их лучше направлять. Располагая этой информацией, можно увеличить конверсию и повысить продажи.

Google Optimize — система для проведения A/B-тестов со встроенным wysiwyg-редактором и прямой интеграцией с Google Analytics.

Google Search Console — это панель управления сайтом для вебмастеров. Здесь отображается статус индексирования страниц в Google, позиции по поисковым запросам, CTR, переходы по ключевым словам, внешние и внутренние ссылки, возможные проблемы и угрозы безопасности.

Google tag manager (GTM) — это диспетчер тегов, позволяющий добавлять на сайт скрипты, не вмешиваясь в код страниц и не прибегая к помощи специалистов-разработчиков. Отличный помощник интернет-маркетологов для решения задач аналитики и ремаркетинга.

**********************************************************************************

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

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

Kanban — система организации работы над проектами, в основе которой лежит принцип «точно в срок». Данная система способствует равномерному распределению нагрузки. Задачи по проекту заносятся в отдельный список по мере поступления. Выделяют несколько состояний задач: сделать, в работе, на проверке, завершены. В каждом состоянии есть ограниченное количество слотов. Пока слот не освободится, нельзя перенести задачу в заполненный список, что стимулирует не затягивать с выполнением задач. Весь процесс выполнения задач и ход работы должен быть прозрачен для каждого члена команды.

Scrum — гибкая методология разработки. Основной акцент на качестве разработки. Процесс разработки делится на итерации, которые называются спринтами. По результатам спринта заказчику предоставляется рабочий продукт с наиболее приоритетными возможностями. Короткие промежутки времени (спринт длится 2-4 недели) делают процесс разработки гибким, позволяют быстро получать обратную связь от заказчика.

Спринт — название итерации в Скраме, длительностью от 2 до 4 недель. Результатом спринта является жизнеспособный продукт, который можно показывать заказчику. Спринты обеспечивают возможность получать обратную связь от заказчика оперативно и оперативно вносить корректировки в разрабатываемый продукт.

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

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

Диаграмма Ганта — распространенный тип диаграмм, который используется для составления графика работы над проектом. По горизонтальной оси откладываются временные отрезки. Вертикальная ось — перечень задач проекта. Каждая полоса, расположенная вдоль горизонтальной оси, соответствует одной задачи. Начало и конец полосы — это дата начала и завершения проекта. Используется в приложениях по управлению проектами.

(4) Языки программирования

✔ В мире существует примерно 8 500 языков программирования, но при этом число языков, которые используют чаще всего не превышает 10.

1. SQL

(англ. Structured Query Language — «язык структурированных запросов») - декларативный язык программирования, применяемый для создания, модификации и управления данными в реляционной базе данных, управляемой соответствующей системой управления базами данных (СУБД). Используется чаще в бизнесе.

Он позволяет:

  • создание в базе данных новой таблицы;
  • добавление в таблицу новых записей;
  • изменение записей;
  • удаление записей;
  • выборка записей из одной или нескольких таблиц (в соответствии с заданным условием);
  • изменение структур таблиц.

PgAdmin — это платформа с открытым исходным кодом для администрирования и разработки для PostgreSQL и связанных с ней систем управления базами данных. Платформа написана на Python и jQuery и поддерживает все функции PostgreSQL. Вы можете использовать pgAdmin для любых операций, начиная с записи базовых SQL-запросов и заканчивая осуществлением мониторинга ваших баз данных и настройки продвинутых архитектур баз данных.

Подробности здесь.

*******************************************************************************

2. Python

- высокоуровневый язык программирования общего назначения с динамической строгой типизацией и автоматическим управлением памятью, ориентированный на повышение производительности разработчика, читаемости кода и его качества. Появился в 1991 г. в голове Гвидо ван Россума. Синтаксис ядра языка минималистичен, за счёт чего на практике редко возникает необходимость обращаться к документации. Используется в том числе для написания скриптов. Необычной особенностью языка является выделение блоков кода пробельными отступами.

****************************************************************************

Питоном и скрипты пишут, как я отметила. Сценарный язык (язык сценариев, скриптовой язык; англ.scripting language) — высокоуровневый язык сценариев (англ. script) — кратких описаний действий, выполняемых системой. Разница между программами и сценариями довольно размыта. Сценарий — это программа, имеющая дело с готовыми программными компонентами, которые, однажды загруженные, в своей работе не зависят от дальнейшего наличия / отсутствия подключения к сети.

Согласно Устерхауту, автору языка Tcl, высокоуровневые языки можно разделить на языки системного программирования (англ. system programming languages) и сценарные языки (англ. scripting languages). Последние он также назвал склеивающими языками (англ. glue languages) или языками системной интеграции (англ. system integration languages). Сценарии обычно интерпретируются, а не компилируется, хотя сценарные языки программирования один за другим обзаводятся компиляторами.

Интерпрета́ция — построчный анализ, обработка и выполнение исходного кода программы или запроса. Интерпрета́тор (англ. interpreter, от лат. interpretator — толкователь) — программа (разновидность транслятора), выполняющая интерпретацию.

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

****************************************************************************

3. R

- язык программирования для статистической обработки данных и работы с графикой, а также свободная программная среда вычислений с открытым исходным кодом в рамках проекта GNU. Изначально R был разработан сотрудниками статистического факультета Оклендского университета Россом Айхэкой и Робертом Джентлменом в 93-м г.; язык и среда поддерживаются и развиваются организацией R Foundation.

*****************************************************************************

4. Java и JavaScript

Ряд программных продуктов и спецификаций компании Sun Microsystems, ныне дочерней компании корпорации Oracle, которые совместно предоставляют систему для разработки прикладного программного обеспечения с 95 г. - Java и JavaScript .

JavaScript — язык программирования, который добавляет интерактивные элементы на веб-страницы.

JavaScript - мультипарадигменный язык программирования, поддерживает объектно-ориентированный, императивный и функциональный стили. Широко используется в приложениях и браузерах. Хотя это зарегистрированный товарный знак вышеназванной компании, JavaScript не владеет какая-либо компания или организация, что отличает его от ряда языков программирования, используемых в веб-разработке. На JavaScript оказали влияние многие языки, при разработке была цель сделать язык похожим на Java.

Java - это высокоуровневый, основанный на классах, объектно-ориентированный язык программирования.

Java — строго типизированный объектно-ориентированный язык программирования общего назначения. Есть целая программная платформа Java, по сути виртуальная машина исполняет байт-код Java, но у неё есть компиляторы и для питона и для JavaScript.

Синтаксис в основном заимствован из С и С++, но объектно-ориентированные возможности основаны на другой модели.. Джава используется в самых разных компьютерных платформах от встраиваемых устройств до мобильников.

Стоит упомянуть распределённую архитектуру Hadoop, фреймворк изначально был разработан на джаве, но потом стал универсальным инструментом анализа больших данных. Это кроссплатформенный проект на Java Virtual Machine.

-9

- это (1) свободно распространяемый набор утилит, библиотек, в том числе питоновских, кроме этого- это (2) HDFS – распределённая файловая система, Hadoop Distributed File System – технология хранения файлов на различных серверах данных (узлах, DataNodes), адреса которых находятся на специальном сервере имен (мастере, NameNode); (3) YARN – система планирования заданий и управления кластером (Yet Another Resource Negotiator), которую также называют MapReduce 2.0 (MRv2) – набор системных программ (демонов), обеспечивающих совместное использование, масштабирование и надежность работы распределенных приложений; (4) Hadoop MapReduce – платформа программирования и выполнения распределённых MapReduce-вычислений, с использованием большого количества компьютеров (узлов, nodes), образующих кластер.

Раньше казалось, что Hadoop — все, что нужно для Big Data-аналитики, ведь благодаря ему можно собирать, обрабатывать и хранить петабайты неструктурированных данных. Однако сейчас очевидно, что Hadoop устарел: его сложно разворачивать и дорого содержать, да и работает он медленнее современных колоночных СУБД. Не знаю, не плавала.

(5) Управление версиями

✔ Самый первый компьютерный баг в истории был обнаружен в 1945 г., когда инженеры нашли в корпусе компьютера Harvard Mark II мотылька, коротящего контакты. С тех пор компьютерные сбои принято называть багами (bug- с английского "насекомое");

Git — распределённая система управления версиями. Проект был создан известным всем свеко-финном, как и мы все, Линусом Торвальдсом для управления разработкой ядра Linux, первая версия выпущена в 2005 г. Он так саркастически отозвался о выбранном им названии git (на английском сленге означает «мерзавец»):

"Я эгоистичный ублюдок, и поэтому называю все свои проекты в честь себя. Сначала Linux, теперь git"

Эгоистичный "Git" Линус создал бесплатную операционку миру. Между прочим, Linux используется в качестве операционной системы на 100 % самых мощных суперкомпьютеров планеты. В настоящее время суперкомпьютерами принято называть компьютеры с огромной вычислительной мощностью («числодробилки» или «числогрызы»). Такие машины используются для выполнения программ, реализующих наиболее интенсивные вычисления (например, прогноз погоды :))
Эгоистичный "Git" Линус создал бесплатную операционку миру. Между прочим, Linux используется в качестве операционной системы на 100 % самых мощных суперкомпьютеров планеты. В настоящее время суперкомпьютерами принято называть компьютеры с огромной вычислительной мощностью («числодробилки» или «числогрызы»). Такие машины используются для выполнения программ, реализующих наиболее интенсивные вычисления (например, прогноз погоды :))

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

(6) Облачные вычисления или Cloud computing

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

Облачные сервисы, или «облака», — это сеть мощных компьютеров серверов, которые позволяют клиентам пользоваться своими ресурсами через интернет: хранить файлы и обмениваться ими, работать в онлайн-офисах, производить вычисления. В качестве примера можно привести Dropbox, «Облако mail.ru», «Google Диск», «Яндекс. Диск» и другие аналогичные им сервисы. Преимущества: Простая и понятная структура. В таком хранилище легко ориентироваться, искать нужные документы. Недостатки: Ограниченность в объеме, по мере заполнения которого падает скорость доступа, а вместе с ней и производительность.

(7)Пайплайны

Pipeline или data pipeline — это целый набор разных команд или элементов обработки данных, соединенных последовательно, которые можно выполнить для вашего проекта в рамках одной итерации.

А dataflow относится к потоковой обработке или реактивному программированию.

Как-то так, но это не точно
Как-то так, но это не точно

***********************************************************************

Ленивые вычисления (англ. lazy evaluation, также отложенные вычисления) — применяемая в некоторых языках программирования стратегия вычисления, согласно которой вычисления следует откладывать до тех пор, пока не понадобится их результат. Ленивые вычисления относятся к нестрогим вычислениям. Усовершенствованная модель ленивых вычислений — оптимистичные вычисления — переходит в разряд недетерминированных стратегий вычисления.

В обычных, не ленивых, языках программирования вычисления строгие — то есть аргументы функции вычисляются перед выполнением самой функции. Например, в каком-то абстрактном строгом языке программирования: max(5+3, 4*4) -> max(8, 4*4) -> max(8, 16) 16. А в ленивых языках, в том числе Хаскеле, вычисления отложенные. Все вычисления (кроме некоторых функций ввода-вывода), не выполняются сразу, а как бы откладываются до реальной надобности. :)

***************************************************************************

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

Немного о докере (платформа контейнеризации с открытым исходным кодом, с помощью которой можно автоматизировать создание приложений, их доставку и управление), который просят иногда в вакансиях биоинф, а также просят один из инструментов сборки пайплайнов: Snakemake, CWL (Common Workflow Language), NextFlow. Всё это служит для системной организации и обмена пайплайнами. В целом, для начала можно послушать небольшой курс от JetBrains по этому поводу "Управление вычислениями".

Вот как-то так, но это не всё...

И не будем забывать цель нашего путешествия, зачем всё это нужно, ML и прочие вещи. Конечная наша цель - проанализировать, сделать выводы или сделать прогноз на основании проанализированных данных большого объема:

-12

То есть аналитика бывает - статистическая, предиктивная *включающая предписывающую аналитику*, диагностическая.

*Мини-словарь аналитика*

CSV (Comma-Separated Values)—это текстовый формат, предназначенный для представления табличных данных. Каждая строка в файле —это, по сути, строка таблицы. Разделителем колонок служит запятая.

Data-driven — это подход к принятию стратегических решений на основе данных с интеграцией аналитических отчётов в ключевые бизнес-процессы компании.

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

Аналитик —это специалист, который проводит аналитические исследования, собирает, обрабатывает и обобщает данные, а также составляет на их основе прогнозы, стратегии, планы, программы и рекомендации.

Аналитика — это (др.-греч.άναλυτικά—буквально: «искусствоанализа») —раздел логики, который рассматривает учение об анализе —мысленном или реальном разделении целого (вещи, свойства, процесса или отношения между предметами) на составные части.

Бизнес-проблема —это сложный вопрос, ситуация в бизнесе, неимеющая однозначного решения.

Бизнес-эффект—это результат, прогнозируемый или получаемый в бизнесе в ходе выполнения определённого плана действий.

Виды данных —это разновидность того, как могут быть представлены данные. Например, переменные и константы (постоянные), числа, текст, мультимедиа.

Гипотеза —это предположение или догадка: утверждение, предполагающее доказательство.

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

Заказчик—это физическое или юридическое лицо, заинтересованное в выполнении исполнителем работ, оказании им услуг или приобретении какого-либо продукта.

Исследование— процесс изучения чего-то с целью получить новую информацию, установить факты.

Источник данных—это структурное описание данных, используемых для построения отчёта. Источник данных является как бы программной «прослойкой», которая обеспечивает получение данных из базы данных, преобразование их и передачу в генератор отчётов.

Метрика—это качественный или количественный показатель, который отражает ту или иную характеристику и уровень успешности продукта.

Моделирование—это способ исследования, процесс замещения оригинала его аналогом (моделью) с последующим изучением свойств и поведения оригинала намодели.

Наблюдение—это целенаправленное, организованное и определённым образом фиксируемое восприятие предмета наблюдения.

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

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

Ошибка в данных—это неправильность, некорректность данных, которая может привести к непригодности данных для использования или неправильным выводам.

Проверка—это выяснение истинности, подлинности чего-либо.

Эксперимент—это процедура, выполняемая для поддержки, опровержения или подтверждения гипотезы или теории.

словарик https://fluffy-banana-0b9.notion.site/2021-aa89dd07ad2e4f7387f67dc0fb425008

**********************************************************************

Как и в любом обучении, следуйте основным советам:

Совет №1. Не бойтесь переспрашивать и уточнять то, что не поняли.

Совет №2. Дробите крупную задачу на ряд мелких.

Совет №3. Записывайте то, как решаете задачи. Есть разные способы*.

Совет №4. Не верьте тем, кто всё знает, верьте тем, кто сомневается. Они хотя бы честны. И они будут расти, сознавая своё несовершенство.

Совет №5. Вы никогда не будете знать всё. Только вы что-то узнали - появилось новое. Это нормально - постоянно учиться. Но из выученного стоит извлечь максимум пользы - что-то поделать и извлечь результат хотя бы на этом уровне.

Совет №6. Те, кто делал что-то важное, всегда были энтузиастами. Так они работали на своё имя, потом оно стало работать на них, что принесло дивиденты.

Совет №7. Ищите новые ресурсы. Старайтесь не выгорать из-за неудач и людской зависти. Мне тут посоветовали книгу**, вообще способ основной - медитация, когда вы на природе или ваш мозг не думает. Если вы идете по улице и решаете в голове важную задачу постоянно - это перегруз, думайте, какое солнышко и облачка.

Совет №8. Относитесь с вниманием к работодателям, которые не очень хорошо разбираются в сабже и не знают, что хотят. Это очень скользкий путь для специалиста. :)

******************************************************************************

*Есть приложение Notion (предоставляет такие компоненты, как базы данных, доски канбан, вики, календари и напоминания, для рисования в нем mermaid - интегрированный в markdown способ рисовать диаграммы и схемы). Но он платный, и оплата для РФ сейчас затруднена. Пользователи могут подключать эти компоненты для создания собственных систем управления знаниями, ведения заметок, управления данными, управления проектами), но кто-то пишет в бумажных блокнотах и заметки в самом коде, кто-то в экселе.

** Барбара Шер Отказываюсь выбирать! Как использовать свои интересы, увлечения и хобби, чтобы построить жизнь и карьеру своей мечты.

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