Категории: Все - алгоритмы - книги - программирование

по Barolina Barolina 4 лет назад

389

SKILLS

SKILLS

SKILLS

Ссылки на онлайн-курсы и платформы для обучения.


Это — книги «на все времена». Лучшие в своем роде и важные для программистов любых направлений.



старт

Направления

Статьи и Книги [dailycoding.io]

Front-end

hard_map_skills_on_git

реализация отложенных вызовов функций в момент асинхронных событий Q и объект для отложенных и асинхронных вычислений Promise.

дополнительные скриптовые языки

docker

понимание принципов usability

CI

среднее знания бэкенд технологий

canvas, svg

Прогрессивные Web приложения

Using Dev Tools

Service Workers

Storage

JavaScript паттернс

уязвимости XSS, CSRF/XSRF

CSS and JS

CSS Modules

preprocessors (sass)

Статические генераторы сайтов

Gatsby JS

Functional

Integration

Unit

выбор фраемворка (vue)

Vuex

инструменты сборки

линтер и форматтеры (ESLint)

module bundlers (webpack)

task runners (npm scripts)

базовое конфигурирование веб-сервера, чтобы запустить свою статику: Apache2, Nginx;

менеджеры пакетов (npm)

html, css, java-script-основы

DevOps

Кратко

Микросервисы


Аркестровка

Kubernetes

Consul

Мониторинг

Мониторинг Приложений

Управление логами

ELK

Контернизация

Docker Swarm

Docker compos

git example

CI/CD

AWS

Circle CI

Сеть и безопасность

SSL/TLS

FTP

HTTPS

DNS

администрирование ОС

понимание концепций ОС

процессы, потоки, сокеты

Базовые знания скриптового языка

Back-end

# Батарейки


Admin notify

Django Storage

ETL-процессы

OLAP

Service Providers

Amazon

Дополнительно

Big Data

Nodejs

Нейронные сети и компьютерное зрение

Обработка изображений

SOAP

Static Analysis

Profilling

WebSocket

сборка пакета

Поисковый движок

Sphinx

ElasticSearch

Message Brokers

RabbitMq

rabbitmq-delayed-message-exchange


Реактивное программирование

GraphQL

Ассинхронное программирование

aiohttp

Методологии Аутентификации / Авторизации

Фраемворк

Flask

DJANGO

Database

Key/Value

Redis

Document Store

MongoDB

Relational

Докумнтирование

Pelican

Swagger

API PLugins

Geolocation

Maxmind

Mapping

Leaflet

MapBox

Google Maps

Tagging

Google Tag Manager

Analytics

WebTrands

тестирование

автоматизированное тестирование Selenium Python

интеграционные

модульные

Тестирование ПО: Базовый уровень

pytest

Cтандарты и best практик (PEP)

REST API

Базы данных

https://stepik.org/course/2614

CRUD, JOIN

Postgres

Web серверы

Nginx

Алгоритмы: теория и практика. Методы

python


Дополнительные материалы

MinMap Python


http://pythontutor.ru/


https://www.coursera.org/learn/diving-in-python

Логирование

DatabaseDeveloper

postgres pro

mind map

курс

Паттерны проектрования БД

Общие принципы

ключи

избыточность

нормализация

Балансировщики, репликация, PIT бэкапы

Тестирование

pgtap

FTS, триграммы, plproxy

Специфики архитектуры и функционирования БД;

Безопасности, касающихся доступа к БД;

Типов СУБД.

Языка моделирования UML;

Универсального языка разметки XML;

Языков запросов к БД ( SQL и пр.);

Проектирование, настройка, администрирование и оптимизация БД

QA Engener

http://www.protesting.ru/testing/

https://www.xmind.net/m/s3Nt/

check лист тестирования web-service

EasyQA Chrome Extension позволяет создать баг репорт с вашего веб-сайта или веб-приложения, не тратя время на отправку информации,помогает в кратчайший срок начать работу по исправлению бага.

Бета-тестирование

Бета-тестирование – заключительная предварительная стадия тестирования. Как правило, это делают конечные пользователи, которые не являются сотрудниками компании.При бета-тестировании ваш сайт попадает в руки реальных пользователей , чтобы обнаружить любые недостатки с их точки зрения, которые вы не хотели бы иметь в своей окончательной, релизной версии.


Такие инструменты, как

Ubertesters

 TestFlight

Тестирование мобильной версии сайта

несколько советов для того, чтобы сделать эфективным тестирование сайта на мобильных устройствах:



Полезные инструменты для тестирования мобильной версии сайта – 

BrowserStack


.

Регрессивное тестирование

Тестирование, связанное с изменениями, имеет две основные цели:


Selenium

Postman

Тестирование безопасности

Тестирование безопасности выполняется для проверки системы защиты данных и поддержки функционала.

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

Другой тип тестирования безопасности, тестирование уязвимости, позволяет оценить общий объем вовлеченных рисков.


Некоторые проверки для тестирования безопасности:


https://securityheaders.com


Тестирование производительности

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


Полезные инструменты для тестирования производительности: 

Apache JMeter

WebLOAD

Gatling

Тестирование скорости загрузки страницы

тестирование на выносливость

Тестирование поведения сайта при непрерывной дополнительной нагрузке

тестирование параллелизма

Тестирование производительности веб-сайта, при одновременной логинизации большого количества пользователей

тестирование стабильности

Тестирование способности работать в течение или чуть дольше приемлемого периода

объёмное тестирование

Тестирование производительности веб-сайта за счет увеличения объема данных в базе данных

нагрузочное тестирование

Тестирование поведения сайта при увеличении рабочей нагрузки

стресс-тестирование

Тестирование поведения сайта на уровне или за пределами его ожидаемой рабочей нагрузки

Тестирование совместимости

Тестирование совместимости выполняется для проверки работы сайта при различных программных и аппаратных конфигурациях:




Вы можете использовать такие инструменты как 

BrowserStack

Совместимость опций печати

Тестирование баз данных

Кросс-браузерное тестирование сайта

помогает проверить правильность работы сайта в разных конфигурациях браузера: Mozilla Firefox, Google Chrome, Internet Explorer, Opera и т. п.

Кросс-платформенное тестирование сайта

позволяет оценивать работу вашего сайта при разных ОС (как десктопных, так и мобильных): Windows, iOS / Mac OS, Linux, Android, BlackBerry и т. д.

Тестирование UI

Тестирование интерфейса пользователя (UI) выполняется для проверки соответствия графического пользовательского интерфейса вашего сайта спецификациям.


Вот некоторые проверки для тестирования интерфейса веб-сайта:


Полезные инструменты для UI тестирования: 

FitNesse

Usability тестирование сайта

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


Полезные инструменты для usability тестирования: 

User Zoom,

Reflector,

Чек-лист тестирования контента:


Навигационное тестирование сайта

Навигационное тестирование сайта содержит следующие проверки:


Функциональное тестирование сайта

Функциональное тестирование направлено на то, чтобы каждая функция веб-сайта работала в соответствии с требованиями спецификации. Тестирование функциональности веб-сайта показывает «Что делает система».


Полезные инструменты для проведения функционального тестирования: 

Selenium

HTML / CSS валидация

Проверить


Тестирование cookies / JWT - токен

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



Тестирование форм для всех страниц

необходимо проверить следующие моменты:



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

Проверить


Тестирование документации

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


На этом этапе анализируются основные артефакты, связанные с тестированием веб-сайта:


study learning

Junior

Middle

Senior

тестирование производительности

yandex tank

Apache Jmeter

Jenkins

тестирование безопасности

проведение тест анализа

определять, что именно будет протестировано, формировать условия тестирования.

Docker

этапы тестирования

тестирование REST/RPC API

автоматизация тестирвания

Selenium

usability тестирование

функциональное тестирование

разработка тест-кейсов

составление check-листов

этапы тестирования

регрессивное тестирование

Использует технику тестирования черного ящика (повторное выполнение тестов), на которые влияют изменения кода. Эти тесты должны выполняться как можно чаще в течение всего ЖЦПО при изменениях кода для исправления дефектов или для улучшения работы веб-приложения.

 

Практические советы вам:


тестирование верстки

доступность или отсутствие ошибок js

тестирование локализации

404-е ошибки

корректная работа верстки

визуальная часть

тестирование совместимости

мобильное представление

кросс браузерное

кросс платформенное

ручное тестирование

работа с логами Unix-сестем

MockServer

Postman

инструменты тестирования вёрстки (pixel perfect).

значение баг-трекинг систем и управление тестами

YouTrack

Архитектор

Контроль за архитектурой проекта, на каждом шаге его релиза

Написание документации проекта и её поддержка

Выбор технологий для реализации каждого из компонентов и связей между этими компонентами

Выбор архитектуры системы, и каждого компонента этой системы в отдельности на высоком уровне

Проектирование всей системы, основываясь на выдвинутых требованиях

https://habr.com/ru/post/501406/

Определение бизнес-требований и требований заказчика проекта

Определение заинтересованных лиц данного проекта

Создание единого стандарта разработки для компании

Анализ кода

Анализ архитектуры.

Паттерны/Антипаттерны проектирования

Стек технолгий

Архитектура компьютера и принципы работы сети Интернет


Код. Тайный язык информатики (Чарльз Петцольд)

базовые знания SQL
Английский язык

Полезные ресурсы:


Система управления версиями

Нужно уметь работать с Git. Создавать репозитории, сливать ветки и разрешать конфликты.

Поможет в этом:

Паттерны программирования

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



Алгоритмы

Нужно уметь оценивать сложность алгоритмов и знать где их применять.



Структуры данных

основные структуры данных и различия между ними

Linux и работа с командной строкой