|
|
|
Почему все так сложно?10.05.2018, 20:13. Показов 8548. Ответов 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 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 15.05.2018, 23:12 | ||
|
Они в основе имеют систему доступа к научным статьям и не более. Те же веб-сокеты и новшества HTML5.2 - попытки обойти ограничения заложенные в CGI и HTML разметку, которая пригодна для построения интерфейсов управления приложением чуть менее чем никак. Десктопные распределенные же системы из этих коротких штанишек выросли еще в 80-х. Именно поэтому попытки обойти эти ограничения будут движением в сторону подобных систем. В будущем веб придет к техноогии построения интерфейса аналогичного десктопным фреймверкам в которых HTML будет не более чем форматом встраиваемых текстовых данных. При этом понятие веб-сервер как таковое исчезнет, потому что серверное приложение работающее с сокетом должно быть демоном а не работать в пакетном режиме как скрипты CGI, и заниматься только обеспечением доступа к данным и их обработкой, а не формированием разметки. Добавлено через 7 минут Shamil1, Да то вы просто не слышали о такой штуке как взаимосвязанные элементы коллекции и декларативное описание правил их взаимосвязи. Потому что если знали бы, то понимали бы почему эти O(1) вместе с неизменяемыми данными остались в хеллоувердах 50-ых.
0
|
||
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,900
|
|||
| 15.05.2018, 23:22 | |||
|
Лично мне не понятно, зачем в систему уравнений добавлять ещё одно уравнение. Еще более непонятно, зачем пересчитывать систему уравнений при добавлении в неё уравнения. Вы же не собираетесь в системе уравнений хранить её решение? И уж совсем непонятно, зачем добавлять ещё по одному члену в каждое уравнение. Выбрали неподходящий формат для хранения данных? Пока задача не сформулирована, я не могу предложить решение. Только, пожалуйста, не предлагайте задач, про которые Вы писали, что хорошему специалисту требуется два года чтобы только въехать в тему. Добавлено через 1 минуту
0
|
|||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 15.05.2018, 23:26 | ||
|
0
|
||
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,900
|
||
| 15.05.2018, 23:33 | ||
|
0
|
||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 15.05.2018, 23:59 | |||
|
Добавлено через 6 минут Shamil1, взаимосвязь это взаимосвязь. Она может быть разной. Пример - расстояние между элементами, радиус окружности, параллельность, перепендикулярность, угол между прямыми, концентричность, касательность, колинеарность, инцедентность, равеенство тех или иных параметров - в общем их вагон и маленькая тележка типов, каждая взаимосвязь естественно описывается своим уравнением. Это только взаимосвязи эскиза. У взаимосвязей расположения тел там свой набор, но уже в 3D. Добавлено через 18 минут
0
|
|||
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,900
|
|||
| 16.05.2018, 00:03 | |||
|
0
|
|||
|
2083 / 1576 / 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 / 1576 / 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 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||||
| 16.05.2018, 10:53 | |||||||
|
Добавлено через 3 минуты Добавлено через 3 минуты Добавлено через 1 минуту Добавлено через 12 минут
0
|
|||||||
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,900
|
|||||||||
| 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 / 1576 / 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 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 16.05.2018, 12:16 | ||
|
Shamil1, первейшая оптимизация в данном случае - подстановка x1-x2 в первое уравнение. в результате имеем одно уравнение |y1-y2|=D. Т.е. добавление условия может вообще полностью заменять систему.
Но суть не в изменении самого уравнения. Суть в изменении его решения. Т.е. при этом изменяется модель. Добавлено через 2 минуты
0
|
||
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,900
|
||
| 16.05.2018, 12:16 | ||
|
Полностью скопировать за О(1) получится - добавляем ещё одну ссылку на ту же область памяти. Внести изменения - зависит от структуры данных. Для дерева это O(logN). Но при желании можно добиться практических О(1).
0
|
||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
| 16.05.2018, 12:19 | |
|
Shamil1, Да что вы? Вообще то константа это величина не изменяемая при выполнении алгоритма. При этом вспоминаем первый курс - алгоритм это любая подпрограмма. Соответственно величина вычисляемая одним алгоритмом может быть константой для другого.
0
|
|
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,900
|
||
| 16.05.2018, 12:21 | ||
|
0
|
||
|
2083 / 1576 / 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 | |
|
Если с CMS все так просто, то почему сайты все еще делают в блокнотах? Почему так всё и все изменились за последние 15 лет? Почему все так громоздко? Почему все так не любят tkinter? Почему все так не любят Delphi Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|