Метка: programming
Как отключить автогенерацию комментария при создании класса в Eclipse
При создании класса в Eclipse автоматически создается комментарий:
public static void main(String[] args) { // TODO Auto-generated method stub }
Смысла в нем нет, так что лучше эту фичу сразу отключить. Сделать это можно в меню Window -> Preferences -> Java -> Code Style -> Code Templates. Далее раскрываем дерево Code, и выбираем Method body. Ниже в поле Pattern уже виден шаблон, из которого генерируется комментарий. Чтобы его отредактировать необходимо нажать кнопку Edit…
Как использовать jQuery селектор ID с точками
Столкнулся с задачей, где пришлось даже гуглить, что бы решить. В SharePoint 2013 часто используются id’шники у тегов с точками, пример - id="Ribbon.Table.Design.Style.TableStyles-Large". И тут возникает вопрос – как выбрать этот элемент в коде jQuery? Вариант — $(«a#Ribbon.Table.Design.Style.TableStyles-Large») не подойдет, т.к. id будет считаться только Ribbon, все остальное будет селектором классов.
Решение:
Обратимся к документации jQuery:
To use any of the meta-characters ( such as ! «#$%&'()*+,./:;<=>?@[\]^`{|}~ ) as a literal part of a name, it must be escaped with with two backslashes: \\. For example, an element with id=»foo.bar", can use the selector $(«#foo\\.bar»).
Из документации следует, что надо экранировать точки в ID двойным обратным слешем \\, т.е. получится так:
$("a#Ribbon\\.Table\\.Design\\.Style\\.TableStyles-Large")
Еще один вариант:
$("a[id=’Ribbon.Table.Design.Style.TableStyles-Large’]")
Ошибка загрузки PyV8 при установке Emmet в Sublime Text 3
При попытке установить плагин Emmet на Sublime Text 3 вылезла ошибка – Error while loading PyV8 binary: exit code 1. Try to manually install PyV8 from https://github.com/emmetio/pyv8-binaries.
Воспользовался советом, начал ставить этот пакет вручную. Перешел по ссылке, скачал архив с PyV8 для Windows 7 x64 — pyv8-win64-p3.zip. Распаковал содержимое архива в каталог C:\Users\user\AppData\Roaming\Sublime Text 3\Installed Packages\PyV8\pyv8-win64-p3.
Перезапустил Sublime Text. Ошибка исчезла, проблема решена! Но появилась другая…
При загрузке Sublime Text 3 в консоле появилась ошибка — emmet.pyv8loader: Unable to download packages list. URL error Tunnel connection failed: 407 Proxy Authentication Required ( The ISA Server requires authorization to fulfill the request. Access to the Web Proxy filter is denied. ) downloading https://api.github.com/repos/emmetio/pyv8-binaries/contents.
Саблайм установлен на компьютере, который выходит в интернет через proxy server. Как настроить Package Control через прокси я уже рассказывал. Но, видимо, emmet.pyv8loader – не уммет рабоать через прокси. Я нашел только одно решение, кроме простого — не обращать внимание на ошибку, можно отключить запрос обновления в настройках. Для этого открываем Preferences -> Package Settings -> Emmet -> Settings – User, дописываем следующую строку:
{ "disable_pyv8_update": true, }
Сохраняем файл конфигурации и перезапускаем Sublime Text.
Настройка Sublime Text для работы через прокси
Текстовый редактор Sublime Text 3 изначально мощный, но без плагинов все равно не удовлетворяет всем потребностям разработчиков. Плагины устанавливаются через Package Control, который в свою очередь подтягивает дополнения из интернета. Но что делать, если разработчик находится в корпоративной сети за прокси сервером? Да все просто, надо просто прописать прокси в настройках Sublime Text Preferences -> Package Settings -> Package Control -> Settings – User.
В файле конфигурации дописываем 4 параметра:
"http_proxy": "proxy.contoso.com:8080", "https_proxy": "proxy.contoso.com:8080", "proxy_password": "Pa$$w0rd", "proxy_username": "contoso\\username",
Очередность можно не соблюдать, Sublime Text сам все выставит. В результате должно получиться, как на скриншоте (данные надо вбивать свои, конечно же). Домен и имя пользователя надо писать с экранированным обратным слешем – domain\\username!
Перепускаем Sublime Text и ставим пакеты через Package Control. В моем случае все заработало через прокси сервер Microsoft ISA Server 2006.
Проверка существования веб-страницы на Node.js
Появилась задача проверить существование веб-страниц на сайте. Адреса страниц имеют следующий вид — http://www.mysite.ru/pages/1, где последний параметр адреса это порядковый номер страницы – от 1 до 999. Для решения задачи решил использовать Node.js:
var http = require('http'); var url = require('url'); function getPageStatus(pageurl) { var options = { host: url.parse(pageurl).host, port: 80, path: url.parse(pageurl).pathname }; http.get(options, function(res) { if(res.statusCode === 200){ console.log(options.path+' - страница есть!'); }else{ console.log(options.path+' - страницы нет!'); } }); }; var pathUser = 'http://www.mysite.ru/pages/'; for(var i=0;i<1000;i++){ getPageStatus(pathUser+i); };
Для протосы скрипт выводит результат в консоль. В данной итерации результат оценивается просто визуально, но можно усовершенстовать скрипт, повесив счетчик, например.