dd

Рубрика: Разработка

  • Доска мыслей в офисе

    Решил записывать на доске на кухне офиса различные мысли (свои и не очень) в надежде на зарождение горячей дискуссии; пока что всем всё равно🥲

  • Принцип единственной ответственности на практике

    Впервые услышав о принципе единой ответственности был очень недоволен такой концепцией, потому как в моей голове это означало, что теперь, допустим, на любую операцию с моделью из базы, у которой есть зависимость от другой модели, придётся делать по два отдельных класса, например: класс удаления самой модели и класс удаления связи с зависимой моделью (реализация какая угодно, от формы до репозитория)
    Однако, на деле всё оказалось куда удобнее и интереснее: srp это об единой причине для изменения, то есть в один класс можно запихнуть и удаление самой модели, и различные связанные действия, так как все они относятся к одному событию — удалению модели. После этого меня перестала мучить совесть🙃

  • SSH-подключение без пароля

    краткий гайд о том как подключаться по ssh без пароля (надоело каждый раз лезть в гугл)
    1. ssh-keygen -t rsa
    2. путь указываем такой, чтобы было понятно к какому именно сервера вы подключаетесь
    3. пароль не обязательно вводить
    4. копируем ключи на удалённый сервак: ssh-copy-id -p порт пользователь@айпи
    5. авторизуемся при помощи пароля от учётки, чтобы завершить процедуру
    6. для удобства можно внести в alias'ы консольной оболочки что-нибудь типа myssh="ssh user@ip", чтобы не вводить каждый раз

  • DTO для разделения бэка и фронта

    На своей первой работе по воле судьбы оказался фуллстак-разработчиком, это сильно облегчало работу на ранних стадиях проекта, в котором я участвовал, но не позволяло мне увидеть один интересный и удобный приём работы с данными — DataTransferObject. Мы чаще на фронт просто передавали объекты напрямую и пользовались методами для доступа к данным как попало.
    На текущей же работе, в веб-агентстве, разделение на бэк и фронт максимально явное и передавать фронтендерам объекты из своей области совсем перехотелось; собственно, dto стали ответом на многие вопросы и часто приходят на помощь; тут главное не переборщить, но это уже совсем другая история

  • Наследование и полиморфизм в ООП

    Недавно подумал, что не понимаю зачем в базовых принципах ооп указывают и наследование, и полиморфизм (например, https://tproger.ru/translations/oop-principles-cheatsheet), потому что вроде как абсолютно очевидно, что они в ооп идут рука об руку и друг без друга не могут
    Логичный вопрос: так ли это?
    Оказалось, что ответ ещё очевиднее и полиморфизм может существовать без наследования, например, в языках без статической типизации; чуть более подробно можно узнать тут: https://stackoverflow.com/questions/11732422/is-polymorphism-possible-without-inheritance

  • Инкапсуляция и сокрытие

    «Кажется, я понял чем отличается инкапсуляция от сокрытия», выпуск 1
    Сокрытие это про данные, инкапсуляция это сокрытие взаимодействия данных
    То есть, инкапсуляция это подмножество сокрытия
    Да ведь? Ждём следующий выпуск за авторством моего мозга через какое-то время