Как стать автором
Обновить
1
0
Sergey Danilov @ushankax

QA Automation Engineer

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

Руководство по Git. Часть №1: все, что нужно знать про каталог .git

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



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

В интернете размещена масса руководств по командам Git, но в этой статье работа Git рассмотрена глубже, чем просто изучение команд.

Это первая часть гайда по Git из блога Pierre de Wulf в переводе команды Mail.ru Cloud Solutions
Читать дальше →
Всего голосов 64: ↑53 и ↓11+42
Комментарии64

Ускоряем сериализацию JSON в Python с orjson и Rust

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

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

Читать далее
Всего голосов 35: ↑35 и ↓0+35
Комментарии22

Принципы для разработки: KISS, DRY, YAGNI, BDUF, SOLID, APO и бритва Оккама

Время на прочтение8 мин
Количество просмотров245K
image

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

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

Последовательное применение этих принципов упростит ваш переход от миддла к сеньору. Вы можете обнаружить, что некоторые (вероятно) вы применяете интуитивно.

Принципов много. Мы остановимся на семи самых важных. Их использование поможет вам в развитии и позволит стать лучшим программистом.

1. YAGNI

You Aren’t Gonna Need It / Вам это не понадобится

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

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

Может наступить день, когда они снова понадобятся – тогда вы сможете воспользоваться git-репозиторием, чтобы воскресить их из мертвых.
Читать дальше →
Всего голосов 22: ↑19 и ↓3+16
Комментарии9

Использование быстрых клавиш в командной строке Linux (BASH)

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

Эта статья посвящена наиболее часто используемым комбинациям клавиш при работе в командной строке Linux (в основном в командном интерпретаторе bash).

Она точно будет полезна начинающим своё знакомство с Linux и, уверен, пригодится тем, кто уже имеет опыт (не всегда годы практики учат работать быстрее).

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

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

Читать далее
Всего голосов 143: ↑142 и ↓1+141
Комментарии64

Git, я хочу все отменить! Команды исправления допущенных ошибок

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

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

Но вся штука в том, что для исправления проблемы нужно знать точное название команды. И здесь у нас возникает типичная проблема курицы и яйца. В этой статье рассказывается о командах, которые помогают решить проблемные ситуации.
Читать дальше →
Всего голосов 34: ↑27 и ↓7+20
Комментарии20

Как работает память в Python

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

Ни одна компьютерная программа не может работать без данных. А данные, чтобы программа имела к ним доступ, должны располагаться в оперативной памяти вашего компьютера. Но что такое оперативная память на самом деле? Когда произносишь это словосочетание, многие сразу представляют «железную» плашку, вставленную в материнскую плату, на которой написано что-то типа 16Gb DDR4 2666MHz. И они, разумеется, правы — это действительно физический блок оперативной памяти, в котором, в итоге, все данные и оказываются. Но прежде, чем стать доступной внутри вашей программы, на память (как и на всё остальное аппаратное обеспечение) накладывается куча абстракций.

Читать далее
Всего голосов 65: ↑63 и ↓2+61
Комментарии10

Сказка про декораторы в Python

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

image


Simple is better than complex.

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

Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии25

[Разбор] Инвестиции и спекуляции: в чем на самом деле разница

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

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

Портал Investopedia разобрал этот вопрос в своей статье, а мы представляем вашему вниманию адаптированную версию этого материала.

Читать далее
Всего голосов 13: ↑9 и ↓4+5
Комментарии5

Поиск инвестиций. Часть 1: если ищете средства на разработку игры

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

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


Изучая материалы по этой теме им попалась серия статей, создаваемая при поддержке Epic Games, Майком Фаттером. Оценив качество материала и потенциальную пользу для русскоязычного коммьюнити, команда Rummy Games решила перевести статью и выложить ее на нашем ресурсе.


Создание видеоигры – это совокупность непростых творческих задач.


Читать дальше →
Всего голосов 22: ↑18 и ↓4+14
Комментарии10

Автомобильное ПО: варианты стратегического развития

Время на прочтение10 мин
Количество просмотров3.8K
image

В своей предыдущей статье я писал о росте важности автомобильного ПО и использовал концепцию «Разработка-сборка-маркетинг-использование» для того, чтобы показать чем ПО отличается от аппаратной части. Суть той статьи заключается в том, что стратегия использования программных платформ – лучший способ добиться успеха на рынке автомобильного ПО.

Печально известен тот факт, что разработку ПО очень сложно планировать и реализовывать – особенно трудно оценивать времязатраты на создание больших программных продуктов. Такое положение дел тянется уже с 1960-ых годов, все это подробно описано в книге «Мифический человеко-месяц». Это книга Фреда Брукса, она была опубликована в 1975 и дополнена в 1995. Проблемы доведения процесса разработки программных продуктов до конца могут быть сформулированы законом Брукса: если вы не укладываетесь в сроки, дополнительные человеческие ресурсы только увеличат время на разработку.

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

Обзор платформ

Читать дальше →
Всего голосов 4: ↑3 и ↓1+2
Комментарии1

Академия плохого кода: переводы строк, пробелы и отступы

Время на прочтение5 мин
Количество просмотров13K
Привет, Хабр! Представляю вашему вниманию перевод статьи «Dark code-style academy: line breaks, spacing, and indentation» автора zhikin2207

image

Привет, народ! Позвольте мне продолжить рассказ про нашу академию плохого кода. В этом посте мы раскроем другой путь замедления чтения вашего кода. Следующие приёмы помогут вам уменьшить понимание вашего кода и увеличить шансы на появление в нём багов. Готовы? Давайте начнём.

Переводы строк, пробелы и отступы могут убивать.


Как люди читают книги? Сверху вниз, слева направо (по крайней мере — большинство). Это же происходит, когда разработчики читают код. Одна строка кода должна содержать одну мысль, следовательно, каждая строка должна содержать только одну команду. Если вы хотите смутить других разработчиков, вам лучше нарушить эти принципы. И давайте я покажу вам как это сделать.
Читать дальше →
Всего голосов 29: ↑24 и ↓5+19
Комментарии55

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Инженер по автоматизации тестирования
Средний
Python
CI/CD