C# - запуск только одной копии программы
10.08.2008
Недавно пришлось решить вопрос запуска только одной копии программы на C#. Вопрос решил успешно, используя Mutex. Собственно велосипед изобретать не стал и воспользовался готовым кодом, который нашел здесь. Сначала создаем класс (который я успешно использовал уже в нескольких проектах):
Читать полностью »
О важности комментирования кода говорилось уже много раз. Потому о том, что комментарии помогают и очень нужны программисту мы в тысячный раз говорить не будем. Лучше поговорим о правильном и красивом использовании возможностей phpDoc в замечательной IDE - Eclipse.
Если вы хотите что б каждый класс написанный вами был понятен вам и вашим коллегам - можете использовать довольно простой стандарт записи комментариев, который будет обработан Eclipse и выведен при работе с этим классом или методом:
/**
* Short description - used in indexlists
*
* Multiple line detailed description.
* The handling of line breaks and HTML is up to the renderer.
* Order: short description - detailed description - doc tags.
*
* @param string Target directory for the generated HTML Files
*/
Если перед обьявлением класса или метода написать такой комментарий - IDE обработает его и выведет вам подсказку при дальнейшем их использовании. Это очень удобно при коллективной разработке и больших обьемах кода. Назначение методов становится понятнее, передаваемые параметры выводятся, возвращаемые значения указываются.
Следует отметить что Eclipse автоматически генерирует заготовку под такой стиль комментария после введения /** и нажатия Enter перед обьявлением метода/класса. А получить подсказку можно по нажатию Ctrl+Space после ввода $myClassName->.
Недостатки AJAX - объективная реальность
23.06.2008
Очень много говорят сейчас о популярной технологии - AJAX, которая стала неотъемлемой частью раздутого пузыря WEB 2.0.
AJAX (от англ. Asynchronous Javascript and XML — «асинхронный JavaScript и XML»)
По сути это тот же Javascript и XML, который использован в другом ракурсе. Достоинства применения этой технологии успели оценить многие пользователи Интернета. Но, никто пока за всеми плюсами на видит минусов. Недостатки стоит знать, для того что б эффективно с ними бороться.
Читать полностью »
Багрепорт. Ловим ошибки.
21.06.2008
Багрепорт (bug report) - отчет об ошибке, является очень мощным инструментом по устранению ошибок в работе скриптов и программ. При коллективной разработке правильная работа над ошибками является залогом их полного устранения. Правильно составленный багрепорт должен дать полную информацию разработчику об ошибке.
Очень широко применяется такой вид оформления багрепорта:
Что сделал?
Что получил?
Что ожидал получить?
Ответив на эти три вопроса - человек формирует полный багрепорт, прочитав который программист поймет как ему устранить ошибку.
Отвечая на вопрос “Что сделал?” нужно описать пошаговые действия, которые приводят к ошибке в работе программного обеспечения.
“Что получил?” - должен рассказать о самой ошибке, которая возникает.
Ответ “Что ожидал получить?” дает описание того, что пользователь ожидал увидеть - проведя вышесказанные действия.
Помимо этих обязательных пунктов - не лишним будет указать подробную характеристику системы, в которой возникает ошибка (для веб-приложений ОС/Браузер например).
Незаменимые вещи для каждого программиста - CheatSheets. В них всегда можно заглянуть и подсмотреть вещи, которые в голове постоянно хранить совершенно необязательно. Некоторые их распечатывают и ложат на рабочий стол. Я предпочитаю просто иногда подсматривать. Думаю это будет полезно не только мне. Я собрал набор из таких шпаргалок:
- Characters Cheatsheet (Шпаргалка по спец.символам)
- CSS Cheatsheet
- HTML Cheatsheet
- JavaScript Cheatsheet
- mod_rewrite Cheatsheet
- MySQL Cheatsheet
- PHP Cheatsheet
- Regular Expressions Cheatsheet
- SQL Server Cheatsheet
Каждая шпаргалка содержит описания функций, типов для разных языков. В некоторых есть примеры кода. Вобщем качаем и сохраняем. Cheatsheets - вещи из разряда “Must have”.
Читать полностью »
Здравствуйте. Хочу представить новый сервис для посетителей сайта http://devoid.com.ua/ - “Ответы“. Теперь любой программист, у которого возник вопрос по программированию и он не нашел ответ на сайте - может спросить у других посетителей сайта. Такое общение поможет новичкам находить ответы на свои вопросы, а профессионалам находить интересных собесседников и правильные решения сложных задач.
При добавлении вопроса можно воспользоваться удобным редактором, о котором я писал раньше. Пока “Ответы” работают в режиме тестирования, потому все замечания и пожелания будут учитываться. Подробное описание сервиса читайте в новостях сайта.
Очень надеюсь что аудитория сайта составит дружное сообщество где будет царить уважение и взаимопомощь.
Хочу поговорить сегодня о неплохом редакторе, который написан с использованием библиотеки jQuery - markItUp! Этот редактор позволяет форматировать данные, которые вводит пользователь в виде HTML, BBcode, Wiki Syntax и т.д. Подключается и настраивается под свой проект очень легко - есть система скинов, разные настройки форматирования. Используя markItUp! в своем проекте, мне пришлось его немного подкорректировать и “обработать напильником”, но это не заняло много времени.
Смотрится редактор очень симпатично. Мне нужно было настроить нормальный визуальный редактор для форматирования BBcode - что собственно я и сделал с помощью markItUp!, а в связке с парсером BBcode - наладил нормальную обработку данных, которые вводит пользователь.
Читать полностью »
ICQ бот на PHP? Легко!
13.04.2008
Привет. Вот всегда была интересна мне тема создания ICQ-ботов на PHP, и сегодня решил рассмотреть ее подробнее и поделиться с вами найденной информацией. Итак, задача: написать ICQ-бот на PHP. Что б реализовать запланированное, нам не нужно изучать протокол ICQ, а достаточно просто воспользоваться готовым РНР-классом для работы с протоколом аськи. Когда класс WebIcqLite.class.php скачан, можно приступать к первым попыткам его использовать.
Вот что дают разработчики в качестве примера использования класса:
Читать полностью »
Недавно, друг подсказал мне неплохое решение для работы с массивами в PHP. Это класс, который работает на подобии LINQ в C#3.0 и позволяет делать выборки из массивов с помощью конструкций, которые напоминают SQL. Вот небольшой пример, выборка слов, длина которых меньше 5 символов:
// Create data source
$names = array("John", "Peter", "Joe", "Patrick", "Donald", "Eric");
$result = from('$name')->in($names)
->where('$name => strlen($name) < 5')
->select(’$name’);
Следует отметить, что данное решение работает только с версией PHP 5.2 или выше.
Более подробная информацией по PHPLinq размещена на этом сайте.
Ко мне часто обращаются с различными вопросами. Вопросы касаются как статей размещенных на сайте, так и других, более отвлеченных тем. Так вот недавно проскочил один вопрос, который хочу раскрыть подробнее.
Итак, вопрос: Как отправить форму по нажатию на картинке?
Решение есть довольно простое и стандартное. Вот пример формы с одним текстовым полем, которая отправляет свое содержимое при нажатии на картинку:
Читать полностью »