• Как реализовать базу данных с 100 000 000 (100 млн.) записей?

    begemot_sun
    @begemot_sun
    Программист в душе.
    Тут правильно говорят про LOAD DATA INFILE 'xxx' INTO TABLE 'xxx', только одна оговорка -- файл должен быть локальным по отношению к mysql-серверу.
    У меня была задача сгенерировать 80 млн записей 4кб текста (вырезанного из 100 Кб шаблонного текста).

    Я в своё время сделал так (т.к. php и mysql работал на одной машине):
    1. Сделал RAM-диск, и примонтировал его к ФС.
    2. На этот рам диск я писал нужные мне данные в CSV объемом где то 1 гб
    3. Загружал в mysql с помощью LOAD DATA ...

    Как показывали расчеты, если бы я это делал с помощью INSERT INTO то это продолжалось бы в районе 11 часов. Используя LOAD DATA я уложился в 40 мин. Причем сам по себе экспорт данных 1 Гб в mysql занимал порядка 10 сек, время генерации 1Гб файлика на php составляло порядка 3 минут, отсюда выводы --- берите LOAD DATA ... и готовьте с помощью него, вещь годная.
    Ответ написан
    1 комментарий
  • С чего начать разработку веб-приложения?

    begemot_sun
    @begemot_sun
    Программист в душе.
    Я прям не знаю что Вам ответить.
    Начните с себя. Неважно на чем вы будете писать и как, главное пишите.
    Как начнете писать, так через некоторое время поймете как лучше начинать и что делать, и потом уже начинайте "правильно" как сами захотите. Здесь вам никто не подскажет ответы на ваши вопросы.
    Ответ написан
    Комментировать
  • Работает ли яндексовская томита с английским?

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

    begemot_sun
    @begemot_sun
    Программист в душе.
    double paymentsCount = Math.log (1 / (1 - Im * 100 / Ap))/Math.log(1+Im)
    Ответ написан
    Комментировать
  • Ответственность за ошибку

    begemot_sun
    @begemot_sun
    Программист в душе.
    Почитайте ТК РФ.

    Статья 241. Пределы материальной ответственности работника

    [Трудовой кодекс РФ] [Глава 39] [Статья 241]
    За причиненный ущерб работник несет материальную ответственность в пределах своего среднего месячного заработка, если иное не предусмотрено настоящим Кодексом или иными федеральными законами.
    Ответ написан
    Комментировать
  • Сколько осталось жить php?

    begemot_sun
    @begemot_sun
    Программист в душе.
    Потом будет пенсия. Если Вы 6 лет работали с PHP и больше ничего не трогали, не знаете, не развивались - то я вам могу только посочувствовать.

    Важен не сам по себе язык. Язык - это инструмент которым вы решаете текущие задачи. Что касается, PHP или чего-то другого -- безусловно гарантировать актуальность данной технологии через 20 лет никто не будет. Но думаю в ближайшие 5-8 лет PHP останется там где он есть - в вебе. Ему в конкуренты придут новые языки, и потеснят его. Соответственно спрос будет только падать.
    Ответ написан
    3 комментария
  • Возведение в степень 0

    begemot_sun
    @begemot_sun
    Программист в душе.
    Может быть потому что:
    0^0 = exp(log(0)*0) = exp(NaN * 0) = exp(0) = 1
    не проверяли ?
    Ответ написан
    Комментировать
  • Есть люди, профессионально решающие проблемы кластеризации (data mining)?

    begemot_sun
    @begemot_sun
    Программист в душе.
    Здравствуйте. А мне ваша задача интересна. Напишите, пожалуйста на loguntsov at gmail dot com
    Ответ написан
    Комментировать
  • Что сделать с текстами 372-х тысяч песен?

    begemot_sun
    @begemot_sun
    Программист в душе.
    У вас картинка структуры БД поломалась.
    Ответ написан
  • Селекторы jQuery?

    begemot_sun
    @begemot_sun
    Программист в душе.
    $('ul li ul li') - ?
    Ответ написан
    Комментировать
  • Существуют ли трансляторы кода из С в C++?

    begemot_sun
    @begemot_sun
    Программист в душе.
    Вам видимо нужен инструмент на подобии трансляции: C++ -> LLVM -> Python. Может и есть такое. Транслируют же люди ASM в Javascript. Наверно и тут также можно.
    Ответ написан
    Комментировать
  • Как освоить многопоточность?

    begemot_sun
    @begemot_sun
    Программист в душе.
    А можно не использовать C++ с его дедлоками, и работой с памятью. Достаточно поменять инструмент решения проблемы. Например взять Erlang, где проблемы параллельного программирования сведены к минимуму + можно подключать C\C++\что-то еще вставки для быстродействия.
    Ответ написан
  • Распределенная и/или многопоточная работа с сетью?

    begemot_sun
    @begemot_sun
    Программист в душе.
    1. Использовать много разных DNS для ресолвинга имен.
    2. Использовать многопоточный парсер, который будет создавать 100000 потоков для парсинга + 1000 для определения доменного имени + увязать это все одно целое. Как вариант использовать для этого дела Erlang ;)
    Ответ написан
    1 комментарий
  • Стоит ли перейти в GameDev из Database Applications?

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

    begemot_sun
    @begemot_sun
    Программист в душе.
    попробуйте squashfs. Минус - это то что нужно будет периодически пересоздавать её для обновления данных, т.к. эта fs - Read-Only. Плюс - компрессия.

    Попробуйте хранить в БД данные. Например у MySQL есть тип таблиц Archive - осуществляется поиск по 1 primary key, в свою очередь данные также сжимаются, и также таблица read-only, записи могут добавляться, но не изменяться.

    Вы можете организовать несколько томов\таблиц, и обновлять их по мере необходимости, перегоняя данные из одной таблицы\тома в другой.
    Ответ написан
  • Необходимо ли применение экспертной системы при создании приложения?

    begemot_sun
    @begemot_sun
    Программист в душе.
    Ваша задача в общем случае сводится к аппроксимации целевой функции многих переменных.
    Например: Стоимость авто расчитывается из таких чисел как: объем двигателя, пробег, год выпуска и т.п.
    исходными данными для такого дела могут быть объявления о покупке\продажи авто с соотвествующих сайтов. Целевая функция -- стоимость этого авто. Т.о. используя мат обеспечение вы можете аппроксимировать такую функцию многих переменных, и применять её к уже другим исходным данным и получать эквивалентную стоимость вашего авто.

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

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

    MODx хорошо использовать для админки, а писать сам сайт на обычном php.
    Конечно у MODx куча минусов, но серьезные продукты делать можно. Проверено на практике.
    Ответ написан
  • Что выбирать: SQL vs NoSQL?

    begemot_sun
    @begemot_sun
    Программист в душе.
    Лучше подумайте над тем какие преимущества дадут вам SQL против NoSQL. Сейчас модно говорить об NoSQL, но это всего лишь слова. А что вы будете делать когда схема БД будет меняться? Когда возникнут потребности в выборках которые вы не предусмотрели изначально? NoSQL хорош там, где нужна помощь SQL-решениям. Как самостоятельное primary решение я думаю его даже не стоит рассматривать.
    Ответ написан
    Комментировать
  • Литературу по параллельному и распределенному программированию?

    begemot_sun
    @begemot_sun
    Программист в душе.
    Все исходя из ваших потребностей. Например написание параллельные программы на С++ в корне отличается чем для Erlang\Go, в которых это делается намного легче (конечно с определенными ограничениями).
    Ответ написан
    Комментировать
  • Чем рипить звуковые компакт-диски?

    begemot_sun
    @begemot_sun
    Программист в душе.
    Мне кажется вам нужно использовать старый CD-ROM, причем по возможности несколько.
    Делаете полный образ комакт-диска (ISO).
    Далее скорее всего в сети есть ПО для объединения/вытаскивания информации. Например имеем 3 байта в одном и том же месте на 3х разных образах, один байт не совпадает с 2мя остальными - т.о. достаточно большая вероятность того, что на данном месте должен быть байт который присутвует у 2х образов одновременно.
    Ответ написан
    Комментировать