Pull to refresh
46
0.1
Константин Львов @klvov

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

Send message

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

а потом оказывается (реальный случай), что Remmina, которая в Noble, обновила версию libfreerdp-плагина, и теперь он не работает с вашим шлюзом удаленных рабочих столов. И на подобные нюансы то и дело натыкаешься.

ну как, потом всё равно в поток влазить, по сути то же самое, чем обочечники занимаются

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

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

удачно спроектированный DSL приносит даже не миллион, а миллиард пользы, но навскидку как пример именно супер-удачного DSL мне приходит на ум только SQL.
Оно конечно их тысячи (от awk до verilog), но все же используются в узких нишах, хотя DSL-ам так и положено.

И еще не всегда бывает сразу понятно, надо ли городить свой DSL, или не надо. У меня вот как-то была задача, под которую я-таки нагородил свой малюсенький, но настоящий DSL-чик, с рекурсивным спуском, логическими операторами, скобками произвольной вложенности, и, когда я это сделал и довел до работающего состояния, мне пришла мысль, что может быть, лучше надо было просто подключить сюда Groovy. Подключил, что заняло меньше чем полдня, и оказалось, что так оно все гораздо удобнее в использовании.

Все так, происходила перезагрузка ) это команда процессору начать исполнение с адреса 0. Причем там можно было написать RANDOMIZE USR 16384 и оно пошло бы исполнять то, что написано прямо в экранном буфере, начиная с левого верхнего угла. Причем USR <address> можно было дать на вход не только RANDOMIZE, еще несколько было вариантов, которые приводили к тому же результату. Почему это надо было запроектировать именно так, я до сих пор и не понял, ну, сумрачный британский гений сэр Синклер так изобрел.

Не только лишь все распарсят, что происходит, если выполнить команды, зашифрованные в никнейме автора, на каком-то то ли комьютере, то ли калькуляторе Древних Людей

RANDOMIZE USR 0

ну, я раньше разрабатывал нативные приложения под Win32 и даже парочка из них лежит в виде исходников на гитхабе.
Но каждый раз, когда хочется пересобрать бинарник, это действительно превращается в целый квест:

  • скачать Visual Studio community (несколько гигов, даже если нужно только C++)

  • получить на нее бесплатную лицензию (тоже раньше было просто, а сейчас не так просто)

  • Windows SDK вроде уже обычно включается в дистрибутив VS, но то и дело оказывается, что там чего-то не хватает, и надо где-то докачивать полную версию SDK

  • потом оказывается, что в SDK под Windows 11 забыли включить какой-то заголовочный файл, который был в SDK для Windows 10, и его надо отдельно скачать и добавить вручную

  • все настроить, добиться того, чтобы оно скомпилировалось в .obj и слинковалось в .exe, чтобы запустить этот exe и увидеть, что в новой версии Windows то API, которую программа использует, либо уже убрали как устаревшее, либо переделали так, что пользоваться еще можно, но при этом программа ведет себя глючно (в моем случае приложение WinSwitch получает от Windows список окон, в котором невидимые окна она понимает как видимые, при этом количество этих глючных окон растет после каждого RDP-подключения и исчезают они только после процедуры Logoff-Logon)

Так что да, с вашим посылом остается только согласиться.

это да, иногда (в трезвом состоянии сознания) приходилось писать примерно такие регулярки

%s/^.*\\\(\(\w\|\s\|\.\)\+(.*)\.eif$\).*$/\1/g

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

ну, первые 25 лет сложно, потом привыкаешь

Имхо, дело в том, что каждый из них это художник со своим видением. Линусу в этом патче что-то не нравится, и он отписывает автору "суди, дружок, не выше сапога".

Она скорее о том, что некоторые богатые доходят до понимания, что решение некоторых проблем не купить ни за какие деньги.
Красивые - что некоторые проблемы не решить за счет чисто внешности, будь ты хоть красив как Афродита или Аполлон.

нда, прямо как действительно про другой мир рассказываете, зазеркалье какое-то, технологии Древних из мира Фоллаута. Ооочень интересно. Я из IBM-овских машин лично видел какую-то бандуру из z серии, не ней в качестве ОС был какой-то AIX, и там тоже был терминал с зелеными буквами, но нужна она была только для того, чтоб запустить на ней Oracle DB, а над Ораклом - учетную систему банка. Это был примерно 2005 год.
Понять и проникнуться духом, что это было такое, как оно устроено, и как с этим правильно работать, я тогда не успел - обстоятельства менялись, мне пришлось переезжать в другой город, ну а потом вжух-вжух и вот уже внезапно наступил 2024, и все строят свои инфраструктуры на linux, docker, kuber, kafka, rabbit, postgres, mongo, JVM based solutions и много других новых слов.

то да, что стало приятным сюрпризом. Умеет, к сожалению, не всё (сложные архивные операции, когда надо переименовать одинаково названные файлы, лежащие в том же самом каталоге - тут у Far2l сложности), но почти все остальное работает прям как родное. И очень быстро, притом.

Оно и работало быстро. В svn создание ветки было очень быстрой и дешевой операцией, что в те времена было на острие технического прогресса, потому что так умели тогда далеко не все системы контроля версий, даже платные. Это ускоряло и облегчало разработку просто в разы. Репозиторий хранился в централизованной БД на сервере, и для работы требовалась связь с ним - это да, но при работе над маленькими и средними проектами в рамках одной компании это абсолютно не мешало. Хотя сверхогромные проекты, такие как Windows NT, svn скорее всего не потянул бы.

кстати, правда, где? что-то очень давно его не видно не слышно

это да. я не настоящий функциональщик, но иногда посматриваю в ту сторону. Вот на страничке Control.Lens.Operators перечисляются эти операторы:

123 оператора. Это точно надо их столько, чтобы программировать? Вот и я задаюсь этим риторическим вопросом.

Hidden text

(#%%=)
(#%%~)
(#%=)
(#%~)
(#)
(#=)
(#~)
(%%=)
(%%@=)
(%%@~)
(%%~)
(%=)
(%@=)
(%@~)
(%~)
(&&=)
(&&~)
(&)
(&~)
(=) (~)
(=) (~)
(+=)
(+~)
(-=)
(-~)
(...)
(.=)
(.>)
(.@=)
(.@~)
(.~)
(//=)
(//~)
(<#%=)
(<#%~)
(<#=)
(<#~)
(<%=)
(<%@=)
(<%@~)
(<%~)
(<&&=)
(<&&~)
(<&>)
(<=) (<~)
(<=) (<~)
(<+=)
(<+~)
(<-=)
(<-~)
(<.)
(<.=)
(<.>)
(<.~)
(<//=)
(<//~)
(<<%=)
(<<%@=)
(<<%@~)
(<<%~)
(<<&&=)
(<<&&~)
(<<=) (<<~)
(<<=) (<<~)
(<<+=)
(<<+~)
(<<-=)
(<<-~)
(<<.=)
(<<.~)
(<<//=)
(<<//~)
(<<<>=)
(<<<>~)
(<<>=)
(<<>~)
(<<?=)
(<<?~)
(<<^=)
(<<^^=)
(<<^^~)
(<<^~)
(<<||=)
(<<||~)
(<<~)
(<>)
(<>=)
(<>~)
(<?=)
(<?~)
(<^=)
(<^^=)
(<^^~)
(<^~)
(<|)
(<||=)
(<||~)
(<~)
(?=)
(??)
(?~)
(^#)
(^.)
(^..)
(^=)
(^?!)
(^?)
(^@.)
(^@..)
(^@?!)
(^@?)
(^^=)
(^^~)
(^~)
(|>)
(||=)
(||~)

Мое предположение, что это пошло в массы из-за того, что лет 25 назад в тренде была разработка на технологиях Microsoft, а в терминологии Win32 API числовой дескриптор многих объектов ОС Windows (окна, оконного контрола (извините, управляющего элемента), например кнопки, и т.п.) назывался HANDLE, то есть, дословно "ручка". И, чтобы что-нибудь с этим элементом сделать (ну, перекрасить в красный цвет), надо для начала этот дескриптор (handle) откуда-то получить. Возможно, оно потом как-то перекочевало на API endpoints и вот это всё.

Как не работает? А ты точно хранимки пролил?

1
23 ...

Information

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