Search
Write a publication
Pull to refresh
-1
0
Георгий @gochaorg

Пользователь

Send message

Получается проверка на уникальность в java, а в бд его нет ?, если так, тогда странное:

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

Если не обеспечить эту атомарность, то будет такое

| # | client 1      | client 2       |
|---|---------------|----------------|
| 1 | insert begin  |                |
| 2 |               |  insert begin  |
| 3 |               |  insert finish |
| 4 | insert finish |                |

client 1 и client 2 - хотят вставить одну и ту же запись - по идее только один должен суметь
но будут вставлены обе записи, по скольку каждый клиент работает в своей сессии/транзакции и включен режим MVCC или SnapShot isolation... read commited

по скольку на начало операции insert никто из них не видит изменений соседа

предварительная проверка в духе (table.field1Constraint1 = value1Constraint1 AND table.field2Constraint1 = value2Constraint1...) OR (...другой констрейнт)

не сработает в этой ситуации, по скольку опять же read commited еще не произошел, да же если insert был, но не было еще commit - то, опять же сосед ничего не узнает

В любом случае как не крути, необходима блокировка, по скольку id - должно быть уникальным значением

блокировка может быть и не явная, например по просить новый id у базы, например sequence (oracle)

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

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

Белила титановые, цинковые и свинцовые - все они сейчас продаются, но в магазинах в основном только титановые. Так вот титановые белила - самые менее насыщенные. А если пишете картину, то белил в обычном случае надо больше чем других, а с этими все резко хуже, их раз в 5-10 больше надо, чем тех же свинцовых. Титановых придется накладывать в несколько слоев, что бы хоть как-то перекрыть краску. Ну а на счет вреда, ... не знаю на счет производства, но у меня есть выборка условно из 20 человек, которые по роду деятельности пользуются белилами на протяжении 30+ лет. Вот отравления желудка или еще ... что связанного именного свинцом/цинком не замечено.

Но ... внезапно в начале 200х их объявили вредными - и фиг купить стало, ... ладно сейчас вроде по проще, а тогда внезапная истерия.

Другой пример, сам и вся группа из 15 человек, и сколько было до меня и после меня, на свинце выколачивали чеканку. т.е. по 6-8 часов, 3-5 раз в неделю, на протяжении года взаимодействовали с опасным свинцом... и вот знаете... что самое опасное при чеканке ?
шум

Ну и третье... опасные вещества.... у... свинец... да вот пофиг, при ювелирном деле - пайке, используются флюсы (смесь борной кислоты и буры), а для удаления флюса - соляная кислота - 2..5%. у нас была 2%. так вот банку с водой и кислотой на глаз не отличишь, они обе прозрачные. А проверяли просто - на вкус, или палец засовываешь в банку или просто капаешь на руку и слизываешь. Если кисло становилось, с легким щипанием - то кислота. проходило буквально за 3-5 сек. Кислота во рту быстро смешивается с другими жидкостями и растворяется. А если вспомнить что в желудке кислота и по сильнее будет, то... вообще не страшно.

А вы мне тут страшными пигментами пугаете, ой боюсь, боюсь...

Извеняюсь, а где операция flatMap?

Как то мало операций, да и не те, filter и map легко можно заменить на flatMap, а fold, size для ограниченный (конечных) итераторов годиться

Хорошая статья, вопрос а как на счет пиксельного монитора ?

Прямой аналог подгрузки скриптов  - это директива import в C++

я имел ввиду загрузку по сети файлов (примитивный случай GET запрос -> и функция eval), а этот пример статической компиляции - и он принципиально другой

Касательно архитектуры приложений - то, это только windows приложения, то есть других не бывает что ли? т.е. приложения под arudino и микроконтроллеры, DOS блин, под крипту (смарт контракты), и т.д. уже не самостоятельные приложения ?

если уж докапыватся, то в частности DLL, Threads, OOP - это все частные случаи технологий, и то что их где-то нет, а где-то по другому реализованы (js) вкусовщина

Есть вообще по фундаментальней понятия, которые осознав школьнику, можно больше не копаться в тонкостях, того или иного языка без прямой необходимости

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

Я отвечу, позиция понятна и я с ней согласен

Pascal - по мне это традиция обучения, но ее не критикуют, а тот кто критикует, ему достается

Я так же мыслю, если задача обучить программированию, то обучать имеет на языках
1 которые доступны - самый доступный js, он есть в браузере (Chrome,IE,Firefox) на любой современной ОС

2 есть современные ide как браузерах бесплатные, так и stand alone и тут выступают море языков

3 аргументы, про то, что вы не умеете готовить Pascal, ну они мимо, задача же обучить программированию, а не Pascal

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

4.1 Для меня в сознательном возрасте было открытие ООП как парадигмы, но вот если кто-то просто и на пальцах показал бы так, надо, а так не надо в программировании, я бы многое бы отдал бы - это я о ценности преподавателя, она просто недооцененная

4.2 Уже значительно позже изучая функциональщину (опять самостоятельно) я смотрю на это ООП как ну... случайный виток в эволюции языков

4.3 Изучая теорию компиляторов и разных парадигм, шаблонов, design pattern, dsl, ddd, ... смотрю на очередные языки (и Delphi рулит), нет... не один язык не является совершенным, все эти споры о языках это просто спор не по сути

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

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

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

кому то и Delphi зайдет, а кому то нужно и по проще, например Python, тем более что и там и там есть базовые понятия как if / while / function / array / recursion

А вот типизация на начальных этапах, так же как и компиляция это усложнение, которое не ускоряет понимание базовых понятий, а скорее на оборот

а я правильно понял, что без знания написания dll front-end разработчик уже не может выполнять свои обязанности ?

а я чет думал что базовые концепты, это там циклы, переменные и т.д. но не как dll, dll вообще то же прикладная часть специфичная для windows, и тем более activex, которого под nix днем, с огнем не найдешь.

да и последнее время ведется спор о ООП

Разве для front-end написание DLL является необходимостью, без которого он не сможет выполнять обязанности ?

Разве для Delhi | Pascal знание React или Vue является необходимостью ?

Так... погодь... то, что скинул мне принципиально не подходит, я вот хочу свой парсер/линтер/компилятор/статический анализатор для Delphi 7 - 2010 написать

И вот из того описания, что скинуто, ну ни как это не сделать, пока что я видел картинку, а chm как понимаю этого описания нет

нет формального описания грамматики для построения AST и правил вывода типов в случае Generic/Variant/и т.д. для вычисления типов этого AST

Вот нету у меня этой chm файла, в этом chm файле описываются все 6 случаев ? в нем все грамматические правила описаны ? они описаны строго, однозначно и непротиворечиво ? так что по ним можно построить парсер и компилятор ?

Ну так вопрос не к тому что ты знаешь, а к тому где о этом официально почитать, что бы иметь первоисточник знаний

т.е. хочешь сказать, что школьников учат писать код без RTL ?

Если есть в языке способ отстрелить себе ногу, то утверждать при этом что это нет - то же странно

то, что не давали про Variant, тут еще вопрос, на сколько это здраво - аналогия: как дать электроинструмент и не объяснить технику безопасности

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

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity