Ответы пользователя по тегу Программирование
  • Почему не работает регулярка?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    "~regexp~iu" - нужно добавить модификатор u это значит utf8.
    и соответственно проверить, что исходник и приходящая на проверку строка в utf8
    Ответ написан
    Комментировать
  • Суть виртуальной машины Java?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    Ну смотрите процессор компьютера понимает опкоды, для разных процессоров свои опкоды, x86 , AMD64, ARM и т.д.

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

    Интерпретируемые языки поступают иначе, они имеют в своём составе интерпретатор, который транслирует код программы в опкоды процессора. Соответственно реализовав один раз интерпретатор по разные платформы мы получаем кроссплатформенный язык.

    Виртуальня машина java это тоже интерпретатор по сути, но ему на вход идёт не сама java программа, а её трансформированный вариант, т.е. уже проверенный и более удобный для VM.

    Да вы всё правильно поняли, без JVM программа на java не запуститься не где. Замечу что например в симкарте вашего телефона есть процессор на котором запущена JVM и софт который на ней исполняется, это я к тому, что кроссплатформенность у java действительно широка.
    Ответ написан
    Комментировать
  • Почему не получается определить количество результатов в запросе к mysql на php?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    1) Сомневаюсь, что вы используете mysql 3-ей версии, а ведь исключительно для поддержки совместимости с этим старым хламом расширение mysql ещё есть в некоторых не свежих версиях пхп. А так оно устарело в районе 5-10 лет, используйте mysqli.
    2) у вас расхождение в вопросе, в скрипте вы смотрите количество строк в ответе, а при при выполнении запроса руками смотрите на результат. Тёплое с мягким не находите?

    3) Ваша проблема в кодировках, а правильный вопрос почему не ищет кириллицу. Ваша проблема скорее всего в неверном character set и collotion на стороне mysql, которые могут быть выставлены на уровне сервера, бд, таблицы и поля (если не определено внизу, то берётся значение сверху). И ещё более вероятно, что вы залили или пишете utf дамп/данные в базу которой кодировка latin или cp1251 (они обе совпадают с utf8 в части латиницы) в этом случае на клиенте всё как бы ок, а кириллицу mysql не понимает.
    Ответ написан
    Комментировать
  • Как отследить вызов метода объекта PHP?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    Неужели единственный способ - это в каждое объявление функции прописывать static::createInstance()

    Можно написать класс обёртку, но зачем?
    Если вам для двух статичных методов нужен одинаковый конструктор, то вывод напрашивается сам собой, вам не нужны статичные методы.

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

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    Для этого пишут расширения для браузеров. Или сервисы счётчиков или каких нибудь social button и т.п.
    Соответственно в распространение такого счётчика вливают много денег.
    Путей без много денег нет.
    Ответ написан
    Комментировать
  • Как определить похожесть двух строк?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    Не, вы не то просите. Похожесть строк это когда две строки.
    А вы будете брать одно строку из одного множества, и ранжировать(сортировать) по релевантности к ней второе множество.
    Т.е. у вас строка и множество строк это не тоже самое, что две строки.

    Возьмите сфинкс, вы там получите несколько типов(алгоритмов) совпадений и подбирая коэффициенты придумаете формулу для ранжирования.

    Индексация нужна, что всё тормозило один раз при индексации, а не при поиске каждого совпадения.
    Ответ написан
    22 комментария
  • Какой список литературы для структурированного изучения программирования?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    Я думаю надо начать с базовых вещей на которых базируется программирование:
    1. Дискретная математика базовые понятия
    2. Теория графов
    3. Теория конечных автоматов
    4. Теория кодирования
    5. Баллистика
    6. Теория надёжности
    7. Теория массового обслуживания

    С книгами не подскажу, дело в том, что объёмность достаточного материала каждой теме это скорее брошюра чем книга. Я думаю стоит искать не книги, а методические пособия для вузов по этим темам. В приведённом списке сохранена разумная последовательность. Вот например по первым трём пунктам сходу нагуглил - это неплохо но можно найти изложение и получше.
    Тут приятно, что все пункты кроме первого, можете сразу рассматривать через призму разработки игр.

    Ну и само базовое программирование:
    Турбо Ассемблер Тома Свана - для понимания как всё работает на самом деле (в практическую часть книги можно( и наверное не нужно) сильно не лезть, теоретическая часть достаточно хороша)
    "Язык С" Керниган, Ричи - для понимания на каких базовых структурах и типах строятся современные ЯП и чего им это стоит.

    Я полагаю, что в это всё стоит поражаться до того момента пока не придёт понимание, что в высокоуровневых языках и средах вы всё равно оперируете базовой математикой и базовыми структурами/типами данных. Т.е. всякие парадигмы, паттерны и т.п. включая языки, после после некоторой практики начнёте рассматривать исключительно как инструменты которые при необходимости можно освоить и использовать.

    По алгоритмам: "алгоритмы построение и анализ" Кормена. Кнута мне кажется никто не осилил.
    Ответ написан
    3 комментария
  • Как обеспечить непротиворечивость данных в клиент серверном приложении?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    В общем случае:
    Если клиенту нужно отправить данные для обработки и показать уже обработанные данные то очевидно их стоит вернуть.
    Если клиенту не нужны данные, а нужно только совершить какое то действие, то он отправляет данные необходимые для этого действия и в ответ получает только статус.

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

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    Самый понятный подход такой:
    вы резервируете для клиента например 8 часов в месяц, по цене в 2-3 раза больше чем ваша часовая ставка. Если он их не израсходовал то они сгорают. Если эти часы расходуются то идёт доплата, которая опять же выше вашей почасовой ставки.

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

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

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    N-граммы, потом статистика опечаток и ошибок, потом корректировка через анализ поведения пользователя в выдаче и на сайтах на которые он перешёл.

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

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    Вы будете читать алгоритмы или на каком то языке программирования, или на каком то псевдо языке. Вы можете пробовать разобраться со всем как Ада Лавлейс, но оно того не стоит. Базовые операции во всех языках одинаковы if, else, while, for... и что бы понимать алгоритмы на новом языке учить его не нужно.

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

    Си (без плюсов) я думаю до сих пор является лучшим языком для обучения. После него будет просто изучить любое количество популярных языков программирования.
    Ответ написан
    Комментировать
  • сколько стоит разработка видеохостинга

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    пункты с 1 по 4 в том аскетичном виде как они написаны в вилке 2000-5000$

    пункт 5 сильно плавает от нескольких сотен долларов в месяц на инфраструктуру до нескольких сотен тысяч, прямая зависимость от количества видео роликов, объёма месячного трафика, количества пользователей в пике помноженных на риски простоя упавших каналов и упавших серверов.

    Как человек выпустивший 7 видео сервисов часто давал такой совет:
    Если ваше видео нужно только для поддержания вашего бизнеса используйте
    vimeo.com/business
    Если вы хороший производитель контента и хотите на нём зарабатывать идите
    в www.xdigital.ru они бесплатно дадут инфраструктуру и сами найдут клиентов и подадут рекламу, с вас только сайт.
    Ответ написан
    Комментировать