LINUX.ORG.RU

Сообщения tia

 

Быстрая БД для агрегаций и работы с простейшими данными

Данные представлены в виде столбцов 5, по сути: несколько строк и чисел с плавающей точкой.

Основная задача - хранить сотни миллионов записей с возможностью нестрогого полнотекстового поиска по ним с возможностью агрегации по числовым столбцам.

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

Я в монге хранил до 20млн живых записей, одноуровневых, обычные запросы работали шустро, достаточно. Но сейчас разговор идёт о сотнях миллионов.

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

Может у кого будут советы какую БД использовать? Какие могут быть проблемы с монгой? Чем же хороша Oracle или привыкли?

 , , ,

tia ()

Angular SPA + PhantomJS или Angular и несколько страниц

Пишу небольшой сервис. Фишка в том, что главная страница - одновременно и лендинг, и один из инструментов, которым чаще всего будут пользоваться.
Там нужна туча JS просто потому что иначе ад и израиль. Появилась мысль что стоит всё сделать в виде SPA, но вот SEO-проблемы заставляют волноваться. Решение есть - phantomjs для пререндера страниц, но вот только это решение используют даже на западе редко - как правило все выбирают в пользу отказа от SPA в пользу нескольких страниц.

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

Кто-нибудь может был в похожей ситуации и имеет какой-то опыт, выводы, советы?

 , ,

tia ()

База данных и тучи апдейтов или нужен свежий взгляд на проблему

Господа, имеется реальная, сложная задача по БД. Конечно, возможно я заработался и не вижу лёгкого подхода, но за тем и прошу совета.

Ситуация такова: имеется объект в Postgre. Количество, на данный момент - 20 тысяч. Однако это даже не 1% процент от того, что набежит за несколько месяцев в продакшне.

По каждому объекту собирается статистика за каждый день, что есть отдельный объект, добро это хранится в MongoDB. Потому что объёмы большие, нереально большие на инсерты и апдейты, но не на селекты. Логика такова, что статистика за текущий день пересчитывается каждые 30 минут и может меняться в + или в -. Такая же ситуация со статистикой за предыдущие дни, только пересчитывается она редко.

Каждый объект в постгре отображается пользователю и необходимо просчитывать для него статистику за месяц, неделю, всё время. Благо есть пагинация и единовременно необходимо отдавать до 50 объектов, просчитать это довольно просто - 3 MapReduce запроса на каждый объект.

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

Задача понятна - нужно просчитывать статистику и хранить её в БД, кешировать. Например, раз в час. Однако, мы имеем, скажем, 3 млн объектов и по каждому мы должны сделать, пока, 3 MapReduce в MongoDB и 1 Update в Postgre.

Если MapReduce пока меня не сильно беспокоит(пока не знаю что делать в принципе), то с кучей апдейтов нужно что-то придумать. Как вариант, гнать в ту же MongoDB, так как она хорошо справляется с кучей апдейтов и инсертов.

Какие мысли, идеи? Буду рад любым советам.

 , , ,

tia ()

Выбор БД для частой записи и средней нагрузки по чтению

Есть тут мысль на одном проекте сделать систему полного логирования активности, а так как типов активности и самих пользователей мягко говоря не мало(овер 60к активных юзеров и, пока, 21 тип активности), то возникают проблемы. Собственно, как оно будет работать и что требовать:

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

2) Записи будут частенько подниматься по «order by date limit N».

3) Хотелось бы чтобы через год БД не занимала гигабайты с временем обработки вышесказанного запроса более, чем в 3 секунды.

MongoDB откидываю так как с записью там проблемы. Postgre понятно. Redis говорят как и монга, тоже не стоит в таком случае. Cassandra говорят шикарна для записей, но очень смущает тот факт, что мне бы хорошо делать и запросы, не уверен что они будут выполняться шустро. Можно поделить на семейства для каждого пользователя, но тогда будет их слишком много, а это кассандра не любит.

Кто-нибудь что-нибудь посоветует? Какие мысли, быть может?

 , , ,

tia ()

Awesome WM. Не пашут хуки на теги.

Версия Awesome WM:
• Build: Jan 18 2011 17:24:57 for x86_64 by gcc version 4.4.5 (buildd@promethium)
• D-Bus support: ✔
Из PPA https://launchpad.net/~aguignard/+archive/ppa
ОС: Ubuntu 10.10

Список сигналов тегов смотрю тут:
https://awesome.naquadah.org/wiki/Signals#tag

Код в конце конфига:
tag.add_signal(«property::layout», function(c) naughty.notify({ title = «YUP», text = "-------YUP------", timeout = 0 }) end)

0 эмоций при смене слоя. Пробовал сигнал «property::selected» - то же самое.
ЧЯДНТ?

tia ()

Альтернативы ENSO под Linux

Смотрел подкаст по Django и увидел как интересно человек управляется с открытыми окнами, приложениями и файлами. Оказалось, что он использует ENSO: http://humanized.com/enso/ . Увы, оно только под Windows.
Если что, для Ъ: это глобальная консоль команд, позволяющая совершать действия с открытыми окнами, открывать файлы, работать с проектами, управлять системой. Например, можно выбрать в документе в Word текст: «2+2», нажать нужное сочетание, ввести calculate, нажать enter и 2+2 заменится на 4.

Погуглил на счёт альтернатив и нашёл только Ubiquity и GnomeDo.
Первое внутри браузера, только в FF.
Второе на C# с mono, да и давно не обновлялось: последняя версия вышла в июне 2009ого.

Может что есть ещё, о чём я не знаю? Желательно для Gnome/GTK, но сойдёт и для кед.

tia ()

Какова нагрузка вашего веб-приложения? Мини-опрос.

Вопрос именно к опытным разработчикам и любым сетевым администраторам. Интересуют все приложения: от perl до node.js.
Чисто статистики ради и интереса для, нужно узнать сколько ваши приложения «поедают» ресурсов.
Точнее говоря, интересует: RAM, процессорное время _воркера_ и диспатчера(unicorn, uwsgi etc) в максимальное и среднее время нагрузки.

Буду благодарен если вы выскажите свою статистику(своих проектов) просто сказав какое число запросов, какой объём, какая нагрузка, какой язык, какой фреймворк, какой диспатчер, какой веб-сервер.

Буду рад за дачу разной статистики, разных людей и проектов, но не суть важно что за проект.

Заранее спасибо.

Можете переместить в толксы, если уж очень попе больно.

tia ()

Выбор блог-системы

В результате 2х дней поиска, я выбрал 3 системы: Wordpress, Movable Type, Typo.
Пока пробовал ставить только Typo. Понял что оно тормозное, глючное, страшное, с массой неудобств и вообще сильно убогое.
Остаются только WP и MT. Первое это чистый быдлокод на пхп, а второе это помесь быдлокода на пхп и пёрле.

Кто что использовал? Что лучше? Или может быть что-то ещё посоветуете?

Если что, сам писать не хочу, потому как лень.

tia ()

[dev][desktop] Какой шрифт вы используете?

Вроде как вопрос банален и должен часто обсуждаться, но не смог найти такого треда.

Какой шрифт вы используете в IDE/редакторе?

Вот и весь вопрос. Понял что шрифтов почти не знаю, сам особо не выбирал, просто так вышло, что стал использовать Monaco, но сейчас заинтересовался, может есть и лучше. Сам нашёл массу шрифтов и все разные, но мне интересна статистика. Тем более что я хочу подготовить псто у себя в блоге с обзором шрифтов. Нашёл пару хороших шрифтов:
http://www.fsd.it/fonts/pragmatapro.htm
http://www.boldmonday.com/en/nitti_overview
http://www.ascenderfonts.com/font/ascender-uni.aspx
но их даже не украсть, что обидно.

Буду ещё крайне признателен на информацию о том, как влияют шрифты при кодинге на глаза. Интересно именно медицинское мнение на счёт смуфа(скажем, хуже ли будет глазам если использовать Droin Sans Mono/лучше ли будет если использовать терминус или монако). Ну и интересно мнение на счёт размера шрифта. Сам использую 12пт, раньше было 10пт, но заметил что, например, консолас меньше 13пт становится уродливым.

tia ()

[Рабочее место] 19", 17+17 или 19+19? Как использовать второй монитор?

