• Главная
  • Оглавление
  • Обратная связь
  • Лента RSS
  • Правила
Что здесь уже нашли

Автор будет очень признателен, если Вы кликнете по одной из белых ссылок выше.
Вам это ничего не стоит, а автору сайта будет приятно ;)




Найдено страниц: 31 [показано 10]

  1. Урок информатики для мелкософта (пояснение к залепе №8)

    Степень соответствия запросу: 55,52%
    Фрагменты текста поста :
    ... Выходило, что чтобы получить оптимальное по скорости и памяти решение (например драйвер устройства или часть ядра ОС) необходимо использовать только ассемблер, напороть ошибок в котором проще простого... ... возможность указать, что переменная должна храниться в регистре процессора, а не в памяти... ... возможность управления размещением переменных и полей структур в памяти... ... команды выделения/освобождения памяти... ... А получится следующее: для объекта a будет вызван метод T operator+(const T&) const , которому в качестве параметра будет "скормлен" объект b... ... этот метод что-то сделает (например прибавит одно к другому) и создаст временный объект типа Т для хранения результата... ... затем метод вернет ссылку на созданный временный объект (назовем его " объектом D ")... ... будет вызван метод объекта с : T& operator=(const T&) , т... ... этот метод и приведет объект с в соответствие с состоянием объекта D , переданного в качестве аргумента... ... Временный объект D будет уничтожен... ... Первоочередную важность тут имеют не вызовы методов и не махинации с объектами, а тот факт, что наше простейшее и казалось бы безобидное выражение c = a + b приводит к автоматическому (скрытому от наших глаз) созданию и уничтожению объекта со всеми вытекающими отсюда накладками... ... Но тут я хочу напомнить, что создание объекта - это не только выделение памяти под сам объект, но и создание и инициализация всех его членов-полей (которые, в свою очередь, тоже могут быть объектами), а также выполнение конструктора этого объекта и всех конструкторов всех его предков... ... Соответственно уничтожение объекта - это вызов деструкторов объекта и всех деструкторов всех его предков плюс уничтожение всех его членов-полей, которые тоже могут быть объектами... ... Ну, а если этот объект представляет собой, например, таблицу из базы данных, который, вдобавок ко всему сказанному, при инициализации будет устанавливать соединение с этой самой БД и загрузку данных из нее, отъедая не только память и процессорное время, но еще и канал связи... ... Берем выражение a += b и препарируем его: для объекта a будет вызван метод T& operator+=(const T&) , которому в качестве параметра будет "скормлен" объект b... ... этот метод что-то сделает с объектом а (изменит его состояние ) и вернет ссылку на объект а... ... Отличие шарпа от С++ (в данном случае) в том, что наши переменные a и b являются на самом деле не "хранителями" объекта, а всего лишь ссылками на него... ... теперь ссылается на тот же объект в памяти, на который ссылается a... ... x становится равным 4 (они же ссылаются на один и тот же объект) после выполнения сгенерированного компилятором оператора operator+=() происходит что-то очень странное - связь переменных a и c внезапно разрывается, ибо теперь они указывают на совершенно разные объекты... ... Разве наше сложение не должно просто изменить объект, на который ссылается переменная a и всё... ... Получается, что оператор сложения создал временный объект с результатом (помните " объект D "... ... Вот так и будет у нас болтаться в памяти фантом (на который ссылается переменная c ), который должен быть давным-давно уничтожен, а правильнее - просто откорректирован еще в методе operator+=() , создание которого майкрософт возложило на компилятор и ( внимание... Подробнее: http://fit-media.com/post_1198760520.html


  2. Оптимизируем мышиную возню

    Степень соответствия запросу: 24,8%
    Фрагменты текста поста :
    ... и сравню их с Adobe Photoshop : чтобы создать копию объекта, схватите его левой кнопкой мыши, оттащите и, не отпуская левую кнопку, щелкните правой... ... При этом исходно-захваченный объект вернется на свое место, а у вас "в руках" окажется его копия, которую вы можете тащить дальше... ... левый клик приводит к выделению объекта... ... При этому вокруг объекта появляются контрольные квадратики, тягая которые можно передвигать и масштабировать объект... ... Повторный левый клик по уже выделенному объекту меняет контрольные квадраты на контрольные стрелки, с помощью которых можно поворачивать и наклонять объект... ... Правда одновременно с масштабированием можно еще и поворачивать объект... ... Но зато для переключения в другие режимы (например для наклона объекта) приходится делать правый клик по объекту и выбирать нужный режим из выпадающего меню... ... Не забывайте, что даже с таким "скромным" набором элементов управления можно выстраивать очень хитрые комбинации типа: схватить объект левой кнопкой мыши, тащить объект с нажатой Ctrl + клики правой кнопкой... ... Для вышеописанного выше "китайского кода" может быть такое, например, объяснение: левой кнопкой хватаем и тащим объекты по экрану... ... клик правой кнопкой вызывает создание копии объекта в текущей позиции... ... Часто даже матерые пользователи забывают (а многие об этом и не догадываются), что объекты можно таскать не только левой кнопкой , но и правой и даже средней... ... Везде где можно используйте возможности технологии "Drag-and-Drop" Пользователю гораздо удобнее схватить объект и перетащить его в корзину или в другое окно, чем отметить объект и потом лазить по пунктам меню (или по многочисленным тулбарам) в поисках команды удаления/переноса... Подробнее: http://fit-media.com/post_1199978157.html


  3. Залепа №9. Microsoft друзей не признает.

    Степень соответствия запросу: 6,92%
    Фрагменты текста поста :
    ... Голуба "Правила программирования в С и С++" (речь идет именно о C++): Цитата: Как-то раз я видел интерфейс, в котором объект "календарь" позволял пользователю интерактивно выбирать дату, щелкая мышью на каком-либо из дней, показанных на изображении календаря... ... "Календарь" затем экспортирует эту дату в другие части программы, помещая ее в объект "дата", который возвращается из сообщения get_date()... ... При выполнении должным образом единственным видимым в других частях программы объектом был бы объект "дата"... ... "Дата" использовала бы объект "календарь" для реализации сообщения "инициализируй_себя" (которое могло бы быть конструктором), но "календарь" бы содержался внутри "даты"... ... Объект "дата" также мог бы поддерживать другие инициализирующие сообщения, такие как "инициализируй_себя_от_редактируемого_ввода" или "инициализируй_себя_из_строки", но во всех случаях объект "дата" отвечает за нужное для инициализации взаимодействие с пользовательским интерфейсом... ... никто, кроме "даты", даже бы не знал о существовании объекта "календарь"... ... Затем вы можете передавать объект "дата" всюду, куда необходимо... ... // создали объект "дата" с текущей датой внутри cd = new CDate("15... ... Из третьего пункта следует, что объекты класса CCalendar будут создаваться не пользователем, а только классом CDate , им же они будут контролироваться в течении всей жизни календаря и, в конце-концов, он же их будет и уничтожать... ... Судя по первым двум пунктам, наши объекты CDate и CCalendar будут активно вызывать методы друг друга... Подробнее: http://fit-media.com/post_1199568462.html


  4. Файлы vs базы данных.

    Степень соответствия запросу: 4,04%
    Фрагменты текста поста :
    ... Скрипт считывает в память ВЕСЬ файл статистики, не взирая на размер ( если посещаемость высокая или статистика собирается за большой срок, то это могут быть десятки или даже сотни мегабайт )... ... тут затронута обработка данных только из одного «раздела» статистики (а ведь скрипт еще должен скорректировать данные и в остальных), не описан блок, который проверяет доступность сайта для данного юзер-агента и хоста-источника (а он жрет времени тоже немало), не учтены потери на выделение/освобождение памяти и копирование целых веток массива, если автор решил (для упрощения программирования) отделить часть массива например так: Пример кода $as = $ar['allsein']... ... Для работы механизма БД, система должна будет загрузить целиком в память три файла индексов... ... Но, в отличии от ранее рассмотренного варианта работы файлового движка, здесь размер этих файлов в десятки раз меньше... ... размер записи в них фиксированный... ... для перехода к нужной записи достаточно просто размер заголовка файла добавить к произведению размера записи в байтах на номер записи и получаем точное смещение от начала файла... ... После того как мы нашли с помощью индексов нужную запись, ее требуется загрузить в память... ... В нашем случае размер записи (для третьей таблицы) составляет 12 байт , ведь там только три поля — Q_ID , Date и Hits , каждое из которых представляет собой 32-битное число и занимает 4 байта... ... Естественно, размер записей в первых двух таблицах (а их нам тоже придется загружать в процессе поиска) немного больше, но все равно он измеряется десятками байт , а не мега байт... Подробнее: http://fit-media.com/post_1222679684.html


  5. Кручу, верчу, обмануть хочу!

    Степень соответствия запросу: 3,25%
    Фрагменты текста поста :
    ... Поворот объекта в фотошопе"... ... :) Итак, давайте научимся поворачивать объекты в Photoshop... ... Потянув за квадратики в серединах горизонтальных сторон появившегося описывающего прямоугольника, вы сможете увеличить или уменьшить вертикальный размер выделенного изображения, т... ... Тут есть один момент - с помощью этого вида трансформации вы можете не только изменить размеры картинки, но и отразить ее горизонтально или вертикально... ... Если при повороте держать нажатой клавишу Shift , то объект будет поворачиваться на угол, кратный 15 градусам... ... Таким способом можно легко и точно повернуть объект на 15, 30, 45, 60, 75 и более градусов... ... Как видно из названия, эта трансформация позволяет наклонять объекты... ... Это значит, что нажав левую кнопку мыши и потянув в сторону вы повернете объект... Подробнее: http://fit-media.com/post_1212106379.html


  6. Пользовательский интерфейс

    Степень соответствия запросу: 2,27%
    Фрагменты текста поста :
    ... То есть из всего разнообразия изобразительных средств - формы, размера, цвета, текста - в кнопках диалогов используется только текст... ... Считается хорошим тоном иметь кнопки одного размера и аккуратно расположенные, чтобы вынудить пользователя каждый раз прочитывать текст... ... В них кнопки разбросаны в кажущемся беспорядке, имеют разный размер, большинство обозначено пиктограммами, а текст остальных очень короток (например, Play) и тоже скорее играет роль пиктограммы... ... Вторая модель - " Стена в перспективе " - также отображает файловую систему, но вне ее иерархии, согласно двум каким-то параметрам, например частоте обращения к файлу и его размеру... ... Для Карда анимация - принципиальный момент, так как " анимация сохраняет в восприятии пользователя идентичность объекта ", то есть пользователь легко соотносит объекты в конечной точке движения с объектами в начальной... ... С другой стороны, и такой простой сигнал, как мигание, имеет действительно миллионы хорошо осознаваемых оттенков, связанных с изменением яркости объекта во времени... Подробнее: http://fit-media.com/post_1204019048.html


  7. Залепа №3. Майкрософт - антиглобалист!

    Степень соответствия запросу: 0,92%
    Фрагменты текста поста :
    ... Смысл этого отказа остается непонятным - без глобальных объектов просто невозможно написать ни одной программы, в крайнем случае хотя бы один объект но все же будет глобальным... ... Например объект, представляющий само приложение :) Но давайте лучше рассмотрим КАК это выглядит на практике... ... Думаю, никто не будет спорить, что в любой программе есть функции, не привязанные к какому-то определенному объекту, т... ... Так же есть и объекты, не являющиеся членами других объектов, т... Подробнее: http://fit-media.com/post_1197554266.html


  8. MySQL: MyISAM хотят заменить на новый движок Maria

    Степень соответствия запросу: 0,92%
    Фрагменты текста поста :
    ... Не поддерживается INSERT DELAYED Не поддерживается кеширование составных ключей Устранение недостатков до следующих релизов Хранение очень малых строк Не поддерживаются MERGE таблицы Различия, которые вероятно не будут устранены Страницы данных в блоковом формате увеличивают размеры: 10 байт на страницу и 5 байт на строки... ... Транзакции и поддержка конкурирующих записей приведут к увеличению: 7 байт на новые строки, 14 байт для удаленных строк Отсутствие внешнего блокирования (MyISAM имеет внешнее блокирование, но оно редко используется) Использование одинакового размера страниц для индекса и данных... ... MyISAM поддерживает различные размеры страниц для индексов Индексный номер требует один экстра байт на индексную страницу Не поддерживается внутренний MySQL RAID (выключен и в MyISAM) Минимальный размер файла данных формата PAGE 16К (со страницей на 8K) Обзор Maria:... Подробнее: http://fit-media.com/post_1202730586.html


  9. Все ли CMS одинаково полезны?

    Степень соответствия запросу: 0,83%
    Фрагменты текста поста :
    ... Размеры тоже колеблются в очень широких пределах... ... Второй недостаток - размеры... ... А если учесть, что рядовому мани-мейкеру нужно иметь пару десятков сателлитов или доров - относительно небольших сайтов, полный размер контента которых не переваливает за 1-2 мегабайта, то становится понятно, что разворачивать такого "монстра" ради пары мегабайт реальной информации совсем не хочется... ... И вот, что я хочу от него добиться: Максимальная оптимизация под поисковые системы ("управляемое" расположение контента в странице, облегченный дизайн, генерация псевдо-статических страниц) Минимальные размеры как движка, так и хранимых на сервере данных... ... Есть ядро (основа движка) и есть набор абсолютно независимых друг от друга модулей, которые можно отключать/подключать по мере необходимости, уменьшая размер CMS и увеличивая скорость ее работы... Подробнее: http://fit-media.com/post_1200405197.html


  10. Если не хочется кусать локти

    Степень соответствия запросу: 0,53%
    Фрагменты текста поста :
    ... Таким образом после нескольких копирований вы обнаружите, что размер папки с копией гораздо больше размера папки-оригинала... ... Его достоинства: размер полученной копии будет в несколько раз (а иногда и в несколько десятков раз... ... ) меньше размера оригинала... Подробнее: http://fit-media.com/post_1203529769.html


История внешних поисковых запросов

Меню

  • Главная страница
  • Оглавление блога
  • Лента новостей
  • Обратная связь
  • Правила блога

Анонсы по темам

  • Все посты блога
  • С миру по нитке
  • Мысли вслух
  • Графика и фото
  • Кривизна платформы .NET
  • Грамотные интерфейсы
  • WEB-программирование
  • FlatCMS - шустрая и гибкая
  • Доработки Lasto-блога

Категории

  • Все посты по порядку
  • С миру по нитке
  • Графика и фото
  • Кривизна платформы .NET
  • Грамотные интерфейсы
  • WEB-программирование
  • FlatCMS - шустрая и гибкая
  • Доработки Lasto-блога

Сервисы

  • Поиск по блогу
  • Поиск по всему сайту
  • Шпионское досье

Реклама


Стоимость сайта

Мой вебсайт стоит 865 404,18 руб

Статистика

    Widgetize!
  • Время работы: 0,46245 сек.
  • Память: 17 664 кБт
  • Статистика привратника
Copyright FIT-Media.com, © 2007-2012
Главная | Общее оглавление | Обратная связь | Правила блога | Лента RSS