Многие знают, что в Ubuntu Dash для поиска с помощью линз (lenses) использует программные единицы под названием scopes (области). Области могут выдавать ответ на поисковый запрос пользователя, используя не только локальные данные, но и онлайн ресурсы. Одной из первых областей, как пример, шла область, работающая с Amazon, что на долгие годы дало пищу для злопыхательств и упрёков. Дескать Canonical продалась Amazon и торгует товарами и всё в этом духе. Хотя все не так. Совсем не так, но речь пойдёт о другом. Меняется технология Scopes и грядут перемены.
понеділок, 31 березня 2014 р.
неділя, 30 березня 2014 р.
Компонент интерфейса в заголовке окна
В обычной программе за отрисовку окна отвечает недокументированный класс NSThemeFrame.
Создаем окно с оутлетом window на это окно. Добавляем NSView и тоже создаем на него привязку оутлет:
Добавляем на вьюху компонент NSPopupButton, убираем флажок Bordered в Инспекторе Атрибутов. В AppDelegate.h должен быть такой код:
субота, 29 березня 2014 р.
#pragma mark
'#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 пример
Принцип работы состоит в том, что 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, прошивках и как это связано с безопасностью и что нужно и будет исправлено. Дальше текст от его лица и потом только обсуждение куда ветер дует.
понеділок, 17 березня 2014 р.
Видеолекции курса Машинное обучение
Видеолекции курса Машинное обучение.
Лекторы: Игорь Кураленок, Андрей Гулин.
Geeksphone планирует революцию с Ubuntu
Молодой испанский стартап Geeksphone отписал, что они находятся на стадии переговоров с Canonical по поводу запуска Ubuntu на смартфоне Revolution.
неділя, 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 "ползунок"
Создадим форму и расположим на ней некоторые контролы интерфейса:
Добавим:
- Label;
- Slider.
NSPopupButton выпадающий список
Создадим форму, на которой расположим наши контролы интерфейса:
- TextField;
- Button;
- Label.
StatusBar приложение
Создадим новый проект в Xcode. Перейдем в Interface Builder и добавим до нашего созданного окна "меню" (Выберем в списке контролов интерфейса Menu и положим где-то рядом с окном.
Отредактируем элементы списка меню:
- Показать окно;
- Выход.
Эмулятор Ubuntu Phone
С моего последнего тестирования Ubuntu для мобильных систем на моём Nexus 7 прошло достаточно времени и произошли некоторые события.
пʼятниця, 7 березня 2014 р.
GRand Unified Bootloader — Эмулятор GRUB
Практически у каждого пользователя Ubuntu установлен загрузчик GRUB. И многие пользователи, после различных манипуляций с загрузчиком, перезагружают компьютер, чтобы увидеть результаты. Однако это совсем не обязательно, ведь есть утилита GRand Unified Bootloader.
четвер, 6 березня 2014 р.
середа, 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
NSDate *now = [NSDate date]; NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateStyle:NSDateFormatterShortStyle]; [formatter setTimeStyle:NSDateFormatterShortStyle]; // Жесткое указание временной зоны //[formatter setTimeZone:[NSTimeZone timeZoneWithName:@"Kyiv"]]; //[formatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:3600 * 2]]; // Временная зона указанная в системных настройках [formatter setTimeZone:[NSTimeZone localTimeZone]]; NSLog(@"%@",[formatter stringFromDate:now]);