Size: a a a

2020 September 01

Ш

Шляпник in Delphi & Lazarus
может быть - я не смотрел фактический план запроса, просто делал замер скорости выполнения многократным нажатием F5
источник

GB

George Bakhtadze in Delphi & Lazarus
Шляпник
может быть - я не смотрел фактический план запроса, просто делал замер скорости выполнения многократным нажатием F5
не может быть. первый запрос медленно, потому что данные с диска поднимались. а аргументы в статье нормальные вполне. каждого достаточно.
источник

Ш

Шляпник in Delphi & Lazarus
George Bakhtadze
не может быть. первый запрос медленно, потому что данные с диска поднимались. а аргументы в статье нормальные вполне. каждого достаточно.
ну и зачем тогда было спрашивать? Я тебе сказал как есть - план не смотрел и менеджмент временных затрат не проводил. T-SQL как и любой продукт Мелкомягких бывает иногда интересные фортеля выбрасывает на ровном месте.

Аргументы в статье по больше части за уши притянуты. К тому же, тема статьи отдельно - тело статьи отдельно. Тема - чем плохи хранимки, тело - чем крут php, а pl/pgsql говно. Так и писали бы в теме: PHP нагибает pl/pgsql: примеры и факты.
источник

GB

George Bakhtadze in Delphi & Lazarus
Шляпник
ну и зачем тогда было спрашивать? Я тебе сказал как есть - план не смотрел и менеджмент временных затрат не проводил. T-SQL как и любой продукт Мелкомягких бывает иногда интересные фортеля выбрасывает на ровном месте.

Аргументы в статье по больше части за уши притянуты. К тому же, тема статьи отдельно - тело статьи отдельно. Тема - чем плохи хранимки, тело - чем крут php, а pl/pgsql говно. Так и писали бы в теме: PHP нагибает pl/pgsql: примеры и факты.
там пхп только для примера. можно любой другой язык (ну почти :) ) взять вместо него, аргументы останутся на месте
источник

Ш

Шляпник in Delphi & Lazarus
"Вред хранимых процедур" - тема общая. Следовательно, подразумевает доводы, отвязанные от определённых языков. И вообще приводить аргументы, взяв всего по одному язык с каждой стороны при рассуждении на общую тему - это моветон и дилетантизм.

Уже первый минус говорит о настоящей теме статьи:
"Версионирование

Если в случае с кодом на php вы можете просто переключиться в git..."

С какого рожна, с какого дуба php упал. Он вообще возник резко как понос после несвежей рыбы с молоком.

По самому минусу вялые рассуждения без конкретики, заканчивающиеся убойным аргументом "Поэтому придется искать какие-то дополнительные инструменты...", т.е. git автор не считает дополнительным инструментом к php. Приплыли, что называется. По остальным минусам тоже подобно можно проехаться. И вообще странно видеть столь вяло структурированный и нелогически аргументированный бред от программиста, у которого мышление вообще-то должно работать именно по этим критериям (структурированности и логичности, причём стройной логичности).

PS: "PostgreSQL никак не развивается..." - ну-ну, не знаю как там у него с развитием, но за последние годы в вакансиях он мелькает всё чаще и чаще, а вот любимый автором php частотой не блещет.
источник

АВ

Александр В... in Delphi & Lazarus
Ну вообще, если так посудить....хранимки печальны тем, что там ну оооочень легко наговнокодить:D
источник

Ш

Шляпник in Delphi & Lazarus
Александр В
Ну вообще, если так посудить....хранимки печальны тем, что там ну оооочень легко наговнокодить:D
особенности декларативного языка я полагаю. Там в принципе сложно какими-то отладками заниматься, там скорее прокатит TDD и автотесты. Я когда работаю со сложными запросами предпочитаю иметь под рукой заготовки тестовых данных с ожидаемыми результатами.
источник

GB

George Bakhtadze in Delphi & Lazarus
Шляпник
"Вред хранимых процедур" - тема общая. Следовательно, подразумевает доводы, отвязанные от определённых языков. И вообще приводить аргументы, взяв всего по одному язык с каждой стороны при рассуждении на общую тему - это моветон и дилетантизм.

Уже первый минус говорит о настоящей теме статьи:
"Версионирование

Если в случае с кодом на php вы можете просто переключиться в git..."

С какого рожна, с какого дуба php упал. Он вообще возник резко как понос после несвежей рыбы с молоком.

По самому минусу вялые рассуждения без конкретики, заканчивающиеся убойным аргументом "Поэтому придется искать какие-то дополнительные инструменты...", т.е. git автор не считает дополнительным инструментом к php. Приплыли, что называется. По остальным минусам тоже подобно можно проехаться. И вообще странно видеть столь вяло структурированный и нелогически аргументированный бред от программиста, у которого мышление вообще-то должно работать именно по этим критериям (структурированности и логичности, причём стройной логичности).

PS: "PostgreSQL никак не развивается..." - ну-ну, не знаю как там у него с развитием, но за последние годы в вакансиях он мелькает всё чаще и чаще, а вот любимый автором php частотой не блещет.
git не доп инструмент, а уже стандарт. и пхп тут не при делах. и проблема версионирования хранимок есть. как их версионируешь кстати?
по поводу не развивается - очевидно же что речь не о Postgre, а об инструментах разработки для pl/pg sql.
источник

E

Endless in Delphi & Lazarus
Доброй ночи. Подскажите, пожалуйста, в чём проблема?

program 2grad;
var
 m, n, i, j, start: integer;
 
begin
 writeln('j) (2^m)^n;');
       write('Enter n and m: ');
       read(n, m);

       write('((2^,', m, '))^', n, ') = ');

       start := 2;
       for i := 2 to m do
               start := start * 2;

       for j := 2 to n do
               start := start * 2;

       writeln(start);
end.


Компилятор пишет "2grad.pas(1,9) Fatal: Syntax error, "identifier" expected but "ordinal const" found".
источник
2020 September 02

AS

Alexey Shumkin in Delphi & Lazarus
Endless
Доброй ночи. Подскажите, пожалуйста, в чём проблема?

program 2grad;
var
 m, n, i, j, start: integer;
 
begin
 writeln('j) (2^m)^n;');
       write('Enter n and m: ');
       read(n, m);

       write('((2^,', m, '))^', n, ') = ');

       start := 2;
       for i := 2 to m do
               start := start * 2;

       for j := 2 to n do
               start := start * 2;

       writeln(start);
end.


Компилятор пишет "2grad.pas(1,9) Fatal: Syntax error, "identifier" expected but "ordinal const" found".
Имя идентификатора (в данном случае, это название программы) не может начинаться с цифры
источник

E

Endless in Delphi & Lazarus
Alexey Shumkin
Имя идентификатора (в данном случае, это название программы) не может начинаться с цифры
Спасибо, заработало. Странно, но раньше с подобными названиями всё компилировалось.
источник

I

Igor in Delphi & Lazarus
Endless
Спасибо, заработало. Странно, но раньше с подобными названиями всё компилировалось.
строки program не было, наверно
источник

E

Endless in Delphi & Lazarus
А кто-то знает, есть ли в fpc аналог функции power() для возведения числа в степень?
источник

E

Endless in Delphi & Lazarus
А, уже заработало с модулем math. Опять странности, модуль и корень числа подключаются сами, а возведение в степень забыли.
источник

Y

YuS in Delphi & Lazarus
Endless
А кто-то знает, есть ли в fpc аналог функции power() для возведения числа в степень?
После подключения math можно так возводить в степень a := b ** c;
источник

Y

YuS in Delphi & Lazarus
оператор ** собственно вызывает power
источник

RS

Renat Suleymanov in Delphi & Lazarus
Renat Suleymanov
Суть в том, что есть ключевое слово index, которое можно использовать в свойствах для того, чтобы использовать один геттер (то есть тот метод, который идет после read в property). К примеру, конструкция ниже нормально бы скомпилировалась.
 { TValuteList }

 TValuteList = class
 private
   function GetValutes(Index: Integer): TValuteItem;
 public
   constructor Create;
   destructor Destroy; override;
   property Valutes[Index: Integer]: TValuteItem read GetValutes;
 published
   property GBP: TValuteItem index 1 GetValutes;    
   property USD: TValuteItem index 2 GetValutes;  
   property EUR: TValuteItem index 3 GetValutes;
... ... ... ...
 
   property CNY: TValuteItem index 25 GetValutes;
 end;
Подробнее о таких конструкциях https://www.freepascal.org/docs-html/ref/refsu34.html
 По ней видно, что лаконичность достигается использованием одного геттера на все эти свойства. Обратите внимание, что к элементу, к примеру, USD можно обратится вот так TValueList.USD и вот так TValueList.Valutes[2]. Можно использовать таки в качестве индекса и строковый тип как в примеру приведенном мною изначально, но не скомпилируется конструкция property GBP, USD, EUR и т.д. c index, так как она к сожалению поддерживает только Integer
Решил, чтобы не сильно переписывать сделать все-таки с помощью перечислимого типа это https://gist.github.com/Al-Muhandis/a27cc368ea6d774a6dff1162922a0cbb парсит курс сбербанка с кешом в четыре часа [по необходимости, без потоков]
источник

AZ

Andrey Zubov in Delphi & Lazarus
вообще киты обалдели :)
источник

RS

Renat Suleymanov in Delphi & Lazarus
Andrey Zubov
вообще киты обалдели :)
?
источник

AZ

Andrey Zubov in Delphi & Lazarus
да рекламу в канал кидают :)
источник