• Что учить Angular или React новичку?

    uaKorona
    @uaKorona
    Front-End разработчик
    Angular 1 живее всех живых )) Также как и Jquery )
    Если тебе нужна работа - то быстрее будет освоить уровень джуна на angular 1 и смотреть в сторону версии 2.
    Ну да, и зарабатывать деньги )

    На ReactJS джунов, спрос или маленький или его вообще нет. Тут сразу все хотят минимум синьора.
    Но думаю и спецы по React-у/Redux оплачиваются лучше.
    И еще в отличие от angular 2 - это решение используется крупными компаниями:
    Facebook, AirBnb, Netflix

    А вот Google, который разработал angular - сам его не использует... )
    В заключении:

    Деньги ? -> Angular 1
    На перспективу ? -> React
    На очень далекую перспективу ? - Angular 2
    Ответ написан
    6 комментариев
  • Нормализация БД. Зло или добро?

    Видите ли в чем дело - нормализация это не столько для СУБД и не для приложения ее использующего. Это больше для вас, для разработчика (БД и/или приложения), и для целостности и согласованности данных.

    Безусловно, в продакшене идеальна та БД, структура которой позволяет выполнить наиболее частые (или тяжелые) запросы к БД максимально экономно с точки зрения аппаратных ресурсов (меньше чтений блоков с диска, меньше джоинов, наиболее эффективное использование индексов), и такая структура вовсе не обязательно должна быть в высокой нормальной форме. Однако, есть и другой вопрос - какая БД идеальна для вас, как для разработчика? Избыточность в базе - потенциал для ошибок. Если какую-либо информацию нужно обновить в двух местах (например, цену товара в чеке и общую стоимость заказа) - вы всегда имеете возможность где-то забыть это сделать.

    Именно по причине несовпадения двух структур БД: максимально нормализованной, удобной для разработчика/проектировщика, и оптимизированной для выполнения запросов - стандартный цикл проектирования БД включает в себя этап нормализации до опредленного уровня (хотя бы до 3нф), и последующей денормализации для ускорения конкретных запросов (также, как и построение необходимых индексов). Т.к. денормализация требует усложнения логики работы с базой (те самые обновления в нескольких местах), эту логику (чаще всего это хранимки или триггеры, реже - на стороне приложения) нужно реализовывать максимально аккуратно и формально. Это похоже на написание кода на высокоуровневом языке и последующая его компиляция под конкретную платформу с максимальными оптимизациями. Единственное важное отличие - особенности целевой платформы известны заранее, и компилятор, учитывающий эти особенности, можно написать один раз, а вот особенности работы БД в каждой задаче - свои, поэтому в каждом случае нужно проводить работу по оптимизации БД с нуля.

    Нужно отметить, что в современных системах денормализация схемы - не единственный и не всегда лучший способ повышения производительности. Кэширование часто используемых данных в каком-нибудь memcached - иногда проще и эффективнее, чем денормализация БД и поддержка ее согласованности.
    Ответ написан
    Комментировать
  • Что нужно знать помимо javascript для фриланса (в частности на oDesk)?

    "не знаком с некоторыми другими важными фреймворками\библиотеками мира js: angular, knockout, backbone, underscore etc."
    Вы точно уверены, что хорошо знаете js? Jquery и основы js займут от силы неделю, не называть же теперь всех, кто это знает специалистами.

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

    icelaba
    @icelaba
    Знаю и умею всё
    Для русского языка есть несколько вариантов часть из них только получение базовой формы, часть выдает помимо базовой формы еще и какая это часть речи:
    По пунктам от самого простого к сложному, и я не в курсе работают ли эти инструменты под windows, сам я использую osx и linux

    1) Инструменты стеммеры - stemmer, обрезают слово выдирая из него по некоторым правилам то что они принимают за - окончания, суффиксы, приставки.
    Лично мне очень нравится стеммер для русского языка из пакета https://github.com/NaturalNode/natural
    Тут простой код для понимания как работает стеммер https://github.com/NaturalNode/natural/blob/master...
    Достоинства стеммеров: очень быстрые, подходят для предварительного анализа в 100% случаев
    Недостатки: базовая словоформа периодами весьма далека от реальной базовой словоформы

    ==========================================================
    2) использовать aspell - линуксовый пакет для проверки орфографии
    пример echo ехала криса на велосипеде | aspell -a -d russian --sug-mode=ultra
    вывод:

    + ехать
    & криса 13 6: киса, риса, ириса, краса
    *
    + велосипед

    Достоинства: большой набор словарей, можно добавлять свои, есть suggestion mode - выдает похожие слова на слова написанные с ошибкой и/или отсутствующие в словаре см выше & криса 13 6: киса, риса, ириса, краса
    Недостатки: медленный, не говорит какая часть речи

    ======================================================
    3) Лучший в номинации TreeTagger www.cis.uni-muenchen.de/~schmid/tools/TreeTagger/#Linux

    пример: echo 'баба сеяла горох' | cmd/tree-tagger-russian
    вывод:
    баба Ncfsny
    сеяла Vmis-sfa-e
    горох Ncmsan

    разшифровка записей вида Ncfsny тут corpus.leeds.ac.uk/mocky/msd-ru.html
    то есть помимо того какая это часть речи и базовой словоформы эта штука еще и выдает кучу дополнительной информации - от падежей и до ....
    Достоинства: великолепен!, определяет часть речи даже если не имеет слова в словаре
    Недостатки: части речи то он определяет а вот с базовой словоформой невсегда, приходится использовать в паре с aspell или стеммером. Самый медленный.

    ========================================================
    Есть еще какие то продукты от яндекса https://company.yandex.ru/technologies/mystem/
    я не пользовался.

    Удачи!
    Ответ написан
    Комментировать