- 1
- 2
- 3
Именно поэтому я за «PHP» #3
#1: https://govnokod.ru/26462 https://govnokod.xyz/_26462
#2: https://govnokod.ru/26827 https://govnokod.xyz/_26827
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
Именно поэтому я за «PHP» #3
#1: https://govnokod.ru/26462 https://govnokod.xyz/_26462
#2: https://govnokod.ru/26827 https://govnokod.xyz/_26827
gost 31.07.2020 20:51 # 0
Какая защита )))
gost 31.07.2020 21:00 # +1
С той же страницы:
> This will allow you to use negative values
Только в «PHP» можно отправлять поток управления в прошлое. Именно поэтому я за «PHP».
Какой flush )))
MAKAKA 31.07.2020 21:22 # +2
Чувствуется глубокое понимание современных информационных технологий
Stallman 31.07.2020 21:42 # 0
https://www.youtube.com/watch?v=qOgVuO1s8ys
bormand 01.08.2020 08:08 # 0
Сука, вместо того чтобы своё тормозное говно пофиксить, они вывод флашат. Ещё бы по таймеру пробелами срали.
Fike 04.03.2021 22:53 # +1
нидерландцы ёбаные, странно что не slapen
Rooster 14.03.2022 11:10 # 0
MAKAKA 31.07.2020 21:23 # 0
guest8 31.07.2020 21:28 # −999
Fike 31.07.2020 21:50 # 0
Stallman 31.07.2020 20:56 # 0
Myxa 31.07.2020 21:24 # 0
Что за шумовая сила?
guest8 31.07.2020 21:26 # −999
Stallman 31.07.2020 21:38 # +1
От него всегда блюют.
MAKAKA 31.07.2020 21:40 # 0
Stallman 31.07.2020 21:29 # +2
> can also be interrupted, but will continue sleeping after the signal arrived
WAT?
guest8 31.07.2020 21:33 # −999
Stallman 31.07.2020 21:40 # 0
MAKAKA 31.07.2020 21:42 # 0
>серверс
VPSы? Не, не слышал
Stallman 31.07.2020 21:45 # 0
MAKAKA 31.07.2020 21:47 # 0
а
а зачем?
Desktop 31.07.2020 21:49 # 0
С тобой встретимся,
Будем php курить
MAKAKA 25.02.2021 18:42 # 0
bormand 01.08.2020 05:38 # 0
Какое секьюрити )))
Stallman 01.08.2020 08:20 # 0
bormand 01.08.2020 09:00 # 0
Может быть там юзерские файлы какие-то, имена которых не хочется светить?
Ну или какие-то свойства системы выяснить по именам чтобы поискать соотв. эксплойты.
Myxa 01.08.2020 05:27 # 0
Сайт Стеленбосского университета в ЮАР.
bormandinho 09.07.2021 17:51 # 0
gost 04.08.2020 09:43 # +1
>>>
>>> В PHP 8, при сравнении чисел и строк с помощью нестрогого == оба операнда приводятся к строке и сравниваются как строки, если один из них не является числовой строкой.
>>> 0 == 'foobar' теперь официально false.
>>> В PHP 8 будет новый оператор nullsafe: ?->.
Именно поэтому я за «PHP».
3.14159265 04.08.2020 13:49 # 0
OCETuHCKuu_nemyx 18.08.2020 21:57 # 0
Myxa 04.08.2020 13:53 # 0
А вот «Renamed Parameters», как в «Свифте» — это забавно. Можно будет писать запутанный код: function($first:second, $second:first).
>> Пользователям Laravel 5.5 рекомендуется не использовать драйвер сессий 'cookie'.
Какой багор )))
Desktop 04.08.2020 14:04 # +1
В Свифте позиция аргумента fixed
gostinho 18.08.2020 21:56 # 0
gost 18.08.2020 22:00 # +1
{ Вы случайно не Middle PHP ? }
OCETuHCKuu_nemyx 18.08.2020 22:01 # 0
Опровергаю.
gost 18.08.2020 22:03 # 0
OCETuHCKuu_nemyx 18.08.2020 22:03 # 0
OCETuHCKuu_nemyx 06.02.2021 10:38 # 0
3oJIoTou_xyu 06.02.2021 10:57 # 0
CBuHOKYP 06.02.2021 22:15 # 0
Ав-ав-ав-ав!
3oJIoTou_gui 25.02.2021 18:30 # 0
Fike 25.02.2021 18:31 # +3
bormand 25.02.2021 18:34 # 0
Desktop 25.02.2021 18:56 # 0
Fike 25.02.2021 18:58 # 0
6e3By3HbIu_nemyx 25.02.2021 23:39 # 0
CHayT 04.03.2021 14:24 # 0
MAKAKA 04.03.2021 14:26 # 0
CHayT 04.03.2021 14:26 # 0
MAKAKA 04.03.2021 14:32 # 0
CHayT 04.03.2021 14:33 # 0
HEu3BECTHblu_nemyx 09.07.2021 18:05 # 0
Пробел значим только в таком примере:
https://ideone.com/Dxg8eS
8.5 — это восемь с половиной.
8 . 5 — это привести 8 к строке и сконкатенировать с 5, приведённым к строке.
Т. е. в тех случаях, когда десятичный разделитель можно спутать с конкатенацией.
Других примеров придумать не могу.
bormandinho 09.07.2021 17:54 # 0
Напечатает лишний перевод строки
HEu3BECTHblu_nemyx 09.07.2021 18:47 # 0
Ещё багры бывают из-за BOM, если исходник в UTF-8 (а они обычно сейчас в такой кодировке).
bormandinho 09.07.2021 17:53 # 0
MAKAKA 25.02.2021 18:35 # 0
JloJle4Ka 25.02.2021 18:37 # 0
MAKAKA 25.02.2021 18:37 # +1
guest3 05.03.2021 23:44 # 0
guest6 25.02.2021 16:36 # +1
https://imgur.com/a/6dgXz8K
guest6 03.03.2021 21:22 # +1
MAKAKA 03.03.2021 21:26 # 0
guest6 08.03.2021 21:20 # 0
MAPTbIwKA 08.03.2021 21:24 # 0
JloJle4Ka 04.03.2021 13:39 # +1
bormand 04.03.2021 13:39 # +1
Desktop 04.03.2021 13:41 # +2
JloJle4Ka 04.03.2021 13:43 # 0
Desktop 04.03.2021 13:45 # 0
JloJle4Ka 04.03.2021 13:48 # 0
MAKAKA 04.03.2021 14:14 # +2
гений знает, что очень сложная хуйня не бесплатна в плане времени на ее понимание, так что иногда лучше сделать проще.
Есть три стадии программиста
Джун делает всё тупо и на коленке, хардкодом, в одном файле, c копипастой, потому получается просто
Миддлу уже так не интеерсно, и он старается сделать Очень Умный Фреймворк, который сам всё сделает.
Получается пиздецовый монстр, где на любой чих нужно тридцать два класса или метушня
И только сеньор понимает, что сложность нужно ограничивать, иначе будет пиздец.
Desktop 04.03.2021 14:27 # 0
MAKAKA 04.03.2021 14:31 # +1
Сеньор, вероятно, не делает систему расширяемой в том месте, где это не нужно, и не плодит лишних уровней абстракции
Desktop 04.03.2021 14:33 # +1
борьба с "лишними" уровнями это прекрасно, но часто разбивается о камни хотелок бизнеса, меняющихся раз в неделю
что не отменяет того факта, что некоторые любят написать нечто такое, что само по себе неожиданно не менее сложно, чем весь остальной код. но "сеньорность" на это никак не влияет.
MAKAKA 04.03.2021 14:34 # 0
g: YAGNI
JloJle4Ka 04.03.2021 14:36 # 0
bormand 04.03.2021 15:18 # 0
А что с ним? Не припомню там бесполезных вещей и оверинжиниринга.
JloJle4Ka 04.03.2021 15:24 # 0
Хотя я хуйню сказал, да, т.к. вулкан делает ровно то, для чего он нужен.
Лучше бы я про QT вспомнил, его можно и за и против ягни приплести.
bormand 04.03.2021 15:31 # 0
Да ну. Тоже плохой пример. Вполне практичная либа, оверинжиниринга там на порядок меньше чем в бусте и стд.
Ему разве что нарушение DRY можно приписать, но тогда реальных альтернатив не было. Для многих классов в духе QString и сейчас нету.
Desktop 04.03.2021 15:39 # +2
Но так у них есть классы для работы с FTP, обязательно ли их наличие в UI-тулките, вопрос
bormand 04.03.2021 15:42 # +2
А в UI-тулките их и нет, лол. Там же отдельная либа на каждую тему всё-таки. Если тебе просто гуйню наваять -- не подключай QtNetwork.
Desktop 04.03.2021 15:46 # 0
Desktop 04.03.2021 15:51 # 0
JloJle4Ka 04.03.2021 15:53 # 0
TOPT 04.03.2021 15:56 # 0
JloJle4Ka 04.03.2021 15:41 # 0
bormand 04.03.2021 15:48 # +1
Desktop 04.03.2021 14:37 # +1
приходишь ты на совещание, там тебе говорят: "нам надо сделать то, то и сё, а вот это переделать, а вот это уже не нужно"
а ты такой с вертухи: YAGNI, KISS, DRY!
а тебе: спасибо, у Вас завтра последний день, зайдёте в бухгалтерию
MAKAKA 04.03.2021 14:39 # 0
Desktop 04.03.2021 14:41 # +1
ещё раз: best practises как самоцель это мастурба
сеньор, если он сеньор, а не лычкодрочер, должен помогать бизнесу достигать целей своей экспертизой, а не лайки собирать на медиуме, копипастя баззворды с википедии
MAKAKA 04.03.2021 14:43 # 0
чтобы понимать, о чем говоришь
YAGNI не мешает бизнесу достигать своих целей, и даже наоборот: помогает, потому что экономит время и деньги
Desktop 04.03.2021 14:44 # +1
возможно, в твоей компании это ок, я ж не знаю
MAKAKA 04.03.2021 14:48 # +1
Desktop 04.03.2021 15:04 # +1
ru66oH4uk 06.03.2021 20:55 # 0
Ягни не означает "отказывать бизнесу в выполнении требований"
Desktop 06.03.2021 20:58 # 0
во-вторых, эти ягни в разговор зачем-то принёс ты
так шо могу лишь ещё раз посоветовать сходить на курсы "русская езык" =)
ru66oH4uk 06.03.2021 21:11 # 0
>предпочитаю делать реальную работу вместо того, чтобы зазубривать семантику аббревиатур
/0
Я принес ягни, и ты сообщил:
[quote]
приходишь ты на совещание, там тебе говорят: "нам надо сделать то, то и сё, а вот это переделать, а вот это уже не нужно"
а ты такой с вертухи: YAGNI, KISS, DRY!
[/quote]
из этого следует, что ты почему-то считаешь, что YAGNI призывает отказывать бизнесу в его требованиях.
Это неверно.
>так шо могу лишь ещё раз посоветовать сходить на курсы "русская езык" =)
"О чем может спорить человек, который не поменял паспорт? Какие взгляды на архитектуру может высказать мужчина без прописки?
И вообще, разве нас может интересовать мнение человека лысого, с таким носом?" (c)
Desktop 06.03.2021 21:17 # 0
"гналась за Вами пять вёрст, чтобы сказать, как Вы мне безразличны"?
bootcamp_dropout 04.03.2021 14:45 # +1
Спустя 5-10-15 лет систему будут использовать так как синьйор и представить не мог
MAKAKA 04.03.2021 14:49 # +1
bootcamp_dropout 04.03.2021 15:04 # +1
JloJle4Ka 04.03.2021 15:09 # +2
ru66oH4uk 06.03.2021 20:56 # 0
То, что они 20 лет не развиваются, к "ягни" отношения не имеет.
Ягни не является советом "не развивайтесь двадцать лет"
bootcamp_dropout 06.03.2021 21:41 # 0
guest6 06.03.2021 22:36 # +3
А пример "hurd" дает нам обратный пример
bootcamp_dropout 06.03.2021 22:49 # 0
моя точка зрения заключается в том что авторы переусложненной хуйни делают предположения о том что будет нужно, а адепты ягни делают предположения о том что точно будет не нужно
по-моему это одно и тоже и адепты ягни воюют с мельницами или сами с собой
CHayT 06.03.2021 22:44 # +1
Я видел и обратные примеры. В одной конторе была ягни-питушня с самого её создания. Её пилили академики, и код там был крайне умный, но без рахитектурных наворотов. Решили её заменить аналогичной питушнёй, но сделанной "по уму". С инъекциями фабрик стратегий прямо в пятую точку разработчику и всем прочим. Итог на сегодняшний день: изначальная ягни-питушня живёт, а замена похоронена.
Desktop 06.03.2021 22:48 # +1
bormand 06.03.2021 22:45 # +1
Тут скорее сама задача нерентабельна. Как ты будешь монетизировать архив почтовых переписок, которые читает кучка нердов? Это же не тикток и не инстаграм. Вот и крутится как есть 20 лет.
Desktop 06.03.2021 22:48 # 0
- гуглпочту они ж как-то монетизируют
bormand 06.03.2021 22:51 # 0
Там есть твои приватные данные, а в рассылках всё публичное и доступно в других местах.
Desktop 06.03.2021 22:58 # 0
- не всё вроде бы
JloJle4Ka 04.03.2021 14:46 # 0
Чем-то мне это напоминает сёмино «нинужно»...
MAKAKA 04.03.2021 14:50 # 0
JloJle4Ka 04.03.2021 14:59 # +1
Я уверен, что и в линухе есть вещи, которые ты ain't gonna need, но кому-то они могут быть очень даже нужны.
Плюс, насколько я понимаю, ты предлагаешь добавлять фичи и инфраструктуру для них по мере поступления хотелок начальства? Тогда могут возникнуть серьёзные проблемы, т.к. придётся рефакторить или даже переписывать чуть ли не весь существующий код.
Desktop 04.03.2021 15:28 # +1
Или зачем делать отдельную прослойку для сетевого взаимодействия, все наши три модели могут прямо из конструктора сходить по хттп и принести добра
и проч.
ru66oH4uk 06.03.2021 21:05 # 0
Поскольку мы не знаем какие языки будут популярны в будущем, то логично разработать виртуальную машину, и запускать код в ней. Это позволит нам писать на любом языке.
При серьезных нагрузках мы наверняка столкнёмся с необходимостью профилирования, так что неплохо бы поддержать у этой машины API для разработки профилировщика.
Машину лучше реализовать как минимум под x86 и arm, причем с JIT.
>Или зачем делать отдельную прослойку для сетевого взаимодействи
Не стоит завязываться на HTTP, ты же недавно приносил его аналоги. Лучше разработать свой протокол, который может работать как поврех HTTP, так и поверх голого TCP.
Однако TCP это далеко не лучшее решение, есть например SCTP, который тоже может понадобиться, так что вероятно стоит ввести уровень абстракции, позволяющий нашему проткоолу работать поверх чего угодно.
Не стоит так же забывать про IPX/SPX, которые еще могут встречаться в очень старых системах.
ru66oH4uk 06.03.2021 21:00 # 0
А более сложный код более сложен в поддержке (неожиданно, правда?), менее надежен и более труден для понимания.
>которые ты ain't gonna need, но кому-то они могут быть очень даже нужны.
Если они кому-то нужны, то это не ягни. В ягни речь о том, что не нужно никому.
>Тогда могут возникнуть серьёзные проблемы, т.к. придётся рефакторить
Идеальный код, который поддерживает все возможные кейсы занимает по времени разработки бесконечность.
Именно потому фичи нужно добавлять по мере необходимости, о чем собссно и говорит ягни
JloJle4Ka 07.03.2021 03:14 # 0
Сложный код – это когда нет комментариев, а сам код писали Индусы на коленке за еду. В такой код сложно что-то добавить, ведь посыпется всё остальное.
А хороший код должен быть продуманным и следовать принципам SOLID.
> Если они кому-то нужны, то это не ягни.
Тогда зачем нужен ЯГНИ? Мне кажется, что если программист говорит: «В ТЗ написано сделать программу для подсчёта кур, но я пока далеко не продвинулся, ебусь с функцией выгула свино-собак», то ему уже никакое ЯГНИ не поможет, а нормальных людей оно наведёт на непристойные мысли, что клиенту никогда не понадобится считать индюков, макак, прыщебля́дей и т.д.
> Идеальный код, который поддерживает все возможные кейсы
Это правда, но в пределах одной предметной области вполне возможно выстроить замечательную архитектуру и охватить как можно большее количество фич.
> Именно потому фичи нужно добавлять по мере необходимости
Смысл продуманной архитектуры не в том, чтобы добавить все фичи, а чтобы сделать процесс их добавления очень простым и быстрым. Это, кстати, довольно легко организуется, если программист скилловый, а потом фичи добавляются с удовольствием.
j123123 07.03.2021 03:34 # 0
SOLID это хуита из ООП, которая за пределами ООП-хуйни неприменима, так что нехуй его вплетать в определение "хорошего кода"
JloJle4Ka 07.03.2021 03:39 # 0
j123123 07.03.2021 03:44 # 0
JloJle4Ka 07.03.2021 03:49 # 0
Я не знаю как ФПшники и процедурники организуют код, но что-то мне подсказывает, что они раскидывают процедуры и функции по файлам, чтобы не было мешанины.
А разве плохо, когда программа состоит из изолированных друг от друга частей с понятными правилами кто кого меняет/вызывает?
j123123 07.03.2021 03:57 # +1
У меня в Си это называется "функция". Зачем мне для этого модули?
guest6 07.03.2021 09:23 # +2
JloJle4Ka 07.03.2021 09:27 # +1
j123123 07.03.2021 03:56 # +1
JloJle4Ka 07.03.2021 04:03 # 0
Вообще, SOLID нужен для всякой энтерпрайз питушни, где без него код быстро превратится в лапшу и умрёт, а прошивке такое обычно не грозит.
j123123 07.03.2021 04:39 # +1
А что насчет OCP (open–closed principle), что за хуйню он должен означать, если классов нет и, соответственно, наследования тоже нет?
JloJle4Ka 07.03.2021 05:20 # 0
The open–closed principle states "software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification".
Как видишь, «software entities» – это не только классы.
JloJle4Ka 07.03.2021 05:37 # 0
bormand 07.03.2021 08:42 # +1
Эм, да OCP -- это же банальное "не ломай интерфейс без причины, сука!"
Причём здесь вообще классы? Оно и для сишки со структурами и функциями прекрасно работает. Если эти функции больше одного раза юзаются, конечно.
j123123 07.03.2021 16:01 # 0
А зачем для этого придумывать некий принцип, если это и так очевидно? Почему тогда нет принципа "не давать функциям и переменным длинные и нечитаемые имена"? А то вот кто-то напишет еще код вида:
На вики https://ru.wikipedia.org/wiki/Принцип_открытости/закрытости пишут что есть OCP Мейера и еще какое-то полиморфное OCP.
Собственно, цитата:
>Принцип открытости/закрытости означает, что программные сущности должны быть:
>
> открыты для расширения: означает, что поведение сущности может быть расширено путём создания новых типов сущностей.
> закрыты для изменения: в результате расширения поведения сущности, не должны вноситься изменения в код, который эту сущность использует.
Э? А как это относится к не ломанию интерфейсов? Ну и если сущности будут закрыты для изменения и даже закрыты для расширения, я интерфейс один фиг могу сломать, выкинув старую сущность и написав новую.
Тут про какие-то "сущности" говорят, что это вообще за "сущности"? Структуры? А как я их закрою для изменения? Может командой chmod ugo-r some_struct_defs.h ?
j123123 07.03.2021 16:08 # 0
Мне вообще концепция ООП(вокруг которой построена вся эта SOLID-концепция) совершенно не нравится - https://habr.com/ru/post/451982/
guest6 07.03.2021 16:29 # +2
Имхо, ООП это просто инструмент.
Иногда он нужен, иногда нет.
Но адпеты ООП еще в конце 90-х всех заебали рассказами, что ООП это серебрянная пуля, а за одно и все хорошие практики записали на счет ООП.
Инкапсуляция, говорили они, есть только в ООП.
Хотя хороший API разумеется инкапсулирует в себе детали реализации, даже если он написан на QBasic.
Полиморфизм кококо, говорили они.
А разве одинаковая работа линукса с любой файловой системой через VFS это не полиморфизм?
В итоге они всех так заебали, что за упоминание ООП стали давать в морду.
А нужно было просто признать, что ООП это такой же примерно прием как передача объекта по ссылке.
Иногда полезен, иногда нет.
Такая же хуйня произошла с GUI.
А SOLID есть и без ООП
Наприме Single-responsibility principle
это же перефраз "UNIX way"
j123123 07.03.2021 16:35 # 0
А как выглядит LSP без ООП?
bormand 07.03.2021 16:44 # +1
Ну вот напилил ты драйверов для последовательного порта на разных чипах. А потом берёшь один из них и юзаешь. А вызывающий код от этого не охуевает и его не надо править, для него они все просто "драйверы последовательного порта".
Нарушение LSP в данном случае -- нахуярить под каждый чип свой уникальный интерфейс, под который придётся подпиливать всю остальную логику.
guest6 07.03.2021 16:56 # 0
Причем технически API должен совпадать, а семантика должна отличаться, иначе это не интересно)
Например, драйвер последовательного порта получает ioctl, и там указатель на массив байт, и должен их послать в порт, и там дёрнуть прерывание в конце (хз так ли это на самом деле).
А вот ты пишешь драйвер, который вроде бы умеет получать то же самое ioctl, но шлёт в порт только каждый пятый байт. Или сначала дергает прерывание, а потом начинает слать в порт.
Это вроде бы и есть классическое нарушение LSP, и в общем протекание абстракции
bormand 07.03.2021 17:06 # 0
Ну ок, натянуть интерфейс от UART'а на SPI. А потом требовать, чтобы клиент сначала высрал 10 нулевых байт через write, а только потом звал read. Где-то я такую херь даже видел.
j123123 07.03.2021 17:07 # 0
Нет, LSP это не только про соблюдения единого API. Это и про то, что если ты некую хрень расширяешь чем-то, то это не должно ломать поведение того, что до этого в базовом классе. Например, если у тебя есть звуковая карта, которая умеет только лишь воспроизводить звук через ЦАП (микрофонного входа нет), ты сделал некий драйвер с неким API, а потом появилась звуковуха еще и с входом под микрофон, и ты унаследуешь интерфейс, добавляя еще хуйню чтоб аудиосемплы принимать. А если у тебя будет хуйня только с микрофонным входом, и ты унаследуешься от хуиты в которой есть функция воспроизведения аудиосемплов, это уже хуйня какая-то, потому как зачем тебе это воспризведение? Использование функции воспроизведения аудиосемплов тогда не имеет смысла, так что надо наслеоваться от хуйни, которая вообще нихуя не умеет по-сути, т.е. из нее отнаследовать хуйню для АЦП, потом от нее же хуйню для ЦАП, а потом надо еще эти хуйни совместить (когда и то и то есть), и как это в ООП-парадигме описывается?
guest6 07.03.2021 17:12 # 0
class SoundDevice
у него массив capabilities: Capability[]
Sink extends Capability //апутпут
Source extends Capability //микрофон
Алгоритм для работы с микрофоном может искать нужный capability.
Если инофрмции о типе в рантайме нет, но можно использовать visitor, прости господи
j123123 10.03.2021 12:19 # 0
А если у нас какие-то ебанутые ограничения на одновременное юзание sink и source? Например, если совмещенные АЦП и ЦАП от одного источника получает тактовые импульсы, и получается что samples per second на АЦП и на ЦАП должно быть строго одинаково, т.е. не может быть такой хуйни, что АЦП работает на 8000 а ЦАП 44100? Ну а если все же иногда можно, например если в одном 8000 а в другом 16000, то тогда можно 16000 поделить на 2 встроенным делителем частоты, и тогда норм? А если в кодеке, совмещающем ЦАП и АЦП есть какие-то особые функции, например аппаратное эхоподавление, которое работает только тогда, когда частоты дискретизации строго совпадают, и тогда вот трюк с делением на 2 уже не работает?
Вот как все эти говноньюансы какой-то там микросхемки учитывать в этом делегировании? Как тут соблюдать LSP?
CHayT 10.03.2021 12:48 # +2
Конечно, причём на многих уровнях одновременно.
Начнём с того, что понятие объекта из ООП вредно и избыточно, поскольку оно заигрывает с понятием объекта в реальном мире. А отношения между абстрактными понятиями в реальном мире сами люди друг-другу-то объяснить не могут, чего говорить о тупой машине. К примеру, можно ли наследовать `математику' от класса `наука'? У всех будут разные мнения, т.к. в реальном мире понятие `наука' довольно расплывчато, и поэтому, например, позитивизм приводит к такому неистовому багру учёных.
В функциональщине с тайпклассами абстракции куда более простые и эффективные. Они математические. Хоть они и менее интуитивные, но зато если ты доказал, что при подстановке твоей питушни в тайпкласс `зигоморфизм' все уравнения зигоморфизма выполняются, то твоя питушня — зигоморфизм и точка.
В ООП не так. Всякий раз, когда я наблюдал код-ревью у адептов ЙАЖА, это были сраные "диалоги" Платона. Является ли свойство X частью интерфейса Y? Один йажник считает, что X-ность является частью эйдоса Y-ковости. Другой считает, что нет. Поставить точку в этом споре нельзя, ибо всё донельзя субъективно. 1/2
CHayT 10.03.2021 13:04 # +2
Далее об избыточности. Класс в ООП-язычках типа йажи выполняет одновременно четыре несвязанные роли:
1) это контейнер для функций и контроль видимости (то, что в нормальных языках делает модуль),
2) он создаёт контракты (то, что в нормальных языках делает class declaration)
3) он выполняет контракты (то, что в нормальных языках делает instance declaration)
4) он до кучи занимается лочками (synchronized methods)
В итоге получается паззл, который с первого раза собрать невозможно, отсюда рефакторинг. ЙАЖА-программисты меня часто спрашивают, как я рефакторю ФП в Emacs. А необходимости в этом особой нет, т.к. все куски кода друг с другом слабо связаны и двигать их туда-сюда, чтобы что-то новое добавить, не нужно.
booratihno 10.03.2021 13:29 # 0
В тайпскрипте можно изъебнуться с literal types, на крестах наверное можно наметушить, но к ООП это отношения не имеет)
В яже придется описывать контракт в документации, проверять в рантайме, и кидать исключение.
А наследование реализации -- штука мутная, и лучше без необходимости её не использовать, иначе можно получить много дырявых абстракций.
Основные концепции ООП (официально) это абстракция, инкапсуляция и полиморфизм. Наследование не обязательно. И кстати все три концепции можно выразить без ООП.
Desktop 10.03.2021 14:11 # +1
- Алан Кей смотрит на тебя с недоумением
guest6 10.03.2021 14:22 # 0
какой багор ))
bormand 10.03.2021 14:12 # 0
Зачем тогда вообще ООП? Чтобы пердолиться с наследованием и думать которому из классов прикрутить метод?
JloJle4Ka 10.03.2021 14:16 # +1
bormand 10.03.2021 14:17 # 0
Desktop 10.03.2021 14:50 # 0
зачем они в крестах?
bormand 10.03.2021 14:52 # 0
Чтобы визиторов не городить, как минимум.
Desktop 10.03.2021 14:53 # 0
я опять забыл
bormand 10.03.2021 14:56 # 0
Визитор работает когда у тебя фиксированный набор объектов, а функций дохуя и они добавляются.
Мультиметоды просто работают, и им не нужна вся эта ООПшная хуйня.
Desktop 10.03.2021 14:58 # 0
хотя не, не лучше
bormand 10.03.2021 15:00 # 0
А нахуя в крестах этот псевдо-оопшный костыль? Там и так свободные функции есть.
booratihno 10.03.2021 15:02 # 0
Вот у меня есть петуз.
Что можно сделать с питузом?
Я пишу pituz.[space], и получаю список всех экстеншен методов из библиотек, и нахожу нужную.
Это позволяет мне быть дебилом, и вместо чтения документации жать пробел.
А автору экстеншена позволяет писать код в случайном месте, называть его случайным образом, и не документировать.
bormand 10.03.2021 15:04 # 0
Поиск по типам аргументов можно привернуть, как в доке по хаски. Будешь просто какой-то хоткей на переменной/типе жать вместо точки.
booratihno 10.03.2021 15:05 # 0
С другой стороны, разве не пиздато писать
10.times{} как в руби?
Desktop 10.03.2021 15:08 # 0
Чтобы визиторов не городить, как минимум. (c)
booratihno 10.03.2021 15:10 # 0
bormand 10.03.2021 15:11 # 0
Desktop 10.03.2021 15:13 # 0
booratihno 10.03.2021 15:14 # 0
bormand 10.03.2021 15:16 # +1
Охуеть. Почти как в функциональщине, не то что в сраных джавах и сишарпах.
booratihno 10.03.2021 15:18 # 0
Но как то поможет-то?
Или ты предлагаешь добавить экстененом метод в Livestock, и компилятор обяжет тебя реализовать его для ВСЕХ наследников?
А откуда он знает про всех, вдруг они в другой либе?
Desktop 10.03.2021 15:28 # 0
только реализацию
ниже привёл пример, как сделать реализацию по умолчанию и для конкретного класса
честно скажу, что никогда так писать в настоящем проекте не приходилось)
6oHo6o 11.03.2021 01:27 # 0
или в скриптушне с обезъяньими заплатками
В руби совершенно нормально навесить говнеца на строку или число, или иной другой базовый тип.
Правда никаких интерфейсов тут нет, бо типизация струк утиная.
Но в отличие от экстеншенов, которые в Котлине (и полагаю, что и в C#) резолвятся в комайл тайме, и превращаются в обычные вызовы функций с первым аргументом, в Руби говно навешивается прямо внутрь самого класса.
зы: пздц конечно руби на винде шустрый, рубокоп три минуты мой код в три строки обсасывал
guest6 10.03.2021 15:00 # 0
booratihno 10.03.2021 14:58 # 0
У него есть две реализации: Rooster и Pig.
У тебя есть логика, говорящая, что свинью нужно запечь, а петуха зажарить.
Ты получаешь инстанс Livestock.
Можно проверить его тип (цепочкой instanceof) и построить логику на этом.
Но во-первых не всегда тип известен в рантайм, во-вторых можно случайно проебать один из типов (если в языке нет каких нить sealed classes для этого)
Ты делаешь интерфейс Visitor с методами visitPig и visitRooster.
Первый метод полуает Pig, другой Rooster.
И реализуешь его.
Далее, в Livestock ты делаешь метод visit, получаюший этот интерфейс.
Pig реализует его вызывая visitPig(this)
Rooster тоже соответственно.
bormand 10.03.2021 15:06 # +1
Именно поэтому я против "ООП".
booratihno 10.03.2021 15:07 # 0
Desktop 10.03.2021 15:07 # 0
booratihno 10.03.2021 15:07 # 0
Desktop 10.03.2021 15:11 # 0
bormand 10.03.2021 15:12 # 0
Desktop 10.03.2021 15:22 # 0
пока в голову пришло что-то такое
выведет
bormand 10.03.2021 15:23 # 0
А тьфу, тут дефолтная сработала.
MAKAKA 10.03.2021 15:40 # 0
в этом месте компилятор знает тип "c".
А теперь представим функцию, которая получает Animal.
Пусть тип "c" будет Animal.
Тогда сработает?
Desktop 10.03.2021 16:01 # 0
но вообще к, сожалению, нет, так не сработает
bormand 10.03.2021 16:05 # +1
Правильного. Ну как это работает с обычными виртуальными методами.
Ну понятно, всё-таки экстеншены как в C# сделаны, без динамического полиморфизма.
Но хотя бы интерфейс к существующему объекту привернуть можно, уже прогресс.
Desktop 10.03.2021 16:08 # +1
The short answer is that protocol extensions don't do class polymorphism. This makes a certain sense, because a protocol can be adopted by a struct or enum, and because we wouldn't want the mere adoption of a protocol to introduce dynamic dispatch where it isn't necessary.
Структуры и энамы в Свифте наследование не поддерживают
Возможно, поэтому не стали делать
Desktop 10.03.2021 16:10 # 0
- в данном случае это и не виртуальные методы в общем
bormand 10.03.2021 16:12 # +1
Desktop 10.03.2021 16:19 # 0
но это решение другой задачи :-)
Desktop 10.03.2021 16:21 # 0
MAKAKA 10.03.2021 16:28 # 0
MAKAKA 10.03.2021 16:27 # 0
Ко мне пришел Animal. Если это коза, то я делаю одно. Если корова, то другое.
Как мне это сделать?
Desktop 10.03.2021 16:45 # 0
Pet cat
Pet dog
Pet some animal
bormand 10.03.2021 16:49 # 0
Desktop 10.03.2021 16:50 # +1
логика построена в зависимости от типа, экстеншены присутствуют. каких развлечений вам ещё хочется?
Desktop 10.03.2021 16:51 # 0
- ну вы просто как обычно формулируете условия задачи чанками
bormand 10.03.2021 16:52 # 0
Х.з., по-моему всё понятно было у МАКАКи: на входе Animal (а не конкретный тип).
Desktop 10.03.2021 17:01 # +1
bormand 10.03.2021 17:02 # +1
Desktop 10.03.2021 17:42 # 0
MAKAKA 11.03.2021 00:05 # 0
JloJle4Ka 10.03.2021 16:53 # +2
Именно поэтому мы за «YAGNI».
MAKAKA 10.03.2021 16:51 # 0
>Ко мне пришел Animal.
?
В смысле где тут переменная типа Animal?
booratihno 10.03.2021 15:14 # 0
Desktop 10.03.2021 14:47 # 0
booratihno 10.03.2021 14:53 # 0
Чтобы требовать контракт для группы связанных функций (хотя это тоже наверное можно без ООП).
MAKAKA 11.03.2021 00:31 # 0
на джаву не переводица
guest6 19.07.2021 11:07 # 0
guest6 07.03.2021 16:44 # +1
Файл в /proc является частным случаем (подтипом) абстрактного понятия "файл".
Функция "fopen" должна работать с файлами на /proc так же, как и с обычными.
Например, я могу открыть ``/proc/1/io``
Это и есть LSP.
Так вижу.
guest6 07.03.2021 16:17 # +2
В линукс есть, например, API для псевдотерминалов.
Если ты хочешь сделать новый эмулятор терминала, то ты просто берешь это API, и не трогаешь ядро.
Ядро открыто для расширений (добавлений в него новых видов терминалов) но закрыто для изменений (тебе не нужно испрвлять ядро, чтобы добавить новый темринал)
OCP, как и любой принцип и паттерн, говорит про очевидные вещи, которые ты используешь каждый день, просто не всегда знаешь, как они называются.
booratihno 07.03.2021 17:45 # +1
Сложный код это кода:
* Высока цикломатическая сложность
* Высоко количество различных состояний системы
* Высоко количество абстракций
Первые два пункта усложняют понимание того, как поведет себя система при оперделенных входных данных.
Третий требует усвоения бОльшего числа концепций, и усложняет поддержку так как нужно реализовывать больше контрактов.
>А хороший код должен быть продуманным и следовать принципам SOLID.
Безусловно. Лучше быть богатым и здоровым, чем бедным и больным.
К сожалению, полностью продумать код ты можешь только если ты уже решил ТОЧНО ТАКУЮ ЖЕ задачу, да и то, только если в мире ничего не поменялось с последней версии (что вряд-ли)
Но так не бывает, так что всё равно приходится что-то рефакторить.
Именно потому водопад с его "давайте всё досконально продумаем, и за пять лет сделаем" был обоссан
>Тогда зачем нужен
Чтобы не тратить время на то, что не нужно прямо сейчас.
Во-первых важно как можно быстрее выйти на рынок, и застолбить место.
Пока ты будешь реализовывать все возможные фичи, твои конкуренты-говнокодеры уже соберут свое говно на пхп, и станут популярными.
Во-вторых ты заранее не можешь знать, что будет нужно.
Результаты эксперементов иной раз бывают совершенно непредсказуемые и контринтуитивные.
Ты тратишь время на интеграцию с FB, а потом оказывается, что 90% твоих пользователей хотят на самом деле ВК.
Ты тратишь время на разработку клиента под Android, а потом оказывается, что 90% твоих пользователей используют ios.
Ты не никак не мог этого ожидать, пока не увидел статистику.
> не в том, чтобы добавить все фичи, а чтобы сделать процесс их добавления очень простым и быстрым.
Разумеется, но угадать что-либо с первого раза далеко не всегда получается.
>Это, кстати, довольно легко организуется,
Если бы это было так, то не нужен был бы ни рефакторинг, но инструменты для него.
Люди с первого раза продумывали бы хорошие API, и потом писали бы под них плагины.
bootcamp_dropout 07.03.2021 18:11 # 0
>Ты не никак не мог этого ожидать, пока не увидел статистику.
мне очень интересно как ты собираешься получить эту статистику не запуская продукт
booratihno 07.03.2021 18:16 # +1
К примеру, ты запускаешь веб версию, и видишь, что к тебе в основном заходят с айфонов, и делаешь выводы
bootcamp_dropout 07.03.2021 18:25 # 0
ru66oH4uk 08.03.2021 03:05 # 0
bormand 08.03.2021 09:25 # 0
Чтобы любители опросов прошли нахуй.
Хотя на 1-2 вопроса можно и ответить.
JloJle4Ka 08.03.2021 09:35 # 0
bormand 08.03.2021 09:40 # 0
JloJle4Ka 08.03.2021 09:44 # 0
Всё прямо как с собеседованиями и тестовыми заданиями.
MAKAKA 04.03.2021 13:47 # +1
guest3 05.03.2021 23:44 # 0
CBuHOKYP 05.03.2021 23:45 # 0
guest6 06.03.2021 19:28 # 0
Notice
: Undefined offset: 1 in
/var/www/myprintbar.ru/docs/core/classes/engine.class.php
on line
6672
ru66oH4uk 06.03.2021 20:39 # 0
guest6 08.03.2021 21:19 # 0
ru66oH4uk 06.03.2021 20:52 # +2
https://printbar.ru/muzhskiye-hudi/hudi-krasivaya-dochy-1419849/
или такой
https://printbar.ru/muzhskiye-hudi/hudi-flag-2805562/
?
Блядь, как же это говно тормозит-то! Реально пыхеры-мускульщики не нужны
guest6 06.03.2021 20:55 # 0
bormand 07.03.2021 08:23 # +1
Это всё из-за YAGNI!
JloJle4Ka 07.03.2021 08:46 # +3
Кошка бросила котят - Это YAGNI виноват,
Зайку бросила хозяйка - Кто виновен, угадай-ка!
Вот кончается доска У несчастного бычка,
Наша Таня громко плачет - Рядом YAGNI, не иначе!
Свет погас, упал забор, У авто заглох мотор,
Зуб здоровый удалили Иль залез в квартиру вор,
Не понравилось кино, Наступили вы в говно…
У любого катаклизма Объяснение одно…
Знает каждый технократ - Это YAGNI виноват!
Кто вчера в моём подъезде Лифт зассал до потолка?
Мне, товарищи, поверьте- Это YAGNI или DRY!
Я поймал по пьяни «белку» - Это SOLID'a проделки!
Куча под столом говна. Это PHP вина!
Засорился унитаз - Это defecate-plus-plus приказ,
Накидал туда бычков, Воду слил - и был таков!
По ночам бельё ворует, Стёкла в нашем доме бьёт.
Пьяным во дворе танцует. Это YAGNI - обормот!
Нет спасенья от злодея! Джавой пишет на стенах,
Изломал кусты в аллее. Это YAGNI - ох и ах!
Программиста дождик мочит - YAGNI весело хохочет.
Затопило вашу дачу? - Это SOLID, не иначе!
Вас гроза в пути застала? - То рука YAGNÍ достала.
Холод, ветер, снегопад - Снова YAGNI виноват.
Сносит крышу ураганом? - Это linux мстит баранам.
Шторм, цунами, наводненье? - Это YAGNI, без сомненья!
Ливень, оползень, циклон - Виноват конечно он
Сель, лавина, камнепад? - Ясно: YAGNI виноват!
Смерч, тайфун, землетрясенье - Нет от singleton спасенья!
В темя клюнула ворона? - это был адепт ООПа.
KISSы, JITы жалят вас? - Это хипстерский СпецНаз.
Видишь этого скрипта? - Он на службе у ЯГНЯ!
Если верите в такое - Это здравый смысл и реалистичная картина мира, близкая к объективной истине.
Desktop 08.03.2021 21:56 # +20
всю дорогу YAGNI жал,
а у самых у ворот
DRY засунул прямо в рот!
CBuHOKYP 09.03.2021 22:45 # −20
CBuHOKYP 09.03.2021 22:44 # 0
guest6 07.03.2021 17:26 # 0
https://phpclub.ru/talk/threads/%D0%9D%D1%83%D0%B6%D0%BD%D0%B0-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C-%D0%B2-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%BA%D0% B5-php-oop.87345/
guest6 08.03.2021 21:19 # 0
MAPTbIwKA 08.03.2021 21:20 # 0
Fike 10.03.2021 19:32 # 0
Desktop 10.03.2021 19:34 # 0
Fike 10.03.2021 19:36 # 0
Desktop 10.03.2021 19:46 # 0
bormand 10.03.2021 19:47 # 0
Fike 10.03.2021 20:03 # 0
MAKAKA 10.03.2021 23:44 # 0
guest6 08.03.2021 21:14 # 0
https://twitter.com/PHP_CEO/status/621429503911460864
guest6 08.03.2021 21:16 # 0
guest6 10.03.2021 17:32 # 0
Fike 10.03.2021 19:32 # 0
guest6 10.03.2021 21:29 # 0
guest6 19.07.2021 11:08 # 0
guest6 10.03.2021 21:55 # +1
Похоже, Роскомнадзор просто сравнивал адреса по подстрокам. И любые домены, которые содержали в названии «t.co», замедлялись. Поэтому «под раздачу попали» Microsoft.com, rt.com, Reddit.com, поддомены GitHub и другие сайты.
Алгоритм незамысловатый. Уверены, что есть варианты «эффективней». Давайте попробуем придумать новый алгоритм для РКН. На будущее, так сказать.
Fike 10.03.2021 22:24 # 0
MAKAKA 10.03.2021 23:52 # 0
guest6 11.03.2021 01:03 # 0
https://echo.msk.ru/blog/elenaservettaz/2803078-echo/
Fike 11.03.2021 01:15 # 0
*на всякий намекну, что это такая же вореция постиронии, как и ИА Панорама
guest6 11.03.2021 15:29 # 0
Ебать, я думал это шутка была.
MAKAKA 11.03.2021 15:31 # +1
JloJle4Ka 11.03.2021 15:32 # 0
guest6 11.03.2021 15:32 # 0
JloJle4Ka 11.03.2021 15:33 # 0
bormand 11.03.2021 15:35 # +1
bormand 11.03.2021 15:33 # 0
guest6 11.03.2021 15:36 # 0
Как можно было не заметить такую рагулярку? Или провайдеры тестировали не на нём?
bormand 11.03.2021 15:38 # 0
Так что саму регулярку могли и проглядеть. А замедляйку тестировали на своём каком-нибудь тестовом сайте.
bormand 11.03.2021 15:46 # 0
Можно в доке по формату почитать, она открытая, в отличие от самого реестра. Звёздочки для доменов и маски для айпи там вроде больше года уже.
MAKAKA 11.03.2021 15:36 # +1
Есть всякие Ахо-Карасики для этого.... хотя.... можно интересно реализовать их на регулярках?
JloJle4Ka 11.03.2021 15:49 # +1
Я сегодня узнал, что нет, нельзя, потому что в таблице на Википедии так написано.
MAKAKA 11.03.2021 15:56 # 0
JloJle4Ka 11.03.2021 16:01 # 0
Наоборот, у тебя это получится (и очень даже легко), потому что и регулярки, и Ахо-Карасики – это finite state automata.
Rooster 24.03.2021 21:06 # 0
Rooster 24.03.2021 21:55 # +1
)))
OCETuHCKuu_nemyx 12.04.2021 23:28 # +1
Аккуратнее надо быть
HEu3BECTHblu_nemyx 04.07.2021 01:22 # 0
guest6 19.07.2021 11:09 # 0
PolinaAksenova 23.04.2021 06:10 # +1
Говорят, в аду для программистов их заставляют пять дней в няделю дебажить код ня PHP ..・ヾ(。><)シ.
MAKAKA 06.05.2021 23:33 # 0
guest6 06.05.2021 23:41 # 0
HEu3BECTHblu_nemyx 28.06.2021 20:16 # +1
PolinaAksenova 06.05.2021 12:15 # +1
> Как поживает PHP сообщество в Дагестане?
JloJle4Ka 06.05.2021 12:52 # 0
Ну давайте посмотрим на каналы!
> PHP Dagestan — телеграм-чат для PHP-разработчиков
https://m.ok.ru/video/5446567231
Название звучит как канал для пранков вольнова. Туда заходят дагестаняне, а потом звонят ему: «Лэээ саламалекум, это ты там пхп обсирал?»
> А может на PHP ? — телеграм-канал для PHP-разработчиков
Вы случайно не... ?
> Dev Seagulls Fem — instagram страница женского дагестанского IT-сообщества
Уже вступила туда? :з
> Горский дизайн — телеграм-чат для дизайнеров
Это надо было в одноклассниках такую группу создавать. Или там уже такое название занято?
> Работа для дизайнера — телеграмм-канал
Информативно )))
> Работа в ИТ — телеграмм-канал c it вакансиями
Линкедин? ХХРУ? Да пошли они гахуй, есть же чатик в телеге!
> Легкие мемi на английском — мой телеграмм-канал с легкими мемами на английском для изучения языка
Там, наверное, самые, блин, убогие на свете «мемi», которые только может увидеть человек в своей жизни.
guest6 06.05.2021 14:53 # 0
JloJle4Ka 06.05.2021 15:58 # 0
guest6 06.05.2021 23:42 # +1
MAKAKA 06.05.2021 23:43 # 0
Ты типа реально думаешь, что он женского рода?
лол
guest6 07.05.2021 00:00 # 0
MAKAKA 07.05.2021 00:06 # +3
Полина это gost. Молодой, но очень умный парень из Волгограда. Хорошо знает стандарт крестов, разбирается также в прыщевой и сетевой безопасности
bootcamp_dropout 07.05.2021 00:33 # +1
MAKAKA 07.05.2021 01:28 # +1
GravatarGovno 19.07.2021 11:13 # 0
nuTepcKuu_nemyx 19.07.2021 11:16 # 0
gologub 07.05.2021 10:18 # +1
значит, русь ня
bormand 07.05.2021 11:31 # +1
Когда вы госта то успели сдеанонить?
Soul_re@ver 07.05.2021 11:39 # +4
MAKAKA 07.05.2021 13:31 # 0
Думаешь, Гост это ПХП программистка из Дагестана?
"Вообще Дагестан довольно айтишный регион"
DypHuu_niBEHb 07.05.2021 00:17 # +1
bormand 07.05.2021 09:43 # +3
HEu3BECTHblu_nemyx 28.06.2021 20:14 # +3
bormandinho 09.07.2021 17:44 # +2
guest6 19.07.2021 11:10 # +2
DypHuu_niBEHb 08.05.2021 01:08 # +1
Coq 08.07.2021 23:28 # +3
Coq 08.07.2021 23:28 # +5
Coq 08.07.2021 23:28 # −3
defecatinho 15.07.2021 11:21 # −1
JloJle4Ka 15.07.2021 11:23 # 0
guest6 19.07.2021 11:10 # 0
JloJle4Ka 19.07.2021 11:11 # 0
guest6 19.07.2021 11:12 # 0
MAKAKA 09.07.2021 03:10 # 0
https://habr.com/ru/company/redhatrussia/blog/566830/
Какой пирдолинг ))
MAKAKA 09.07.2021 03:18 # −1
Оказывается, при чтении пароля с терминала нужно перевести его в raw режим, чтобы пароль не был виден! Про это написали целую статью!
https://habr.com/ru/company/macloud/blog/566748/
Стивенс ставит лайк
TOPT 09.07.2021 03:39 # 0
JloJle4Ka 09.07.2021 03:41 # 0
TOPT 09.07.2021 03:46 # 0
defecatinho 15.07.2021 11:20 # 0
booratihno 09.07.2021 11:13 # +2
https://phptherightway.com/#mysql_extension
bormand 09.07.2021 11:29 # +3
MAKAKA 09.07.2021 21:09 # +1
И еще паттерн делегат в ``Database``
bormandinho 09.07.2021 17:46 # 0
HEu3BECTHblu_nemyx 09.07.2021 17:47 # 0
bormandinho 09.07.2021 17:50 # 0
HEu3BECTHblu_nemyx 09.07.2021 17:56 # 0
Запретили <? ?> (asp-style tags, short tags), а <?= ?> оставили, они в куче шоблонов используются.
bormandinho 09.07.2021 17:59 # 0
HEu3BECTHblu_nemyx 09.07.2021 18:09 # 0
https://www.php.net/manual/ru/language.basic-syntax.phptags.php
MAKAKA 09.07.2021 21:08 # 0
HEu3BECTHblu_nemyx 09.07.2021 21:20 # 0
guest6 09.07.2021 21:23 # 0
Кстати, вот тебе свежая статья 2020-го года про современную многообещаующую технологию
https://habr.com/ru/post/524288/
PolinaAksenova 09.07.2021 21:28 # +1
Но её заминусовали (╥﹏╥).
guest6 09.07.2021 21:35 # +4
MAKAKA 10.07.2021 23:05 # +2
База данных — это место для хранения данных
Если приложение маленькое, то все данные можно хранить в памяти. Но учтите, что это память на вашем компьютере, вашем телефоне. И чем больше данных туда пихать, тем медленнее будет работать программа.
https://habr.com/ru/post/555760/
defecate-plusplus 10.07.2021 23:07 # +5
Подделка от нетфликс!
CHayT 10.07.2021 23:11 # +5
HEu3BECTHblu_nemyx 10.07.2021 23:18 # +2
https://www.rlsnet.ru/tn_index_id_7734.htm
defecatinho 15.07.2021 11:20 # +1
HEu3BECTHblu_nemyx 15.07.2021 21:37 # 0
PolinaAksenova 09.07.2021 21:13 # −1
HEu3BECTHblu_nemyx 10.07.2021 22:57 # 0
defecatinho 15.07.2021 11:19 # 0
guest6 10.07.2021 13:22 # 0
RubyGovno 04.08.2021 13:44 # 0
defecatinho 15.07.2021 11:19 # 0
MAKAKA 15.07.2021 14:39 # 0
defecatinho 15.07.2021 17:18 # +1
Так уж вышло, что приличное количество классных людей, которых я знаю, — из Владивостока. А ещё так получилось, что мой любимый стрит-фуд — главный на улицах Владивостока. Да и вообще, в Приморье живописные бухты, в которые можно сделать приятные барахты.
Мы с ребятами сделали тест с уникальным гидом в конце и разыгрываем авиабилеты во Владивосток. Открой для себя новый Владивосток, как говорится в брошюрах.
MAKAKA 15.07.2021 17:20 # +1
defecatinho 15.07.2021 17:21 # +1
Родной Владивосток!
Здесь Русь берет начало,
А ты ее исток!
Своей неколебимостью
На краешке земли
Хранишь ты Русь от ворогов,
Как предки берегли.
И моря синь играючи,
Ласкает бережок.
О, порт с глазами синими,
Родной Владивосток!
MAKAKA 15.07.2021 17:22 # +1
Стыли руки на морозе у нее.
В полынье вода - не чай,
Припевала невзначай,
Чуть слетала песня та,
Паром таяла у рта.
На Онеге белый снег да белый лед.
Над Онегой белый дым из труб идет.
Дым идет белей белья
Изо всякого жилья,
Изо всякой мастерской -
Прямо в небо день-деньской.
Город Каргополь, он, город невелик!
А забыть его мне сердце не велит:
Может, он и мал слегка,
Да Онега велика,
Да немерены леса,
Да без краю небеса.
Так и вижу - на Онеге белый лед,
Так и слышу - каргополочка поет.
Пусть мороз лютует зло.
Все равно у нас тепло.
Грел бы душу лад да труд,
Шел бы дым из наших труб.
gologub 15.07.2021 17:28 # +1
bormand 15.07.2021 17:28 # +2
gologub 15.07.2021 17:39 # +2
CHayT 15.07.2021 17:57 # +2
Desktop 15.07.2021 20:48 # +2
guest6 15.07.2021 17:43 # +2
JloJle4Ka 15.07.2021 17:53 # +1
guest6 15.07.2021 17:55 # 0
HEu3BECTHblu_nemyx 15.07.2021 18:00 # +1
Мне кажется, у меня не будет шанса выжить.
guest6 15.07.2021 18:02 # +3
Desktop 15.07.2021 20:54 # +1
bormand 15.07.2021 18:21 # 0
CHayT 15.07.2021 19:18 # +2
bormand 15.07.2021 20:51 # +1
Если дать ему графпланшетку, он будет някать всю жизнь.
Отличный повод поучиться рисовать, благо отвлекать ничего не будет.
1024-- 15.07.2021 20:54 # +1
Ха. Мысли уровня "вот выйду на пенсию - отдохну".
Явно же придётся строить колонию, охотиться на марсианских тушканов, топить печку. И эксперименты проводить ещё начиная со времени полёта.
bormand 16.07.2021 08:52 # +1
guest6 28.07.2021 20:11 # 0
gologub 28.07.2021 20:22 # 0
нахуя вы это читаете?
guest6 28.07.2021 20:30 # 0
gologub 28.07.2021 20:36 # 0
с чего ты взял? только из-за сатирки про вьетнам?
guest6 28.07.2021 20:41 # 0
Я понимаю, кстати, почему он тебе не нравится. Там многовасто левой хуиты. Но в 60-е это было в духе времени
gologub 28.07.2021 21:06 # 0
у меня от этого берроуз
> понимаю, почему он тебе
а вот тут обидно было
CHayT 15.07.2021 18:08 # +2
gologub 15.07.2021 18:17 # +2
JloJle4Ka 15.07.2021 17:30 # +2
Как для меня выглядит путешествие во Владивосток: богатый масквич выиграл билет, прошел анальное зондирование и досмотр урками в аэропорту (как в той песне про вертухая), прилетел в другой город, где живут такие же заёьпнные люди, ходят по говну и лужам, месят грязь. На небе ни облачка: оно просто монотонно серое, старые вороны и чайки клюют трупы крыс, которые сдохли от голода. Пенсионерки еле тащятся на почту России за пенсией, чтобы не сдохнуть с голода. Красноглазые студенты тоже пытаются не сдохнуть с голода: кто-то работает весь день на ногах заёбаннвй разносит листовки и пиццы блядские, кто-то пиздит богатых и отбирает у них вещи. На улицах пробки сплошные, в автобусах и метро давка, масквич едет полюбоваться на бухту, где бухие мужэки и их семейства бухают, едят шашлыки, орут и матерятся, курят, пердят, ссут в море, а срут за гаражами в 10 метрах от живописной бухты. На пляже битое стекло, мусор, говно, вода ледяная, недалеко кто-то моет машину в море.
И вот маасквич стоит и ЛЮБУЕТСЯ красотами, пока вокруг него почти каждый человек думает о том, как бы ухватить пожрать, кого бы выебать в самые неожиданные отверстия, кому бы свернуть шею, где бы посрать/поссать и т.д. ...
gologub 15.07.2021 17:44 # +1
Организация подготовила свой доклад, основываясь на официальных данных Росстата.
Как сказано в отчете, 400 тысяч россиян эксперты относятся к группе "экстремальной уязвимости". Этим людям приходится пропускать приемы пищи, ограничивать количество еды или не есть вообще из-за отсутствия денег или других ресурсов.
8,8 миллионов россиян эксперты поместили в группу "умеренной уязвимости". То есть им приходится экономить и либо есть меньше, либо покупать низкокачественные продукты.
1024-- 15.07.2021 17:57 # +3
А в людные засранные места ездят не путешественники, а дуристы.
bormand 15.07.2021 20:51 # +1
На луну? Хотя и там уже натоптали и мусора накидали.
1024-- 15.07.2021 21:00 # +2
bormand 15.07.2021 21:04 # +2
А мусор от него есть.
JloJle4Ka 16.07.2021 07:18 # +2
Зато там есть волки, которые хотят отгрызть кому-нибудь лицо, дикие собаки, которые как волки, насекомые, которые откладывают личинки под кожу и в глаза, рои ос-убийц, пауки, яд которых вызывает некроз и смерть за 30 минут, анальные змеи, мозговые паразиты, разъярённые казуары, беглые зеки, голодные жители-канибалы окрестных заброшенных деревень, ядовитые споры мозговых грибков... И это ещё далеко не всё, а если рядом есть вода, то там ещё больше всякой живности.
Soul_re@ver 16.07.2021 08:57 # +4
JloJle4Ka 16.07.2021 09:03 # 0
ObeseYoungGovno 20.08.2022 14:20 # +1
nyTuH_nugop_pidor 20.08.2022 14:42 # 0
ObeseYoungGovno 20.08.2022 16:27 # 0
guest6 20.08.2022 16:33 # 0
guest6 20.08.2022 17:08 # 0
nyTuH_nugop_pidor 22.08.2022 22:24 # 0
nyTuH_nugop-Govno 22.08.2022 23:02 # 0
nyTuH_nugop_pidor 22.08.2022 23:07 # 0
nyTuH_nugop-Govno 23.08.2022 08:31 # 0
guest6 23.08.2022 10:08 # +1
nyTuH 27.08.2022 18:37 # 0
guest6 20.08.2022 16:35 # 0
https://www.youtube.com/watch?v=iH8wIGWbiNs
ObeseYoungGovno 20.08.2022 16:49 # 0
guest6 20.08.2022 17:00 # 0
nyTuH_nugop-Govno 23.08.2022 08:28 # 0
Steve_Brown 29.08.2022 12:10 # 0
guest6 04.11.2022 20:32 # 0
Ну так что, знаешь её?
nyTuH_nugop_pidor 04.11.2022 20:15 # 0
HEu3BECTHblu_nemyx 16.07.2021 15:10 # +1
JloJle4Ka 22.07.2021 13:31 # 0
nyTuH_nugop 20.08.2022 17:37 # 0
guest6 20.07.2021 00:00 # +3
guest6 22.07.2021 13:28 # +11
GoGovno 22.07.2021 13:28 # +9
LinuxGovno 22.07.2021 13:28 # +9
KotlinGovno 22.07.2021 15:48 # +8
GithubGovno 24.07.2021 09:18 # +8
WindowsGovno 30.07.2021 22:18 # +7
CloudflareGovno 01.08.2021 07:19 # +7
GravatarGovno 01.08.2021 07:20 # +7
MediumGovno 01.08.2021 10:41 # +7
PayToiletsGovno 01.08.2021 11:11 # +7
CoronavirusGovno 02.08.2021 13:03 # +6
LORGovno 03.08.2021 13:33 # +6
CocaColaGovno 04.08.2021 10:52 # +4
RubyGovno 04.08.2021 13:25 # +5
AltufyevoGovno 06.08.2021 11:25 # +3
ru66oH4uk 06.08.2021 13:47 # +1
Desktop 06.08.2021 14:03 # 0
кстати, багор: "Пражскую" строили чехи и использовали звукопоглощающие технологии, про которые в совке почему-то не думали. а ещё багор в том, что в Праге была станция "Московская", которую строили советские инженеры, её переименовали после падения занавеса
теперь после каждого бурления говн вокруг Чехии можно услышать предложения переименовать и "Пражскую", но пока никак
3EHuTHblu_nemyx 06.08.2021 14:36 # 0
Desktop 06.08.2021 14:50 # +1
3EHuTHblu_nemyx 06.08.2021 14:56 # 0
Desktop 06.08.2021 15:02 # 0
DypHuu_niBEHb 06.08.2021 15:12 # 0
AltufyevoGovno 06.08.2021 16:22 # 0
DypHuu_niBEHb 06.08.2021 18:16 # 0
AltufyevoGovno 06.08.2021 18:26 # 0
Desktop 06.08.2021 18:30 # 0
guest6 06.08.2021 18:44 # 0
AltufyevoGovno 06.08.2021 15:13 # 0
nyTuH_nugop_pidor 20.08.2022 14:43 # −1
ObeseYoungGovno 20.08.2022 17:46 # −1
guest6 20.08.2022 17:51 # 0
DNSGovno 08.08.2021 19:06 # +2
GovnokodGovno 08.08.2021 21:15 # +2
EbooksGovno 09.08.2021 11:09 # +2
PochtaBankGovno 09.08.2021 11:22 # +1
EbooksGovno 09.08.2021 11:23 # 0
PochtaBankGovno 09.08.2021 11:30 # 0
EbooksGovno 09.08.2021 11:31 # 0
PochtaBankGovno 09.08.2021 11:32 # 0
EbooksGovno 09.08.2021 11:34 # 0
https://youtu.be/fB2b-lTjCQA
KqueueGovno 16.08.2021 15:18 # 0
TwitterGovno 18.08.2021 20:37 # 0
MacOsGovno 29.10.2021 00:04 # 0
GamCovidVacGovno 27.01.2022 11:24 # 0
nyTuH_nugop-Govno 19.08.2022 11:27 # 0
katelinlisGovno 20.08.2022 11:09 # 0
ObeseYoungGovno 20.08.2022 14:02 # 0
RoniakiaGovno 21.08.2022 13:26 # 0
guest6 21.08.2022 13:32 # +1
RoniakiaGovno 21.08.2022 13:35 # 0
MangaGovno 21.08.2022 14:23 # 0
Пользователь с таким логином уже существует.
Rooster 22.08.2022 06:58 # 0
AvokadaGovno
guest6_uebok 27.09.2022 15:54 # 0
A3OBGovno 21.08.2022 13:48 # 0
MangaGovno 21.08.2022 14:22 # 0
SiriGovno 27.09.2022 11:38 # 0
RoizmanGovno 18.10.2022 20:55 # 0
TerraformGovno 22.10.2022 15:33 # 0
guest6 22.10.2022 17:24 # 0
С помощью бранчей я решил задачу создания окружения на AWS в один хрюк, и получилось прикольно
TerraformGovno 22.10.2022 23:52 # 0
guest6 22.10.2022 23:55 # 0
TerraformGovno 22.10.2022 23:58 # 0
guest6 23.10.2022 00:02 # 0
guest6 28.07.2021 14:30 # +3
guest6 28.07.2021 14:57 # +1
guest6 28.07.2021 14:58 # +1
guest6 28.07.2021 14:58 # +1
guest6 28.07.2021 14:58 # +2
guest6_uebok 27.09.2022 15:54 # 0
guest6 28.07.2021 15:04 # +1
guest6 28.07.2021 15:05 # +1
JloJle4Ka 28.07.2021 15:10 # 0
guest6 28.07.2021 15:24 # 0
JloJle4Ka 28.07.2021 15:27 # 0
gologub 28.07.2021 17:14 # 0
guest6 28.07.2021 17:50 # +1
--а у меня кутикулы
какой стерторизм
JloJle4Ka 28.07.2021 19:27 # 0
DypHuu_niBEHb 06.08.2021 15:12 # 0
Rooster 22.08.2022 07:00 # 0
Desktop 28.07.2021 19:27 # 0
JloJle4Ka 28.07.2021 19:31 # 0
Desktop 28.07.2021 19:50 # 0
gologub 28.07.2021 20:32 # +1
- Ну же, не плачь. Где твой папа?
- Я его скууушал...
- А мама где?
- Я её тоооже скууушал...
- Ну и кто же ты после этого?
- Сиротиииинушка...
Desktop 28.07.2021 21:39 # +1
guest6 28.07.2021 21:58 # 0
Анекдот_про_нового_руссково_и_ляляки
PolinaAksenova 28.07.2021 22:00 # +1
- Передайте, пожалуйста, талончик.
- У меня руки заняты, вот грузин стоит, он передаст.
- Слюшай, ти сам передаст, папа твой - передаст, и дэти твои
вырастут передастами!
guest6 28.07.2021 22:03 # +1
-- Мой билетик.
-- Ну ваш билетик?
-- Ну мой билетик.
-- Ну покажите его
-- Ну купите себе, и смотрите
-- Вы что, больной?
-- А вы что, доктор?
-- Я кондуктор
-- А я сантехник
TwitterGovno 18.08.2021 21:03 # 0
На трамвай билета нет.
Desktop 28.07.2021 23:01 # +1
– Все с яйцами.
– Я с куриными!
– Пропустите инвалида.
guest6 28.07.2021 23:28 # 0
Desktop 29.07.2021 00:06 # 0
guest6 29.07.2021 09:11 # 0
MAKAKA 29.07.2021 12:46 # +1
Причем все три части взаимозаменяемы
Desktop 28.07.2021 23:02 # 0
JloJle4Ka 30.07.2021 02:52 # 0
Desktop 30.07.2021 21:04 # +1
смысл в том, что жена дала ему инжир вместо яблок, когда он собирался идти к какому-то вельможе, а тому что-то не понравилось и он начал бросать в Ходжу принесённые фрукты, ну а инжир мягкий и ушибов не оставляет
вот Насреддин и бегал и орал "спасибо тебе жена"
шутки за 40 девственниц
Desktop 31.07.2021 19:08 # +1
LinuxGovno 31.07.2021 19:26 # 0
guest6 01.08.2021 03:49 # +1
Спи спокойно, Петя(((
guest6 28.07.2021 19:58 # +1
KqueueGovno 16.08.2021 15:19 # +1
Staatssicherheit 16.08.2021 16:12 # +1
MAKAKA 16.08.2021 16:17 # 0
guest6_uebok 27.09.2022 15:55 # 0
inkanus_gray 25.10.2022 02:29 # 0
guest6_uebok 25.10.2022 19:41 # 0
inkanus_gray 25.10.2022 19:45 # 0
Упоминание встретилось мне более 30 лет назад, в журнале "Наука и Жизнь".
nepeKamHblu_nemyx 28.07.2021 22:53 # 0
https://govnokod.ru/27539
https://govnokod.xyz/_27539/