Блог Ерёмина Андрея обо всём на свете…

Archive for the ‘Программирование’ Category

not a valid Win32 application. rails. Mysql


При использовании MySQL5  вместе с Rails 3.x при запуске сервера может появится ошибка:

193: %1 is not a valid Win32 application

Чтобы вылечиться от этой ошибки скопируйте все файлы из http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/ в папку <путь до папки с ruby>/bin

Оригинал решения: http://stackoverflow.com/questions/1208029/193-1-is-not-a-valid-win32-application-bug-with-a-new-rails-application

Here’s the answer that worked for me

Прячем iframe от прямого доступа


Данная методика конечно устарела, но, тем неменее, столкнулся с такой задачкой:  требовалось сделать запароленный раздел ( авторизация + регистрация пользователей), в котором через iframe подгрузить страницу из поддиректории. Приэтом, сама эта поддиректория должна быть недоступна по прямой ссылке.

Реализовал я это все следующим образом:

1) На хостинге установлен Apache, поэтому создал файл .htaccess с кодом:

RewriteEngine on
#RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://my\site\.ru/ [NC]
RewriteRule ^subdir([^/]?) http://my.site.ru/index.php [R=302,L]
#RewriteRule ^subdir/([^/]+) http://my.site.ru/index.php [R=302,L]

2) в шаблон всех страниц в поддиректории вставил JavaScript код:

<script>
if( self == top )
location.href='/index.php';
</script>

Готово! Можно, конечно добавить проверку на REFERER уже на сервере, например на PHP (в общем, на том языке, на котором написан сам сайт).

Ruby 1.9.x: invalid multibyte char (US-ASCII)


При использовании русского текста в коде на Ruby 1.9.x возможно возникновение ошибки «invalid multibyte char (US-ASCII)». Лечится это очень просто — добавьте самой первой строкой в файле # coding: utf-8 и ошибка исчезнет.

RailsReady: рельсы-рельсы, шпалы-шпалы…


Известно, что разрабатывать под Ruby, как, собственно, и под PHP, лучше всего из *nix систем. Однако, на первоначальную настройку может уйти достаточно много времени.

Знающие люди рассказали о замечательном скрипте RailsReady для OSX, CentOS и Ubuntu.

https://github.com/joshfng/railsready

Достаточно лишь выполнить в терминале строчку:

wget —no-check-certificate https://raw.github.com/joshfng/railsready/master/railsready.sh && bash railsready.sh для Linux или curl -O https://raw.github.com/joshfng/railsready/master/railsready.sh && bash railsready.sh для OSX

и магическим образом вам установят RVM, Ruby 1.9.3, Git, ImageMagick, необходимые компоненты для sqlite, mysql, а также все основные гемы, нужные для разработки под Ruby on Rails.

P.S: Неожиданно обнаружил, что Windows самое худшее, что может быть для разработки на PHP и Ruby (

Rails: News такой News.


На днях столкнулся с очень необычной проблемой в Ruby on Rails. Было задание состряпать раздел с новостями для одного сайта. Казалось бы, что тут сложного? rails g model news… rails g controller news. Указать resource: news. Немного кода, html, js и всё. Но не тут то было!

Начал гуглить. В итоге, выяснил, что рельсы упорно считают, что news — это множественное число new, которое в свою очередь (если мы хотим всё сделать RESTful) имеет «системное» значение.

Все советуют использовать другое имя, например news_items.

Пруф линки:

uninitialized constant Rake::DSL — Ruby on Rails 3.x


Для 3-ей ветки фреймворка возможна ситуация, когда возникает ошибка

uninitialized constant Rake::DSL

Для того, чтобы её пофиксить нужно откатить rake до версии 0.8.7 (ниже 0.9.0), для этого добавьте в GemFile строчку:

gem «rake», «0.8.7»

ASCII-8BIT или другая неверная кодировка в PostgreSQL в RUBY


Недавно столкнулся с проблемой – почему-то все данные возвращались из базы данных в кодировке ASCII-8BIT, при этом в Linux и MacOS X всё отлично (кодировка UTF8). Я уж было подумал – Microsoft $^#%*$*# чтоб её, но потом выяснилось, что просто такой вот “кривой” гем.

В общем, советую использовать gem PG http://rubygems.org/gems/pg, темболее, что он стал “официальным”

Для установки: gem install pg

Не помешает и указать после инициализации коннекта кодировку:

@conn.exec("SET CLIENT_ENCODING TO ‘utf-8’;")
Encoding.default_external = "UTF-8"

где @conn – это заинициализированное соединение с базой

Устанавливаем GEM Postgresql в Ubuntu


Для того, чтобы работать с PostgreSQL в руби [Ruby] в Ubuntu Linux в консоле нужно выполнить 2 команды:

1) sudo apt-get install libpq-dev

2) sudo gem install postgres-pr

Работаем с Excel (PHP)


Из того, что мне удалось найти:

1) Использование Excel через COM объекты. Подробнее тут.
2) Используя API OpenOffice — прочитать на хабре.
3) PEAR и модуль PHP-Excel_reader – скачать тут.
4) Русским народным методом — через … mht. Создать Html или mht страницу, переименовать в xls и готово. Плюсы — никаких библиотек, очень быстро и просто. Минусы — если таблицы сложные (с объединёнными строками или столбцами), то проще использовать что-то другое, чем верстать так, чтобы Excel потом это понял.
5) Самый лучший вариант из всех! – PHPExcel. Лучший он потому, что, во-первых, не требует установленного софта (OpenOffice или Microsoft Office), а, во-вторых, не требует PEAR – только PHP и несколько библиотек (xml, gd2, zip), причём часть из них опциональны (например, zip-библиотека не нужна,е сли вы не планируете работать с форматом XLSX). Скачать. Там же, на codeplex, нашёл PHPWord и PHPPowerPoint.

PHP DevelStudio – пишем Windows-приложения на PHP


Нашёл интересную IDE для написания программ под Windows на PHP. Визуально всё очень напоминает Delphi (какую-нибудь старую версию 5-7).

Совершенно бесплатно скачать программу можно с официального сайта.

001

Всё необходимое, в принципе, в программе есть. Только вот почему-то опечатки в коде при компиляции не проверяются. (((

003

Понравилось, что в редакторе кода много заготовок (проиграть файл, записать в реестр данные, выключить компьютер). Удобно – не нужно в справку лезть лишний раз.

004

В итоге, проект компилируется в .exe файл.

006

Надо будет что-нибудь написать, пока, правда, не знаю что.

Technorati Теги: ,,,,

Облако меток