Pull to refresh
2
0
malvina8 @malvina8

User

Send message

Написал чисто из альтруистических соображений.

Так как в разговоре с друзьями из разных сферах ИТ, выяснилось что они об этом не знали.

Смешали ограничения накладываем на разработку с отображением объектов на БД в одну кучу. Ужас!
Читал читал и дочитал. А толку?
Ну работал человек тестировщиком, потом за прилежность повысили и стал чуть чуть кодить ну и тесты уже не ручками а кодом реализовывать. Судя по всему человек общительный и голосистый(вон сколько выплеснул), ну а значит опять повысили теперь он модный девопс. Ну а профит то в чем? Как была в голове каша так и осталась. Как поддержкой занимался так и занимается. А леса за деревьями так и не увидел.
А если по теме статьи, то все можно было уложить в три предложений:
1) Стоимость тестов — самый дешевый(быстрый) это компилятор! а не юнит. Второй…
2) Мониторить продакше это хорошо и чем больше у вас метрик тем лучше.
3) Тесты и в частности ТДД это не только про то что метод работает так как задумывалось, это еще и про многие ограничения накладываем на разработчиков приводящие к удешевлению(сокращение времени разработки и поддержания), доки, примеры,…
Интересно мнение людей руководящих проектами представляющими что то большее чем (95 % операций чтение из базы, и 5 % инсерт в базу )
Откуда столько злобы и ненависти. Смею предположить вас частенько увольняют. А если это было не один раз может стоит сесть и подумать, вдруг проблема не внешняя.
А ты оказывается звезда =)
Поясните пожалуйста если IMDG это key-value решение то причем тут вообще реляционная db?
А вообще мне пост очень понравился, лучшее что я ДЛЯ СЕБЯ нашел за последнее время на хабре.
Огромный вам респект ( картинки формулы графики — красота ).
Ух. Думаю каждый останется пока при своем.
Я с кучей схожих объектов от разных источников(импортеров — поставщиков) линкующихся в один материнский наш.
А вы с чем?
Смысл каждого шага в том что он дешевле чем следующий.
Сравнить слова по длине значительно дешевле чем с помощью метода n-грамм (Поиск начинает работать быстрее).

По поводу кода я уже писал что не считаю целесообразным выкладывать его щас!
Из ваших ответов следует что код вам нужен для решения срочной насущной задачи, не вопрос найдите еще десяток человек которым он нужен, и я выпилю из паровоза самолет, в самые кратчайшие сроки. Чтобы на нем могли ездить не только вы но и все остальные не вникая в реализацию и не спотыкаясь на камнях.
1.
Норма — функция вводимая на некотором множестве или пространстве. Можно ввести норму равную сумме int ( буква слова), можно добавить коэффициенты от позиции буквы в слове, а также поиграться с частотой появления буквы (в зависимости от специфики исходных данных)
Не забываем о том что все слово-формы можно приводить к одному виду (маленькие буквы, вырезая ё й… )

2.
я кажется не понял вопроса, но отвечу как понял. У вас есть на выходе множество слов к нему и применяете «метод n-грамм» так как его размер уже не столь велик — он отработает значительно быстрее.
У вас есть словарь, у каждого слова есть предварительно вычисленные значения (длины, нормы, битовой маски,… )
вычисляем допустимые значения длины, нормы,… и отсеиваем все не соответствующие. (простое быстрое сравнение больше меньше)
в моем случает отсеивает порядок а то и 2.
затем смотрим битовую маску и вычисляем расстояние Хемминга, нам удовлетворяют только те для которых расстояние меньше заданного.
множество уменьшилось еще значительнее.
теперь уже используем метод N-грамм, на сильно сокращенном множестве.

Рабочее решение реализовано в админке, для поиска соответствий объектов от разных поставщиков(крайней кустарно). В подсказках(поиска — необходимы веса и т д ) на проекте и отдельной либе не реализовано, (времени увы нехватило). Но если найдутся N-ое количество страждущих, то возьму себя в руки, допишу и выложу.
Последовательность применения алгоритмов сделана для уменьшения выборки на каждом последующем шаге. Чтобы те алгоритмы которые требуют расчетов работали с меньшим множеством. А соответственно скорость увеличивается.
Есть маленькое дополнение, которое работает на 200000 словаре за доли секунд.
Вводите последовательность норм! Лучше взаимно исключающих.
Применяя несколько алгоритмов последовательно.
Ex:
ищу: «амплитуда» длина 9
количество допустимых ошибок 2 (задайте его параметром и поиграйтесь может на ваших словарях оно будет другим)

сначала отсекаю все слова с длиной не равной 9 +-2 (7,8,9,10,11)
затем отсекаю по норме(тоже самое с шагом 2) (за норму можно и Евклидову взять)
затем «Хеширование по сигнатуре» (2 ошибки)
финальный результат сортирую и отсекаю по «Метод N-грамм» лучше применить последовательно допустим от 2 до 4 (для большей релевантности)

результат радует не только глаз )

P.s. Из практики при количестве ошибок больше 2 результаты не очень, много мусора.
Надо не забывать что эффективная команда не возможна без сильного руководителя. А то получится как в басне лебедь рак и щука. Из этого и личного опыта есть еще один вывод, не советаю брать друзей в команду. Интересно услыщать мнение тех укого в команеде не один и не два человека…
Два вопроса:
Вся конференция была затеяна ради того чтобы казать новую инкарнацию мем кеша на сервере с УПС?
И может кто нить привести пример где это использует?
не путайте кино и реальную жизнь:
Тайлер щас трахает Анжелину джоли,
а мы ебемся на работе ради поездки в горы на море и т д…
Извените картинка не отобразилась =(
life.team22.ru/pic/news/i_n_b_184881.jpg
Интересно это как то связано, с нововведениями?
Вот спасибо, и за что же минусанули?
1

Information

Rating
Does not participate
Registered
Activity