- 1
IT Оффтоп #63
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
IT Оффтоп #63
#35: https://govnokod.ru/26463 https://govnokod.xyz/_26463
#36: https://govnokod.ru/26508 https://govnokod.xyz/_26508
#37: https://govnokod.ru/26524 https://govnokod.xyz/_26524
#38: https://govnokod.ru/26539 https://govnokod.xyz/_26539
#39: https://govnokod.ru/26556 https://govnokod.xyz/_26556
#40: https://govnokod.ru/26568 https://govnokod.xyz/_26568
#41: https://govnokod.ru/26589 https://govnokod.xyz/_26589
#42: https://govnokod.ru/26600 https://govnokod.xyz/_26600
#43: https://govnokod.ru/26604 https://govnokod.xyz/_26604
#44: https://govnokod.ru/26627 https://govnokod.xyz/_26627
#45: https://govnokod.ru/26635 https://govnokod.xyz/_26635
#46: (vanished) https://govnokod.xyz/_26646
#46: (vanished) https://govnokod.xyz/_26654
#47: https://govnokod.ru/26671 https://govnokod.xyz/_26671
#48: https://govnokod.ru/26707 https://govnokod.xyz/_26707
#49: https://govnokod.ru/26750 https://govnokod.xyz/_26750
#49: https://govnokod.ru/26776 https://govnokod.xyz/_26776
#50: https://govnokod.ru/26804 https://govnokod.xyz/_26804
#51: https://govnokod.ru/26809 https://govnokod.xyz/_26809
#52: https://govnokod.ru/26817 https://govnokod.xyz/_26817
#53: https://govnokod.ru/26833 https://govnokod.xyz/_26833
#54: https://govnokod.ru/26840 https://govnokod.xyz/_26840
#55: https://govnokod.ru/26844 https://govnokod.xyz/_26844
#56: https://govnokod.ru/26862 https://govnokod.xyz/_26862
#57: https://govnokod.ru/26890 https://govnokod.xyz/_26890
#58: https://govnokod.ru/26916 https://govnokod.xyz/_26916
#59: https://govnokod.ru/26934 https://govnokod.xyz/_26934
#60: https://govnokod.ru/26949 https://govnokod.xyz/_26949
#61: https://govnokod.ru/26980 https://govnokod.xyz/_26980
#62: https://govnokod.ru/26999 https://govnokod.xyz/_26999
Этот оффтоп сгенерирован автоматически.
Индекс оффтопов: https://index.gcode.space/.
Зеркала Говнокода и полезные ресурсы:
* https://govnokod.xyz/ (альтернативный Говнокод)
* https://gcode.space/ (read-only зеркало Говнокода)
* @GovnokodBot в «Telegram»
* https://vorec.space/ (глоссарий Говнокода)
если храним в БД, например, результаты футбольных матчей и таблицу, как лучше всего сделать всякий хитрожопый ордеринг? например, если у двух команд одинаковое количество очков, то надо смотреть на результаты матчей между ними, потом на разницу мячей и т.п.; если более чем у двух одинаковое количество, то сначала смотрим количество очков, которое каждая команда набрала в матчах с остальными с таким же количеством общих очков, потом опять-таки разницу и т.п.
это вообще имеет смысл делать на уровне БД или выше?
а, типа мы сначала нашли все команды с одинаковыми очками, и далее их выбрали, и нашли матчи между ними?
Если ты пиздец ссыш миллиона запросов, то загрузи все в память в удобном формате: кажется, что в современную память все матчи в мире влезут
это получается сначала выгружаем данные по командам (игры, победы, поражения, всякое-разное, считаем очки)
потом уже руками в логике делаем сортировку, при необходимости дёргая базу для доп информации
я правильно понимаю?
Вон Борманд предлагает тебе один раз это пересчитывать после матча, и сохранять в денормализованном виде, то есть в виде уже готовой турнирной таблицы. Чтобы получать ее одним SELECT *
а если я захочу посмотреть на таблицу турнира с учётом других правил? тогда придётся пересчитывать) ну это очень редко конечно когда бывает нужно
Иногда лучше 10 маленьких лёгких и понятных запросов, чем один семиэтажный, который ты будешь сутки дебажить.
Ну любую логику пересчитать на C# проще, чем на SQL:)
Х.з., я уже подзабыл SQL, (да и не знал его толком, лол).
вон есть две записи
Шинник -- Локомтив -- 2:3
Шинник: N очков
Локомотив: Z очков
Тебе придется отсортировать, найти одинаковые, сделать подзапрос с поиском результатом сорвневаний итд
вот у команд одинаковое количество очков. и надо сначала посмотреть, как они играли друг с другом. и, например, учитывается правило выездного гола.
к примеру, команды А и Б сыграли на поле А 3-2 в пользу А, а на поле Б 2-1 в пользу Б
Б должна быть выше в таблице
возьми какую-нибудь ЛЧ или чемпионат на 20 команд, там алфавитная сортировка не поможет
правда, в таких случаях, если все-все критерии не дают определить порядок, назначаются дополнительные матчи лол
реальную жизнь иногда очень тяжело наматчить в кампутир(
Я бы на на клиенте субд посчитал
может, жребий, может, переигровки, а может проходит тот, кто Албания, а Занзибар соснулей - если турнир короткий, в нем нет времени на переигровки (+ как ты переиграешь группу, где все 4 команды сыграли 0-0 и имеют равенство по желтым и красным карточкам)
Greatest combined goal difference in all group matches
Greatest combined number of goals scored in all group matches
If more than one team remain level after applying the above criteria, their ranking will be determined as follows:
Greatest number of points in head-to-head matches among those teams
Greatest goal difference in head-to-head matches among those teams
Greatest number of goals scored in head-to-head matches among those teams
Fair play points, defined by the number of yellow and red cards received in the group stage:
Yellow card: minus 1 point
Indirect red card (as a result of a second yellow card): minus 3 points
Direct red card: minus 4 points
Yellow card and direct red card: minus 5 points
If any of the teams above remain level after applying the above criteria, their ranking will be determined by the drawing of lots
в общем, старая добрая монетка
Лол. Там даже рандом есть.
> чемпионат Европы по футболу 1968
> В полуфинале сборная СССР сыграла вничью 0:0 с командой Италии. Победителя определял жребий (подбрасывание монеты), который оказался неблагосклонным к капитану сборной СССР Альберту Шестернёву. Такого в истории футбола на высоком уровне больше не случалось.
Или вообще денормализовать место в конце турнира и не париться? Оно же иммутабельное, по сути.
типа сделать отдельную таблицу и там хранить места команды после каждой игры?
почему мне не очень нравится такой вариант: игры могут переноситься, а иногда и чёткого расписания тура нет (правда, это больше относится к другим командным видам спорта), потому круто было бы сказать: возьми матчи турнира с даты по дату и построй таблицу
В какой-то графовой мб сможешь и одним запросом утянуть
я из графовых знаю только GraphQL
Те ты из клиента пишешь квери а бек может твою таблицу собрать и из реляционной бд и из графовой
У меня у самого нет опыта работы с графовой но бекендщики на работе рассматривали реализацию подобной структуры на графовой бд
типа был бэк классический
и был миддлваре с графкьюел
но подробностей не знаю
(работало через жопу, но там свои причины были)
Оно почти всегда работает через жопу потому что его делал фейсбук а у фейсбука графовая бд и оно в принципе не очень хорошо ложится на архитектуры где главная бд - реляционная
но если ты хочешь попрактиковать SQL, то вай нот, можно и на нём
Кстати да, это важный момент. Весело будет учитывать в запросе все вореции правил за последние 100 лет.
есть соревнование с айди турнира, этапами и, как я теперь думаю, айди правил для каждого этапа
потому в историю лезть не придётся для конкретного турнира
а так наверное соглашусь, если делать сурьёзные выборки, то стручок засохнет
Если коэффициент козявок поменяется, то не хочется перевыкладывать приложение
Руками подвинут. Не удивлюсь, если так это и делается.
это нормально, если есть экономический эффект (ну и разновидностей правил, я предполагаю, пара десятков, вполне можно сделать и тыкательную мышкой систему)
зы: у меня просто была психологическая травма: я видел доморощенный CRM (внутрекомпанейский), где программисты реально делали коммиты с названиями "изменить размер скидки с 15% на 17%" или "добавление скидки в день рождения".
С тех пор мне всегда хочется такую логику выносить
с другой стороны, как адекватно хранить императивные правила в БД, я не знаю
Кстати, вспомни как Сёма жаловался на Али. Что там товары со скидкой криво сортируются, лол.
>как хранить
ну вот я там ссылк на давал на тулы типа
https://docs.jboss.org/drools/release/5.2.0.Final/drools-guvnor-docs/html_single/#d0e47
от так
https://docs.jboss.org/drools/release/5.2.0.Final/drools-guvnor-docs/html_single/images/Chapter-Guvnor/template-rule4.png
Ты выбираешь, что ты хочешь видеть по оси X и по Y, и какую агрегацию и группировку делать.
Но это дохуя сложно, и тоже императивщину особо не выразишь
хранить json в базе, выгружать, преобразовывать в коньструкции используемого языка (если он такое позволяет конечно)
но это какой-то вендор лок (то есть мы завязываемся на условный Яuby)
Какая политкорретность )))
Это наверное для случаев, когда у тебя реально 20 бизнес-аналитиков меняют бизнес правила раз в сутки, и правила те описаны на трех сотнях листов
Сколько бизнес-аналитиков нужно, чтобы бизнес-правила менялись раз в час?
всего лишь хранишь скриптушню в базе. а, если у тебя больмень серьёзное приложение, то встроенное двигло для скриптования там скорее всего уже и так есть
надо будет побаловаться.
swift + racket + coredata (или sqlite и голый sql для остроты ощущений)
berkeleydb и няшную. Они ебашили NoSQL когда слова "мейнстрим" ещё не было.
1C вон седьмая без всякого СУБД вроде бы жила так
А всякие newaliases в sendmail/postfix тоже же в ней хранились?
97-99 год где-то.
Через 20 лет хипстеры изобретут ки валуе базу на JS с транзациями, и будут ссать от восторга
Есть правда легкое подозрение, что не все компиляторы могут одинаково выравнивать структуры, и не у всех одинаковый байтордер, так что структуру придется снабжать полезными хинтами.
>функций на няшной?
ну так в ту пору это был вполне нормальный API.
У того же сендмыла был API, чтобы передать логику фильтрации письма в нее
Опытный сишник пишет структуры так, что они не требуют выравнивания и/или прагма паков. Проверь.
> не у всех одинаковый байтордер
Это да, но умные дядьки специально для этого придумали "сетевой" порядок байтов и htons.
А как он так делает, кстати? Как мне гарантировать, что моя структура не попадет к марсиманам, у которых 33-х битная операционная система, и мне там не выровнят что-то?
>htons
да, тоже про это подумал
Ну не, под такое уже хрен сделаешь. А с октетами и их производными всё просто - добиваешься натурального выравнивания для всех полей. И конпелятор не будет добавлять отсебятину.
Ну т.е. пара интов и 8 чаров у тебя на любой популярной платформе будут без паддингов.
интов сколькибитных?
Ну в общем я тебя понял, да: обычно если твоя структура кратна степени довйки начиная с воьсми бит (или разлагается на эти степени?), то смысла паганить её нету, верно?
Да хоть 2, хоть 4, хоть 8. Приведи пример платформы, где эта структура будет не выровнена.
Но вообще для сетевого протокола можно задефайнить себе набор из u8, u16, u32 и u64 и из них составлять структуры. Тогда точно ничего никуда не поедет.
int1: 2byte
int2: 2byte
char[8]: 8byte
ПУДИНГ: 8byte
Чтобы следующая структура шла отдельно, И не надо было невыровнено чото делать
А правила такие, насколько я помню:
1) Выравнивание примитива равно ему размеру: alignof(u32) == sizeof(u32)
2) Выравнивание структуры или юниона равно max(alignof(fields))
3) Оффсет каждого поля кратен его выравниванию
Пункт 2 добавляет паддинг в конец. Пункт 3 добавляет паддинги между полями.
А зачем тебе другой экземпляр? Параллельные запросы из разных тредов она поддерживает. Поднимай сокет да обрабатывай пакеты от клиентов. Юникс-вей, хуле.
З.Ы. Вроде и между процессами координация через shared memory была, но я могу ошибаться.
У меня была .cgi на перле, которая запускалась на каждый запрос. Два питуха зашли на сайт -- два cgi запустились.
Что будет, если два отдельных процесса одновременно откроют один файл, и писнут туды?:)
Тредов тогда не было ни в позиксе еще (pthreads вроде не завезли, у прыщей был свой как-то API), но у меня в голове.
Да и демона на шаред хостинге я бы не запустил)
Вероятно, я напиздел
LinuxThreads
This is the original Pthreads implementation. Since glibc 2.4, this implementation is no longer supported.
NPTL (Native POSIX Threads Library)
This is the modern Pthreads implementation. By comparison with LinuxThreads, NPTL provides closer conformance to the requirements of the POSIX.1 specification and better performance when creating large numbers of threads. NPTL is available since glibc 2.3.2, and requires features that are present in the Linux 2.6 kernel.
Ну хотя вот это
"closer conformance" говорит о том, что не все было радужно там с APIO
зы:
не, все ок
LinuxThreads — частичная реализация библиотеки потоков POSIX Threads
Им всё таки проще вот такие
https://docs.jboss.org/drools/release/5.2.0.Final/drools-guvnor-docs/html_single/images/Chapter-Guvnor/GuidedComplex.png
И не факт, что оно туринг полное (иначе они тебе инфинит луп быстро образуют)
Но вообще у меня нет Strong Opinion.
Может быть когда-то и правда лучше впиндюрить туда Python, и обучить людей писать на нем несложную логику
оно всё равно где-то внутри себя правила хранит в каком-то формате
З.Ы. Хотя не, write-only хуйня получается.
Ну причём эти правила только для гуйни то и нужны. В готовых заказах в таблицу, скорее всего, просто впишут сумму скидки.
ДДроу я пхнул в ATLный класс CComPtr. Это шаред, он умет и муваться, и копироваться, и сам имеет каунтинг.
Остальное поклал кого в шаред, кого юник (у меня нет make_unqie, бо компилятор старый, так что приходится делать new).
Свои классы сделал мувабл, а копирование явно запретил (через = delete)
При муве владение ресурсом переходит к новому питуху, а старый опустошается, и выкидывается на помойку.
Теперь кладу всё в структуру, и теку: само всё чистится, главное инициализировать в правильном порядке.
Внятный оунершип великая вещь конечно
Везёт. Я вот пытаюсь натянуть RAII на вулкан, а получается какая-то питушня. Нельзя взять и ёбнуть буфер пока видюха его юзает.
можно же просто слип делать на 1с в деструкторе в цикле и проверять, зачем потоки какие-то, маразм
для с++ это же наверное дохуя
в браузере просто потоком пользуешься по очереди ты и браузер и всегда надо ему этот поток отдавать а самому себе шедулить исполнение на попозже
А пока оно собирается, сидят на сайтах, которые лагают.
std::tetris<std::left, std::left, std::right, ...>
std::static_execute_code
При выходе у меня релизится сначала сюрфейс, потом directdraw сам (ну вернее это CComPtr их релизит в своих деструкторах), и видимо ddraw сам следит, чтоб всё за собой почистиить
Он даже мне ращрешение нормальное возвращает сам!
По сути ты сейчас можешь начать рендерить новый кадр пока старый ещё не дорисовался. Ну если больше двух буферов в свапчайне, конечно.
On IDirectDrawSurface7 interfaces, the default is DDFLIP_WAIT. If you want to override the default and use time when the accelerator is busy (as denoted by the DDERR_WASSTILLDRAWING return value), use DDFLIP_DONOTWAIT.
Какая прелесть: карту называли графическим акселератором в моем детстве.. кто помнит 3dFX и Glide?
Я могу ей что-то рисовать в буфер или видео энкодить например. Но без моника она ведь не видеокарта уже.
Во-первых есть лаптопы с двумя картами: одна полноценная, а в другой только GPU для рендеринга (CRTC нету). dGPU, кажется. Ну знаешь же эту хуйню с DRI_PRIME и setprovideroffloadsink?
https://wiki.archlinux.org/index.php/PRIME
Во-вторых есть видяхи вообще без выхода для майнинга говна.
Кстати, о монах: видел такую странную карту, которая не видела по DVI монитор. А по hdmi видела. Что странно, потому что прот там вроде один и тот же. Видимо, была битая нога (16-я, судя по картинке https://cdn.shopify.com/s/files/1/0869/5892/files/DVI-connectors-type_large.jpg?v=1478277188)
И вот UEFI было срать на наличие монитора, и обычному дравйеру SVGA тоже срать.
А драйверу nVidia не срать.
В итоге пока ты не поставишь дрова -- мон работал. А как поставишь -- сразу гас;)
Out of order исполнение на три тыщи ядер и ещё кучу апаратных блоков. write-back кеши без протоколов когерентности. И 32 фронтенда, которые парсят твоё говно и набрасывают на этот вентилятор.
Добро пожаловать в ад, грешники.
барьер.этапДоБарьера = ВыводКартинки
барьер.доступДоБарьера = ЗаписьБлокомВыводаКартинки
барьер.стараяРаскладкаКартинки = ОптимальнаяДляВывода
... случается раньше ...
барьер.новаяРаскладкаКартинки = ОптимальнаяДляЗатенения
барьер.доступПослеБарьера = ЧтениеБлокомЗатенения
барьер.этапПослеБарьера = Затенение
Но хотя бы кубик с текстурой нарисовал.
Кстати, я про RTX же отвечал тебе?
Там все модели пакуются в некую проприетарную acceleration structure, по которой RTX ядра смогут искать пересечения лучей с треугольниками. До кучи надо приложить таблицу всех шейдеров и всех ресурсов.
Затем запускаешь команду vkCmdTraceRays. Она запускает ray generation shader, который начинает закидывать лучи в RTX топку. Найденные пересечения триггерят closest hit shader и miss shader, в которых ты пишешь какую-то свою обработку и можешь шедулить новые лучи для отражений/преломлений.
Спасибо, стало непонятнее. Чтобы из модели (подразумевается исходный vertex + index buffer?) получить пригодные для RTX треугольники в 3D, нужно пол-пайплайна пройти, включая недешёвые вещи такие как скиннинг. RTX полностью дублирует или заменяет его? Я вроде читал, что он вместе с растеризацией как-то уживается. Ладно, объяснять на пальцах графический пайплайн уже после D3D10 стало невозможно, так что придётся самому видимо читнуть про этот ваш вулкан. Надеюсь, там хоть не надо натягивать квадрики на экран.
Судя по тому, что он запускается как compute а не как graphics, походу заменяет. Но так то никто не мешает гонять паралелльно и compute и graphics.
> исходный vertex + index buffer
Да, как я понял, эти буфера as is идут в bottom level acceleration structure. А список инстансов и матрицы трансформаций идут в top level acceleration structure. А вот вершинных шейдеров, тесселяции и т.п. там не видно. Возможно в моделях надо грубые контуры описывать, а тонкую обработку пересечений уже в шейдере доделывать... Х.з., я просто обзорное описание читал.
З.Ы. Кстати, у шейдеров сейчас есть возможность срать в буфер. Возможно, что надо прогнать всю верхнюю часть пайплайна в буфер, а потом скормить его в RTX.
Гипотетически, я могу прогнать нормальный пайплайн и получить (1) мешок треугольников до растеризации и (2) пиксельную маску всяких блестящих объектов, которые хотелось бы потрейсить. А потом уже построить acceleration structure из (1) и запустить ray generator для (2). Ну и смёржить результаты этих пайплайнов.
Из того, что ты писал: какой процент кода на сишечке, а какой процент кода на языке под GPU?
У нас были event, fence, semaphore и барьеры всех цветов и размеров...
Ты наполняешь командный буфер командами и отправляешь его в очередь на gpu. Оно там в фоне начинает ебашить. В конце-концов сигналит тебе fence на котором ты можешь ждать.
На сишке тыща строк была когда я нарисовал треугольник, на glsl ну с десяток.
В x86 мне тоже нужен забор, потому что кеши то кококококгерентны (когда нить я запомню, чем MESI отличается от MESA), но ведь перед кешами свой буфер, и его вроде бы вполне можно не флашить.
>тыща
Это была сишка, или кресты?
замакроёбь
Ну и вместо нормального менеджера ресурсов у меня там три раза скопипащена загрузка файла с диска и заливка его в видюху, лол.
Заборов еще куча всяких видов, потому я за JMM: просто сихронизируюсь на локе, и теку
Ну видимо у крестов уже такая же мемори модел есть
в JMM есть happends-before: оно гарантирует такое выполнение, что все сайд эффекты уже видны.
synchronizes-with это вероятно из C++ модели.
Быстро не скажу, нужно читатьь
пойду повеш почитаю
если правильно помню, то это более строгое отношение, чем happens-before, которое гарантирует не только видимость состоящих в отношении операций, но и предшествующих им, т.е. если в program order A идет раньше B, а B synchronizes-with C, то C всегда будет видеть А, даже если А и В между собой никак не связаны.
Но я не спал двое суток и пизжу наверное.
То есть если я писнул в волатильную переменную, то мне гарантируется, что следующее чтение ее увидит, бо как раз таки будет флаш (впрочем, атомарность не гарантируется для лонгов), но вот увижу ли я другие изменения -- это как карта ляжет.
А happens before (всякие локи и пр) гарантируют hb?
Так понимаю, что если пишу 2 байта по адресу 0-1, то они там сразу оказываются. А если по адресу 1-2, то сначала попадает первый байт, потом может поработать другой тред, и дальше будет багор.
Так вот джава гарантит атомарность для 32х битных интов, пушо их выравнивает
Еще он пишет, что volatile имеет две семантики: Ордеринг (которая ломает оптимизации) и атомарность
По спеке long не атомарен, и его волатилят ради атомарности и ломают оптимизации
а зачем? ведь на x64 он и так атомарен
а double -- тоже атомарен на современных процах, бо FPU и так умеет 64 бита, хотя по спеке и не должэен
жава соснула
Питухи любят хранить флаги битами в байте. В джаве есть BitSet, у сишников есть | и & или структура с битовыми филдами.
Эти операции могут быть не атомарны: приходится считать из памяти инт, орнуть его, и поклать обратно, так как нельзя считать один бит.
Если из двух потоков это сделать одновременно, то можно получить в памяти говно. Это называется word tearing.
Леша пишет, что жаваёбам это не всегда очевидно, в отличие от сишников
http://www.club155.ru/x86cmd/BT
З.Ы. Или можно lock bts?
P.S. lock bts можно.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49244
Иначе бы зачем сделали такую свободную модель?
https://profi.ru/blog/kalendar-mezhdunarodnyx-dnej-oon-i-yunesko/
Поздравлять со всякой хуетой, например 19 ноября - Всемирный день туалета
Но лучше, наверное, было бы скраппить википедию, там не только важные праздники ООН, а ещё дни рождений всяких интересных персон
Какой старый хрыч багор )))
https://habr.com/ru/post/519152/
Профессия «Разработчик 1С» появилась относительно недавно. Раньше так называли лишь чуваков из 1С, которые разрабатывали конфигурации. Остальные чуваки назывались «Программист 1С» и внедряли эти конфигурации.
Да как смочь
1С-девопсов еще притащите
А вообще это такой багор, в статье прямым текстом написано, что программисты на 1С это какой-то офисный планктон, который занимается не разработкой.
Даже PHP программисты — это разработчики сайтов (в основном), даже JS программисты это не писатели скриптов или операторы браузеров, а разработчики; я никак не могу понять как человек становится 1С'ником и приобретает такую низкую самооценку с отсутствием амбиций.
.......
>Средняя зарплата на должности «Программист 1с» (Россия) составляет 39 975 руб.
Ох. Ну ладно, понимаю, наверное.
А почему, кстати? Казалось бы: автоматизация бизнеса это ВАЖНО
Там и работягам больше платят
И почему они не меняют вид деятельности? Имхо, если ты хоть сколько нибудь вменяемый, вот умеешь там мануал по языку прочитать, и массив отсортировать, то ты уже можешь получать больше, чем 39 тысяч.
А зачем им брать 1С? 1С это хуета, мы тут это уже научно доказали.
> И почему
Мазохисты, либо ну просто очень анскильные люди. Или просто не хотят высокую зарплату и что-то там решать сложное
Полностью согласен. Поэтому я за "PHP".
Все эти три хуйни больше и гибче 1с и имеют базу знаний и спецов размером с целый мир
>И почему они не меняют вид деятельности?
Это легко так рассуждать сидя на говнокоде. В реальности люди делают кучу тупой хуйни по самым разным иногда оправданным причинам
>вот умеешь там мануал по языку прочитать, и массив отсортировать, то ты уже можешь получать больше, чем 39 тысяч
именно поэтому я ха js
Я считаю, что если человек думает что-то типа: «Я хочу заниматься автоматизацией бизнеса, а буду делать это именно на 1С, потому что эту технологию создали в раш-ке и ей пользуются маленькие ИП и госконторки!», должен страдать.
Старый совковый ангар с маразматиком-директором и станками 45-го года, где ит-отдел на табуретках сидит?
Там да, на грани нищеты могут работать 3000 гречневых мужиков и 1С там скорее всего используют.
А на высокотехнологичном заводе техники Huawei ссали и срали на 1С )
Угадай где зарплата будет больше
верно ли утверждение, что в богатых компаниях 1С нет, и потому у программистов на 1С зарплата как у таксиста?
Но проблема в том, что компаний типа первой несколько штук на всю Россию, а вторых миллионы.
А лицензия на таксование из раш-ки, к сожалению, в других странах никому не нужна.
А что не так? винду с MS-SQL и 1С кто админит?
Как сделать, чтобы в Apache директорию с сайтами (напр: /var/run/www/*) можно было писать от имени моего пользователя? А то постоянно раньше приходилось запускать консоль и всё остальное от имени www-data.
червона рута не шукай вечорами
Я запустил телек по hdmi c хорошим кабелем, кстати. Сам телек выбрал себе режим 4К на частоте 60, и все равно подтупливал.
Я поменял на более мелкий резолюшен, и стало ок.
Попробовал включать черезстрочную (хотя и с прогрессивной вроде бы все нормально).
Частоту уменьшал, но в итоге вернул на 60.
Самый жирный фильмец там 1080, так что толку от 4К нет.
В 10ке есть Desktop Resolution и Active Signal Resolution.
Обычно они одинаковые, но ты можешь выбрать левое "логическое" ра3решение, и тогда у тебя просто рабочая область ресайзнится. Забавно
Можно обмазаться сеалинуксом и соснуть хуйцов, если не разобраться с контекстами, метками. При нормальных правах юзера, группы и т.д.
Анскильные хитупи, когда догадываются в чем причина, просто психуют и вырубают в пермиссив после такого.
1) fork() при ошибке возвращает -1
2) kill() при -1 убивает все процессы текущего юзера (ну или вообще все кроме init если root)
Какие грабли для любителей забивать на ошибки )))
https://www.youtube.com/watch?v=1PcdqsuMdgI
https://www.youtube.com/watch?v=iFq6z3DKG6g
https://www.youtube.com/watch?v=rl9r-p__oMg
Только няшки, только найткор.
https://www.youtube.com/watch?v=zdE27KTGRUs
https://www.youtube.com/watch?v=FoFG7G1YxSQ
https://www.youtube.com/watch?v=b3rQOUm1lXY
https://www.youtube.com/watch?v=MTYlZjl5gOA
https://www.youtube.com/watch?v=j6KtQRbyH_g
https://www.youtube.com/watch?v=HqxcJb5ydDw
Чому? Это пин твой нахуй никому не нужен. А с двумя сторонами вполне оплатить что-нибудь можно.
Подтверждение через смску - это защита продавца от твоих претензий, а не тебя от случайных покупок.
я процитирую эксперта (https://govnokod.ru/26809#comment560914)
gost 21.07.2020 03:07 # +2
Ну хуй знает, снять деньги она без пина не сможет, а в интернете двухфакторка нужна. Без двухфакторки только особо крупные конторы могут деньги снимать.
Плюс клиент сразу будет знать, что его карту спиздили, и сможет позвонить в банк.
Это не совсем так вроде, скорее крупные конторы могут себе позволить риски от работы без 3дс. Мелкий магазинчик из-за чарджбеков и штрафов за них может разориться нахуй и ещё банку останется должен.
https://www.youtube.com/watch?v=nAlTfKnlh8U
https://www.youtube.com/watch?v=5qap5aO4i9A
Она просто не пустит туда того, кому безразлична судьба Минас-Тирита
Да ты чо, я целый фильм посмотрел в переводе ёблина, давай уже ебаться!
- это чтобы почувствовать себя членом одновременно двух субкультур? какая находчивость )))
i++ заменять на ++i
твою мать
но вообще я сотонистов имел в виду
Не знаю кто такие рейфаги. На лурке нашел только это:
Катаморфизмы, параморфизмы, зигоморфизмы, хистоморфизмы, препроморфизмы, анаморфизмы, апоморфизмы, футуморфизмы, постпроморфизмы, хиломорфизмы, крономорфизмы, синкрономорфизмы, экзоморфизмы, метаморфизмы, динаморфизмы алгебра и коалгебра Калвина Элгота наконец. Успех хиккующих выблядков / просто быдлокодеров типа рейфага или сисярп/джава-девелоперов, которые работают в Люксофте не будет тебя волновать и уже через пол года ты будешь получать такие гранты, что любой профессор будет течь при одном упоминании списка твоих публикаций.
пойдёт?
>> Вскоре Древарх Просветлённый решил выбирать имя в честь дней недели, а отчество — в честь месяца (к примеру, Среда Декабриевич), и тем самым менять паспорт каждый день. Однако работники ЗАГСа убедили его в невозможности подобных действий с технической точки зрения.
- окда
https://www.youtube.com/watch?v=hkwNjn3WhfQ
https://www.youtube.com/watch?v=XLPxuqcEVso
я считаю, это повод возмутиться
а как там в Tcl/Tk нормально сделать exec внешней тулзы, чтобы оно вывод перехватило и не сходило от него с ума?
В квадратных скобочках выполняется код, потом его результат подставляется в выражение set
upd неправильно прочитал, щас попробую, спасибо
И с упоением сосали мы
Красивый, необрезанный хуец
В тёмном закутке.
но вообще по гомоиконно-фортовым языкам это у нас нидлесс
Пойти свой что ли напейсать?..
Ну вот тебе пример, и он работает.
Извини, я выпилил пирдолинг со строкой
https://upload.wikimedia.org/wikipedia/commons/0/03/Vladimir_Makovsky.jpg
о, круто, с lappend и сохранением результата помогло, спасибо
это неправильно:
ты получил аутпук exec и сразу его выполнил
то есть ты как бы еvalнул аутпут своей команды, и
>ходило от него с ума
Например [exec ls] заменяется на "file1.txt file2.txt"
Далее, они попадают на верхний уровень
file1.txt file2.txt
и падают, потому что команды file1.txt нет
вставь "puts" спереди
в таком случае ты получишь как бы
puts "file1.txt file2.txt"
и он выведется
Я же вставил туда set varName, и присвоил это переменной
было?
я поиском не нашёл чот
Кстати, у него днюха в июле. я его хакнулд.
https://paintingart.ru/joomgallery/details/__2/__6/__57/_20111219_2017812661.jpg
P.S Куда делся руби? Там было как помню 3-4 говнокода»
какой релокейт )))
еще более нищенская страна с еще более охуевшей властью
Ты в ПВТ получаешь 4К бакинских, а все кругом получают 200. И ты как сыр в мясе катаешься
в том-то и фишка
https://vindii.ru/images/riksha.jpg
Тогда точно никто ничего не заподозрит.
но зимой в минске жопа примёрзнет
ебический кретин
кидалово на бабло - это кто-то присваивает себе твои финансы
> Жаль что опубликовать эту информацию раньше у меня не дошли руки. Просто они дрожали. И ещё глаз дёргался. Только сейчас я более-менее справился с тревожным расстройством и коробкой неврозов, которые мне достались всего после двух недель сотрудничества с героями статьи. Даже среди ночи уже не просыпаюсь. Почти. Ну что, вы всё ещё выгораете?
пиздец неженка обиделась
>Но издалека сотрудники TargetProcess не создавали впечатление безответственных мудаков
>в местечковый Theranos
>Видимо, мне просто не повезло выбрать самых никчёмных представителей индустрии для работы
да не бомбит у меня
Тут у меня, наверное, нет комментариев. Видимо вот такой он, градус дискуссии профессионалов высокого класса. И ничего с этим не поделаешь.
болтать не о коде запрещено.
осуждаем.
нет чтобы как на говнокоде о coq, байтоебстве и петухах разговаривать
да сука, абсолютно невозможно
ну вы поняли что за Король
блядь, да они там все наглухо ебанутые, почище дам с ключами в лифтах
ебаная фасилитация
понапридумывали
https://pbs.twimg.com/media/DPeR4TUXUAE2x89.jpg
и крендель он странный
но и компания судя по всему ебучий случай
чот хабр уже скатился до ebanoe.it
Так и должно быть
По возможности избегай этого
Пиздец, что у таких людей в голове творится? Они вообще не умеют думать, как и на что будут жить через неделю?
А на всё обоснованное недоумение по поводу его умственных способностей этот поц там в комментариях кукарекает про «оффер», охуеть. Будто «оффер» — это такой магический артефакт, который владельцу гарантирует счастливую жизнь на тридцать лет вперёд, благодаря чему можно без гроша в кармане и каких-либо планов на случай форс-мажоров (да блядь, кризис ебанул, революция вспыхнула, вирус прилетел — мало что ли в мире бывает ситуаций, когда ты можешь остаться без работы?) отправляться в увлекательное путешествие за 600 километров.
Я хуею.
Я, кажется, понимаю, почему у него неврозы и «руки тряслись»: он просто регулярно голодал. Ведь чтобы поесть — это надо сначала купить/заказать еду, то есть что-то распланировать хотя бы на час вперёд. Очевидно, мозг этого человека-золотой рыбки на такое сложное планирование не способен, вот и имеем такую печальную ситуацию.
https://govnokod.ru/26896#comment570867
унылый он шопиздец
https://habr.com/ru/post/520858/
я бы его тоже уволил
https://sovet--krk.sudrf.ru/modules.php?name=sud_delo&srv_num=1&name _op=case&case_id=177508652&delo_id=15400 05
Какой Warning: pg_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\Pravosudie\sdp\program\connections\cl assPgSql.php on line 48 )))
И никакого багра (((
Нет?
Постгря соснсула у MySQL
Кто главнее: Царь или Императрица?
А я всё думал зачем в вузе безопасность труда преподают
«Я точно не помню, но вроде я где-то читал, что ООП вправляет мозги. Что это позволяет писать грамотный красивый код. Возможно так. Но я почти в ООП не программирую и поэтому может это я так много кода пишу, а настоящий программист сделает более лаконичный код. Но вот хочу показать пример. Вот это интерфейс java...»
Выбор как всегда за вами 🙂
Охуенно, ящитаю.
Однозначно пост года на «Хабре»!
> Структурное против ООП программирование
Вот это вот — ООП программирование:
А вот это — структурное:
Не путайте, а то могут и напутать!
Структурное, говоришь?..
Но он жеж, питух эдакий, целую статью обучающую с этой ахинеей насрал!
Кстати, оцени ясность мыслей и чёткость их выражения:
>>> В этом случае будет больше кода и если сделать это таким способом, который приведу я, то вид кода будет нормальный. Но этот способ конечно же придумал не я, я его сам вычитал из книги когда-то. И так https и http. Чтобы это сделать, нужно создать интерфейс. И к этому интерфейсу присваивать нужный класс, в зависимости от типа протокола. Я точно не помню, но вроде я где-то читал, что ООП вправляет мозги. Что это позволяет писать грамотный красивый код. Возможно так. Но я почти в ООП не программирую и поэтому может это я так много кода пишу, а настоящий программист сделает более лаконичный код. Но вот хочу показать пример. Вот это интерфейс java.
>>> Если статья понравиться, то я буду писать продолжение в будущем. Пока я ещё наверное плохо знаю ООП, чтобы написать больше примеров, но думаю, что если не заброшу ООП, то начинающим читателям будет интересно посмотреть отличия при написании в структурном и ООП-программировании.
https://habr.com/post/477590/
А в слинкованных экзешниках информация о фиксапах потеряна, поэтому для добавления кода экзешник нужно полностью дизассемблировать и с помощью реверс-инжиниринга понять, какие из констант нужно фиксить. В общем случае эта задача может не иметь решения.
Кстати, у «Борланда» был инкрементальный линкер (ilink32). Можно было слинковать часть модулей, а потом добавлять по одному. Он создавал в частично слинкованном экзешнике специальную секцию, в которой хранил список неисправленных фиксапов?
https://pbs.twimg.com/media/Ej_x8f9X0AQp0zt.jpg
английский, въетнамский и таджикский?
зы: это ты http://www.durgasoft.com/Founder.asp ?
Слово «дарвозаро» мне напомнило об одном феномене:
https://ru.wikipedia.org/wiki/Дарваза
Врата ада IRL.
Допустим, аренда за 100 тысяч рублей в месяц. Заселятся 100 вьетнамцев и каждый будет платить по тысяче.
Элитный запах
Элитные тараканы
Дом высокой культуры быдла
«смарт-квартиры», конурки размером меньше, чем минимальная площадь жилых помещений, и жилыми помещениями соответственно не являющиеся; как производной от этого невозможность заключить адекватные договоры на поставку коммунальных услуг
превращение помещений технического этажа в квартиры с прорубанием всех «нужных» дверей и прочих отверстий
про самозахваты я молчу
многоквартирники это в принципе зло, человейники это филиал чистилища, а иногда и ада
не может стартануть, вентиляторы запускаются и тут же останавливаются
ок, спасибо, попробую
думаю, обойдётся в ~150 гривен, если такие продаются ещё, конечно
я думаю, что у чуваков, которые ремонтирую часы, стопудово есть
эх, а только начал вчера червей проходить
А куда они денутся то?
задумался, что вообще в мою материнку встанет из более-менее нового
З.Ы. Хотя на видюху может питания не хватить, да и проц может "не раскрыть её потенциал", как любят писать во всяких обзорах.
Ну это печально, конечно.
UPD: Это процессоры 2011-2012 годов, если что.
но в целом, если в новые ААА не играться, то ничего там вроде менять и не нужно, кроме hdd на ssd
Как это тянуло практически вообще всё до прошлого года - для меня загадка.
А ты вообще какие компоненты апгрейдить собираешься?
думаю, что практичнее будет сделать полный апгрейд, включая мать, проц и БП, оставить можно только планки и жёсткий старый (только придётся покочевряжиться, чтобы склонировать системный раздел на новый ссд)
всё зависит от того, поможет ли новая батарейка. мож там что-то другое сдохло за эти годы.
Не оставишь, у тебя там DDR3. Мать + проц + планки почти всегда лучше пакетом менять.
Не забудь проверить совместимость проца и версии «DDR». Ну и я бы посоветовал «DDR4» прикупить, конечно: по опыту с новыми процами память иногда боттлнечит.
Именно поэтому я за XMP. Помнится, мы тут на ГК скоростью grep'а по линуксовым сырцам мерились. С XMP процентов на 20 быстрее было.
тогда реально будет проще просто собрать новый пека как-то
(этот кстати год назад уже брыкался в похожем духе; в итоге чудесным образом однажды вылечился; я ламер и ничего не понимаю, но возможно зарядились какие-то конденсаторы?)
На материках иногда помогает сегментный индикатор со стадией пост.
У этих материнок уже вроде нормальные стояли, которые не дуются. Китайцы наконец-то спиздили технологию до конца.
год назад я его раскрывал, всё было ок, а щас надо снова смотреть
Вангую, что поможет. У меня z77 pro3 в углу валяется, она из того же поколения, что и твоя. И как раз точно такая же проблема была - вентиляторы включаются на секунду и всё отрубается. Воткнул батарейку от нового компа - всё заработало.
p.s. пищать же скорее всего будет в любом случае, потому что не будет видеокарты?
ну в целом неважно, можно и то и то попробовать 🙂
Видимо из-за этого некоторые материнки и не грузятся без батарейки - тупо чистят флеш, заполняют cmos и ждут нормального ребута.
у тебя в проце карта встроена скорее всего
что за проц?
когда в своё время вынимал видеокарту, то комп не запускался. даже если и есть интеграшка, то вероятно она в уефи не врублена или в этом роде.
Оказывается, самая большая проблема 2D движков - это path'ы: шрифты, векторные карты, анимешные котодевки...
На CPU эту проблему успешно решают с 80х годов. А вот GPU соснули. Им нужны либо значительная помощь со стороны проца (нарезка фигур на примитивы) либо извращения, которые убивают пайплайн (строим трафаретку, флашим кеш и раскрашиваем фигуру по трафаретке). И терафлопсы и тыщи ядер тут никак не помогают.
https://govnokod.ru/27020
https://govnokod.xyz/_27020/