суббота, 5 июня 2010 г.

CAPTCHA нового поколения

Я недавно выдумал систему CAPTCHA нового поколения, назвал её "NovoCaptchus" (Ново Капчус).
Такая система является более удобной со стороны регистрирующегося. После заполнения всех необходимых полей, и после того как вы перетаскиваете мышкой шарик до конца, кнопка для продолжения регистрации разблокируется.
Сутью НовоКапчуса заключается программа при которой человек перетаскивает, к примеру, шарик для получения данных с сервера для продолжения регистрации.
Начало


Передвигаем


Окончание


Попробовать вы можете здесь: http://www.newnauka.org/WhyMe/Task4.php
В данном случае НовоКапчус написан на JavaFX (Для работы нужен современный Java плагин).
Однако, в принципе реализовывать такую капчу можно с помощью другой RIA-технологии.

четверг, 11 февраля 2010 г.

О проектировании

Всем привет, я бы хотел в этом сообщении поведать свои мысли, возможно даже опыт, по поводу проектирования (Как ООП проектирования, так и БД-модели).
Любой программист знает, что для того чтобы начать писать программу - нужно иметь модель (иногда моделью может служить Тех-задание).
Что такое модель?! - модель это некое графическое, однако, абстрактное представление того что должно получится в результате.
Например, у вас может быть несколько связанных списков: "списки" + "связи между ними" = модель.
Самая сложная часть в написании программы - построить модель. Чем более сложная модель - тем более мощная программа.

При составлении модели, лучше пользоваться тетрадкой, листком или блокнотом. На компьютере - вы потратите очень много времени.
Если вы воспринимаете мир в образах - рисуйте графические представления (объектов, списков, таблиц и т.д.)
Если вы воспринимаете мат-мышлением - пишите в формулах или удобном вам варианте.

В результате, у вас должна получится схема, или формула связей объектов между собой.
Если у вас это получится - тогда писать систему, или программу будет гораздо проще.

вторник, 9 февраля 2010 г.

Идея "LSD"

С месяц назад, я выдумал некоторую концепцию, которой все наверняка уже давно пользуются.
Она связана с Java и MySQL, но применяться может абсолютнов разных сочетаниях, главное чтобы ООП поддерживалось.
P. S. Скажу сразу, реализацию, продемонстрирую позже...

В чём заключается идея "LSD"?!, идея заключается в смысле абревиатуре: Load/Save/Delete, и внимание, под Save подразумевается "Создать новый если не существует записи с таким ID, или Обновить запись если ID задан".

Идея заключается в простом способе сохранения/удаления/получения данных в/из, к примеру, MySQL (Хотя это не имеет значения откуда, хоть с XML-кой работаете).

Например у вас имеется таблица в БД, вы создали Интерфейс LSDInterface, в котором задали несколько функций, например: preLoad, preSave, preDelete, getId, setId и setData
Теперь создаёте класс - отражающий ту таблицу с которой вы хотите работать.
Он должен имплементировать (Использовать) интерфейс LSDInterface.

В функциях "pre..." вы задаёте SQL строки, и возвращаете их. то есть все "pre..." должны возвращать строки, со сгенерированным SQL кодом.

Создаёте класс DBWorker, который будет заниматься организацией ввода/вывода данных в объекты!
Тоесть, у него должны быть методы load, save и delete, в которые должны передаваться объекты с интерфейсом LSDInterface.

И на последок о setData в LSDInterface - этот метод должен вызываться, для заполнения данными объекта, который исполняет интерфейс LSDInterface.

Желаю удачного кодинга.

воскресенье, 11 октября 2009 г.

Приветствуйте "Vala"

Я был поражён когда увидел это http://live.gnome.org/Vala, Это ссылка на Язык программирования именуемый Vala. Написан он, как я понял, специально для разработки высокоуровневых приложений используя библиотек GNOME и GTK.
Как там написано, этот язык имеет C# подобный (А значит Java) синтаксис - и это превосходно.
Вы отлично знаете что я терпеть не могу Майкрософт, и все их разработки, даже если они могут выглядеть полезными. Но вот я немножко завидовал, что у них появилась системноориентированная копия Jav-ы, и я огорчался что в Линуксе нет ничего подобного. Конечно C и C++ имеет поразительные возможности, но я очень люблю Jav-у и её структуру. И Vala - я надеюсь станет ещё одним моим любимым языком разработки.
И кстати по словам разработчиков и википедии, он является Полностью Объектно ориентированным.
Мой блог посвящённый этому языку: http://vala-valhalla.blogspot.com/
Спасибо за внимание. Желаю удачи.

воскресенье, 20 сентября 2009 г.

WEB-Полезности

В этом сообщении я хотел бы рассказать немного своих мыслей касательно области Всемирной Паутины для разработчиков.
Певрое: Читайте внимательно :).

Воторе: Будьте бдительны :D.

Тертье: И не парьтесь :).

Ладно, извините, это была шутка, а теперь о серьёзном.
Хотел бы рассказать моё видение о высоком уровне программирования для Всемирной Паутины:
Во первых, Самые полноценные сайты получаются в том случае если у вас он написан с использованием технологий: PHP(5), mysql, xml, xhtml, css, js(+ AJAX). Сайт подобного рода будет максимально производительным. Право, можно сюда включить так же, такие 2 известных технологии как Java и Flash, но это уже менее существенно для информационного портала.
Теперь что такое Паутина2.0 (WEB2.0) - Это набор идей и технологий при которой - сайты, серверы и прочие технические компоненты паутины обмениваются информацией между собой, возможно даже не контролируемые людьми напрямую. То есть, сайты, автоматически беседуют друг с другом, чтобы когда человек стал к ним обращаться, они интерактивненько дали ему - то, чего он хочет.

Пару моих личных советов. Учтите они могут быть и не очень полезными (Они базируются на моём опыте).
1) Используя PHP - пишите всё в Классах. Вы на 80% упростите себе задачу.
2) Используя JS - По возможности, тоже используйте Объектную модель - опять же упростите себе задачу.
3) Описывая интерфейс по средствам CSS - пишите всё в иерархическом виде, не скупитесь на символы описывая названия классов и уникальных номеров (ID).
4) Используйте обязательно - Стандарт XHTML типа Strict если не ошибаюсь версии 1.0.
5) Ну а по поводу XML, всё просто - не забывайте указывать кодировку UTF-8, могу вам сказать - вам будет куда легче работать.
В общем, в принципе - я рекомендую использовать именно UTF-8.

Приведу пример по поводу Классов в PHP:
У вас есть задача работы с RSS, не будете же вы всё в один файл запихивать функции работы с RSS.
Вам куда проще будет создать класс работы с RSS, и его использовать. ООП даёт неимоверную мощь разработки. К тому же сайты получаются менее кривыми и более стабильными.

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

Последний совет: не перегружайте свой сайт кодами JS, вы его сделаете непомерно тяжёлым.
Лучше равномерно использовать PHP и JS. Где нет необходимости динамической подргузки используйте PHP, а где нужна именно подгрузка, незначительные расчёт - используйте JS.

Приведу несколько полезных сайтов для ВП-разработчиков(Разработчиков для Всемирной Паутины):
Сайт о HTML/XHTML: http://htmlbook.ru
Сайт о PHP: http://php.net
Статья (Да и сам сайт замечательный) для начал работы с AJAX-ом: http://www.ajaxa.net/2007/03/30/ajax-s-chego-nachat/

И конечно же сайт W3C: http://www.w3.org/ (EN)

Всем удачи.

воскресенье, 19 июля 2009 г.

Спасибо

Здравствуйте, и спасибо вам что решили посетить "Блог Разработчика".
Извините за такой неинтересный, скучный и не красивый заголовок :), но я очень старался.
И лично мне он нравится.
В скором времени я буду публиковать какие-то свои измышления о Разработке, надеюсь они будут полезны для вас.