- 1
Именно поэтому я за «PHP».
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
Именно поэтому я за «PHP».
guest8 29.07.2020 16:53 # −999
TEH3OPHblu_nemyx 29.07.2020 17:22 # +1
MAKAKA 29.07.2020 17:27 # 0
Myxa 29.07.2020 17:38 # +1
MAKAKA 29.07.2020 17:40 # 0
5602 мухи не могут ошибаться
guest8 29.07.2020 17:58 # −999
Fike 29.07.2020 18:00 # +1
Desktop 29.07.2020 20:58 # +1
MAKAKA 30.07.2020 17:19 # 0
gost 30.07.2020 17:21 # 0
gost 30.07.2020 17:21 # 0
MAKAKA 30.07.2020 17:24 # 0
Desktop 30.07.2020 17:24 # 0
Desktop 30.07.2020 17:22 # 0
gost 30.07.2020 17:23 # 0
Надо же, буквально на днях про него песню слышал.
Desktop 30.07.2020 17:23 # 0
MAKAKA 30.07.2020 17:23 # 0
* https://en.wikipedia.org/wiki/Remove_Kebab
gost 30.07.2020 17:25 # 0
https://www.youtube.com/watch?v=peCu-i6XT88
MAKAKA 30.07.2020 17:25 # 0
Внезапно внятное призношение, можно английский качать
gost 30.07.2020 17:28 # 0
Рекомендую . Один из самых приятных англоязычных каналов, которых я видел.
Desktop 30.07.2020 17:31 # 0
https://www.youtube.com/watch?v=jsUvcjk8J5c
Desktop 30.07.2020 17:27 # 0
gost 30.07.2020 17:29 # 0
Desktop 29.07.2020 20:59 # 0
Fike 29.07.2020 17:43 # 0
Какая ирония )))
Stallman 29.07.2020 22:53 # 0
Компиляция Haxe в PHP
https://phprussia.ru/moscow/2020/abstracts/6648
Разработка расширений для PHP ... на PHP!
Именно поэтому.
MAKAKA 29.07.2020 22:58 # +2
-- Зачем нужны ORM?
-- ActiveRecord vs DataMapper.
-- И одной из метрик автоматического тестирования является Code Coverage
Хотелось бы еще послушать таких докладов:
* Структурное программирование -- ключ к улучшению кода
* ООП: инновационный подход 21-го века
* SQL инъекции: как избежать?
Myxa 29.07.2020 22:59 # 0
Мы тут ещё недавно обсуждали «Zephir» — пыхоподобный язык программирования, предназначенный исключительно для написания расширений для «PHP». Оказалось, что у зефира привкус «PHP» или даже «JS» (неожиданно, правда?):
https://govnokod.ru/26733
MAKAKA 29.07.2020 23:02 # +1
Я реально знаю кейсы, когда логика валидации написана два раза: на JS и на беке (и иногда еще на уровне ограничений в базе, лол).
Это отвратительно!
Вообще самая постыдная для программиста задача, это два раза писать одну и ту же логику в двух местах на разных языках
Fike 30.07.2020 06:36 # 0
guest8 29.07.2020 23:04 # −999
gost 29.07.2020 23:05 # 0
guest8 29.07.2020 23:07 # −999
gost 29.07.2020 23:11 # 0
guest8 29.07.2020 23:12 # −999
gost 29.07.2020 23:13 # 0
Desktop 29.07.2020 23:16 # 0
guest8 29.07.2020 23:06 # −999
guest8 30.07.2020 00:07 # −999
Desktop 30.07.2020 00:09 # +1
Типа решаем систему дифференциальных уравнений на главном потоке и иногда даём остальному приложению подышать?
MAKAKA 30.07.2020 00:11 # +1
Так таймер небось ставит, и получает сигнал (на юниксе) или APC (на пинде)?
>Чтобы UI не зависало. Какой багор )))
Багор действительно. Я видел как патчат обработку евентов чтобы делать модальный диалог, но это кал
Лучше такие задачи выносить на другой тред, и использовать что-то типа async/await (в решеточке оно есть)
bormand 30.07.2020 00:28 # +1
Либо ты пытаешься тормознуть прогу на обращениях к ядру и получить ошибку (тот самый APC в винде или EINTR в линуксе). Либо ты какой-то флажок для треда выставляешь и ждёшь пока он сам съебёт. Либо ты убиваешь весь процесс нахуй.
Даже в джаве и шарпе вроде как interrupted exception в произвольный момент не вбросить.
MAKAKA 30.07.2020 00:34 # 0
Как же делает пых?
bormand 30.07.2020 00:35 # 0
MAKAKA 30.07.2020 00:37 # 0
Я думал, там N потоков, каждый сосет из очереди запросы и обрабатывает
bormand 30.07.2020 00:44 # 0
MAKAKA 30.07.2020 00:46 # 0
Иначе чем это лучше CGI?
Но вообще похуй на паче
Получается что нужно или каждый запрос в отдельном процессе, или есть опасность налажать? Или пых в любой операции проверяет переодически, что 30 сек прошло?
bormand 30.07.2020 00:49 # 0
MAKAKA 30.07.2020 00:53 # 0
Fike 30.07.2020 06:38 # 0
gost 30.07.2020 00:35 # 0
MAKAKA 30.07.2020 00:40 # 0
while(1){}
?
gost 30.07.2020 00:41 # 0
bormand 30.07.2020 00:42 # 0
MAKAKA 30.07.2020 00:42 # 0
А если я оберну это в критикал секцию?
bormand 30.07.2020 00:43 # 0
MAKAKA 30.07.2020 00:44 # 0
bormand 30.07.2020 00:46 # 0
MAKAKA 30.07.2020 00:52 # 0
bormand 30.07.2020 00:53 # 0
gost 30.07.2020 00:44 # 0
MAKAKA 30.07.2020 00:45 # 0
Объект какой-нить не осовободица
gost 30.07.2020 00:47 # 0
bormand 30.07.2020 00:47 # 0
Не аллоцирует память, не ходит в сеть, не берёт лочки, не трогает глобальный стейт. Нахуй он тогда нужен то? Тупо матан какой-то на приватной структуре?
gost 30.07.2020 00:52 # 0
Но, конечно, «PHP» для этого слишком глуп.
bormand 30.07.2020 00:52 # 0
А вот кстати я не уверен что среднестатистическая lock-free поебень готова к крашу участников...
MAKAKA 30.07.2020 00:50 # 0
Смотри. Я пыхарь. Я написал какой-то код. Этот какой-то код должен помереть через 30 секунд. Чтобы он ни делал.
Пых ставит таймер в линксе или APC в винде или просто на другом потоке поджыдает, а потом делает ``pthread_kill`` или ``TerminateThread``
Вопрос: как пых знает, что он не сломает рантайм? Он всегда весь код делает безопасным?
gost 30.07.2020 00:53 # 0
Desktop 30.07.2020 00:55 # 0
bormand 30.07.2020 00:57 # 0
Desktop 30.07.2020 01:02 # 0
bormand 30.07.2020 00:41 # 0
gost 30.07.2020 00:49 # 0
MAKAKA 30.07.2020 00:55 # 0
то-есть если я вошел в syscall, и провёл там 3 часа, то я сам себе злобный бртн
Как на винде -- интересно, да
Хотя нет, не интересно. Это же пых
gost 30.07.2020 00:56 # 0
Угу. В таком случае, скорее всего, «Апач» просто убьёт воркера, как Борманд выше написал.
Fike 30.07.2020 06:39 # 0
bormand 30.07.2020 01:07 # 0
З.Ы. А в обработчике ставится бит PHP_CONNECTION_TIMEOUT в connection_status, который проверяется в куче мест и ты даже видишь его из пыхи.
guest8 30.07.2020 01:09 # −999
bormand 30.07.2020 01:17 # 0
guest8 30.07.2020 01:45 # −999
bormand 30.07.2020 02:04 # 0
А у треда почти всё расшарено с другими тредами. Там вообще не понятно что чистить, ибо большая часть объектов принадлежит процессу в целом.
Виндовый кросс-процессный мутекс то уйдёт в абандон, ок. И все кто его ждал получат ошибку соответствующую. А дальше то что делать? Данные то запороты, тебе хочется их чинить?
А быстрые мутексы типа позиксовых толком и не отпустишь, емнип. Они для ядра вообще не объекты.
3.14159265 30.07.2020 00:48 # 0
> Чтобы UI не зависало. Какой багор )))
Это наследие VB.
Там это же самое делалось DoEvents.
bormand 30.07.2020 00:52 # +1
MAKAKA 30.07.2020 00:56 # 0
Сейчас все пищат от async: той же самой кооперативной, просто с сахаром
bormand 30.07.2020 00:57 # 0
MAKAKA 30.07.2020 01:01 # 0
Но кто, скажите мне, не наябывался пися случайно в асинхронной процедуре sleep вместо delay и не вызывал оттуда случайно блокирующий синхронный IO?
3.14159265 30.07.2020 01:14 # 0
Я как-то прошёл мимо современных тенденций многопоточности.
MAKAKA 30.07.2020 01:18 # 0
Смысл в том, что у тебя есть луп на треде, и ты вместо блокирующих операций используешь колбеки, но сахар позволяет тебе писать так, словно это все последовательный код.
Псевдокот
Таким образом на треде может роботать 100400 таких вот асинхронных функций без коллбечной лапши, и без пложения 100400 процессов, что может быть особо неприятно в виндуос (да и в юникс тоже ничего хорошего нету в неконтролируемом росте процессов)
3.14159265 30.07.2020 01:20 # 0
Иам внутри вмонтирован тред-пул и тред пока async ждёт может заниматься другими делами?
На delay тоже async нужно ставить?
PS: и await не вижу.
guest8 30.07.2020 01:22 # −999
3.14159265 30.07.2020 01:27 # 0
Да, я понял. Тред идёт заниматься другими делами. Типа легковесная многозадачность.
>Тред обрабатывает другие функции
А что будет если пул занят другими функциями и они бобровольно не возвращают потоки?
Не зависнет ли мой поток с delay(1000), на неопределённое время?
bormand 30.07.2020 01:29 # 0
3.14159265 30.07.2020 01:41 # 0
И поток у меня отжали для каких-то тяжёлых вычислений. Его же мне вернут не через секунду, а после окончания расчёта?
guest8 30.07.2020 01:43 # −999
3.14159265 30.07.2020 01:49 # 0
Пример: есть старое-доброе winapi приложение. Одна часть считает сложную ма-тема-тику, вторая перерисовывает окно.
Если сложный расчёт выполняется долго, окно «подвисает».
Выход: в сложном расчёте нужны DispatchMessage/DoEvents. Опять та же питушня.
bormand 30.07.2020 01:51 # 0
3.14159265 30.07.2020 02:01 # 0
Как мне в этой парадигме управлять разными пулами?
Я думал await использует какой-то один неявный системный пул, как в крестах std::launch::async.
gost 30.07.2020 02:05 # 0
В «Python» event loop можно создать явно и позвать на нём «run_until_complete()». См. https://docs.python.org/3/library/asyncio-task.html.
bormand 30.07.2020 02:08 # 0
guest8 30.07.2020 01:52 # −999
Desktop 30.07.2020 01:52 # 0
Я не знаю, как там в шарпе.
В Свифте делаешь отдельную DispatchQueue или вообще берёшь готовую и херячишь на ней тяжёлую работу, потом результат для отрисовки бросаешь на main, которая отвечает за UI.
Управление пулом потоков спрятано под капот.
guest8 30.07.2020 02:01 # −999
Desktop 30.07.2020 02:03 # 0
Используется, конечно.
3.14159265 30.07.2020 02:02 # 0
Desktop 30.07.2020 02:04 # 0
В Свифте нет async/await.
В Шарпе нет очередей (?)
guest8 30.07.2020 02:14 # −999
Desktop 30.07.2020 13:36 # 0
А чо было не вернуться на тот же тред, который был до await'а?
Fike 30.07.2020 15:27 # 0
Desktop 30.07.2020 15:31 # 0
3.14159265 30.07.2020 02:36 # 0
Думаю в реализации await очередь должна быть непременно. Причём блокирующая.
Иначе поток обрабатывающий питухов, просто уйдёт в busy wait. Если они все вдруг решать ждать и dispatch loop останется без работы.
guest8 30.07.2020 02:40 # −999
3.14159265 30.07.2020 03:04 # 0
Просто я в своё время насмотрелся на самопальное говнище с busy wait.
— Почему программа стабильно грузит одно ядро на 100%?
— Ну кто ж мог подумать, что таски кончатся?
guest8 30.07.2020 03:06 # −999
Fike 30.07.2020 06:44 # 0
bormand 30.07.2020 02:11 # 0
Очередь ты можешь указать когда асинхронную таску спавнишь. А await просто будет ждать когда она завершится, ему похуй на очереди. Т.е. это 2 ортогональных сущности.
guest8 30.07.2020 02:15 # −999
3.14159265 30.07.2020 02:37 # 0
Как?
bormand 30.07.2020 02:39 # 0
Какой-нибудь var res = await pool.execute(LongCalculation);
guest8 30.07.2020 02:42 # −999
3.14159265 30.07.2020 02:50 # +1
bormand 30.07.2020 02:59 # 0
По дефолту вроде через ui тред чтобы меньше ебли было.
Но я сварщик не настоящий.
guest8 30.07.2020 03:09 # −999
3.14159265 30.07.2020 03:12 # +1
Как-то сложно всё получается. Пулы, треды, корутины, IO, очереди какие-то.
Голова пухнет.
Взять всё, да и assParallelнуть…
guest8 30.07.2020 03:20 # −999
bormand 30.07.2020 03:32 # +1
У тредов на которые можно захуйнуть коллбек может быть SynchronizationContext. В частности у UI треда он всегда есть.
И по-умолчанию все работает тупо и понятно - если у текущего треда контекст есть перед вызовом await, то продолжение будет в том же контексте. Т.е. если ты писал обработчик для гуйни и ушел в await то код потом "возобновится" в ui треде и все безопасно. Если же контекста нету - то прям на том треде где таска завершилась.
Ну и можно сказать await something.ConfigureAwait(false) и сделать вид что контекста у тебя не было.
MAKAKA 31.07.2020 03:17 # 0
если тебе не похуй где вызываться -- укажи контекст, если похуй, то уж как бог пошлет.
Тащемто мыслить надо не в терминах нитей, а в терминах контекст
Хочу UI контекст, или еще какой
MAKAKA 30.07.2020 01:31 # 0
И если ты вместо асинхронного API для работы с IO возьмешь синхронный -- тоже зависнет.
Нужно быть аккуратным.
Это напоминает кооперативную многозадачность: каждая корутина отвественна за всю систему
Fike 30.07.2020 06:42 # 0
Desktop 30.07.2020 01:24 # 0
Если переписать на колбек, то тогда придётся делать мутекс. А с async'ом не надо.
Если же интересует вопрос, как задачи квантуются внутри лупа (а луп крутится внутри одного потока), то меня тоже интересует :)
3.14159265 30.07.2020 01:28 # 0
Да. Непонятна точная механика шедулинга.
bormand 30.07.2020 01:30 # +1
А её и нет вроде. Это просто сахар для хуйни-на-коллбеках. Шедулинг точно такой же, как и у любой другой хуйни на коллбеках - очередь да разгребающий её ивентлуп.
Просто конпелятор за тебя нарубает красивый линейный код на уёбищные коллбеки. И помогает стейт протащить. Всё.
Там вроде даже вручную эти кишки можно дёргать без сахара.
3.14159265 30.07.2020 01:33 # 0
Вот и думаю: или оно до горя тупое, или я что-то не понимаю.
bormand 30.07.2020 01:37 # 0
Асинхронная операция возвращает тебе future. Когда ты делаешь на ней await твоя async функция тупо возвращает управление. Но перед этим она подписывает следующий свой фрагмент на завершение этого future.
Вот и всё :)
Ты можешь все это делать руками без async/await. Все кишки доступны.
3.14159265 30.07.2020 01:46 # 0
Всё-таки на Сишке такое хрен в чистом виде не нахуевертишь.
Да и в других языках тоже. Из-за того что нужно прыгать на указатель внутри функции.
Разве что запускать все потоки в одном общем пуле с work stealing.
bormand 30.07.2020 01:48 # +1
Desktop 30.07.2020 01:49 # +1
guest8 30.07.2020 01:50 # −999
bormand 30.07.2020 01:53 # +1
MAKAKA 30.07.2020 01:54 # 0
3.14159265 30.07.2020 02:05 # +1
>прикрутить суда понятие континуейшена
Да, это же копрограммы (coroutines).
https://en.wikipedia.org/wiki/Coroutine
guest8 30.07.2020 02:16 # −999
guest8 30.07.2020 02:17 # −999
bormand 30.07.2020 02:25 # 0
MAKAKA 30.07.2020 02:29 # 0
https://i.postimg.cc/6Qr0WjJL/waiter.png
В питоне -- run(..)
А в луа нужно ходить по корутинам, и каждой говорить resume, ну или цикл самому написать
Хотя пример не совсем честный, там вроде других тредов не создается
но могу наврать
Хуй знает точно
Золотой
bormand 30.07.2020 02:33 # 0
MAKAKA 30.07.2020 02:36 # 0
Myxa 30.07.2020 02:38 # 0
3.14159265 30.07.2020 02:08 # 0
Логично. Ну не такой уж сахар тогда эти await.
Я когда-то в Сищке пытался сделать копрограммы на свитчах и обернуть их в макрос YIELD с автоинкрементом стейта, на котором произошёл выход.
Вышло в принципе неплохо, но всё-равно уродливо как-то.
bormand 30.07.2020 02:13 # +2
ctx->state = __LINE__; return; case __LINE__:
3.14159265 30.07.2020 02:22 # +1
Супер!
Тьфу, а я как лалка последняя со счётчиками пердолился.
3.14159265 30.07.2020 02:53 # 0
Ага, я понял. По сути отдельный function(){}. И чем ниже, тем вложенность больше.
А благодаря эти колобки просто линеаризует.
И мне вместо аргументов внутри колобка, просто возвращается значение из фьючерса, как из обычной функции.
Fike 30.07.2020 06:45 # 0
в жабе всё так, там нет асинк-авейта, но есть CompletableFuture с возможностью указания, в каком пуле исполняться
3.14159265 30.07.2020 11:39 # 0
Т.к. в Няшной есть макросы и возможность прыгнуть switcheм в самую гущу цикла.
А в анскильных Жс, Жабах и Шарпах такую возможность убрали.
Можно конечно пердолиться замыканиями, но выйдет не сильно лучше колобков.
MAKAKA 30.07.2020 01:42 # +2
Написать страничку, которая делает запрос к удаленному API, и отдает результат пользователю.
Запрос к удаленному API занимает 1 сек.
Если у твоего веб-сервера 10 потоков, и пришло 11 пользователей, то 11-й пользователь ждет осовбождения потока, хотя процессор ничем не занят: он тупо ждет, пока пакетики по сети летят.
Что делать программисту?
Использовать callback, но это лапша.
А хочется без лапши
Хочется писать последовательно, как если бы ты простой скрипт писал.
Вот async позволяет писать без лапши и просто.
3.14159265 30.07.2020 01:54 # 0
Да понятно. Вёб-поебень для жскрипт-лалок.
Смутно вспоминается баззворд «реактивное погромирование».
>Что делать программисту?
В «POSIX» есть мультиплексирование через select(). Именно поэтому я за «Сишку».
guest8 30.07.2020 01:58 # −999
Desktop 30.07.2020 01:35 # 0
Пришло замыкание, оно целиком выполняется на следующем витке.
Desktop 30.07.2020 01:20 # 0
https://docs.microsoft.com/en-us/dotnet/api/system.runtime.compilerservices.iasyncst atemachine?redirectedfrom=MSDN&view=netc ore-3.1
bormand 30.07.2020 01:23 # 0
guest8 30.07.2020 01:25 # −999
bormand 30.07.2020 01:28 # 0
Ой, а как-будто на шарпе тебе не приходится использовать асинхронные апи везде и обмазывать каждое из них авейтом.
MAKAKA 30.07.2020 01:31 # 0
3.14159265 30.07.2020 01:30 # 0
Не могу пока въехать как это просто сделать.
Для этого же надо иметь ГОМОИКОННОСТЬ, или интерпретировать кусок функции чтобы ссылаться на произвольное место кода.
bormand 30.07.2020 01:34 # +1
3.14159265 30.07.2020 01:37 # 0
Примерно понятно.
Но как в сишке хранить «локальные переменные» без копрограммной магии? Разве что struct/массив c конь-текстом функции.
А можно демо-пример на Сишке.
bormand 30.07.2020 01:39 # 0
bormand 30.07.2020 01:56 # 0
gost 30.07.2020 01:57 # +1
https://en.cppreference.com/w/cpp/language/coroutines
guest8 30.07.2020 02:00 # −999
3.14159265 30.07.2020 02:20 # +1
Стейт размещается на куче, но в случае тривиального случая компилятор может разместить его на стеке и даже заинлайнить.
bormand 30.07.2020 02:14 # 0
3.14159265 30.07.2020 02:18 # +1
Если сделали в Крестах, тогда всё понятно.
Впрочем я серьёзно, они очень хорошо описывают как оно под устроено капотом: and the data that is required to resume execution is stored separately from the stack
coroutine state is allocated on the heap via non-array operator new.
bormand 30.07.2020 02:20 # 0
Да и в шарповской доке, имхо, норм описано что делает await.
Fike 30.07.2020 06:40 # 0
советская
gost 30.07.2020 00:58 # +3
Почему я, глядя на этот вызов, чётко вижу многочисленные вызовы GetMessage()/TranslateMessage()/DispatchMessage()? Я ебанутый?
bormand 30.07.2020 01:00 # 0
MAKAKA 30.07.2020 01:00 # 0
guest8 30.07.2020 01:12 # −999
3.14159265 30.07.2020 01:17 # 0
Оно родненькое! Просто сахарок высокоуровневый.
guest8 30.07.2020 03:10 # −999
gost 30.07.2020 03:12 # 0
MAKAKA 30.07.2020 03:18 # +2
Кресты (2511)
Куча (1893)
Решеточка (1878)
Екмаговно (1839)
ЙАЖА (1449)
Няшная (981)
BeginEnd (627)
Лол (499)
Питух (477)
SQL Injeciton (410)
Ненужное (292)
[[NSЯбло alloc] init]; (202)
=()= (190)
event not found (173)
Яuбy (138)
Школоло (134)
xor eax, eax (122)
Таблы (41)
Ябло(Свежее) (26)
монада это просто моноид в категории эндофункторов (20)
Goвно (8)
Коко (5)
3.14159265 30.07.2020 03:21 # +1
ЙажаСцрипт?
>Лол (499)
>Ненужное (292)
Час поздний, не въехал.
Остальное — охуенно.
Edit: 1C я бы назвал «НачатьПрограмму» или «КонецПопытки»
guest8 30.07.2020 03:24 # −999
gost 30.07.2020 03:25 # 0
3.14159265 30.07.2020 03:28 # +1
Просто Лол и Ненужное не говорят о том что внутри.
Остальные категории охуенно, просто чудовищно self-descriptive. Я даже СтерторШкололо допёр.
Janycz 30.07.2020 14:22 # 0
3.14159265 30.07.2020 15:22 # 0
> FORTRAN
Что-то не слышал чтобы школоло на нём писало.
>Школоло ассоциируется с Pascal
Тараса застал?Впрочем он повзрослел и перешёл на Аду и Кресты.
Janycz 31.07.2020 13:22 # 0
Да.
Хотя сейчас новое школоло немного на питон переходит.
>Что-то не слышал чтобы школоло на нём писало.
Ну школоло особо на нем и не писало, язык ученых был. Но в каком-то кружке по программирования могли на нем писать. В любом случае, в моем понимании FORTRAN ближе к школоло, чем VisualBasic.
Myxa 30.07.2020 03:26 # +3
TOPT 30.07.2020 08:58 # 0
bormand 30.07.2020 09:00 # 0
3.14159265 30.07.2020 15:24 # +1
gost 30.07.2020 03:36 # +1
А в крестах, помимо общеизвестного оператора «стремится» («while (x --> 0)») есть менее распространённый оператор «хуй»: . Означает дословно «хуй тебе, а не bitFlag в bitMap».
Myxa 30.07.2020 03:40 # +1
https://graphics.stanford.edu/~seander/bithacks.html
MAKAKA 30.07.2020 15:23 # 0
Спасибо
3.14159265 30.07.2020 11:28 # +1
Но какую извращённую фантазию нужно иметь, чтобы там хуй увидеть. Причём травмированный.
На мой вкус отрицание нужно приклеивать к флагу.
bitMap &= ~bitFlag;
Оно-то конечно красиво, с точки зрения «вызвать у читателя WTF».
x -=- a;
x +=+ 42;
guest8 30.07.2020 13:13 # −999
guest8 30.07.2020 13:15 # −999
Myxa 30.07.2020 18:42 # 0
guest8 30.07.2020 18:45 # −999
Fike 30.07.2020 18:53 # 0
Myxa 30.07.2020 18:49 # +1
guest8 30.07.2020 18:51 # −999
Myxa 30.07.2020 18:52 # +1
Myxa 31.07.2020 16:15 # 0
Myxa 30.07.2020 18:59 # 0
Myxa 31.07.2020 11:00 # 0
Да, используется оператор «хуй».
https://ideone.com/m0Kgna
3.14159265 31.07.2020 14:57 # 0
x &= x-1
Если бит единственный (x является степенью двойки) получается 0.
Desktop 31.07.2020 15:08 # 0
gost 31.07.2020 15:26 # +2
Если число состоит ровно из одного включённого бита (> x является степенью двойки), после которого следуют n нулей, то после вычитания единицы мы получим число из n двоичных единиц (для проверки вычти столбиком), например, 0b1000 - 1 == 0b0111. После «&» мы, очевидно, всегда получим ноль. А вот если включённых бит в числе как минимум джва, то старший из этих двух бит после вычитания единицы не изменится, и мы получим ненулевой результат: 0b101000 - 1 == 0b100111,
.
Desktop 31.07.2020 15:32 # 0
Myxa 31.07.2020 16:12 # 0
guest8 30.07.2020 13:43 # −999
Desktop 30.07.2020 14:35 # 0
bormand 30.07.2020 14:56 # 0
Desktop 30.07.2020 14:58 # 0
Ну тогда живёт
DypHuu_niBEHb 30.07.2020 22:05 # 0
Myxa 30.07.2020 05:09 # +1
Если же его уговорить, что мне нужно именно «Яuбу», то он находит «хуз» и фильм «Cпаcaтeлu Яuбy».
gost 30.07.2020 05:16 # 0
Fike 30.07.2020 06:50 # 0
а с ваших комментариев так вообще проиграл
Fike 30.07.2020 06:58 # 0
какой бесконечный редирект )))
guest8 30.07.2020 15:08 # −999
gost 30.07.2020 15:11 # 0
MAKAKA 30.07.2020 15:13 # 0
Myxa 30.07.2020 16:34 # 0
gost 30.07.2020 16:37 # 0
guest8 30.07.2020 16:48 # −999
guest8 30.07.2020 15:27 # −999
Fike 30.07.2020 15:29 # 0
ответ: александр чистяков
3.14159265 30.07.2020 15:33 # 0
Только многовато про алкашечку.
> Нет, надо на свою голову организовывать никому ненужные попойки
> не скудны на фантазию и задвигают что-то типа: пришёл на собеседование – получи бутылку Джек Дэниелс
Гайд Хрюши: как схантить алкаша-синьора на вкусные настройки.
Desktop 30.07.2020 15:36 # 0
А рекрутёров толковых реально мало, но что об этом стонать.
Desktop 30.07.2020 15:38 # 0
- это пиздец и нахуй такой офис, таких коллег и таких hr'ов. Дядя с килобаксовой зряплатой жлобится нанять няню для своих огрызков, потому давайте будем их наблюдать прямо на рабочих местах, да ещё и вместе с каким-нибудь ебучим клоуном.
Fike 30.07.2020 15:53 # +3
пхпшники
> ебучим клоуном.
питонист, который тщетно пытается перевести всех на 2.7
gost 30.07.2020 15:54 # 0
питонист, который тщетно пытается перевести всех с 2.7
Desktop 30.07.2020 16:05 # +1
Узкий участок дороги, при движении по которому водитель пользуется преимуществом по отношению к встречным транспортным средствам.
Эти два знака (2.6 и 2.7) существовать друг без друга не могут. Если с одной стороны узкого участка стоит знак 2.6, то с другой стороны обязательно стоит знак 2.7.
gost 30.07.2020 16:08 # +1
Desktop 30.07.2020 16:15 # +1
Fike 30.07.2020 16:17 # +1
Desktop 30.07.2020 16:19 # +1
Fike 30.07.2020 16:20 # 0
gost 30.07.2020 16:22 # 0
> проходить обследование у психиатра
Сразу негоден.
Desktop 30.07.2020 16:30 # 0
Но разве он намного хуже того же js?
Myxa 30.07.2020 17:05 # 0
gost 30.07.2020 17:06 # +1
Fike 30.07.2020 17:06 # +1
Desktop 30.07.2020 17:09 # +1
Fike 30.07.2020 17:16 # 0
Desktop 30.07.2020 17:18 # 0
> вот именно, что два ответа, и оба неправильных
- вопрос Шрёдингера?
gost 30.07.2020 17:20 # 0
guest8 30.07.2020 17:45 # −999
Fike 30.07.2020 17:49 # +1
вообще еще не вечер, но перенеслось на следующую неделю, ох-ах. там, глядишь, и предоплату попросят оставить.
guest8 30.07.2020 17:56 # −999
Fike 30.07.2020 18:00 # 0
мы на самом деле еще год назад познакомились через тндр. тогда не взлетело, сейчас просто чаёк попьем, поболтаем да посмотрим. там сложная история.
gost 30.07.2020 18:02 # 0
Desktop 30.07.2020 18:04 # 0
guest8 30.07.2020 18:05 # −999
guest8 30.07.2020 18:08 # −999
Desktop 30.07.2020 18:13 # 0
И это пацан. А шо про тёлок говорить)
Fike 30.07.2020 18:13 # 0
MAKAKA 30.07.2020 18:15 # 0
Имхо, фарш обычно обратно не проворачивается
Fike 30.07.2020 18:16 # 0
Fike 30.07.2020 18:24 # 0
guest8 30.07.2020 18:39 # −999
guest8 30.07.2020 20:10 # −999
Fike 30.07.2020 18:12 # +1
надо было мне как-то улететь из шереметьево, дело было около двадцатого сентября. год назад я уже улетал, проебал свой самолет, искал банкомат и занимал по телефону денег у друга, там тоже была охуительная история, поэтому в этот раз я заранее билет не покупал. еду я значит на самом первом аэрокспрессе, думаю, давай-ка высокими технологиями воспользуюсь. делаю жмяк, гугл флайтс, есть аэрофлот через два часа - зашибись, кликаю, попадаю на сайт аэрофлота, оплачиваю.
на почту приходит сообщение (напоминаю, происходит это на стыке второй и третьей декады сентября) - "Удачного полета шестого октября!"
Я значит им звоню на входе в терминал, нихуя не слышно, какие-то очереди, они говорят, да, поменяем, но нужно будет доплатить. Я говорю: ну е-мое, десять минут назад не ту кнопку нажал, ну что вы. Они говорят: а назовите ваш посадочный код.
Двадцать минут мы перебрасываемся "подождите секунду" и "M как море? нет, N как наутилус", после чего мне радостно сообщают - да, надо будет всё-таки доплатить.
Ладно, иду в кассу. Там тоже очередь и та же история: надо будет доплатить, говорят. Я говорю - ну окей, аэрофлот ебаный, там был рейс на пятьдесят минут позже, давайте его. Они там щелкают в кампуктере и говорят: знаете, пока мы пиздели, его раскупили. Ну ладно, давайте тогда третий.
Они говорят: надо доплатить.
Я говорю: да, я смирился уже, давайте уже закончим с этим.
Они говорят, нет, надо еще доплатить. Рейс-то уже дневной, стоит дороже )))
Fike 30.07.2020 18:13 # +1
Бегу через все эти кордоны, обгоняю каких-то индусов (- Харри? - ДА, ПИЗДЕЦ КАК ХАРРИ!), роняю все, короче, успеваю к гейту за минуту до отлета.
У гейта сидят три с половиной инвалида и спрашивают: а какого хуя ты приперся? Наш самолет только через полчаса, а тут ничего и никого не было.
Я пиздую обратно к табло в другую сторону зала.
Пока я дремал, гейт поменяли. Иду к гейту - оказывается, сука, он ровно напротив гейта с тремя инвалидами. Но посадка уже минуту как закончилась, поэтому ебаный аэрофлот даже по громкой связи меня не позовет и не подождет.
Иду в ебаные кассы.
Мне говорят: надо доплатить.
Я говорю: да вы охуели там что ли?
Они говорят: нихуя не знаем, идите в оперативное реагирование. А я уже представляю себе, что оперативное реагирование - это такие кассирши в квадрате, которые не только меня нахуй пошлют, но еще и предоплату сдерут.
А они там хи-хи, ха-ха, даже не посмотрели, сунули новый посадочный талон и отпустили. Ну а я пошел прямо к гейту и дремал уже сука там, улетев чуть ли не на шесть часов позже желаемого.
bormand 30.07.2020 21:25 # +1
guest8 30.07.2020 17:50 # −999
Fike 30.07.2020 17:52 # 0
сама встреча перенеслась на следующую неделю. но рад, что ты следишь за моими усехами!
guest8 30.07.2020 17:55 # −999
bormand 30.07.2020 17:08 # +2
Есть конечно редкие проекты где и код аккуратный и тесты и т.п. Но в остальном - говнище редкостное. Даже популярные штуки типа того же вордпресса или джумлы.
А про типичные туториалы вообще молчу.
У жс с этим получше всё-таки.
MAKAKA 30.07.2020 17:32 # +1
Всё это у пыха очень плохое. Глупые люди пишут глупые мануалы. Другие глупые люди учатся по глупым мануалам, и тоже становятся глупыми. Потом все вместе пишут глупые фреймворки. Работая с глупыми фреймворками люди получают глупый опыт, и начинают думать, что делать глупо это правильно.
То-есть дело не в том, что синтаксис кривой. Дело в эко-системе. Это трудно объяснить, если не попробовать самому
gost 30.07.2020 17:37 # +2
Desktop 30.07.2020 17:40 # +1
Когда язык не форсит писать адекватно хотя бы чуть-чуть, то и будет кулебяка.
Но JS производит на меня точно такое же впечатление.
лефтпады, лапша из колбеков и промисов, языки над языками.
Но фреймворки некоторые вроде ничё, да, подслащивают пилюлю
guest8 30.07.2020 17:41 # −999
Desktop 30.07.2020 17:44 # +1
guest8 30.07.2020 17:46 # −999
Desktop 30.07.2020 17:51 # 0
Например BDD нужен 10 бизнесам, а интернет-магазин 10000.
Бизнес пойдёт и выберет пых, потому шо проще
А сегодня ты можешь писать с такой же скоростью на Свифте, только у тебя есть статтипизация, легчайший интероп с сями безо всякого ffi и т.п., так зачем тебе руби
guest8 30.07.2020 17:53 # −999
Myxa 30.07.2020 17:59 # 0
Именно поэтому я за «PHP».
MAKAKA 30.07.2020 18:00 # 0
Кстати, из всей скриптопараши шустрее всего работает небось JS: там жжит же
Myxa 30.07.2020 18:05 # +1
«Фейсбук» пытался ускориться, сначала компилировали «PHP» в «Си», потом изобрели «HHVM». Но каждый раз они упирались либо в оверхед из-за динамической типизации, либо в тормоза СУБД, что никаким житом не фиксится.
guest8 30.07.2020 18:09 # −999
guest8 30.07.2020 20:13 # −999
3.14159265 30.07.2020 18:10 # 0
Сначала Яибу стал на рельсы.
А вот потом уже стал ничем.
guest8 30.07.2020 18:12 # −999
Myxa 30.07.2020 18:30 # 0
MAKAKA 30.07.2020 20:26 # +1
Офигительный совершенно Zope был в питоне (слишком хороший для вебговна).
Но именно рельсы сделали их популярными.
До фреймворков была такая параша -- CMS. Это когда кусок говна, тупых ограничеий и квадратных колес вместе слепили в комочек
Myxa 30.07.2020 20:35 # 0
MAKAKA 30.07.2020 20:37 # 0
Вот смотри, какой код
https://www.cyberforum.ru/1c-bitrix/thread2456898.html
Или вот (покрути направо, там сюрприз):
В этом же файле происходит отправка данных
Myxa 30.07.2020 20:44 # 0
gost 30.07.2020 20:38 # 0
MAKAKA 30.07.2020 20:40 # 0
У каждого свой
guest8 30.07.2020 20:42 # −999
guest8 30.07.2020 20:49 # −999
MAKAKA 30.07.2020 20:55 # 0
Myxa 30.07.2020 21:18 # 0
Так пирфоманс будет больше.
https://www.php.net/manual/ru/wrappers.php.php
Myxa 30.07.2020 20:56 # 0
Хотя в «PHP» всё есть:
https://www.php.net/manual/ru/book.soap.php
Ржака в записи на диск ради подсчёта объёма из-за перегруженной strlen.
https://www.php.net/manual/ru/function.mb-strlen.php
Второй комментарий: «If you need length of string in bytes (strlen cannot be trusted anymore because of mbstring.func_overload) you should use <?php mb_strlen($string, '8bit'); ?>».
То есть макака даже не осилила открыть документацию по «PHP».
MAKAKA 30.07.2020 20:59 # 0
Я не верю, что сборка XML домом будет твоим ботлнеком:)
Да, макака присоветовала, а другая макака поблагодарила. Потом еще кому-нить расскажет. Так вот и распостраняются бест практисес
Myxa 30.07.2020 21:00 # 0
https://www.php.net/manual/en/mbstring.overload.php
После обновления «PHP» куча проектов сломается.
MAKAKA 30.07.2020 21:03 # 0
Лучше сразу делать двубайтовую кодировку и не думать ни о чём
gost 30.07.2020 21:05 # 0
Тогда придётся думать про
[!] Application was halted by an exception.
Debug-mode is off.
MAKAKA 30.07.2020 21:16 # 0
Белый человек решает проблему в перле
Пыхобыдло решает проблему:
ахах
Desktop 30.07.2020 21:21 # 0
guest8 30.07.2020 21:47 # −999
bormand 30.07.2020 21:49 # 0
В комменте десктопа жопа походу в том, что тебе надо передать соответствующие стримы в какие-то функции. Т.е. видимо кольцевой буфер нужен с джвумя интерфейсами, а его почему-то не завезли. Поэтому крутят через файл.
MAKAKA 30.07.2020 21:51 # 0
Псевдокот
спутил инп и аутп, ну и похуй
Альсо, я в винде форкал так процессы с пайпами, и в своем потоке писал с одного пайпа в другой
bormand 30.07.2020 21:54 # 0
guest8 30.07.2020 21:55 # −999
bormand 30.07.2020 21:57 # 0
Запилить кольцевой буфер который оба интерфейса реализует да и всё. Пайпы нужны только если тебе прям хендлы операционки требуются.
MAKAKA 30.07.2020 21:58 # 0
Мне было нужно запустить два процесса, и подменить им хендлы stdout и stdin
Desktop 30.07.2020 21:56 # 0
https://forums.swift.org/t/circular-buffer/34534
Вся эта херня нужна была для попытки сделать парсинг json'а на стримах, но оказалась излишней, потому что
https://govnokod.ru/25705
bormand 30.07.2020 21:57 # 0
Нинужно. Любой сишник запилит за пять минут.
Myxa 30.07.2020 21:08 # 0
https://www.php.net/manual/en/function.mb-strlen.php
Функция mb_strlen появилась в «PHP 4.0.6». То есть даже не в пятёрке, а в четвёрке! Я напоминаю, что «PHP4» — это 2000-й год, это было 20 (двадцать) лет назад.
Макаки до сих пор продолжают использовать strlen и ждут, когда их творение распидорасит многобайтовыми символами.
А из «PHP3» случайно какие-нибудь «бест практисес» не сохранились?
guest8 30.07.2020 21:04 # −999
Myxa 30.07.2020 21:10 # 0
Так можно с PHP4, т. е. уже 20 лет как.
Desktop 30.07.2020 21:14 # +1
It may not be clear whether PHP actually supports utf-8, which is the current de facto standard character encoding for Web documents, which supports most human languages. The good news is: it does.
I wrote a test program which successfully reads in a utf-8 file (without BOM) and manipulates the characters using mb_substr, mb_strlen, and mb_strpos (mb_substr should normally be avoided, as it must always start its search at character position 0).
The results with a variety of Unicode test characters in utf-8 encoding, up to four bytes in length, were mostly correct, except that accent marks were always mistakenly treated as separate characters instead of being combined with the previous character; this problem can be worked around by programming, when necessary.
Похоже, с PHP лучше не быть ни в чём уверенным
Myxa 30.07.2020 21:24 # 0
Так вот его беспокоит, что в «PHP» функция mb_strlen второй вариант посчитает за два символа. Его, видимо, ещё беспокоит, что залго будет посчитано за кучу символов.
Хотя на этот случай есть функция grapheme_strlen:
https://www.php.net/manual/ru/function.grapheme-strlen.php
Последняя не считает «combining symbols» за отдельные символы.
Конкретно в данном случае проблема не в «PHP», а в том, что некоторые не умеют работать с «Unicode».
guest8 30.07.2020 21:47 # −999
Stallman 30.07.2020 21:05 # +2
В шаблонизаторе осталась хоть одна функция, поведение которой не зависит от ублюдочного рнр.іпі?
gost 30.07.2020 17:47 # +2
bormand 30.07.2020 17:56 # 0
А если попробуешь - то всё норм же. Простой язык, понятные мануалы, умные люди вокруг, удобные фреймворки.
Вот только люди со стороны почему-то все смеются и тычут пальцем. Но они идиоты, видимо. Не надо обращать на них внимания.
guest8 30.07.2020 17:59 # −999
bormand 30.07.2020 18:01 # 0
Myxa 30.07.2020 18:02 # 0
gost 30.07.2020 18:04 # 0
bormand 30.07.2020 18:05 # 0
Desktop 30.07.2020 18:05 # +1
Ему смешно, а нам Application halted by exception
Myxa 30.07.2020 18:34 # 0
gost 30.07.2020 18:35 # 0
MAKAKA 30.07.2020 18:07 # +2
JSP имеет диалект JSPX, который позволяет делать well-formed XML документы, это мегакруто.
Минусы правда в том, что во-первых он прибит гвоздём к сервлетам (его нельзя запустить с командой строки) а во-вторых он не умеет эскейпить по умолчанию: надо эскейпить явно, иначе у тебя будет пользователь с именем "<b>", и привет
И наконец, можно писать на Java и не использовать JSP.
Писать на котлине конечно приятнее, чем на PHP, не говоря уже про дебаг, профилирование, и тестирование.
ASP (не .NET) это вомзожность запускать скрипты в IIS плюс пара ActiveX объектов для работы с бекендом. Так что это VBS, древний JScript и прочая хуйня, говно, и не нужно.
А вот в ASP.NET ты можешь писать на C#, что безусловно в миллион раз лучше пыха.
Поверх этого есть какой-то свой шаблонизатор, есть веб-формы, был mvc.net, еще хуйня какая-то..
bormand 30.07.2020 18:09 # 0
Что мешает мне делать их на «PHP»? Пиши аккуратно и всё будет well-formed.
guest8 30.07.2020 18:10 # −999
3.14159265 30.07.2020 18:13 # +1
JSP хотя бы конпелируемый.
Проебал где-то, не скомпилилось.
Плюс там есть несколько разных технологий. Само JSP реализует привычный для ПХП-кодера паттерн «каша».
Однако с помощью jstl можно вполне нормально шаблонизировать.
guest8 30.07.2020 18:16 # −999
3.14159265 30.07.2020 18:28 # 0
Да.
А люди так этого и не поняли. Впрочем в эпоху ангуляров он почти не нужен.
>ASP (не .NET) [...] это VBS, древний JScript и прочая хуйня, говно, и не нужно.
Да.
>А вот в ASP.NET ты можешь писать на C#, что безусловно в миллион раз лучше пыха.
Да.
3.14159265 30.07.2020 18:16 # 0
Опровергаю.
Лучше. И JSP, и ASP.NET.
Desktop 30.07.2020 16:19 # 0
Fike 30.07.2020 16:23 # 0
3.14159265 30.07.2020 16:29 # +2
gost 30.07.2020 16:31 # 0
Desktop 30.07.2020 16:32 # 0
Но я же уже не мииидл((
gost 30.07.2020 16:34 # 0
В тимлиды подался?
Desktop 30.07.2020 16:38 # 0
MAKAKA 30.07.2020 16:47 # 0
В гугле даже собачек можно в офис приводить.
Но разумеется, там для всего этого отдельное помещение, и если ты не любишь детей и собак, то ты не обязан вообще даже знать об их существовании
Desktop 30.07.2020 16:49 # 0
> в обеденный перерыв пообнимать свое дитя.
- и сиськой его покормить на виду у всех, потому что онажемать
guest8 30.07.2020 16:51 # −999
gost 30.07.2020 16:55 # 0
MAKAKA 30.07.2020 16:59 # +4
Desktop 30.07.2020 17:11 # 0
MAKAKA 30.07.2020 17:13 # 0
Desktop 30.07.2020 17:13 # +1
Myxa 30.07.2020 17:47 # +1
Fike 30.07.2020 17:53 # +1
какая помощь друпалу )))
guest8 30.07.2020 17:56 # −999
Myxa 30.07.2020 18:01 # 0
guest8 30.07.2020 21:59 # −999
gost 30.07.2020 22:06 # 0
> Школоло
Эх, а ведь в старые-добрые времена на нём были написаны чуть ли не все приложения с гуем…
DypHuu_niBEHb 30.07.2020 22:08 # 0
У Mac OS того времени он вообще был системным языком и главным языком разработки. *
Ну а о роли Delphi в виндуос разработке на границе веков и говорить смешно. Достаточно вспомнить квип и тотал коммандер и бесконечные формошлепские клиенты ко всему, к чему только можно
*https://en.wikipedia.org/wiki/Macintosh_Programmer%27s_Workshop#Design
Pascal was Apple's original preferred language for Macintosh software development,[1] and MPW was initially released with only Pascal support
Myxa 30.07.2020 22:17 # 0
guest8 30.07.2020 22:24 # −999
gost 30.07.2020 22:28 # 0
!
DypHuu_niBEHb 30.07.2020 22:31 # 0
Myxa 30.07.2020 22:29 # 0
guest8 30.07.2020 22:33 # −999
Myxa 30.07.2020 22:36 # +1
Даже нелепое do{ }while(0) в сишных макросах появилось из-за опциональности операторных скобок.
DypHuu_niBEHb 30.07.2020 22:36 # +1
как в tcl
3.14159265 30.07.2020 23:49 # +1
Так мало того. Экономии никакой.
Необязательные операторные скобки влекут за собой обязательные скобки на условии.
Если что в Goвне правильно сделали, так это обязательные {}
MAKAKA 30.07.2020 23:54 # +1
print "A" if 1;
А вот
if (1) print "A";
не срботает
gost 30.07.2020 23:55 # 0
А ещё я за «Python». Там нет никаких «скобок».
bormand 30.07.2020 23:57 # +1
3.14159265 31.07.2020 00:03 # 0
Кмк, «Питух» может быть действительно неплохим учебным языком.
Пока условный Сёма его соберёт, глядишь выучит Сишку и системы сборки.
gost 31.07.2020 00:06 # 0
А вообще в моём ВУЗе на соответствующих парах нас заставляли вменяемо форматировать код, и за нарушения строго карали. В принципе, тоже неплохой подход (хотя и не настолько… элегантный, как в путухе).
Desktop 31.07.2020 00:07 # 0
guest8 31.07.2020 00:07 # −999
Desktop 31.07.2020 00:08 # 0
guest8 31.07.2020 00:06 # −999
3.14159265 31.07.2020 00:10 # 0
Общеобразовательный уровень средней школы или университет с профильной подготовкой.
С т.з. практики Питух человеку может пригодиться хотя бы в качестве калькулятора.
А у нас как обычно учат тому, что потом нахуй не нужно в жизни.
Если Тарас такое говорил, то я ему ещё как-то верил — он реально писал на Дельфях код.
А так научат детишек Паскалю, а они потом вырастут и в Экселях всё считают.
guest8 31.07.2020 00:17 # −999
bormand 31.07.2020 00:30 # +1
Вот я кстати так и не научился. Обычно на середине расчёта забрасываю эту хуйню и делаю какой-нибудь питоний скрипт, который csv высирает или через api ячейки патчит.
XYPO3BO3 31.07.2020 00:34 # 0
Работать в «Экселе» напрямую для меня сложно. Я пытался, у меня даже получалось, но я быстро забываю, как это делать. Скилла не хватает.
guest8 31.07.2020 00:38 # −999
XYPO3BO3 31.07.2020 00:45 # +1
3.14159265 31.07.2020 15:11 # 0
Этот багор у меня случился ещё в 90х.
Я его на всю жизнь запомнил.
Русификация — зло. Они БЛЯТЬ даже функции попереводили.
Myxa 31.07.2020 16:07 # 0
Там ещё зло, что в разных версиях «Офиса» имена функций могут немного не совпадать.
guest8 31.07.2020 00:35 # −999
bormand 31.07.2020 00:51 # 0
Да любой мало-мальски сложный расчёт в экселе - это какой-то ёбаный ад с вспомогательными ячейками и копипастой. Я даже не хочу тратить время на изучение этой хуйни и попытки натянуть сову на глобус.
Простенький график нарисовать или сумму посчитать - ну ок, сойдёт. Остальное проще внешними тулами.
З.Ы. И не предлагай мне встроенные языки.
guest8 31.07.2020 00:57 # −999
bormand 31.07.2020 01:01 # 0
Ну я в библиотеках .net не особо шарю, без msdn писать не смогу. А смысла их учить ради сраных табличек и, возможно, плагинов к повершеллу я особо не вижу.
guest8 31.07.2020 01:07 # −999
bormand 31.07.2020 01:20 # 0
guest8 31.07.2020 01:23 # −999
gost 31.07.2020 01:25 # 0
Будет же: https://pypi.org/project/pywin32/.
UPD: Дока: http://timgolden.me.uk/pywin32-docs/.
Myxa 31.07.2020 01:28 # 0
guest8 31.07.2020 01:39 # −999
Myxa 31.07.2020 02:19 # 0
https://govnokod.ru/13763#comment195630
Собственно после его комментария я и начал копать в этом направлении.
guest8 31.07.2020 02:23 # −999
bormand 31.07.2020 02:26 # 0
guest8 31.07.2020 02:31 # −999
bormand 31.07.2020 02:35 # 0
Мож и есть какая-то тулза на clang'овском двигле которая может хедер в питон сконвертить. Но не факт.
guest8 31.07.2020 02:38 # −999
bormand 31.07.2020 02:46 # 0
guest8 31.07.2020 02:48 # −999
Myxa 31.07.2020 10:41 # 0
guest8 31.07.2020 01:38 # −999
bormand 31.07.2020 01:26 # 0
3.14159265 31.07.2020 15:22 # 0
У меня нет.
А вся скриптушня стоит из коробки.
К тому же дотнет без студии — хуйня.
MAKAKA 31.07.2020 15:23 # 0
Имелся ввиду рантайм: Он обычно есть в винде.
Кстати, без студии можно писать еще и в райдере, но он платный, а по тяжести может со студией поспорить
3.14159265 31.07.2020 15:24 # 0
Так у борманда тоже )))
А в целом пока одни квалифицированные коллеги высирают статы из логов в Ыксель, и потом там пирдолятся с формулами.
Другие пишут какие-то парсеры для питонов, мне зачастую проще прям на серваке хуйнуть grep | cut | awk | sort и высчитать всё что нужно.
То же касается многих тривиальных csv.
guest8 31.07.2020 01:12 # −999
3.14159265 31.07.2020 15:09 # 0
Я тоже. Правда в детстве у меня VBA не было, только клон Спектрума.
Но я считал какую-то побитовую питушню, конечный автомат для курсовой по дискретной математике.
Её предлагалось считать руками на бумажке, лол.
И как раз тогда только появился VBA. Функций экселя я не знал, гуглов тогда не было.
Написал все нужные функции на VBA, посчитал всё, распечатал аккуратную табличку.
3.14159265 31.07.2020 15:03 # 0
Какой анскилл )))
> делаю какой-нибудь питоний скрипт, который csv высирает или через api ячейки патчит.
Какой скилл )))
3.14159265 31.07.2020 15:15 # +1
Вообще мой мир рухнул.
Приходит борманд на собеседование в контору с Экселем, а дальше картина описанная гостем:
https://govnokod.ru/25444#comment463938
В итоге эксельная девочка-хрюша разъебует в хламину кандидата, который способен решить задачу на десятках языков, сотней способов, включая самые экзотические и изощрённые, вроде сишного препроцессора, constexprов, тьюринг-полного sedа, хачкеля, и остальных.
Desktop 31.07.2020 00:16 # 0
Go
Достаточно простые для освоения. Статическая тупизация.
Не требуется ооп головного мозга в обязательном порядке.
guest8 31.07.2020 00:18 # −999
Desktop 31.07.2020 00:20 # 0
guest8 31.07.2020 00:21 # −999
Desktop 31.07.2020 00:42 # 0
Если препод не совсем жопорук, то поможет.
Ну а тем, кто до сих пор пользуется XP, можно посоветовать виртуалку.
XYPO3BO3 31.07.2020 00:21 # 0
Вот, например, «gcc» пропагандирует «Objective-C», суёт его во все операционные системы (в «MinGW», например, он есть). Но кто на нём реально пишет?
guest8 31.07.2020 00:23 # −999
XYPO3BO3 31.07.2020 00:24 # 0
XYPO3BO3 31.07.2020 00:27 # 0
http://gnustep.org/
Myxa 31.07.2020 01:00 # 0
Desktop 31.07.2020 00:40 # 0
Ну тогда вам на php
XYPO3BO3 31.07.2020 00:16 # 0
В «Паскале» принцип: «посрал — убери за собой». Ручная расстановка освобождения памяти тренирует внимание.
В «Delphi», правда, появились строки со счётчиком ссылок.
guest8 31.07.2020 00:19 # −999
XYPO3BO3 31.07.2020 00:23 # 0
guest8 31.07.2020 00:33 # −999
XYPO3BO3 31.07.2020 00:38 # 0
guest8 31.07.2020 00:39 # −999
XYPO3BO3 31.07.2020 00:41 # 0
guest8 31.07.2020 00:46 # −999
gost 31.07.2020 00:41 # +1
Подтверждаю. Ещё нужно объяснять, зачем в каждой строчке стоят доллары и собачки.
3.14159265 31.07.2020 15:30 # 0
Чтобы зарабатывать доллары и завести себе собачку.
3.14159265 30.07.2020 23:53 # 0
Правильно решил.
За то мне «Basic» с «Ada» и нравятся. И ещё «Dylan».
3.14159265 30.07.2020 23:57 # 0
В Дилане пошли ещё дальше. Сделали возможность указывать какой именно блок оканчивается.
При этом всё кроме End опционально.
Таким образом на простых блоках пишется End.
Зато на большой вложенности, или очень длинных методах, чтобы не запутаться можно писать полностью.
MAKAKA 31.07.2020 00:00 # 0
Имхо, скобочки с отступами отлично решают эту проблему, особенно когда vim их подсвечивапет, и прыгает по ним по проценту.
Правда, бывают блоки на три экрана конечно, там у закрыскобки можно и комментнуть
bormand 31.07.2020 00:02 # 0
MAKAKA 31.07.2020 00:03 # 0
3.14159265 31.07.2020 00:05 # 0
XYPO3BO3 31.07.2020 00:10 # 0
За пределами шоблонов страниц такой синтаксис почти не встречается.
guest8 31.07.2020 00:11 # −999
Desktop 31.07.2020 00:06 # 0
guest8 31.07.2020 00:09 # −999
Desktop 31.07.2020 00:11 # 0
guest8 31.07.2020 00:20 # −999
Myxa 30.07.2020 22:16 # 0
DypHuu_niBEHb 30.07.2020 22:16 # 0
gostinho 30.07.2020 22:17 # 0
gost 30.07.2020 22:19 # 0
Myxa 30.07.2020 22:19 # 0
gostinho 30.07.2020 22:21 # 0
Myxa 30.07.2020 22:16 # 0
guest8 30.07.2020 22:19 # −999
Myxa 30.07.2020 22:26 # 0
Есть путаница в нотациях: немцы ноту «си» обозначают как «H», а буква «B» у них обозначает «си-бемоль», а вот у англичан буква «B» обозначает просто «си». Связано это, вероятно, с тем, что в средневековых музыкальных инструментах когда-то не было ноты «си», а «си-бемоль» была.
Если что, «бемоль» означает понижение на полтона (обозначается значком, похожим на мягкий знак), а диез — повышение на полтона (обозначается значком, похожим на решётку).
Т. е. ряд «до-ре-ми-фа-соль-ля-си» немцы записывают как «CDEFGAH», а англичане — как «CDEFGAB». Почему буква «A» означает ноту «ля», я не знаю.
У итальянцев нет однобуквенных сокращений, они пишут: «do-re-mi-fa-sol-la-si».
gostinho 30.07.2020 22:28 # 0
DypHuu_niBEHb 30.07.2020 22:30 # 0
bormand 30.07.2020 23:10 # 0
defecate-plusplus 30.07.2020 23:26 # 0
XYPO3BO3 30.07.2020 23:43 # 0
А в других местах, да, цифры обозначают интервалы или аккорды.
bormand 31.07.2020 00:26 # +2
Взять тот же басовый ключ, где весь маппинг съехал. Ну сдвиньте его блять на одну линейку вверх, Си малой октавы всё равно нормально читаться будет. Нет, будем учить 2 отдельных маппинга.
guest8 31.07.2020 00:26 # −999
bormand 31.07.2020 00:46 # 0
Desktop 31.07.2020 00:51 # 0
А ты пианино тыкаешь.
Тьфу на тебя!
guest8 31.07.2020 01:00 # −999
XYPO3BO3 31.07.2020 00:29 # +2
bormand 31.07.2020 02:51 # +1
Myxa 31.07.2020 02:55 # +1
guest8 31.07.2020 02:59 # −999
Myxa 31.07.2020 03:08 # +1
Почему у клавикордов такая инверсия раскраски, не знаю.
Myxa 31.07.2020 03:13 # +1
guest6 15.12.2023 18:33 # 0
Как я понял, их бывает два типа:
1. С диатоническим рядом (чёрные клавиши тупо удалили). Играть на них пиздец как сложно, потому что трудно найти ноту «до», а если сместиться по такому ряду, то тона и полутона не будут совпадать.
2. С хроматическим рядом (чёрные увеличили до размера белых и перекрасили в белый). Тут если собьёшься, мелодия не испортится, просто транспонируется вверх или вниз.
guest6 15.12.2023 19:43 # 0
https://www.youtube.com/watch?v=HUpggXGHYjk
defecate-plusplus 31.07.2020 12:06 # +2
полагаю, басовый ключ наиболее точно удовлетворял настройке какой-нить виолончели
для левой руки ф-но/клавесина он просто используется, скорее, "потому что уже был такой, нах ещё один изобретать"
как и для правой руки - дык это для скрипки родной, "че вы тут пальцебляди лезете в наш уютный смычковый мирок"
defecate-plusplus 31.07.2020 12:14 # +2
ещё немаловажный факт, что ранние клавесинные произведения это обычно для богемного, комнатного потребления
и всякие композиторы, которые пионерили музыку, скорее писали для оркестров (потому что только за это и платилось бабло на госзаказе)
и сидишь ты такой дома при лучине, сочиняешь под сдачу к сроку, записываешь партии на оркестр из скрипки, виолончели, духовые - тебе как раз не дохера надо потом ремап делать из "левой руки" в понятный смычкобляди листинг, ты сразу записываешь как надо
да и ксероксов не особо было в то время
Myxa 01.08.2020 04:55 # +1
Скрипачи пердолятся, чтобы подогнать высоту своих звуков под другие инструменты, или неточность звучания маскируется эффектом вибрато?
bormand 01.08.2020 06:52 # 0
Но я сварщик не настоящий, могу ошибаться.
Fike 01.08.2020 07:31 # 0
guest6 22.03.2024 04:35 # 0
хуесинные
DypHuu_niBEHb 30.07.2020 22:29 # +1
Вот тебе за это мульт https://www.youtube.com/watch?v=g9Xz2Ta_LDs
Myxa 30.07.2020 22:32 # 0
Какой багор )))
guest8 31.07.2020 03:50 # −999
gost 31.07.2020 03:52 # 0
TOPT 31.07.2020 04:02 # 0
gost 31.07.2020 04:06 # 0
TOPT 31.07.2020 04:16 # 0
gost 31.07.2020 04:18 # 0
TOPT 31.07.2020 04:21 # 0
guest8 31.07.2020 14:22 # −999
TOPT 31.07.2020 15:11 # 0
Desktop 31.07.2020 15:14 # +1
TOPT 31.07.2020 15:21 # 0
guest8 31.07.2020 09:59 # −999
bormand 31.07.2020 10:19 # 0
MAKAKA 31.07.2020 10:24 # 0
ого
guest8 31.07.2020 10:42 # −999
Desktop 31.07.2020 15:14 # 0
Fike 30.07.2020 22:29 # 0
ну и плюс ля первой октавы = 440 гц, настройка всегда относительно нее ведется
bormand 30.07.2020 23:53 # +1
Относительные интервалы соблюдаются - уже норм. Абсолютную высоту большинство людей всё равно не воспринимает, плюс-минус несколько тонов не заметят.
Fike 30.07.2020 22:31 # 0
gostinho 30.07.2020 22:33 # 0
guest8 30.07.2020 22:34 # −999
gostinho 30.07.2020 22:37 # +1
DypHuu_niBEHb 30.07.2020 22:37 # 0
Fike 30.07.2020 22:38 # 0
DypHuu_niBEHb 30.07.2020 22:39 # +1
guest6 22.03.2024 04:37 # 0
guest6 22.03.2024 04:39 # 0
Desktop 30.07.2020 22:41 # +1
DypHuu_niBEHb 30.07.2020 22:41 # +1
Desktop 30.07.2020 22:46 # +1
Fike 30.07.2020 22:34 # 0
Desktop 30.07.2020 22:33 # 0
Поправьте, если пизжу
Fike 30.07.2020 22:35 # 0
Myxa 30.07.2020 22:33 # 0
Desktop 30.07.2020 22:38 # 0
Fike 30.07.2020 22:41 # 0
defecate-plusplus 30.07.2020 23:31 # 0
Fike 30.07.2020 23:43 # 0
Desktop 30.07.2020 22:34 # 0
Fike 30.07.2020 22:36 # 0
Desktop 30.07.2020 22:38 # 0
Desktop 30.07.2020 22:53 # 0
https://www.quora.com/Why-is-it-C-D-E-F-G-A-B-in-music-and-not-A-B-C-D-E-F-G
Я начинаю понимать, почему крестовики вроде Романа ещё и по сольфеджио всякому угорают. Это такая комплексная сублимация
guest8 30.07.2020 22:54 # −999
XYPO3BO3 30.07.2020 23:00 # 0
gost 30.07.2020 22:39 # 0
То обсуждение не нашёл, только два других из разных эпох: https://govnokod.ru/6055#comment79214, https://govnokod.ru/16219#comment237953.
DypHuu_niBEHb 30.07.2020 22:41 # 0
Надо бы каллиграфа вызвать, он охуенный
Desktop 30.07.2020 22:44 # 0
guest8 30.07.2020 22:47 # −999
Desktop 30.07.2020 22:57 # 0
guest8 30.07.2020 22:59 # −999
Desktop 30.07.2020 23:00 # 0
guest8 30.07.2020 23:01 # −999
Desktop 30.07.2020 23:04 # 0
guest8 30.07.2020 23:06 # −999
bormand 31.07.2020 00:52 # 0
Myxa 31.07.2020 01:03 # 0
[Sono d'accordo]
[Non sono d'accordo]
[Leggi di più]
Ну и какой из вариантов мне выбирать?
Myxa 31.07.2020 01:06 # 0
gost 31.07.2020 01:07 # +2
Myxa 31.07.2020 01:13 # 0
gost 31.07.2020 01:17 # 0
Myxa 31.07.2020 01:20 # 0
Хочу такое. Выделяешь на каком-нибудь сайте фрагмент текста на любом языке программирования, и получается нямка.
guest8 31.07.2020 01:09 # −999
Fike 31.07.2020 13:35 # 0
MAKAKA 31.07.2020 14:50 # 0
всё
пизда
уйду в курьеры
никогда не хотел удаленной работы, и вот тебе бляд
defecate-plusplus 31.07.2020 14:52 # 0
вот ждём результатов своих мазков теперь
если дома нет маленьких детей, то че бы и дома не посидеть
guest8 31.07.2020 15:24 # −999
Desktop 31.07.2020 15:27 # +1
guest8 31.07.2020 16:04 # −999
Desktop 31.07.2020 15:01 # 0
Я, говорит, могу тебе перенести адресную строку в нижнюю часть экрана, а то вдруг ты соскучился по временам интернет эксплорера на виндофоне.
А ещё удалил ВСЁ, включая куки, настройки, дополнения и даже кастомные поисковые движки.
Зато адресная строка в нужном месте блять
3.14159265 31.07.2020 15:34 # 0
Ух ты. Похоже не один я такой упоротый, чтобы ставить Гiгетох на телефон.
>А ещё удалил ВСЁ, включая куки, настройки, дополнения и даже кастомные поисковые движки.
Именно поэтому я против «автообновлений».
Desktop 31.07.2020 15:36 # 0
> не один я такой упоротый, чтобы ставить Гiгетох на телефон
- я не вижу альтернатив. Но лиса не радует в последнее время. На ноуте ушёл на esr, потому что последние версии почему-то начали произвольно сбрасывать зум страниц до 100%.
defecate-plusplus 31.07.2020 15:41 # 0
https://github.com/kiwibrowser
правда он как-то перестал развиваться, надеюсь, не навсегда
Desktop 31.07.2020 15:44 # +1
- ну то есть альтернатива лисе это только хромиум различной степени зондированности.
3.14159265 31.07.2020 16:06 # 0
А какие есть зонды в опенсорсных сборках?
Ну допустим гугловый DNS. Ну предположим проверка у гугла вредоносных сайтов. Это и ФФ делает по дефолту. Хз отключается ли оно в хроме.
И дефолтный гугл-поиск — вовсе мелочь.
Desktop 31.07.2020 16:09 # +1
Тут дело даже не в зондах, а в том, что один движок заполонил практически всё.
Сегодня выбирать вообще не из чего.
Хочешь браузер? Ну вот тебе хромиум/хром или полумёртвый фф.
Хочешь мобильник? Пожалуйста, один форм-фактор и аж две операционки, обе достаточно говняные.
Застой какой-то.
3.14159265 31.07.2020 16:56 # +1
Запустил wireshark браузишь, и попутно смотришь на какие хосты оно ходит.
Можно даже не браузить, а наблюдать за сетевой активностью ОС и браузера.
Много познавательного
>Хочешь браузер? Ну вот тебе хромиум/хром или полумёртвый фф.
Это на самом деле неплохой выбор.
Интернет другой к сожалению выбрать нельзя. Кругом тормозные говносайты с кучей перделок, рекламы, трекеров, майнеров и просто питушни.
guest8 31.07.2020 16:06 # −999
Desktop 31.07.2020 16:07 # 0
На тебе скальп Чубакки: https://cdn.trinixy.ru/pics4/20100901/rare_star_wars_photos_40.jpg
Fike 01.08.2020 07:56 # 0
https://www.costumepartyworld.com/media/catalog/product/cache/1/image/650x/040ec09b1e35df139433887a97daa66f/h/l/hlw-mask-detectpika_3_.jpg
https://ae01.alicdn.com/kf/HTB1SwaUcL1H3KVjSZFBq6zSMXXaR.jpg
https://ae01.alicdn.com/kf/HTB1lwZ8auySBuNjy1zdq6xPxFXai/BomHCS-New-Handmade-Funny-Animal-Cap-Novelty-Pikachu-Hats-Gag-Party-Masks-Beanies-Halloween-Birthday-Cool.jpg
https://sleezybarbhorsewear.com/wp-content/uploads/2016/09/sleezy-face-mask-pikachu.jpg
gostinho 31.07.2020 16:09 # 0
https://govnokod.ru/26832 https://govnokod.xyz/_26832
Desktop 31.07.2020 16:55 # 0