Pull to refresh
12
0
Сартор @Sartor

User

Send message

Свой композер это не str_replace закостылить. Делайте форк, поднимайте свой репозиторий, привлекайте программистов - тогда будет свой композер. Можно его даже назвать будет со всеми нужными буквами и флагами. А так это всё ко-ко-ко.

Он что, перестал работать или делает что-то вредное? Вы хотите пользоваться благом open-source сообщества, но не хотите принимать его правила, да? Или у вас просто печёт?

Так я о том же. 1000->3000 это ещё совсем неплохо, иногда такое разбитие может в 10 раз увеличить кол-во кода.

Если код будет очень простой, то он и делать будет очень мало. А чтобы он начал что-то делать сложное - понадобится очень много "простого кода". Соотношение сигнал/шум будет всё хуже и хуже. И в итоге будет ситуация как в статье, клетка идеальна, а организм с кучей багов.

Вы серъёзно думаете, что это обычный чувак-программист? Не надо никуда ему выезжать, потому что он с ног до головы связан с ФСБ. Эта вся клоунада с блокировками - просто пиар. По сути этот сервис - это приманка для тех, до кого ФСБ ещё не добралась. Просыпаетесь наконец-то!

Теперь понятно. Вы просто это не уточнили, потому меня смутила фраза

в pg нет возможности сделать listagg distinct

Есть string_agg и там есть модификатор DISTINCT. Есть и другие агрегирующие функции, можно через несколько функций вообще страшную магию делать. В это плане у постгреса всё хорошо.

Ну вы же ничего не писали про авторский гриндер. Да и по моему описанию должно быть понятно, что я именно станов по вашей ссылке имею в виду.

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

Выглядит, как полный провал, если честно. В погоне за модной метрикой городить такое извращение - очень странно. Да ещё и после загрузки будут проблемы со взаимодействием из-за сетевых задержек. Но за знакомство со столь специфичным фреймворком спасибо.

Из всех продуктов, что мне приходится пользоваться — Алиэксперсс (что приложение, что сайт) — самое ужасное. И не надо втирать про особенности дизайна и интерфейсов для Азии и Европы. У вас тупа одни баги сплошные, которые не фиксятся годами, поиск отвратительный, что по товарам, что по истории, тормозит всё ужасно. Чтобы нажать на некторые поля и кнопки приходится играть в квест «найди предмет» и искать то самый активный пиксель.

В списках товара (например после поиска) всегда пишется минимальная цена, а на главной фотке — товар с максимальной ценой, при наличии вариантов, и таким хламом забит весь сайт.

Если бы не цены всего этого барахла китайского — этим бы никто не пользовался, имхо. Цена доставки скрыта и часто абсурдна (доставка 500$ при цене товара в 50$) и увидеть это можно только перейдя в карточку товара. Авторизация часто глючит, до сих пор нет способа авторизоваться навсегда.

Так и не решил, плакать, стесняться или смеяться от механизма рекомендаций товаров.

Ну и обилие рекламы из-за которой весь сайт скачет и мелькает как радуга — это рекорд в интернете.
Извините, накипело.
Я сделал нестираему и не меняему куку в браузере, которая отвечает за язык. Работает нормально
Это для вас не заповеди. Но их категоричность и куча пояснений — доказательносто того, что их воспринимают совсем по-разному. Ни разу не видел нормальных (не выдуманных) примеров, где код их нарушает и с ним всё плохо. или наоборот, код остался простой и следуем всем без исключения принципам. Сам же я на своей кодовой базе могу таких показать много, но это именно мой код, мои проблемы и решения. Это сложно обобщить и тем более выразить в понятном для всех виде.
Искал ваш комментарий. Сам хотел сравнить эти правила с религией. Нельзя в такой сложной сфере как программирование давать универсальные принципы. Это всё проповедование, да-да. Само название аббревиатуры не просто так сложилось в положительное слово — «цельный». Даже сам факт того, что их всем нужно растолковывать и пояснять говорит о том, что это никакие не правила. Из них куча исключений. Напоминает трактование всяких священных текстов. Хороший маркетолог поработал, продаёт, зарабатывает. Польза от этого солида только в том, что в холиворах по поводу него действительно происходит обмен знаниями и конертными полезными практиками. Но обычно в узком кругу людей.
Спасибо, что описали «как делать не надо». Очень странная стала разработка: когда у проекта нет времени на нормальный рефакторинг и упрощение легаси архитектуры — они решают её усложнить! Это же абсурд.

Вы пишите, что не можете сейчас обновлять билиотеки независимо и это минус, по-вашему. Да это никакой не минус! У вас вместо устаревания одной библиотеки теперь будут устаревать десять. И времени потом их обновить точно не будет. Когда что-то ломается — надо ремонтировать, а не накрывать платочком и ставить сверху новое.
Да, я уже почитал про эту технику. Очень уж она мне не понравилась. Вроде примитивный эффект и достигается шаблонным решением, но уничтожается вся красота и лаконичность SQL запросов. Больше расстроился, чем обрадовался.
Про Service Locator написана ерунда полная. Это в прицнипе намного более простой паттерн, а не какая не альтернатива той магии, которую дальше описывает автор. В вики по ссылке написаны такие минусы, которые можно отнести ко многим системам, которые делают непрямое создание экземплаторв класса централизованное.

А вообще, не тем занимаются, имхо. Язык не для этого делался. В него специально не включили кучу высокоабстрактных штук, чтобы он был простой и понятный для всех, а вы туда инверсию контроля хотите впихнуть.
Очень интересная практическая статья, спасибо. Объясните пожалуйста подробнее, почему именно так был переписан запрос с DISTINCT ON. Почему он быстро работает? Это что стандартный приём какой-то?
Опять про эти «волшебные интерфейсы и абстракции». Они все текут, запомните это уже наконец-то! И течь начинают быстрее, чем думает их создатель, какой бы крутой он не был.

Интерфейс не может в реальном мире не учитывать деталей реализации, т.к. именно низкоуровневые прорывы часто обеспечивают успех на верхнем уровне. Любое значимое изменение реализации обязательно будет подламывать интерфейс. Иногда это можно терпеть, но чаще — это бомба замедленного действия.

Если бы было не так, у нас бы были везде, например:
  • Одинаковый разъём питания на всё!
  • Одинаковое напряжение на всю микроэлектронную логику
  • Одинаковая разрядность памяти и процессоров (и физические разъёмы туда же)
  • Один язык программирования (пусть даже ваш любимый)
  • Одна платёжная система


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

Нужно стремиться к этому, учитывать, но не молиться, иначе это похоже на религию.
Согласен, сначала регулярки меня восхищали, т.к. на них можно сдедать короткую магию и сразу решить задачу. Но когда я их стал писать много и очень лаконичные, то туда начала сочиться уже сложная логика, которую не все понимают. Пришёл к тому же, что и вы, использую в крайнем случае, когда без них никак. И обязательно с обширным набором тестов.
Ну тут смотря как это назвать русским языком. Проверка на длину — тут именно 1 символ или больше, но в строке в любом случае должны быть 4 разных типа символа, а это может быть только в строке из 4-х символов. Так что формально тут «минимальная длина = 1 символ», а фактически не менее 4-х и при этом разных
1
23 ...

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Registered
Activity