Pull to refresh
11
0

Full-stack web developer.

Send message

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

Посмотрите под катом пример с перевозкой денег. Никакую из четырех транзакций (выдача денег с филиала А - получение денег экспедитором - передача денег экспедитором - получение денег филиалом Б) нельзя убрать или заменить "одним числом". Да, каждая пара формируется автоматически, и автоматически (в случае учетной системы) в паре будет одинаковая сумма. Но суть именно в том, что каждая физическая хозяйственная операция будет записана как набор таких пар, возможно разными людьми и в разное время. И если что-то записано неправильно, то "баланс не сойдется", и будет видна ошибка.

То что тут постоянно вспоминают про аналитики - разве не говорит, что инструментов и терминологии самой двойной записи -- недостаточно?

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

Потому что если использовать только ее терминологию - то использовались бы только названия счетов.

Теоретически можно использовать и названия счетов, но это неудобно и не позволяет отнести движение по счету на несколько разрезов.

А так, наиболее логичное с точки зрения происходящего - это счета 'Мой карман'(и прочие безналичные счета, что у меня есть) и по счету на каждого продавца, у кого я что-то покупаю. Так оно хоть реально движение средств показывает от кого к кому.

Ну так, теперь каждую операцию записывать как пару "списание с одного счета - поступление на другой счет", и получится двойная запись

А все остальное - атрибутами/тегами, да. Только не на счет, а на каждую позицию покупки.

Ну вы предлагаете то же самое, только название другое. В терминологии 1С -- это аналитический признак, по сути и есть атрибут или тег

С документальным оформлением, опять же, так проще. Просканировал чек, взял выписку из банка - и готова запись в программе домашней бухгалтерии. "Я <-> Мерчант INN такой-то". А дальше классифицируй хоть вдоль хоть поперек, что ты там у него купил.

Это абсолютно не противоречит двойной записи.

Суть двойной записи -- это контроль правильности. Вы рассуждаете на примере личных финансов, там необходимость двойной записи не очень видна и не совсем понятна, вы сами все вносите и сами все знаете.

Однако, если вы подумаете о большой организации, с сотней сотрудников, то поймете, что отловить ошибки в учете (как случайные -- забыли внести что-то в систему, неправильно ввели, так и намеренные -- украли где-то что-то) будет очень сложно.

Двойная запись частично решает этот момент, особенно, если нет сговора. Более того, она позволяет четко зафиксировать моменты передачи ответственности.

Скрытый текст

Набивший оскому пример с перевозкой денег из филиала в одном городе в филиал в другом:

  • Бухгалтерия филиала А выдала 1000 долларов, получила от него расписку, занесла в учетную систему две транзакции: списание со счета "Наличные деньги #филиалА" и зачисление на "счет" "Деньги в пути #экспедиторПетров". Ответственность за сохранность денег теперь лежит на Петрове

  • Петров приехал в филиал Б и сдал в кассу 900 долларов. Бухгалтерия в филиале Б записала опять же две транзакции: списание со счета "Денги в пути #экспедиторПетров" и зачисление на счет "Наличные деньги #филиалБ". Ответственность за 900 долларов теперь на филиале Б.

Уже в этот момент мы видим, что сумма всех транзакций не равна нулю. Т.е. что-то не так. Путем нехитрого (но потенциально долгого и кропотливого) анализа мы видим, что Петров присвоил сотку.

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

Ну да, именно, человек, который видит много рисков и неопределенности может впасть от них в ступор, и вообще ничего не начать делать, бесконечно прокручивая "а что, если ...".

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

Я бы сказал, что источник стресса -- это не совсем знания, скорее опыт. А причина -- не столько сложность, сколько неопределенность. Само по себе накопление знания человеком (например, академическое изучение физики или любой другой науки) не увеличивает стресс, как мне кажется.

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

поделить строку на три части — часть строки до нижнего подчеркивания, первую букву после и все остальное.

Не будет ли тут ошибки в ключах типа bite_a_cat?

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

Вопрос для длинной дискусии, но в целом "качество" фото на телефон достигается за счет следующего:

  • высокое качество компонентов (матрицы и оптики) -- по-другому нельзя из-за их размеров

  • автоматическая съемка и совмещение нескольких кадров с разными параметрами съемки

  • алгоритмическая обработка и "дорисовка" изображения

Если сравнивать с камерой, то

  • Качество матрицы и оптики сложно сравнивать, но чисто физически размер матрицы и размер оптики у камеры больше и это играет большую роль, это понятно

  • в камерах есть функция съемки серии кадров и базовые функции их совмещения, но до телефонов им далеко

  • камера (при съемке в RAW) не делает обработку изображения

