IT-Expert
  IT-Expert / Веблог / Ключевые слова / Web Development
Авторизация
Логин:
Пароль:


 
Поиск по записям:

Ключевые слова:
Записей в блоге
 за 2023 год
 за 2022 год
 за 2021 год
 за 2015 год
 за 2014 год
 за 2013 год
 за 2012 год
 за 2011 год

     за 2010 год

       за 2009 год
       за 2008 год
       за 2007 год
       за 2006 год
       за 2005 год
      RSS лента Лента новостей IT-Expert 
      входит в:
      Docker

      Web Development

      включает:
      Microsoft
      SharePoint Portal
      Infopath
      PHP
      Parser
      XSLT
      mod_rewrite
      Javascript
      AJAX

      Решаем проблему form-post-spam

      12:42, 19 октября 2007 ( )

      Bit пишет:

      В последнее время начал замечать следующую проблему:на сайте возникают ошибки из-за заполнения форм непредусмотренными данными. Например в поле со смещением страницы помещают www.viagra.com и т.п.причем спамом заполняются все доступные поля формы на странице + возможные параметры в адресе!
      Видимо ставка таких form-spam-ботов на то, что хоть какие-нибудь данные занесутся в базу, и будут в дальнейшем отображаться на атакуемом сайте! Тем самым поднимая релевантность для поисковиков раскручиваемого ресурса.
      Весьма массовый характер такого спама действительно может иметь большой успех.
      Благо что бороться с подобными вещами довольно просто: достаточно иметь систему тестов переменных на нужный тип. На своих сайтах я поставил такую защиту, и при несоответствии типа переменной в поле формы отображается пустой экран. Тем самым существенно снижается нагрузка сервера вышеуказанными спам-ботами.

       

      Quick win32 setup emacs for Ruby on Rails development

      18:34, 2 июля 2007 ( )

      По следам заметки Дмитрия Галинского мной был настроен emacs для работы с Ruby on Rails. Пока что по набору фич я считаю эту связку одной из самых мощных для разработки на ruby on rails.


      Потому что (перечислю то, что было важно для меня):

      1. Мощный механизм snippets, все как у textmate - признанного лидера в сниппетах ;)
      2. Подсветка синтаксиса.
      3. Быстрый переход по "местам" проекта - views, layouts, controllers, tests.
      4. Быстрый переход по контексту (из контроллера во вьюшку, из вьюшки в партиал).
      5. Быстрый запуск migration, rake, generate.
      6. Запуск-перезапуск веб-сервера (Webrick, Mongrel, Lighttpd).
      7. Работа с vestion control (для меня - SVN).
      8. Контекстно вызывать документацю Rails (для Win32 можно работать даже с CHM вариантом)
      9. Автоматическое выделение ошибок при наборе кода.

      И помимо вышеперечисленного emacs несомненно является мегаредактором по количеству приемов работы с текстом. 

      Ну очень-очень бы хотелось видеть встроенную поддержку RSpec.

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

      Для одного плагина требовалось сказать и установить пяток плагинов, для другого плагина требовалось установить еще три плагина. Весьма непростой оказалась сборка всего этого воедино.

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

      Итак.

      Качаем emacs и распаковываем в любую удобную для нас директорию. Для меня показалась удобной C:\Program Files\emacs22-1.

       Качаем  этот архив и распаковываем в c:\Documents and Settings\myuser\Application Data. Понятно, что myuser - тот пользователь, под которым вы сейчас в системе.

      Свои плагины emacs будет искать именно там, в c:\Documents and Settings\myuser\Application Data\.emacs.d, а сам файл конфигурации c:\Documents and Settings\myuser\Application Data\.emacs

      После распаковки запускаем emacs командой c:\program files\emacs-22.1\bin\runemacs.exe, успешным запуском будем считать окно emacs без errors и warnings.

      Для начала работы нажмем Alt+x, в приглашении напишем ecb-activate [return], после чего должны загрузиться навигаторы по каталогам, файлам и по коду. Если в навигаторе по директориям у вас пусто - значит необходимо сконфигурировать ecb и добавить ваш каталог с проектами в конфигурацию: Menu->ECB->Preferences->Directories.

      Все, далее рекомендую ознакомиться со статьей Дмитрия, изучить горячие клавиши навигации по коду и пройти tutorial на родном языке Ctrl+h t по базовым понятиям emacs.

       

       

      Корректно работать vim в win32 с utf-8

      11:58, 16 июня 2007 ( )

      Может заставить опция в vim startup: set fencs=utf-8

      Что задаст кодировку для работы с файлами utf-8, при этом отображение шрифтов в меню останется корректным.

       Задать хороший шрифт:

      set guifont=Courier_New:h9:cRUSSIAN

       

      Обновление RSS подписки

      12:46, 6 апреля 2007 ( )

      Леди и джентельмены, мадам и мсье, юзеры и админы, гоблины и хьюманы,  натуралы и денатураты, камрады и все-все-все кто читает блог посредством RSS,

      обновите ваши подписки на мой блог используя следующий URL: http://feeds.feedburner.com/It-expert

      Будем приобщаться к сервисам Web 2.0, таким как feedburner.

       

      ТЗ на сайт? А?

      10:15, 5 апреля 2007 ( )

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

      http://webmascon.com/topics/planning/22a.asp

       

      Про Rails и console

      11:47, 19 марта 2007 ( )

      Хочу такой же email encode через Javascript как у тебя, сказал zteel

      Легко, подумал я, но не запускать же для этого сайт в отладку цепляя где-то функцию 

      mail_to(email,email,:encode=>'javascript')

      ибо неспортивно.

      А надо что бы спортивно, для этого же есть script/console!

      cd /myrailsproject 

      ruby script/console

      и после непродолжительного гугления:

      >>helper.mail_to("email@email.ml","email@email.ml",:encode=>"javascript")

      и получаем заветную закодированную строку для email:

       => "<script type=\"text/javascript\">eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%
      77%72%69%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%65%6d%61%69
      %6c%40%65%6d%61%69%6c%2e%6d%6c%22%3e%65%6d%61%69%6c%40%65%6d%61%69%6c%2e%6d%6c%3
      c%2f%61%3e%27%29%3b'))</script>"

       

      Еще раз об OpenID

      11:12, 24 ферваля 2007 ( )

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

      Все ссылки на русском.

      http://www.habrahabr.ru/column/2029/ 

      http://the-notebook.org/10/01/2006/populyarno-ob-openid/ 

      http://ru.wikipedia.org/wiki/OpenID

       

      Behaviour driven programming или переворот в сознании программера

      23:21, 16 ферваля 2007 ( )

      BDD - behaviour driven programming, по-нашему "поведенческое программирование", основанное на мысли о том, что делает это, кому это наужно, и для чего делать это. В основу bdd заложено tdd test driven development (не слыхали? тогда бегом на wiki, восполнять пробелы в знаниях).

       

      Все эти dd приводят вас в ужас? Попробую объяснить человеческим языком. Раньше ведь как было? Напишешь бывало, код, напишешь еще, расширяешь функционал, расширяешь, даже не задаваясь вопросом нужен ли он, или только для "галочки", как и кто этим кодому будет пользоваться? А потом кода становится много и один код начинает цеплять кусочки работы другого кода, т.е. любое изменение одного объекта может отразиться на работе других объектов, а ошибки в конечном счете будут вылазить уже в самом неприятном месте - на десктопе конечного пользователя. До недавних пор ситуацию можно было бы назвать трагической, если бы не наличие тестов, которые кардинально меняют ситуацию. Особенно когда мы пишем тесты еще ДО НЕПОСРЕДСТВЕННОГО НАПИСАНИЯ КОДА. Как так? А вот так. Например, объект Box должен уметь добавлять некий элемент item в массив items. Все что нам нужно проверить, так это то, что элемент добавился корректно, т.е. что Box.add(item) будет добавлять в Box.items[] новый item.

      Пишем тест,

      @box=Box.new
      @box.add(item)
      assert_not_nil box.items

      Вот и всё. Если все работает, то assert_not_nil вернет true и наши тесты пройдут.

      Вот теперь мы можем написать непосредственно метод объекта Box:

      def add(item)
         @items<<item
      end 

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

      Это TDD, который нативно поддерживается Ruby и Rails. Но есть на свете умные люди, которые пошли еще дальше, и стали делать тесты всё более человечными, для чего был написан плагин RSpec и написание при помощи него тестов и кода стало называться behaviour driven programming. Основная мысль RSpec - создание спецификаций и выражение языком близким к человеческому того, чего ожидается от объекта, т.е. его поведение, а вокруг спецификации уже выстраиваются тесты и сам код.

      Замечательный туториал для RSpec for Rails: 

      http://blog.davidchelimsky.net/articles/2006/11/06/view-spec-tutorial 

      Внимание, правильный url для установки плагина RSpec:

      svn://rubyforge.org/var/svn/rspec/tags/REL_0_7_5_1/rspec_on_rails/vendor/plugins/rspec_on_rails т.е.

      ruby script/plugin install svn://rubyforge.org/var/svn/rspec/tags/REL_0_7_5_1/rspec_on_rails/vendor/plugins/rspec_on_rails

      Да, вот такая вот мэйнструя в программировании вообще и для Rails в частности. 

       

      Ну вот и закончен еще один проект

      09:24, 16 ферваля 2007 ( )

      http://www.arena-hr.com.ua

      Простой и легкий дизайн в стиле Web 2.0,

      Фичи: база вакансий, база резюме, CMS с tiny_mce и  picbrowser, подписка на получение новых вакансий, вакансии автоматически рассылаются при публикации. Подписка с подтверджением, отписка по ссылке в письме. 

      Для трекинга проекта впервые использовался Basecamp, от чего и пропёрся. Хорошая штучка. Если платить ежемесячную абонплату.

       
      страницы: 1 2
       3 
      4 5 6 7 8 ... >|
      © Максим Прокопов 2005-2024 О сервере