Получи случайную криптовалюту за регистрацию!

How To IT

Логотип телеграм канала @howto_it — How To IT H
Логотип телеграм канала @howto_it — How To IT
Адрес канала: @howto_it
Категории: Технологии
Язык: Русский
Количество подписчиков: 2.88K
Описание канала:

Твой путеводитель в мир IT
По вопросам: @EKorjikov
Прайс: https://telega.in/c/HowTo_IT

Рейтинги и Отзывы

3.00

2 отзыва

Оценить канал howto_it и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

0

4 звезд

1

3 звезд

0

2 звезд

1

1 звезд

0


Последние сообщения 3

2021-09-21 16:05:02Инструменты, которыми пользуются Java-программисты в повседневной работе

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

IntelliJ IDEA

IntelliJ IDEA — это основная IDE (Integrated Development Environment), которая используется Java-программистами для написания, запуска и отладки кода. В ней реализована отличная поддержка популярных фреймворков (Spring, Micronaut) и есть огромное количество плагинов, облегчающих разработку.

Хранилища данных

Редко какое backend-приложение может обойтись без базы данных. На каждом проекте она может быть своей — SQL (PostgreSQL, Oracle), NoSQL (MongoDB, Apache Cassandra) — или комбинацией из нескольких БД. Сюда же можно отнести очереди сообщений (Apache Kafka, RabbitMQ) и кэш (Redis, Hazelcast, Apache Ignite).

Docker

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

Kubectl

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

Jenkins / Teamcity

Jenkins и Teamcity — это
инструменты создания CI/CD-конвейера для автоматического тестирования и развёртывания новых версий приложений. Как правило, в компании используется один из этих двух инструментов.
С помощью таких конвейеров можно, например, запускать прогоны тестов сразу после коммита, разворачивать новую версию приложения в окружении разработки, если все тесты прошли успешно, или отправить Slack-ботом сообщение в чат, если какие-то тесты упали.

Grafana + Prometheus

Это самые популярные средства мониторинга:
• Prometheus — это key-value-хранилище, в которое складируют все метрики приложений и баз данных.
• Grafana — средство визуализации метрик, в котором строят графики загрузки CPU, потребления RAM и многого другого, что помогает разобраться в проблемах приложений при аномальной нагрузке или, например, неожиданных перезапусках.

ELK (Elasticsearch + Logstash + Kibana)

Для хранения и просмотра логов редко в каких компаниях изобретают свои велосипеды. Стандартом де-факто сейчас является ELK-стек:
• Logstash — средство для парсинга логов приложений и отправки их в Elasticsearch (для Kubernetes вместо Logstash может использоваться Fluentd).
• Elasticsearch — база данных с богатой функциональностью по построению индексов полнотекстового поиска.
• Kibana — средство визуализации логов и метрик, использующаяся, как правило, для поиска по логам.

Заключение

Не все из этих инструментов требуется понимать глубоко. Как правило, базы данных, Kubernetes, Jenkins/Teamcity, Grafana + Prometheus и ELK администрируются DevOps-специалистами. Тем не менее, любой Senior Java Engineer должен владеть ими хотя бы на уровне пользователя, чтобы быстро найти проблему, случившуюся в production- или staging-окружении.

#совет #JavaScript
514 views13:05
Открыть/Комментировать
2021-09-20 17:10:119 отличных сервисов для проверки кода. Часть 1

Работу программиста можно оценивать по многим критериям, но главные – это, наверно, чистота кода и его качество. Мы рассмотрим 9 сервисов для проверки кода.

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

Основной функционал:
• Интеграция с крупнейшими веб-сервисами для хостинга проектов Github и Bitbucket.
• Pull request'ы без необходимости переключаться между дашбордами для избежания путаницы.
• Анализ каждой ветки на наличие уязвимостей.
• Умная маркировка ошибок и проблемных мест.
• Демонстрация критических уязвимостей до слияния веток.

Collaborator
Данная система относится к одним из самых продвинутых инструментов рецензирования кода. Подходит и отдельным разработчикам, и тем, кто работает в команде.

