Как стать автором
Обновить
-4
@LyohaProtoread⁠-⁠only

Пользователь

Отправить сообщение

Бесплатные варианты лицензирования PVS-Studio

Время на прочтение4 мин
Количество просмотров11K

PVS-Studio Free

Существует несколько вариантов бесплатного лицензирования статического анализатора кода PVS-Studio, предназначенного для поиска ошибок и потенциальных уязвимостей. Бесплатной лицензией могут воспользоваться открытые проекты, маленькие закрытые проекты, публичные специалисты по безопасности и обладатели статуса Microsoft MVP. В статье кратко рассматривается каждый из этих вариантов.

PVS-Studio — это инструмент для выявления ошибок и потенциальных уязвимостей в исходном коде программ, написанных на языках С, C++, C# и Java. Работает в среде Windows, Linux и macOS.
Читать дальше →

Изучаем Docker, часть 1: основы

Время на прочтение6 мин
Количество просмотров707K
Технологии контейнеризации приложений нашли широкое применение в сферах разработки ПО и анализа данных. Эти технологии помогают сделать приложения более безопасными, облегчают их развёртывание и улучшают возможности по их масштабированию. Рост и развитие технологий контейнеризации можно считать одним из важнейших трендов современности.

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

Часть 1: основы
Часть 2: термины и концепции
Часть 3: файлы Dockerfile
Часть 4: уменьшение размеров образов и ускорение их сборки
Часть 5: команды
Часть 6: работа с данными

image

Если вы пока не знаете о том, что такое Docker, сейчас у вас есть шанс сделать первый шаг к пониманию этой платформы. А именно, освоив этот материал, вы разберётесь с основами Docker и попутно приготовите пиццу.
Читать дальше →

Введение в аннотации типов Python

Время на прочтение6 мин
Количество просмотров322K

Введение



Автор иллюстрации — Magdalena Tomczyk


Вторая часть


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


Сохраняя идею динамической утиной типизации в современных версиях Python (3.6+) поддерживает аннотации типов переменных, полей класса, аргументов и возвращаемых значений функций:



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


Меня зовут Тихонов Андрей и я занимаюсь backend-разработкой в Lamoda.


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

Читать дальше →

Invidious — альтернативный YouTube-фронтенд

Время на прочтение3 мин
Количество просмотров73K

«Invidious» — это веб-фронтенд (грубо говоря, веб-клиент) для сайта YouTube. Код проекта написан на языке программирования Crystal, использует СУБД PostgreSQL и распространяется под свободной лицензией AGPLv3+.

Читать дальше →

Где покупать радиодетали? Часть II: зарубежные магазины

Время на прочтение5 мин
Количество просмотров91K
Продолжение поста про интернет-магазины электронных компонентов, инструментов и прочих ардуин.


Читать дальше →

За последние 12 лет я ни разу не показал резюме

Время на прочтение3 мин
Количество просмотров77K


В группах Facebook для начинающих программистов часто спрашивают, как улучшить резюме, чтобы легче получить работу. За свою 12-летнюю карьеру я прошёл путь от джуниора до технического директора — и резюме ни разу мне не пригодилось. Не то, чтобы я не пытался. Просто у меня его ни разу не спрашивали.

Я работал в четырёх компаниях, а пару месяцев назад создал пятую самостоятельно (Bootstrap Shuffle). Расскажу секрет. Он даст вам значительное преимущество перед другими кандидатами, а рекрутёры меня возненавидят!
Читать дальше →

Как были устроены паровозы

Время на прочтение6 мин
Количество просмотров54K


Так выглядит кабина паровоза «Серго Орджоникидзе» (это СО17-1137). Множество трубок сверху — это пароразборная колонка, к каждому потребителю отходит своя труба. А потребителей в уже достаточно зрелом технически паровозе много: две паровые машины слева и справа для движения колёс, свисток, механический углеподатчик, инжекторы для закачки воды, электрический генератор для освещения, насос для воздушной магистрали и так далее.

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

Нейросеть научили дорисовывать на фото людей недостающие детали

Время на прочтение1 мин
Количество просмотров18K


Проекты, основа которых — нейросети, не редкость. Они появляются каждый день. Кто-то сортирует огурцы, кто-то рисует картины или сочиняет тексты фейковых новостей, ну а кто-то восстанавливает недостающие детали на фотографиях людей.

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

Я просканировал всю Австрию и нашёл…

Время на прочтение3 мин
Количество просмотров28K

...IP-камеры, принтеры, АСУ ТП и многое другое


Отказ от ответственности: статья — результат нескольких недель работы. О самых больших проблемах я сообщил владельцам серверов, если смог их найти, а о других — в Cert.at. Кроме того, я не пытался войти ни на какое устройство/сервис/сайт, требующие пароль.

Прежде всего: как получить все IP-адреса целой страны?

Это очень просто. IP-адреса не «генерируются» страной, а назначаются центральным органом. Это означает, что существуют списки всех IP-адресов по странам.

Любой желающий может скачать такой список. Введите grep Austria IP2LOCATION-LITE-DB1.CSV > austria.csv и запустите простой скрипт для преобразования IP-адресов в удобный формат.
Читать дальше →

Изучаем Docker, часть 4: уменьшение размеров образов и ускорение их сборки

Время на прочтение8 мин
Количество просмотров168K
В этой части перевода серии материалов, которая посвящена Docker, мы поговорим о том, как оптимизировать размеры образов и ускорить их сборку. В прошлых материалах мы сравнивали образы Docker с пиццей, термины с пончиками, а инструкции файлов Dockerfile с бубликами. Сегодня же не будет никакой выпечки. Пришло время посидеть на диете.

Часть 1: основы
Часть 2: термины и концепции
Часть 3: файлы Dockerfile
Часть 4: уменьшение размеров образов и ускорение их сборки
Часть 5: команды
Часть 6: работа с данными


Для того чтобы разобраться с тем, о чём мы будем тут говорить, вам будет полезно освежить в памяти то, о чём шла речь в третьей части этой серии материалов. А именно, там мы говорили об инструкциях файлов Dockerfile. Знание этих инструкций и тех особенностей Docker, которые мы обсудим сегодня, поможет вам оптимизировать файлы образов Docker.
Читать дальше →

Знакомство с простейшей нейронной сетью и ее пошаговая реализация

Время на прочтение5 мин
Количество просмотров42K
Однажды я наткнулся на книгу под названием «Создай свою нейросеть», под авторством Тарика Рашида. В отличие от многих других книг по нейронным сетям, в этой все подавалось простым языком, c достаточным количеством примеров и советов

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

image
Читать дальше →
Облаками можно любоваться вечность — смотреть, как разворачиваются инстансы, как скачет загрузка dashboard'a, а ping идёт десятки миллисекунд. Вот только создать свое облако — дело сложное. Нужно не только собирать сервера, но и продумать расположение в ЦОД, подключить к сети и учесть много других мелочей, которые обеспечивают комфортный полет в облаках. Мы сделали тест, для того чтобы вы могли проверить свои знания изнанки облачных технологий. Волшебства и розовых пони тут нет, только суровое серверное железо. Поехали!
Пройти

Scrum vs Kanban: в чем разница и что выбрать?

Время на прочтение7 мин
Количество просмотров333K
Когда существуют варианты – важно не ошибиться и изучить все детали и возможности, чтобы остановиться на лучшем. Выбирать между методами управления разработкой не всегда просто, особенно если это Scrum и Kanban.

image
Читать дальше →

Основы создания 2D персонажа в Godot. Часть 2: компилирование шаблонов, немного о GDScript, движение и анимация героя

Время на прочтение9 мин
Количество просмотров35K
В предыдущей статье мы рассмотрели азы создания нового проекта в Godot. И с этими поверхностными знаниями можно разве что поглядеть demo-версии игр.

Во второй части на повестке дня у нас:
1) Экспорт готового проекта в бинарные файлы для выбранной архитектуры.
2) Новые анимации. Параметры персонажа.
3) Управление.
3) GDScript. Добро пожаловать в настоящий кодинг!
4) Импорт простейших Tilesets.
5) Бонус: разбор устройства простейших задников.

Ну и как обычно, много картинок!

В этот раз действительно много картинок...

Основы создания 2D персонажа в Godot. Часть 1: компилирование игрового движка, создание проекта и анимация покоя героя

Время на прочтение6 мин
Количество просмотров54K
Пару дней назад увидел статью о публикации исходного кода под свободной лицензией MIT игрового движка Godot и сразу решил поковыряться в нём.
Оказалось не всё так сложно, скорее забавно. В своей первой публикации хотелось бы рассказать о первых шагах на пути к созданию игрового платформера, и всех подводных камнях, о которые я чуть было не переломал пальцы за эти дни.



