web фронтенд я приму любой ответ сервера, обработаю любой объект, любой структуры, отсутствует пол / программирование :: it-юмор :: web :: swift :: js :: geek (Прикольные гаджеты. Научный, инженерный и айтишный юмор)

it-юмор geek программирование js swift web 
web фронтенд я приму любой ответ сервера, обработаю любой объект, любой структуры, отсутствует поле? - мне похуй, в крайнем случае будет null или undefined, пользователь даже не заметит мобильный фронтенд можешь плмз добавить одно ненужное поле в бд, а то у меня объемкт не матчится и
Подробнее
web фронтенд я приму любой ответ сервера, обработаю любой объект, любой структуры, отсутствует поле? - мне похуй, в крайнем случае будет null или undefined, пользователь даже не заметит мобильный фронтенд можешь плмз добавить одно ненужное поле в бд, а то у меня объемкт не матчится и примложение крашится на старте(((9
it-юмор,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,программирование,js,swift,web
Еще на тему
Развернуть
переведите
я нихуя не понимат про свифт
dr9vik dr9vik 15.10.202122:19 ответить ссылка -0.1
swift - с англ. "быстрый"
Еще писатель такой был.
и певица
и мой хуй
ты путаешь свифт с шорт
Возможно он Свифт Гонзалес.
Почему у него не может быть сразу оба качества?
на словах ты фронт-сеньор
а на деле swift простой
Мало кто гордится тем, что он скорострел. Но ты молодец
Видимо подразумевается, статическая типизация языка...
Статическая типизация не позволить даже скомпилить невалидное приложение (ну почти).
Wolfdp Wolfdp 15.10.202122:27 ответить ссылка 1.6
Как говорится, есть 2 стула: на динамическом заебешься проверки типа писать, а на статическом заебешься протекшую память чинить)
LcRL LcRL 15.10.202122:56 ответить ссылка -3.5
Как утечки памяти связаны с типизацией?
Напрямую вроде бы никак. Но статистически это почему то очень часто совпадает
LcRL LcRL 16.10.202103:48 ответить ссылка -7.2
Хотелось бы пруф на статистику.
Да хуйня это все, утечки мусора из-за Кривого гарбич коллектора, кривой коллектор когда в нем куча логики, куча логики от динамически распределяемой памяти и прочего, чем больше язык требует точности, тем меньше с gc проблем.
gz0t gz0t 16.10.202109:26 ответить ссылка -1.8
Я никогда не слышал про утечки памяти по вине GC в той же JVM. Это вообще звучит как лютая дичь.
да ты похоже вообще много чего не слышал
gz0t gz0t 26.10.202119:37 ответить ссылка -1.2
Конечно. Трудно услышать внутримозговые фантазии хуй знает кого.
уж как хорошо без gc с утечками памяти. навыделял памяти, упал, не успев ее освободить - пиздец, приплыли
так какая связь бд с фронтом, написанного на любом языке, и забирающего данные с бека через апи?
Мобильный фронт-енд, видимо, имеют ввиду SwiftUI, где любая попытка создать что-то сложнее дефолтного списка карается наймом сеньёра с 300к+ зарплатой.
не, кто-то не может нормально настроить парсер или маппер
и ноет на джое, вместо того, чтобы порыться на стековерфлоу
Статическая типизация VS динамическая. Срач в программировании уровня цска против спартака и примерно того же возраста
Eyeball Eyeball 15.10.202122:31 ответить ссылка 5.7
Динамическая типизация рулит на мусорку
TheShock TheShock 15.10.202122:35 ответить ссылка 17.6
и сцыт себе в рот
Иисyc Иисyc 15.10.202122:47 ответить ссылка -1.5
Она перепутала и насцала в твой
перепутала - это все что нужно знать о динамической типизации
ellims ellims 16.10.202108:22 ответить ссылка 2.9
Это же как круто придумать JS а потом такие "Чего-то не хватает" и придумать TypeScript
И всё равно "Чего-то не хватает"
ровно до момента когда тебе прилетает код, в котором ты нихуя не понимаешь, но тебе нужно исправить вон ту хуйню
сидишь вдупляешь в метод который принимает хуй знает что
рулит в ногу себе
окей, нормальная иде от джетбрейнса есть.
но даже она не может вывести содержимое переменных data, params, options и context, если на всём стеке они ни разу не были подписаны.

ах да, иногда может. и там сука тип mixed.
сидишь, штаны протираешь часами за таким дебагом. бесполезно проживаешь жизнь.
Слава Unity я на С# работаю.

Сочувствую чувак.
Ты в геймдеве работаешь и сочувствуешь? Где спальное место за компом и там же обеденный стол с Дошираком?
hefeal hefeal 16.10.202100:40 ответить ссылка 1.2
Если не индюшатничать и пойти в продуктовую\аутсорс то можно на изи получать мнимум 2к зелени
Из минусов: будешь делать онлайн-казино, мач3, гиперкэжуал и прочие игры для даунов.
А ещё работать придется с "интересными личностями" - там такие вообще все, от тестировщиков, до заказчиков.
Через пару лет либо познаешь дзен либо свалишь из гейдева
Пилил слоты в начале карьеры джва года. Больше туда ни ногой
Тим лид прототипирования на индуском казино. Вполне себе приятные ребята, сильно не напрягают, 6 часовой рабочий день по удаленке, кранчи в среднем раз в 3 месяца на неделю. Зарплата на уровне тимлидов других специальностей.
Ты щас троллишь, да?
Мне прилетал код на ActionScript "в котором ты нихуя не понимаешь, но тебе нужно исправить вон ту хуйню", и я "вдуплял в метод который принимает хуй знает что", потому что хуй знает что - это объект класса в тысячу строк со ссылками на несколько объектов классов в еще пару тысяч строк
ты думаешь, я не ожидал такой реакции? я просто люблю ссать против ветра.
geolaz geolaz 16.10.202101:01 ответить ссылка -5.2
Я обосрался
Не не, вы не поняли, всё так и планировалось!
да хуле там думать. статическая хороша для работы с данными, а динамическая (только не слишком выебистая) - для ui. Жалко только что нет такого языка, который бы хорошо поддерживал и то и другое (TypeScript не в счет). И еще и быстро работал.
LcRL LcRL 15.10.202122:33 ответить ссылка -0.1
привет от шарпа и его проекта маю
dr9vik dr9vik 15.10.202122:37 ответить ссылка 2.3
Не трогал, не знаю)
я в последнее время больше по c++/Qt/qml
Быстро работал это типа так же быстро, как плюсы?
Любой статически типизированный язык можно превратить в динамический.
Просто используй или надтип (Object, Any, etc), или аналог void* вообще везде, и будет тебе динамическая типизация. И это даже будет быстро. Но риск получить пизды за такой код, если его кто-то адекватный увидит.
это не вполне так.
Смотри: в js можно создавать новый "тип" вообще нигде никак не описывая его структуру, а прямо на месте написав что-то вроде {"a": 1, "b": 2}
В более строго типизированных языках действительно есть всякие Object, Any и т.п. Но для того чтобы в них положить произвольный пользовательский тип, этот тип обычно должен удовлетворять некоторым критериям, как то: должен быть явно описан как структура/класс, предоставлять метод хеширования. или например пару методов сериализации/десериализации.
Т.е. в строготипизированных языках ты получаешь как бы динамическую типизацию не за счет синтаксиса самого языка, а за счет складывания всего в хитрый union, который писать вручную надо. А вариант с void* не уверен что это можно в принципе сравнивать с динамической типизацией. С точки зрения теории это вообще звери из разных вселенных: абстрактная теория типов не очень заботится о том, что должна помещаться в реальную физическую память
LcRL LcRL 16.10.202117:29 ответить ссылка 0.0
Ну, это прототипирование.
При желании легко делается через любой map, где ключ - имя свойства, а значение - значение. Тащемта, в нутрях нетипизированных языков оно так и сделано. И даже обращаться к свойствам часто можно через нотацию мапов.
Вопрос только, нахуя.
И да, это чуть перпендикулярно статике/динамике. В некоторых языках со статик типизацией можно создавать типы на лету, но они остаются статическими.
Споры по теме в середине 20 века, уникальные кадры
https://m.youtube.com/watch?v=ssxBGn4_Ijs
Ой, да справа небось просто optional construction не осилили.
Уж в плане отсутствующих полей, со swift все в порядке.
А вот время компиляции - говно, да и динамическое выделение памяти - тоже (ибо медленно).
*последний раз 3 года назад его трогал
LcRL LcRL15.10.202122:31ответитьссылка -0.2
Но в итоге он насрет тебе на ковер с довольным видом
И сблевнет на подушку
Дада, приму что попало, и обработаю как получится. В этом весь js и вся динамическая типизация. И приведение типов по ебанутым правилам.
То, что в результате получится совсем не то, что нужно, а случайная непредсказуемая хуйня, программистов js не ебёт. Не упало, ошибку не выдало, значит и заебись.
А то, что оно исполнило какую-то хуйню на логическом уровне, и от этого пользователи в ахуе и не могут что-то сделать - ну и что, да? Главное же, что не упало.
Погроммисты, блядь.
ну вообще для недопрограммиста который учит язык все-таки морально приятнее когда программа работает хоть как-то, чем вообще не работает.
понятно что для профи, особенно если код пишется не в одиночку, это неприемлемо.

на практике мне пришлось летом изучить js чтобы полноценно исполнять dba-шные функции в таблицах на "zero-code/low-code" (я столько кода как за последние 3 месяца, не писал в предыдущие 15 лет работы в сфере IT) - поскольку уже заранее предупрежден мемами с js sort и "5"+2="52", таких ситуаций практически не случалось, да и математики в итоге применяется совсем мизер. тем более пишется в интерфейсе с оберткой typescript, он всегда гавкает если что-то не так, иногда даже когда все так.
Поддерживаю. Лишь бы работало - это удел мамкиных кодерков, которые последствия такой "отработавшей" программы не разгребали. Из-за которой бизнес терял сотни нефти, а вместо 13-й зряплаты все получали шершавым по губам.
Это как если когда тебе в ресторане принесли вместо пасты карбонара говно с битым стеклом. Нормальный человек сразу увидит это, и откажется жрать, заодно и отказавшись платить(отменив транзакцию), и свалив нахуй из этого реаторана. И напишет отзыв с фото, а возможно и в ментовку(напишет лог, и примет меры, чтобы говно со стеклом вместо карбонары не подавали).
Программисты JS предлагают сожрать говно со стеклом, насладиться тем, что всё получилось, заплатить, и похуй на кровавый понос и прочие последствия поедания.
Какое то идиотское сравнение. Жрут пользователи, фронты готовят, а вот готовят они из того что пришло с бэка, и если там говна прислали, под видом конфет, то уже что подали то и получите. А если ингредиенты хорошие, то и блюдо будет вполне себе стабильного качества.
Ну так вот говно не надо выдавать в зал. Говно надр возвращать тем, кто его сделал, фиксируя этот факт. Или хотя-бы выкидывать, и фиксировать.
Неопределенное поведение - это наихудший результат работы любой программы. Хуже, чем полная неработоспособность и отказ.
Нехуй работать с поставщиком, который выдает говно под видом товара. Если бэк меняет что-то втихаря без синхры с фронтом, это косяк долбаеба писавшего бэк. Если задача идет вместе, все спокойно отрабатывается, и никаких проблем не будет. С какого перепуга фронт должен считать данные бэка не валидными? Ты когда из таблицы данные забираешь, тоже проверяешь что там Фамилия, а не набор букв?
void_the void_the 16.10.202100:24 ответить ссылка -1.3
Разумеется, это проблема, скорее всего бека(или вообще третьей стороны - данные могут из разных мест идти).
Но, тем не менее, проверять структурную целосность пришедших данных нужно всегда.
Как, кстати, и критические ключевые моменты.
При статической типизации структурная целостность проверяется автоматически всегда, без усилий. И если пришло что-то не то, а это не такая и редкость, то выдаётся ошибка.
Жаваскрипт не проверяет нихуя. Хуже того, в данном посте это преподносится как преимущество, хотя это скорее пиздец.
Да с какого хрена ты решил что это нужно всегда? Потому что ты так сказал, и все, теперь все тебе должны верить? Я большего бреда в жизни не слышал. Хочешь проверять, проверяей на бэке, где происходит чтение, запись, и обработка данных, фронт это просто ui, ему похер. Чтобы меньше косячит при разработке есть ts, в остальном это гемор бэка. Почему каждый мамкин кодер считает что он истина в последней инстанции, а разработчики языка нихера не понимают вообще, забыли наверное про солнечную радиацию.
Я уже выше написал, почему.
Но читать ты не умеешь.
Может быть, годам к 10-15 опыта, к тебе придёт понимание. А может, и нет, но это уже не моя, а твоя проблема.
Ты даже не понимаешь почему там нет типизации. Зато ты дохера умный, правда только по твоему мнению похоже.
void_the void_the 16.10.202100:48 ответить ссылка -4.0
потому что проще писать интерпретатор. как этим говном будут пользоваться - ниибёт
> Чтобы меньше косячит при разработке есть ts
Которое такоеже раковое говно как и js
>>Да с какого хрена ты решил что это нужно всегда?
Как я понял, подразумевается что в статической типизации такое действие происходит "автоматически" ввиду того что так работает сам язык. Т.е. если скажем возращающая сторона каким-то чудом перепутала порядок колонок в "наименование" - "количество", то попытка спарсить "%ItemName%" в int-поле вывалит ошибку, в то время как js вполне может пропустить это и записать в таблицу на отображение без задней мысли.

Ну либо более вероятный пример -- опечатался в поле, которое позволяет хранить null. В том же C# такое не пропустит компилятор, а вот js ругнется только в рантайме и то не факт. Собственно это и есть основное преимущество строго типизированого статического языка -- немало багов отсекается на этапе компиляции.

Вот только я очень сомневаюсь что тот же С# или его аналог можно засунуть в браузер:
- уже 100500 сайтов написоно под использование js, который вытеснил даже flash
- всякие UI элементы аля "button" в каждом браузере долгое время были реализованы по своему, и я слабо представляю как с этим богатством можно работать не на динамическом языке
- "скрипт" в целом менее платформо зависимый, нежели нативный код, и в теории можно предусмотреть его работу даже на утюге
- все это не избавляет от того факта что писать на js больно
>> тот же С# или его аналог
гугол пилит Dart как убийцу жиеса со статической типизацией, но вроде пока что нет вакансий Dart разработчиков
вы видно не вкурсах про blazor и его развитие в сегменте мобилок Maui
dr9vik dr9vik 16.10.202116:57 ответить ссылка 0.0
Все верно, не в курсах
тащемта не maui, а Xamarin
Да хз, нормально писать на js. Тот самый ts и ругнется при компиляции что ты накосячил, а вот в конечную сборку не попадет. Если они изобретут язык который в сборке будет так же оптимизироваться в размере и производительности как js, но будет типизированым, флаг им в руки, я думаю люди с удовольстием перейдут на него. А пока я только слышу "какой же фронт стал тяжелый", и это при том что оттуда выпилена вся типизация.
void_the void_the 16.10.202108:57 ответить ссылка -2.1
>>оптимизироваться в размере и производительности как js
Ух, уточняй что речь про фронтенд сайтов, а то я аж призавис. Про "изобрести" я не того скила девелопер (тем более фронтэнда) чтобы сказать насколько это (не)реально, но с уверенностью могу сказать что даже если каких-то чудом придумают супер-язык для фронтенда, браузеры еще очень долго будут поддерживать js, ибо переписывать уже работающие сайты нахуй никому не упало.
Wolfdp Wolfdp 16.10.202119:08 ответить ссылка 0.0
Вот бы кто-нибудь придумал что-то, чтобы типы в JS проверялись. Как жаль, что девять лет назад ничего такого не случилось, и все фреймворки поддерживают только чистый JS...
В исходном посте именно динамическая типизация восхваляется.
То, что умные люди, охуевая с этого пиздеца, поставили костыли к js, которые позволяют лучше работать с типами, только подтверждают то, что динамика - полная хуета.
Ичсх с типами оно всё рано работает хуёво
Ну потому что костыль всегда хуже здоровой ноги.
Kokoko<Kukarek> kokoko = new Kokoko <Kukarek&rt;();
Kukareku kukarek = new Kukareku()
kokoko.setKukarek(kukarek);
Golandec Golandec 16.10.202101:34 ответить ссылка -1.5
Я очень надеюсь что Kukareku extends Kukarek иначе это будет полностью обосравшийся комментарий
Kukarek - это интерфейс, Kukareku его Uмплементация
раз такая пьянка, то должно быть kokoko.set(kukarek) либо kokoko.set<Kukarek>(kukarek)
Какое-то петушиное программирование
Слаботипизированное
Как раз нет. Если бы ты писал на ts, то был бы в курсе, что это просто способ аннотирования твоего кода, а не строгая система типов. Более того это норма писать
function sitDown(bar: Spike[] | Dick[]): Void {
….
}
Golandec Golandec 16.10.202101:15 ответить ссылка -1.5
Это я и назвал "костыль, который помогает лучше работать с типами". Аннотирование уже лучше, чем нихуя. Но хуже, чем строгая типизация в полноценной реализации.
Строгая типизация без костылей вроде выведения типа из выражения, является массивным гемороем, одна лишь проблема наследования типов чего стоит.
Выведение и просчёт типов всех выражений - неотъемлимая часть строгой типизации, так что неясно, что ты имеешь ввиду, и схуяли это костыль.
И какая проблема с наследованием?
Проблема с наследованием в наличии неоправданно больших иерархий из классов, ненужных абстракций и прочего. При этом неизбежно возникают рантайм проверки на тип параметра. Проверки появляются не из-за того, что по другому никак, а потому что если менять иерархию классов, то придётся перефигачить кучу кода. Рано или поздно все равно это попадёт в беклог и команда потратит своё время. Ну и классическая проблема множественного наследования, которая решается через композицию и делегирование, что в свою очередь приводит к огромной доле бойлерплейта. Я бы ещё наехал на паттерны банды четырёх, что часть из них продиктованы нелегкой жизнью со статической типизацией, но тут мне нужно подумать поглубже
Golandec Golandec 16.10.202102:50 ответить ссылка -1.6
Проблема неоправданно больших иерархий, как и множественного наследования - в тех долбоебах, которые создают ебанутые иерархии, и пользуются множественным наследованием (которое само по себе противоестественно, и его необходимость уже указывает, что в архитектуре насрано).
Я уже не говорю про кретинизм "мы не будем переделывать кривую иерархию, а сделаем обжект и проверку на тип" - так сделать может только или джун, если его не отпиздят палкой сеньоры, или команда, перешедшая из js-подобной хуеты, нагородившая кривую иерархию, и решившая забить по привычке хуй на типы.
Никогда за 20 лет опыта мне не приходилось использовать множественное наследование, и никогда я не делал и не видел, чтобы всерьёз делали проверку типов в рантайме вместо переделки иерархии, если она кривая.
Ну а я за 7 лет этого насмотрелся и с полной уверенностью могу сказать, что даже 10 летние синьоры делают иногда на похуй, потому что «надо вчера». И за 2-3 года кодовая база обрастает порядочным слоем говнеца, от чего разработка новой фичи превращается в резьбу по калу.
Golandec Golandec 16.10.202103:12 ответить ссылка -0.9
Ну, такой подход, "на похуй", родит резьбу по говну абсолютно независимо от использованных технологий. Технологии от "похуй", "и так сойдёт" не спасают - нетехнические проблемы техническими методами не особенно решаемы.
> от чего разработка новой фичи превращается в резьбу по калу.
Спасибо, я теперь знаю как называется моя должность "по факту"
Зы утилитарное множественное наследование, когда тебе надо прилепить функционал - это не наследование, и делается миксинами/интерфейсами с дефолт методами.
В опусе выше я говорю про смешивание сущностей.
А, ну тогда С - это костыли к ассемблеру, в котором нет типизации.
Кстати, как там поживает типизация в похапе и перле?
Hellsy Hellsy 18.10.202113:47 ответить ссылка 0.1
Никак. Потому похопе и перл - говнецо.
Ну охуеть, а что тогда не говнецо? Ява, которая уже в девяностых была громоздким устаревшим уебищем? Или, быть может, майкрософтовская ява, удачно сохранившая все минусы оригинала и добавившая туда зоопарк глючных фреймворков, построенных вокруг мега-уебищной ОРМ? А может питон с его чудо-производительностью, заставляющей замереть в восхищении даже самые мощные серваки?
Java, которая со времён девяностых научилась в JIT, засчёт чего обгоняет опримизированный С++. Ну и собственно С++.
Дотнет неплох, но я не следил.
Все языки поверх этих ВМ(дотнет, джава).
Есть ещё всяческоя экзотика типа GoLang, и ещё нескольких.
Все эти технологии объединяет быстрая скорость и удобство программирования, и быстрая работа. И статическая типизация.
Джаву давно вышвырнули из веба, она поскуливая уползла в энтерпрайз, где компании могли себе позволить делать годами задачи, которые на языках высокого уровня делались за месяцы. ASP начался совсем не с решеток, но продвигаться начал, когда Майкрософт выпустила монолитное решение - С# + Entity + MSSQL. С учетом того, что большая часть движений по отрисовке уползла на фронт, а бизнес-логика - на уровень СУБД, бэкенд типового веб-приложения превратился в прокладку с авторизацией между базой и фронтом. И глубоко похуй, какая там у него типизация и даже скорость работы - все равно ответ СУБД ждать в 100 раз дольше.

А вот удобства как раз нет. В Джаве обычная передача метода как параметра функции - делается с катастрофическими изъебами. В решетке для этого "выдумали" делегаты, но все равно корявенько. Рефлекшен вообще один сплошной хтонический пиздец.
Кажется, ты джаву последний раз видел в тех самых 90-х, судя по твоим словам про передачу метода.
Собственно, твои познания про её роль сейчас, примерно того же времени.
Да и знание про "типовое веб-приложение" тоже.
На чём можно и остановиться, поскольку пересказывать тебе события последних двух десятков лет у меня желание отрицательное.
Последний раз я ее видел в 2018 и тогда проблема все еще никуда не делась.

Я, разумеется, не настаиваю на пересказе, но мне непонятно - зачем ты тогда вообще писал свой коммент? Типа, я должен был проникнуться с таинственности и недосказанности? Но это больше выглядит как унылый слив из-за отсутствия фактических аргументов. Вместо Джавы ты мог в свой коммент поставить что угодно, хоть фортран-77 и при этом ничего бы не изменилось.
Тогда мне непонятно, в чём проблема передачи ссылки на метод в джаве.
doSomething(MyClass::myMethod)
Это вот по-твоему ахуенно сложно?
Строго говоря если на C# приходится юзать рефлексию, то что-то не так в архитектуре. Максимум вычитать атрибуты, и то есть сотня дефолтных, которые уже разспознает среда.

Не в курсе с чего начинался оригинальный asp, но на .net все это стартовало с триждыблядских Forms, которые по ходу создавали под веществами, ибо иного объяснения "гениальной" идеи сделать из web недодесктоп у меня нет. И MVC, при всем своем более высоком уровне вхождения, это мать его спасение платформы (особенно с Razor в разметке). Правда все равно это скатилось в WebAPI.

Ну и как бы c# далеко от java не ушел: все тот же энтерпрайз, и "прокладкой" между фронтэндом и БД это сложно назвать. Половина страниц действительно может быть тупо Load().Map(), а вот остальная часть -- ебаный пиздец из костылей и багов, ради которого C# и выбрали.

p.s. про делегаты вообще не понял -- что с ними не так? При учете что есть замыкание, сложение/вычитание, лямды и их описание, in/out, и сахар в виде event. А в новой спецификации разрешили говнокодить вложенный метод внутри другого метода, что очень неплохо сочетается с замыканием.
Wolfdp Wolfdp 26.10.202121:59 ответить ссылка 0.0
Дядя, никто не вернёт 2008. В 2021 у js-разработчиков есть линтеры, тайпскрипт, юнит тесты, автотесты, интеграционные тесты и ещё куча всего. Не знаю как там дела у пайтона, но догадываюсь, что тоже норм.
"React Native" же вроде на все платформах работает, не?
TiaraNo TiaraNo 15.10.202122:48 ответить ссылка -0.4
ну как на всех... всегда найдется микроволновка с 2кб памяти)
Реакт везде хуево работает. Это похапе в мире фронтэнда.
Hellsy Hellsy 15.10.202123:55 ответить ссылка 0.5
Ну, ПХП всё время ругают, а сколько уж лет на нём сайты делают. Всякие "вордпрессы" там, "лэравал". И язык постоянно обновляется и вакансий разработчиков вроде полно
TiaraNo TiaraNo 16.10.202102:18 ответить ссылка -0.6
пхп обновляется фичами, которые 15 лет были везде. забавно наблюдать, как дауны радуются "ну вот, развивается, а вы говорили, говно"
villy villy 16.10.202112:47 ответить ссылка -1.3
имхо, то, что у тебя прилетела херота, должно явно тебе говорить о том, что у тебя в коде бека и фронта какой-то рассинхрон - иди и фикси.

но нет, в динамической типизации оно будет втихаря корраптить данные, пока вы это случайно не обнаружите через полгода.
plflok plflok 15.10.202123:04 ответить ссылка 1.7
А добавить проверку на соблюдение интерфейса религия не даёт? Так то и в статически типизированных языках можно десериализировать данные, полученные из другой системы через очко проебав половину полей
Golandec Golandec 16.10.202101:18 ответить ссылка -1.5
так в этом же и прикол динамической типизации: ты можешь до посинения указывать типы, но например в том же пхп если не врубить declare(strict_types=1), то ему будет похуй на то, что ты явно указал, что сделал функцию, принимающую число - он может в неё запихать хоть строку, хоть массив, хоть объект.

особенно прекрасно живёт сравнение переменных разных типов.
одно лишь существование этого в официальной документации показывает, что динамическая типизация не имеет права на жизнь
https://www.php.net/manual/ru/types.comparisons.php
Гибкое сравнение с помощью ==
	true	false	1	0	-1	II	"0"	ll_ Jll	null	arrayO	"php"	n II
true	true	false	true	false	true	true	false	true	false	false	true	false
false	false	true	false	true	false	false	true	false	true	true	false	true
1	true	false	true	false	false	true	false	false	false	false	false
plflok plflok 16.10.202101:46 ответить ссылка 0.1
Так в чем проблема в слое интеграции добавить проверку на типы полей, которые ты получаешь в ответе?
А теперь представь, что тебе нельзя использовать ничего, кроме void* в своей программе. Только этот тип для всех переменных, полей, параметров, и результатов функций.
Когда кто-то начинает рассказывать мне о "крутости, гибкости и простоте" динамической типизации js - я вспоминаю этот отрывок из фильма "Идиократия". Как видите, объект "Цилиндр" он уже передал в аргументы метода)))
Buburka Buburka 16.10.202102:27 ответить ссылка 2.3
"Мы твой позорный недуг в доблесть превратим..."
nyshtyak nyshtyak 16.10.202110:05 ответить ссылка 0.3
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
Саске сунул руку в штаны Наруто и усмехнулся, когда блондин застонал от его прикосновения. - Уже, Наруто? Спросил он Извините, не тот чат Я по поводу вакансии ]э-программиста Введите сообщение и нажмите Enter
подробнее»

песочница js программирование geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор

Саске сунул руку в штаны Наруто и усмехнулся, когда блондин застонал от его прикосновения. - Уже, Наруто? Спросил он Извините, не тот чат Я по поводу вакансии ]э-программиста Введите сообщение и нажмите Enter
Типовое \Л/ЕВ приложение Облачный сервис Профиль ^ , Ш-контроллер Запрос данных Запись в БД Валидатор Фронтенд Бекенд Дебаггер Логгер Фичи
подробнее»

it-юмор geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор web программирование

Типовое \Л/ЕВ приложение Облачный сервис Профиль ^ , Ш-контроллер Запрос данных Запись в БД Валидатор Фронтенд Бекенд Дебаггер Логгер Фичи
II honey, tell me what's wrong I