понеділок, 31 березня 2014 р.

Будущие Ubuntu и онлайн Scopes

Многие знают, что в Ubuntu Dash для поиска с помощью линз (lenses) использует программные единицы под названием scopes (области). Области могут выдавать ответ на поисковый запрос пользователя, используя не только локальные данные, но и онлайн ресурсы. Одной из первых областей, как пример, шла область, работающая с Amazon, что на долгие годы дало пищу для злопыхательств и упрёков. Дескать Canonical продалась Amazon и торгует товарами и всё в этом духе. Хотя все не так. Совсем не так, но речь пойдёт о другом. Меняется технология Scopes и грядут перемены.

неділю, 30 березня 2014 р.

Компонент интерфейса в заголовке окна

В обычной программе за отрисовку окна отвечает недокументированный класс NSThemeFrame.
Создаем окно с оутлетом window на это окно. Добавляем NSView и тоже создаем на него привязку оутлет:

Добавляем на вьюху компонент NSPopupButton, убираем флажок Bordered в Инспекторе Атрибутов. В AppDelegate.h должен быть такой код:

суботу, 29 березня 2014 р.

#pragma mark

Директива #pragma mark добавляет строку в "Function menu". 
'#pragma mark -' - добавляет горизонтальную линию в меню;
'#pragma mark labelname' - добавляет заголовок.

середу, 26 березня 2014 р.

View-based NSTableView пример

Виды на основе view-based таблицы, обеспечивают богатые возможности во время проектирования. Сам по себе NSTableCellView отображает ImageView и textField. Но отличающейся особенностью этого рода view-based ячеек от cell-based ячеек, является размещение в ячейке разных видов компонентов интерфейса.

понеділок, 24 березня 2014 р.

Почему выбор дисплейного сервера не так важен?

Когда только Canonical начала разрабатывать свой дисплейный сервер Mir, на этом поле уже были работающий, но старый X и новенький, но вяло разрабатываемый Wayland. Третий лишний! - решила часть пользователей. Кто вам будет писать писать заново драйвера? - неверно рассуждала другая часть, ибо многим разработчикам нужно в драйверах лишь новый интерфейс EGL вместо старого GLX. Разработчик Роберт Анцел (Robert Ancell) повествует, о таком компоненте как дисплейный сервер.

неділю, 23 березня 2014 р.

NSPopover и detachableWindowForPopover пример

NSPopover является анимированный всплывающий компонент, который показывает загруженные файлы в вэб-браузере Safari. Такой компонент был добавлен ​​в Mac OS X Lion. Если вы когда-нибудь задумывались, как добавить его в код, то это очень просто.

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

Начнем. У нас есть окно. Добавим на окно нашей формы кнопку, по которой мы будем вызывать наш popover.

пʼятницю, 21 березня 2014 р.

NSString удаление пробелов в начале и конце текста

Удаление ненужных пробелов по бокам текста:

NSString *string = @" spaces in front and at the end ";
NSString *trimmedString = [string stringByTrimmingCharactersInSet:
                           [NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSLog(trimmedString);

Хотя такая стандартная задача может выглядеть с чрезмерно большим количеством кода,но при этом Вы получаете множество дополнительных функций для операций с текстом. NSCharacterSet и его набор некоторых методов:

Email клиент для будущего Ubuntu

Сейчас Unity 8 доступна для тестов аля программа. Установив её и запустив export UBUNTU_ICON_THEME=ubuntu-mobile && unity8 -mousetouch можно посмотреть как будет происходить адаптация Unity 8 к различным размерам экранов, делая ресайз окну. Но такие финты ушами должны делать и программы системы, хотя бы основные. Нынешние десктопные программы если сузить их до небольших размеров, имитируя небольшой экран смартфона, выглядят, если честно, не очень и это понятно. Выход? Нужно писать CoreApps самим и в design guide прописать рекомендации для сторонних разработчиков.

Ubuntu для планшетов выйдет осенью 2014 года

Марк Шаттлворт заявил, что Ubuntu для планшетов выйдет на рынок одновременно с первыми смартфонами под управлением Ubuntu.

середу, 19 березня 2014 р.

Новости от прибывающего Ubuntu 14.04

Помните то приятное чувство, когда подъезжаешь на поезде к своему родному городу и вот осталось совсем чуть-чуть и ты в пункте назначения. Но пока мелькают ближайшие к городу станции и ты сидишь у окна и смотришь, что нового появилось в твоё отсутствие. Поезд Ubuntu 14.04 прибывает к нам 17 апреля 2014 года, но до этого мы должны проехать важную для россиян станцию Language-Pack Translation-Deadline. Но давайте об новостях с чувством, с толком, с расстановкой...

вівторок, 18 березня 2014 р.

Badges на иконке Вашего приложения (дополнение) / NSlider and docTile

Дополнение к статье заключается в том чтобы в реальном времени изменять данные в бэйджике на иконке приложения вместе с некими изменениями данных в Вашем приложении.
Нужно добавить в методе
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
строчку после
[sliderTextLabel setIntValue:[slider intValue]];
:
[[NSApp dockTile] setBadgeLabel:[NSString stringWithFormat:@"%i",[slider intValue]]];
Эта строка проинициализирует начальное состояние числового значения слайдера и выведет его в бейдж.

ACPI, firmware и ваша безопасность

Основатель Canonical и глава разработки Ubuntu Марк Шаттлворт в своём блоге сделал интригующий пост. Почему интригующий? Сейчас только кончился MWC 2014 где все жужжали про испанскую BQ и китайский Meizu, которые будет первыми делать Ubuntu Phone. Так же на носу апрель - выход Ubuntu 14.04 LTS, которая станет первым шагом к началу схождения всего и вся под единым флагом Убунту. А что же Марк? Он с высоты своего диктаторского трона пишет об ACPI, прошивках и как это связано с безопасностью и что нужно и будет исправлено. Дальше текст от его лица и потом только обсуждение куда ветер дует.

неділю, 16 березня 2014 р.

Добавить N-дней к NSDate

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

суботу, 15 березня 2014 р.

Конвертация NSString в массив символов

Один из способов сделать это - просто получить один символ подстроки из заданной полной строки:
NSString *s = @"Hello World";
NSMutableArray *m = [[NSMutableArray alloc] init];
 
for (int i = 0; i < [s length]; i++) {
    [m addObject:[s substringWithRange:NSMakeRange(i, 1)]];
}
 
NSLog([m description]);

KVC (Key-Value Coding) Ключ - Значение

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

пʼятницю, 14 березня 2014 р.

Objective-C подтверждение адреса электронной почты

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

Этот метод использует класс NSRegularExpression. Описание по этому классу можно посмотреть в документации Apple.

четвер, 13 березня 2014 р.

Конвертация NSString-даты в удобно читаемую дату

Идея состоит в том чтобы полученную дату (например: 11/03/2014) перевести в более удобно читаемый, более человечный формат (например: вторник 11 марта 2014г.). Значит будем работать с NSDateFormatter.

Дисплейный сервер Mir будет по умолчанию в Ubuntu 16.04 LTS

Новый дисплейный сервер Mir, разрабатываемый в Canonical, сейчас находится в стадии интенсивной разработки и как сказал Марк Шаттлворт на Ubuntu Developer Summit - Mir будет по умолчанию в Ubuntu 16.04 LTS.

GUI для BitTorrent Sync

В своей статье "BTSync на службе у админа" я описывал замечательную утилиту, использующую мощь протокола BitTorrent. Для всех пользователей минусом btsync можно посчитать её закрытость и отправка анонимной статистики при определённых условиях. Для линуксоидов небольшим минусом можно посчитать отсутствие GUI для работы с btsync. Доступны были только правка конфигурационного файла в консоли или настройка через веб-интерфейс ака WebUI. Но теперь возрадуйтесь, ибо для Linux появилась хоть и не официальная, но графическая мордочка, а для Ubuntu даже есть индикатор.

середу, 12 березня 2014 р.

Изменения в Ubuntu 14.04 перед UIFreeze

Вот что мне не совсем нравится в Canonical, так ситуация с milestone, которые как вехи стоят вдоль каждого релиза и он их проходит как горнолыжник на спуске. Эти milestone остались, но стали номинальными и к этому нужно привыкнуть. Вот прошли мы FeatureFreeze, то есть заморозку нового, но 13 марта только пройдём UserInterfaceFreeze и это позволяет разработчикам пихать новое оформление, хотя новое вносит новый функционал, а это должен запрещать этап FeatureFreeze. Canonical можно понять! Ubuntu 14.04 это новый LTS на будущие 5 лет и хочется задеть край будущего, но всё таки стабильность и надёжность важнее должны быть? На носу апрель - выход релиза 14.04! Кроме автоматизированных тестов каждые 2 недели, нужно больше времени на тестирование людьми на своём различном оборудовании!

вівторок, 11 березня 2014 р.

Вероятно дефолтная обоина для Ubuntu 14.04

Конкурс создания обоев для Ubuntu 14.04 ещё идёт и победителя объявят в ближайшие дни, но интрига в том, что дефолтную обоину создают в стенах Canonical. Вот и в этот раз нашему вниманию представили изображение. Может она и будет лицом Убунту 14.04 Тар?

понеділок, 10 березня 2014 р.

NSSlider "ползунок"

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

Создадим форму и расположим на ней некоторые контролы интерфейса:

Добавим:
- Label;
- Slider.

NSPopupButton выпадающий список

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

Создадим форму, на которой расположим наши контролы интерфейса:

- PopUpButton;
- TextField;
- Button;
- Label.

StatusBar приложение

Простой пример приложения которое имеет свое меню в статус баре OS X.

Создадим новый проект в Xcode. Перейдем в Interface Builder и добавим до нашего созданного окна "меню" (Выберем в списке контролов интерфейса Menu и положим где-то рядом с окном.
Отредактируем элементы списка меню:

- Показать окно;
- Выход.

Эмулятор Ubuntu Phone

С моего последнего тестирования Ubuntu для мобильных систем на моём Nexus 7 прошло достаточно времени и произошли некоторые события.

пʼятницю, 7 березня 2014 р.

GRand Unified Bootloader — Эмулятор GRUB

Практически у каждого пользователя Ubuntu установлен загрузчик GRUB. И многие пользователи, после различных манипуляций с загрузчиком, перезагружают компьютер, чтобы увидеть результаты. Однако это совсем не обязательно, ведь есть утилита GRand Unified Bootloader.

середу, 5 березня 2014 р.

7 улучшений в Ubuntu 14.04, которые вы полюбите

Ubuntu 14.04 Trusty Tahr прошёл отметку Features Freeze, а значит новинки больше добавлятся не будут, впереди время только для тестирования и исправления ошибок. Ещё немного, ещё чуть-чуть ... и мы увидим новый 14.04 LTS релиз с семью десктопными штучками, которые не оставят вас равнодушными и должны понравиться.

вівторок, 4 березня 2014 р.

ИТ терминология

Очень часто в компьютерной терминологии встречаются слова, которые в рунете не имеют устоявшихся значений. Да что там значений, упоминаний еле найдёшь. В данной статье сделана попытка собрать такие термины и описать их с объяснением, где именно и для чего они употребляются в ИТ.

понеділок, 3 березня 2014 р.

Вход в LXC контейнер через Unity Greeter

Ещё со времён Ubuntu 12.10 в экран приветствия Unity Greeter была добавлена возможность входить через Unity Greeter не только в локальную систему с локальной учётной записью, но и в удалённые облачные инстансы. С релизом LXC 1.0 захотелось попробовать реализовать задумку со входом в операционную систему, отличную от хостовой системы. LXC позволит не использовать облака и тем более платить за их использование, а задействовать локальную технологию контейнерной изоляции.

неділю, 2 березня 2014 р.

Ubuntu получила высший балл

Различные операционные системы, в том числе Ubuntu, проверили на соответствие руководствам безопасности CESG, которые являются правой рукой правительства Великобритании по вопросам информационной безопасности. Кто лучше всех? Ubuntu!

Видеолекции курса Базы данных

Видеолекции курса Базы данных.

Лекторы: Илья Тетерин, Вадим Цесько, Антон Волохов, Дмитрий Щитинин, Герман Андреев.

суботу, 1 березня 2014 р.

Установить бэйдж на иконку приложения с помощью Objective-C

Для быстрой установки бэйджа на иконку своего приложения можно с помощью метода NSDockTitle.

[[NSApp dockTile] setBadgeLabel:@"МойБэйдж"];

Это покажет красный бэйдж на иконке Вашего приложения. Но нужно помнить одну вещь. Сообщение будет показано полностью если текст сообщения не будет длиннее чем ширина иконки приложения.

Не убиваемое приложение на OS X

Небольшая, невинная шалость, которую Вы можете сделать своему другу на его Маке. Инструменты которые нам понадобятся:
- Текстовый редактор;
- Терминал.

Текущая дата OS X / iOS

Вывод текущей даты с учетом временной зоны в OS X и iOS:
  1. NSDate *now = [NSDate date];
  2. NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
  3. [formatter setDateStyle:NSDateFormatterShortStyle];
  4. [formatter setTimeStyle:NSDateFormatterShortStyle];
  5.  
  6. // Жесткое указание временной зоны
  7. //[formatter setTimeZone:[NSTimeZone timeZoneWithName:@"Kyiv"]];
  8. //[formatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:3600 * 2]];
  9.  
  10. // Временная зона указанная в системных настройках
  11. [formatter setTimeZone:[NSTimeZone localTimeZone]];
  12. NSLog(@"%@",[formatter stringFromDate:now]);

HyperComments for Blogger

comments powered by HyperComments