Овладей Python, создавая реальные приложения. Часть 3
Создаем блокировщик сайтов в 3 шага
Предыдущие части: Часть 1, Часть 2
Технологии стремительно развиваются, как и мир в целом. Каждый день вы сталкиваетесь с чем-то, о чем раньше...
Хитрости объектно-ориентированного программирования. Часть 2: Закон Деметры
Это мини-серия статей по написанию поддерживаемого объектно-ориентированного кода без лишней нервотрепки.
Предыдущие части: Часть 1
Единственный закон в программировании — это отсутствие законов. А закон Деметры — это, скорее, рекомендации, а...
Овладей Python, создавая реальные приложения. Часть 2
Предыдущие части: Часть 1
Первая часть цикла получила множество положительных отзывов, которые мотивировали меня закончить цикл как можно скорее. Сделаю всё, что смогу. В первой...
Овладей Python, создавая реальные приложения. Часть 1
Создаем интерактивный словарь
В этой серии из 10 статей мы будем использовать Python для написания 10 реальных приложений. И в процессе создания этих приложений мы...
Подробнее о функциях высшего порядка
В JavaScript, функции являются “функциями первого класса”, соответственно они могут:
храниться в переменной, объекте или массиве.
передаваться как аргументы в другую функцию.
и даже...
Python — это суперсила!
Компьютеры — это круто. Они дают вам возможность претворять в жизнь модели и идеи, которые сидят в вашей голове, ожидая, когда их выпустят в реальный мир.
Я...
Шпаргалка по регулярным выражениям. В примерах
Регулярные выражения (regex или regexp) очень эффективны для извлечения информации из текста. Для этого нужно произвести поиск одного или нескольких совпадений по определённому шаблону...
Как создать Telegram бота с помощью Python
Представьте, что у вас есть бот в мессенджере, который присылает вам случайно выбранную картинку с собачкой, когда вам захочется. Звучит здорово, да? Давайте сделаем...
Малоизвестные функции JavaScript
Считается, что JavaScript — самый простой язык, чтобы начать и самый сложный язык, чтобы полностью освоить. Не могу не согласиться, так как JS очень старый и...
Создаём «ToDo» приложение с помощью Electron
Мы будем создавать приложение ToDo с помощью библиотеки Electron. Мы затронем следующие темы: хранение данных, использование нескольких окон, взаимодействие между браузерами.
Что необходимо для этого
Я...
Взломщик captcha на Python
Когда я разрабатывал набор скриптов для взлома, у меня не было никаких знаний об используемых алгоритмах при обработке изображений. Только спустя какое-то время я...
Как я создал веб-скрапер на Python для поиска жилья
Через несколько месяцев мне придется съехать из съемной квартиры и искать новую. Как бы это ни было тяжело, особенно учитывая замаячивший на горизонте ценовой...
Как написать хороший README: краткий курс
После Hacktoberfest в проектах с открытым исходным кодом появилось много новых правок. Только за октябрь было сделало более 400 000 запросов на включение кода. Это невероятно!
Я...
Хитрости объектно-ориентированного программирования. Часть 1: Искусство разделения команд и запросов
Это мини-серия статей по написанию поддерживаемого объектно-ориентированного кода без лишней нервотрепки.
У функций есть побочные эффекты. Иногда они изменяют состояние системы в самый неожиданный момент и...
Как ваша программа использует память
Программирование на языках, которые позволяют взаимодействовать с памятью на более низком уровне, как например в C и C++, иногда доставляет немало проблем, с которыми...
Golang — изящная обработка ошибок
Несмотря на то, что в go предусмотрена простая модель ошибок, на деле все не так уж и просто. В данной статье я хочу рассказать...
Какие языки программирования нужно знать, чтобы разрабатывать приложения под Android?
Итак, вы решили научиться разрабатывать приложения под Android? Отлично! Но нужно понимать, что без труда не вынешь и рыбку из пруда. Программирование — это крайне обширная...
Java для начинающих: часть 4 из 4
Часть 1, Часть 2, Часть 3, Часть 4
Данные статьи помогут легко и быстро разобраться в концепциях и программировании на Java. Даже при нулевых знаниях...
Лучшие инструменты для разработки приложений под Android
Android предлагает разработчикам массу возможностей: это универсальная, открытая платформа, используемая миллионами пользователей по всему миру, с удивительно простой в использовании площадкой для распространения приложений....
Java для начинающих: часть 3 из 4
Часть 1, Часть 2, Часть 3, Часть 4
Данные статьи помогут легко и быстро разобраться в концепциях и программировании на Java. Даже при нулевых знаниях...
Как я создал свою первую видеоигру
В прошлом году во время новогодних праздников мне очень захотелось начать новый параллельный проект. Я не знал, чего именно хочу, но я был уверен,...
Java для начинающих: часть 2 из 4
Часть 1, Часть 2, Часть 3, Часть 4
Данные статьи помогут легко и быстро разобраться в концепциях и программировании на Java. Даже при...
Решение алгоритмических проблем: Поиск повторяющихся элементов в массиве
Проблема
Найти дубликат в массиве
Given an array of n + 1 integers between 1 and n, find one of the duplicates.
If there are multiple possible...
Java для начинающих. Часть 1 из 4
Часть 1, Часть 2, Часть 3, Часть 4
Данные статьи помогут легко и быстро разобраться в концепциях и программировании на Java.
Даже при нулевых знаниях о...
Как пересчитать слова в массиве используя JavaScript
Считаем слова в массиве
Дано:
let array = ;
Задача: посчитать все слова в данном массиве.
Способ №1: используем цикл for
function getWordCount() { let map = {}; for...
Как прокачать навык отладки
В какой-то момент, каждый из нас сталкивается с ошибками при написании кода. Собственно, процесс разработки в том и состоит. При возникновении ошибки, вы теряетесь...
Плюсы и минусы программирования на Java
Не так много технологий могут похвастаться тем, что они актуальны уже более 20 лет. Однако в этом году Java заняла пятое место в списке...
Kotlin Coroutines для Android — Прощай RxJava?
Недавно JetBrains анонсировала новую фичу, которая известна как coroutines (coroutines является экспериментальной функцией в Kotlin 1.1+). Кстати, jetbrains — это место, где можно найти настоящее сокровище,...
Kotlin Android Extensions: полное руководство
Если у вас уже есть опыт разработки приложений для Android, вероятно, вы уже устали использовать findViewById, чтобы восстанавливать view. Или, может быть, вы уже сдались...
Релиз Koin 1.0.0✨
Так, так, так… вот оно! Уважаемые пользователи Koin, настал момент релиза нашей первой стабильной версии Koin. Спустя чуть больше года после начальной версии, мы...
Как создавать анимированные графы в Python
Matplotlib и Seaborn — вполне приличные Python-библиотеки для создания превосходных графиков. Но такие графики получаются статичными, и крайне трудно подобрать для них красивое представление данных или...
Хитрости на Python
Болтовня ничего не стоит. Покажите мне код.
Эти приемы на Python весьма незаурядны и крайне полезны.
Обмен значениями
Создание одной строки из всех элементов списка
Поиск самого частого значения...
Изучение нового языка для работы с данными
В постоянно меняющейся экосистеме инструментов для анализа данных вам придется часто изучать все новые и новые языки, чтобы идти в ногу со временем и...
Начало работы с Elasticsearch
Что такое Elasticsearch?
Elasticsearch(ES) — это распространенная поисковая система с открытым исходным кодом, основанная на индексе Lucene. Написана она на языке Java и доступна для многих платформ....
Хотите стать классным разработчиком? Работайте с UX
В свою первую стажировку я проработал продукт-менеджером и UX-дизайнером всего лишь два месяца, однако узнал о проектировании куда больше, чем за время работы разработчиком.
Технические...
Привет, Go!
За последние пару месяцев я полюбил Go по разным субъективным причинам. Чтобы продемонстрировать всю красоту и простоту языка Go, рассмотрим классическую небольшую программу, которая...
Знакомство с Kotlin для Android за один день
Имея за плечами опыт с Java, я понял, что синтаксис Kotlin похож на Java, но в то же время может сильно отличаться. Kotlin — очень мощный...
Полезные хитрости на Python от А до Я
Python — это один из самых популярных и востребованных языков программирования в мире. И на то есть множество причин:
· прост в изучении;
· мега-универсальный;
· огромное разнообразие модулей...
Бережливое тестирование, или Почему модульные тесты хуже, чем вы думаете
Тестирование — противоречивая тема. Люди крепко держатся за свои убеждения относительно подходов к тестированию. Разработка через тестирование — самый яркий пример. Нехватка чётких эмпирических данных провоцирует людей на...
Отправляем E-mail с помощью Python
Я участвую в разработке одного проекта на работе. Мы разрабатываем прототипы Raspberry Pi и специальное программное обеспечение. Хоть и разработанное ПО работает блестяще, нам...
Управляем интернетом с помощью Python
Путешествие в автоматизацию работы в интернете
Проблема: чтобы отправить задание на проверку в университет, мне приходится проходить через лабиринт веб-страниц настолько запутанный, что несколько раз я...
Java убьет ваш стартап. PHP спасёт его
Так, всем спокойно. Это не очередной диспут на тему что лучше PHP, Java или ваш любимый язык. Я хочу поговорить о корпоративных технологиях, например...
Python. Пять уловок, которые нужно знать, уже сегодня
Будь вы старшим инженером AI или студентом первого курса биологии — рано или поздно вы столкнётесь с языком программирования Python. После релиза, в 1991 году, Python...
Разворачиваем декораторы. Часть 2
Предыдущие части: Часть 1
Вспомним о чем шла речь
Предыдущий пост я писал про основы декораторов в Python. Для тех, кто не читал её, в двух...
Разворачиваем декораторы. Часть 1
Предпосылки
Для начала я должен убедиться, что все одинаково хорошо разбираются в теме. Если вам хорошо известны такие понятия как: переменные, параметры, возвращение значений переменной...
Начнем работу с Mock в Python
Предисловие
Mock - это просто объект, который создает пустой тест для определенной части программы.
Вместо вызова обычной проверки, вы вызываете mock и смотрите, как проходит тест...
Изучение Python: от нуля до мастера
Первым делом спросим себя, что такое Python? Создатель языка, Гвидо ван Россум, описывает его следующим образом:
"Язык программирования высокого уровня, главная идея которого - это...
Функциональное программирование со Scala: введение
Если вас интересует функциональное программирование, в этой статье вы найдете несколько важных аспектов этого направления и особенностей его работы в Scala.
Классические программы порождают концептуальные...
Изучение Blockchain на Python
Неделю назад я поняла, почему испытывала неприязнь к Bitcoin. У меня не было его, и я не понимала как он работает. Я начала изучать...
Python — идеальный инструмент для любой проблемы
Размышления о моей первой программе на Python.
Размышления это всегда помогающее (а иногда и развлекающее) занятие. Из ностальгических соображений, конечно, если можно испытывать ностальгию по...
Давайте разберемся с нижним подчеркиванием (_) в Python
Символ нижнего подчеркивания
Символу нижнего подчеркивания (_) в Python присущ ряд особенностей.
В большинстве языков программирования (хотя, конечно же не во всех) этот символ используется в...
Давайте синхронизировать потоки в Python
Для меня это был волшебный момент, внезапный инсайт, когда я впервые узнал о многопоточности. Меня восхитила сама возможность параллельного выполнения действий, (хотя важно заметить, что...
Осваиваем веб-скрэпинг на Python
В этой короткой статье рассказывается про методику вэб-скрэпинга (англ. web scraping) - набор инструментов по извлечению данных с сайтов. Если вы сталкивались с проблемами...
Инструменты DevOps: интерфейс Docketeer для Docker Desktop
Обзор Docketeer, удобного графического интерфейса для Docker с проработанными правами доступа и метриками.
Собеседование в области науки о данных: 7 распространенных ошибок
Вас преследует неудачи на собеседованиях в области науки о данных и машинного обучения? Рассматриваем распространенные проблемы и размышляем о том, как их избежать.
Почему стоит задуматься о разработке статических сайтов
Каждый создатель сайта стремится сократить время загрузки веб-страниц, повысить показатель конверсии, вовремя отловить ошибки рендеринга, избежать проблем, связанных с обслуживанием сайтов. Если все перечисленное - ваша головная боль, стоит задуматься о разработке статических сайтов.
Статистические типы данных, используемые в машинном обучении
Введение в статистику
Статистика — это наука об изучении данных. Знания в этой области позволяют использовать подходящие методы сбора и анализа данных, а также эффективно представлять результаты...
Механика разрешения имен и связывания на C++
Разберемся с разрешением символов, типами связывания и распространенными проблемами: ошибками повторных определений, неразрешенных символов, нарушений правила одного определения. Узнаем, как предотвращаются конфликты именования.