Вы читаете журнал [info]lanceon

Предыдущие 10

28 Июн, 2011

Отключение сглаживания шрифтов в Netbeans 7

В файл netbeans.conf в параметр netbeans_default_options добавить

-J-Dswing.aatext=false
-J-Dawt.useSystemAAFontSettings=off
Метки:

10 Май, 2011

Про языки программирования и котов

Programming languages are like cats. It is easier to get a new cat than to get an old cat fixed.
      -- Douglas Crockford

Архитектура масштабируемых Javascript-приложений

 Несколько ссылок на полезные материалы по теме:

1) Видео-лекция Николаса Закаса: Scalable JavaScript Application Architecture
     Слайды к лекции

2) Статья Николаса Закаса на msdn: Managing JavaScript Objects

3) Блог Nicholas Zakas - много материалов по этой теме

Почему столько внимания к работам этого человека? В них очень хорошо и глубоко проработаны идеи по систематизации построения больших веб-приложений, ну и несомненно, они продуманы не только в теории, но и проверены на практике:

Nicholas C. Zakas is a principal engineer at Yahoo!, where he is front-end tech lead for the Yahoo! homepage and a contributor to the YUI library. He is the author of Professional JavaScript for Web Developers (Wrox, 2009), Professional Ajax (Wrox, 2007), and High Performance JavaScript (O'Reilly, 2010). Nicholas is a strong advocate for development best practices including progressive enhancement, accessibility, performance, scalability, and maintainability.

4) Статьи по Javascript от Douglas Crouckford. Гуру явно работают вместе, или по крайней мере поблизости друг от друга :)

Douglas Crockford is an American computer programmer and entrepreneur, best known for his ongoing involvement in the development of the JavaScript language, and for having popularized the data format JSON (JavaScript Object Notation). He is currently a senior JavaScript architect at Yahoo!, and is also a writer and speaker on JavaScript, JSON, and related web technologies such as the Yahoo! User Interface Library (YUI).

5) Книга Stoyan Stefanov "JavaScript Patterns"

6) Книга Nicholas C. Zakas "JavaScript for Web Developers"



Будет продолжено.

 
 

29 Янв, 2011

Из условий использования ICQ

Переписка в ICQ не является личной (конфиденциальной) в прямом смысле этого слова, даже несмотря на то, что активных собеседников, как правило, двое. В соответствии с правилами пользования сервисом, все права на передаваемую в рамках сервиса информацию передаются AOL Inc., в том числе права на публикацию и распространение по своему усмотрению. Факт использования сервиса означает принятие пользователем этих условий.

С признанием правил пользования (acceptable use policy) пользователь передаёт ICQ Inc. все авторские права на данные, которые он опубликовал в рамках службы ICQ.

Правила пользования от 7 июня 2000 года гласят:

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

Оригинальный текст  (англ.):

You agree that by posting any material or information anywhere on the ICQ Services and Information you surrender your copyright and any other proprietary right in the posted material or information. You further agree that ICQ Inc. is entitled to use at its own discretion any of the posted material or information in any manner it deems fit, including, but not limited to, publishing the material or distributing it.

Отсюда

А на сегодняшний день это звучит так, что ничуть не лучше:

При отправке или рассылке документов, информации или иных материалов ("Материалы") в ICQ или при направлении информации, вводимой в различные указатели и инструментарии ICQ, и любых сообщений на доске сообщений ICQ вы (1) гарантируете, что не обладаете никакими правами в отношении Материалов, и на основании имеющейся у вас информации никакая сторона не имеет никаких прав на эти Материалы; (2) предоставляете ICQ неограниченное, бессрочное, неотзывное разрешение использовать, воспроизводить, демонстрировать, исполнять, адаптировать, изменять, передавать и распределять Материалы с использованием всех средств аудиовизуальной информации; и (3) соглашаетесь, что ICQ свободна в использовании любых идей, ноу-хау, концепций, методов или иных материалов, которые отправлены вами в связи с любой целью.
 

26 Янв, 2011

Про Google Closure

Разгромная статья профессионального js-разработчика, автора библиотеки Raphael для работы с векторной графикой, про js-библиотеку Google Closure, которая претендует на звание industrial-strength javascript library. В основном, он объясняет все ее косяки и неоптимальность кода тем, что она создана java-программистами, которые не очень хорошо понимают особенности javascript.

Google Closure: How not to write JavaScript

Сама Closure - это не только библиотека функций, а целый фреймворк для работы с dom, библиотека html-виджетов (многие из которых все уже видели в GMail, Google Analytics, Adwords и других веб-приложениях), "компилятор" на python с отслеживанием зависимостей, плюс библиотека классов на все случаи жизни.

Вот что о ней пишет сам Google:

The Closure Library is an industrial-strength JavaScript library. It provides user interface widgets, an event framework, a packaging and dependency resolution system, tools for DOM manipulation, tools for creating animation effects (including drag and drop), communication utilities, a unit testing framework, and a wide variety of other packages.

Google engineers developed the Closure Library in the process of creating large-scale web applications, and it is now the foundation of Gmail, Google Docs, and many other Google products. If you are developing a large or growing application, you may benefit from the Closure Library's breadth. A well-tested library can insulate you from cross-browser compatibility issues and the minutiae of client-side programming, letting you focus on the fun stuff.

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

15 Янв, 2011

Firefox: полезные расширения для веб-разработки и повседневной работы

Расширения (add-ons) для Firefox, которые могут оказаться полезными как для веб-разработки, так и в повседневной работе:
  • ColorZilla - позволяет кликом мыши выбрать цвет любой точки на загруженной странице или из всплывающей палитры цветов и скопировать его в буфер в удобном формате (hex, #hex, rgb(), hsl())
  • Download Statusbar - показывает дополнительную компактная панель для управления закачками вместо стандартного всплывающего окошка
  • Firebug - незаменимый инструмент веб-разработчика: обеспечивает просмотр и изменение dom-структуры любого элемента страницы, просмотр html-кода в виде разворачиваемой иеархической структуры, просмотр эффективных css-классов и атрибутов любого элемента с учетом наследования, отслеживание отправляемых браузером запросов к серверу и ответов сервера и многое другое.
  • Fireshot - расширение, позволяющее сделать скриншот полной страницы, отрендеренной в окне браузера, даже если она не помещается в высоту экрана и включается прокрутка. Включает в себя простой редактор для обрезания изображений, добавления надписей, сохранения в разных форматах и в разные места (буфер, файл). Устраняет необходимость делать несколько скриншотов и склеивать их по вертикали. Недостаток - слишком навязчиво предлагает купить версию Pro самого же себя или чего-то подобного.
  • JsView - показывает для загруженной страницы список подключенных внешних файлов css и js, каждый из которых можно быстро открыть в новой вкладке. Помогает найти нерабочие ссылки на css/js в своих разработках, а также очень помогает в изучении чужих сайтов, когда "интересно, а как вот эта штука сделана?", выяснить, какая js-библиотека или фреймворк где используется.
  • Live HTTP headers - монитор http-запросов браузера к серверу и ответов сервера. Полезен для отладки и изучения редиректов, когда нужно быстро выяснить, скрывает редирект реферер или нет, сделан он через отдельную страницу и javascript, или же он работает как http-редирект с кодом moved permanently или moved temporarily.
  • MemoryFox - браузер, который пытается устранить утечки памяти в Firefox путем форсирования очистки кэшей, буферов. Полностью проблему не разрешает, но помогает отсрочить необходимость перезапуска браузера, отжирающего через некоторое время работы много сотен мегабайт памяти и потому подтормаживающего.
  • OpenWith - добавляет меню с возможностью открытия в один клик текущей страницы в другом браузере. Список браузеров и команд, их вызывающих, настраиваемый.
  • PageSpeed - дополнение к расширению Firebug, позволяет профилировать веб-страницы с целью ускорения их загрузки. Выдает некоторые рекомендации по оптимизации структуры веб-документов и подключаемых внешних файлов. Сделано в Google. Представлет собой некий аналог ОТЛИЧНОГО стандартного встроенного профайлера в Google Chrome, который отрисовывает timeline загрузки и рендеринга, показывает, какие js-функции сколько времени исполняются, какие хранилища данных используются скриптами (html5 бд).
  • PDF Download - перехватывает загрузку pdf файлов и предлагает меню с выбором того, что с ним делать: открыть в браузере с помощью плагина Adobe, сохранить на диск во временное место и открыть программой для просмотра pdf, или просто сохранить.
  • QuickDrag - полезное расширение для быстрого поиска любого выделенного текста на загруженной странице в поисковике. Поиск делается исключительно мышью: нужное слово или фраза выделяется и с ним делается drag-and-drop на любое неактивное место страницы, что приводит к запуску поиска по этой фразе в новой вкладке. Попробовав один раз и немного привыкнув, начинаешь удивляться, почему это не обычная встроенная функция браузера.
  • Web Developer - расширение с набором полезных инструментов для веб-разработчика: линейки, рулеры, подсветка различных элементов на странице (tables, block elements, images, floats, etc.), быстрый переход к валидаторам локальных и серверных html/css/rss, быстрый ресайз окна браузера (viewport) до заданных наборов разрешений (1024x768, 1366x768, 1280x1024) для проверки внешнего вида страниц на разных экранах, плюс множество других полезных функций.
Знаете другие реально полезные расширения? Напишите о них!

13 Янв, 2011

tail error

Забавное сообщение об ошибке выдает tail, если при запуске не задать имя файла в качестве параметра:

$ tail -f
tail: warning: following standard input indefinitely is ineffective
Метки: , ,

3 Янв, 2011

Закон Украины о защите личных данных

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

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

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

В тексте традиционно встречаются много непонятных и двусмысленных формулировок, например, такая: "Не допускається обробка даних про фізичну особу без її згоди, крім випадків, визначених законом, і лише в інтересах національної безпеки, економічного добробуту та прав людини." Что же здесь следует понимаеть под случаями, связанными с возможностью сбора данных о людях без их согласия в целях экономического благосостояния?

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

На rada.gov.ua его окончательный текст пока что найти не удалось, но скорее всего в ближайшее время он там будет.

25 Дек, 2010

В одесской обсерватории

21 декабря утром ожидалось редкое астрономическое явление: одновременно происходящее солнцестояние и полное лунное затмение. Последний раз такое случалось 456 лет назад.

Было бы интересно на это посмотреть своими глазами, но в Одессе этого сделать не получилось, поскольку все происходило в светлое время суток. Начало затмения – 09:41 по Киевскому времени (7:41 UTC), максимальная фаза - около 11 часов, а светлеть начинает около 7 утра (восход Солнца - в 7:37).

Если бы условия были подходящими, то наблюдать явление можно было бы с помощью обычного бинокля или подзорной трубы. А с телескопом было бы куда интереснее :-)

Видимо, поэтому у [info]iskatel  возникла мысль о том, что неплохо было бы сходить в обсерваторию и посмотреть, как там идут дела и что можно увидеть на небе в этот день.

Поделившись для начала идеей с парой друзей, количество желающих выбраться на спонтанное познавательное мероприятие почти сразу увеличилось в несколько раз: к обсерватории пришли 12 человек, включая родственников, друзей, коллег, их жен и детей. Причем разглядеть всех, кто пришел, удалось только по сделанному снимку со вспышкой: парк Шевченко не освещен, свет пробивался только издали от порта и места строительных работ в районе стадиона ЧМП. Замечу, что по всем дорогам, тротуарам и дорожкам был скользкий и мокрый лед, и чтобы по пути не проехаться на пятой точке до ближайшей грязевой лужи, надо было хорошенько постараться.
Читать дальше... )

15 Дек, 2010

Робот Mail.Ru/1.0

В последние дни наблюдаю по логам и load average резко выросшую активность бота с user agent Mail.Ru/1.0 и конкретно в моем случае ip 217.69.134.165. Никакой полезной информации об этом боте и его управлямости не обнаружилось. Потому рассчитывать на его поддержку crawl-delay в robots.txt не приходится.

Выдача http-кода 403 (forbidden) на уровне http-сервера его не то что не останавливает, а кажется даже подзадоривает, и он начинает копать все глубже и глубже. Iptables с правилом drop помогает однозначно :)  , хотя, как мне сразу посоветовал специалист, ограничивать частоту подключений было бы правильнее, чем просто обрывать все соединения по ip.

Видимо, в ближайшее время стоит рассчитывать на появление очередного поисковика-"убийцы яндекса" от mail.ru ("убийцей google" его назвать язык не поворачивается :)

Трафик с мейл.ру давно уже наблюдается, хотя мелковат конечно, по сравнению с...

UPD:  нашлось про robots.txt для робота mail.ru/1.0: http://go.mail.ru/help_robots.html Поддержка crawl-delay заявлена, и даже поддерживаются не только целые значения в секундах, но и дробные, например, 4.5. Проверим.

Предыдущие 10