Python

Взломщик captcha на Python

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

Как я создал веб-скрапер на Python для поиска жилья

Через несколько месяцев мне придется съехать из съемной квартиры и искать новую. Как бы это ни было тяжело, особенно учитывая замаячивший на горизонте ценовой...
Open Source

Как написать хороший README: краткий курс

После Hacktoberfest в проектах с открытым исходным кодом появилось много новых правок. Только за октябрь было сделало более 400 000 запросов на включение кода. Это невероятно! Я...
OOP

Хитрости объектно-ориентированного программирования. Часть 1: Искусство разделения команд и запросов

Это мини-серия статей по написанию поддерживаемого объектно-ориентированного кода без лишней нервотрепки.   У функций есть побочные эффекты. Иногда они изменяют состояние системы в самый неожиданный момент и...
Software

Как ваша программа использует память

Программирование на языках, которые позволяют взаимодействовать с памятью на более низком уровне, как например в C и C++, иногда доставляет немало проблем, с которыми...
Golang

Golang — изящная обработка ошибок

Несмотря на то, что в go предусмотрена простая модель ошибок, на деле все не так уж и просто. В данной статье я хочу рассказать...
Android

Какие языки программирования нужно знать, чтобы разрабатывать приложения под Android?

Итак, вы решили научиться разрабатывать приложения под Android? Отлично! Но нужно понимать, что без труда не вынешь и рыбку из пруда. Программирование — это крайне обширная...
Java

Java для начинающих: часть 4 из 4

Часть 1, Часть 2, Часть 3, Часть 4 Данные статьи помогут легко и быстро разобраться в концепциях и программировании на Java. Даже при нулевых знаниях...
Android

Лучшие инструменты для разработки приложений под Android

Android предлагает разработчикам массу возможностей: это универсальная, открытая платформа, используемая миллионами пользователей по всему миру, с удивительно простой в использовании площадкой для распространения приложений....
Java

Java для начинающих: часть 3 из 4

Часть 1, Часть 2, Часть 3, Часть 4 Данные статьи помогут легко и быстро разобраться в концепциях и программировании на Java. Даже при нулевых знаниях...
Game Development

Как я создал свою первую видеоигру

В прошлом году во время новогодних праздников мне очень захотелось начать новый параллельный проект. Я не знал, чего именно хочу, но я был уверен,...
Java

Java для начинающих: часть 2 из 4

Часть 1, Часть 2, Часть 3, Часть 4 Данные статьи помогут легко и быстро разобраться в концепциях и программировании на Java. Даже при...
Algorithms

Решение алгоритмических проблем: Поиск повторяющихся элементов в массиве

Проблема Найти дубликат в массиве Given an array of n + 1 integers between 1 and n, find one of the duplicates. If there are multiple possible...
Java

Java для начинающих. Часть 1 из 4

Часть 1, Часть 2, Часть 3, Часть 4 Данные статьи помогут легко и быстро разобраться в концепциях и программировании на Java. Даже при нулевых знаниях о...
JavaScript

Как пересчитать слова в массиве используя JavaScript

Считаем слова в массиве Дано: let array = ; Задача: посчитать все слова в данном массиве. Способ №1: используем цикл for function getWordCount() { let map = {}; for...
debug

Как прокачать навык отладки

В какой-то момент, каждый из нас сталкивается с ошибками при написании кода. Собственно, процесс разработки в том и состоит. При возникновении ошибки, вы теряетесь...
Java

Плюсы и минусы программирования на Java

Не так много технологий могут похвастаться тем, что они актуальны уже более 20 лет. Однако в этом году Java заняла пятое место в списке...
Kotlin

Kotlin Coroutines для Android — Прощай RxJava?

Недавно JetBrains анонсировала новую фичу, которая известна как coroutines (coroutines является экспериментальной функцией в Kotlin 1.1+). Кстати, jetbrains — это место, где можно найти настоящее сокровище,...
Kotlin

Kotlin Android Extensions: полное руководство

Если у вас уже есть опыт разработки приложений для Android, вероятно, вы уже устали использовать findViewById, чтобы восстанавливать view. Или, может быть, вы уже сдались...
Koin

Релиз Koin 1.0.0✨

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

Как создавать анимированные графы в Python

Matplotlib и Seaborn — вполне приличные Python-библиотеки для создания превосходных графиков. Но такие графики получаются статичными, и крайне трудно подобрать для них красивое представление данных или...
Python

Хитрости на Python

Болтовня ничего не стоит. Покажите мне код. Эти приемы на Python весьма незаурядны и крайне полезны. Обмен значениями Создание одной строки из всех элементов списка Поиск самого частого значения...
Data science

Изучение нового языка для работы с данными

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

Начало работы с Elasticsearch

Что такое Elasticsearch? Elasticsearch(ES) — это распространенная поисковая система с открытым исходным кодом, основанная на индексе Lucene. Написана она на языке Java и доступна для многих платформ....
UX

Хотите стать классным разработчиком? Работайте с UX

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

Привет, Go!

За последние пару месяцев я полюбил Go по разным субъективным причинам. Чтобы продемонстрировать всю красоту и простоту языка Go, рассмотрим классическую небольшую программу, которая...
Kotlin

Знакомство с Kotlin для Android за один день

Имея за плечами опыт с Java, я понял, что синтаксис Kotlin похож на Java, но в то же время может сильно отличаться. Kotlin — очень мощный...
Python

Полезные хитрости на Python от А до Я

Python — это один из самых популярных и востребованных языков программирования в мире. И на то есть множество причин: · прост в изучении; · мега-универсальный; · огромное разнообразие модулей...
Testing code

Бережливое тестирование, или Почему модульные тесты хуже, чем вы думаете

Тестирование — противоречивая тема. Люди крепко держатся за свои убеждения относительно подходов к тестированию. Разработка через тестирование — самый яркий пример. Нехватка чётких эмпирических данных провоцирует людей на...
Python

Отправляем E-mail с помощью Python

Я участвую в разработке одного проекта на работе. Мы разрабатываем прототипы Raspberry Pi и специальное программное обеспечение. Хоть и разработанное ПО работает блестяще, нам...
Python

Управляем интернетом с помощью Python

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

Java убьет ваш стартап. PHP спасёт его

Так, всем спокойно. Это не очередной диспут на тему что лучше PHP, Java или ваш любимый язык. Я хочу поговорить о корпоративных технологиях, например...
Python

Python. Пять уловок, которые нужно знать, уже сегодня

Будь вы старшим инженером AI или студентом первого курса биологии — рано или поздно вы столкнётесь с языком программирования Python. После релиза, в 1991 году, Python...
Python

Разворачиваем декораторы. Часть 2

Предыдущие части: Часть 1 Вспомним о чем шла речь Предыдущий пост я писал про основы декораторов в Python. Для тех, кто не читал её, в двух...
Python

Разворачиваем декораторы. Часть 1

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

Начнем работу с Mock в Python

Предисловие Mock - это просто объект, который создает пустой тест для определенной части программы. Вместо вызова обычной проверки, вы вызываете mock и смотрите, как проходит тест...
Python

Изучение Python: от нуля до мастера

Первым делом спросим себя, что такое Python? Создатель языка, Гвидо ван Россум, описывает его следующим образом: "Язык программирования высокого уровня, главная идея которого - это...
Scala

Функциональное программирование со Scala: введение

Если вас интересует функциональное программирование, в этой статье вы найдете несколько важных аспектов этого направления и особенностей его работы в Scala. Классические программы порождают концептуальные...
python

Изучение Blockchain на Python

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

Python — идеальный инструмент для любой проблемы

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

Давайте разберемся с нижним подчеркиванием (_) в Python

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

Давайте синхронизировать потоки в Python

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

Осваиваем веб-скрэпинг на Python

В этой короткой статье рассказывается про методику вэб-скрэпинга (англ. web scraping) - набор инструментов по извлечению данных с сайтов. Если вы сталкивались с проблемами...
Создание интерфейсов, удобных для алгоритмов

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

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

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

Схема работы “Black hat” хакеров стара как мир: найти цель, взломать, заработать денег. С течением последних лет было реализовано очень много хитроумных атак по...
Разработка ПО - системы плагинов

Разработка ПО — системы плагинов

Рассмотрим особенности систем плагинов, которые позволяют разработчикам расширять функциональность и модульность программ. В качестве примера создадим чат-бот.
Расширяем возможности собственного мозга на базе ИИ, Python и ChatGPT

Расширяем возможности собственного мозга на базе ИИ, Python и ChatGPT

Многие жалуются на провалы в памяти или с трудом пытаются вспомнить важную информацию, когда она необходима. Уследить за всем в нашем мире непросто, запоминание...
В чём разница между [0] * 3 и [0, 0, 0] в Python? Только сеньоры знают правильный ответ

В чём разница между [0] * 3 и [0, 0, 0] в Python? Только...

Сегодня погружаемся в подробности реализации байт-кода Python на C++, чтобы выяснить, чем отличаются три на первый взгляд одинаковых на первый взгляд списка Python. Вам не придётся продираться сквозь стены сложного кода C++, суть будет понятна даже новичку.