Pull to refresh
42
-5
Константин Львов @klvov

программист, программист СУБД, веб-разработчик

Да, формально вы правы, если использовать СБПэй, то необходимости в интернет-банкинге конкретного банка не будет. То есть жесткой необходимости привязываться к сервису интернет-банкинга нет. Но зависит от конкретной реализации, то есть до СБП можно добраться и через интернет-банкинг (который выступает как прокси, плюс обеспечивает авторизацию клиента, и т.п.), и такие решения встречаются.

На кассах, кстати, по СБП платить не очень удобно, потому что платеж завязан на банковское приложение, а оно - на интернет-банкинг того конкретного банка, приложение которого используется для оплаты. И если в этот момент он тормозит или глючит, то запросто можно получить ситуацию, когда один человек стоит перед терминалом, у него не проходит платеж, и очередь сзади уже собирается его линчевать.

При традиционной оплате картами интернет-банкинг напрямую не требуется, там задействуется только обмен информацией с процессинговыми центрами, а у них стабильность работы выше, и вероятность, что платеж зависнет - меньше.

+1, всего один или два раза спрашивал там не самый сложный вопрос (который, однако, не хватило понимания, как загуглить), и отношение отвечающих было не просто корректное, а прямо доброжелательное. А потом как-то научился понимать, какие слова вбивать в форму поиска Гугла, чтобы с большой вероятностью получать правильный ответ, который, обычно, как раз на StackOverflow и отвечен. Но, надо, во-первых, использовать английский язык (для русского эти алгоритмы у них работают, но гораздо хуже), ну и быть морально готовому, что нужный ответ может оказаться не по первой ссылке, а по второй, третьей, а то и на следующей странице.

Попробуйте почитать книжку Секацкого "Моги и их могущества". Вам может понравиться.

Продолжайте в том же духе, и, если не остановитесь, то, перечитав эту статью лет через 10, вы найдете в ней достаточно моментов, которые вам захочется сделать по-другому. Искренне желаю успеха на этом тернистом пути. А пока просто акцентирую внимание на моменте, который мне показался самым спорным в вашем решении - вы исходите из предположения, что между первым тэгом <description> и последним тэгом </description> всегда будет, условно говоря, "чистый текст с описанием" (то же относится к вашей обработке тэгов <body> и </body>). В частных случаях это может быть так, но обычно в xml-подобных форматах допускается произвольная вложенность тэгов, и на ней наивный алгоритм сразу даст сбой.

Хехе, вы ответили автору этой программы ) Воистину, тесен мир.

Я уже сейчас не помню в подробностях, как там было что написано, но ощущение было, что все довольно аккуратно (кастомная реализация HTTP и FTP над сокетами в Windows). Когда мне тоже пришлось реализовывать подмножество HTTP на уровне сокетов (потому что все "промышленные" и "стандартные" библиотеки так и не удалось заставить работать нормально, хотя мы всей командой два месяца пытались), то те знания всплыли и пригодились.

Это одна из фраз, которые считаются чем-то вроде общепринятой конвенциональной мудрости, но у меня вызывают что-то вроде глухого раздражения. Не знаю точно, в чем здесь дело, возможно в том, что здесь имплицитно подразумевается, что человек может сделать абсолютно всё, а если он что-то не сделал, хотя хотел, то это целиком его вина, потому что он "даже не попытался". Хотя на практике, после того, как заканчивается детский и подростковый возраст, становится понятно, что возможности человека ограничены достаточно узким коридором возможностей, и лезть за пределы этого коридора чревато. И рассуждение "Лучше жалеть о том, что сделал, чем о том, что не сделал" может привести к нежелательным последствиям, если, например, применить его к гипотетической ситуации, когда я придумал, что нашел способ, как летать с помощью силы мысли, залез на многоэтажку и полетел. И вот лечу я, и думаю, "ну вот, я сделал это, проверил свой новый способ летать, теперь не буду жалеть зато, что не проверил, правда летать что-то не получается... ё".

Аргументация оставляет желать лучшего.

Это цитата из Чехова.

Понятность кода после разворота динамических вызовов в свичи повысилась.

Хехе, я как-то пошутил, что, мол, полиморфизм - это такой архитектурный подход к построению программ, который нужен для того, чтобы чтения исходного кода было недостаточно для понимания, как ведет себя программа, и, чтобы это понять, надо ее обязательно запустить. Сейчас мне кажется, что в этой шутке оказалась занимающая непропорционально большое место доля правды.

как-будто получилось O(n^2) по памяти, как в задаче про шахматную доску и зерна пшеницы.

Ну вот так оно и было, приходишь ты, студень первого курса, учиться, а тебе сразу: вот матрицы! вот как вычислять определитель! не думай, вычисляй! Ну, как Фейнман в Бразилии удивлялся, почему студенты ничего не понимают. Вот и мы не понимали так же.

Посмотрев же статью Википедии "Линейная алгебра", я понял, что так ничего и не понял. Хотя, как-будто бы, между понятиями "линейной зависимости" и "третьей нормальной формы" (где требуется, чтобы функциональной зависимости между ячейками кортежа как раз не было) можно попытаться провести аналогию.

ну там всего 32 карты участвуют в розыгрыше, то есть когнитивная нагрузка, чтоб запомнить, что у кого на руках и кто уже что сбросил, посильная почти для всех. Но игра все равно не перестает быть интересной из-за нюансов )

Да уж, если бы на первом занятии по математике в ВУЗе кто-нибудь сказал бы фразу "вот смотрите, есть много задач, когда надо преобразовать один набор координат в другой: сжать, растянуть, покрутить. Это удобно рассчитывать с помощью приемов из линейной алгебры, в которой используются матрицы и операции над ними, сейчас мы будем это все постепенно изучать", то насколько бы легче было эту науку (которая в итоге не пригодилась) изучать и понимать. А так это превратилось в какое-то зубрилово в первые несколько лет, а под конец, когда стало приблизительно понятно, что это было, зачем оно надо и где оно используется, стало также понятно, что изучать надо было не совсем это. Хотя это не прошло бесполезно, "ум в порядок приводит" (с) Ломоносов

1) мне не сразу это пришло в голову, 2) Vim скорее всего такого бы не понял, а мне он нужен. А с Idea такое бы прокатило, ее клавиатурную схему не пришлось бы перенастраивать.

мое скромное имхо сбоку: тестировщик, который умеет писать автотесты - это не тестировщик, а программист. но программист обычно хочет писать новые полезные фичи, а не покрывать тестами легаси, поэтому тут и возникает такое внутреннее противоречие

Красивый слог.

А наушники хорошие, но - 1) давят на уши, 2) спать нельзя в них, мешают, 3) большие, носить с собой неудобно, занимают много места. Поэтому тут уж кому что больше важно...

Да уж, дочитав до первой вставки "псевдокода на языке Лисп" я понял, что эту вставку никто никогда не поймет, если он не изучал тему символьного программирования ранее, а кто изучал, уже, скорее всего, будет иметь хотя бы приблизительное представление о том, что такое рекурсия. Чтобы понять, что в ней написано, надо уже знать, что такое S-выражения, скобочная нотация, defun, cond, null, и t. И даже если до этих перечисленных понятий еще можно как-то догадаться, то что такое car и cdr - надо только знать. Что ж, вот как они расшифровываются: "car" расшифровывается как "content of address register", а "cdr" - "content of decrement register", а семантика их, соответственно, исторически значит "первый элемент списка" и "остаток списка". Скорее всего, в первых LISP-машинах в этих регистрах хранились соответствующие указатели (но это не точно).

Очень интересно. Как-будто бы этот ChatGPT - это первая настоящая реализация той самой "китайской комнаты", которая существовала раньше лишь как философская концепция и умственный эксперимент.

Ну, в истории компьютерных наук есть аналогия - LISP тоже Джон МакКарти сначала придумал как математическую абстракцию, а его какой-то аспирант, экспериментируя, обнаружил, что ее можно переписать в виде программного кода, и то, что у него получилось, стало первым интерпретатором LISP-а.

Не могу не процитировать в комментариях к такой статье известное:

Цзы Лу спросил: «Вэйский правитель намеревается привлечь Вас к управлению государством. Что Вы сделаете прежде всего»?

Учитель ответил: «Необходимо начать с исправления имен».

Цзы Лу спросил: «Вы начинаете издалека. Зачем нужно исправлять имена?»

Учитель сказал: «Как ты необразован, Ю! Благородный муж проявляет осторожность по отношению к тому, чего не знает. Если имена неправильны, то слова не имеют под собой оснований. Если слова не имеют под собой оснований, то дела не могут осуществляться. Если дела не могут осуществляться, то ритуал и музыка не процветают. Если ритуал и музыка не процветают, наказания не применяются надлежащим образом. Если наказания не применяются надлежащим образом, народ не знает, как себя вести. Поэтому благородный муж, давая имена, должен произносить их правильно, а то, что произносит, правильно осуществлять. В словах благородного мужа не должно быть ничего неправильного».

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity