Перейти к публикации
  • Сейчас на странице   Всего пользователей: 1   (0 пользователей, 1 гость)

Rooster

Программирование, т. 8

  

315 пользователей проголосовало

У вас нет прав на голосование в этом опросе, или на просмотр результатов опроса. Пожалуйста, войдите или зарегистрируйтесь для голосования в опросе.

Рекомендованные сообщения

Какой нахер асемблер ты че попущеный

джаваскрипт иди учи и аплайся

Плез, не хейти biblethump


Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
 

Поделиться сообщением


Ссылка на сообщение

он сгорел там просто


 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

Поделиться сообщением


Ссылка на сообщение

так блять

передний конец тоже может посабжиться

 

орм вс пьюр джбс/etc 

 

начинаем  :nate:


:buba:

ни мало ни много, а много и мало

Поделиться сообщением


Ссылка на сообщение
(изменено)

 

хешмапа это по сути массив линкедистов

это дерево начиная с 8 ты же на джавке пишешь

и теперь не константное время а worst-case O(log n)

но при собственной реализации и написании не равномерной функции хэшкода можно да получить вырожденый связанный список

 

В джаве 8 внутренности хешмапы все еще представляют собой массив односвязных списков. Просто добавилась оптимизация - если в один список напихалось слишком много элементов, то конкретно этот список переделывается в дерево, чтобы поиск в этом конкретном бакете был не линейным (O(n)) (т.е тупо перебором всего списка), а бинарным (O(log n)). Поэтому теперь в худшем случае сложность logN, а N. При чем конкретно тут константное время ?
Связанные списки у тебя будут в любом случае, независимо от того писал ты собственный неравномерный хешкод или не писал, просто потому что они в принципе лежат в основе имплементации. Да, в идеальном случае в каждом бакете будет одна нода, указывающая вникуда, но все равно это список из одного элемента. Даже засунув всего 8 строк в мапу с дефолтными 16ю бакетами, ты скорее всего получишь как минимум в одном из бакетов список из двух элементов, это даже при том, что хешкод строки вполне себе адекватный, а количество бакетов в 2 раза превышает количество строк.
 
короче я бы такого джуна не взял. слов каких то нахватался, но в целом что к чему и как работает нихуя не понел

Изменено пользователем AskMe-

Лишь ощутив баттхерт до конца, мы обретаем свободу

bf4ffc239860.png

Поделиться сообщением


Ссылка на сообщение

так блять

передний конец тоже может посабжиться

 

орм вс пьюр джбс/etc 

 

начинаем  :nate:

Выбираю назвать бэкендера пидором


Shaman.png.0cdd33d48561cd068bb3c5ee78289381.png Anna.jpeg.03c9b49363298ceec256500a5d522f7d.jpeg Nigga.jpg.f807f2556bdbf68452292a9301494591.jpg

 

Поделиться сообщением


Ссылка на сообщение

 

так блять

передний конец тоже может посабжиться

 

орм вс пьюр джбс/etc

 

начинаем :nate:

Выбираю назвать бэкендера пидором
А может ты пидар? а?

Поделиться сообщением


Ссылка на сообщение
(изменено)

короче я бы такого джуна не взял. слов каких то нахватался, но в целом что к чему и как работает нихуя не понел

НЕ ОВН ПЛЕЗ

МИНУС ЗА НЕГАТИВ

крч я не до конца дописал пост свой тот а ты сагрился

факт в том что линкед лист ты получаешь когда в один и тот же бакет/ноду добавляется новое значение, а при не помню каком значении пересоздается в три ноду

про константное время я писал, что типа все привыкли что взять положить за о(н) забывая что с 8 часто лог(н) при больших обьемах


Изменено пользователем choojoykin

:buba:

ни мало ни много, а много и мало

Поделиться сообщением


Ссылка на сообщение
Гость LifeIsPain

 

короче я бы такого джуна не взял. слов каких то нахватался, но в целом что к чему и как работает нихуя не понел

НЕ ОВН ПЛЕЗ

МИНУС ЗА НЕГАТИВ

крч я не до конца дописал пост свой тот а ты сагрился

факт в том что линкед лист ты получаешь когда в один и тот же бакет/ноду добавляется новое значение, а при не помню каком значении пересоздается в три ноду

про константное время я писал, что типа все привыкли что взять положить за о(н) забывая что с 8 часто лог(н) при больших обьемах

 

все привыкли что класть за o(1) 

в чем смысл тогда хешмапов если у вас o(n) ахах

Поделиться сообщением


Ссылка на сообщение

 

 

короче я бы такого джуна не взял. слов каких то нахватался, но в целом что к чему и как работает нихуя не понел

НЕ ОВН ПЛЕЗ

МИНУС ЗА НЕГАТИВ

крч я не до конца дописал пост свой тот а ты сагрился

факт в том что линкед лист ты получаешь когда в один и тот же бакет/ноду добавляется новое значение, а при не помню каком значении пересоздается в три ноду

про константное время я писал, что типа все привыкли что взять положить за о(н) забывая что с 8 часто лог(н) при больших обьемах

 

все привыкли что класть за o(1) 

в чем смысл тогда хешмапов если у вас o(n) ахах

 

бля это я упоролся это про худший случай


:buba:

ни мало ни много, а много и мало

Поделиться сообщением


Ссылка на сообщение

да ты ваще судя по всему не отдаешь себе отчет, что ты пишешь, а каждый раз как тебя тыкают носом появляются отговорки типа "я пост не дописал" или "я объебался это ворст-кейс"

Поделиться сообщением


Ссылка на сообщение

 

 

короче я бы такого джуна не взял. слов каких то нахватался, но в целом что к чему и как работает нихуя не понел

НЕ ОВН ПЛЕЗ

МИНУС ЗА НЕГАТИВ

крч я не до конца дописал пост свой тот а ты сагрился

факт в том что линкед лист ты получаешь когда в один и тот же бакет/ноду добавляется новое значение, а при не помню каком значении пересоздается в три ноду

про константное время я писал, что типа все привыкли что взять положить за о(н) забывая что с 8 часто лог(н) при больших обьемах

 

все привыкли что класть за o(1) 

в чем смысл тогда хешмапов если у вас o(n) ахах

 

если твоя хэш функция это return 4; то получишь o(n)


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение
(изменено)

да ты ваще судя по всему не отдаешь себе отчет, что ты пишешь, а каждый раз как тебя тыкают носом появляются отговорки типа "я пост не дописал" или "я объебался это ворст-кейс"

я играю в дотан в перерывах чекаю топан  :nate:

я не спорю с аскмехом

сабж вообще не про это был а про дефолт структуры данных


Изменено пользователем choojoykin

:buba:

ни мало ни много, а много и мало

Поделиться сообщением


Ссылка на сообщение

"да я в дотан играл, так чисто на под-альттабычах"

Поделиться сообщением


Ссылка на сообщение

"да я в дотан играл, так чисто на под-альттабычах"

ой все  :trollface:

крч o(1) -> o(n) -> o(logn)

у меня все

 

вы так и не ответили орм или пьюр 

@@Kant например


:buba:

ни мало ни много, а много и мало

Поделиться сообщением


Ссылка на сообщение

своя орм офк

ты че ебанулся вручную запросы писать

90% времени там примитивные джоины которые надо по объектам разложить

удачи потом что-то порефакторить с склкой строками


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение

 

бтв, почему пэйн такой токсик?  :hmm:

 

у него минус за коммуникацию прост


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение
(изменено)

нихуя тут какая война из-за хэшмапы


своя орм офк

ты че ебанулся вручную запросы писать

90% времени там примитивные джоины которые надо по объектам разложить

удачи потом что-то порефакторить с склкой строками

не слишком ли сложно писать свою орм?

мб тут зависит от задачи - мелкий проект и без нее прокатит, особенно если критичные места тестами покрыть (хочу заметить - не всё, как хотят многие маньяки начитавшись пропаганды тдд)

 

ps а что если запилить интерфейс репозитрия, и сделать 2 имплементации - одна для вынимания из базы, другая типо cache и декоратором внутри cache имплементации вызывать базу если объекта нет в кэше?

вроде не особо сложно будет и наружу никаких запросов торчать не будет? или хуйня?  :hmm:


Изменено пользователем partyy

Поделиться сообщением


Ссылка на сообщение

нихуя тут какая война из-за хэшмапы

своя орм офк

ты че ебанулся вручную запросы писать

90% времени там примитивные джоины которые надо по объектам разложить

удачи потом что-то порефакторить с склкой строками

не слишком ли сложно писать свою орм?

мб тут зависит от задачи - мелкий проект и без нее прокатит, особенно если критичные места тестами покрыть (хочу заметить - не всё, как хотят многие маньяки начитавшись пропаганды тдд)

 

ps а что если запилить интерфейс репозитрия, и сделать 2 имплементации - одна для вынимания из базы, другая типо cache и декоратором внутри cache имплементации вызывать базу если объекта нет в кэше?

вроде не особо сложно будет и наружу никаких запросов торчать не будет? или хуйня?  :hmm:

ну тут имхо до первого сложного запроса орм будет норм  :trollface:


:buba:

ни мало ни много, а много и мало

Поделиться сообщением


Ссылка на сообщение

для мелких проектов нет смысла вопрос ставить даже, офк ормка

там просто не будет сложных запросов никогда, и нагрузки на базу, даже хуевая ормка типа EF подойдет

 

 

я ссал на ебало паттерну репозиторий

эта мифическая возможность слезть с одной ормки на другую в один клик, которая нахуй не нужна

зато этот репозиторий становится одним узким местом, где напиханы тысячи методов "достань вот ту хуйню", "достань вот ту хуйню но немного не так и параметр в предыдующую хуйню никак не добавить"

и фактически это просто помойка которая убирает всю пользу ормок и дает только один вменяемый плюс - ее можно легко замокать


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение

нихуя тут какая война из-за хэшмапы

своя орм офк

ты че ебанулся вручную запросы писать

90% времени там примитивные джоины которые надо по объектам разложить

удачи потом что-то порефакторить с склкой строками

ps а что если запилить интерфейс репозитрия, и сделать 2 имплементации - одна для вынимания из базы, другая типо cache и декоратором внутри cache имплементации вызывать базу если объекта нет в кэше?

вроде не особо сложно будет и наружу никаких запросов торчать не будет? или хуйня?  :hmm:

да это дефолт реализация кэшированного доступа к базе

проблема не в том как это написать по классам

в кешах проблема как когда и почему инвалидировать значения


 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...