• Как определить похожесть двух строк?

    ruFelix
    @ruFelix
    xmoonlight: Одно и тоже будет в самом простом случае, когда есть только одна метрика сравнения, т.е. будет только один проход. Но даже это утверждение спорно при наличии индекса, т.е. индекс это множество, но служит для оптимизации только одного типа сравнений.

    У меня на таких задачах получается 5-10 проходов из них половина для расчёта релевантности, половина для подготовки данных для индекса и/или "нормализации" поискового запроса.
  • Компрессия картинок на вашем сайте. Как реализовать?

    ruFelix
    @ruFelix
    Григорий Васильков: в пхп через php.net/gd
    если есть консоль и операция разовая, то через Image Magic.
    удаляйте мету у всех, у jpeg проверяйте качество, с палитрами в гифах и битностью в пнг в вашем случае заморачиваться не нужно.

    кешировать или нет решайте сами, исходные лучше хранить всегда.
  • Серверные языки - как не запутаться и что изучить?

    ruFelix
    @ruFelix
    Deerenaros: Я понял, вы пришли в программирование уже после повального веба, раньше в было популярно реализовывать "Клиент-Серверную архитектуру" (сейчас ещё популярней но термин активно не используют из за слишком широкого понятия), и соответственно программисты идентифицировали себя и языки как клиентские и серверные. Вы можете отследить этот момент на примере JS, раньше его описание начиналось со слов "клиентский язык", а когда у ребят из ноды наконец то получилось, то начали говорить, что они сделали серверный JS.

    Про ssh и удалённость, так наверное можно сказать если воспринимать сервер как железо. Но сервер это всё таки в первую очередь элемент архитектуры сетевого приложения, например в том же openssh. В противовес им писали standalone приложения. Уже совсем забытый термин, т.к. последних уже почти не пишут, такая сетевая архитектура приложений стала нишевой и часто называется distributed. Понять разницу архитектуры можно на примере SVN и GIT.

    И да, ФП рушит часть моих утверждений, но оно слишком уж нишевое, и поэтому не подразумевалось в изначальном ответе. Массового рынка вакансий просто нет, поиск junior позиции с ростом до senior это вопрос большой удачи, а не времени. Соответственно я не вижу никакого смысла затягивать ФП в комментарии.
  • Серверные языки - как не запутаться и что изучить?

    ruFelix
    @ruFelix
    Deerenaros: это di23 говорит, что на шапре дольше в десятки раз, т.е. минимум в 20. Мне самому интересно, что за задачи такие. Я думаю, что на средних по объёму проектах, там +/- одинаково.

    ФП я не обсуждаю потому, что оно не имеет отношения к моему ответу автору. БНФ академичен, вы хотите обсуждать варианты описания грамматик, я не хочу.
  • Серверные языки - как не запутаться и что изучить?

    ruFelix
    @ruFelix
    di23: Слушайте но год против 20 лет это реально много, я хочу что бы вы больше людей уберегли от шапра, не останавливайтесь не мне.

    Не надо, я всё сразу сказал. Если синтаксис языка не позволяет делать что то, то этого сделать нельзя. Если синтаксис языка поддаётся расширению средствами синтаксиса, то это опять же заслуга изначального синтаксиса. Всё остальное пустая полемика.
  • Где взять SIM-карту для GPS-трекера, работающую по всему миру?

    ruFelix
    @ruFelix
    Я вам не зря про полтора года назад написал этот тариф был дешевле раза в два три. Доллар же того...

    Глобальные есть конечно, я просто сказал, что нам они экономически не подошли.
    Гуглите (в гугле) что то типа "internet sim international" добавляя GPS и М2М (это симки заточенные под навигаторы работают и в жару и в стужу, у наших они тоже есть)

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

    ruFelix
    @ruFelix
    di23: А вы прям на этом сайте спросите у дотнечиков почему у них разработка сайта X занимает минимуму в 20 раз больше, чем на руби или питоне. Это же месяц против 20 месяцев или год против 20 лет. Мне прям очень интересно, что за задачи такие на которых у шапра такие генетические дефекты.

    ФП и не надо упоминать, автору вопроса оно или ещё рано или уже поздно.

    Про координатно разные способы решения типовых задач в современных фреймворках для разработки сайтов, я вежливо промолчу.

    Илья Панков: я чувствую вы тут больше всех угораете.
  • Серверные языки - как не запутаться и что изучить?

    ruFelix
    @ruFelix
    Deerenaros: грамматика ЯП это не "похожая типизация", это банальный БНФ. Если бы вы это осилили вы бы не пороли эту чушь.
  • Где взять SIM-карту для GPS-трекера, работающую по всему миру?

    ruFelix
    @ruFelix
    paralet: Там не на всех тарифах или опциях было 100 на каких то 1к но это по другим проектам помню.
    А так, думаю у нас не было проблем с округлением потому мы исторически мы используем для координат сокеты в этом случае сессия сама по себе не прекращается.
  • Серверные языки - как не запутаться и что изучить?

    ruFelix
    @ruFelix
    di23: Я всё правильное ему посоветовал, на всех названных им языках, решения 95% задач при написание веб серверов будут выглядеть одинаково, объектам будут давать одинаковые имена, писать функции с одинаковыми названиями и параметрами и вызывать их будут в одинаковых последовательностях и т.п.

    Вы о ЯП разговариваете путём каких то не уместных аналогий, Deerenaros советует стать автору фрезеровщиком. Зачем вы вообще тут?
  • Чем отличаются языки программирования PHP, PYTHON, RUBY?

    ruFelix
    @ruFelix
    Cyrax2014: Онлайн банк будут скорее писать на том же, что уже используют сами или используют другие, это узкая область и наработки для банков есть не на всех языках.

    А вот сотц сеть не обременена ни чем и тут высока вероятность, что выберут то, что удобнее техническому директору и не важно будет он внутри самой компании или внутри компании подрядчика.
  • Серверные языки - как не запутаться и что изучить?

    ruFelix
    @ruFelix
    di23: 1) не выдёргивайте пол фразы, я привёл абстрактный пример почему люди начинают создавать новые языки.
    2) Вы в под каким то углом взгляда вы видимо правы. Но я трактую с точки зрения разработки языка. Сначала я придумаю свойства языка который хочу реализовать, потом записываю их в виде набора грамматик, по этим грамматика строю например синтаксическое дерево, и только потом всё остальное. Т.е. синтаксис это первый практический результат в этапах разработки языка, и этот же синтаксис в первую очередь описывается в документации языка для конечных пользователей. Потому что автор языка формализует возможности языка для конечный пользователей путём описания синтаксиса.

    Если бы вы сказали сказали, что например в тот же JS кроме самого языка входят и встроенные объекты написанные на нём же, и без них понять этот язык не возможно, то можно было бы продолжить эту дискуссию, а так простите, скучно.
  • Серверные языки - как не запутаться и что изучить?

    ruFelix
    @ruFelix
    di23: Причём тут JS и ООП, вы парируете то, что не понимаете. В JS для записи объектов есть синтаксические конструкции которые собственно и позволяют с ними работать. Эти конструкции и есть часть его синтаксиса.

    Не фантазируйте, почитайте про компиляторы/трансляторы где то в районе описания грамматик, там всё объяснят.
  • Серверные языки - как не запутаться и что изучить?

    ruFelix
    @ruFelix
    Cyrax2014: Так получилось из за того, что лицензии на windows server, sql server, да и до недавнего времени лицензия на visual studio стоил вполне конкретных денег выкидывать на старте которые особо желания нет.
    На стеке от MS тоже делают стартапы, но их заметно меньше.
  • Серверные языки - как не запутаться и что изучить?

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

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

    ruFelix
    @ruFelix
    Илья Панков: не нужно смешивать, из знания фремворка не вытекает отличное знание языка. А из знания языка не вытекает владение фремворком.
    Я не так давно нанимал frontend разработчика на fullstack, т.к. мне отдельного FE регулярно загружать не чем. Поэтому мне проще было взять его, что бы развивался в backend, чем заставить BE писать js и возиться с вёрсткой. Я думаю, что моя ситуация не уникальна, и она достаточно типична для команд делающих один сайт. Поищите такую команду и освойте то, что они используют. Это самый надёжный путь.
  • Серверные языки - как не запутаться и что изучить?

    ruFelix
    @ruFelix
    Deerenaros: У вас слишком буйная фантазия и не по делу. Лет 10-15 назад под языками общего назначения понимали те на которых можно писать всё от гуёвого софта до драйверов, в противовес им приводили например VisualBasic. Сейчас же взаимодействие с железом напрямую стало редкой узкоспециализированной задачей, и например Java стали считать языком общего назначения, что не так давно выглядело бы странным.

    Под серверными языками в первую очередь понимают языки которые из коробки заточены под написание серверов и на которых ничего толком кроме серверов не пишут это например: go, node.js, erlange, php. В более широком смысле сюда относят языки на которых после некоторых манипуляций можно так же решать те же задачи, например python, java, c/c++.

    О распространенности "bash через ssh" для написания серверов мне ничего не известно. Поэтому к сожалению не смогу продолжить эту дискуссию.
  • Как определить похожесть двух строк?

    ruFelix
    @ruFelix
    Артур: да нет, вы просто сначала индексируете данные:
    lucene.apache.org/core/5_4_1/core/org/apache/lucen...
    sphinxsearch.com/docs/latest/indexing.html

    А потом обращаетесь на языке запросов данной библиотеки:
    sphinxsearch.com/docs/latest/searching.html
    lucene.apache.org/core/5_4_1/core/org/apache/lucen...

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

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

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

    Вам не стоит закапываться в реализации самих алгоритмов, вы просто берёте популярный поисковый движёк, например sphinxsearch (это отдельное приложение) или lucene (библиотека на java) строите в нём поисковый индекс, дальше просто будете экспериментировать с разными типами поисковых запросов пока не добьётесь результата. Я полагаю у вас сходу точность должна быть около 90%

    Что бы была ближе к 100%, и лучше с исправлением ошибок и опечаток можно экспериментировать с N-граммамми, частотностью букв и слогов в языке, получая дополнительные варианты фразы от той строки, что будете искать по списку. А можно просто тупо дёрнуть spellcheker для получения тех же вариантов.
    Вы когда попробуете готовый поисковый движок, посмотрите результат, у вас уже будут конкретные вопросы на которые будет легко найти ответы. Не копайте в глубь сейчас, просто пробуйте.