Я конечно не претендую, что описанный ниже метод асболютно правильный, но он простой и обеспечивает мне стабильную работу приложения уже достаточно долгое время…
Если устанавливать NetBeans сразу после установки системы, а я именно так всегда и делаю, то для начала понадобится установить JDK. Я много встречал негативных комментариев и «камней» в сторону дефолтного JDK, что решил воспользоваться альтернативным, а точнее Oracle JDK.
Порядок установки Oracle JDK следующий:
1. Удаляем OpenJDK:
sudo apt-get purge openjdk*
2. Открываем терминал и запускаем следующую последовательность комманд:
Находим сохраненный файл (я обычно сохраняю его на Рабочий стол), открываем свойсва файла, находим вкладку Permissions и ставим галочку в поле Allow executing file as programm. Закрываем окно, запускаем файл и устанавливаем NetBeans.
Если после первого запуска IDE вы заметили что главное меню сливается с заголовком окна, то необходимо еще выполнить следующее: ищем файлик /usr/share/themes/Ambiance/gtk-2.0/gtkrc, открываем его для редактирования от имени админа
На работе стоит прокси требующий аутефикации, в этих ваших интернетах есть полно информации как настроить работу консольных программ через прокси, они все сводятся к записи переменной окружения:
Сегодня развернул Elgg на веб-сервере NGINX, и первая проблема с которой столкнулся — это небходимость замены mod-rewrite директив, которые содержатся в файле .htaccess, на соответсвующие правила для NGINX (rewrite-rules). Читать →
В руки попал «d-link dir -320» и сразу его судьба была предрешена. В ближайшем магазине по этому случаю была куплена флешка на 16 Гб, на которой мы будем хранить систему и что-нибудь ещё. Описывать перепрошивку dir-320 со стандартной на OpenWRT буду на ходу. Cобирать будем на ubuntu 12.04 , поэтому ядро должно быть 3.2.0. Читать →
В операционной системе Linux помимо обычных задержек(sleep) и таймеров, реализованы таймеры высокого разрешения. Таймер и задержки высокого разрешения позволяет измерять временные промежутки с точностью до наносекунд, а так же позволяют приложения «засыпать» на непродолжительное время(в зависимости от конфигурации системы) соизмеримое с несколькими микросекундами.
//=============================================================== // Name : HiTimer.c // Author : D.Falko // Version : 1.0 // Description : High Resolution timer test //===============================================================
// iter*delay должно примерно равняться nsec, узнаем погрешность задержек printf("Number of iterations: %d timer value: %d nsecn", iter, delay); printf("Time elapsed: %ld nsecn", nsec);
return0; }
А теперь подробней о использованных компонентах.
Используемая структура времени определена в <sys/time.h> и выглядят следующим образом:
struct timespec { long tv_sec;/* секунды */ long tv_nsec;/* наносекунды */ };
Далее мы узнаем и выводим на экран точность(разрешение) системных часов, при помощи функции:
int clock_getres(clockid_t clk_id,struct timespec *res);
в структуру struct timespec *res записывается разрешения, указанных в clockid_t clk_id часов.
clockid_t clk_id может быть:
▪
CLOCK_REALTIME: часы реального времени, доступные всем процессам в системе. Часы измеряются в секундах и наносекундах с начала эпохи (то есть 00:00:00 1 января 1970 по Гринвичу). Точность 1/HZ секунд.
▪
CLOCK_MONOTONIC: время непрерывной работы ОС, доступное всем процессам. В Линукс оно измеряются в секундах и наносекундах после загрузки ОС. Точность 1/HZ с. Время в этих часах не может быть изменено каким-либо процессом, по этому рек