Я ИТ специалист или Жизнь ИТшника Это блог о моей работе, жизни и увлечениях! Решим ИТ проблемы вместе!

1Июл/134

Как поменять местами две переменные без третьей

Очень часто на собеседованиях задают один вопрос по алгоритмике: Как поменять местами содержимое двух переменных не используя третьей?

Итоговый код на Objective C выглядит так:

int v1,v2;
v1=5;
v2=6;
NSLog(@"Было %i i %i",v1,v2);
v1=v1+v2;
v2=v1-v2;
v1=v1-v2;
NSLog(@"Стало %i i %i",v1,v2);

Чистая математика. Вот только поменять так можно только числа. А строки и обьекты увы нельзя.

1Июл/134

Что нужно знать готовясь к собеседованию на iOS программиста

Как и обещал сформирую примерно 30 тем и вопросов, которые, по опыту других, задают на собеседовании на программиста Objective-C и iOS. На 100% актуальность, корректность и уникальность не претендую, просто собрал в сети что спрашивают и пытаюсь накидать свой план готовности к собеседованию.

План

Связано с категорией: Objective-C и iOS Читать полностью
1Июл/130

Ставим MySQL на MAC OS и систему управления к ней

В этом посте я напишу мини мануал как поставить на MAC MySQL и мы решим задачку из нашего поста про БД

MySQL

1Июл/130

Реляционные БД — освежаем память

Реляционные БД:

  • что такое РБД
  • разница между MyISAM и InnoDB
  • что такое нормализация и денормализация? зачем нужны нормализация и денормализация?
  • применение нормальных форм
  • внешние ключи и зачем они нужны
  • зачем нужны индексы?
  • виды индексов
  • как работают индексы?
  • Что такое запросы SQL
  • применение JOIN: INNER, CROSS, LEFT, RIGHT
  • транзакции
  • триггеры

База данных она и в африке база данных. Хотя несомненно кто-то ее представляет в виде папочек в архиве, но последние лет 20 это понятие все же относится именно к компьютерной базе данных т.е. таблицам с данными, структурированными и отобранными определенным образом. Реляционная БД это подвид БД где данные из различных таблиц связаны между собой по полям-ключам. Помнится мне я как раз лекцию в институте по этому читал. Вспоминать интересно, а вот описывать нет:)

Запросы бывают и такими

Связано с категорией: Objective-C и iOS Читать полностью
25Июн/130

Паттерны они такие паттерны

Вот что мне больше всего выносит мозг в сложившейся ситуации? Паттерны! Куда не посмотришь, что не прочитаешь - везде Банда четырех и паттерны, паттерны, паттерны...

Паттерны они такие паттерны

25Июн/130

Основные понятия ОО программирования в терминах Objective-C

Переходим к нашему следующему пункту разбора вопросов на собеседовании. Теперь мы разбираем обьектно-ориентированное программирование в приложении к Objective-C.

А как правильно пишется ваша ЖЫзнь?

24Июн/130

Парадигмы программирования — парадигмы сознания

Продолжим заполнять наш опросник который задают программистам iOS на собеседовании. Мы подобрались к пункту:

знание других парадигм программирования (функциональной, структурной, аспектной, процедурной)

 

Теория это вам не практика!

21Июн/130

ООП и полнота или неполнота различных языков программирования

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

Все бежим туда!

19Июн/130

Что такое Объектно-ориентированное программирование

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

Что такое Объектно-ориентированное программирование

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

Галиматья, да? Сформулирую проще и своими словами. Когда я писал на ассемблере или на С для микроконтроллеров я управлял памятью, ссылками, кешами и регистрами. Надо нарисовать точку на экране, сиди пиши код для того чтобы вызвать какие либо примитивы доступные тебе и их помощью сделать задуманное. Через прерывания bios например В объектном программировании все так же и одновременно по другому. Нет никаких регистров, точнее есть они но так от нас скрыты что можно сказать что нет их. Есть обьект экран, view или еще как-нибудь. Он просто есть и содержится допустим в базовом фреймворке. Мы посылаем ему сообщение Нарисуй точку с таким оформление в в таких то координатах.  Точка появилась. ВСЕ! т.е. мы вообще не заморочились непосредственно с процессом рисования точки.  Если нужно чтобы точка была сенсорной, бы создаем новый класс на основе базового класса экрана и добавлем к нему свойства и методы реализующие сенсорность.

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

Основные понятия ООП

Объектно-ориентированное программирование базируется на нескольких понятиях.

Абстракция данных. Можно делать упрощенные классы, в которых не вся информация конкретизирована, но с которыми легче работать. Это позволяет очень просто создавать нужные классы при наследовании.

Наследование. На базе одного класса, создается другой класс, содержащий свойства и методы базового класса, его называют потомком.

Инкапсуляция. Чтобы пользователь наших программ не мог изменить что-то важное внутри программы, классы строятся таким образом, что напрямую работать с внутренними данными нельзя - только через методы.

Полиморфизм. Функции(методы) с одинаковыми именами будут обрабатываться по-разному при их вызове из разных классов.

 

 

 

Метки записи: , Нет комментариев
18Июн/130

Отдых почти закончен, впереди будущее

Десяток деньков в Тайланде пролетели незаметно. Вроде вот тропический рай, самолет и мы в нашей убогой действительности, раскрывающейся нам нутром аэропорта Читы и таможенной службы. Гореть им в аду за то как они позорят себя и страну.

Тропический рай

Страница 3 из 2812345...1020...Последняя »