Pull to refresh
33
0
Дмитрий @dbagaev

User

Send message
Похоже на описание DTO

Да, это именно они и есть.

Это уже больше на репликацию похоже.

Нет, почему же, все зависит от сложности данных. В одной из компаний, где я работал, нужно было сохранить и прочитать довольно сложную структуру данных в файл. Ссылки сохранялись преобразованием указателей в аналоги реляционных идентификаторов и обратно на лету, но пляски начинались в тот момент, когда надо было восстановить дополнительное состояние объекта согласно ссылкам, которые он содержит. А еще объекты могли содержать огромные массивы данных, которые сохранялись в отдельные blob-секции в файле, и их тоже надо было дополнительно распаковать, но только после того, как объект прочитан из файла. В результате мы использовали двойной проход при загрузке: при де-сериализации объекты и ссылки восстанавливались, а второй проход запускал инициализацию. Я сейчас точно не вспомню, в чем была основная загвоздка, но в данном случае описанный вами интерфейс не позволял инициализировать всю структуру без второго прохода.

Предполагаю, что DTO смогли бы решить эту проблему, но кодовая база на тот момент была уже такая большая (коду было 25 лет, он писался с начала 90-х), что никто бы не одобрил подобный масштабный рефакторинг. С оглядкой на этот опыт, я бы сейчас отнес реализацию ISerializable в классах бизнес-логики скорее к анти-паттернам. DTO хоть и выглядят громоздко и требуют какое-то количество boilerplate кода, впоследствии более гибкие и удобные в использовании.
Основная проблема с описанным сериализатором в том, что при сериализации он теряет семантику данных и заточен под конкретный бинарный формат данных. Что если сериализовать необходимо в разные форматы, например, бинарный, json, xml и тот же protobuf? Кроме того, есть еще одна важная задача: если сериализуемые данные достаточно сложны, необходимо обеспечивать сохранение и восстановление ссылок между объектами, а это не такая тривиальная задача, как может показаться.

Мы используем другую идею для сериализации: для каждого класса или структуры данных, который предполагается сериализовать, существует структура-двойник, который используется только для передачи данных и состоит из открытых полей, но не содержит никакой логики вообще, кроме валидации. Сериализация состоит из двух дополнительных слоев: один отвечает за преобразования и валидацию данных между классами, реализующими поведение и открытыми структурами для сохранения, и еще один слой реализует сохранение в каждый конкретный формат данных (бинарный, xml, protobuf).

Такое решение позволяет полностью отделить сериализацию от бизнес логики и в результате намного более гибкое, чем поддержка интефейсов сериализации внутри собственно бизнес логики.
Дело не в хоткеях, а вообще в том, как сделать какие-то вещи. Я уже много раз сталкивался с этим и в текстовом виде: если тема базовая, то информации море, всевозможные туториалы, статеечки, все что хочешь. Если же тема хоть сколько-то специфична, то надо выискивать нюансы по документации, статьям и форумам. Но если статью или форум можно по-диагонали просмотреть минуты за 2-3 и понять, есть ли там необходимая информация, можно просто по ключевому слову поискать, то с видео что делать?
Тогда, возможно, действительно проблема с техникой бега. Длинные дистанции современному человеку все же не свойственны, вот и приходится заниматься с тренером, чтобы себя не уничтожить.
Пока речь идет о небольших дистанциях, 15-20-30 км. Я без воды бегать не могу, пью постоянно, понемногу, пол-литра на 15 километров где-то выходит.
то они идут не читать статьи и книги, а смотреть видео.

Да-да, у меня жена столкнулась с тем, что по ее специальности (3Д-моделирование) вообще видео-туториалов намного больше, чем текста. Пока ты изучаешь очевидные и простые вещи на уровне новичка, это работает. Как только информация становится специфической — видео перестают работать. Почему? Потому что вот этот нюанс рассказывают на 27-й минуте вот того видео, и найти это место поиском нельзя, надо пересмотреть несколько часов видео, чтобы найти то, что текстовым поиском решилось бы за несколько минут.
Скорее всего, проблема не в «с пятки на носок» и не «с носка на пятку». Я уже от нескольких инструкторов слышал про бег на подушечку на передней части стопы. Эта техника позволяет максимально использовать пружинящие свойства ахилла, и соответственно, наилучшим образом аммортизировать удар им и стопой.

Я и сам страдаю от бега по асфальту. Колени не болят, но через пару километров ощущается перенапряжение связок. Попробуйте бегать по грунту, если это возможно. У тому же это еще и приятнее. Плюс поскольку грунт подразумевает неравномерность, движения ног не такие монотонные, что сильно снижает вероятность травмы от перенапряжения.

И еще очень важная подсказка: пейте воду, постоянно. В свое время вода помогла мне преодолеть барьер в 15 километров, без нее у меня начинало болеть буквально все — связки в коленях, под коленями, ахиллы, бедра и даже спина. При недостатке влаги организм забирает ее их суставов со всеми вытекающими последствиями, поэтому питье очень важно.
Тема очень интересная, но очень опасная с точки зрения конфиденциальности. Есть опасения, что если ваши ДНК данные попадут третьим лицам (кто читает те пользовательские соглашения, тем более в России), то ваши взносы страховой или процент по банковскому кредиту могут внезапно очень возрасти.
Это всегда было так. Странно, что вы до сих пор жили в мире иллюзий. Риски облаков всегда были высокими, таковыми и остаются. Сильные страны и люди всегда и во все времена контролировали все, до чего могли дотянутся. Добро пожаловать назад в реальность. У вас есть свой взгляд на политику России и США, у США есть взгляд на политику американских компаний в России. Они не сходятся. И нет, они не справедливы.
Где тут «взаимовыгода»?

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

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

Есть цели или нет?

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

я не верю что в нашем обществе работа это оптимальный вариант занятости для конкретного человека

Этот конкретный человек — вы :-)
Я, может быть, не совсем понимаю ход ваших мыслей, но мне кажется, что вы несколько мешаете смысл жизни и работы с материальным благосостоянием. Пока что во всех случаях моей работы у меня был как раз вариант взаимовыгодного сотрудничества, а любое здесь и сейчас сопряжено с повышенными рисками, поэтому да, каждый решает зачем жить.
Конечно иметь меньше ответственности за себя, это проще. Вспомните школу, 1 класс, вам нравилось по утрам ходить каждый день? А что с тех пор поменялось? Вместо родителей теперь работодатель, многие решения принимаются за вас. Да так проще. Но это не ваша жизнь.

Это моя жизнь. Просто вы считаете, что управляете бизнесом, а мне кажется, что в большинсве случаев бизнес управляет вами. Хотите поспорить? Так а зачем, мы оба по-своему правы, просто у нас разная жизнь, у каждого своя. Мне хорошо быть наёмным работником, это частично мой выбор, частично так исторически сложилось. Мне нравится моя работа, мне нравятся большие проекты, которые я делал и делаю для большого бизнеса. И, кстати, они каждый раз очень даже «настоящие».

Я без прогулок, сна и отдыха живу уже 4 год

Так вы точно уверены, что это вы управляете бизнесом, а не он вами? Ради чего в длинной перспективе?

которые по молодости в башку такие же любители стабильности загрузили

Необходимость быть предпринимателем и «управление своей жизнью» посредством ведения своего дела — это такая же иллюзия, как и стабильность, вы не находите? Вообще же, на мой взгляд, важно чтобы деятельность человека имела смысл. Если человек видит смысл в закручивании гайки на конвеере, или в работе программистом «на дядю» на интересном ему проекте, или в ведении своего дела, то чем по сути это отличается? Да в общем-то ничем.
Почти по каждому пункту есть комментарии кроме английского. Я на нем говорю и читаю ежедневно и много, и мне представлялось, что это само собой разумеющийся скилл, но мне хороший знакомый открыл глаза, что оказывается хорошее знание английского до сих пор может быть хорошим преимуществом. У них в команде, тесно взаимодействующей с американкой командой, внятно по английски не говорит даже его менеджер, предоставляя этому подчиненному вести переговоры с заокеанскими коллегами.

Нет фолловеров на GitHub — ты не настоящий программист

<sarcasm>Значит 95% программистов на рынке не настоящие программисты? Что если мои хобби выходят за рамки программирования и лучшим отдыхом я считаю смену рода деятельности желательно подальше от монитотра? Если свободное время я предпочитаю проводить с семье, в спортзале, читая книги или упражняясь в кулинарии? Завести бложек с фоточками приготовленной еды? Фоловеры моего кулинарного блога будут считаться за звёзды GitHub?</sarcasm>

Нет ну правда, сколько можно повторять это глупость про пет проекты, когда у большинства не упоротых на работе людей просто не может быть пет-проектов, потому что во-первых свободное время люди предпочитают отдыхать, а во-вторых у большинства людей которым 30+ есть семьи, дети и физически нет времени на OpenSource.
Мне кажется, эта «новая легкая методология» в очередной раз пытается лечить симптомы, а не причину болезни. Не хотите чтобы разработчики выгорали? Так не заставляйте их работать по 60 часов в неделю, независимо от методологии. Не ставьте невыполнимых сроков, заставляяя команду работать в стрессовых условиях. Эджайл тут ни при чем вообще. Тем более со спринтами в четыре недели и планированием на месяц, какой это эджайл?
По моему опыту написания и ревью боевого C#/F# кода «традиционный» код с циклами for и операторами return break continue значительно проще для понимания и сопровождения.

Мы начали использовать F# год назад наравне с С# в боевом коде и внезапно обнаружили, что код на F# впоследствии приходится реже отлаживать, потому что из него не лезут бесконечные грабли с нулевыми указателями, иключениями и прочей чертовщиной. Да, всю команду пришлось заставить дружно прочитать несколько книг и провести несколько коротких хакатонов по проектированию, чтобы переключить способ мышления, потому что действительно меняется подход. Если ваш F# код написан в стиле C#, то он действительно хуже воспринимается и читается и отлаживается. Но как если он написан с использованием действительно функциональной парадигмы — то это почти сказка. В результате за год, хотя мы никого не тянули насильно, почти вся команда сама переползла на F#, а на чистом C# мы держим только WPF часть приложения.
Обычно арендой полностью покрыть выплаты действительно сложно, если кредит меньше чем на 25-30 лет. Если же кредит на 20 лет, то аренда точно будет меньше, чем выплаты. Тут вопрос сколько вы еще переплатите банку, и куча других нюансов, надо действительно считать в каждом конкретном случае. Но порядок выплат вполне может быть сопоставим, не в разы а на несколько сотен отличие.
Забавно, запомню на будущее :-)
Я, наверное, не ходил именно по Германии, но во Франции, Италии и Австрии ситуация с тропинками такая, что без тропинки вы просто упретесь в скалу или ледник. Т.е. либо оборудованная в разной степени тропинка, либо альпинизм. Изъездить все велодороги и исходить все тропы мне еще нигде не удалось, недостаток компенсирую альпинизмом, вполне себе. За настоящими походами, чтобы далеко от населенки и с костром, действительно надо ездить, ничего не поделаешь. В Альпах есть хак — можно ходить не в сезон, тогда хуты закрыты, людей практически нет, можно вполне организовать поход с ночевками в палатке, и никто не тронет. Более того, во Франции это официально разрешено, в некоторых районах Италии, Австрии и Швейцарии тоже, но в общем-то нигде никто не будет бежать за вами километр вверх, чтобы запретить ночевать.

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

Купите дом с двором, вот вам и место для гриля :-) Рядом с Киевом, например, все места для гриля тоже так выглядят, за тишиной надо ехать далеко, да и все равно ужасно грязно везде. Так что большой разницы не вижу, если честно. Да я и не любитель этих грилей.

Information

Rating
Does not participate
Location
Leuven, Vlaams Brabant, Бельгия
Date of birth
Registered
Activity