Хабрахабр:
Как часто бывает, зацепив одну, на первый взгляд, маленькую тему, с желанием быстро все узнать и все настроить, приходится закапываться в дремучие дебри и читать не одну статью и/или мануал. Так и получилось у меня в этот раз. Изначально было желание просто узнать, как обновлять порты (или исходные тексты портов) чтоб при желании, устанавливать не устаревшее ПО, но пришлось закопаться немного по глубже. Эта статья предназначена только для новичков во FreeBSD, опытные профи тут вообще ни чего нового, думаю, для себя не найдут. По этому, если вы на ?ты? с этой системой, можете смело пропускать дальнейший текст. Информации на эту тему хватает, но из 6-10 заметок и статей я взял, так скажем, лучшие наработки и опыт, и записал их в одну, с ссылками на более полные статьи, так что при желании можно получить более подробную информацию по каждому пункту. Содержание статьи: 1) Выбор ПО для обновления исходных текстов. 2) Процесс обновления исходных текстов системы и портов. 3) Обновление системы(ядро и мир). 4) Обновление портов при помощи pkg_*, portupgrade, portdowngrade. 5) Заключение 6) Дополнительная литература. Читать дальше →
Буквально вчера мне пришлось разбираться с одним очень тонким и специфичным багом. Баг оказался фичей, которая спотыкалась о другой баг. В ходе изучения проблемы я был вынужден изучить несколько особенностей Debian, угробить 4 часа времени и получить массу опыта. В слегка прилизанном виде привожу хронологию событий, надеюсь, кому-то будет интересно посмотреть, как работают системные администраторы. ПредысторияВ ходе разворачивания стенда для экспериментов из нескольких идентичных серверов захотелось иметь возможность запускать нужные версии приложения без ручной работы по обновлению кода на куче хостов. Было решено запускать нужные программы с NFS-шары. Приложения были internal use only, одноразовые, причём написанные под конкретную задачу. Шара монтировалась в каталог /opt при загрузке и приложения оттуда запускались с помощью скрипта rc.local. Поскольку речь шла про экспериментальный стенд с очень частым изменением кода, играть в честного разработчика (пакеты, репозиторий, обновления, init.d скрипты) было лениво. Всё происходило под Debian Squeeze. Шара была прописана в /etc/fstab, запуск нужных тестов ? в rc.local. Казалось бы, всё сделано. ? И тут я наткнулся на Мистику. Приложения стартовали раз из пяти, причём версия ?кривое приложение? была отметена почти сразу ? ровно так же иногда не запускались любые другие исполняемые файлы. Причём, с /opt. Из других каталогов отрабатывали нормально. При этом руками rc.local запускаешь ? 100% всё хорошо. При загрузке ? успешный запуск раз из пяти, или даже реже. В начале я не воспринимал эту проблему как серьёзную, и пытался её решить нахрапом. Поскольку проблема проявлялась только для /opt я дописал в rc.local команду ls -a1 /opt >/var/log/ls. Как и предполагалось, в /opt на момент выполнения rc.local было только два файла ? точка и две точки. Другими словами, NFS-шара не подмонтировалась. Иногда. А иногда подмонтировалась. Читать дальше →
Много слов сказано о достоинствах юнит-тестов (TDD, BDD ? в данном случае неважно), а также о том, почему люди всё-таки их не используют. Но я думаю, что одна из главных причин заключается в том, что люди не знают, с чего начать. Вот прочитал я статью про юнит-тесты, понравилось; решил, что надо бы когда-нибудь попробовать. Но что дальше? С чего начать? Как придумывать все эти требования, как называть тест-методы? В последнее время набирает популярность тенденция превращать юнит-тесты в BDD-спецификации, то есть говорится о том, что хороший юнит-тест должен не тестировать что-то, а описывать поведение программы. Но как описать это чёртово поведение; откуда брать вдохновение, чтобы придумать названия для всех этих тест-кейсов? Об этом и пойдёт речь: откуда брать вдохновение.
Не так давно была выпущена платформа Android 2.3, в которой были представлены несколько новых форм связи разработчиков и пользователей. Одна из них, Near Field Communications (NFC), позволяет разработчикам приступить к созданию нового класса бесконтактных приложений, основанных на близости. NFC — это новая технология, предоставляющая новые способы использования мобильных устройств, в том числе покупка билетов, реклама, рейтинги и обмен данными с другими устройствами. (О технологии в Википедии) Команда Android считает, что к появлению во многих приложениях этих возможностей есть большой интерес, поэтому выпущено обновление к Android 2.3, добавляющее для разработчиков новые возможности NFC. Некоторые особенности включают: Читать дальше →
Является ли Андроид Линуксом? Если да, то в какой мере, а если нет, то почему? Найти ответ на этот одновременно простой и сложный вопрос ? одна из целей этой статьи. Прежде чем делать хоть какие-то выводы, давайте подготовим основу для споров и обсуждения: дадим определения терминов, опишем критерии оценки и опишем текущую ситуацию. Во первых, что такое Android? Android ? это операционная система главным образом для мобильных устройств. Далее, что такое Linux? Одни сразу скажут, что это ядро Linux (Linux Kernel) и представят надпись, наподобие этой: ?Linux 2.6.31-14-server?. Другие сразу вспомнят про названия дистрибутивов: Ubuntu, Gentoo, CentOS и т.д., т.е. то, что называют операционной системой. Читать дальше →
Отписаться от этой рассылки