タグ

ブックマーク / www.timedia.co.jp (8)

  • SSHでscpを使わずにファイルをコピーする | Webシステム開発/教育ソリューションのタイムインターメディア

    え、SSH通るんならscp使えばいいじゃん。 YES、その通り。 しかし、「大容量ファイルを転送中に接続が切れてしまった」なんてときに、コピーが完了した後から残りを引き継ぎたい、みたいな要求にはscpコマンドは答えてくれない。もちろん、sftp使えばレジューム機能もあるんだしそうすればいいじゃんというのは正論だが、sftpの方はsshが通るからといって必ずしも使えるとは限らない。 そんなときは、多少強引だとしても、一歩戻って解決を試みるのもひとつの手だ。 単純転送 単純な転送から試してみよう。まず、リモート先のhostAにあるsrcfileを、手元にdestfileとしてコピーしたいとする。 sshはリモートで実行するコマンドを受け付ける(実際のところ、scpも内部的にはsshのリモートコマンドで実装されていたはずだ)。ということは、リモートでcatコマンドを実行してファイルの中身を「表示

    SSHでscpを使わずにファイルをコピーする | Webシステム開発/教育ソリューションのタイムインターメディア
    hiroomi
    hiroomi 2023/01/04
  • JavaScript でオセロを実装する(原始モンテカルロAI編) | Webシステム開発/教育ソリューションのタイムインターメディア

    以前、オセロの対戦AIの作成しましたが、そこでは実装を簡略化する為に盤面の価値を 盤面の価値 = 自分の石の数 – 相手の石の数 という単純な方法で決めていました。 でも、これには問題があります。 同じ石でも配置場所によって価値は異なるはずです(例: 角は最強)。それが考慮されていません。ゲーム終盤になってくると石の数が重要になってきます。でも序盤から石の数を重視するのは方向性としておかしいです。 という訳で、 序盤から中盤では石の配置場所を重視する終盤では石の数を重視する 形で盤面の価値を算出すれば、結構良さそうなAIになりそうです。 しかし、今度は 「序盤」「中盤」「終盤」をどのように区別するのか?石の配置場所の強弱はどう決めるのか?同じ配置場所でも周囲の状況次第で強弱が異なるのでは? という問題が出てきます。これは作るのが面倒臭そうです。 どうにかしてお手軽かつそこそこ強そうなAI

    JavaScript でオセロを実装する(原始モンテカルロAI編) | Webシステム開発/教育ソリューションのタイムインターメディア
    hiroomi
    hiroomi 2015/06/01
  • 美しいプログラムを書く(業務用Webアプリケーション保守編) | Webシステム開発/教育ソリューションのタイムインターメディア

    あらすじ あなたはとある業務用 Web アプリケーションの開発・保守を任されています。 このアプリケーションは ASP.NET を用いて作成されており、 クライアントサイドは一部 jQuery を利用してナウなヤングにバカウケの UI を実装しています。 さて、今回は 商品情報の変更履歴を一覧表示する。一覧から2つのバージョンを選んで差分を表示できるようにする。 という機能を実装することになりました。 これ自体はちゃちゃっと実装し、以下のようなHTMLが生成されるようにしました: ... <table> <tr> <th>A</th> <th>B</th> <th>変更日時</th> <th>変更者</th> </tr> <tr> <td><input type="radio" name="new_version" value="9"/></td> <td></td> <td>2012-0

    美しいプログラムを書く(業務用Webアプリケーション保守編) | Webシステム開発/教育ソリューションのタイムインターメディア
    hiroomi
    hiroomi 2012/07/16
  • CentOS-6.2にPhantomJS-1.4.1をインストールする | Webシステム開発/教育ソリューションのタイムインターメディア

    みなさん仕事PhantomJS使っていますか?僕は使っていません。でもそろそろ使ってみたいので、仕事でよく使うCentOSにPhantomJSをインストールする方法を調べてみました。 環境 今回はVirtualBoxes – Free VirtualBox® Imagesで公開されているCentOS-6.2のイメージを利用します。 http://virtualboxes.org/images/centos/http://sourceforge.net/projects/virtualboximage/files/CentOS/6.2/CentOS-6.2-i386.7z PhantomJSをインストールする前に、あらかじめ次のコマンドでライブラリを更新と開発ツールのインストールを行います。依存関係などが面倒なので、開発ツールは全部インストールします。 sudo yum upgrade s

    CentOS-6.2にPhantomJS-1.4.1をインストールする | Webシステム開発/教育ソリューションのタイムインターメディア
  • Vimで「あの」ファイルを即座に開く | Webシステム開発/教育ソリューションのタイムインターメディア

    問題 Vim で多数のファイルを編集することはよくあります。 例えば「foo」という名前の Vim プラグインを開発しているとしましょう。 すると autoload.foo.vim、doc/foo.txt、plugin/foo.vim などの特定のファイルを頻繁に編集することになります。 このような状況では 「doc/foo.txt を編集しようと思ったけれどどのウィンドウにも doc/foo.txt は表示されていない」 ということは起こりがちです。 そこで問題のファイルを明示的に開く必要がでてきます。 しかしファイルを開く方法は沢山あります。 あなたならどうやって問題のファイルを開きますか? :edit? :buffer? それともお気に入りのバッファ管理プラグイン? どれを選ぶにせよ、問題のファイルを開くためには何がしか追加情報を指定する必要があります。 例えば :edit を使うな

    Vimで「あの」ファイルを即座に開く | Webシステム開発/教育ソリューションのタイムインターメディア
    hiroomi
    hiroomi 2012/02/18
  • gitでアレを元に戻す108の方法 | Webシステム開発/教育ソリューションのタイムインターメディア

    以前gitで一度行った変更をなかったことにする方法4つを紹介しましたが、 日常的に git を使用していると他にも様々な 「なかったことにしたい」「元に戻したい」 という状況に遭遇します。 そのひとつひとつについて対処方法を紹介していきます。 目次 問題1: ライブラリの新機能を試すためにあれこれ適当なコードを書いてみた。でももう要らない。問題2: トピックブランチをマージしたけど実はまだ不完全だった。マージをやり直したい。問題3: リリース後に発覚したバグ。原因は30日前に自分が行ったコミットだった。なかったことにしたい。問題4: 新しいコミットしようとして間違えてgit commit –amendで書き換えてしまった。元に戻したい。問題5: 色々作業していたら作業ディレクトリの内容が混沌としてきた。一度綺麗な状態にしたい。問題6: 作業ディレクトリにゴミファイルが溜まってきた。一度綺麗

    gitでアレを元に戻す108の方法 | Webシステム開発/教育ソリューションのタイムインターメディア
    hiroomi
    hiroomi 2012/01/15
    やらかし。
  • シェルのワンライナーの再利用性を高めるたった一つの方法 | Webシステム開発/教育ソリューションのタイムインターメディア

    問題 シェルはお友達です。 一見すると役に立たないように思えるコマンドでも、 組み合わせ次第で複雑な処理をこなすための道具になります。 例えば head – ファイルの先頭10行を出力する。cut – ファイルの各行のうち特定の部分を選んで出力する。shasum – SHA-1 ハッシュ値を出力する。 という、一つ一つでは大して役に立ちそうにないコマンドも、 このように組み合わせることで「ランダムなパスワードを自動生成する」という偉業を達成することができます。 シェルをある程度使っていると上記のようなワンライナーをしばしば入力することがあります。 覚え易いものや短いワンライナーなら即席で入力しても構わないのですが、 先ほどの例のようなものになると少々入力するのが面倒です。 そこで役に立つのがコマンドラインの入力履歴です。 入力履歴があれば、例えば 三か月前に試行錯誤の末に編み出した git

    シェルのワンライナーの再利用性を高めるたった一つの方法 | Webシステム開発/教育ソリューションのタイムインターメディア
    hiroomi
    hiroomi 2011/12/22
  • Git使いがMercurial使いに転職するとき設定しておくべきMercurial拡張 | Webシステム開発/教育ソリューションのタイムインターメディア

    Mercurialは、Merucurial拡張という拡張モジュールを使って、Merucrialの挙動をいろいろ拡張できるようになっています。 デフォルトのままだと使いにくいので、Mercurialを使う上で便利にしてくれる拡張を設定しておきましょう。 デフォルトでバンドルされているMercurial拡張は、Using Mercurial Extensionsにまとめられています。 今回はGit使いがMercurial使いに転職するときに、Gitで実現できたことをMercurialで実現するための、組み込み拡張、および、サードパーティ製の拡張について紹介します。 色づけしよう ブランチの確認、diff、パッチ等々、色づけされていないとつらいです。 というわけでGit同様に色づけしましょう。 Color Extensionはすでにバンドルされているので、.hgrcに次の記述を加えましょう。 こ

    Git使いがMercurial使いに転職するとき設定しておくべきMercurial拡張 | Webシステム開発/教育ソリューションのタイムインターメディア
    hiroomi
    hiroomi 2011/11/15
  • 1