суббота, 10 августа 2024 г.

mlops

 . Почти вся информация по вопросу собрана в гитхабе awesome-mlops, который курирует Лариса Висенгериева, главный эксперт сайта ml-ops.org и кандидат наук по дисциплине «качество данных». Ещё можно почитать блог ML-специалиста Синь Чэня, там есть обстоятельный лонгрид на тему ML- и DataOps.

суббота, 17 марта 2018 г.

Учёба

http://oncampus.ru/publicacii/ctazhirovka-v-ssha-kak-ostatsya-posle-ucheby
http://oncampus.ru/publicacii/plan-postupleniya-v-magistraturu-v-ssha-za-odin-god
http://oncampus.ru/publicacii/desyatka-samyh-umnyh-gorodov-ameriki
http://oncampus.ru/publicacii/obama-protiv-zakona-o-grin-kartah-dlya-tehnicheskih-spetsialistov
http://oncampus.ru/publicacii/kak-sozdat-rezyume-v-formate-europass-dlya-ucheby-i-stazhirovki-v-evrope
http://oncampus.ru/publicacii/vsya-pravda-o-postuplenii-v-zarubezhnyy-vuz-instruktsiya-dlya-novichkov
http://oncampus.ru/publicacii/ckolko-stoit-obrazovanie-v-evrope-dlya-inostrantsev

1960 — появление операционных систем

1968 — разделение аппаратной и программной частей компьютера

  • Системный архитектор (1970 год)

1975 — первый микрокомпьютер

1980 — первая реляционная база данных

  • Архитектор приложений (1980 год)

1990 — появление сети Интернет

  • Архитектор предприятия (1990 год)

1995 — появление поисковых систем 

2000 — гибкие методологии

  • Сетевой архитектор (2000 год)

2001 — первый многоядерный процессор

2002 — первое публичное облако (Amazon Web Service)

2006 — AMD-V виртуализация, открывается эра микросервисов

2010 — появление NoSQL

  • Архитектор решений (2010 год)

2013 — появление технологии Docker

2014 — появление Kubernetes

  •  Data-архитектор (2015 год)

  • ML-архитектор (2020 год)


где архитектор нужен
  • Создание девайсов

  • Операционные системы и другое большое коробочное программное обеспечение

  • Большие структуры со множеством подразделений


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

Certificates for Solution Architect
  • Certified Software Architect by Carnegie Mellon University. One of the most formal options. It consists of three courses. Almost like a Master Degree in Software Architecture! The certificate is free, but there is a nuance — you will have to pay all three courses of study :)
  • CITA-P: Certified IT Architect. It costs US$ 300. Held by IASA (an Association of All IT Architects). It looks like a standard certification system with online/offline courses, own book, and the opportunity to become a part of this association.
  • Certified SOA Architect. Provide a separate school for architects. The school consists of 23 lessons and is the most complete of the entire list of this article — one of the most attractive options for learning and becoming a software architect.
  • Private certifications SA. Large companies have their certification systems for architects. For example, EPAM Systems has a Solution Architect University, which consists of three levels. Each level implies four months of training and contains a large amount of theoretical and practical work. The biggest plus of such certification is that they are more directed to practice than others. The biggest minus is available only to the company’s employees.

Certificates for Enterprise Architect

  • ITIL Master (Axelos). The cost depends on the place of passing. ITIL (Information Technology Infrastructure Library) is a global provider of certification and quality assessment systems in a wide range of software development areas. And also, one of the most popular certification systems in the world (more than 2M certified specialists in the world, but not all of them are architects). There are five levels of the exam. The architect needs to get the last fifth level — ITIL Master Certificate — IT Service Management.
  • TOGAF 9 (The Open Group). There are two levels. It costs US$ 320 per level or US$ 496 for both. It is the recognized leader among certification systems for enterprise architects. It represents a framework for the organization of development and architecture in more than 80% of companies in the world. There is documentation for this framework, consisting of ± 500 pages, which should be used when preparing for the exam.
  • CTA (Salesforce). The cost is US$ 6,000. It is carried out by Salesforce. A distinctive feature is the requirements that must be met for the exam. Namely, five years of proven practical experience in the full development cycle, or 3 years of proven practical experience in the role of the architect.
  • Zachman Certified — Enterprise Architect (Zachman). To obtain this certificate, it is necessary to pass a 4-day workshop priced at US$ 3,499. It is a recognized ontology of enterprise architecture. Created by John Zachman. Like a TOGAF, it is a framework. Its distinctive feature is the presence of four levels of the certificate: from associate (level I) to the educator (level 4).
  • RHCA (Red Hat). Costs are from US$ 2000 for level I to US$ 2,400 for level II. Red Hat holds it. It has a broad set of requirements for passing the certification exam. In particular, you need to get five necessary certificates. To pass the exam, you must use the company’s paid resources, including the possibility to hire an instructor offline or online.

пятница, 10 ноября 2017 г.

git jira

GIT


https://habrahabr.ru/post/336708/ - Как я использую git


Коммит - точка, в которой зафиксирован снимок файлов. Имеет свой номер (хеш), по которому его можно неоднозначно идентифициовать.
Репозиторий - хранилище файлов

  • git init - создание нового репозитория
  • git clone - клонирование удаленного репозитория
  • git fetch - получение информации о коммитах из сервера (удаленного репозитория) без получения фалов/кода
  • git pull - получение файлов из сервера
  • git push - загрузка файлов на сервер
  • git branch - создание новой ветки
  • git checkout - переход на ветку
  • git reset - перенос индексов на определенный коммит. Имеются 3 основных параметра soft, mixed, hard (также изменяет рабочую директорию)
  • git revert - создани нового коммита, который отменяет другой коммит
  • git merge - сливает одну ветку в другую

Вышеописанные команды используются наиболее часто и покрывают практически все потребности. Описание выше не является полным. Команд гораздо больше и возможности шире, нежели описано.
Git flow:
Git flow - способ (методология) работы с репозиторием на Git. При работе с Git обычо имеется 2 основные ветки: master (Основная ветка, которую всегда можно накатить на бой) и development (ветка для разработки). Особенность является в том, что для разработки нового функционала создается отдельная ветка (Обычно ветку называют номером задачи). При завершении работы над функционалом ветка сливается в development и удаляется (если надо). В итоге всегда имеется актуальная релизная версия, читая ветка development (в крайних случаях можно отменить один коммит, а не искать по всему репозиторию коммиты, которые относятся к функционалу), индивидуальные ветки для каждого разрабатываемого функционала (структурированность). Имеется много GUI клиентов для работы с Git, которые упращают работу. Они имеют меньше возможностей, но более удобный интерфейс, а также строят визуальное дерево разработки. В крайнем случае можно воспользоваться консолью Git.
Обычно ветка разработки функционала создается по шаблону - feature/<номер_задачи>, где
  • feature/ - дополнительная информация, что данная ветка создана для разработки (обычно добавляется автоматически)
  • <номер_задачи> - информация, которая позволяет неоднозначно определить задачу
Например, есть задача http://jira/browse/UFR-643 При начале разработки будет создана ветка feature/UFR-643.

Git hooks:

Hook (перехватчик) - механизм для совершения некоторых действий до или после выполнения команды git.
Основная проблема состоит в том, что для автоматического перемещения задач в JIRA Jenkins'ом последнему требуется каким-либо образом сообщить о необходимости произвести данные действия.
Учитывая, что в Git flow ветки для задач создаются локально, а после слияния удаляются, то нет адекватного способа отследить момент создания ветки (переместить задачу в колонку "В работе") и удаления (колонка "Завершено").
Наилучшим способом будет добавление перехватчика в локальный репозиторий разработчика.
Необходимые хуки и алгоритм:
  • Создание ветки для задачи
    • Получить имя ветки (номер задачи)
    • Сообщить Jenkis о необходимости изменить статус задачи
  • Добавление коммита в репозиторий
    • Получить комментарий к коммиту
    • Получить имя ветки (получить номер задачи)
    • Сообщить Jenkins о необходимости добавить в задачу комментарий из коммита
  • Удаление ветки или слияние ветки с веткой develop
    1. При получении информации о удалении ветки
      • Получить имя ветки (номер задачи)
      • Сообщить Jenkis о необходимости изменить статус задачи
    2. При получении информации о слиянии с веткой develop
      • Получить информацию о последнем коммите
      • Обнаружить название ветки, которая была слита
      • Сообщить Jenkis о необходимости изменить статус задачи
  • Клонирование репозитория (большая вероятность, что не удастся заставить корректно работать)
    • Получить информацию о том, что репозиторий склонировался
    • Перенести файлы с хуками из заранее заготовленной папки в папку .git\hooks
Перехватчики можно писать на любом языке (как заявлено в официальной документации), однако предпочтение отдается Ruby или Bash (рассматривается python), так как именно на них имеется большое количество примеров для написания хуков.

II. JENKINS

Jenkins - проект для непрерывной интеграции с открытым исходным кодом (Спасибо Wiki). С его помощью, например, можно создавать автоматические сборки проекта, выкатывать релизы и еще много-много чего очень-очень полезного.

Для использования Jenkins его придется развернуть и настроить на сервере.
Потребется Java 8.

После установки и запуска потребуется установка дополнительных плагинов.

После необходимых действий требуется настроить задачу (Job).
В моем видении Jenkins каждые n минут будет мониторить репозиторий и в слчае изменений будет запускать билд.

Абрстрактный алгоритм:
  • Установка Jenkins
  • Установка необходимого ПО (git, .NET Core 2.0, NodeJS)
  • Установка плагинов (Git Plugin, Stash Webhook for Jenkins plugin)
  • Настройка:
    • Связывание с репозиторием
    • Настройка Job

 

 

Дополнительные ссылки:

GIT:

JENKINS:

(Из интернета)
Плагины:

JIRA:

(Из интернета)

ПРОЧЕЕ:

суббота, 7 октября 2017 г.

React

React: Основы основ

  • https://habrahabr.ru/post/319134/про идеологию библиотеки, поможет понять, основные идеи лежащие в основе React.
  • http://krasimirtsonev.com/blog/article/The-bare-minimum-to-work-with-React, того что надо знать, чтобы начать работать с React.

  • https://www.gitbook.com/book/maxfarseer/react-course-ru/details – текстовый курс по основам React на русском языке. Научит только самым базовым вещам: работе с компонентами, lifecycle хуками, формами и валидацией пропсов с помощью PropTypes.
  • Все фундаментальные принципы React.js, собранные в одной статье [RU].
  • https://medium.com/@divermak/%D0%B2%D1%81%D0%B5-%D1%84%D1%83%D0%BD%D0%B4%D0%B0%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF%D1%8B-react-js-%D1%81%D0%BE%D0%B1%D1%80%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B2-%D0%BE%D0%B4%D0%BD%D0%BE%D0%B9-%D1%81%D1%82%D0%B0%D1%82%D1%8C%D0%B5-ec6a97bfd1bf

Ныряем в React с головой

Робкое знакомство с Redux

  • https://www.robinwieruch.de/learn-react-before-using-redux/ которые обязательно надо изучить в React, перед знакомством с Redux.
  • https://egghead.io/series/getting-started-with-redux Лучший способ ознакомиться с Redux — посмотреть курс от самого создателя (Даниила Абрамова) на egghead.io[EN] — 30 видео уроков, в которых покажут не только, как пользоваться библиотекой, но и объяснят принцип её работы (по сути, в ходе курса вы сами напишете свой мини-Redux) + в конце расскажут про связку с React с помощью компонентов из React-redux, объяснят, как создавать компоненты-контейнеры, единственная цель которых передавать данные в другие компоненты, а также, как использовать контексты при работе с React.
  • Сразу после курса бегите читать http://redux.js.org/ [EN]. Документация небольшая по объёму, но проясняет многие детали, которые не смог покрыть курс.
  • Статья https://medium.com/lexical-labs-engineering/redux-best-practices-64d59775802e [EN] расскажет, как не совершить типичных ошибок: где и как организовать бизнес логику приложения, как правильно работать с асинхронными операциями, как создать архитектуру проекта на Redux и многое другое.
  • Подробное объяснение http://www.kanby.ru/prezentaczionnyij-komponent-i-kontejner-v-react.html. [RU] при работе с React и Redux.

Продвинутый Redux

  • Идиоматический Redux [EN] – второй курс от создателя Redux (Даниила Абрамова) про продвинутые техники использования библиотеки.
  • Обзор экосистемы Redux [EN] — объяснение принципов сосуществования с React, React Router + паттерны работы с асинхронностью и аутентификацией.
  • Асинхронный Redux [EN] – разбор библиотек для работы с асинхронными операциями в Redux.
  • mergeStateToProps [RU] — возможности React Redux, о которых вы не знали (mapDispatchToProps на стероидах).

Роутинг

  • React Router 4 [RU] – простое объяснение отличий от предыдущих весрсий.
  • https://habrahabr.ru/post/329996/

От и до: уроки по созданию полноценных приложений

  • Создаём клон Реддита [EN] с помощью React и Firebase
  • https://www.sitepoint.com/reddit-clone-react-firebase/

  • Создаём клон Твиттера [EN] на React с использованием appbase в качестве бэкенда.
  • https://scotch.io/tutorials/build-a-twitter-like-search-feed-with-react-js-and-appbase-io

  • Создаём клон Trello [RU]. Описывается разработка сайта c авторизацией и функционалом популярного. Помимо React используется Redux, PostgreSQL, Phoenix (фреймворк для Elixir, который в свою очередь работает на Erlang VM).
  • https://habrahabr.ru/post/308056/

  • Создаём медиа-библиотеку с помощью React, Redux и Redux-saga [EN]:
  • Часть 1 https://scotch.io/tutorials/build-a-media-library-with-react-redux-and-redux-saga-part-1
  • Часть 2 https://scotch.io/tutorials/build-a-media-library-with-react-redux-and-redux-saga-part-2
  • Собираем с нуля изоморфное приложение – пошаговое руководство по настройке сборки приложения на React с server-side рендерингом [RU]:
  • Часть 1 https://habrahabr.ru/post/309958/
  • Часть 2 https://habrahabr.ru/post/310284/
  • Часть 3 https://habrahabr.ru/post/310952/

Разное

  • Подборка 15 вопросов с собеседования [RU] для React-разработчика.
  • https://github.com/tiaanduplessis/awesome-react-talksEN] – подборка лучший докладов с конференций, посвященных React, всё разделено по годам. 
  • Шпаргалка по принципам работы с экосистемой React + Redux [EN] в виде диаграммы.
  • https://github.com/uanders/react-redux-cheatsheet



1
Ant Design

Ant Design

A UI Design Language and React UI library
+14.6k☆
2
Create React App

Create React App

Set up a modern web app by running one command.
+13.5k☆
3
Gatsby

Gatsby

Build blazing fast, modern apps and websites with React
+11.5k☆
4
Next.js

Next.js

The React Framework
+10.6k☆
5
Material UI

Material UI

React components for faster and easier web development. Build your own design system, or start with Material Design.
+10.2k☆
6
Ant Design Pro

Ant Design Pro

Use Ant Design like a Pro!
+8.1k☆
7
Formik

Formik

Build forms in React, without the tears
+7.9k☆
8
react-use

react-use

Collection of essential React Hooks
+7.8k☆
9
React-spring

React-spring

A spring physics based React animation library
+6.4k☆
10
Ink

Ink

React for interactive command-line apps
+6.0k☆
11
React Testing Library

React Testing Library

Simple and complete React DOM testing utilities that encourage good testing practices.
+5.7k☆
12
react-beautiful-dnd

react-beautiful-dnd

Beautiful and accessible drag and drop for lists with React
+5.5k☆
13
Docz

Docz

It has never been so easy to document your things!
+5.3k☆
14
Docusaurus

Docusaurus

Easy to maintain open source documentation websites.
+4.6k☆
15
React Router

React Router

Declarative routing for React
+4.6k☆
16
react-admin

react-admin

A frontend Framework for building B2B applications running in the browser on top of REST/GraphQL APIs, using ES6, React and Material Design
+4.4k☆
17
React Window

React Window

React components for efficiently rendering large lists and tabular data
+4.3k☆
18
React Table

React Table

Hooks for building fast and extendable tables and datagrids for React
+4.0k☆
19
React Native for Web

React Native for Web

React Native for Web
+4.0k☆
20
Filepond

Filepond

A flexible and fun JavaScript file upload library
+3.7k☆


mlops

  . Почти вся информация по вопросу собрана в гитхабе  awesome-mlops , который курирует Лариса Висенгериева, главный эксперт сайта ml-ops.or...