Основной функционал:
• Контролирование внесенных в код изменений, обнаружение проблем и написание комментариев.
• Разработка правил и создание уведомлений, основанных на этих правилах.
• Наличие кастомных полей, контрольных списков и группы участников.
• Персонализированные отчеты.
• Интеграция с одиннадцатью различными средами, включая Visual Studio.

Codestriker
Достаточно неплохой ревью-инструмент с открытым исходным кодом. Дает возможность быстро отыскивать проблемы и повышать качество кода.

Основной функционал:
• Фиксирование обнаруженных проблем и решений (с комментариями) в БД. В дальнейшем к базе можно возвратиться и просмотреть все внесенные изменения.
• Совместимость с системами ClearCase, Bugzilla и др.

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

Основной функционал:
• Совместимость с Git.
• Возможность настроить иерархию кода.
• Создание комментариев для внесенных изменений.
• Система голосований о правках.

Crucible
Приложение, которое в онлайн-режиме позволяет делать ревью кода, находить проблемы, обсуждать изменения в каждой отдельной ветке, осуществлять шеринг данных и пр. Это платный сервис с двумя версиями: для маленьких команд и крупных корпораций. Первая стоит 10 долларов и предоставляет безлимитные репозитории на пятерых пользователей. Стоимость корпоративной версии составляет 1100 долларов и включает безлимитный репозиторий на десятерых пользователей. Существует также демо-доступ – он дается на 30 суток.

Основной функционал:
• Взаимодействие как нескольких программистов, так и многочисленных групп разработчиков.
• Возможность ревизии кода как до правок, так и после них.
• Интегрирование с Subversion, P4 и CVS.

#совет #кодинг
586 views14:10
Открыть/Комментировать
2021-09-20 12:10:22Какой язык программирования выбрать для изучения?

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

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

Определитесь с целями 
Перед тем, как совершить любой важный шаг, нужно определиться с целями. К какому конечному результату вы хотите прийти? Почему вам нужно изучить новый ЯП? Каким образом планируете расширять свои знания: вертикально или горизонтально?

Вход в другую область — это расширение навыков по горизонтали. Как, например, если frontend-разработчик желает стать Full Stack специалистом. Или если вы с Java решили перейти на Python. В таких случаях путь обучения придется начинать с самого начального уровня.

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

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

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

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

Чтобы не попасть в такую ситуацию и не потратить время и усилия зря, обязательно мониторьте рынок. В первую очередь советуем обратить внимание на эти важнейшие ресурсы:

1. Индекс TIOBE
Индекс TIOBE показывает, насколько увеличилась или уменьшилась популярность ЯП по сравнению с тем же периодом предыдущего года. 

2. GitHub Octoverse
В этом годовом отчете подводятся итоги самых важных тенденций портала GitHub. Он дает очень много полезной информации:
• популярность ЯП;
• рейтинг быстроразвивающихся языков;
• самые качественные и интересные open-source программы;
• лидирующие по активности организации;
• самые часто используемые теги;
• быстрорастущие темы;
• прочее.

3. Stack Overflow
Нельзя не упомянуть и о Stack Overflow Insights, где можно найти массу классных подсказок, какой язык программирования выбрать для изучения. Первым делом изучите Ежегодный опрос разработчиков. Там есть практически все, что необходимо знать про отрасль.

4. Google Trends
Инструмент способен помочь вам в выборе ЯП тремя способами.

5. Сайты с ИТ-вакансиями
Такие ресурсы полезны не только в процессе поиска работы.Они также отлично демонстрируют отраслевые тенденции. Если вас интересует разработка облачного ПО, вы можете просмотреть связанные вакансии и точно узнать, какие ЯП, инструменты и навыки нужно освоить, чтобы подходить под запросы работодателей.

Можно сказать, что всё напрямую зависит от ваших текущих навыков и желаний. Поэтому, только проанализировав всё вы сможете выбрать точно то, чем будете заниматься :)

#совет
564 views09:10
Открыть/Комментировать
2021-09-18 23:10:05Подборка ресурсов с примерами кода на разных языках

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

Java

На Java Examples можно найти примеры на любой случай — от использования ключевых слов, вроде final, до объяснения, как выровнять иконку в Swing.

C#

Сайт для шарпистов С# Example вышел несколько более бедным, чем посвященный Java. Здесь вы не найдёте всех примеров, которые вам могут понадобиться, но можете найти что-то специфическое, например, как совместить несколько PrintDocument’ов.

JavaScript

Отдельный раздел JavaScript Book построен в форме самоучителя. Всего есть 13 тем, например: API, Error handling, jQuery, Events. Каждый из них содержит около десяти примеров. Правда, есть весомый минус — код выдаётся в виде текстового файла, без подсветки.

Haskell

Отличный способ изучить основы Haskell — ознакомиться с содержимым сайта Haskell By Examples. Здесь коротко описаны все базовые возможности языка, а примеры снабжены ссылками на Haskell Wiki.

Ruby

Существует и аналогичный ресурс по Ruby.

C++

Наверное, самый приятный сайт из этой подборки — это Cpp Examples. Красивый дизайн, подсветка кода, разнообразные сэмплы. Есть, несколько посвящённых паттернам, например, Observer или Builder.

PHP

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

#инструменты #совет #кодинг
747 views20:10
Открыть/Комментировать
2021-09-18 16:40:369 топовых фреймворков AngularJS в 2021 году

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

1. Vue
Эван Ю. Фреймворк выпустил Vue в 2014 году. На сегодняшний день это один из самых известных фреймворков и практически незаменимый инструмент для программирования клиентской стороны, потому что позволяет значительно улучшить пользовательский интерфейс. Наибольшее удобство Vue заключается в том, что он обладает уплотненной структурой и может обрабатывать программы любого размера. 

2. React
React активно используют крупнейшие мировые компании. Особенно сильно своей популярностью он обязан своему известному разработчику — Facebook. Кроссплатформенность React делает его отличным шаблоном. С этим инструментом можно кардинально менять интерфейс пользователя. А еще написанный в нем код вы сможете применять повторно сколько угодно раз. 

3. AngularUI Bootstrap
Из названия ясно, что данный фреймворк создан на базе Bootstrap. Кроме основных характеристик Bootstrap, он также оснащен функцией HTML-кодирования. Обратите внимание, что AngularUI Bootstrap работает только на AngularJS, хотя Bootstrap совместим только с jQuery.

4. Ionic
Ищите фреймворк для улучшения масштабируемости кода? Вот же он — Ionic! Этот инструмент прекрасно взаимодействует с AngularJS в плане создания качественных гибридных приложений. Благодаря поддержке всех кодов (JS, HTML и CSS) он очень популярен среди веб-разработчиков. Главный плюс Ionic в том, что им можно пользоваться вместе с платформами, предназначенными для веб-приложений, чтобы из сайта создать мобильное приложение.

5. Mobile Angular UI
Прекрасный выбор для создателей мобильных приложений, т.к. он специализируется именно на этом. С Mobile Angular UI можно разрабатывать мобильные приложения как для Android, так и для iOS. Кроме того, здесь есть поддержка гибридных приложений, что помогает значительно экономить время. 

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

7. Radian of Angular
Обыкновенный текст часто выглядит скучным. Чтобы приложение стало более интересным, можно воспользоваться Radian и добавить с его помощью в свой проект несколько иллюстраций-диаграмм. Этот фреймворк позволяет достичь потрясающего визуального эффекта. К тому же он бесплатный и отлично совместим с HTML-файлами. Кроме того, для создания необходимых графиков можно использовать библиотеку JS.

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

9. Protractor
Рано или поздно работа с кодом завершается. И тогда, стоя на финишной черте, разработчик обязан протестировать собственное творение перед тем, как демонстрировать его заказчику. Для того, чтобы убедиться в корректной работе своего приложения, можно проверить его на Protractor. Данная Angular-платформа функционирует очень эффективно и готова помочь вам с созданием приложений и на клиентской стороне, и на стороне сервера.

#совет #вебразработка
757 views13:40
Открыть/Комментировать
2021-09-16 14:40:00Стек технологий для Python

Pip
Установщик пакетов для Python. Вы можете использовать pip для установки пакетов из индекса пакетов Python и других индексов.
Категория: установка зависимостей.
Применение: используется для удобной установки библиотек, фреймворков и управления дополнительными пакетами.

Virtual environment (venv)
Модуль venv обеспечивает поддержку для создания облегчённых «виртуальных сред» с собственными каталогами сайтов, которые могут быть изолированы от системных каталогов сайтов. Каждая виртуальная среда имеет собственный двоичный файл Python (соответствующий версии двоичного файла, который использовался для создания этой среды) и может иметь собственный независимый набор установленных пакетов Python в своих каталогах сайта.
Категория: виртуальные окружения, работа с зависимостями.
Применение: позволяет удобно работать с разными версиями библиотек, фреймворков, а также различными версиями Python. Своё виртуальное окружение под каждый проект используется априори.

PEP8 и autopep8
Pep8 — соглашения о кодировании для кода Python, составляющего стандартную библиотеку в основном дистрибутиве Python.
Autopep8 — автоматически форматирует код Python в соответствии с руководством по стилю PEP 8.
Категория: форматирование кода.
Применение: используется повсеместно для правильного оформления кода и повышения читаемости и соблюдения всех требований.

Flake8
Популярный линтер для проверки кода.
Категория: форматирование кода.
Применение: как и большинство линтеров, не помешает любому проекту как утилита, проверяющая единый стиль написания кода.

Bandit
Инструмент, предназначенный для поиска распространённых проблем безопасности в коде Python. Для этого Bandit обрабатывает каждый файл, строит из него AST и запускает соответствующие плагины на узлах AST. Как только Bandit завершит сканирование всех файлов, он генерирует отчет.
Категория: безопасность, проверка кода.
Применение: применяется в основном в продакшен-проектах для отслеживания небезопасного кода.

REPL Python (Ipython, bpython, ptpython)
Интерактивный шелл (консоль), позволяет писать код построчно.
Категория: интерактивный шелл.
Применение: позволяет быстро проверить написанную функцию в новой среде или без написания файла выполнить несколько функций, например, скачать файл или выполнить несложные вычисления.

Typing
Библиотека типизации, хоть и среда выполнения Python не применяет аннотации типов функций и переменных. Они могут использоваться сторонними инструментами, такими как средства проверки типов, IDE, линтеры и т. д.
Категория: типизация.
Применение: также используется для повышения понимания кода, особенно для функций. Можно указать как типы принимаемых параметров функцией, так и возвращаемый тип данных.

#совет #python
655 views11:40
Открыть/Комментировать
2021-09-15 12:30:01Как улучшить изображение нейросетью: лучшие сервисы

Zyro AI Image Upscaler
Полностью бесплатный сервис компании Zyro позволяет обрабатывать фотографии с помощью глубоких свёрточных нейросетей. Сайт не разрешает самому выбрать настройки улучшения изображения и увеличивает качество в автоматическом режиме в два раза.

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

Let’s Enhance
Онлайн-сервис улучшает качество фотографий до 16 раз с помощью технологий искусственного интеллекта. При обработке изображений Let’s Enhance корректирует их цвет и тон, а также убирает шумы. На сайт можно загрузить сразу несколько изображений и запустить их одновременную обработку

AI Image Enlarger
Сайт предоставляет пользователям шесть онлайн-инструментов на основе ИИ:
- для улучшения качества до восьми раз;
- повышения резкости;
- удаления шумов;
- улучшения цвета и контрастности;
- ретуши лиц;
- удаления фона

В бесплатной версии AI Image Enlarger позволяет обработать до восьми изображений в месяц. Премиальная подписка стоит $9, корпоративный пакет — $19.

Deep Image
Онлайн-сервис, в котором можно обработать сразу несколько изображений одновременно. В бесплатной версии сайт позволяет улучшить качество пяти снимков до четырёх раз. Ежемесячная подписка на обработку 100 изображений обойдётся пользователю в $9, на 500 и 1000 — в $39 и $69 соответственно

Upscale Pics
Этот онлайн-сервис позволяет бесплатно увеличивать снимки до восьми раз, убирать шум с фотографий и сжимать изображения. При оплате подписки Upscale Pics разрешает пользователю загружать сразу несколько файлов для обработки и улучшать разрешение до 20000 x 20000 px.
Подписка стоит $10 в месяц или $60 в год

Topaz Gigapixel AI
Сервис для обработки изображений с помощью технологий искусственного интеллекта, который может работать как отдельная программа или плагин для Adobe Photoshop. В основе сервиса лежат нейронные сети, обученные на «миллионах изображений» разных видов — от пейзажей и портретов до архитектуры. Gigapixel AI стоит $99,99, на сайте можно ознакомиться с бесплатной демо-версией перед покупкой

#совет #нейросети #инструменты
563 views09:30
Открыть/Комментировать
2021-09-15 10:30:59
The Codeby представляет

Курс «SQL-injection Master»

Старт курса 25 сентября

За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

Подробнее: https://school.codeby.net/lms/courses/76-sql-injection-master.html

#sqlinj #codeby
529 views07:30
Открыть/Комментировать
2021-09-14 13:40:01Лучшие инструменты для веб-разработчиков

Ловите 10 полезностей, если занимаетесь веб-разработкой

1. GitHub Copilot
Данный инструмент использует технологию искусственного интеллекта для помощи тем, кто работает с VS Code. Сейчас он функционирует только в тестовом режиме, поэтому, чтобы начать им пользоваться, нужно стать в очередь. Однако и на текущем этапе понятно, что Copilot вполне может стать сенсационной технологией.

2. Meta Tags
Сгенерирует мета-теги для вашего сайта и поможет их отредактировать. Также дает возможность увидеть, как превью портала будет отображаться на разных платформах: в Google, Facebook и др.

3. Glitch
Платформа для fullstack-разработчиков, которая позволяет реализовывать быстрые web-приложения непосредственно в браузере. Преимущества Glitch еще и в том, что она интуитивно понятна и предоставляется бесплатно.

4. Omatsuri
Web-приложение с открытым исходным кодом, которое содержит 12 функций, решающих самые распространенные задачи разработчика. Сейчас в нем, помимо всего остального, есть генератор цветов, градиентов, фейковых данных и компрессор SVG-файлов.

5. Devtool Tips
Собрание разноплановых советов по работе с DevTools.

6. Jamstack Explorers
Это образовательная платформа, ориентированная на технологии Jamstack («J» — JavaScript, «A» — API, «M» — markup). Сейчас на ней есть 9 курсов со следующими темами: Next.js, Angular, Serverless-вычисления и пр.

7. Happy Hues
Невероятно красивая подборка цветовых палитр. Просматривайте сочетания, выбирайте понравившиеся и смело используйте их в своих проектах!

8. Error404
Обширная коллекция забавных, красивых и уникальных картинок для страниц с ошибкой 404. Посмотреть на них в действии можно на сайте villivald.com.

9. Contraste
Простое приложение для macOS, проверяющее доступность текста. Оно позволяет выяснить, не противоречит ли текст стандартам WCAG.

10. What The Filter?
Данная платформа предназначена для визуализации использования массивов и JS-объектов.

#совет #вебразработка #инструменты
489 views10:40
Открыть/Комментировать
2021-09-14 11:10:04
- Как меняется бизнес в 2021 году?
- Что происходит на рынке онлайн-торговли?
- Какие новые тренды появляются в поиске работы?
- Как изменилась структура экономики России?

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

Перейти в DataSnacks
504 views08:10
Открыть/Комментировать