Pull to refresh
674
0
Владимир Юнев @XaocCPS

Chief Architect

Send message

Алгоритмы организации тэгов

Reading time3 min
Views27K
Тэги – неотъемлемая часть всех современных сайтов и косвенный признак принадлежности сайта к пресловутому Вэб-Два-Ноль.

В статье я хочу рассказать об способах и алгоритмах тегирования информации.
Читать дальше →

Процессы и потоки in-depth. Обзор различных потоковых моделей

Reading time10 min
Views129K
Здравствуйте дорогие читатели. В данной статье мы рассмотрим различные потоковые модели, которые реализованы в современных ОС (preemptive, cooperative threads). Также кратко рассмотрим как потоки и средства синхронизации реализованы в Win32 API и Posix Threads. Хотя на Хабре больше популярны скриптовые языки, однако основы — должны знать все ;)
Далее

10 jQuery скриптов для улучшения интерфейса

Reading time3 min
Views11K
С рассветом WEB 2.0 получили развитие и javascript фрэймворки, позволяющие вебмастеру делать динамические элементы сайта гораздо быстрее и проще. Одним из таких фреймворков является jQuery, получивший огромную популярность за свою простоту и невероятно малый вес. Итак, представляю вашему вниманию 10 наиболее полезных скриптов jQuery для улучшения интерфейса вашего сайта.
Читать дальше →

Анимированое сравнение алгоритмов сортировки

Reading time1 min
Views10K
На днях наткнулся на интересную страничку, позволяющую наглядно оценить различные алгоритмы сортировки на разных наборах данных.

(картинка Кликабельна)
Небольшое описание под катом...

Баланс

Reading time7 min
Views1K
До недавних пор база данных нашего ресурса обслуживалась на пару двумя серверами: Bonnie и Clyde. Clyde — основной сервер проекта, отвечающий на все запросы, Bonnie — сервер, поддерживающий базы других проектов и слейв-клиент базы суперхабра.

Clyde хорошо справляется со своим делом, была проведена большая работа по оптимизации базы, так что он вполне перемалывал все обращения при генерации миллиона с лишним документов в сутки. Однако, в моменты непредсказуемых пиковых скачков нагрузка время от времени переваливала за допустимые пределы.

Учитывая постоянно растущий объём данных и нагрузку, настала пора предпринять шаг в сторону масштабирования аппаратных ресурсов базы данных.

что из этого вышло

Верстка для мобильных устройств

Reading time4 min
Views84K

Общая информация


Так как мобильных устройств существует великое множество, то одна модель может поддерживать какие-либо возможности HTML/CSS, а другая наоборот — либо не поддерживать, либо поддерживать неправильно.

Но большинство устройств среднего и уж тем более hi-end класса поддерживают HTML/CSS в той или иной степени. Таким образом, язык WML для разработки сайтов под мобильные устройства устарел и практически не используется. На смену ему постепенно приходит общепризнанный стандарт в разработке сайтов — XHTML/CSS. Кодировка — строго UTF-8 (No BOM).

Читать дальше

Ajax-машина

Reading time11 min
Views4.1K
Знали ли разработчики LiveScript из Netscape о том, какое влияние окажет их язык, позже переименованный в JavaScript, на лицо интернета — веб-сайты, или, может быть, они твердо на это рассчитывали, но факт остается фактом — JavaScript на сегодняшний день является одним из самых важных и распространенных языков в мире.

В то время, как на стороне сервера трудится разношерстная компания языков в лице php, perl, python, ruby, .net, java и многих других, на стороне клиента JavaScript существует буквально в гордом одиночестве. Фактически, из маленького дополнения к html, JavaScript превратился в полноправного члена банды «html+css+js», который, зачастую, уже командует остальными, сверкая золотым браслетом с надписью «ajax» и делая недовольное лицо $( ) при случае.
продолжить чтение

Микросайтинг

Reading time1 min
Views2.2K
Я не буду подробно объяснять что такое микроблоггинг.
Меня всегда умиляло, когда люди умудряются вести блог в одной строчке статуса.
Я подумал-подумал и решил сделать микросайт, который, как и микроблог, можно запихнуть, например, в профиль.
Условия хостинга для микросайта минимальные: отстутствие php, mysql, запрет на css, но можно вставлять картинки и ссылки.
А что? нам этого хватит!
Итак, заведу-ка я свой микросайт, например, прямо тут, в комментах!
(А чтобы увидеть сайт, надо открыть комменты)
Внимание! В первом коменте устаревшая версия. Более юзабельную бету смотрите у меня в профиле (ainu)
Второе зеркало на примере коммента в ЖЖ: смотреть (не сочтите за рекламу и обратите внимание: в ЖЖ только одна запись, специально для примера)
А исходники тут.

upd: Тут второй пост о микросайтах.

Программирование под Windows CE на C++ с помощью Embedded Visual C++, часть 4 (эпиграф)

Reading time4 min
Views2.8K
Программирование под Windows CE на C++ с помощью Embedded Visual C++, часть 4 (эпиграф).

Поскольку статьи 1,2,3 вызвали такой интерес, решил добавить еще немного мыслей и материала.

Читать дальше →

Таблица значений отступов от букв до верха и низа строки

Reading time1 min
Views1.5K
Предлагаю вашему вниманию таблицу значений отступов от букв до верха и низа строки, для стандартного значения line-height.
Эта таблица нужна для точного определения padding или margin обрамляющего или близлежащих элементов.

Вот картинка-легенда, чтобы было понятно о чем речь:
легенда
Читать дальше →

Классовый мутатор Binds.

Reading time3 min
Views1.7K
В обсуждении недавнего топика хабрасообщество заинтересовалось подробностями написания классов для MooTools и, в частности, мутаторами. В связи с этим мне захотелось что-нибудь написать на эту тему, пока не наткнулся на статью одного из разработчиков MooTools. В этом топике привожу перевод статьи, в которой Jan Kassens описывает пример использования классовых мутаторов.
Читать дальше →

95% веб-дизайна составляет типографика

Reading time3 min
Views30K
95% информации на вебе — текст. Вполне логично, что веб-дизайнер должен получить хорошую подготовку в основной дисциплине формирования письменной информации, иными словами: типографике.

Информационный дизайн это типографика


В 1969 году, Эмиль Рудер, знаменитый швейцарский типограф, написал о современных ему материалах для печати то, что мы могли бы легко сказать о наших современных веб-сайтах:

Сегодня мы затопленны таким огромным потоком изданий, что стоимость индивидуальной работы убывает, для наших современников почти невозможно принять все, что напечатано сегодня. Задача типографа — разделить, организовать и интерпретировать эту массу печатных изданий таким образом, что у читателя будет шанс найти то, что интересно ему.


Включите воображение (замените «печатный» на «интернет») и это звучит как описание работы информационного дизайнера. Задача информационного дизайнера и есть «разделять, организовывать и интерпретировать эту массу печатных изданий таким образом, что у читателя будет шанс найти то, что интересно ему».
Читать дальше →

Использование провайдеров компиляции в Asp.net

Reading time6 min
Views2.2K

В качестве вступления



В Asp.net любая интернет-страница представляется в виде двух файлов: *.aspx и *.aspx.cs. В *.aspx-файлах содержится html-подобная разметка самой страницы, а в *.aspx.cs-файлах код на языке C#, который представлен в виде отдельного класса.

В разметку страницы можно добавлять серверные элементы управления, например тегом <asp:Button ID=«MyButton» runat=«server» />.

Причём с каждым таким объявлением будет связана переменная, то есть в нашем случае мы получим доступ к переменной типа Button и именем MyButton, хотя на первый взгляд эта переменная нигде не объявлена. (Хотя в первой версии Asp.net объявление переменных вставлялись в тот же файл.)

На самом деле это не так. Класс, описаный в *.aspx.cs-файле является частичным (он помечен модификатором partial), одна его часть описана в *.aspx.cs-файле, а вторая находится во временном файле, который генерируется на основании просмотра *.aspx-файла. Генерацией этого временного файла как раз и занимается провайдер компиляции.
Читать дальше →

Чего мы ждем от C# 4.0

Reading time4 min
Views1.3K

Чего мы ждем от C# 4.0



Чего хотят программисты:

  • 1. Опциональные параметры в функциях и методах.

  • 2. Сделать опциональным ключевое слово «var»,
    все равно будем отталкиваться от названия переменной.

  • 3. Вывести «var» за пределы функций/методов.

  • 4. Проваливающийся switch (пример)
Читать дальше →

9 статей на тему круглых кнопок

Reading time2 min
Views11K
9 статей на тему круглых кнопок

При создании дизайна постоянно сталкиваешься с необходимостью стилизованных под конкретный дизайн кнопок, а рисовать постоянно картинки не удобно, да и не практично.

Здесь представлены
9 отличных статей на тему создания кнопок с изменяемой шириной

Веб-приложение, одна маленькая особенность верстки

Reading time3 min
Views3.1K
В качестве примера, иллюстрирующего поставленную задачу, могу привести вот этот топик: Миниатюрное приложение-калькулятор. Особенность, которую должен учесть верстальщик, заключается в следующем: окно с приложением обычно не растянуто на весь экран (зачем, например, разворачивать на весь экран калькулятор или софтфон?), но при этом размер окна может меняться пользователем, причём меняться очень даже произвольно, вплоть до полного экрана.

Итак, возникла производственная задача: необходимо расположить на страничке шапку фиксированной высоты, а всё остальное место заполнить контейнером с возможностью появления полосы прокрутки в случае большого количества контента в нём. Т.е. должна прокручиваться не страничка, а див (а-ля аська, в шапке кнопочки, в контейнере контакт-лист). Казалось бы, задача тривиальная, решается с кандачка (у дива высота 100% и каким-то образом вычесть из неё фиксированную высоту шапки). Ан нет, час битья лбом о клавиатуру ничего не принёс.
Читать дальше →

Разгоняем счетчики: от мифов к реальности

Reading time1 min
Views3K
Разгоняем счетчики: от мифов к реальности

Не только начинающие, но и продвинутые оптимизаторы встают в тупик, когда речь заходит о счетчиках посещаемости — ведь обычно это JS-код, который нужно вставить на страницу (и хорошо еще, если не требуют максимально близко к открывающему тегу body) и который нельзя никак менять. Иначе статистика просто не будет работать.

На самом деле, все не так плохо. Скорее, все очень хорошо, но мало кто об этом знает :)

Заглянем внутрь



Что из себя представляет код JS-счетчика? Обычно (в 99% случаев) он «вытаскивает» из клиентского окружения набор параметров (URL текущей страницы, URL страницы, с который перешли на текущую, браузер, ОС и т.д.), которые передаются на сервер статистики. Все навороты счетчиков связаны с обеспечением максимальной точности передаваемой информации (кроссбраузерность, фактически). Наиболее мощные (Omniture, Google Analytics) используют еще и собственные переменные и события, чтобы усилить маркетинговую составляющую.

Но сейчас речь не об этом. Как собранные на клиенте данные попадают на сервер статистики? Все очень просто: в документе создается уникальный элемент, в URL которого «зашиваются» все необходимые значения (обычно в качестве GET-параметров). URL этот ведет, как можно догадаться, на сервер статистики, где данные кладутся в базу и каким-то образом показываются в администраторском интерфейсе.

Читать дальше на webo.in→

Введение в mobile xotcl

Reading time6 min
Views824
#!/bin/sh
# \
exec tclsh "$0" ${1+"$@"}


package require XOTcl ; namespace import -force xotcl::*

#   За последние два дня на хабре появилась пара статей про программирование КПК на C# и C++. Это побудило меня написать цикл статей про тоже самое, а заодно познакомить читателей хабра, да и себя самого с такими технологиями, о которых мало кто слышал, но которые почти не имеют аналогов. Итак, резултатом статей будет программа для КПК, которая помогает что-либо учить. Работать она будет по методике карточек: одна сторона слово неизвестное, другая его значение. По дороге куда-либо просматриваем карточки, если слово неизвестное уже стало известно, то переходим к следующей карточке, иначе смотрим его значение и пытаемся запомнить.

#   Язык, на которым будет написано приложение, — TCL. Этот великолепный язык, возможно, не имеет аналогов. Благодаря его примитивному синтаксису, идея метапрограммирования и DSL в нем реализована по максимому. Например, существует расширение TCL, написанное как библиотека к нему, которое превращает его в язык похожий на smalltalk и ruby: вызов методов через посылку сообщений, интроспекция объектов и классов, возможность динамически изменять классы и отделные объекты, возможность менять класс объекта (!) и, конечно же, мета-классы и method_missing. Именно на этом расширении я и буду писать. Имя ему xotcl.

Я соглашаюсь с тем, что данная статья распространяется на условиях CC-NC-BY

@font-face в Firefox

Reading time1 min
Views2.1K
Сотрудник Mozilla, Джон Даггет подготовил сборку Firefox’а с поддержкой @font-face из спецификации CSS3 (часть «web font»). На данный момент она доступна только для Windows и Mac — для Linux пока нет. Есть нюансы которые описаны в комментарие на баг 70132, один из которых заключается в том, что по умолчанию скачиваются лишь те шрифты, что располагаются на просматриваемом сайте (домене), что бы исправить это нужно оключить опицию gfx.downloadable_fonts.same-site-origin.enabled на странице about:config.

Для тех, кто не знает эта вещь из CSS позволяет разработчику задавать на сайте тот шрифт, который ему нужен
Читать дальше →

тиражируемые решения

Reading time3 min
Views2K
Т.З. примерно следующее — необходимо иметь некоторый «быстрый старт» для приложений с стандартным функционалом. Дополнительным (и самым «заковыристым») условием является то, что этот стандартный функционал необходимо иметь возможность изменять самым невероятным образом, вплоть до полного отключения и замены своим (специфичным для данного приложения) кодом.

Приведу жизненный пример: есть необходимость делать ОЧЕНЬ похожие приложения. Например интернет-магазины, которые построены на примерно одинаковых схемах данных, бизнес-процессах и тп. Т.е. функционал любого из магазинов примерно идентичен, различается только view слой.

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

Собственно задача такая — как уменьшить «повторяемость кода» (т.е. отойти от monkey-patching-а) и при этом не потерять полный контроль над кодом.
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity