|
|
|
Почему все так сложно?10.05.2018, 20:13. Показов 8255. Ответов 160
Метки нет (Все метки)
Здравствуйте! Почему все так сложно в мире программирования, казалось бы простом?
Например, чтобы написать приложение на vue нужно выдумывать подключение к api которое нужно писать на django (например) и у которого десятки файлов с "кодом" с моделями, вьюхами, урлами, подключением к postgresql дальше нужно настраивать синхронизацию, потом писать разрешения и в vue и в django... Или на php - пишем код, потом берем фронтенд, более менее приличный, получается только на angular, vue, react пишем отдельно код на php потом пишем структуру базы данных , схему, саму базу формируем и создаем потом описываем подключение хорошо, если программист знает, что нужно сразу писать api к которому подключаться любым фронтом, а если нет... тогда или tpl-ки клепать, или придумывать php+html в котром тоже, гемор еще тот ... почему до 2010 года был линукс, мягко говоря, "консольный"... и пока до них дошло, что система должна быть визуальной - как windows - зато теперь красота! ubuntu 18 - почти идеальна! Также и с программированием! Зачем все эти сложности? Теоретически, ведь можно взять принцип моделей от django, которые простым python3 manage.py makemigrations + migrate делает всю работу по моделированию базы данных... но! Встает вопрос - а как потом работать? Нужно что-то похожее на vue, но только в ЖЕСТКОЙ связке с api с моделями! Обсудим? Какие есть решения? Добавлено через 27 минут по сути, это должно быть простым CRUD приложением но с возможностью подключения к базе данных
0
|
|
| 10.05.2018, 20:13 | |
|
Ответы с готовыми решениями:
160
Zend Framework - почему всё так сложно? Почему так сложно? Делегаты "почему так сложно а ?:(" |
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 15.05.2018, 23:12 | ||
|
Они в основе имеют систему доступа к научным статьям и не более. Те же веб-сокеты и новшества HTML5.2 - попытки обойти ограничения заложенные в CGI и HTML разметку, которая пригодна для построения интерфейсов управления приложением чуть менее чем никак. Десктопные распределенные же системы из этих коротких штанишек выросли еще в 80-х. Именно поэтому попытки обойти эти ограничения будут движением в сторону подобных систем. В будущем веб придет к техноогии построения интерфейса аналогичного десктопным фреймверкам в которых HTML будет не более чем форматом встраиваемых текстовых данных. При этом понятие веб-сервер как таковое исчезнет, потому что серверное приложение работающее с сокетом должно быть демоном а не работать в пакетном режиме как скрипты CGI, и заниматься только обеспечением доступа к данным и их обработкой, а не формированием разметки. Добавлено через 7 минут Shamil1, Да то вы просто не слышали о такой штуке как взаимосвязанные элементы коллекции и декларативное описание правил их взаимосвязи. Потому что если знали бы, то понимали бы почему эти O(1) вместе с неизменяемыми данными остались в хеллоувердах 50-ых.
0
|
||
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,890
|
|||
| 15.05.2018, 23:22 | |||
|
Лично мне не понятно, зачем в систему уравнений добавлять ещё одно уравнение. Еще более непонятно, зачем пересчитывать систему уравнений при добавлении в неё уравнения. Вы же не собираетесь в системе уравнений хранить её решение? И уж совсем непонятно, зачем добавлять ещё по одному члену в каждое уравнение. Выбрали неподходящий формат для хранения данных? Пока задача не сформулирована, я не могу предложить решение. Только, пожалуйста, не предлагайте задач, про которые Вы писали, что хорошему специалисту требуется два года чтобы только въехать в тему. Добавлено через 1 минуту
0
|
|||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 15.05.2018, 23:26 | ||
|
0
|
||
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,890
|
||
| 15.05.2018, 23:33 | ||
|
0
|
||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 15.05.2018, 23:59 | |||
|
Добавлено через 6 минут Shamil1, взаимосвязь это взаимосвязь. Она может быть разной. Пример - расстояние между элементами, радиус окружности, параллельность, перепендикулярность, угол между прямыми, концентричность, касательность, колинеарность, инцедентность, равеенство тех или иных параметров - в общем их вагон и маленькая тележка типов, каждая взаимосвязь естественно описывается своим уравнением. Это только взаимосвязи эскиза. У взаимосвязей расположения тел там свой набор, но уже в 3D. Добавлено через 18 минут
0
|
|||
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,890
|
|||
| 16.05.2018, 00:03 | |||
|
0
|
|||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||
| 16.05.2018, 01:24 | ||||
|
Ну а более простой пример. Представьте себе самую обычную форму. у нее две панели с алигном разделенные сплиттером. потащили сплитер - панели меняют свой размер. Обе. Не говоря уже о том что происходит внутри самих панелей (пересчет координат расположенных на них элементов и т.д.). Какие тут могут быть неизмняемые данные о координатах как панелей так и содержащихся в них элементов? Добавлено через 6 минут Добавлено через 1 час 3 минуты
0
|
||||
|
31 / 40 / 6
Регистрация: 04.10.2014
Сообщений: 185
|
|
| 16.05.2018, 02:35 | |
|
0
|
|
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 16.05.2018, 05:24 | ||
|
Redee, вот в том то и суть. Одну точку потянул - вторая должна подвинуться так чтобы эта сумма квадратов катетов осталась неизменной.
Добавлено через 2 часа 46 минут
0
|
||
|
|
||
| 16.05.2018, 10:14 [ТС] | ||
|
пожалуй к основным требованиям для приложений будущего, можно отнести: "Браузерные" ограничения. Экосистема мобильных/планшетных/специальных браузеров во многом напоминает фрагментированную среду настольных браузеров несколько лет назад, когда разработчики выпускали всё новые версии с фатальными недоработками и несовместимостями. Ограниченный размер/диагональ/цветность экрана. Мало место для данных, мелкие изображения. Меньше одновременных подключений. Это важно, поскольку в отличие от настольных браузеров, способных выполнять много одновременных асинхронных запросов, у мобильных браузеров ограниченное количество подключений к одному домену. Сеть медленнее. На производительность сети очень сильно влияет общий уровень приёма сигнала, обслуживание многочисленных абонентов (и хотя кто-то из них сидит на Wi-Fi, некоторые сети становятся перегруженными и выполняют дополнительные операции поиска, если пользователь подключается к другой базовой станции). Ниже вычислительная мощность. Интенсивные клиентские вычисления, отрисовка 3D и активное использование JavaScript могут сильно уменьшить производительность. Меньше кэши. Мобильные клиенты в целом ограничены по памяти, так что ради повышения производительности лучше не слишком полагаться на закэшированный контент.
0
|
||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||||
| 16.05.2018, 10:53 | |||||||
|
Добавлено через 3 минуты Добавлено через 3 минуты Добавлено через 1 минуту Добавлено через 12 минут
0
|
|||||||
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,890
|
|||||||||
| 16.05.2018, 12:10 | |||||||||
|
Если при добавлении нового уравнения нужно как-то оптимизировать остальные, то создаём новый список отображением предыдущего: "x = map f x". Если отношение не "1 к 1", а "1 к 0 или 1", то вместо map используем choose. Функция f не изменяет уравнения. Она либо возвращает старое, либо создаёт новое. Кстати, старый список можно сохранить для Undo. Так же я не понимаю, зачем в Системе Уравнений (по сути - список уравнений) хранить её решение. У Вас в любом случае есть функция, которая решает систему. Там, где нужно решение, а не сама система, вместо x передаём f(x). Эта функция может внутри себя кэшировать решения, но это не имеет никакого отношения к самой системе (тип данных "Система Уравнений" не должен зависеть от того, кэширует та функция решения или нет). По-моему, всё очень просто. И все типы данных - неизменяемые. Добавлено через 3 минуты
Y - неизменяемое поле. НЕ константа. её значение неизвестно на момент компиляции. Добавлено через 6 минут
0
|
|||||||||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
| 16.05.2018, 12:11 | |
|
Shamil1, Кстати еще один аналог почему скопировать байконур за O(1) не получится. представьте себе шахматную доску. Позиция на ней - т.е. матрица 8x8 соответствует модели, бланк записи ходов партии - ленте редактирования. Очевидно что не изменяя исходную матрицу можно либо ее полностью скопировать с внесением изменений при копировании, что не есть O(1), либо добавить ход в запись, что не есть изменением позиции, а только записью команды изменения. Очевидно что по записи ходов можно восстановить любую из позиций партии, но по записи нельзя ни сравнить две позиции, поскольку к одной и той же позиции может вести разная последовательность ходов, ни произвести к примеру построение списка ходов возможных в данной позиции. Для решения этих задач нужно иметь именно восстановленную по записи матрицу.
0
|
|
|
|
||||||
| 16.05.2018, 12:14 [ТС] | ||||||
|
но и это ни о чем не говорит, конечно
0
|
||||||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 16.05.2018, 12:16 | ||
|
Shamil1, первейшая оптимизация в данном случае - подстановка x1-x2 в первое уравнение. в результате имеем одно уравнение |y1-y2|=D. Т.е. добавление условия может вообще полностью заменять систему.
Но суть не в изменении самого уравнения. Суть в изменении его решения. Т.е. при этом изменяется модель. Добавлено через 2 минуты
0
|
||
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,890
|
||
| 16.05.2018, 12:16 | ||
|
Полностью скопировать за О(1) получится - добавляем ещё одну ссылку на ту же область памяти. Внести изменения - зависит от структуры данных. Для дерева это O(logN). Но при желании можно добиться практических О(1).
0
|
||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
| 16.05.2018, 12:19 | |
|
Shamil1, Да что вы? Вообще то константа это величина не изменяемая при выполнении алгоритма. При этом вспоминаем первый курс - алгоритм это любая подпрограмма. Соответственно величина вычисляемая одним алгоритмом может быть константой для другого.
0
|
|
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,890
|
||
| 16.05.2018, 12:21 | ||
|
0
|
||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 16.05.2018, 12:26 | ||
|
IRIP, АСГ это абстрактный синтаксический граф. т.е. дерево разбора связанное со словарем разбора. Оно пригодно как к выполнению простейшей VM, так и к докомпиляции в машкод или байткод любой VM.
Добавлено через 2 минуты Добавлено через 1 минуту Shamil1, На матрицу 8x8? Добавили. Как от этого пешка переместилась с D2 на D4? для этого в ячейку D2 надо записать нолик в ячейку D4 код пешки.
0
|
||
| 16.05.2018, 12:26 | |
|
Помогаю со студенческими работами здесь
120
Если с CMS все так просто, то почему сайты все еще делают в блокнотах? Почему так всё и все изменились за последние 15 лет? Почему все так громоздко? Почему все так не любят tkinter? Почему все так не любят Delphi Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы
Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
|
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция
Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
|
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
|
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
|
|
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
|
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика
Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
|
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации:
В классе Работник добавить:
накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни
коэффициентПрезентеизма — снижает продуктивность. . .
|
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день.
Для работы необходим браузер,. . .
|