Вход | Регистрация
    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

Список тем форума
Рекламное место пустует  Рекламное место пустует
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.