All streams
Search
Write a publication
Pull to refresh
-2
-0.4
Пичугин Дмитрий @Dywar

веб программист

Send message
Сам себе еще добавлю.

S — драйвер видеокарты не установит драйвер на принтер, значит и внтури драйвера (код) нет ничего для этого. У каждого пользователя windows свой фолдер в списке Users.
O — плагины для фотошопа, vs.
D — windows — hardware abstraction layer (HAL).
Примеры, не кода, а из головы:
S — не нужно мутить в одном классе парсинг XML, его сохранение на диск и отправку по Email.
O — Не храните рецепты в поваре. Не копируйте класс целиком если нужно создать такой же но с дополнительными полями.
L — не наследуйте пользователя от телефона, поезд от автомобиля.
I — не запихивайте в один I несвязанные контракты.
D — нужны тесты? хочешь пилить свою фичу не дожидаясь выполнения всех других? хочешь TDD? нужно написать модуль для работы с железом которого еще нет?

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

*И да, не надо пытаться применять SOLID/GRASP/GOF везде где только можно, это зачастую только усложняет код. Об этом пишут во многих книгах.
Парадигмы программирования:

Объектно-ориентированное программирование… 1966 год.… привело к открытию полиморфизма -> Инверсия зависимости (D).

Источник
Спасибо за статью.

Смотрел недавно видео интерьвю на youtube, тоже парень из гугла, и тоже рассказал как проводит собеседования. Многое совпало :)

В целом с подходом понятно, и нормально.
Я в книгах наоборот это редко встречаю («ООАиП» Гради Буч, «ООАиП» Крег Ларман, «Принц. пат. и мет. г.р.» Роберт Мартин, «Чистая архитектура» Роберт Мартин). Выбор между наследованием, ассоциацией, композицей и агрегацией не всегда прост, если в предметной области не сильно разбираешься.

Я не те книги возможно читаю.
Но меня тоже иногда тревожит, когда например, абстрактный класс сенсор имеет наследников на 3-4 уровня. Подобное на проде я бы и сам побоялся сделать.

Но в целом да, более гибко, по обстоятельствам короче.
По статье +, но есть вопрос.

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


Почему так?
Спасибо за статью, смотрел на подобные форумы много лет назад.

Я живу в Германии 5 лет и постоянно вижу то внимание и заботу, с которыми любые германские ведомства и коммерческие организации относятся к персональным данным.

Вы хорошо смотрели? Верится с трудом, что непробиваемые админы и БД только за пределами СНГ. Коррупция, хакеры, черный рынок — оно везде, масштабы только разные. Проблема то не в ПО, а в человеке, а как можно быть уверенным в десятках миллионах людей. Никак.
Через лет 50 будет как в фильме «Суррогаты» даже в офисах.

Сам удаленку воспринимаю положительно, это круто, с самодисциплиной все ок.
Но плюсы офиса и личного присутствия пока перевешивают, растешь быстрее.
Норм.
Конторы продают zero day белым днем, а тут одну опубликовали даром. Быстрее закроют.
Теперь у большинства пользователей windows обновляется сам, так что не нужно заставлять и напоминать.
Супер, спасибо за статью.

В целом считаю что лучшее что вы с этого получили это знания в процессе подготовки.

Но ничто не мешает развиваться почти также и без подготовки куда либо, а просто по фану и наличию свободного времени. Тогда и собеседования в такие компании не будут проблемой, слышал (точнее видел интервью с ними) как люди с первого раза проходили чуть ли не в любую компанию.

Сам в алгоритмах не силен, просто прочитал пару книг, и иногда напоминаю себе что и такое бывает :)
Не понимаю как можно читать больше 1-2 технических книг в месяц.
Это брошюры по 30 страниц? Как можно обрабатывать большой объем информации, если книга это от 250 до 750 страниц, и на некоторых зависаешь по минут 10.
Если бы у меня получалось понимать и запоминать то что я прочитал с первого раза, то 10 книг достаточно что бы быть чуть ли не гуру, имхо.

Информацию недостаточно просто услышать, ее нужно обдумать, на это уходит время. Я прочитал 10-25 страниц технической литературы, и все, дальше пауза. Иначе забывается о чем вообще была речь. Почти каждый вечер небольшими порциями на планшете, в тишине и покое.
Прогулка для прогулки, сон для сна, обед для обеда, это не время для чтения.

Всем хочется стать крутым за 6 месяцев прочитав 100 книг, но это вундеркинды :)

Слышал что Билл Гейтс много читает, сейчас вот погуглил его советы, и они полностью совпали с моим пониманием дела. Читаем ~1 час в день, вдумчиво, делаем заметки. Но у него 50 шт. в год, это очень и очень много. Посмотрел что именно он рекомендует, это книги от 150 до 300 страниц, не технические. Вполне реально, но все равно многовато, не мой уровень, я может 50 комиксов успею прочитать :)

Читать не размышляя, все равно, что есть и не переваривать.
Э.Борк
На работе сидя.
Но дома переделал свое место под стоячее, доволен, нравится.

«Всё есть яд и всё есть лекарство. Только доза делает лекарство ядом и яд лекарством.»
Парацельс
Нет линка, есть имхо после прочтения нескольких книг по алгоритмам и просмотра видео докладов на тему нейронок, например — Дмитрий Сошников — Доступный искусственный интеллект на платформе .NET.

Естественно нейронка массив чисел быстрее не отсортирует и т.п. (сходу не могу представить даже как), а вот картинку распознает значительно быстрее поиска ближайших соседей. Это впрос к задаче «Т», что лучше использовать.

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

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

Задача T.
Можно решить технологией X, Y, Z.
X — сложно, дорого, не все знают, быстро работает.
Y — просто, дешево, знает половина, работает долго.
Z — средне, средне, знают все, работает средне.
Оцениваем важность каждого показателя, берем тот который набрал больше баллов. Или рисуем три кружка, подымаем голову вверх, водим ручкой в пределах этих кружков и на любимую считалку тыками на искомый вариант.

*Фишка нейронок — они очень и очень быстро решают задачи на которые обучены. Никакой алгоритм не сделает того же с подобной скоростью.
Можно попробовать.

Парсим все фото из сети с геотегами. Где больше фото, там и нужно ходить.
Парсим все форумы где фотают/обсуждают красивые места и т.п., на что больше ссылаются то и посещаем.

Места которые нужно обходить можно искать также.
Нейронка по фото может определять наличие нежелательных элементов.

Маршруты должны проходить мимо кафе, общественных остановок, метро и т.п.
«быть программистом в России это, скажем так, временное состояние, до того, как ты все-таки уезжаешь».

Спасибо, запишу это себе как новую цитату :)

В тему еще будет это 57й подкаст Solo На .Net — Нытьё Картавого Пенсионера
И это Russian Mafia in LA. Оффициант на Ламборгини.
Очень коротко.

SRP — не мешаем в одном месте работу разных по возможностям и уровням доступа пользователей. У которых разные желания и разные причины для изменения.

OCP — то что часто меняется или добавляется выносим наружу, внутрь это дело прокидываем как стратегию/шаблон. Например, повар и рецепты которые он выполняет лучше хранить и развивать отдельно, навигатор и алгоритм расчета пути из точки А в точку Б.

LSP — производный класс при привидении его к базому должен вести себя как базовый класс.

ISP — не пытаемся засунуть все в один интерфейс, на то и позволена множественная реализация.

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

Все, возвращаюсь на busuu :)

То то мой Испанский не забылся полностью за 2 года простоя, а «свежие» Английские слова заученные в других аппах (линго, мемрайз) не держатся и пары месяцев.

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

Information

Rating
Does not participate
Location
Самара, Самарская обл., Россия
Date of birth
Registered
Activity