БАГодельня
2.23K subscribers
192 photos
2 videos
130 links
Канал про разработку и безопасность: код, костыли, разбор задач, ревью и размышления.

Вещает руководитель отдела разработки: @ipatove
Download Telegram
Channel created
🟢 МЕНЮ


📖 Посты:

#БазаЗнаний — примеры кода,

#КодРевью — разбор кода,

#Мысли — короткие заметки,

#Статьи — длинные публикации,

#Костыли — не стандартные решения,

#Кейсы — разбор ситуаций,

#НашиРазработки — готовые решения от нашей команды,

#Юмор — юмористические заметки,

#Топ5Месяца — 5 самых популярных постов за месяц.


👨‍💻 Об авторе

Привет! Меня зовут Ипатов Евгений, занимаюсь коммерческой IT-разработкой с 2011 года. Поработал на должностях от тестировщика и джуна до тимлида и техдира. CTO с 2021 года. На канале делюсь кодом, его разбором, интересными и не стандартными решениями, нашими внутренними инструментами и наработками, а так же своими мыслями и заметками на тему разработки.

Работаю тут: 🤝OWL agency
Связаться со мной: 💬@ipatove
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Привет!
Вы на канале «БАГодельня», который посвящен web-разработке и всему, что с ней связано: код; решение интересных задач, которые встречаются в повседневной работе; не стандартные «костыли»; туториалы и небольшие наработки; описание и презентация наших open source разработок; мысли и рассуждения на тему разработки; и просто баловство – курьезные ситуации и шуточные разработки.

Меня зовут Женя, я техдир в компании, которая занимается заказной разработкой, дизайном и рекламой. С 2013 по 2018 год активно вел блог на тему программирования: ссылка. Но работы и обязанностей со временем стало больше, когда из разработчика перешел на должность тимлида и потом руководителя отдела. Тратить несколько дней на написание больших статей уже нет возможности. Да и скорость восприятия информации, при серфинге интернета, сильно поменялась – спрос на развернутые статьи с полноценным описанием проблематики стал меньше. Короткие и четкие ответы на вопросы, небольшие заметки, 10-секундные видео и т.д. вытесняют старый формат длинных постов или полуторачасовых лекций. Это не плохо и не хорошо, просто по-другому, все меняется и нет ничего статичного и вечного.
С 2018 года прошло не мало времени, но интерес и тяга к публикации мыслей и наработок никуда не ушли. Даже пяток статей удалось написать за эти пять лет. Но это не дело – постить по одной статье в год, рассказать и показать хочется побольше и почаще. Поэтому из сайта-блога мое вещание переезжает в телеграм-канал. В телеграме идеальный формат, как мне кажется, для быстрого обмена информацией и опытом. Посмотрим, что из этого получится. Поехали!

#Мысли
Пока канал без подписчиков, можно и похалтурить немного, не писать новый текст 😁.
Вспомнил прошлогоднюю статью на Хабре, про одну из наших разработок — telegram-бота «Железный Феликс». Бот по сей день исправно работает и выполняет все свои функции, даже немного расширил свои возможности:
— проверка работы всех клиентских сайтов и уведомление, если сайт упал
— счетчик часов без падений сайтов
— появились дополнительные уведомления о лимите плановых часов на день
— сбор отчетов по времени переработок
— добавился мониторинг выполнения ночных бекапов

Ссылка на статью: https://habr.com/ru/articles/657863/

#Статьи
🔥2
🤖Bash-скрипт для переноса файлов с сервера на Яндекс Диск

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


❗️В реализации помогут несколько трюков:

Трюк 1.
Ускорение загрузки файла на Яндекс Диск.
Если через api Яндекса заливать большие и тяжелые архивы, то скорость сильно замедляется. Есть предположение, что Яндекс умышленно это делает, чтобы не автоматизировать сохранение бекапов на диске, поскольку под бекапы у Яндекса есть отдельный облачный сервис, который стоит дороже классического облака. Но это не точно. Может быть связано и с проверкой содержимого архива. Но так или иначе, скорость заливки архивов в 7-10 раз медленней, чем одного большого файла.
Экспериментальным путем удалось обойти это замедление. Достаточно подменить расширение файла и скорость заливки кратно увеличивается. То есть, если файл бекапа называется file_name.tar, достаточно изменить расширение на file_name.123tar.

Трюк 2. Получение OAuth-токена «руками».
Чтобы не мудрить и не тратить время на реализацию авторизации, достаточно получить токен «руками». Прямо через браузер. Токен будет полностью рабочим, без ограничений и не имеет периода жизни – вечный, пока не отозвать или сменить пароль на аккаунте.
Такой способ подробно описан в официальной документации Яндекса: ссылка.


✏️ Ссылка на готовый скрипт: скачать.

