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

Достижения

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

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

Все теги (104)

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

Все ответы (149)
  • Как объяснить человеку, что ему нужно знать язык досконально?

    @InoMono
    Вы ошибаетесь:
    Досканально знать язык не нужно. Хорошо в нем ориентироватся - да. На остальное - есть справочники. Тебе нужно ориентироваться, чтобы знать где именно искать.

    Вторая ваша ошибка:
    Говнокодерство к уровню знания языка отношения не имеет.
    Да, самое никакующее знание языка будет давать говнокодерство.
    Но при этом и самое отличное знание языка от говнокодерства ничуть тебя не гарантирует.

    Не говнокодить - это знать методологии/паттерны/приемы, а не язык. И грамотно и уместно применять их - а это вообще не знания даже, а навыки.

    Более того: с отличной практикой по методологиям/паттернам/приемам - у вам больше шансов не говнокодить даже на начальном этапе изучения языка, пока вы его едва-едва знаете.

    Чтобы не быть г*внокодером


    Кроме отрицательной эмоциональной окраски - что тут такого.
    Даже выдающиеся программисты говнокодят, если проект одноразовый или сроки жмут.
    Это нормально.

    Другое дело, что есть и такие которые всегда говнокодят и иначе не могут.
    Ответ написан
    30 комментариев
  • Зачем делают backend на разных языках?

    @InoMono
    Возьмем например Дропбокс.

    Изначально был написан на Python - это быстрее для прототипирования.
    Потом был переделан на Go - для предсказуемости и скорости. Но зачем переделывать полностью? Многие куски на Python существуют там до сих пор. И работают.
    И маааалюсенький кусочек был переделан на Rust - для ускорения самого узкого места.

    Вот вам и 3 языка работающих одновременно в Дропбоксе на бэке.

    Или имеется в данный момент свободен тот или иной специалист, который лучше знает тот или иной язык. Ему поручили - он сделал на том, что лучше знает, чтобы сделать быстрее и качественнее.

    Или такова была особенность задачи. Пример с комбинацей Rust/Go выше приведен. Где то может быть лучше один язык, где то другой.

    А если мы вспомним, что проект не только пишется, а еще и готовые компоненты применяются - то автоматически к любому почти проекту добавляются С/С++ те что в БД к примеру и пр. и пр. SQL - тоже язык бэкенда. И пр. и пр.

    Вы преувеличивайте значение языка. Это всего лишь инструмент программиста. Такой же как клавиатура. Опытный программист за долгие годы изучает не меньше десятка языков, а кто то и намного больше. Ничего такого в этом нет.
    Ответ написан
    Комментировать
  • БД для хранения сообщений чата, какую выбрать?

    @InoMono
    Вполне себе любая развитая современная РСУБД годится для этой задачи.
    MySQL, PostgreSQL...

    А по мере роста нагрузки - тут не выбором СУБД нужно заморачиваться, а MQ-сервер ставить. Он гораздо легче сравиться с бешенными нагрузками.

    Как вариант - Queue на базе Tarantool, например. Я даже не знаю что вы там должны такое сделать, чтобы заткнуть его производительность. При условии того, что на сервере достаточно много оперативной памяти.

    Из самого критично подозрительного - полнотекстовый поиск.
    Впрочем, полагаю, что полнотекстового поиска средствами MySQL или PostgreSQL вплоне хватит.

    Если уж делать прям таки серьезный чат типа Slack, то для полнотекстового поиска я бы вообще отдельную специализированную БД держал бы. Например, SphinxSearch.

    Но, для начала, возможностей PostgreSQL или MySQL будет вполне достаточно.

    Что до Mongo... Если вам не нужна репликация без консистентности. Зато быстрая...
    Так вот если вам не нужна такая репликация, то Монга вам не нужна.

    РСУБД будут существенно быстрее.

    Вот ежели вы планируете заводить ваш чат в кластер, когда одного сервера вам не хватит, то тут да, тут РСУБД не лучший выбор. Тут бы я рекомендовал как раз Монгу.
    Но опять таки кластер серверов для чата вы без MQ не сделайте.

    Вывод:

    Начните с обычной РСУБД.
    Как начнутся затыки - рассмотрите MQ
    Как начнется рост до масштаба планеты - рассматрите Монгу.

    Вся система работает с бд MySQL - InnoDB, сообщения пишутся в бд при каждой отправке (INSERT), пока сервис еще не запущен, сообщений мало (только мои тестовые) все работает шустро, но вот когда запущу и количество сообщений перевалит за несколько миллионов, что будет тогда с моей бд? Начнутся жесткие тормоза при select и insert?


    Вам никто не мешает это проверить.
    Сгенерируйте миллион случайных сообщений.

    При грамотном использовании индексов - ровным счетом никаких проблем ни на миллионах ни на миллиардах записей.
    Ответ написан
    15 комментариев
  • Как найти профессионала в заданной области?

    @InoMono
    Ровно так же как бы вы искали и любого другого хорошего специалиста по области в которой не знакомы: врача, маляра, фотографа, менеджера по продажам, рекламщика, парикмахера, организатора праздников...

    1. Ткунть в первого попавшегося. Найденого на ХХ, фрилансе и пр.
    2. Попросить рекомендовать спеца у людей которым вы доверяете.
    3. Смешать 1 и 2 - попросить рекомендаций у анонимов на разных форумах, например, здесь.
    4. Войти в тусовку (например, криптографическая конференция), познакомится с нужными людьми.

    и пр. - ну ровно ничем не отличается от других профессий.

    Подавляющее большинство людей в течение всей жизни только это и делают.
    Ну а представьте себе директора даже не крупного, а среднего предприятия - ну вот откуда он может знать что нанимаемый им работник является профи, ведь директор не мелкого предприятия не может разбираться во всех нюансах своей конторы.
    Ответ написан
    Комментировать
  • Как повысить шансы на получение инвестиций стартапу, который не может начать работу без них?

    @InoMono
    Идея не стоит ничего.

    Стоит только реализация идеи конкретным человеком/командой.


    Если инвестор дает "под голую идею" - нужно бежать от такого "инвестора", он не профи, и только проблем тебе добавит. Например, откажется финансировать очередной этап и потребует деньги назад. Это не поведение инвестора.

    Повышение вероятности получения инвестиций очень простое:

    На начальном этапе ты вкладываешься сам.
    Продай машину, квартиру, возьми кредит, накопи за пару лет - и финансируй сам начальную стадию проекта.

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

    И будет прав.
    Профессиональные инвесторы крайне часто сталкиваются с фантазерами/мечтателями, криворуками и просто жуликами, которые говорят так: вот идея, дай мне денег, без денег её реализовать невозможно, деньги мне нужны для того чтобы нанять того кто реализует идею. Возникает закономерный вопрос - а зачем в этой схеме ты, о основатель, жаждущий инвестиций?
    Ответ написан
    Комментировать