Pull to refresh
0
0
Eugene Krymov @Mordovorot

Пользователь

Send message

Создание сложных приложений в ExtJS.

Reading time8 min
Views4.8K
Автор: Jozef Sakalos, aka Saki
Статья в оригинале: Создание сложного приложение в Ext на blog.extjs.eu

Предисловие


Я решил написать эту статью для тех пользователей Ext 2.x, которые уже переросли одну единственную HTML-страницу со встроенными скриптом, создающим простое окно или форму, для тех, которые уже решили, что Ext — это их путь и для тех, которые превозмогая трудности связанные с большими объемами кода, понимают, что нуждаются в его структурировании.
Сколько людей, столько и мнений. И поэтому способ, который я опишу ниже, не является одним единственным возможным. Также хотелось бы отметить, что не каждое приложение, написанное с применением этого подхода, является гарантированно хорошим. Ничего подобного.
Замечу, что описываемый подход является работоспособным, четко структурированным, без труда поддерживаемым и, одним словом: рабочим!
Читать дальше →
Total votes 44: ↑44 and ↓0+44
Comments17

Иногда они возвращаются… снова

Reading time6 min
Views3.9K
Совсем недавно на хабре пользователем bur был опубликован пост про приятные ползунки TrackBar. Они мне понравились своей простотой и возможностью их использования в совокупности с jQuery. Чуть позже был так же пост про слайдер, который определял диапазон времени, но его порицали за большой вес и «тяжесть». Тогда у меня и родилась идея создать на основе TrackBar ползунков для выбора произвольного диапазона времени. Придумано – сделано. И сейчас я представляю свои наработки хабраобщественности.

Итак, было:

Стало:


Прочитать про это
Total votes 53: ↑49 and ↓4+45
Comments43

Skype — береженого Бог бережет

Reading time2 min
Views13K

Здраствуйте. Думаю, многие слышали о нашумевшей истории с тем, что skype читает файлы /etc/passwd и ~/.mozilla. Конечно, ничего очень уж плохого в этом нет, и неоднократно обьяснялось, что пароли не лежат /etc/passwd, а размещены в захешенном виде в /etc/shadow, а конфиг фаерфокса он читает для того чтобы определить настройки прокси/расширений и т.п. и т.д. Но все же никаких реальных фактов нет, а посмотреть исходный код, чтобы удостовериться в честности намерий разработчиков, мы не можем. Так что, с этого положения есть несколько выходов:
  • Продолжить пользоваться Skype, считая остальных параноиками.
  • Отказаться от Skype, и пользоваться открытой альтернативой (OpenWengo например).
  • Ограничить доступ Skype к системным ресурсам, и обезопасить себя от неожиданностей.

Сегодня я раскажу вам о третем пункте
Total votes 59: ↑48 and ↓11+37
Comments75

jQuery для самых маленьких или динамическая загрузка страниц (AJAX)

Reading time1 min
Views3.6K
В один прекрасный день понадобилось мне сделать динамическую загрузку из базы. До этого я ничего подобного не делал и не интересовался этим вопросом. Я начал искать информацию на эту тему. Нашёл, что нужная мне задача делается при помощи AJAX.

Перерыл очень много различных фреймворков и остановил свой выбор на ныне популярном jQuery. Всё бы хорошо, но принципа работы я сразу не понял, и сходу сделать простую задачу, аля загрузить одну страницу в другую, я не смог. Искал в интернете хоть какую-то помощь. Помог офф. сайт, благо там доков хватает. И вот, разобравшись в этом вопросе, решил сделать небольшой примерчик для «самых маленьких» (для новичков), которые никогда не работали с этой библиотекой.

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

Скачать пример можно вот тут
Total votes 26: ↑19 and ↓7+12
Comments21

Псевдо-Ajax

Reading time2 min
Views1.3K
— Кросс-пост из моего блога
Веб 2.0 начал плотно входить в умы людей, которые хотят сделать себе сайт. Как частный случай — некоторые люди просто помешаны на технологии Ajax. Требуют использовать её банально везде. Естественно можно попробовать переубедить заказчика, но если это невозможно или не к месту, то можно воспользоваться уловкой, которую я назвал «Псевдо-Ajax».
Читать дальше →
Total votes 77: ↑57 and ↓20+37
Comments55

C#: требования и рекомендации по написанию кода

Reading time5 min
Views146K
Не так давно в комментариях к топику AlexS высказал идею использования соглашения об оформлении на Хабре кода примеров темы .Net написанных на C#.

Я немного поизучал имеющиеся предложения из этих источников:
submain.com/blog/FreeCVBNETCodingGuidelinesEbookDownload.aspx
idesign.net/idesign/DesktopDefault.aspx
и скомпилировал черновик который описывает самые базовые правила оформления кода написанного на C#.

Предлагаю:
— обсудить этот черновик;
— внести в него все необходимые изменения;
— утвердить как стандарт написания C# кода на Хабре.
Более того, предлагаю создать документ, который можно было бы предложить как рекомендации habrahabr comunity для всех других программистов C#.

Под катом вы найдете текст черновика. Предлагаю всем желающим обсудить его и подвергнуть надлежащей правке.

Читать дальше →
Total votes 31: ↑24 and ↓7+17
Comments117

Как работают таймеры в JavaScript

Reading time2 min
Views18K
Примечание: ниже перевод заметки John Resig «How JavaScript Timers Work», в которой автор jQuery ясно и подробно излагает тонкости работы различных методов отложенного исполнения функций. Мои комментарии по клиентской производительности далее курсивом.

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

  • var id = setTimeout(fn, delay); — создает единичный таймер, срабатывание которого выливается в вызов определенной функции после указанной задержки. Данный метод возвращает уникальный ID, с помощью которого можно в дальнейшем отменить таймер.
  • var id = setInterval(fn, delay); — похож на предыдущий метод setTimeout, но совершает вызовы заданной функции постоянно (каждый раз с заданной задержкой), пока не будет отменен.
  • clearInterval(id);, clearTimeout(id); — принимают в качестве параметр ID таймера (возвращаемый двумя предыдущими методами) и предотвращают дальнейшие вызовы таймера.


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

Схема работы таймеров в JavaScript

Рисунок 1. Схема работы таймеров в JavaScript

читать дальше на webo.in →
Total votes 63: ↑59 and ↓4+55
Comments55
12 ...
10

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity