All streams
Search
Write a publication
Pull to refresh
27
0.1
Михаил @Flammar

Java (+Javascript) fullstack developer

Send message
Покупать б/у автомобиль — это риски. Переплата за новизну нового — это, в общем, и есть плата за страховку от этих рисков.
Да и банально не во что в Рашке инвестировать кроме недвижки и автомобилей…
Накопить за 5 лет на 3/4 комнаты, взять кредит на недостающую часть и сдать тем же таджикам (или необязательно таджикам)…
«Богатый берёт в кредит мегавнедорожник — получает понты (которые, несомненно, продают) и, как ни крути — удобство, после чего под залог мегавнедорожника берёт другой кредит, который уже пускает в оборот — покупает товар для магазина, сырьё для завода и т.д.»
Для меня это тоже прозрение, спасибо. Понты в кредит, чтобы не отвечать по этому кредиту ничем кроме этих самых понтов — это хорошая придумка.
Облигации приносят доход в среднем ниже инфляции, а держателей акций за пару кризисов, которые происходят раз в 10 лет, неплохо раздевают.
А лучше сразу на английском.
Процитирую насчёт переводов современного классика, ровесника Гоблина ;-):

1) Переводчик не может быть профессионалом. Это халтурщик для бедных.
2) Любой перевод это халтура за 15 копеек. «Подработка». Советские переводчики напиарили вокруг своей халтурной деятельности вавилоны лжи, а советский перевод был конечно гораздо хуже дореволюционного, на 90% делаемого незнамо кем.

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


И не надейтесь, нет и не будет такой литературы. Это как затариваться в московских бутиках: те, кто реально хочет купить что-то не позапрошлогоднее и не втридорога, едут в загранку или заказывают из загранки по почте. Переводчик — это как «лимитчица»-продавщица в московском бутике: апломба куча, а в предмете не разбирается (ибо и не до того, и не надо: раз покупатель — лох (а другого и не бывает, ибо не-лохи тарятся по другим каналам), то «зъйист шо дают»).

Гоблин — «исправлятель мира», любитель с драйвом. Мотивирован неденежно. Исключение.
Ошибка: не
vm = atconn.attach(prm);
, а
vm = atconn.attach(args);

Написать-то быстрее, особенно один раз, но 1) после каждого раза пересборка и передеплой, 2) писать придётся не в одном месте, а в 30-50 местах.
Аццки… Но, наверное, того стоит…
Можно и к выдвижной столешнице приделать подлокотники…
Предлагаете нагнуться вперёд и нагрузить позвоночник на лишние полтонны или сделать по бокам выступающие подставки под локти (а-ля «вырез в столе под пузо»)?
habrahabr.ru/post/145061/#comment_5315053

Да, и наличие у объектов сложных методов и наследование — это в значительной мере tight coupling (многие теоретики по части ООП пишут о необходимости предпочитать агрегацию наследованию), и, поэтому, bad style.
Способы взаимодействия с объектом (то есть т.н. методы) в реляционных СУБД вообще нереализуемы
А там надо что-то сложнее геттеров и сеттеров, т.е. процедур и функций, в которых все аргументы — примитивного, а не объектного типа? А то потом возникает проблема, к какому объекту отнести метод — типа перевода со счёта на счёт — к тому куда переводят, к тому с которого переводят или вообще к сумме (валюта + количество)? Так постепенно логика выносится в «менеджеры» с методом перевестиСумму(Сумма сумма, Счёт с, Счёт на), они же «визиторы» (если по глупости уcпели создать метод (Счёт с).перевестиСуммуНа(Сумма сумма, Счёт на) или (Счёт на).пополнитьСоСчёта(Сумма сумма, Счёт счёт) или (Сумма сумма).перевести(Счёт с, Счёт на) в одном из классов-участников). Если логику «менеджеров» приходится менять, то «менеджеры» «объинтерфейсиваются», чтоб можно было легко менять реализацию.

Так что вместо методов лучше сразу делать доменные функции и доменные процедуры.

Хранение данных об 1 объекте в десятках таблиц, с использованием промежуточных и т.д. — это никак не похоже на ООП-подход, когда объект инкапсулируется внутри себя.
Хранение данных об одном объекте в десятках классов со сложным управлением обратными сссылками — это сильно проще (на счёт инкапсуляции см. в т.ч. выше про «методы»)?

Наследование данных
1) Через constraints и FK (ну да, придётся ещё триггер на вставку делать) 2) В PostfreSQL и так есть.

Полиморфизм
Это, в общем, заимствование из функциональных языков программирования. Изврат на тему косвенного вызова функции — типа вызва функции в С по указателю, только безопаснее. Если нужно, можно нагородить что-то типа CLOS, но по отношению к «персистнутым» в БД данным.
Да, «строка» = «ряд» имелась в виду в таблице БД. Способы взаимодействия с объектами (=их взаимоотношения) и множественные свойства, как и прочие отношения многие-ко-многим моделируются через таблицу пересечений. Если это делать с нормализацией, многое по мере проектирования проясняется.

Для объектно-ориентированных баз данных, если для них есть понятие «класса», и методы есть только у класса, расклад не должен сильно отличаться от реляционных БД. Объект в такой базе хорошо соответствует ряду в таблице РСУБД.
Не кажется: и в ООП и в БД всё вертится вокруг «хреновин со свойствами». Строка в БД — это, пожалуй, одно из лучших отражений объекта реального мира.

Не-БД будет лучше коррелировать с не-ООП.
Ну, Ябл-и-Гугл реально настолько крут, чтоб иметь моральное право навязывать тупым юзерам своё видение того, что такое Щастье… А вы — нет. Поэтому он может позволить себе делать интерфейс не как на третьей картинке. А вы — нет.
Вам не кажется, что БД-подход очень хорошо, даже слишком хорошо, коррелирует с ООП-подходом?
На самом деле, автоматизированный дебаггинг — это ТЕМА. Жаль (и странно), что я (за других тут говорить не осмелюсь) до сих пор не знаю относительно удобных и простых тулов по этой части…
Я занёс этот ваш коммент в избранное. Интересный challenge. Постараюсь вскоре экспериментально опровергнуть этот тезис которому вас «учили», и написать об этом пост. Если меня не опередит автор этого поста ;-)

Information

Rating
3,928-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity