Задать вопрос
Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (1)

Наибольший вклад в теги

Все теги (11)

Лучшие ответы пользователя

Все ответы (9)
  • Какой смысл использования node.js и прочего для backend?

    @mamokino
    Какой смысл использования node.js и прочего для backend на фрилансе, если все заказчики, в основном, просят натяжку на CMS, где нужно понимание php.


    ???

    Мои "все заказчики" - просят разработать заказное решение (не CMS) и совершенно не интересуются на каком инструменте я буду это делать (я вообще на Go делаю бэкенд, а на Dart фронтенд).

    опять же, для фриланса, на каком уровне нужно знать backend?


    В дешевом сегменте вам нужно знать все.
    В дорогом сегменте - узкая специализация очень полезна.
    Ответ написан
  • Какую БД выбрать для хранения "членства в группах" соцсети?

    @mamokino
    И Контакт так легко отдает вам 20 миллионов? И никаких лимитов на скорость/частоту не ставит? Удивительно.

    Тут дело не в БД, а в умении ее использовать.
    Годится и Key-value типа Tarantool и реляционные типа MySQL и документарные типа MongoDB.

    Если всенепременно хочется считать средствами СУБД, то я бы взял реляционную. С ней будет вполне себе удобно (функции агрегирования/группировки с подчетом сумм довольно шустры; нужно только не забыть создать индексы по группируемым полям, в данном случае это по group_id и по date) только, возможно, что скорость записи не устроит - тогда нужно будет использовать bulk load/bulk insert при вставке. Чтобы не напрягать базу данных каждый раз на эти подсчеты, то по итогам дня записывать подсчитанные суммы в другую таблицу со структурой (date, group_id, count).

    Но более правильное решение, если вам действительно крайне важна скорость - вообще реализовать этот подсчет в оперативной памяти сервера без какой-либо СУБД, это несложная задача. А объемов современных серверов хватит за глаза, чтобы это все в памяти хранить. Скорость будет просто фантастической.

    Ведь если подумать, то вообще можно считать нужную вам сумму непосредственно сразу после получения ответа от VK API - для этого нужно держать на сервере в оперативке всего-навсего массив/хэш-таблицу размером в 10 000 элементов. Это ерунда, а не размер.

    БД тут будет нужна только для сохранения итоговых рассчитанных цифр. Это будет та самая выше описанная таблица со структурой (data, group_id, count)

    Саму хэш-таблицу даже и программировать не нужно. Это наипопулярнейшая структура данных. Она или уже встроена в стандартную библиотеку вашего языка программирования. Или для вашего языка программирования уже имеется несколько сторонних библиотек с готовой реализацией. В разных языках она называется по другому, вы можете найти ее под именами: коллекциея, мэп, ассоциативный массив и т.д.
    Ответ написан
    Комментировать
  • Есть ли готовые Python библиотеки для определения похожести строк?

    @mamokino
    К упомянутым здесь fuzzywuzzy и расстоянию Левенштейна еще нужен модуль с алгоритмом стемминга, например, Snowball Stemmer (есть и под Python, есть и под русский).

    Но он только для окончаний слов, не для приставок, как в вашем примере.
    Ответ написан
    Комментировать
  • Что нужно делать будущему java разработчику?

    @mamokino
    Представьте, что вам сейчас 16 лет. На дворе лето, все экзамены сданы, с учёбой вообщем нет проблем. Чем вы занимались ближайшие пару лет, если знаете, что хотите стать java девелопером? Какие бы вы изучали материалы и какие навыки тренировали(слепая печать, английский и т.п.)?


    Я бы выбрал велосипед, друзья, пиво (не рекомендую), девчонки.

    Слепая печать при должной усидчивости за 2 недели осваивается (на русском и на английском). При неусидчивости - за 2 месяца. Рекомендую "Соло на клавиатуре" начать. А потом перейти на VerseQ

    Английский нужно учить ежедневно, хоть понемногу, но ежедневно.

    И регулярная практика в программировании на любом универсальном языке программирования (Pascal, Go, Python, C#, C, C++, JavaScript, Dart, TypeScript, Kotlin, Java, Ruby). Общие принципы там все равно сходные. Сложно изучить алгоритмы/парадигмы/паттерны, но они из языка в язык повторяются. А язык выучить просто (скажем, очередной язык программирования, Go, я выучил за неделю).
    Ответ написан
    Комментировать
  • Нужно ли договариваться с автором о переводе его статьи на английский?

    @mamokino
    Конечно нужно согласовывать.
    Никто не отказывает на практике.
    Ответ написан
    Комментировать