По качеству "железа" -- оптика в телефоне (по крайней мере в топовых моделях) достаточно светосильная, матрица хорошая. Для фотоаппарата аналогичная оптика будет стоить немало. С художественной точки зрения все очевидно -- глубина резкости, перспектива кадра и другие параметры, которое определяются фокусным расстоянием объектива -- на короткофокусном объективе можно только эмулировать программно.

Cъемка и комбинация кадров -- это действительно сильная сторона смартфонов, на фотоаппаратах есть ограниченная поддержка этого, но, с другой стороны, много кадров без заметного изменения скорости съемки таким образом не снимешь.

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

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

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

А вы умеете любую задачу в разработке оценить с точностью до часа? Или предлагаете давать заниженные эстимейты, и потом вечное "не успел, нужно еще Х часов"?

На самом деле, проблема решается, при желании: можно брать/просить следующую задачу моментально после окончания предыдущей. Но и это не панацея, т.к. набор задач на спринт ограничен (и не только вашей производительностю и рабочим временем, но и временем тестировщиков и т.п.)

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

Как админы делятся на тех, кто еще не делает бекапы, и тех, кто уже делает, так и работодатели делятся на тех, кто уже пробовал работать с индусами, и тех, кто еще думает.

Если бы "дорогих" разработчиков можно было бы заменить на "дешевых" индусов, уже все бы заменили (и индусы стали бы дорогими). Однако, это не происходит.

что 80% якобы проблем плюсов надуманы, остальные 20 решаются знанием языка и избеганием его тёмных возможностей, особенно начиная с С++11.

Не, ну в любом языке 95% проблем решаются знанием языка :)

А, разве, не к этому всё идёт? Нам скармливают всё по чуть-чуть. Я полагаю. что в результате массового использования всех этих штучек создатели получили такой набор новых данных, которые позволяют уже на текущем этапе строить некие скелеты, опираясь на которые можно существенно приблизиться к точности и достоверности. Вот увидите, что в какой-то момент произойдёт "революция"! Только это очень хорошо подготовленная революция.

Как по мне, к этому и близко не идет. На мой дилетантский взгляд, генеративный ИИ и General AI -- вещи достаточно разные. Генеративный ИИ -- это (попытка) адаптация существующих примеров кода к новой задаче. Общему ИИ не нужны примеры кода, ему достаточно было бы условного учебника по программированию (ну и такой мелочи, как жизненного контекста, который позволяет человеку-программисту адекватно дополнять неполные требования заказчика).

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

Это видно по нескольким фактам:

  • ИИ не может решить задачу, которая (или более-менее похожая) не была решена ранее и не встречалась в кодовой базе для обучения

  • ИИ хорошо решает простые распространненые задачи, и плохо решает простые задачи, которые раньше не решались и в базу не попали

  • ИИ регулярно использует несуществующие функции и модули, что выдает факт, что документацию он не читал :)

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

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

Согласен с @AllexIn (https://habr.com/ru/articles/844462/#comment_27313414) -- пока не будет General AI, который будет понимать документацию, программистам ничего не грозит.

Что могло бы выстрелить: комбинация лоу код подхода и ИИ в определенной узкой области. Т.е. использовать ИИ не для создания с нуля, а для конфигурации определенной программы. Причем конфигурации на DSL, изначально разработанном/адаптированом для использования ИИ.

Вот-вот, хороший вокал плюс полное отсутствие вкуса

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

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

Ну это не совсем то же самое, но да, шаги в примерно том же направлении:

  • Производство и распространение должны быть монополизированы государством (а частное -- оставаться криминализированым, как и сейчас)

  • Распространение должно быть запрещено -- условно, ты можешь прийти в государственную широчную, где тебе поставят укол, но с собой брать нельзя

  • Все это должно быть бесплатно, но не анонимно

С другой стороны - это для кого-то является переходом Рубикона, и с лёгких наркотиков больше переходит на тяжёлые просто в силу увеличения "воронки".

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

Общество и государство(-ва) в силу многих причин отрицают очевидное положение вещей в мире наркотиков:

  • Они абсолютно доступны тем, у кого есть на них деньги

  • Если кто-то захочет употребить/подсесть -- он легко может это сделать

  • Усиление мер по борьбе лишь увеличивает цену, делая дозы недоступными в первую очередь для наркоманов, и увеличивая социальные риски наркомании.

  • Тот, кто не употребляет и не подсел -- сделал это не потому, что не смог достать :))

Либо источник дешевых, чистых и легальных наркотиков (например, от государства).

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

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

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

А у меня вообще денег нет, так что я могу красть и пиратить все, что хочу, недополученная прибыль невозможна!

1
23 ...

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity