Blize im App Store
Es ist soweit. Blize ist ab sofort im App Store erhältlich. Nun kann ich auch sagen; "Ich habe eine App im Store".
Ich habe das Spiel schon während der Entwicklung gerne auf der Fahrt zur Uni gespielt. Ab jetzt bin ich um so mehr gespannt, ob es auch noch anderen Leuten gefällt. Wir werden sehen :)
Hier hin gehen für mehr Informationen
Metasploit mit Rails
Im Projekt FIDIUS wollten wir das Datenbankschema von Metasploit mit Rails verwenden. Was muss man also tun?
Anmerkung: Es wurde Rails 2.3.5 verwendet, weil sich Rails 3 mit Metasploit nicht verstehen will.
In config/enviroment.rb:
Rails::Initializer.run do |config| # Do initialisation for Metasploit Framework msf = YAML::load(open(File.join(File.dirname(__FILE__), 'msf.yml'))) LOCAL_MSF_SVN_CHECKOUT = msf['msf_path'] $:.unshift(File.join(LOCAL_MSF_SVN_CHECKOUT,"lib")) require 'rubygems' require 'active_record' require 'msf/core/db_objects' require 'msf/core/model' # nochmal die models reinladen, nachdem wir die grundlegenden # sachen von msf geladen haben, um nachträglich noch modifizierungen # haben zu können Dir.glob(File.join('app','models', '*.rb')) do |rb| require rb end end
Metasploit bringt von sich aus schon alle Migrations mit, um die Datenbank zu erstellen. Also warum nicht von Rails darauf zugreifen?
Der Migrator von ActiveRecord lässt sich auch direkt ansprechen:
class SetupMsfDb < ActiveRecord::Migration def self.up msf = YAML::load(open(File.join(File.dirname(__FILE__), '..', '..', 'config', 'msf.yml'))) ActiveRecord::Migrator.migrate(File.join(msf['msf_path'], 'data', 'sql', 'migrate')) end def self.down end end
Und schon kann man Datenbank seine Datenbank mit erstellen.
rake db:create rake db:migrate
Sobald man allerdings auf die Assoziationen eines Models zugreifen will, komm ein Fehler der Art: "ArgumentError: Msf::DBManager is not missing constant Service!" Dieses Problem habe ich mit Hilfe von dieser Erklärung gelöst.
Im Endeffekt handelt es sich um folgende Ergänzung in der enviroment.rb:
module ActiveSupport module Dependencies extend self #def load_missing_constant(from_mod, const_name) def forgiving_load_missing_constant( from_mod, const_name ) begin old_load_missing_constant(from_mod, const_name) rescue ArgumentError => arg_err if arg_err.message == "#{from_mod} is not missing constant #{const_name}!" return from_mod.const_get(const_name) else raise end end end alias :old_load_missing_constant :load_missing_constant alias :load_missing_constant :forgiving_load_missing_constant end end
Ruby Benchmarking
i1 = `ps -o rss= -p #{Process.pid}`.to_i puts i1.to_s+" KB memory"
Posted in Projekte | keine Kommentare |
java.lang.UnsatisfiedLinkError: no *** in java.library.path
static{ System.loadLibrary("externe_lib"); }
-Djava.library.path=native
mitgeben. Wobei native in dem Beispiel für den Ordner steht, wo sich die lib befindet.
In Eclipse kann man dies unter Run Configurations -> VM Arguments eintragen.
Startet man das Projekt, oder die JAR von Hand muss man das Argument auch beim Start mit angeben.
java -Djava.library.path=native -jar fmq_client.jar
Posted in Studium | keine Kommentare |
ActiveRecord puffert ?!
def self.find_uncached(x,y) uncached do return Tile.find(:first,:conditions=>{:pos_x => x,:pos_y => y}) end end
Posted in Studium | keine Kommentare |