Если это кому-то интересно, добро пожаловать под Хабракат!
Осторожно! Много картинок!

Как настроить Continuous Deployment для своего проекта: личный опыт

Время на прочтение3 мин
Количество просмотров17K


Перевели для вас статью Юлиуса Минмо о настройке непрерывного развертывания (Continuous Deployment) для своего проекта. Автоматизация позволяет сэкономить кучу времени и сил. Статья будет полезна, в первую очередь, начинающим программистам.

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

Древности: Интернет 1999 года в 20 скриншотах

Время на прочтение7 мин
Количество просмотров93K
Мы не умеем хранить данные. Нет, от лица отдельно взятого пользователя — немного умеем. Как работники компании — тоже можем, в виде бэкапов, резервирования и прочего. А вот так, чтобы в любой момент можно было прокрутить цифровую машину времени лет на двадцать назад — так не умеем. Я уже как-то писал о своем собственном цифровом архиве: он начинается в 2002 году, а вот информации про первое десятилетие моей цифровой жизни почти не сохранилось. Разве что спектрумовские игры на кассетах.

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

Учебный курс по React, часть 13: компоненты, основанные на классах

Время на прочтение5 мин
Количество просмотров18K
Сегодня мы публикуем перевод очередного занятия учебного курса по React. Оно посвящено компонентам, основанным на классах. Такие компоненты создают с использованием ключевого слова class.

image

Часть 1: обзор курса, причины популярности React, ReactDOM и JSX
Часть 2: функциональные компоненты
Часть 3: файлы компонентов, структура проектов
Часть 4: родительские и дочерние компоненты
Часть 5: начало работы над TODO-приложением, основы стилизации
Часть 6: о некоторых особенностях курса, JSX и JavaScript
Часть 7: встроенные стили
Часть 8: продолжение работы над TODO-приложением, знакомство со свойствами компонентов
Часть 9: свойства компонентов
Часть 10: практикум по работе со свойствами компонентов и стилизации
Часть 11: динамическое формирование разметки и метод массивов map
Часть 12: практикум, третий этап работы над TODO-приложением
Часть 13: компоненты, основанные на классах
Часть 14: практикум по компонентам, основанным на классах, состояние компонентов
Часть 15: практикумы по работе с состоянием компонентов
Часть 16: четвёртый этап работы над TODO-приложением, обработка событий
Часть 17: пятый этап работы над TODO-приложением, модификация состояния компонентов
Часть 18: шестой этап работы над TODO-приложением
Часть 19: методы жизненного цикла компонентов
Часть 20: первое занятие по условному рендерингу
Часть 21: второе занятие и практикум по условному рендерингу
Часть 22: седьмой этап работы над TODO-приложением, загрузка данных из внешних источников
Часть 23: первое занятие по работе с формами
Часть 24: второе занятие по работе с формами
Часть 25: практикум по работе с формами
Часть 26: архитектура приложений, паттерн Container/Component
Часть 27: курсовой проект
Читать дальше →

Обучение детей программированию

Время на прочтение6 мин
Количество просмотров17K

Здравствуйте. Меня зовут Михаил Капелько. Занимаюсь профессиональной разработкой ПО более 10 лет. Из них последние годы связаны с iOS. В свободное время разрабатываю игры и средства для их создания.


Обзор


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


  • организацию процесса обучения
  • программу обучения
  • игру на память
  • инструмент программирования
  • уроки
  • результаты и планы

Автоматизация сети с помощью Ansible: модуль command

Время на прочтение10 мин
Количество просмотров23K
Говоря о типовых сценариях автоматизации сети, никак не обойтись без набора модулей command. Благодаря этим модулям, Ansible позволяет запускать команды на сетевом оборудовании так, как будто вы вводите их прямо с консоли. При этом вывод команд не просто проскакивает в окне терминала, чтобы кануть в лету, а может быть сохранен и использован в дальнейшем. Его можно записать в переменные, парсить для использования в последующих задачах или же сохранить на будущее в переменных хоста.



Цель этого поста – показать, что любую повторяющуюся задачу по управлению сетью можно автоматизировать, и что Ansible не просто позволяет управлять конфигурациями, а помогает избавиться от рутины и сэкономить время.
Читать дальше: Автоматизации сети с помощью Ansible: модуль command

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность