Search
Write a publication
Pull to refresh
0
0

User

Send message

Быстрая сортировка таблиц посредством Javascript

Reading time3 min
Views17K
В процессе работы с таблицами, для удобства восприятия, а также быстрого анализа, рано или поздно возникает вопрос вывода отсортированного содержимого этих таблиц. Эту задачу в web-программировании можно решить двумя способами:

  • Сортировка на стороне сервера посредством SQL или backend'а;
  • Сортировка на стороне клиента.

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

Минусы сортировки на стороне клиента — сравнительно низкая скорость работы, прямо зависящая от браузера и мощности компьютера пользователя. Плюсы — отсутствие перезагрузки страницы, следовательно, иногда это дает бОльшую скорость получения отсортированного содержимого, т.к. в данном случае нет задержки между отправкой запроса серверу и получением результата.
Читать дальше →

MS Doloto: оптимизация загрузки Ajax-приложений

Reading time1 min
Views1.2K
В MSDN DevLabs выложили программу Doloto, предназначенную для оптимизации любых Ajax-приложений. В соответствии со своим названием, Doloto отсекает код до необходимого минимума, так что приложение быстрее загружается клиенту и быстрее начинает выполняться.

Программа анализирует исходники и выделяет тот фрагмент кода JavaScript, который непосредственно необходим для инициализации программы. Профилирование функций осуществляется на клиентской машине через локальный прокси-сервер http://localhost:8888 во время исполнения Ajax-приложения в браузере. При этом все «ненужные» функции помечаются метками (таймстампы). Прямо на клиентской машине генерируется оптимизированный код Ajax-приложения, в котором «ненужные» функции заменяются маленькими заглушками. Этот код потом будет загружаться в фоновом режиме или по мере необходимости, уже после инициализации основного скрипта. Оптимизированный код сохраняется на жёстком диске клиентского компьютера. Таким образом, можно оптимизировать чужие приложения, даже не имея доступа к их серверам, см. Doloto FAQ.

Программку протестировали на популярных Ajax-интерфейсах и получили впечатляющий результат.
Читать дальше →

GMail — проверка новых писем из командной строки

Reading time1 min
Views6K
Не будем тянуть кота за хвост. Сразу к делу

curl -u username:password --silent "https://mail.google.com/mail/feed/atom" | tr -d '\n' | awk -F '<entry>' '{for (i=2; i<=NF; i++) {print $i}}' | wc -l

Результатом будет количество новых писем у вас в ящике.

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

Simpla 1.2, теперь и для мобильных устройств

Reading time1 min
Views1K
image
Это мой 12-й пост на хабре, поэтому не судите строго.

Я хочу показать вам новую версию движка интернет-магазина Simpla 1.2

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

Пример работающего магазина:


Подробнее о мобильной версии и других нововведениях в Simpla 1.2

Менеджер пакетов для .NET

Reading time3 min
Views2.5K
Менеджеры пакетов в том или ином их проявлении есть практически везде: Gems и Rip для Ruby, Maven для Java и море разливенное для различных дистрибутивов Linux и Unix. И только .NET-разработчики по старинке ползают по сайтам в поисках той или иной версии необходимой библиотеки.

Будучи одним из таких разработчиков и устав от постоянных поисков требуемых компонентов, я решил, что с этим пора заканчивать. Результатом такого решения стал таки менеджер компонентов для платформы .NET
Продолжение

Website Screenshots & Thumbnails Extractor

Reading time1 min
Views692
«Website Screenshots & Thumbnails Extractor — это Windows приложение с открытым исходным кодом для извлечения скриншотов и превьюшек сайтов. Для работы требуется .NET Framework 3.5.

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

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

Когда Photoshop отображает совсем не то, что надо

Reading time3 min
Views290K
example

Такая вот ситуация: дизайнер присылает макет, а у верстальщика открывается какая то лабуда светлая, или темная (если верстальщик испольует МасOS, а дизайнер Win.). Или же верстальщик сохраняет картинку, а там цвета другие стали.

Разберемся почему так и как с этим жить.

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

Точка доступа на основе wi-fi карточки D-link DWA-520 (ath5k)

Reading time4 min
Views15K
Хотите получить wi-fi точку доступа из барахла которое завалялось в гараже? Тогда вам под кат т.к., сегодня мы будем собирать программную точку доступа (AP) на основе wi-fi карточки D-link DWA-520 на чипсете Atheros AR5001X+ (ath5k) и Ubuntu Server 9.04.

заинтересовало?

Бизнес-приложения для Silverlight 3 и .NET RIA сервисов. Часть 1: Навигация

Reading time3 min
Views1.1K
Бизнес-приложения требуют наличия профессионалов, но кто из нас содержит на полную ставку дизайнера в своем штате? Думаю, немногие. Вот почему мы тратим много своих сил на создание мощного функционала работающего «из коробки». Проекты Silverlight Navigation Application и Silverlight Business Application(с поддержкой авторизации пользователей) начинаются с простой, предписывающей структурой приложения, приятным видом, который очень просто изменить, даже для разработчика.
Читать дальше →

Динамическая компиляция кода в C#

Reading time5 min
Views33K
Использовать компилятор из кода C# достаточно просто. А вот зачем – это другой вопрос :).

Hello World


Напишем первый простой пример. Создаем консольное приложение и напишем следующий код:
using System;<br>using System.CodeDom.Compiler;<br>using System.Collections.Generic;<br>using Microsoft.CSharp;<br><br>namespace ConsoleCompiler<br>{<br>  internal class Program<br>  {<br>    private static void Main(string[] args)<br>    {<br>      // Source code для компиляции<br>      string source =<br>      @"<br>namespace Foo<br>{<br>  public class Bar<br>  {<br>    static void Main(string[] args)<br>    {<br>      Bar.SayHello();<br>    }<br><br>    public static void SayHello()<br>    {<br>      System.Console.WriteLine(""Hello World"");<br>    }<br>  }<br>}<br>      ";<br><br>      // Настройки компиляции<br>      Dictionary<string, string> providerOptions = new Dictionary<string, string><br>        {<br>          {"CompilerVersion", "v3.5"}<br>        };<br>      CSharpCodeProvider provider = new CSharpCodeProvider(providerOptions);<br><br>      CompilerParameters compilerParams = new CompilerParameters<br>        {OutputAssembly = "D:\\Foo.EXE", GenerateExecutable = true};<br><br>      // Компиляция<br>      CompilerResults results = provider.CompileAssemblyFromSource(compilerParams, source);<br><br>      // Выводим информацию об ошибках<br>      Console.WriteLine("Number of Errors: {0}", results.Errors.Count);<br>      foreach (CompilerError err in results.Errors)<br>      {<br>        Console.WriteLine("ERROR {0}", err.ErrorText);<br>      }<br>    }<br>  }<br>}<br><br>* This source code was highlighted with Source Code Highlighter.

Запускаем и проверяем:
First Sample
Первое, на что стоит обратить внимание – это использование двух пространств имен (namespace):
  • Microsoft.CSharp
  • System.CodeDom.Compiler
В данных классах и содержится ключ к возможности компиляции. В нашем примере мы указываем что компилировать будем под .NET Framework 3.5, а так же указываем что мы хотим получить на выходе – Foo.exe, с возможностью запуска данного приложения.
Читать дальше →

Cargo — платформа для портфолио

Reading time4 min
Views27K
Cargo

В моём предыдущем хабратопике несколько человек просили рассказать подробнее про Cargo, как оказалось хабра-сообщество еще с ним не знакомо, что же — распишу всё по шагам и с картинками.

Cargo — это платформа (CMS) для веб-публикаций и организации сообществ, в настоящее время находящаяся в стадии разработки и тестирования. Она полномочна для создания различных творческих сообществ в сфере образования, дизайна, исследований, и концептуального искусства.

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

Верстка на HTML5

Reading time3 min
Views65K
html5

Несмотря на то, что стандарт HTML5 официально не утвержден, использовать его можно уже сейчас. Большинство браузеров уже понимают новые структурные элементы и для его использования достаточно добавить новый doctype.
Читать дальше →

Легковесные веб-приложения на Ruby

Reading time5 min
Views8.8K

Быстрая разработка


Вдохновленный постами на западных блогах вроде «Clone TinyURL with 40 lines of Ruby» или «Clone Pastie in 15 Minutes with Sinatra & DataMapper» я решил попробовать пройти и заодно описать весь процесс реализации легковесного веб-приложения на руби, от проектирования до деплоймента.

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

Пример использования пользовательских событий

Reading time4 min
Views7.7K
Наверное много кто знает что в jQuery есть набор стандартных событий, таких как Click или MouseDown и прочие, на которые можно повесить обработчики или возбудить с помошью функций click() mousedown() и прочих. Чуть поменьше людей знают, что те-же самые действия можно сделать с помощью функций bind() и trigger():
$(document).bind('click', function(){
  alert('It works!');
});

$(document).trigger('click');


* This source code was highlighted with Source Code Highlighter.

И наверное мало кто знает, что в функциях bind() и trigger() можно использовать свои собственные события. Зачем это нужно, я и хочу рассказать на примере.
Читать дальше →

Раздобываем бесплатные шрифты для русского языка, чтобы пережить Вторую типографскую революцию в Паутине

Reading time7 min
Views33K
На минуту обратите свои мысли вспять, к прошлому, к завершившемуся тысячелетию. Отдайте должное утренней заре Всемирной Паутины, потому что заря эта готова ужé окончательно потухнуть, уступая место куда более яркому сиянию нового дня.

Первая типографская революция произошла во Всемирной Паутине настолько давно, что приходится производить поиски, чтобы установить подробности. Кажется достоверным то, что пишет Ian Graham: в Netscape Navigator 2.0 впервые появился элемент <font> (тогда он позволял задавать только размеры шрифта, и только в условных единицах), а в Internet Explorer 3 у этого элемента появился атрибут face, позволявший задавать начертание, задавать шрифтовое семейство. Википедия подсказывает, что Netscape Navigator 2.0 появился в марте 1996 года, а Microsoft Internet Explorer 3 — в августе того же года. В язык HTML версии 3.2 даже не входил атрибут face, хотя и упоминалося, что такой атрибут существует.

Тринадцать лет назад.

Все эти тринадцать лет для начертания текста сайтов в основном использовались несвободные шрифты, являющиеся частью операционных систем и офисных пакетов. Сайтам приходилося гадать о том, какие шрифты установлены у читателя, а какие не установлены, и какова вероятность того или другого, какие шрифты можно считать безопасными. Сочинялись специальные плагины jQuery и создавались специальные страницы, способные выяснить набор шрифтов на компьютере читателя. Особый дух того времени прекрасно передал despoth, сочинив превосходную серию статей о такой веботипографике, которая основана именно на подборе несвободных шрифтов (часть I часть II часть III часть IV часть V).

Наконец, это время кончилось: явствуют, зримо явствуют признаки Второй типографской революции, связанной с приходом @font-face.

Джон Даггетт сочинил познавательную статью о том, как все мы совсем скоро (после появления Safari 3.1, Firefox 3.5, Opera 10) сможем использовать загружаемые шрифты во всех популярных браузерах, а не только в одном наиболее популярном.

Марк Пилгрим грубо обрисовал ситуацию с лицензированием собственнических шрифтов. Ситуация эта немало напоминает глухой тупик. Даже создателям прекрасной демонстрации возможностей Firefox 3.5, чтобы изготовить страницу, пришлось специально связаться со шрифтопроизводителями и изготовлять такие особые (усечённые) версии использовавшихся шрифтов, чтобы их не было смысла копировать нелицензионно. А вон там предлагают раздавать особые паутинные обкусанные ужатые копии купленных шрифтов (которые сам покупатель вывешивать не имеет никого права, а только ссылаться). Остроумно. Открывает широкую дорогу в сторону Большого Брата: типа как недавно читальники Kindle удаляли книги Оруэлла за нелицензионность (даже честно купленные — просто оставляя стоимость их на счету покупателя в уплату). Так и тут. Внешний шрифт может неожиданно подохнуть, даже купленный заранее.

Всё это значит, что одновременно с переходом к использованию загружаемых шрифтов состоится, вероятнее всего, и переход к бесплатным (а в идеале — даже и свободным) шрифтам в Паутине.

Англоязычному люду этот переход дастся достаточно просто: достаточно обратиться к белке-шрифтелке, чтобы получить буквально сотни шрифтов, каждый из которых можно без лицензионных проблем использовать в своей работе, на своём сайте. Тем же, кто пользуется русским языком (или, тем паче, другими языками на основе расширенной кириллицы), придётся гораздо, гораздо похуже. Свободных кириллических шрифтов совсем мало, а русского аналога белки-шрифтелки, похоже, вообще не существует в природе.

Я собираюсь поэтому перечислить прямо тут все свободные шрифты, подходящие для использования на сайтах, написанных по-русски. Не стесняйтеся дополнять мой список.

Список пошёл.

Работаем с банковскими (рабочими) днями

Reading time1 min
Views15K
Полгода назад при разработке системы финансового учета поднялся вопрос о идентификации банковский дней. Произошло это в следующем контексте — при выставлении счета отводится некий промежуток времени (в банковских днях) по истечению которого надо трубить тревогу, если счет еще не оплачен.
Читать дальше →

CSS Sticky Footer / Прилипающий футер

Reading time4 min
Views78K

Как использовать прилипающий футер


Введение


В Гугле можно найти много реализаций прилипающего футера. Я перепробовал большинство из них, и обычно где-нибудь они да подводили. В основном из-за того, что предложенные методы были слишком старыми, и не срабатывали в новых браузерах. Но, поскольку страницы, предлагающие решения, довольно старые, на них давно ссылается много других сайтов, из-за чего они до сих пор находятся довольно высоко в поисковой выдаче Гугла. Вебмастеры находят их самыми первыми в своих поисках, и потом долго чешут репу, не видя ничего нового.

Решения Райана Фэйта хорошо известно и работает, но требует лишний пустой <div>. Приверженцы чистого HTML-кода могут найти это богохульство несемантичным. В нашем решении лишнего <div> нет.
далее

Простой способ поделиться маршрутом

Reading time1 min
Views2.8K
Недавно столкнулся с небольшой проблемой, а именно отсутствием простых и удобных сервисов для прокладки маршрута. Мне кажется это должно выглядеть так — зашел помахал немного мышкой, скопировал ссылку и отдал кому следует.
Поэтому проштудировав API от яндекс карт решил сделать сам. Конечно убил на это гораздо больше времени чем планировал, но все таки сделал — gpstracks.ru.
Читать дальше →

Information

Rating
Does not participate
Location
Бурон, Северная Осетия, Россия
Date of birth
Registered
Activity