Инфографика дня: крупнейшие за последнее время сливы пользовательских данных

На сайте informationisbeautiful.net опубликовали информацию по самым крупным утечкам данных и взломам пользователей. 

На первом и втором местах оказался Facebook. О самом масштабном инциденте стало известно в апреле 2021 года. Напомним, в дампах памяти содержалась информация о 533 миллионах пользователей соцсети, включая их даты рождения, адреса электронной почты, телефонные номера, географическое местоположение, полные имена и пол. Позже в компании сообщили, что, якобы, это были старые данные. 

Вторая по количеству слитых данных утечка Facebook произошла в сентябре 2019 года. В ее результате в свободном доступе оказались более 420 млн записей о номерах, привязанных к аккаунтам соцсети и ID этих аккаунтов. После обращения журналистов базу данных с телефонами удалили. 

Третья по масштабу утечка связана с технологической компанией по сбору и извлечению данных OxyData.io. Согласно графику, в сеть утекли данные 380 миллионов человек. Об этом подробно в собственном расследовании написал аналитик Боб Дьяченко.

Самые крупные утечки данных и взломы пользователей

Ранее мы писали о том, как защититься от утечки данных и проверить, задействованы ли ваши данные в известных инцидентах, связанных с утечкой.

The post Инфографика дня: крупнейшие за последнее время сливы пользовательских данных first appeared on Highload.today.

from Highload.today https://ift.tt/3f2amMn
via IFTTT

Сисадмин, DevOps, SRE: в чем разница и сколько они зарабатывают?

Профессии «девопс» не существует, а приличных инженеров эксплуатации не стоит называть сисадминами — сталкивались ли вы с подобными утверждениями? Они звучат регулярно. При этом на сайтах с вакансиями открыты сотни объявлений о поиске DevOps и сисадминов — судя по требованиям, вполне приличных. Более того, иногда содержание этих вакансий совпадает настолько, что в заголовке пишут: «ищем системного администратора (DevOps)», ставя между ними знак равенства.

Да, каждый работодатель волен называть вакансию так, как хочет, и требовать от соискателя соответствия тому списку требований, какому считает нужным. А каждый специалист может сам решить, как себя называть. Но и работодатель, и соискатель заинтересованы в том, чтобы их представления совпадали (а иначе как они найдут друг друга?).

В этой статье мы постараемся зафиксировать ожидания работодателей. Предмет интереса — специальности системный администратор, DevOps-инженер и Site Reliability Engineer (SRE).

Системный администратор

По запросу «системный администратор» HeadHunter выдает более 5 тыс. вакансий. Все объявления разные, но их можно разбить на три группы. Это разбиение основано на анализе не всех 5 тыс., а примерно 50 вакансий, поэтому вряд ли отражает действительность с максимальной точностью. Делайте скидку.

Level 1: поддержка офисной техники

Зарплата: $250–600.

Таких сотрудников еще называют «эникейщиками» — мастерами на все руки (или на все кнопки — any key). Но среди вакансий определение «системный администратор» распространено больше. Иногда встречается с приставкой «младший».

Обязанности:

  • настройка рабочих мест сотрудников,
  • установка ПО и управление лицензиями,
  • управление доступом, учетными записями и правами,
  • поддержка периферийного оборудования (МФУ, принтеры, гарнитуры, микрофоны, проекторы, WiFi-оборудование),
  • обслуживание и мелкий ремонт компьютерной техники,
  • иногда: управление закупками офисной техники.

Эникейщиков или младших системных администраторов ищут самые разные организации, от небольших фирм на 10–15 человек до средних компаний со штатом в 100–150 сотрудников. В первом случае сисадмин будет отвечать за технику один, во втором — в команде с более опытными администраторами.

Level 2: поддержка собственной инфраструктуры компании

Зарплата: $450–950.

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

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

В обязанности типичного системного администратора входят:

  • Установка и настройка серверов и сетевого оборудования (Cisco, HP и др.).
  • Администрирование операционных систем (на базе Windows или Linux), систем виртуализации (OpenVZ, Xen, Proxmox, Hyper-V, VMware, VirtualBox), баз данных (MySQL, PostgreSQL, Microsoft SQL), сетевых хранилищ, локальных сетей и VPN (PPTP, SSTP, OpenVPN), доменной сети (Active Directory, DNS, DHCP), веб-серверов (Nginx, Apache), электронной почты (Sendmail, Postfix, MS Exchange, Zimbra и др.), IP-телефонии (Asterisk), CMS, корпоративных IT-систем (1С, Bitrix24 и др.), ПО для командной разработки (GitLab, Jira, Confluence и др.).
  • Мониторинг (Zabbix, Dude, Alerta, Prometheus, Grafana).
  • Резервное копирование и архивирование данных.
  • Безопасность.
  • Автоматизация процессов обслуживания (на Bash, Python).
  • Разработка технической документации и регламентов.

Таких сисадминов ищут самые разные компании, а набор обязанностей зависит от  размеров и задач. Например, если сисадмин нужен в хостинг-провайдер или интегратор, то к задачам добавляется общение с клиентами; если в организацию из отрасли торговли или производства, то настройка 1С, бухгалтерского и криптографического ПО; если в компанию-разработчика софта, то создание сред для разработки и поддержка этого ПО в продакшене.

Вот что говорят действующие инженеры об обязанностях системного администратора.

Василий, DevOps в Piano:

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

Валентина, инженер в МТС:

Топ-5 обязанностей: выдача прав и доступов юзерам, ребут сервера (от всех бед), настройка ОС под требования какого-то ПО, монтирование дисков, настройка требований информационной безопасности. Топ-5 технологий: unix, bash, виртуализация, Ansible, опыт настройки какой-либо реляционной СУБД.

Level 3: создание инфраструктуры для SaaS, поддержка микросервисной архитектуры

Зарплата: $1200–2000.

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

К обязанностям из предыдущего уровня добавляется:

  • работа с системами контейнеризации (Docker, Kubernetes);
  • работа с брокером сообщений Apache Kafka;
  • настройка систем мониторинга (Zabbix/Grafana), системы логирования ELK;
  • работа с системами управления конфигурациями (Ansible).

Как правило, таких специалистов ищут крупные компании, которые разрабатывают высоконагруженные многопользовательские сервисы. В том числе онлайн-магазины, онлайн-кинотеатры, банки и телеком-операторы.

И обычно именно на этом уровне задачи системных администраторов путают с задачами DevOps и SRE. Так что пора перейти к определению этих профессий.

DevOps-инженер

По запросу «DevOps инженер» HeadHunter тоже выдает около 3 тыс. вакансий. Подготовленный читатель скажет: «DevOps — это не специальность, DevOps — это философия, набор инструментов». Так и есть!

Что такое DevOps

DevOps — это набор практик для повышения эффективности процессов разработки (Development) и эксплуатации (Operation) софта.

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

Подробно о философии и практиках можно почитать в других статьях, их достаточно. Для целей нашей статьи достаточно понимать два ключевых момента. DevOps предполагает:

  • тесное взаимодействие разработчиков и отдела эксплуатации;
  • настройку и автоматизацию процессов непрерывной интеграции и непрерывной поставки кода (CI/CD).

Второй пункт часто невозможен без перехода на микросервисную архитектуру. Как правило, она реализуется с помощью Docker и Kubernetes.

Чем занимается DevOps-инженер

DevOps не профессия, но это слово регулярно используют в значении «специалист, который внедряет практики DevOps». Если вы когда-нибудь открывали сайт с вакансиями, то понимаете, о чем речь. Но цель этой статьи не спор вокруг терминологии, а анализ содержания вакансий. К нему и перейдем.

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

Требования, совпадающие с требованиям к системным администраторам:

  • знание и опыт администрирования Linux, систем контейнеризации (Docker, Kubernetes), баз данных, LAMP;
  • понимание принципов работы TCP/IP;
  • опыт администрирования SQL и NoSQL баз данных;
  • опыт настройки систем мониторинга и логирования (Zabbix, ELK, Grafana, Prometheus);
  • опыт конфигурирования инфраструктуры через код (Ansible);
  • умение писать скрипты на Bash, Python или Ruby (иногда упоминается Perl);
  • опыт работы с облачными платформами.

Требования, которые не встречаются в вакансиях системных администраторов, но типичны для вакансий DevOps-инженеров:

  • понимание философии DevOps;
  • понимание и следование подходу «инфраструктура как код»;
  • понимание жизненного цикла разработки ПО и принципов CI/CD;
  • тесное взаимодействие с командой разработки.

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

При этом некоторые вакансии DevOps-инженера действительно похожи на вакансии системного администратора. Иногда в объявлении совсем не упоминается настройка CI/CD, а есть только требование построить и поддерживать кластер на Kubernetes. Но четкой градации между вакансиями нет, разделить их на группы нельзя.

Сергей, СТO в Southbridge:

Ключевой момент, который отличает DevOps-инженера от системного администратора, — это навыки автоматизации и сокращение ручного труда (особенно касается построения CI/CD), понимание процессов со стороны разработки. DevOps должен знать  Linux, Git + CI/CD, Ansible, Docker + Kubernetes, Automation and Scripting (обязательно).

Валентина, инженер в МТС:

Топ-5 обязанностей: настраивать CI/CD, автоматизировать и поддерживать инфраструктуру тестовых сред и прода, общаться с разработкой и понимать их код. Топ-5 технологий: Gitlab CI, Docker, K8s, Ansible, Python.

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

Зарплата DevOps-инженеров значительно больше, чем системных администраторов: от 1000 до 3500 USD и выше. 

SRE

SRE — это одна из форм реализации DevOps. SRE-подход возник в Google и стал популярен в среде продуктовых IT-компаний после выхода одноименной книги в 2016 году.

Цель инженера по SRE — сделать так, чтобы сервис работал с такой надежностью, которая указана в соглашении о уровне оказания услуг (SLA). Стабильность работы зависит и от инфраструктуры, и от качества кода, поэтому SRE занимается и тем, и другим. Как правило, инженерами по SRE становятся опытные системные администраторы или разработчики. Разработчики даже чаще.

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

Пример требований:

  • уверенные знания ОС Linux продвинутого уровня работы в консоли;
  • опыт разработки на C/C++ или Go;
  • понимание работы TCP/IP и HTTP;
  • понимание устройства ОС (процессы, память, синхронизация);
  • опыт настройки различных инструментов для мониторинга и конфигурирования серверов (Zabbix, Puppet, Ansible или подобные);
  • опыт работы с Docker;
  • опыт использования облачных сервисов Amazon: EC2, VPC, S3, Route53;
  • опыт настройки сетей (инструменты: Nginx, HAProxy, bind, git, iptables, stunnel, OpenVPN);
  • опыт настройки виртуальных машин: kvm, xen.

Пример задач:

  • оптимизация имеющейся архитектуры и сервисов;
  • уменьшение нагрузки на сопровождение и обслуживание сервисов за счет автоматизации;
  • изучение имеющихся сервисов и поддержание актуальных знаний по ним;
  • активный и проактивный поиск возможных проблем и их устранение;
  • обеспечивать заданный уровень SLA & SLO;
  • участвовать в инцидент-менеджменте;
  • писать postmortem и разрабатывать мероприятия для повышения стабильности сервисов;
  • создавать, актуализировать DRP (Disaster Recovery Plan), BCP(Disaster Recovery Plan) и проводить регулярные учения по отказам с последующим анализом результатов;
  • участвовать в проработке архитектуры сервисов и изменений их конфигураций;
  • оптимизация имеющихся систем observability.

Марсель, CТO в Slurm.io:

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

Сергей, СТO в Southbridge:

Я считаю, что у нас это скорее хайп, так как SRE и DevOps-инженер часто имеют одни и те же обязанности. На мой взгляд, SRE — это DevOps с бэкграундом разработки. Тут имеется в виду, что такой инженер может не просто написать скрипт на Go, а разобраться в коде и даже подсказать разработчикам, что с инфраструктурной точки зрения работает плохо и что надо улучшить.

Инженеры по SRE нужны еще в меньшем количестве компаний, чем DevOps-инженеры, и это крупнейшие организации.

Зарплаты SRE часто вообще не указывают, а если указывают, то фигурируют суммы в $2000, $2500, $4000.

Так в чем разница между профессиями сисадмина, DevOps и SRE? Максимально коротко

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

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

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

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

Валентина, инженер в МТС:

Когда что-то случается, админ смотрит и говорит: «виноват приклад», то есть ПО, которое пишет команда разработки. На этом работа админа над проблемой заканчивается, а работа DevOps-инженера только начинается. В компаниях, где нет собственной разработки, DevOps-инженеров не бывает, а админы обычно есть.

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

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

Василий, DevOps в Piano:

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

DevOps — это про дружбу разработки и админов (опсов), а SRE — это пожарник, который тушит прод после веселья первых двух.

————————

The post Сисадмин, DevOps, SRE: в чем разница и сколько они зарабатывают? first appeared on Highload.today.

from Highload.today https://ift.tt/3vPxzYZ
via IFTTT

Какие языки программирования используют в Amazon, Facebook и Google

Специалист по данным Манприт Сингх провел исследование, в ходе которого определил, какие языки программирования, фреймворки и библиотеки используют крупные компании, такие как Facebook, Google, Amazon, Microsoft, Apple и Tesla. Автор собирал данные с официальных страниц компаний в разделе «Вакансии», где указаны требования к сотрудникам по знанию определенных языков программирования. Мы разбили информацию с результатами исследования на две части. В первой расскажем о компаниях Amazon, Facebook и Google.

В компании просят от соискателей знания следующих языков программирования, библиотек и фреймворков: 

  • Python. В разделе вакансий много вакансий для носителей этого языка программирования. Автор считает, что Python не так сложно выучить, но язык очень надежный и его необходимо знать.
  • Java. Используется многими компаниями по всему миру, и Amazon не исключение. Манприт Сингх призывает к его изучению также из-за большого сообщества.
  • JavaScript, язык разметки HTML и язык таблицы стилей CSS. Используются для веб-дизайна практически в каждой работе по разработке ПО в любой компании.
  • Библиотека React и фреймворк Angular. По мнению автора, они похожи друг на друга и лучше их изучать параллельно, что повысит шансы на получение работы в Amazon.
  • R. Язык статистики. Множество задач компании в области обработки данных и машинного обучения требуют опыта работы с R. Манприт Сингх советует учить его в связке с Python.
  • SQL. В компании используется для разработки баз данных при работе с веб-сервисами AWS.

В компанию набирают специалистов со знанием следующих языков программирования и библиотек:

  • JavaScript, библиотека React и статистический анализатор код Flow. Используются для создания внешнего интерфейса. Автор уверен, что в компании активно используют библиотеку React, потому что Facebook является ее создателем.
  • Hack. Относительно новый (2014 год) язык программирования, разработанный Facebook. Ответвление PHP. Основное преимущество — сочетает в себе динамическую и статическую типизации.
  • PHP и его расширение XHP. В компании используют PHP для лучшей веб-разработки, а XHP позволяет создавать настраиваемые и повторно используемые HTML-элементы.
  • C++. Автор исследования отмечает, что знание C++ позволит устроиться не только в Facebook, но, вероятно, в любую другую компанию, где разрабатывается ПО.
  • Java. Обычно используется для разработки мобильных или настольных приложений, программирования встроенных систем и решения задач обработки данных.
  • ERLang. Используется Facebook в подразделении WhatsApp, потому что ERLang может одновременно обрабатывать большое количество пользователей, предполагает Манприт Сингх. На нем также построены приложения Facebook Chat и Messenger.
  • D (он же Dlang). Используется для разработки игр, виртуальных машин, веб-разработки, анализа и разработки некоторых моделей машинного обучения.
  • Haskell. Статически типизированный язык программирования с выводом типов и ленивым вычислением. По возможностям схож с C, C++ и  Java. Знание этого языка программирования повысило бы шансы успешного прохождения собеседования при трудоустройстве в Facebook, уверен автор.

В требованиях к соискателю можно увидеть необходимость знания следующих языков программирования и фреймворков:

  • JavaScript и TypeScript и фреймворк Node.js. Их знание в принципе важно для работы разработчиком, независимо от компании, считает автор.
  • C/C++. Объектно-ориентированные языки программирования с, возможно, безграничными возможностями для разработки. На сайте Google много вакансий с требованиями к знанию этих языков, поэтому Манприт Сингх призывает заинтересованных работой в Google разработчиков учить C и C++.
  • Go (он же Golang). Фактически был создан Google. Автор выделяет ряд преимуществ перед C, среди которых — безопасное хранение памяти, сборка мусора, структурная типизация и параллелизм в стиле криптопровайдера CSP.
  • Java. Разработчики Google создают на нем мобильные и настольные приложения и программируют встроенные системы.
  • Python. Google разработал множество курсов по изучению Python, поэтому неудивительно, что в резюме кандидатом обязательно знание этого языка программирования, замечает Манприт Сингх. Также Google создали на Python множество фреймворков машинного обучения в пакете TensorFlow.

The post Какие языки программирования используют в Amazon, Facebook и Google first appeared on Highload.today.

from Highload.today https://ift.tt/3o85aLf
via IFTTT

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

Highload собрал несколько IT-школ, где обучают не только всех подряд с нуля, но и уже вполне профессиональных айтишников. Платные онлайн-курсы, тренинги и марафоны помогут глубже изучить возможности JavaScript, Java, C#, PHP и других языков программирования, а также научат пользоваться фреймворками, в том числе Spring и Laravel. Стоимость курсов варьируется от 2,8 тыс. грн в месяц до 15 тыс. грн за девять дней.

Beetroot Academy

Back-End (PHP, Laravel)

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

Студентам расскажут:

  • о запросах, обработке данных, проверке пользователей;
  • о том, как программировать на языке PHP;
  • как использовать веб-серверы apache / nginx, сервер баз данных MySQL;
  • как решать сложные задачи;
  • как сортировать массивы данных без помощи готовых алгоритмов;
  • как создавать игры.

Программа включает преимущественно практические занятия и уроки английского, а также видеоуроки и карьерное консультирование.

Сколько длится: 4 месяца (44 занятия, трижды в неделю, пары длятся 3 часа).
Старт: 11 мая.
Стоимость: 3884 грн в месяц.
Больше информации по ссылке.

Advanced JavaScript / React

Углубленный курс для специалистов, которые уже знают, что такое HTML, CSS, препроцессоры SASS, о типах данных, синтаксисисе, конструкциях и основаниях функций JavaScript, событийной модели в JavaScript, а также умеют работать с DOM и AJAX запросами в JavaScript.

В течение курса преподаватели научат:

  • использованию классов и функций для создания приложений;
  • использованию react hooks для создания собственных custom hooks для управления состоянием (state) приложения;
  • паттернам render props, compound components, HOC;
  • использованию глобального контекста;
  • оптимизации приложения с использованием кэширования и правильным размещением компонентов;
  • использованию библиотеки react-query (Performant and powerful data synchronization for React);
  • unit-тестированию компонентов React;
  • Suspense и Concurrent UI Patterns.

Также студенты вместе с преподавателем напишут проекты на React и Redux. Курс состоит из практики и карьерного консультирования.

Сколько длится: 2 месяца (24 занятия, трижды в неделю, пары длятся 2 часа 40 минут).
Старт: 17 мая.
Стоимость: 4774 грн в месяц.
Больше информации по ссылке.

SoftServe

Онлайн-марафон по React

Марафон подходит специалистам, которые уже имеют навыки работы с JavaScript, а также понимают, что такое HTML / CSS, GIT и SQL.

В ходе марафона научат:

  • взаимодействовать с Git, GitHub;
  • создавать веб-приложения с ReactJS и Node.js;
  • тестировать веб-приложения;
  • применять на практике SOLID-принципы;
  • работать в команде по методологии SCRUM и прокачать soft skills;
  • создавать полностью функциональный веб-проект;
  • применять ключевые аспекты работы с JavaScript.

Сколько длится: 9 недель (18 спринтов, дважды в неделю).
Старт: 7 июня.
Стоимость: 3999 грн.
Больше информации по ссылке.

Онлайн-марафон по Java

Желающие участвовать в марафоне должны иметь базовые навыки Java, понимать HTML/CSS и SQL.

Участники марафона по завершению занятий смогут:

  • взаимодействовать с Git, GitHub;
  • создавать веб-приложения с Spring MVC;
  • работать с базами данных (JDBC, Hibernate);
  • применять ключевые аспекты работы с Java;
  • тестировать веб-приложения;
  • управляться с SOLID и правильно его применять;
  • работать в команде по методологии SCRUM и прокачать soft skills;
  • создавать полностью функциональный веб-проект.

Сколько длится: 2 месяца (18 спринтов, дважды в неделю).
Старт: 17 мая.
Стоимость: 3999 грн.
Больше информации по ссылке.

Онлайн-марафон по C#

К марафону могут присоединиться айтишники, у которых есть навыки работы с C# и HTML/CSS и которые понимают SQL.

Марафон научит участников:

  • взаимодействовать с Git, GitHub;
  • создавать веб-приложения с ASP.Net Core MVC;
  • тестировать веб-приложения;
  • понимать SOLID принципы и их применение;
  • работать в команде по методологии SCRUM, а также поможет прокачать soft skills;
  • Reflection, Data annotations.

Сколько длится: 9 недель (18 спринтов, дважды в неделю).
Старт: 29 июня.
Стоимость: 3 999 грн.
Больше информации по ссылке.

Luxoft

Рефакторинг кода на C#

Курс создан для разработчиков исходного кода на языке С# с опытом работы от 1 года до 2 лет, которые имеют базовые общие знания в области программирования и скриптовых языков, могут  понимать логические потоки кода.

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

Сколько длится: 4 дня (тренинги по 4 часа).
Старт: 11 мая.
Стоимость: 7 000 грн / 20 000 руб.
Больше информации по ссылке.

Spring Cloud для Java-разработчиков

Разработчики, знающие язык программирования Java, Spring Framework и понимающие основы Spring Boot, на этом курсе смогут:

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

Сколько длится: 4 дня (тренинги по 6 часов).
Старт: 11 мая, 5 июля.
Стоимость: 6 600 грн / 30 200 руб.
Больше информации по ссылке.

Язык Scala для Java-разработчиков

Прослушать курс смогут не только Java-разработчики, но и специалисты, работающие на других языках программирования (C++, C# и т.д.).

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

  • рассмотрят операторов и типы данных Scala;
  • изучат основные структуры данных, таких как массивы, map, tuples;
  • узнают об использовании объектно-ориентированного и функционального программирования;
  • проведут работу с коллекциями Scala;
  • научатся применению pattern matching, case-классов, generic-типов и неявных преобразований.  

Сколько длится: 5 дней (тренинги по 6 часов).
Старт: 17 мая.
Стоимость: 6 500 грн / 37 800 руб.
Больше информации по ссылке.

Spring Advanced

Разработчики и архитекторы Java с базовым знанием Spring на курсе смогут ознакомиться с расширенными темами применения Spring Framework и примерами применения.

Тренинги посвящены:

  • расширенным вопросам применения Spring REST;
  • технологиям HATEOAS и CORS;
  • документированию REST-сервисов;
  • сериализации и ограничению данных, передаваемых клиенту;
  • тонкостям применения аннотации @Transactional;
  • применение оптимистических транзакций;
  • JWT-авторизации и серверу авторизации OAuth2;
  • практическому применению реактивного программирования с использованием WebFlux;
  • тестированию Spring-сервисов;
  • планировщику задач и Actuator;
  • развертыванию в Docker.

Сколько длится: 9 дней (тренинги по 4 часа 30 минут).
Старт: 17 мая.
Стоимость: 15 120 грн / 45 000 руб.
Больше информации по ссылке.

QALight

Разработка CMS на основе PHP

Курс подходит специалистам, знакомым с основами HTML и CSS3, JavaScript Basic. Здесь студенты будут изучать язык программирования PHP путем построения собственной системы управления контентом.

Сколько длится: 5 недель (занятия дважды в неделю, по 3 часа).
Старт: 5 июня.
Стоимость: 4 500 грн.
Больше информации по ссылке.

Полный стек разработки на фреймворке Laravel

Если вам уже знакомы основы JavaScript, HTML, CSS3 и PHP, то центр подготовки предлагает дополнительно изучить популярный фреймворк Laravel. Он упрощает работу веб-разработчиков на PHP, освобождая от запутанного кода.

Сколько длится: 5 недель (занятия 2-3 раза неделю, по 2-3 часа).
Старт: 23 июля, 25 июля.
Стоимость: 4 500 грн.
Больше информации по ссылке.

CyberBionic Systematics

Курс HTML5 и CSS3 advanced

Здесь обучают программистов, верстальщиков, веб-разработчиков, которые знают JavaScript, новую семантическую разметку HTML5 и основные атрибуты. Новые знания помогут использовать весь функционал HTML5 в наборе с JavaScript.

На занятиях расскажут:

  • о Flexbox, Grid;
  • об основах Sass;
  • основах синтаксиса и семантики;
  • о встроенном аудио и видео, геолокации;
  • элементах Canvas.

Сколько длится: 3 недели (занятия 3 раза неделю, по 2 часа).
Старт: 10 мая, 8 июня.
Стоимость: 2 830 грн.
Больше информации по ссылке.

Курс React.JS

На курсе начинающим фронтенд-разработчикам и профессионалам предлагают изучить основы фреймворка React.js. Желающие на момент начала курса должны знать HTML, CSS, JavaScript (ECMAScript 6).

В ходе обучения студенты смогут:

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

Сколько длится: 5 недель (занятия 3 раза неделю, по 2 часа).
Старт: 28 мая, 31 мая, 7 июня.
Стоимость: 6 720 грн.
Больше информации по ссылке.

Курс С# для профессионалов

Этот курс рассчитан на разработчиков, имеющих опыт создания приложений на языке C# или планирующих сдать сертификационный экзамен 70-536 по программе Microsoft MCTS.

В течение обучения слушатели курса узнают:

  • принципы работы с коллекциями, применение рефлексии и атрибутов;
  • о работе с файловой системой, XML-файлами, сериализациии объектов;
  • поработают с потоками и «сборщиком мусора» (Garbage Collector);
  • научатся эффективно применять расширяющие методы и возможности функционального программирования в контексте C# 5.0.

Сколько длится: 5 недель (занятия 3 раза неделю, по 2 часа).
Старт: 24 мая.
Стоимость: 4 800 грн.
Больше информации по ссылке.

Если вам интересна тема обучения, почитайте также нашу статью «Чему учится .NET-разработчик с 15-летним опытом: список полезных ресурсов».

The post Повышение квалификации: где пройти продвинутые курсы для разработчиков? first appeared on Highload.today.

from Highload.today https://ift.tt/2Ru4Cmu
via IFTTT

Роскомнадзор потребовал от Google снять ограничения с мобильного приложения «Улица героев»

7 мая 2021 года Роскомнадзор потребовал от Google в максимально короткие сроки снять все ограничения в магазине приложений Google Play с патриотического мобильного приложения «Улица героев», принадлежащего ГТРК «Саратов».
Читать дальше →

The following blog post Роскомнадзор потребовал от Google снять ограничения с мобильного приложения «Улица героев» is available on Хабр / Посты с меткой «google»

Google обяжет разработчиков раскрывать информацию о собранных данных

С 2022 году приложения в Google Play будут показывать информацию о собранных данных, методах обеспечения конфиденциальности и безопасности. Объявление было сделано через несколько месяцев после того, как аналогичную информацию начала отображать Apple в App Store. Политика распространяется как на собственные приложения, так и на разработанные третьими лицами, пишет The Verge. 

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

  • Местоположение;
  • Контакты;
  • Адрес электронной почты.

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

График Google по внедрению новой политики

Какую информацию будут показывать приложения 

В Google говорят, что приложения будут предоставлять следующую информацию:

  • Зашифрованы ли данные;
  • Соответствуют ли они политике компании в отношении приложений для детей;
  • Могут ли пользователи отказаться от совместного использования данных;
  • Проверила ли третья сторона раздел безопасности приложения;
  • Могут ли пользователи попросить удалить личные данные.

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

The post Google обяжет разработчиков раскрывать информацию о собранных данных first appeared on Highload.today.

from Highload.today https://ift.tt/33uBM85
via IFTTT

Саундтреки к играм, дабстеп и лоу-фай: музыка для продуктивного программирования

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

Радиостанции и сайты с музыкой для программирования

Махеш Павар большую часть времени предпочитает слушать радиостанцию freeCodeCamp Code Radio, а выбор Брэдли Найса пал на Groove Salad на Sofa.fm. На последней музыка играет без рекламных вставок. 

Также Брэдли Найс советует слушать музыку на сайте Programmersmusic. На нем подбирают плейлисты с треками без вокала и отвлекающих факторов из более чем 8 жанров, чтобы повысить продуктивность и концентрацию разработчика при выполнении задач. 

YouTube-каналы

  • Саундтреки к видеоиграм. Создаются профессиональными композиторами и исполняются лучшими музыкантами и оркестрами. В качестве примера Брэдли Найс предлагает послушать музыку из таких игр как Bastion, Oblivion и The Witcher 3.
  • Саундтреки к фильмам. Также создаются профессионалами в мире музыки. Вот пример расслабляющих мелодий без отвлекающих факторов из таких фильмов как «Храброе сердце», «Интерстеллар», «Последний самурай» и «300 спартанцев».
  • Инструментальный Drum and Bass. Ритмичная быстрая музыка для поддержания продуктивного темпа работы.
  • Инструментальный дабстеп. YouTube-плейлист с хитами для программирования в жанре дабстеп.
  • Chillstep. Позволяет настроиться на рабочую волну.
  • Concentration Programming Music. Еще один плейлист с саундтреками из видеоигр. В него вошла музыка из Deus Ex, Mirrors’ Edge, Half Life, System Shock 2 и других игр (полный список доступен в описании).
  • College Music. Live-канал с расслабляющими ритмами и успокаивающими звуками. Избавляет от стресса и помогает уловить творческий поток. Работает 24/7.

Плейлисты по жанрам 

  • Lo-Fi Beats

  • Jazz in the Background

  • Peaceful Piano

  • Loffi Hip-Hop/Chill-Hop

The post Саундтреки к играм, дабстеп и лоу-фай: музыка для продуктивного программирования first appeared on Highload.today.

from Highload.today https://ift.tt/3vTmXZb
via IFTTT

JVM в Docker контейнере. Сборник диаграмм по управлению памятью

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

Читать далее

from Java – Объектно-ориентированный язык программирования https://ift.tt/3h3x09Q

Pts: модульная библиотека для креативного кодирования

Pts — TypeScript/JavaScript-библиотека для визуализации точек в пространстве и творческого кодирования. Проект разрабатывается под лицензией Apache 2.0 и набрал на GitHub 4,3 тысячи звезд. 

Библиотека написана на языке программирования TypeScript. Содержит алгоритмы для визуализации и творческого кодирования. API поддерживает как быстрое прототипирование, так и работу на крупных проектах. 

Преимущества: 

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

Использование 

Шаг 1 

Загрузите последнюю версию библиотеки pts.js или pts.min.js (находятся в папке dist). В качестве альтернативного способа используйте любую сеть доставки контента CDN, такую как, например, cdnjs, jsdelivr или unpkg. Затем добавьте загруженный файл библиотеки на html-страницу: 

<script type="text/javascript" src="path/to/pts.js"></script>

#Вес мини-файла ~90КБ, сжатого — 26КБ. 

Шаг 2 

Выполните команду npm install pts. Это позволяет импортировать нужные части библиотеки в проект. 

<script type="text/javascript" src="path/to/pts.js"></script>

Чтобы начать работу, загрузите или клонируйте следующие репозитории: 

  • pts-starter-kit: пример приложения, с использованием npm и webpack;
  • pts-react-example: Pts с React;
  • react-pts-canvas: расширение компонента react-pts-canvas в проекте React. 

Для запуска ознакомьтесь с документацией. Демо-проекты можно посмотреть здесь. При возникновении проблемы обращайтесь в поддержку. 

Для разработки 

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

Клонируйте указанный репозиторий и установите зависимости через npm install: 

npm start
npm run build
npm test

Создание документации 

Запустите указанный файл, чтобы сгенерировать документацию в формате Pts. (Требуется Python 3.6)

npm run docs

Для генерации типизированных документов, выполните следующую команду: 

typedoc --readme none --out typedocs src --name Pts

Создайте файлы декларации и минимизации TypeScript: 

npm run typings
npm run minify

The post Pts: модульная библиотека для креативного кодирования first appeared on Highload.today.

from Highload.today https://ift.tt/3nW8xV9
via IFTTT

W3C начал подготовку стандарта WebTransport

Консорциум W3C представил первый черновой вариант спецификации WebTransport, определяющей протокол и сопутствующий JavaScript API для отправки и приёма данных между браузером и сервером. Канал связи организуется поверх HTTP/3 с использованием в качестве транспорта протокола QUIC, который, в свою очередь, представляет собой надстройку над протоколом UDP, поддерживающую мультиплексирование нескольких соединений и обеспечивающую методы шифрования, эквивалентные TLS/SSL.

from OpenNews.opennet.ru: События https://ift.tt/3trNP0z

Браузер Microsoft Edge для Linux достиг уровня бета-версии

Компания Microsoft перевела версию браузера Edge для платформы Linux на стадию бета-тестирования. Edge для Linux теперь будет распространяться через штатный канал разработки и доставки бета-версий, предоставляющий 6-недельный цикл подготовки обновлений. Ранее публиковались еженедельно обновляемые dev- и insider-сборки для разработчиков. Браузер доступен в форме rpm- и deb-пакетов для Ubuntu, Debian, Fedora и openSUSE. Из функциональных улучшений в тестовых выпусках Edge для Linux отмечается появление возможности подключения к учётной записи Microsoft и поддержки синхронизации между устройствами настроек, закладок и истории навигации.

from OpenNews.opennet.ru: Основная лента https://ift.tt/3vIGKua
via IFTTT

Релиз фреймворка Qt 6.1

Компания Qt Company опубликовала релиз фреймворка Qt 6.1, в которой продолжена работа по стабилизации и наращиванию функциональности ветки Qt 6. В Qt 6.1 обеспечена поддержка платформ Windows 10, macOS 10.14+, Linux (Ubuntu 20.04+, CentOS 8.1+, OpenSuSE 15.1+), iOS 13+ и Android (API 23+). Исходные тексты компонентов Qt поставляются под лицензиями LGPLv3 и GPLv2.

source https://www.opennet.ru/opennews/art.shtml?num=55097

По пути Apple: в 2022 году Google будет показывать пользователям Android, какую информацию о них собирают приложения

Приложения, которые не будут соответствовать новым требования, заблокируют.

Google пошла по стопам своего основного конкурента, Apple, озаботившись приватностью пользователей операционной системы Android.

Читать далее

The following blog post По пути Apple: в 2022 году Google будет показывать пользователям Android, какую информацию о них собирают приложения is available on Хабр / Посты с меткой «google»

[Перевод] JAVA преступно недооценена

Точка зрения невежественного студента информатики

Вероятно, вы прочитали заголовок этого поста и подумали: «Что этот парень курит? Java повсюду!» Вы правы, Java по-прежнему доминирует в отрасли и c ее помощью запускаются одни из крупнейших в мире критически важных приложений. Но распространение Java — это не то, о чем я говорю, я говорю о шумихе вокруг нее. Я провожу много времени с неопытными программистами. А что любят делать неопытные программисты? Быть взволнованным и самоуверенным в отношении таких инструментов, как языки программирования. Ни один из студентов CS, с которыми я встречаюсь, не восхищается Java, и я думаю, что так не должно быть.

Молодые/наивные разработчики (включая меня) часто попадают в ловушку фетишизации новых языков и инструментов в ущерб производительности и здравомыслию. До работы в Halp (теперь принадлежащей $TEAM) у меня были почти романтические отношения с серверным TypeScript. Я думал, что экосистема node.js была самой крутой вещью: мне понравилась идея транспилированного кода, отладки в реальном времени, огромной библиотеки пакетов и даже странных и фрагментированных систем сборки. Когда я действительно использовал его в разработке и поговорил с более опытными инженерами, магия быстро исчезла.
Читать дальше →

from Java – Объектно-ориентированный язык программирования https://ift.tt/2QY1uzm

Инфографика дня: Instagram собирает 79% личных данных пользователей

Генеральный директор аналитического сервиса Attack Index Эллина Шнурко-Табакова опубликовала в блоге на Facebook данные компании pCloud о сборе личной информации пользователей iOS по каждому установленному приложению.

Абсолютным лидером рейтинга стал Instagram. Соцсеть собирает и продает 79% личных данных пользователей. В том числе информацию о местоположении, список контактов и историю браузера. На втором месте — Facebook. Соцсеть собирает и продает 57% данных. Замыкает тройку социальная сеть LinkedIn — 50%. 

Среди немногих приложений, которые вообще не собирают данные оказались мессенджер Telegram, социальные сети Signal и Clubhouse, программы для видеозвонков Skype и  Zoom и стриминговая платформа Netflix.



The post Инфографика дня: Instagram собирает 79% личных данных пользователей first appeared on Highload.today.

from Highload.today https://ift.tt/3vDFpVw
via IFTTT

Эксперимент с подъемом в 5 утра: 6 полезных привычек Software Engineer

Вы бы назвали себя самозванцем, если бы у вас были тысячи решенных задач на LeetCode? Сотни вкладов в проекты с открытым исходным кодом? Написанный вами сайт? Десятки прочитанных книг и пройденных курсов по программированию? Созданный вами продукт? Новый выученный язык?

Были бы у вас проблемы на собеседованиях? Стали бы вы жаловаться, что не движетесь в правильном направлении и не развиваетесь на своей должности?

Скорее всего, нет. Потому что все эти достижения в совокупности означают, что вы хороший инженер.

Как этого добиться?

Совсем недавно я прочитал отличную книгу под названием «Атомные привычки». И еще кучу других, таких как «Сила привычки» и «Мини-привычки», так что, врать не стану, я сейчас просто одержим привычками.

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

Итак, вот привычки, которые я хочу развить. По возможности я буду использовать мини-версии этих привычек, чтобы затем их развивать. Позже я оценю, как работают эти мини-привычки, и при необходимости их оптимизирую:

  1. LeetCode каждый день. Как в этом случае будет выглядеть мини-привычка? Надо открыть проблему, которую я еще не решил, прочесть ее и понять, что программа будет иметь на входе и что она должна вернуть. Подумать, какой алгоритм будет использоваться в решении. Если я уже читал эту проблему раньше, то напишу несколько строк псевдокода или просто комментарий о том, как в общем случае должно работать решение. Вот и все, не более того. Это абсолютный минимум, который от меня требуется. Начну с простых задач, а главная цель — никогда не пропускать их. Сейчас я обычно решаю легкую задачу каждый день, но бывают дни, когда мне этого не хочется, поэтому такая мини-привычка будет особенно полезна.
  2. Вклад в проекты с открытым исходным кодом. Я вижу в этом большую ценность, но на это уходит очень много времени. Надо узнать структуру проекта, способ внесения вклада в этот конкретный проект, найти проблему, посмотреть, воспроизводится ли она и нуждается ли в исправлении. Какая здесь мини-привычка? Прочитать 5–10 задач проекта, в котором хотите участвовать. Это можно сделать даже в худший день. И RSS мне поможет.
  3. Написание блога. Я люблю писать. Так что 50 слов в день должны стать хорошей мини-привычкой.
  4. Rust. Мое требование здесь — писать по строчке кода каждый день. Звучит глупо, но в этом весь смысл: чтобы написать одну строчку кода, нужно запустить редактор, подумать о том, что хочешь написать, и написать это. Конечно, я не собираюсь писать всего одну строчку кода в обычный день, но могу ли я пропустить эту одну строчку? Ни за что. Оправдания этому нет.
  5. Техническая книга или курс на Coursera. Мини-привычка: посмотреть одно видео на Coursera, прочитать одну-две страницы книги или просмотреть задачу / упражнение, как на LeetCode.
  6. 5 утра. У этой привычки мини-версии нет — просто вставать каждый день в 5 утра и не сдаваться.

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

Почему важны 5 утра? Задача в том, чтобы уже утром выполнить три-пять привычек. День только начался, а вы уже рассмотрели проблемы на LeetCode, написали 50 строк в блоге и решили задачи в проектах с открытым исходным кодом, — кто вас остановит?

Вот мое расписание на нулевой день, то есть 31 марта.

  • 5:00. Подъем.
  • 5:00-5:15. Приготовление кофе.
  • 5:15-5:45. Разбор задач на AIOHTTP и FastAPI.
  • 5:45-6:45. Написание этого текста в блоге.
  • 6:45-7:45. LeetCode.
  • 8:00-11:00. Сессия Deep Work.
  • 11:00-12:30. Физические упражнения.
  • 12:30-13:00. Холодный душ.
  • 13:00-16:00. Низкокогнитивная работа, в основном куча встреч, ответы в Jira, очень простой код.
  • 16:00-17:00. Coursera (курс по структуре данных).
  • 17:00-18:00. Написание собственного сайта на Rust.

Четыре из шести привычек, которые я хочу развить, были выполнены до 8 утра!

С апреля я развернул эту SOP (стандартную операционную процедуру) в полном объеме. Если интересно, за прогрессом можно следить в моем блоге. Там же доступен и оригинал этой статьи.

The post Эксперимент с подъемом в 5 утра: 6 полезных привычек Software Engineer first appeared on Highload.today.

from Highload.today https://ift.tt/3tj3U8U
via IFTTT

8 качеств, которые айтишники ненавидят в коллегах: как бороться с токсичностью в коллективе

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

Журналистка Highload пообщалась с айтишниками в возрасте от 22 до 33 лет разных специализаций, среди которых — iOS- и фронтенд-разработчики, разработчики различного ПО, проджект-менеджеры и QA-инженеры. С их слов создан портрет самого ненавистного коллеги, для которого заготовлен отдельный котел в аду.

1. Любит поболтать с коллегами в кабинете

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

2. Шуршит фольгой от шоколадки или пакетом от чипсов, громко прихлебывая чай

Фоновый шум в кабинете временами становится невыносимым и мешает всем сосредоточиться. Ну, ничего страшного.

3. Не моет за собой чашки

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

4. Любит открыть окно и пустить прохладный сквознячок

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

5. Заглядывает в чужие мониторы

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

6. Постоянно опаздывает на работу

При этом в конце рабочего дня никогда не задерживается.

7. Очень эмоционально реагирует на неудачи

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

8. Повышает свою самооценку, публично принижая достоинства коллег

Но не собственными достижениями.

Откуда берется токсичность

Как объясняет Communications Consultant CNA International IT Татьяна Дробахина, большинство этих раздражителей — проявление токсичной культуры«Токсичное поведение в коллективе — основной фактор, который толкает людей к смене места работы. Это относится к токсичности и со стороны коллег, и со стороны руководства. Появление даже одного “токсичного” сотрудника может выбить мини-команду из рабочего настроения», — говорит Татьяна.

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

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

Как борются с токсичностью в IT

По словам управляющего партнера CNA International IT Таисии Млюзан, такие раздражающие факторы, как пренебрежение к гигиене — неопрятный вид и запах от человека, смущающий окружающих, склады грязной посуды, — обычно устраняются с помощью корпоративных правил. С токсичным поведением сложнее: если его не удалось выявить в человеке на этапе отбора на работу, то дальше с этим может справиться грамотный HR-менеджер.

«После отбора менеджеры проводят прямой онбординг (вовлечение и удержание сотрудника — прим.), оповещают о прописанных правилах работы в компании, в том числе в выходные и праздники, о политике овертайма, чтобы впоследствии избежать недовольства. Очаги токсичного поведения нужно вовремя идентифицировать и “потушить”. Это задача менеджеров и HR-менеджера, которые мониторят ситуацию, проводят опросы, а также коучей-психологов, которых последнее время стали часто внедрять в штат. С человеком проводят беседу, отправляют отпуск, если необходимо, или применяют какое-то наказание, вплоть до увольнения. Ведь раздражительность и противостояния в коллективе к продуктивности точно не ведут», — рассказала Таисия Млюзан.

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

The post 8 качеств, которые айтишники ненавидят в коллегах: как бороться с токсичностью в коллективе first appeared on Highload.today.

from Highload.today https://ift.tt/3eoKyLq
via IFTTT

Экстремальный спорт и видеоигры: способы поддержания ментального здоровья от сооснователя Grammarly Максима Литвина и других разработчиков

Предприниматель и создатель платформы для управления соцсетями Hootsuite Райан Холмс обратился к пользователям Twitter с просьбой рассказать о привычках для поддержания психического здоровья. Мы собрали для вас самые интересные ответы пользователей. 

Сам Райан Холмс с недавних пор предпочитает катание на горном велосипеде. Быстрая езда по бездорожью позволяет забыть о повседневных проблемах и сконцентрироваться на безопасности процесса. 

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

Максим Литвин, сооснователь онлайн-сервиса для проверки английских текстов Grammarly, советует сделать перерыв сразу, как только задач становится слишком много. При этом маловажные вещи уходят на второй план, что позволяет сосредоточиться на важном. Также разработчик катается на горном велосипеде, лыжах и занимается автоспортом — любым видом деятельности, требующим 100% концентрации, чтобы выжить.

Рой Перейра, создатель программного обеспечения (ПО) для интеллектуального планирования современного бизнеса CalendarHero, советует: 

  • Прекращать работу сразу после достижения пика ментальных возможностей. Отправляйтесь на прогулку, поговорите с друзьями, поспите, что-нибудь почитайте, и, главное — не вините себя за безделье.
  • Не бодрствовать по ночам в поисках решения повседневных задач;
  • Не принимать решения посреди хаоса и шума. Сначала найдите для этого тихое место и успокойтесь. 

Сооснователь и CEO консалтингового агентства помощи компаниям-разработчикам в оптимизации ПО Service Socket по имени  Роб Кастанеда выбрал для поддержания ментального здоровья более спокойный вид спорта, поэтому советует плавать в открытом бассейне. 

Full-stack-разработчик Нима Овджи предпочитает отвлекаться от повседневных задач за видеоиграми. Среди прочих он советует Fortnite, которую ценит за задумку и простоту графики. 

Кирк Симпсон, соучредитель и генеральный директор компании по производству ПО для малого бизнеса Wave, заканчивает свой рабочий день тем, что укладывает своих троих детей спать, а затем старается объективно посмотреть на прошедшие события.

The post Экстремальный спорт и видеоигры: способы поддержания ментального здоровья от сооснователя Grammarly Максима Литвина и других разработчиков first appeared on Highload.today.

from Highload.today https://ift.tt/3b8b21t
via IFTTT

Главные фреймворки и библиотеки JavaScript в 2021 году

Команда консультационной группы по разработке программного обеспечения (ПО) Codica опубликовала в блоге на medium.com список наиболее важных, по их мнению, библиотек и расширений JavaScript, на которые стоит обратить внимание в 2021 году.

Фронтенд-фреймворки

  • Next.js. Фреймворк продвинутого уровня, созданный поверх библиотеки React, чтобы упростить процесс предварительной визуализации. Позволяет создавать приложения как со страницами, отображаемыми на сервере, так и со статически сгенерированными страницами.
  • Nuxt.js. Фреймворк, который разработчики используют для создания приложений, интегрированных как во внешнюю, так и в серверную части. Можно использовать для создания статических HTML-страниц.
  • Gatsby. Генератор статических сайтов для создания веб-сайтов электронной коммерции, целевых страниц, прогрессивных веб-приложений. Использует язык запросов и манипуляций с данными GraphQL.
  • VuePress. Многофункциональный инструмент для создания одностраничных приложений на базе Vue. Интегрируется с любой существующей библиотекой JavaScript. Все страницы, созданные с помощью VuePress, имеют соответствующий предварительно обработанный статический HTML-код, который обеспечивает более быструю начальную загрузку.

Бэкенд-фреймворки 

  • Nest.js. Фреймворк с открытым исходным кодом для создания масштабируемых веб-приложений на Node.js. Построен на TypeScript, но также сохраняет совместимость с прогрессивным JavaScript. Архитектура фреймворка базируется на надежности кода и модульности.
  • Express.js. Платформа Node.js, ускоряющая процесс разработки серверного API. Разработана, чтобы упростить добавление таких функций, как базовая маршрутизация, конфигурация промежуточного ПО и механизм шаблонов.
  • Fastify. Альтернатива Express.js с меньшими расходами на инфраструктуру. Предлагает набор декораторов TypeScript в инкапсулированных контекстах, чтобы облегчить повторное использования и разделение кода.

Библиотеки 

  • LitElement. Библиотека для создания легких веб-компонентов. Использует подход к созданию шаблонов для веб-приложений lit-html для асинхронного рендеринга.
  • Data-fns. Альтернатива библиотеки Moment.js. Предоставляет набор инструментов для синтаксического анализа, обработки и форматирования данных JavaScript.
  • RxJS. Библиотека реактивных расширений для создания асинхронных и событийных программ с использованием наблюдаемых потоков.
  • Yup. Конструктор схем для моделирования сложных и взаимозависимых проверок, использующий преимущества проектирования приложений на основе типов.
  • Agenda.js. Облегченная библиотека планирования заданий в Node.js на базе документоориентированной системы управления базами данных MongoDB.
  • Bull. Node-библиотека. Обеспечивает быструю и надежную очередь на основе базы данных Redis. Библиотека написана на TypeScript, но может использоваться в фреймворке Vanilla JavaScript.
  • Commander.js. Библиотека интерфейса командной строки для создания интерфейсов командной строки в Node.js. Используется для анализа входящего сообщения на предмет команд и аргументов.
  • Stocket.io. Библиотека для веб-приложений и обмена данными в реальном времени, обеспечивающая двунаправленную связь между веб-клиентами. Поддерживает мультиплексирование, разделение имен сообщений и обнаружение разъединения.

The post Главные фреймворки и библиотеки JavaScript в 2021 году first appeared on Highload.today.

from Highload.today https://ift.tt/3esRgA9
via IFTTT

Разработчики ядра Linux завершили аудит всех патчей от Университета Миннесоты

Технический совет организации Linux Foundation опубликовал сводный отчёт с разбором инцидента с исследователями из Университета Миннесоты, связанного с попыткой продвижения в ядро патчей, содержащих скрытые ошибки, приводящие к уязвимостям. Разработчики ядра подтвердили ранее опубликованную информацию о том, что из 5 патчей, подготовленных в ходе исследования “Hypocrite Commits”, 4 патча с уязвимостями были сразу отвергнуты мэйнтейнерами на стадии рецензирования и не попали в репозиторий ядра. Один патч был принят, но он корректно исправлял проблему и не содержал ошибок.

from OpenNews.opennet.ru: События https://ift.tt/3nSfoPr

Back to Top