Задать вопрос
Контакты

Достижения

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

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

Все теги (30)

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

Все ответы (41)
  • Как можно узнать свой уровень в конкретном ЯП?

    @mik222
    Что то полезное сделать можете?
    А так чтобы в этом можно было потом разобраться через пол года?
    А чтобы была возможность расширяемости?
    И минимальный набор багов?
    А если это что-то новое(алгоритм хитрый из academic paper)?
    Разобраться за вменяемое время в незнакомой области сможете?
    ===================
    Если на все ответы ответ да, то вы знаете достаточно для коммерческой разработки.
    Confidence: 86%
    Ответ написан
    5 комментариев
  • Парсим/грабим веб-страницы без мусора?

    @mik222
    Эта задача называется data region mining и является довольно хитрой проблемой, т.к. верстка может быть везде разной, а вы решаете задачу поиска основного контента на сайте(т.е. обрезать рекламу, навигационные блоки, левые вставки, спрятанный контент и прочее)
    Вот вам на вскидку алгоритм:
    1. Для каждой html ноды в дереве, вычислить её площадь(рендерите через phantom.js и вычисляете площадь через Element.getBoundingClientRect())
    2. Удаляете все, что меньше средней площади на этом уровне. (Вычищаем не имеющие значения блоки)
    3. Спускаетесь вниз на один уровень и повторяете алгоритм


    В результате получите набор текстовых блоков, которые имеют максимальный объем на странице.

    Вам нужно будет эмпирически до настроить алгоритм под ваш use case:
    Например, если перед вами регион с большим количеством текстовых блоков, то достать текст из всех дочерних и уложить в регион(таким образом мы избегаем вырезки bold italic текста).

    Дальше за вами стоит задача объединить эти регионы в статью/статьи(в случае с лентой).
    --------
    Существуют и более любопытные алгоритмы по вычислению попарной similarity между произвольными дочерними нодами с целью найти data region
    Но это вам нужно читать опубликовынные статьи на эту тему, например:
    dl.acm.org/citation.cfm?id=1060761
    Ответ написан
    Комментировать
  • На чем писать фронтенд легко и непринужденно?

    @mik222
    Языки:
    ClojureScript. Быстро просто и удобно.
    TypeScript. Если нужны типы и вы привязаны к семантике JS(В команде много JS разработчиков не готовых учить нормальные языки).
    ------
    Ractive.JS если вам нужна типичная(живая) страничка с большим количеством зависимостей от состояния.
    Плохая композабельность, однако прекрасно работает в модели серверного рендеринга(вам не придется учить новые концепты). Т.е. У вас есть шаблон(mustache). К нему применяется состояние, рендерится вьюшка.
    Плохая композабельность потому-что mustache в mustache вы не вложите так-же красиво как компоненты в реакте.
    -------
    React. Сильно продвигаемый и довольно удобный. Если используете React, то смотрите сюда https://react.parts/web
    очень много готовых компонентов
    -------
    Скажем так
    SPA: ClojureScript/React/TypeScript
    Оживленная страничка: es6/Ractive
    Ответ написан
    Комментировать
  • Где найти программу для построения компбинаций?

    @mik222
    Два цикла for
    Ответ написан
    Комментировать
  • Для чего нужен Docker?

    @mik222
    Сначало объясню на конкретном примере, а потом приведу архитектурное объяснение:
    ------------
    Например, вы разрабатываете некоторый гейт-аггрегатор четырех систем. Одна из них на WordPress, другая на Drupal третья самописная на Django и четветрая: реалтайм чат на Meteor.js и Mongo.
    ---------
    Проблема заключается еще и в том, что WordPress и Drupal требуют разных настроек PHP(или вообще разных их версий). А так-же разных настроек Apache/Nginx.
    ---------
    Вам также нужно легко переключатся между системами базами, и желательно, каждую из них держать в отдельной папке в сабфолдере проекта(и без абсолютных линков, чтобы можно было легко заменять подсистемы в других проектах)
    --------
    Чтобы крыша не потекла не у вас ни у компьютера, ни у человека который будет это деплоить нужна система которая позволит:
    • Инкапсулировать кишки каждого фреймворка/cms. Вот это не нормально.
      Это клиника. До создания докера люди этим честно занимались(часов 5 может уйти)
    • Иметь стандартизированный интерфейс, котрый будет
      • достаточно абстрактным чтобы уйти от конкретных деталей каждой платформы
      • достаточно конкретным, чтобы абстракции не текли, т.е. не приходилось городить костыли чтобы обойти неуместную абстракцию.

    • Иметь возможность композиции различных компонентов системы

    =========
    Штука в том, что у Докера это получилось. Это и вкусная система отзеркаливания системных портов/нужных папок, конфигурирование через переменные среды.
    По факту же, контейнер ставится за пять минут(4 из которых скачивается) и тут же на месте конфигурируется в понятном и удобном интерфейсе.
    ==========
    PS. Какой гений придумал html разметку в этом редакторе использовать. Это же неадекват, почему не markdown например.
    Ответ написан
    1 комментарий

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

Все вопросы (2)