Через дня два нужно будет думать что требовать в качестве рабочего стола на работе. Сам всегда работал на одной «семнашке», а т.к. я просто кодер(хоть и часто веб-), а не дизайнер, то проблем не возникало.
Собственно, думаю попросить 2 «семнашки» или одну «девятнашку», а может две «девятнашки»?
Опытные трудяги, посоветуйте, расскажите из опыта кто для чего второй монитор юзает/юзал бы и что лучше.
Если что, у меня в подчинении 2 дизайнера, художник, 2 кодера, все такие же балбесы как и я, вот только дизайнерам и так понятно, нужно 20+ брать, по одному, кодерам по девятнашке(ибо нефиг), а вот себе думаю ещё...
Сам работаю через эклипс, юзаю убунту, авесом, хромиум, пока не готов сказать что часто переключаюсь между браузером и IDE, но иногда чувствую что надо бы как-то их рядом поместить.

tia ()

[jackd][alsa] Проблемы-проблемчики

Решил что нужно бы добить эту тему, чтобы наконец комфортно себя чувствовать с включенным джеком, смотреть видео на ютубе, слушать музыку.

Поставил qjackctl, jackd, сделал нормальный .asoundrc, добавил в limits.conf нужные строчки:

@audio - rtprio 99
@audio - memlock unlimited
@audio - nice -10
Добавил себя в группу(members выводит меня в составе группы). Запустил qjackctl от своего пользователя, почти ничего не трогал(косметика только), запустил. Вот лог того, что выдало:
11:58:09.642 Patchbay deactivated.
11:58:09.644 Statistics reset.
Cannot connect to server socket err = No such file or directory
Cannot connect to server socket
jack server is not running or cannot be started
11:58:09.656 ALSA connection graph change.
11:58:09.851 ALSA connection change.
11:58:13.233 Startup script...
11:58:13.234 artsshell -q terminate
Cannot connect to server socket err = No such file or directory
Cannot connect to server socket
jack server is not running or cannot be started
sh: artsshell: not found
11:58:13.637 Startup script terminated with exit status=32512.
11:58:13.637 JACK is starting...
11:58:13.638 /usr/bin/jackd -P89 -dalsa -dhw:0 -r44100 -p512 -n4 -S
11:58:13.641 JACK was started with PID=2466.
no message buffer overruns
no message buffer overruns
jackdmp 1.9.6
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2010 Grame.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK server starting in realtime mode with priority 89
audio_reservation_init
Acquire audio card Audio0
creating alsa driver ... hw:0|hw:0|512|4|44100|0|0|nomon|swmeter|-|16bit
Using ALSA driver HDA-Intel running on card 0 - HDA Intel at 0xfdff8000 irq 45
configuring for 44100Hz, period = 512 frames (11.6 ms), buffer = 4 periods
ALSA: final selected sample format for capture: 16bit little-endian
ALSA: use 4 periods for capture
ALSA: final selected sample format for playback: 16bit little-endian
ALSA: use 4 periods for playback
11:58:15.702 Server configuration saved to "/home/iorlas/.jackdrc".
11:58:15.704 Statistics reset.
11:58:15.720 Client activated.
11:58:15.733 JACK connection change.
11:58:15.737 JACK connection graph change.

В общем, ничего интересного, всё нормально(ведь так?).

Запускаю mplayer с простым, обычным треком и ровно через 4.5 секунды полетело:

JackEngine::XRun: client = alsa-jack.jackP.2478.0 was not run: state = 2
JackAudioDriver::ProcessAsync Process error
12:01:59.509 XRUN callback (1).
JackPosixMutex::Unlock res = 1
JackEngine::XRun: client = alsa-jack.jackP.2478.0 was not run: state = 1
JackPosixMutex::Unlock res = 1
JackAudioDriver::ProcessAsync Process error
JackPosixMutex::Unlock res = 1
JackEngine::XRun: client = alsa-jack.jackP.2478.0 was not run: state = 1
JackAudioDriver::ProcessAsync Process error
JackPosixMutex::Unlock res = 1

При этом нагрузка на компьютер нулевая, процессор не нагружается и на 20%, 1/2 RAM свободна. Гуглил, но находил все похожие, но не нужные результаты и случаи. Находил багрепорты за 2007-2008, на которые ответов нет.

Пробовал играть тот же трек через alsaplayer(в котором есть плагин к джеку) и всё нормально воспроизводит.

Посоветуйте что делать.

Ubuntu 10.10 w/o pulseaudio

tia ()

[RoR 3]Посоветуйте плагин для аутентификации пользователей

Для нескольких проектов появилась необходимость использовать RoR 3, хоть я в этом и не спец, а только начинающий.
Задача тривиальна(не для многих, увы, но тем не менее): дать пользователям возможность идентифицироваться через сторонние системы(openid, oauth, openapi etc) и через локальную(с регистрацией и аутентификацией через мыло, например).
Главное требование: удобство.
1) Не хочу писать всё это с нуля(разве что плагины для open api и остальных специфичных систем).
2) Не хочу чтобы для каждой из систем создавалась отдельная таблица(одной достаточно всегда, хотя если в остальном всё ок, то потерплю если на каждую систему будет по таблице).
3) Хорошая документация(как минимум, тутор start-and-go).

Пока больше всего подходит OmniAuth, но он слишком минималистичен. Я готов писать некоторые вещи с нуля на пайтоне, но если это RoR, то хочется чтобы «всё было».
Authlogic я откинул т.к. плагины старые, ужасные, сам plugin api не так красив и если на что AL и годен, так только на локальную аутентификацию.
Думаю попробовать Devise, но говорят что под третьими рельсами оно не тестировалось и само по себе очень статично и громоздко.

tia ()

Помогите вспомнить игру

Была такая игра... Не очень старая, но до 2000ого вышла.
Жанр: симулятор.
Графика: 3д. Не сильно убогая, в стиле UT.
Описание: Летаешь на скейтборде в гонках по различным трассам будущего.
Помню что начиная игру, нужно было выбрать одного из N персонажей, среди которых была девушка по имени Ангел, а одета она была в бело-салатовый, вроде, костюм и имела причёску с двумя косичками.
После выбора персонажа показывается как подлетает скейт, персонаж запрыгивает на него и вылетает в большой зал, засынаппый песком(просто полетать, потрениться, да).
Помню были разные скейты, режимы игры, различные финты как в «Тони Хоук».
Ещё помню что иконка игры была в виде стилизованной сдвоенной красной буквы T. Или как-то так.

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

При чём тут линупс? При том, что я хочу запустить это в линупсе.

tia ()

Java приложения со Swing не работают как надо

http://rghost.net/3651812/private/423c1c215ada5c707c97829512e221b9/image.png И вот это со всеми приложениями на базе «Идеи». Как подозреваю, это со всеми приложениями на Swing. Однако, приложение работает, просто ничего не рендерит кроме меню и диалогов. Использую Ubuntu 10.10, x86_64.

Выхлоп ни о чём не говорит вообще: iorlas@lastangel:~$ env JDK_HOME=/usr/lib/jvm/java-6-sun-1.6.0.22/ ./apps/RubyMine-3.0.1/bin/rubymine.sh Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03, mixed mode)

Как можно отдебажить в чём проблема? Куда копать?

tia ()

[нипаиграть] UT 2004. Проблема с устройствами ввода

Дня 4 назад поставил UT2004 с рутрекера, там сразу сборка в deb-пакетах, всё ставится и работает, с новыми картами etc. Не смотря на то, что оно давно не обновлялось, на бубунте 10.10 оно поставилось без проблем и запустилось. Играл дня 3, радовался. А тут, внезапно, запустил и не скипается заставка при загрузке(nv, все дела). Подумал: ну да ладно, бывает нужно игрушкам рекламу показать полностью. После заставок открылось меню, где спокойно работала мышь. Выбрал игру, создал, загрузилось и... «Press Fire to start». Жму кнопку мыши - ноль эмоций. Кручу мышь - ноль эмоций. Жму wasd - ноль эмоций. А должно двигаться, крутиться, перемещаться. Однако! Жму тильду и открывается консоль, в которой всё работает. В чём может быть дело? Куда гуглить? Если что, убунту не обновлял, ничего «такого» не делал между моментами когда всё было ок и внезапно сломалось.

tia ()

Прокладка Wi-Fi

Заранее извиняюсь перед опытными людьми в этом деле за то, что отнимаю у них хлеб, кек. Есть задача проложить «вафлю» в одном доме, чтобы все квартиры могли получить сигнал и без проблем находиться в сети, без лагов и с максимально возможной скоростью(ну или хоть чтобы проблемы сигнала не ощущались). Что посоветуете почитать на эту тему? Какие есть подводные камни? Сам я, как максимум, проводил ЛВС в школе в двух кабинетах, но вот с вафлей даже не знаю принципов размещения точек.

tia ()

Grails. Пара вопросов.

Сколько здесь присутствующих людей используют Grails в живых проектах? Просто интересно. Немного полистал статейки, посмотрел список плагинов. Всё вроде как не плохо. Вот только: Юзер гайд по груви это просто кусок говна в сравнении с любой другой документацией. Синтаксис груви это просто кусок говна. Говорят что взяли много хорошего из руби и пайтона. На деле взяли пару фишек из руби, пару фишек из пайтона, остальное - та же джава. Многие нестандартные плагины(т.е. кроме тех, которые дают: SQL ORM, DB-based Auth, Defaut template engine etc) просто не развиваются, давно не обновлялись. Для mongodb 2 плагина, которые обновлялись уж больно давно.

Я действительно думал применить его для одного проекта, но посмотрев на всё это... Я в ужасе. Я ведь так везде пропагандировали, советовали.

Что будет с Grails после этой войны с оракл? Как оно коснулось его? Для каких проектов его действительно стоит использовать? Только ли для больших? Как там со всякими OpenID, OAuth(Google, Twitter), VKOpenAPI?

tia ()

[Веб!] Рубисты, что вы имеете против Пайтона?

(((((+)
))+-('=
3<-))))
^ Это оберег от лисперов. Если вы - лиспер, то изыйдите из этого треда.

Это очень и очень важный вопрос, который очень часто встаёт при разработки веб-проекта: Почему %human.name% хочет именно руби, именно RoR?
Так случается, что пока я узнал только одну причину, которая действительно важна и является проблемой - объём и уровень готовых компонентов.
Много наслышался я критики со стороны рубистов:
«Да там даже блоки кода ничем не заканчиваются! Путаница!»
«Да там всё неудобно!»
«Меня заставляют форматировать код с отступами!»
«Меня принуждают писать код в одном стиле!»
«Там нет интерфейсов!»
«Python3 полное говно!»
etc.
И, хочу отметить, пока я не слышал ни одного замечания для языка, которое бы действительно имело место.

Хочется узнать мнения здешних рубистов и питонистов. Что вы думаете? Почему выбрали именно свой язык? Какие минусы вы заметили в своём языке(руби или пайтон), которые лучше в другом(руби или пайтон)?

Конечно, будет интересно мнение людей, которые попробовали оба языка и остановились на третьем(если вы - лиспер, читайте в начале сообщения).

Цель треда - выяснить настоящие проблемы пайтона относительно руби.

tia ()

SMTP сервер для noreply

Нужно поднять на машинке smtp-сервер для пересылки всяких сообщений. Возиться с настройкой sendmail не хочется, есть может какие легковесные современные решения(альтернативы)?

tia ()

GVim versus Emacs

Драсте, это снова я. Да, сразу прошу простить за то что я сделал это, начал новый холивор.

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

Мне нужна хорошая поддержка пайтона:
1) Автокомплит по словам в текущем файле.
2) Автокомплит по символам(объектам) модулей(например, сделаю import foo, а в коде foo., мне должен выйти список из bar, __init__, __class__ etc).
3) Автокомплит по символам текущего модуля/файла(чтобы я в конце большого файла мог сделать инстанс класса, который объявлен в начале и мне дали список мемберов класса и его родителей, а не как в комодо, в котором он может послать на три буквы).
4) Удобные сниппеты, которые живут ВМЕСТЕ с автокомплитом(слышал что в виме люди ставят автокомплит на таб, а сниппеты на ктрл+., я аж офигел).
5) Хоть сколько нормальная поддержка дебаггера для пайтона и цпп.
6) Хорошие средства рефакторинга(хоть для галочки).
7) Средства для менеджмента проектом и вообще возможность делать файлы на проекты, при этом обозревать несколько проектов сразу.

Мне нужна хорошая поддержка цпп:
1) Хороший автокомплит по проекту и стандартным библиотекам.
2) Хороший автокомплит по другим библиотекам(например, qt, boost).
3) Набор сниппетов.
4) Какие-нибудь средства для хоть полу-автоматизированнного составления make/cmake файлов(да, не хочу писать их вручную, хочу указать пути до либ и добавить пару файлов в проект, нажать кнопочку и запустить).

Мне нужна хорошая поддержка html, js, css:
1) Сниппеты.
2) Автокомплит.
3) Средства для умного написания кода(zen/haml)
4) Автокомплит css в html, js по Jquery, prototype etc
5) Работа с js и css в html-файле(подсветка синтаксиса - минимум)

Мне нужна хоть какая поддержка mako(python template lang):
1) Сниппеты.
2) Подсветка html, js, css.

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

tia ()

RSS подписка на новые темы