воскресенье, 24 мая 2009 г.

Linux Distribution Chooser

Очень интересная вещица. Выбор подходящего для вас дистрибутива Linux.

Мне подошли Slackware (90%) и Gentoo (90%) :)

среда, 13 мая 2009 г.

KDE 4.3 Beta1



Вот и увидела свет первая бета версия KDE 4.3





13 Мая, разработчики моего любимого DE аннонсировали выход первой беты 4.3.





Главные новшества:

* Интегрирована поддержка PolicyKit для управления правами пользователей, создание политик ограничения доступа к различным подсистемам и делегирование пользователям отдельных повышенных привилегий;
* Возвращен привычный древовидный менеджер настроек KControl. Добавлен модуль настройки для привязки действий к различным аппаратным событиям;
* Добавлена поддержка сервисов геопозиционирования;
* Реализованы новые анимационные эффекты для окон, улучшено юзабилити всплывающего диалога Run Command;
* В менеджере управления персональной информацией Akonadi добавлена поддержка синхронизации с Google Calendar;
* В KMail появилась возможность вставки изображений в текст сообщений;
* Поддержка настройки клавиатурных комбинаций для Plasma.
* Возможность предварительного просмотра содержимого директории в Plasma;
* Поддержка форматирования текста в knotes;
* Возможность предварительного просмотра видео контента в Dolphin;
* Расширение JavaScript API;
* Новые плазмойды: Bubble Monitor (системный монитор), Magnifique ("увеличительное стекло"), Media Player, openDesktop (плазмойд для организации социального десктопа), Remember The Milk Plasmoid (управление планированием решения задач), Unit converter. 



вторник, 12 мая 2009 г.

Доза!

Читал только что securitylab.ru и наткнулся на такую новость: Екатеринбуржца судят за пиратскую Windows на домашнем компьютере. Осудили парня на штраф в размере до 200 тысяч рублей, либо обязательные работы на срок от 180 до 240 часов, либо лишение свободы на срок до 2 лет.


Иванчиков-Нееловский в марте 2009 года у себя дома на системный блок установил программное обеспечение, обладающее признаками контрафактности: «Microsoft Windows Professional SP3/ Русская версия», «Microsoft Office 2007. Русская версия», и другие программы, правообладателями которых являются корпорация Microsoft. Указанные программы являются объектами авторского права, их общая стоимость составляет более 125 тысяч рублей.

Комментарии на секлабе как всегда жгут:



Кстати да, дело и желтоновость о нем удивительным образом совпадает с началом раздачи бесплатной седьмой дозы (http://www.google.com.ua/search?hl=ru&q=windows+7+бесплатно).


Да нет, дело в том, что у M$ упали доходы http://www.vesti.ru/doc.html?id=242171


Так что ждем седьмой дозы...

Г-н Следователь

Авторские права такие авторские
г-н Следователь, позвольте интимный вопрос: у вас мобильник есть? Хотите, посажу вас по 272 и 154 ст. УК РФ прямо в зале суда? Оч просто: набираю ваш номер, и весь зал слышит рингтон вашей мобилы, за который вы не платили. А если мелодия урезана, значит вы виновны еще и в неправомерном доступе! Итого, срок от 3 до 7 лет. А ваш подозреваемый будет освобожден в зале суда, т. к. расследование было проведено тяжким преступником, поправшим авторские права, и буде считаться недействительным)))

Было здесь и здесь.

понедельник, 11 мая 2009 г.

Microsoft

Microsoft инвестирует в РФ 10 млрд рублей


Опасность! Стив Балмер объявил о запуске трехлетнего инвестиционного плана Microsoft объемом 10 млрд рублей (примерно 300 млн долларов США). Пакет инвестиций предусматривает как немедленный запуск ряда краткосрочных антикризисных программ, так и дальнейшее расширение долгосрочных проектов корпорации в России.

вторник, 5 мая 2009 г.

jquery. Полезности

Полюбому это пригодится visual jquery Очень полезная вещица

Обновляем 1С

Брат попросил помочь обновить 1С в одном из офисов, в компании, где он работает. Меня это предложение заинтересовало, а так как ни разу этим не занимался погуглил и составил для себя мини-туториал.

Если речь идет о типовых конфигурация то можно выделить 2 варианта обновления для платформы 7.7 и 8 соответственно:

Для 1С:Предприятия 7.7:
Обязательно прочитайте файт update.txt где может располагаться важная информация об обновлении.
1. Запустите систему 1С:Предприятие в режиме "Конфигуратор".
2. Сделайте архивную копию вашей информационной базы.
3. Вызовите режим "Объединение конфигураций", для этого
в меню "Конфигурация" выберите пункт "Объединение конфигураций".
4. В запросе "Открыть файл конфигурации" выберите
файл метаданных 1Cv7.MD нового релиза конфигурации.
5. В окне режима "Объединение конфигураций" проверьте:
- в группе "Приоритет конфигурации" был установлен
переключатель "Загружаемая конфигурация";
- в группе "Метод объединения" установлен
переключатель "Замещать объекты".
6. Нажмите кнопку "OK" для объединения конфигураций.
7. После завершения будет открыто окно "Конфигурация",
содержащее конфигурацию с внесенными изменениями.
8. Выполните сохранение конфигурации.

Для платформы 1С:Предприятие 8:
1. Сделайте резервную копию вашей информационной базы.
Резервную копию можно создать:
при использовании файлового варианта 1С:Предприятия 8 - путем копирования файла 1СV8.1CD в отдельный каталог;
при использовании клиент - серверного варианта 1С:Предприятия 8 - средствами SQL Server.
Независимо от используемого варианта 1С:Предприятия 8, резервную копию можно создать, используя режим выгрузки информационной базы. Для этого:
запустите систему 1С:Предприятие в режиме "Конфигуратор";
в меню "Администрирование" выберите пункт "Выгрузка информационной базы";
в открывшемся диалоге укажите имя файла, в который будут записаны данные.
2. Запустите систему 1С:Предприятие в режиме "Конфигуратор".
3. Откройте конфигурацию, для этого в меню "Конфигурация" выберите пункт "Открыть конфигурацию".
4. Вызовите режим "Обновление конфигураций", для этого в меню "Конфигурация", подменю "Поддержка", выберите пункт "Обновить конфигурацию".
5. В диалоге выбора обновления в качестве источника обновления укажите "Доступные обновления", после чего выберите нужное обновление в соответствующем списке.
Если в списке обновлений необходимое обновление отсутствует, то в диалоге выбора обновления в качестве источника обновления укажите "Файл обновления", после чего выберите нужный файл обновления (по умолчанию 1cv8.cfu).
6. В окне "Обновление конфигураций" нажмите кнопку "OK" для продолжения обновления конфигурации.
7. После завершения будет открыто окно "Конфигурация", содержащее конфигурацию с внесенными изменениями. Выполните сохранение конфигурации.


Вот в принципе и все!

Что такое JSON?

JSON (JavaScript Object Notation - представление объектов JavaScript) - легкий формат представления данных, основанный на подмножестве синтаксиса JavaScript, а точнее на литералах массивов и объектов. JSON - это альтернатива традиционным форматам (обычный текст или XML), которые используются при обмене данными между сервером и клиентом. В отличие от XML и XML-совместимых языков, которые требуют синтаксического анализа, определения JSON могут быть просто включены в сценарии JavaScript. Формат JSON предложен программистом Дугласом Крокфордом (Douglas Crockford).


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


Массивы как литералы

Массив в JavaScript можно определить с помощью конструктора Array, например так:


var aData = new Array("строка", true, 43, null);

В JavaScript массивы нетипизированные, поэтому в них можно хранить различные типы данных. В примере массив содержит строку, логическое значение, число и значение null.


Массив же, описываемый как литерал, можно определить с помощью квадратных скобок, внутри - значения элементов массива, через запятую. Вот как будет выглядеть тот же самый массив, но в литеральной нотации:


var aData = ["строка", true, 43, null];

Обращаться к отдельным элемента массива можно указывая имя массива и номер элемента:


alert(aData[0]);
alert(aData[1]);

Объекты как литералы

Объекты в JavaScript определяются с помощью конструктора Object, например так:


var oAuto = new Object();
oAuto.firm = "Audi";
oAuto.model = "A6";
oAuto.year = 2008;
oAuto.price = 78000;

Тот же самый код, но в литеральной нотации будет выглядеть так:


var oAuto = {
"firm":"Audi",
"model":"A6",
"year":2008,
"price":78000
};

Этот код создает объект со свойствами firm, model, year и price и обращаться к ним можно таким образом:


alert(oAuto.model);
alert(oAuto.year);

но можно использовать и синтаксис массивов обращаясь к свойствам объекта таким образом:


alert(oAuto["model"]);
alert(oAuto["year"]);

В литеральной нотации описания массивов и объектов можно вкладывать друг в друга, создавая таким образом объект массивов или массив объектов. Посмотрите этот код:


var aAuto = [
{
"firm":"BMW",
"model":"X5",
"year":2007,
"price":99000
},
{
"firm":"Audi",
"model":"A6",
"year":2008,
"price":78000
},
{
"firm":"Volkswagen",
"model":"Touareg 7L",
"year":2006,
"price":45000
}
];

Мы создали массив aAuto, который содержит три объекта. Комбинируя синтаксис обращения к массивам с синтаксисом обращения к объектам попробуем получить год выпуска второго автомобиля:


alert(aAuto[1].year); // получаем 2008

Можно сделать наоборот, и описать объект массивов:


var oAuto = {
"firm":["BMW", "Audi", "Volkswagen"],
"model":["X5", "A6", "Touareg 7L"],
"year":[2007, 2008, 2006],
"price":[99000, 78000, 45000]
};

в этом случае обращаемся сначала к объекту, а затем к массиву внутри него:


alert(oAuto.year[1]); // получаем 2008

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


JSON - комбинация массивов и объектов и предназначен только для хранения данных. Как следствие, JSON не может иметь переменных и не допускает никаких операций над ними. Давайте попробуем записать предыдущий пример, используя синтаксис JSON:


{
"firm":["BMW", "Audi", "Volkswagen"],
"model":["X5", "A6", "Touareg 7L"],
"year":[2007, 2008, 2006],
"price":[99000, 78000, 45000]
}

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

Обратите внимание: именно строку, а совсем не объект или объект с вложенными в него массивами. Преобразуем строку в объект, используя функцию eval().


var oAuto = eval("(" + sData + ")");

В результате этого получится объект, который мы описали чуть выше.


Преимущество JSON перед XML

Так в чем же все-таки состоит преимущество JSON перед XML?


Здесь речь идет исключительно о преимуществах и недостатках только лишь с точки зрения организации обмена данными в Сети.


В том, что язык XML оказывается очень избыточным при сравнении с JSON. Давайте убедимся в этом на простом примере. Одни и те же данные представим в формате XML и в формате JSON.

<general>
<cars>
<car>
<firm>BMW</firm>
<model>X5</model>
<year>2007</year>
<price>99000</price>
</car>
<car>
<firm>Audi</firm>
<model>A6</model>
<year>2008</year>
<price>78000</price>
</car>
<car>
<firm>Volkswagen</firm>
<model>Touareg 7L</model>
<year>2006</year>
<price>45000</price>
</car>
</cars>
</general>


При использовании формата JSON выигрыш составит 42 байта, а без учета пробелов и вовсе 86 байт. А если вспомнить еще и о том, что данные в формате JSON не требуют дополнительного синтаксического анализа на стороне клиента - преимущество JSON перед XML в аспекте передачи данных от сервера клиенту становится очевидным...


По этой теме могу порекомендовать прочитать переводную статью JSON и XML. Что лучше? на Хабрахабре, а я надеюсь, что мне удастся в ближайшем будущем подробнее рассказать о утилитах для работы с JSON как на стороне клиента, так и на стороне сервера.