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

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




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

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

    Степень соответствия запросу: 40,08%
    Фрагменты текста поста :
    ... Файлы vs базы данных... ... сохраняющие данные в файлах... ... Непонятно почему, но народ истово верит в то, что именно такой подход (отказ от использования систем управления базами данных и хранение данных в файлах) дает гораздо большую производительность... ... Давайте рассмотрим процессы, проистекающие на сервере при работе КМС "на файлах" и сравним их с аналогичными процессами при использовании СУБД... ... Пользователям скриптов других производителей, также использующих файлы в качестве хранилища данных этот пост также должен быть интересен... ... Вся эта информация сохраняется в файл и позже, на ее основе, генерируются графики посещаемости по дням, «хит-парад» страниц сайта, сайтов-источников трафика и используемых для просмотра броузеров и прочая мега-полезная отчетность... ... Нам гораздо важнее узнать, насколько оптимально использовать для этой работы файлы и действительно ли это быстрее, чем работа с базой данных... ... Особенность хранения данных Lasto-блогом такова, что статистика хранится в нескольких файлах: hits... ... Кстати, анализируя этот файл можно увидеть, какие страницы сайта проиндексированы какими поисковыми системами (были посещены поисковыми ботами) и когда это произошло... ... db — а вот на этот файл стоит обратить особое внимание... ... Структура такова: allsein — данные о заходах с поисковиков по разным запросам хост | искомая фраза дата, количество заходов... ... В качестве дат (видимо для оптимизации) используются целочисленные значения, равные количеству дней, прошедших с некой фиксированной даты (1 января 2000 года)... ... Скрипт считывает в память ВЕСЬ файл статистики, не взирая на размер ( если посещаемость высокая или статистика собирается за большой срок, то это могут быть десятки или даже сотни мегабайт )... ... Просто одной командой вы можете превратить ваш супер запутанный массив в текст, а второй точно также вернуть все обратно... ... Итак, скрипт загружает текстовый файл и преобразует его в массив... ... Серилизация (склейка элементов массива в строку) и перезапись (опять же) ВСЕГО файла статистики... ... тут затронута обработка данных только из одного «раздела» статистики (а ведь скрипт еще должен скорректировать данные и в остальных), не описан блок, который проверяет доступность сайта для данного юзер-агента и хоста-источника (а он жрет времени тоже немало), не учтены потери на выделение/освобождение памяти и копирование целых веток массива, если автор решил (для упрощения программирования) отделить часть массива например так: Пример кода $as = $ar['allsein']... ... Главное то, что ПРИ ЛЮБОМ ХИТЕ (даже переходе серфера с одной страницы сайта на другую) происходят ВСЕ описанные операции — чтение, разбор, поиск, склейка, запись и выполняются они над ВСЕМ содержимым файла статистики... ... За счет кэширования вы выиграете часть времени на чтении/сохранении файла статистики, но как быть с массивом... ... К тому же не стоит забывать, что пока одна копия запущенного скрипта копается в вашем (пусть и прокэшированном) файле, все другие будут тихо и мирно курить в сторонке... ... Другими словами, пока идет обработка одного посетителя, все остальные будут ждать ибо для них доступ к файлу статистики окажется заблокированным... ... Первое на что хотелось бы обратить внимание — это тот факт, что подобную структуру не удастся (по крайней мере целиком) уложить в одну таблицу, а это значит будут использованы несколько связанных таблиц ( реляционная структура )... ... Для данного примера также будем рассматривать работу только с одним «разделом» статистики — данных о поисковых запросах... ... Индексный файл содержит копию проиндексированного поля (или полей) из таблицы БД, но в отсортированном виде... ... Таким образом, одной операцией сравнения мы сразу определяем в какой из половин таблицы находится нужная нам запись, т... ... Для работы механизма БД, система должна будет загрузить целиком в память три файла индексов... ... для перехода к нужной записи достаточно просто размер заголовка файла добавить к произведению размера записи в байтах на номер записи и получаем точное смещение от начала файла... ... Одно сложение и одно умножение — просто ведь... ... Нам нужно загрузить ТОЛЬКО ОДНУ ЗАПИСЬ , а вовсе не всю таблицу... ... Запись считали, увеличили на единицу и снова записали НА ТОЖЕ МЕСТО в файле таблицы... ... Поскольку записи в нашей третьей таблице (в данном случае) также будут иметь фиксированную длину, то поиск нужной внутри файла также сведется к одному сложению и одному умножению, а уж прочесть и снова записать на тоже место 12 байт — милисекундное дело (даже с учетом автоматической коррекции индексного файла)... ... Да еще про кэширование вспомним :-) Кстати, если ваш сайт достаточно посещаем, то файл статистики будет расти как на дрожжах и каждое обращение к скрипту будет вызывать чтение/парсинг/поиск/сохранение всех этих десятков мегабайт, а при использовании БД при любом количестве посетителей нам все так же будет нужно читать всего несколько сотен байт (три записи из таблиц), а записать - только 12 байт... ... Ну и конечно не забудьте о том, что поиск можно производить не в каждой таблице по отдельности, а сразу во всех, одной командой: Пример запроса SELECT Hits FROM se_hosts, se_query, se_hits WHERE ID1 = SH_ID AND ID2 = Q_ID AND Date = 3085 что еще даст еще больший выигрыш, т... ... В мире существуют тысячи компаний и фирм, которые пишут разные (часто весьма специализированные и уж совсем не дешевые ) моторы для сайтов... ... Так неужели во всех этих компаниях работают одни дураки... Подробнее: http://fit-media.com/post_1222679684.html


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

    Степень соответствия запросу: 20,84%
    Фрагменты текста поста :
    ... Вопрос резервного копирования информации регулярно поднимается практически во всех форумах и идей по этому поводу высказывается не мало... ... Все мы прекрасно понимаем, что это нужно и полезно, но все равно, в силу собственной лени, о необходимости такого копирования вспоминаем только тогда, когда бесценная информация безвозвратно потеряна... ... В этом случае копия и оригинал должны располагаться на разных разделах... ... Есть даже одна, встроенная прямо в Windows ( Пуск — Программы — Стандартные — Служебные — Архивация данных )... ... Способ №1 — простое копирование... ... Самый простой способ создания резервной копии — тупо откопировать важные файлы (и папки) в место резервного хранения... ... * f:\arhiv\ скопирует все файлы из папки texts диска C: на диск F: в папку arhiv... ... * f:\arhiv\ /Y /S Теперь она скопирует все содержимое папки texts диска C: , включая все вложенные папки и все файлы из них... ... В реальной жизни чаще нужно копировать не все подряд, а файлы определенных типов... ... Дело в том, что эти команды просто тупо копируют файлы из одного места в другое... ... При этом если в папке-приемнике уже есть файл с тем же именем, что и в папке-источнике, то он заменяется... ... Проблема в другом — если в исходной папке какой-либо файл был удален (например он больше вам не нужен), то в копии он все равно останется... ... Таким образом после нескольких копирований вы обнаружите, что размер папки с копией гораздо больше размера папки-оригинала... ... * /S /F /Q Она уничтожит все файлы из папки архива и всех вложенных в нее папок... ... Но, к сожалению она не умеет удалять папки, поэтому мусор в виде пустых вложенных папок все же останется... ... Обратите внимание на расширение этого файла, оно должно быть именно BAT , а не TXT... ... Естественно эта папка должна существовать, иначе копирование выполнено не будет... ... Перед копированием так же автоматически будет сделана очистка папки архива от старых файлов... ... А что делать если нужно создать копии нескольких папок... ... Достаточно одного файла чтобы создать сколько угодно копий... ... * f:\arhiv\doc\ /Y /S Этот файл создаст полные копии папок texts и prikaz диска C: и папки doc диска D:... ... Во-первых у нас все еще не удаляются пустые папки, во-вторых копирование идет слишком медленно, т... ... копируются абсолютно все файлы, хотя делать это каждый раз вовсе не обязательно... ... Хорошо бы, добиться такого эффекта, когда: в копии заменяются только те файлы, которые изменились в оригинале в копию добавляются те файлы, которые появились в папке оригинала из копии удаляются все папки и файлы, которые удалились в оригинале... ... Таким образом количество операций копирования свелось бы к минимуму и мы смогли бы максимально ускорить такой скучный процесс... ... rar d:\work\prikaz В результате его работы в папке arhiv диска F: будут созданы три файла: texts... ... rar , содержащие полные копии соответствующих исходных папок... ... архиватору придется полностью упаковать все файлы из исходных папок... ... Естественно вы можете использовать в именах папок русские буквы и пробелы, но в этом случае нужно брать пути в двойные кавычки... Подробнее: http://fit-media.com/post_1203529769.html


  3. DropBox - убийца фалообменников

    Степень соответствия запросу: 12,42%
    Фрагменты текста поста :
    ... за два с лишним месяца с этого сайта пришло только одно письмо (об успешной регистрации), так что завал спамом вам не грозит... ... Когда вы просмотрите все картинки, то дойдете наконец до окна с крупной надписью "... ... Это значит, что стоит вам удалить какой-то файл из этой папки, как он тут же будет удален с сервера... ... С одной стороны это хорошо и удобно &mdash... ... для удаления файла с сервера достаточно просто удалить этот файл из своей папки... ... одна копия лежит у вас, вторая &mdash... ... , а так же валяется непонятный RTF файл, который можете сразу же стереть &mdash... ... Начну с того, что содержимое обех созданных папок ( и только их... ... Поэтому если вы хотите, чтобы кто-то кроме вас мог скачать файлы из вашего аккаунта, то вы должны разместить эти файлы внутри одной из этих папок... ... Все остальные папки и файлы, которые вы можете создать и которые НЕ будут находиться внутри папок Public или Photos никогда не будут доступны другим пользователям (за одним маленьким исключением, которое называется "... ... и сотрите все, что в ней есть (файл RTF с описанием работы и пример готового альбома)... ... и скопируйте в нее несколько фотографий: Если файлы большие или ваше соединение с интернет не очень быстрое, то вы заметите, что у каждой иконки сперва появляется синий значек с двумя стрелочками, который потом заменяется на зеленый с галочкой... ... файл или папка еще закачивается на сервер, зеленый  ... ... файл или папка успешно закачаны... ... в том, что в ней нельзя расшарить (сделать публично-доступным) один какой-то файл, только целиком альбом (вложенную папку)... ... Если же вам нужно раздавать файлы по одному, то вам нужно воспользоваться папкой "... ... в ней можно получить паблик-ссылку на любой вложенный файл, но нельзя получить такую ссылку на папку... ... раздавать файлы можно только по одному... ... Так что смело копируйте нужные файлы в папку Public , получайте на них паблик-ссылки и заваливайте этим спамом все известные вам форумы... ... Еще раз напомню, что если вы удалите как-нить файлы из ваших папок Public или Photos (или любых других внутри папки My Dropbox ), то эти файлы тут же будут удалены с сервера... ... если какой-любо из закачанных файлов изменился, то перезалита будет только изменившаяся часть, а не весь файл... Подробнее: http://fit-media.com/post_1256945370.html


  4. AJAX — WEB 2.0 за 5 минут

    Степень соответствия запросу: 10,24%
    Фрагменты текста поста :
    ... Поскольку вся библиотекуа представляет собой всего один обычный файл с java-скриптом, то и подключается он стандартным HTML-тэгом: Пример кода <... ... Поэтому сделаем файл, который будет посылать некий ответ на наш запрос... ... Для этого создадим HTML-файл, например, такого банального содержания: Содержимое файла text... ... Функция $('#my_container') вернет объект jQuery, который имеет массу методов, выполняющих самые разные действия... ... после выполнения функции mytest() внутри контейнера будет помещено содержимое нашего файла (в данном примере это будет надпись "... ... /a> Итак, полный код примера: Полный код файла index... ... /html> Сохраните файлы index... ... html в одной папке, откройте index... ... Файл будет зваться name... ... Код: Файл name... ... ) Ну вот, на этом можно было бы и закончить, если бы не одно "... ... При всей простоте, гибкости, мощности и привлекательности, описанный выше способ имеет одно ограничение &mdash... ... вы не сможете с его помощью закачать на сервер файлы... ... вам вообще ничего не придется программировать :) Не станем здесь городить огород с реальной загрузкой файлов, просто выведем данные о загруженном файле... ... Код скрипта (файл file... ... php): Файл file... Подробнее: http://fit-media.com/post_1262093659.html


  5. Windows с маленькой буквы w

    Степень соответствия запросу: 3,9%
    Фрагменты текста поста :
    ... Windows с маленькой буквы w Все программы базируются на основе двух типов окон: главных и вспомогательных, таких как диалоговые окна и окна документов... ... Создавая удобный пользовательский интерфейс, нельзя просто гадать, какие окна использовать в программе... ... Лишние комнаты Если изобразить программу в виде дома, то можно представить каждое окно в виде отдельной комнаты... ... Дом будет соответствовать главному окну программы, а каждая комната – окну диалога или документа... ... Точно так же и при создании программы мы не должны добавлять окно в нее до тех пор, пока оно не будет служить какой-то цели, которой нельзя или невозможно достичь в уже существующих окнах... ... Например, в большинстве программ для рисования, для установки глубины тени объекта часто используется текстовое поле или ползунок в отдельном диалоговом окне... ... После изменения этого значения программа для продолжения работы возвращается к главному окну... ... В программе для рисования главной задачей является работа с изображением, а так как изображение находится в главном окне, то все инструменты для работы c ним тоже должны быть расположены здесь же, в главном окне... ... Вынесение функций в диалоговое окно отделяет их от главной задачи... ... Однако с точки зрения художника эта функция – часть процесса рисования и поэтому должна находиться в главное окно... ... Соедините это с невероятной легкостью создания новых окон и в результате получите по одному окну на одну функцию... ... Современные средства разработки программ позволяют создавать диалоговые окна, но добавление своих элементов управления или создание идиом непосредственной манипуляции (direct manipulation) в них обычно не поддерживается, поэтому разработчик, желающий создать качественный интерфейс, вынужден создавать свои элементы управления... ... Очистка должна происходить в отдельном окне... ... В этом случае создание специального окна для функции будет уместным... ... В программе функция вставки изображения тоже должна быть легко доступной, но, так как для нее нужен отдельный набор инструментов, которые в обычной работе не используются, ее следует разместить в отдельном окне... ... Вместо того, чтобы просто помещать каждую новую функцию в новое окно, мы видим, что некоторые функции вообще не нужно помещать в диалоговые окна, другие должны быть вынесены в отдельное окно, интегрированное в общий интерфейс, а некоторые функции вообще нужно убрать из программы... ... Загрязнение окнами Некоторые разработчики считают, что каждую функцию нужно помещать в отдельное диалоговое окно... ... Если в программе используется одно окно для одной функции, экран быстро становится визуально загроможденным... ... В Visual Basic, Delphi, C# и других языках легко создавать формы, которые представляют собой независимые окна верхнего уровня... ... По поведению они представляют собой все те же немодальные диалоговые окна... ... Стратегия создания приложения в виде набора форм была довольно спорной, и не применялась широко до тех пор, пока среды разработки не дали возможность создавать окна легко и просто... ... Каждое новое окно приводит к увеличению лишних телодвижений - манипуляций с окнами... ... Ни одну программу с 57 формами нельзя использовать эффективно... Подробнее: http://fit-media.com/post_1204300625.html


  6. Привратник-младший. Турбо-решение.

    Степень соответствия запросу: 3,66%
    Фрагменты текста поста :
    ... В результате, если он получает сэндвич из редиректа с кодом-404, то вместо выполнения ожидаемого редиректа он радостно выводит серферу корявое окно с текстом «... ... Но если вам важен каждый процент нагрузки сервера и плевать вы хотели на случайных серферов, пользующихся неправильными броузерами, то замените в файле pr... ... Чуть ниже в файле идет список стоп-слов, найдя которые в юзер-агенте скрипт безаговорочно выплюнет 404... ... Это значит, что если, например, вы впишете слово 'bot' , то все хиты с юзер-агентом 'googlebot', 'rambler-bot', 'super-puper-mega-yandex-bot', 'bottom and top' больше никогда не увидят ни одной страницы вашего блога... ... Сохраняйте изменения и закачивайте его на сервер в папку с блогом (это папка, в которой расположены файлы functions... ... Теперь, чтобы подключить скрипт к блогу, необходимо внести изменения в файл... ... Настоятельно рекомендую скопировать куда-нибудь этот файл до того, как вы начнете его редакторовать... ... вам достаточно будет вернуть родной файл... ... Итак, вот содержимое файла... ... htaccess, который поставляется Вадимом в комплекте Lasto-Blog-B: Исходный файл... ... php А вот то, что должно быть после изменения: Модифицированный файл... ... php После изменений сохраните файл... Подробнее: http://fit-media.com/post_1225008537.html


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

    Степень соответствия запросу: 3,66%
    Фрагменты текста поста :
    ... Еще одна книга, очень популярная среди американских специалистов по пользовательским интерфейсам, анализирует развитие столовых приборов в средние века... ... Например, такой интерфейсный элемент как линейка прокрутки находится в противоречии с одним из основных принципов психологии восприятия: у человека может быть только одна точка активного внимания... ... Пока в уголовном кодексе не предусмотрено наказание типа "заключения в пользовательский интерфейс", он имеет право выбора (не между одной программой и другой, а между компьютером и телевизором или даже книгой)... ... В свою очередь, среда подает человеку разные сигналы... ... Не случайно ни в одной из известных мне локализаций надпись на этой кнопке не переводится на другой язык... ... В них кнопки разбросаны в кажущемся беспорядке, имеют разный размер, большинство обозначено пиктограммами, а текст остальных очень короток (например, Play) и тоже скорее играет роль пиктограммы... ... Во всех центрах, известных разработкой новых интерфейсов ( XEROX PARC , MIT Media Lab , Apple Computer , Carnegie Mellon University ), идут разработки разных концепций дизайна интерфейсов, опирающихся на возможности анимации... ... С одной стороны, пользователь должен уметь сказать системе, где и что он хочет изменить (обычно это делается щелчком мыши в нужном месте)... ... Поле экрана разбивалось на прямоугольники-окна и вся работа велась только в одном из них - так называемом активном окне... ... В конце концов, во многих приложениях используются разные формы динамики изображения, которые называются модным словом " мультимедиа "... ... Одна - "Конические деревья" - является визуализацией файловой системы компьютера и похожа на систему детских пирамидок, каждый уровень которой соответствует уровню файлового каталога... ... Сами файлы из каталога отображаются в виде 3-мерной карусели под своим каталогом... ... Соль модели в том, что нужный файл можно "приблизить" поворотом карусели (может быть, не одной), идущим в режиме анимации... ... Вторая модель - " Стена в перспективе " - также отображает файловую систему, но вне ее иерархии, согласно двум каким-то параметрам, например частоте обращения к файлу и его размеру... ... Анимация за счет увеличения времени перехода от одной картинки к другой (а именно времени анимированного преобразования картинок) существенно сокращает время осознания новой картинки... ... Существует еще одно свойство анимационного пользовательского интерфейса, которое существенно улучшает его полезность по сравнению с графическим интерфейсом, а именно динамически визуальные сигналы... ... количество разных различимых вариаций) динамических сигналов огромна... ... Все компьютерные программы в корне меняют дизайн при переходе от одного окна к другому... Подробнее: http://fit-media.com/post_1204019048.html


  8. 14 принципов создания вежливых программ

    Степень соответствия запросу: 1,87%
    Фрагменты текста поста :
    ... Насс и Ривз утверждают что программы должны быть "вежливыми", потому что вежливость – это универсальный человеческий признак, - хотя действия, которые можно считать вежливыми различаются от одной культуры к другой, этот признак присутствует в любой культуре... ... Действительно, ни одна из программ на моем персональном компьютере не помнит ни меня, ни моих привычек, несмотря на то, что только я и никто другой постоянно, снова и снова пользуюсь ею... ... Вместо этого, программа ведет себе довольно глупо, всегда предлагая мне окно для выбора нужного Дейва из 11 вариантов... ... Однако когда я меняю разрешение обратно, окна не возвращаются к своим размерам... ... Я не хочу слышать ее нытье о том, что она не уверена, в какое место на диске записать файл... ... Программы постоянно предлагают мне варианты выбора, которые, по разным причинам, в данный момент недоступны... ... Я раскрываю на весь экран окно любой запущенной программы... ... Я так часто максимизирую окна, что мои предпочтения должны быть ясными и однозначными... ... Если я прошу компьютер удалить файл, я не хочу чтобы он спрашивал у меня "Вы уверены... ... Я хочу, чтобы он имел смелость в своих убеждениях и удалил файл... ... С другой стороны, если компьютер имеет какие-то подозрения, что я могу ошибаться – что может быть всегда – он должен предусмотреть это, и подготовиться к возможному восстановлению файла, если я вдруг передумаю... ... Затем я возвращаюсь чтобы обнаружить посреди экрана бессмысленное и пугающее окно диалога с вопросом "Вы действительно хотите печатать... ... Выбирать можно разными способами... ... Отсутствие это качества – одна из главных причин нечеловечности компьютерных систем... ... Одно из больших преимуществ подстраиваемой системы – уменьшение числа ошибок... ... Подстраиваемость – одно из немногих качеств человека, связанных с вежливостью, которое трудно встроить в компьютерную систему... ... Ни одна из этих характеристик не отличается от других, более очевидных целей информационного бизнеса... Подробнее: http://fit-media.com/post_1203349390.html


  9. Как Заиконить Сайт

    Степень соответствия запросу: 1,68%
    Фрагменты текста поста :
    ... :) Второе - переименование файла... ... Но в этом случае Вам придется добавить одну строчку в шаблон вашего сайта... ... Файл иконки можно располагать в любой папке, доступной серферу... ... Более того, можно сделать так, что в разных папках будут лежать разные файлы иконок... ... При этом разные разделы сайты будут иметь разные иконки... ... :) Если Вы располагаете файл иконки не в дефолтовом месте (корневая папка сайта) и/или не с дефолтовым именем (favicon... ... :) Все, что Вам потребуется - вписать строку AddType image/ICO ICO в файл... Подробнее: http://fit-media.com/post_1212879390.html


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

    Степень соответствия запросу: 1,66%
    Фрагменты текста поста :
    ... Оптимизируем мышиную возню Одной из главных причин появления неудобных интерфейсов является тот факт, что разработчик как правило никогда сам не пользуется своей программой... ... Большинство компьютеров в наше время оборудовано всего двумя такими устройствами - мышью и клавиатурой , но даже два устройства хуже, чем одно... ... Меню должны иметь как можно меньше вложенных подменю Лучше сделать больше пунктов главного меню с одной выпадающей менюшкой в каждом пункте,чем все команды загнать в одно меню с кучей вложенных подменю... ... кроме мыши используется еще и клавиатура и кроме того, нельзя выполнить копирование в процессе перетаскивания... ... мы делаем множественное копирование... ... Например, в проводнике (Microsoft Windows Explorer) перетаскивание файла левой кнопкой вызовет действие по умолчанию (перемещение или копирование, в зависимости от того что и куда тащите), а перетаскивание того же файла правой кнопкой позволит самостоятельно выбрать действие: копировать, переместить или создать ярлык... ... Везде где можно используйте возможности технологии "Drag-and-Drop" Пользователю гораздо удобнее схватить объект и перетащить его в корзину или в другое окно, чем отметить объект и потом лазить по пунктам меню (или по многочисленным тулбарам) в поисках команды удаления/переноса... ... Очень желательно реализовать грамотное поведение окон Окна, которые знают в какой момент им следует появиться на экране, а в какой исчезнуть - отличные помощники в работе... ... Посмотрите, как действуют окошки, расположенные по краям главного окна в среде Microsoft Visual Studio... ... Идея состоит в том, чтобы окно меню исчезало не сразу после клика по его пунктам, а с некоторой задержкой... ... И для каждого запуска мне приходится повторять одни и те же действия: "Пуск" - "Все программы" - "Интернет" - и т... ... Позвольте пользователю закреплять немодальные окна... ... Там можно установить атрибут "Поверх всех окон" (Always On Top) для абсолютно любого окна... ... Еще одна классная идея касательно мышиного управления и меню подсмотрена мною в LiteStep... Подробнее: http://fit-media.com/post_1199978157.html


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

Меню

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

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

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

Категории

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

Сервисы

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

Реклама


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

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

Статистика

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