Инструкция по эксплуатации:
1. В скрипте меняем значения переменных: FILENAME, FILEPATH, TOKEN и FOLDERDISK
2. Заливаем скрипт на сервер
3. Подключаемся по ssh, заходим в папку со скриптом и делаем файл исполняемым: chmod -x yaDisk.sh
4. И запускаем скрипт: ./yaDisk.sh

#БазаЗнаний
Code Review метода расчета 5% кешбека.
Код всего пять строк, но пример интересный, есть что разобрать и пояснить, как исправить и улучшить.

Что можно и нужно исправить:

🔴 Критическая ошибка.
Потерялся нолик и кешбек стал 50%. 5% от заказчика и еще сверху 45% — бонус от разработчика.
Нужно исправить расчет, умножение должно быть на 0.05, чтобы получалось 5%, а не 50.

🟡 Можно доработать.
Значение процента удобнее и логичней вынести в глобальный конфиг, чтобы при изменении условий процента скидки, можно было быстро изменить 0.05 на любое другое значение.

🟢 Пояснение, как сделать совсем хорошо.
В идеале вообще в базу данных перенести хранение размера процента кешбека. И добавить флаг, который включает и выключает кешбек. Тогда в код совсем не придется заходить, при изменениях в стратегии маркетинга. Достаточно изменить значения в базе данных: "руками" в БД или через админку.
Но это не большой проект, админки нет и надобности регулировать скидку каждый день тоже нет. Поэтому достаточно и конфига — так сократим время и соответсвенно стоимость реализации. В то же время код и логика не пострадают, и на возможность расширения логики это тоже не повлияет.

#КодРевью
👍31
Как стать профессионалом в программировании?

Точно так же, как и в любой другой сфере.
Всё. Можно заканчивать пост. Но чуток расшифрую.

IT ни чем не отличается от других специальностей. Тут все те же шаги роста и становления профи.

1️⃣. Ответственность. Если все делать на пох#й и не думать о последствиях, то ни о каком профессионализме и речи быть не может. В первую очередь от спеца ждут конкретного решения. И оно не всегда бывает правильное. Но всегда должен быть план «Б», «В» и тд. Но чтобы перейти к плану «Б» нужно признать, что основное решение было ошибкой, а не юлить и придумывать отмазки или приукрашивать ситуацию. Важно довести дело до конца, какой бы ситуация не была: принять ответственность за свое решение и придумать пути исправления ситуации

2️⃣. Отвечать за свои слова. Это еще Стэтхем говорил. Шутки шутками, но мало кто может держать слово. На профессионала всегда можно положиться. Сказал – сделал. Это так же значит, что не стоит давать лишние обещания или рекомендации, если есть вероятность налажать. Есть опасения в сроках или в уровне компетенции, то это прямо и нужно озвучивать. Не стыдно признаться в том, что какой-то стек не знаком, куда хуже взяться за задачу, потратить время и только потом сказать: «Не получится сделать» или совсем пропасть. Часто бывают ситуации, что если честно обрисовать ситуацию и подсветить пробелы в знаниях, то и условия задачи можно изменить под знакомый стек или поменять сроки – с запасом на изучение чего-то нового.

3️⃣. Адекватность. Адекватность в оценки своих сил. Не стоит завышать ожидания, но и прибедняться не нужно. Только трезвая оценка.
Так же адекватно нужно оценивать и понимание специфики нашей специальности другими людьми. При объяснении технологий или ответе на технический вопрос всегда можно выразиться понятным языком. Вас должны понять и услышать, а не уйти гуглить терминологию после разговора. Тот, кто действительно ориентируется в своей сфере может и ребенку объяснить, чем занимается на работе. В крайнем случае все можно объяснить «на пальцах» – нарисовать, использовать аналогии и тд.

4️⃣. Фанатичность. Тут «Фанатизм» имею ввиду в хорошем смысле этого слова. Перегибать палку тоже не стоит, чтобы не слететь с катушек. Нельзя стать первоклассным спецом, если не нравится то, чем занимаешься. Просто надоест это занятие рано или поздно, и как следствие наступит стагнация без пополнения знаний и оттачивания скилов. А айти коварная штука, можно быстро отстать, если перестать «поддерживать форму».

5️⃣. Навыки и умения. Умышленно на последнее место поставил этот пункт. Это и так понятно, хочешь быть спецом, постоянно развивайся и совершенствуйся. Без этого никуда.
Недавно наткнулся на статью, как начинающий разработчик рассказывал про сложность в первый год становления программистом. Раскрою секрет – это не закончится никогда, нет той границы, когда поймешь «вот, теперь я точно все знаю и больше мне нечего изучать и совершенствовать». Я 13 лет в коммерческой разработке и постоянно узнаю и изучаю что-то новое, тренируюсь чтобы не забывать старое.
Настоящий профи, он как самурай, у которого есть только путь.

#Мысли
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41