Вход | Регистрация
    1  2

Видео: как на Java написать простейший справочник всего за 45 минут

Видео: как на Java написать простейший справочник всего за 45 минут
Я
   Конструктор1С
 
10.02.20 - 08:41
Автор видео, достаёт передовые спринги-хибернейты, и менее чем за час ваяет на Java простейший справочник с формочкой!

https://www.youtube.com/watch?v=e7swABdqOS4

Это вам не на 1с ерундой страдать, тут всё серьёзно, с использованием ОПП
   pechkin
 
101 - 10.02.20 - 13:24
так на жаве тоже можно смотреть код фреймворков и восхищаться красотой
   Конструктор1С
 
102 - 10.02.20 - 13:25
(100) этот ужас хотя бы не монстроузный, в нём ещё как-то можно разобраться и как-то совладать
   pechkin
 
103 - 10.02.20 - 13:26
(102) зато на жаве хотя бы тесты пишут. сломать все сложнее гораздо
   Конструктор1С
 
104 - 10.02.20 - 13:31
(103) сломать легче, но благодаря тестам легче найти место поломки
   eTmy
 
105 - 10.02.20 - 13:35
(102) Тут не соглашусь... точно также в таких фирмах сомнительные программисты, не задумываясь делают сомнительные задачи менеджеров... Придумывают странные механизмы, а потом когда нужно это все будет обрастить мясом через пару лет, наступает огромная жёпа. Программисты уже другие, и начинаются костыли... так что это не столько проблема языка, сколько в целом адекватной разработки нового решения
   Конструктор1С
 
106 - 10.02.20 - 13:46
(105) так никто не говорит, что это проблема Java. Все системы имеют свойство деградировать по мере роста сложности. Вон, майкрософт ядро винды фиг знает сколько раз переписывала, плюс куски периодически переписывает. У Java даже оказался бОльший запас прочности, чем у других ЯП, что позволило существовать монстроузным энтерпрайзам. Речь про то, что на Java уродливые монстры, писавшееся годами, это обыденность и повседневность. В таком приходится копаться многим джавистам. А вовсе не заниматься уютным программированием под чашечку кофе, как это расписывают продавцы многочисленных книг и курсов
   Надо работать
 
107 - 10.02.20 - 13:56
(0) Норм, в Аксапте например для вывода печатной формы (в Эксель, по другому не умеют) нужно переопределить порядка десятка классов
   Горностаев
 
108 - 10.02.20 - 14:20
(0)спасибо за интересную ссылку.

Вот что мне нравится в Java так это то что по ней очень много материала. Учись - не хочу.
   080808Ник
 
109 - 10.02.20 - 14:21
(103) (104) вот мне непонятно на счет тестов. а почему есть уверенность что тесты правильные?
   jbond
 
110 - 10.02.20 - 14:34
Новый тренд: валить на сейлсфорсы! зарплата от 70К!
   Горностаев
 
111 - 10.02.20 - 14:51
(110)интересная штука. только 70к это же ниже чем у 1с-ников.
и непонятно почему они выбрали не Java а его клон?
   jbond
 
112 - 10.02.20 - 15:01
(111) - долларов в год
   jbond
 
113 - 10.02.20 - 15:04
Стартовая зарплата сейслфорсера на западе 70 (прописью - семьдесят) тысяч долларов в год до налогов
   jbond
 
114 - 10.02.20 - 15:05
>и непонятно почему они выбрали не Java а его клон?

чтобы туда никто не шел. И не ронял планку зарплат
   polosov
 
115 - 10.02.20 - 15:12
(110) Это фузина здорового человека чтоль?
   APXi
 
116 - 10.02.20 - 15:13
(103) Не везде пишут. В 1С тоже пишут.
   Garykom
 
117 - 10.02.20 - 15:15
(110) (113) Эээто же американская 1С БП/ERP же.
   jbond
 
118 - 10.02.20 - 15:16
(115) - да, здорового, богатого и немного побитого самим сейлсфорсом
   dumb851
 
119 - 10.02.20 - 15:16
не понял, что не так?
java это другой уровень абстракции.
Мог бы импортировать готовую библиотеку за 30 сек и что тогда?
   Garykom
 
120 - 10.02.20 - 15:18
(118) Хорошая идея разрешить 1С только в облаке и 1Сников туда к конфигуратору пускать только по личному УКЭП который только после сдачи экзаменов.

Зарплаты взлетят или точнее расслоятся моментально.
   jbond
 
121 - 10.02.20 - 15:31
(0) Что такое ОПП?
   eTmy
 
122 - 10.02.20 - 15:35
(121) Объект половых притяжений
   Йохохо
 
123 - 10.02.20 - 15:40
(120) кто то форкнет 8.3.10
   Гобсек
 
124 - 10.02.20 - 15:46
(120) Некоторым заказчикам нужны очень простые решения, которые легко наваяет студент.
А вот если усложнят допуск на изменение непосредственно типовых конфигураций, то это будет оправданно. Когда доведут до ума и обкатают как следует расширения и в 95% случаев доработка будет делаться через них.
   dimiurggig
 
125 - 10.02.20 - 15:58
(84) << В Java неполноценное ООП. Например, там нет множественного наследования.

А зачем нужно множественное наследование когда можно унаследоваться от нескольких интерфейсов?!

В С# тоже запрещено множественное наследование и между тем на сегодняшний день это самый правильный ОО язык программирования.
   dimiurggig
 
126 - 10.02.20 - 16:06
(0) Автор темы, а тебя не смутило что пример на джаве, над которым ты смеешься, реализует работу с базой данных по http протоколу, то есть без поддержки состояния? Это совсем - совсем другая тема чем создание формы справочника.
   pechkin
 
127 - 10.02.20 - 16:08
(126) а что за поддержка состояния на уровне БД?
   dimiurggig
 
128 - 10.02.20 - 16:09
(127) В смысле? Причем здесь БД? В http протоколе не сохраняется состояние клиента между запросами клиент - сервер.
   pechkin
 
129 - 10.02.20 - 16:11
(128) ну так серевер 1с тоже стейтлесс
   dimiurggig
 
130 - 10.02.20 - 16:14
(129) А вот и нет. Фирма 1С при создании тонкого клиента воодушевилась идеями, которые впервые применила MS в технологии ASP.NET WebForms. Они решили сохранять состояние через ViewState. Именно так и делает 1С когда вызывает серверную функцию с контекстом.
 
 Рекламное место пустует
   pechkin
 
131 - 10.02.20 - 16:17
ну формы имеют состояние. но так ли оно нужно? или это костыль?
   Garykom
 
132 - 10.02.20 - 16:21
(124) Предлагаю этим некоторым испльзовать фузину или джаву ну или вот Salesforce
   Конструктор1С
 
133 - 10.02.20 - 16:22
(119) вот он и импортировал готовые... весьма популярные спринг, томкэт и хибернейт. Не на голой же Java он писал
   dimiurggig
 
134 - 10.02.20 - 16:22
(131) если у вас тонкий клиент, то либо упаковывать данные формы и гнать их на сервер, либо работать с куками. 1Сники готовы работать с куками? ))))
   080808Ник
 
135 - 10.02.20 - 16:25
(134) может вебклиент? какие куки в тонком клиенте локально?
   Конструктор1С
 
136 - 10.02.20 - 16:28
(126) ну да, это более уныло и ненадежно. Чтобы не допустить рассинхронизации данных, придётся ещё на пару часов видео кодинга делать
   pechkin
 
137 - 10.02.20 - 16:28
(134) вопрос в том что все данные не нужно гонять туда сюда
   dimiurggig
 
138 - 10.02.20 - 16:32
(135) Без разницы. web клиент, тонкий клиент - 1С гоняет данные формы с клиента на сервер и обратно. Это плата за то, чтобы сохранялось состояние. Такое решение хорошо работает в локальной 100 мегабитной сети. Зачем вообще оно нужно было, это непонятно. Все равно с таким подходом в настоящий интернет на выйдешь. Майкрософт попробовала это сделать со своим viewstate - ом, обожглась, и всю свою web технологию переделала на asp.net mvc без viewstate. Так что все эти тонкие клиенты внутри локальной сети не знаю зачем сдались? оставили бы толстый клиент, он гораздо удобнее в работе.
   dimiurggig
 
139 - 10.02.20 - 16:35
(136) Да, приходится, то так создаются web приложения. Других технологий нет. Причем здесь 1С и быстрота создания справочников в ней?
   Конструктор1С
 
140 - 10.02.20 - 16:38
(139) притом, что в 1с многие полезности платформа берёт на себя
   dimiurggig
 
141 - 10.02.20 - 16:46
(140) С этим никто не спорит, если нужно создать приложение для локальной сети, то лучше выбрать 1С, причем не только для бухгалтерских задач. Но для web есть только Java и ASP.NET Core. Это разные вселенные, сравнивать их просто глупо.
   dimiurggig
 
142 - 10.02.20 - 16:46
141+ Имеется в виду сравнивать с 1С
   pechkin
 
143 - 10.02.20 - 16:47
(141) а как же пхп, питон, жс ?
   ДенисЧ
 
144 - 10.02.20 - 16:49
(141) "для web есть только Java и ASP.NET Core"
Это кто такую чушню сказал?
   dimiurggig
 
145 - 10.02.20 - 17:16
(144) Вам я разрешаю использовать php для написания серверного кода, или даже С.
   pechkin
 
146 - 10.02.20 - 17:19
(145) баду например на пхп пишут
   dimiurggig
 
147 - 10.02.20 - 17:30
(146) После того как MS представила Razor Pages писать серверный код на чем - то другом - это знатное извращение. Вы по доброй воле готовы отказаться от C# и связанного с ним фреймворка, LinqToXML, например?! Попробуйте технологию Linq, и вас будет просто ломать от деревянности и корявости всего другого.
   Garykom
 
148 - 10.02.20 - 17:38
(147) Насчет Linq так это банальный https://ru.wikipedia.org/wiki/ORM который как раз широко используется в 1С.
И давным давно использовался в Java.

А всяческие Razor Pages так нынче есть дохрена фреймворков на JS которые из коробки реализуют данный функционал сохранения данных в сессии.
   dimiurggig
 
149 - 10.02.20 - 18:19
(148) ORM - это object relational mapping, в .net это Entyti Framework, который лично я совсем не использую, предпочитаю оставаться на уровне ado.net. Но говорить что 1С - это ORM просто смешно хотя бы потому что в 1С нет ООП, и значит просто нет экземпляров классов, которые можно маппить на реляционные структуры.

А Linq гораздо обширнее, чем просто отображение данных на реляционные структуры. Он объединяет все наборы данных единой нитью, позволяя легко перекачивать их из одного вида в другой. Вот только вчера я написал такой код для корректировки xml файлов. Суть его проста, надо вставить атрибут СумНДС после атрибута НалСт. Могу представить сколько придется помудохаться с этой задачей на Java или 1с.

                    
                    XElement root = XElement.Load(fileEntries[0]);
                    IEnumerable<XElement> работа =
                            from el in root.Descendants("Работа")
                            select el;
                    foreach (XElement el in работа)
                    {
                        IEnumerable<XAttribute> attList =
                            from at in el.Attributes()
                            select at;

                        List<XAttribute> atr = attList.ToList();
                        el.RemoveAttributes();

                        foreach (XAttribute at in atr)
                        {
                            el.SetAttributeValue(at.Name, at.Value);
                            if (at.Name == "НалСт")
                            {
                                el.SetAttributeValue("СумНДС", "0.00");
                            }
                        }
                    }
   pechkin
 
150 - 10.02.20 - 18:20
(149) как это нет? а как же ДокументОбъект?
   pechkin
 
151 - 10.02.20 - 18:22
(149) узел добавить через ДокументDOM совсем не сложно
   dimiurggig
 
152 - 10.02.20 - 18:23
(150) ДокументОбъект на самом деле является структурой, а не объектом
   pechkin
 
153 - 10.02.20 - 18:23
(152) а методы откуда тогда у него?
   Сияющий в темноте
 
154 - 10.02.20 - 18:41
(149) текстовый парсер и regexp сьедают эту проблему бещ вопросов.
   Garykom
 
155 - 10.02.20 - 18:49
(149)
   Garykom
 
156 - 10.02.20 - 18:56
(149)
node := xmldom.Must(xmldom.ParseXML(fileEntries[0])).Root
children := node.GetChildren("Работа")
for _, c := range children {
   attr := c.GetAttribute("НалСт")
   if attr != nil {
      c.SetAttributeValue("СумНДС", "0.00")
   }
}

   080808Ник
 
157 - 10.02.20 - 18:59
(149) "Но говорить что 1С - это ORM просто смешно хотя бы потому что в 1С нет ООП, и значит просто нет экземпляров классов, которые можно маппить на реляционные структуры." а потом такие товарищи пишут в цикле Если Выборка.ССылка.ДокументОснование.Склад.ВидСклада = ВидыСкладов.Оптовый ТОгда)))
   080808Ник
 
158 - 10.02.20 - 19:00
(149) "Могу представить сколько придется помудохаться с этой задачей на Java или 1с." фабрика хдто тебе в помощь)
   080808Ник
 
159 - 10.02.20 - 19:02
(152) "ДокументОбъект на самом деле является структурой, а не объектом" а откуда "структура" берет данные, включая табличные части?
   080808Ник
 
160 - 10.02.20 - 19:03
(159) + и откуда у структуры методы?)
 
 Рекламное место пустует
   ДенисЧ
 
161 - 10.02.20 - 19:09
(158) Ему в помощь галоперидол нужен. А не xdto
   ДенисЧ
 
162 - 10.02.20 - 19:09
(160) У структуры в С++ могут быть методы ))
   trdm
 
163 - 10.02.20 - 19:25
(160) методы есть. отличие от класса: кнструкторы и деструкторы не вызываются.
   ДенисЧ
 
164 - 10.02.20 - 19:41
(163) Шта???

#include <iostream>

struct Test {
  Test() {
        std::cout<<"Test ctor\n";
    }
    ~Test() {
        std::cout<<"Test dctor\n";
    }
} ;

void main() {
    Test* t;
    std::cout<<"Creating\n";
    t = new Test;
    std::cout<<"Deleting\n";
    delete t;
    std::cout<<"Finish\n";
}

/out:str.exe
str.obj

D:\1>str
Creating
Test ctor
Deleting
Test dctor
Finish
   NorthWind
 
165 - 11.02.20 - 08:17
(163) в плюсах struct и class это почти одно и то же. Отличия там чисто косметические.
   ДенисЧ
 
166 - 11.02.20 - 08:55
(165) Ну как косметические.. Если область видимости по умолчанию считать косметикой...
   Конструктор1С
 
167 - 11.02.20 - 09:35
Эх, а вот лет 10 назад одноэсники носились со стереотипами, якобы плюсы круче 1с)
   jbond
 
168 - 11.02.20 - 15:30
(156)  В поцкал завезли анонимные переменные?
  1  2

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.