LINUX.ORG.RU

Сообщения Insomnium

 

Зависимость содержимого элемента от атрибута.

Читаю тьюториал, но пока не могу понять как реализовать хитрую проверку. Есть элемент, у которого есть атрибут и внутреннее содержимое. Пример:

...
<some_element type="a">
  <some_text>blah1</some_text>
</some_element>

В чем суть: атрибут type может иметь только одно из двух возможных значений: «a» или «b». Если «a», то some_text может иметь в содержимом только один вариант из: «blah1», «blah2», «blah3». Если «b», то some_text может содержать только одно из: «blahA», «blahB», «blahC». Собственно, на данной задаче мозг медленно вскипает. За советы буду благодарен. Программно проверить было бы как 2 бита переслать, да, но критично решить задачу именно использованием схемы.

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

 ,

Insomnium
()

Многопоточность.

Никак не могу разобраться. Есть класс А. В нем есть вложенные классы B и C. В классе А в поле хранится потокозащищенная ConcurrentHashMap. Классы B и C - Runnable и куча их инстансов крутятся и в методе run переписывают данные в этой мапе класса А. Всё это делается в мониторе

...run() {
  synchronized (mymap) {
    if (mymap.containsKey(somekey)) {
      mymap.remove(somekey);
      mymap.put(newkey, this);
    }
  }
}

Этот кусок кода идентичен в классах B и C. Почему-то при входе в монитор (казалось бы), остальные инстансы потоков не останавливаются. В чем может быть дело, кто сталкивался?

 ,

Insomnium
()

Отгимпьте, пожалуйста.

Мне стыдно, но больше обратиться некуда. Хотел в juick, но сейчас нет доступа к jabber. Господа гимперы, не мог бы кто-нибудь из вот этой змейки сделать 2 png: в первом должна быть голова (хотелось бы с языком, ну да ладно), а во втором было бы неплохо получить круг с градиентом из её тела. Критично, чтобы фон был белым. Спасибо. (:

 ,

Insomnium
()

Image на JPanel

Споткнулся на самом ровном месте. На форме с BorderedLayout располагаются две JPanel. Одна из них справа (BorderLayout.EAST), вторая добавлена далее и занимает бОльшую часть фрейма.

|--------------------------|
|                  |       |
|  *               |       |  * - мелкие изображения
|                  |       |       
|        *         |   и   |    
|  это JPanel      |  это  |
|                  | JPanel|
|                  |       |
|    *             |       |
|                  |       |
|--------------------------|
Нужно отрисовывать на левой панели различные изображения. Ну, естественно, под изображение определен свой класс, унаследованный от JComponent с переопределенным методом paint. Суть - если добавлять инстанс этого моего класса на саму JPanel, она никак не хочет отрисовываться, если кидать его на contentPane - всё отлично работает. Т.е.
// в конструкторе формы
public MainForm(GameDataModel model) {
 ...
 // циферки, как нетрудно догадаться, - координаты. Ну, не суть.
 // MyDamnedImage - мой класс с переопределенным public void paint(Graphics g)
 add(new MyDamnedImage(10, 10)); // на contentPane - пожалуйста
 leftPanel.add(new MyDamnedImage(100, 100)); // - ничего...
 ...
}
Вопрос - почему? Я чего-то в упор не вижу в SWING?

 ,

Insomnium
()

SVN-ньюфага вопрос.

Есть у меня в проекте trunk и одна из веток рядом в branches, назовем её version 1.01. Можно ли слить изменения, закоммиченые в транк, в version 1.01, прямо на сервере. Т.е. я понимаю конечно, что можно локально смержить нужные ревизии из транка в мой бранч, разрешить все конфликты и закоммитить, но можно ли сделать это именно напрямую, чтобы потом получить результат через update сюда же, в version 1.01?

Спасибо.

 ,

Insomnium
()

Полезные плюшки

Периодически на хабре проскакивают статьи про различные плюшки для bash. Иногда попадаются очень полезные, иногда просто приятные. Только что открыл для себя, что bash можно научить регистронезависимому автокомплиту:

echo 'set completion-ignore-case on' >> ~/.inputrc
К примеру, теперь cd ~/down без проблем превращается в cd ~/Download. Подумал, что было бы неплохо устроить тред полезных плюшек для bash.

 

Insomnium
()

On file create

Знаю, вопрос глупый, но гугл пока молчит. Возможно ли заставить vim в зависимости от расширения создаваемого файла (ну или просо по паттерну) автоматически писать в него что-либо? Т.е. хочу, чтобы к примеру по

vim somescript.py
в шапке уже было прописано
#!/usr/bin/env python

Спасибо.

 ,

Insomnium
()

Проблема со шрифтами в IDE и не только.

Хотелось бы знать ШГ ли это. С первого взгляда нет, но глаза всё-равно устают. Впрочем проблема в другом - проблема со шрифтами в IDE. В частности в NetBeans и Idea. И это уже довольно сильно мешает. У кого ещё лютое ШГ в этих IDE и как это можно вылечить? Вот ~/.fonts.conf. Спасибо.

 , , ,

Insomnium
()

Аватар-mode

Что-то я сегодня зачастил, ну да ладно. Недавно на youtube при воспроизведении видео добавили инвертирование цветов, теперь весь «цвет кожи» стремится к синему «а-ля аватар», и вообще все цвета выглядят как... Вопрос - первое апреля вроде прошло, у кого ещё наблюдается такое поведение? И да, я регистрант, может эту модную фичу можно где-то отключить?

 

Insomnium
()

Привести в порядок коллекцию.

Знаю, что подобные темы уже были, я честно пользовался поиском, но видимо плохой из меня тредоискатель. Есть аудиоколлекция, довольно большая - около 130GiB. И как же сильно раздражает, когда несколько альбомов / групп разбиты на разные «сущности» (уж простите, не знаю как ещё выразиться), только лишь из-за того, что где-то в альбоме указано название группы, или где-то, пропущена буква. Знаю, в таком тяжелом случае тулзы ни с кнопкой, ни даже с параметром командной строки наподобие --make-as-it-should-be нет, и всё-же, что может помочь в такой ситуации, есть ли истории успеха? Спасибо.

 ,

Insomnium
()

Проблемы с ауром.

Pacman работает отлично. Интернет раздается через роутер (DHCP), никаких прокси нет. Сегодня при попытке установить пакет из aur посредством yaourt получил сообщение:

curl error: Couldn't connect to server

Проблемы только у меня, с сервером всё в порядке. Пытался поиграть с менеджерами загрузки в /etc/pacman.conf и /etc/makepkg.conf - безрезультатно. Симптомы странные. Периодически при поиске пакета yaourt успевает выводить часть списка, после чего просто «подвисает». Без выхлопа, без ошибок, без возврата в командную строку. При попытке установки пакета периодически начинает делать вид, что качает PCKGBUILD, пару раз дело доходило до загрузки архива с бинарниками, но в большинстве случаев сразу - «зависание» и лишь изредка падает с вышеуказанной ошибкой.

/etc/pacman.conf
/etc/makepckg.conf

#yaourt --version && package-query --version && pacman --version
yaourt 1.0.1
homepage: http://archlinux.fr/yaourt-en
package-query 1.0.1
                                                                                                                                                                                                          
 .--.                  Pacman v4.0.2 - libalpm v7.0.2
/ _.-' .-.  .-.  .-.   Copyright (C) 2006-2012 Pacman Development Team
\  '-. '-'  '-'  '-'   Copyright (C) 2002-2006 Judd Vinet
 '--'
                       Эта программа может свободно распространяться
                       на условиях GNU General Public License
Не то чтобы жить было нельзя, но очень неприятно. Обратно на gentoo не хочу.
Заранее спасибо.

 , ,

Insomnium
()

Что-то с сервером?

Скажите, арчеюзеры, у вас сегодня с aur всё в порядке? Весь день ловлю сообщение

curl error: Couldn't connect to server
Причем пару раз таки был ответ, но потом связь снова прерывалась. Я думаю, что проблема скорее всего у меня, но чем черт не шутит, может у них и правда с сервером что-то не так.

 , , ,

Insomnium
()

[Java]Парсим CSV файл.

Существует CSV файл с количеством строк ~10000000. С ним нужно уметь делать много чего интересного, но это уже другая история. Для начала его нужно провалидировать. Первая строка (заголовок) файла выглядить примерно так:

блабла String; а-ля_дата Date;ещё_блабла Float; целое_число Integer; бла-бла-бла Integer

Заголовок может быть любым, правило одно - для каждой колонки он состоит из двух слов: первое - имя столбца, второе - тип. Типов всего четыре: Integer, Float, Date (mm.dd.yyyy) и String. Реализовал проверку на совпадение количества записей во всех строках, на некорректную сигнатуру заголовка столбца и т.д. Осталось самое интересное - валидация типа записи в каждой ячейке. Ах да, если данные хоть в одной ячейке невалидны - аварийно падаем, что несомненно упрощает задачу. Вопрос - как бы лучше реализовать валидацию каждой ячейки, ибо объемы данных не так уж малы. В среднем у меня на данный момент на проверку кучи условий на объемах в 10 столбцов и 10000000 строк уходит ~5 сек, что уже, имхо, чертовски много.

Итак, знаем в каком столбце какого типа должны храниться данные и знаем строку, которая хранится в данной конкретной ячейке при проходе по всему файлу. Что меня спасет? Попытка создания wrapper класса из строки, хранящейся в ячейке и завершение работы по исключению? Регекспы? В общем, посоветуйте.

Спасибо.

 

Insomnium
()

[роутер][dd-wrt]d-link 300 NRU b5

Извиняюсь, что в токсы. Собственно, сабж. На сайте dd-wrt есть прошивка для ревизии b1, у меня b5. Кто-нибудь ставил? Полет нормальный?

// Спасибо.

 ,

Insomnium
()

[Оффтоп][Реквест]Хочется странного.

А есть какой-нибудь аналог ЛОРа, но только с оффтопной тематикой? (Я конечно про винду, но не отказался бы посмотреть и на яблочный)

 

Insomnium
()

[Попоболь?]Постпятничные мысли об оффтопе

Решил вбросить. Вот смотрю я на всю эту классовую упоротость у некоторой части местного контингента и тошно становится. M$ зло, шиндовс маст дай... Пользуешься яблочной продукцией - ты раб. Такое ощущение, что народ пользуется линуксом только для того, чтобы пользоваться линуксом aka не быть как все. Ну школоту опустим, там всё понятно, все хотят быть кулхацкерами. Сложилось впечатление, что адекватно относятся к этому в основном те, кому приходится иметь дело с линуксом по работе (особенно если работа связана с IT). Конкретно Вам Microsoft мешает жить? Почему? А Apple? [тут_толсто]Тайная зависть, что у них всё работает, а самим под час надо копаться и костыли крутить? :)[/тут_толсто] А, да, извините, я наверное обычное быдло, вендоюзеры - тупые хомяки и недалекий офисный планктон, а ориентация маководов явно не традиционная, о чём, конечно же, намекает зонд, торчащий из причинного места.
Так забавно смотреть на это всё. А вы что думаете по этому поводу?

Insomnium
()

C<whatever> поток с задержкой, но без таймера

Борщ с капусткой, но не красный (с) :3 Извините, вырвалось.

Наткнулся тут на любопытную задачку, мой мозг уже плывет, так что могу не видеть очевидного решения. Собственно вот постановка: в процессе работы приложения возникают ситуации, когда некоторое действие должно быть выполнено через n-секундный промежуток после его инициирования, например, действием пользователя. В силу ряда причин разработчик не может использовать системный объект-таймер.

Что делать?

Insomnium
()

[gentoo.ru] make me unsee it

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

Insomnium
()

[Qt][Java] Поругайте мне Qt Jambi

Собственно, сабж. Я в курсе, что разработчики давно на него забили и отдали в руки сообщества. Как оно нынче поживает? Кто им пользуется? Стоит ли оно того?

//Просто очень уж удобно писать гуй на Qt с плюсами. А вот как дела с Java..?

////Вообще-то и не планировал писать гуй на Java, просто решил освоить платформу, но всё же хотелось бы пару приложений с гуем написать, как-то оно приятнее хотя бы с эстетической точки зрения. ;)

 , ,

Insomnium
()

[Qt] QHelpContentWidget *QHelpEngine::contentWidget ()

Споткнулся на ровном месте. Необходимо влепить в проект документацию. Решил это дело запилить через сабж. Что я делаю: у меня есть класс, занаследованный от QDialog, в его конструктор я передаю некий helpEngine.contentWidget(). Т.е. выглядит это примерно так:

QHelpEngine helpEngine("help.qhc");
...
Dialog *helpDialog = new Dialog(helpEngine.contentWidget());

А в ответ он мне выдает пустой виджет. help.qhc вроде как сгенерен правильно: как завещала документация. Ну не может здесь быть ошибки, её здесь допускать-то негде. :)

Вот так выглядит help.qhp:

<?xml version="1.0" encoding="CP-1251"?>
<QtHelpProject version="1.0">
	<namespace>test</namespace>
	<virtualFolder>doc</virtualFolder>
	<customFilter name="test">
		<filterAttribute>minitest</filterAttribute>
	</customFilter>
	<filterSection>
		<filterAttribute>minitest</filterAttribute>
		<toc>
			<section title="Howto" ref="index.html">
				<section title="1" ref="elementarno.html#h" />
			</section>
		</toc>
		<keywords>
			<keyword name="small" ref="elementarno.html#small" />
		</keywords>
		<files>
			<file>style/style.css</file>
			<file>*.html</file>
		</files>
	</filterSection>
</QtHelpProject>

Это help.qhcp:

<?xml version="1.0" encoding="CP-1251"?>
<QHelpCollectionProject version="1.0">
	<docFiles>
		<register>
			<file>help.qch</file>
		</register>
	</docFiles>
</QHelpCollectionProject>

Далее соответственно:

$ qhelpgenerator help.qhp -o help.qch
Создание структуры файла...
Добавление индивидуальных фильтров...
Добавление данных справки для раздела фильтра (1 из 1)...
Добавление файлов...
Добавление оглавления...
Добавление указателей...
Документация успешно создана.
$ qcollectiongenerator help.qhcp -o help.qhc 
Чтение файла конфигурации коллекции...
Создание файла коллекции...
Кто имел дело с этим классом, с чем его вообще есть?

 

Insomnium
()

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