吟遊詩人

日経電子版のCOMEMOからの移籍組です。

吟遊詩人

日経電子版のCOMEMOからの移籍組です。

最近の記事

先祖返りかと思いました -東京大学、文理融合の5年制新課程 27年秋入学から創設-

東京大学では、文理融合の「カレッジ・オブ・デザイン」と云う学部ができるのですね。 たまたま今、斎藤兆史 著 「英語達人列伝 -あっぱれ、日本人の英語-」中公新書を読み返しております。 その中で、あの岡倉天心は、13歳で東京開成学校に入学し、そして、その2年後に開成学校は東京大学になったのだそうです。当時の東京大学は、法理文医の四学部しかなく、現在の学部とは違い幅広く学科が横断されていたようです。ほとんどの講義も英語だったそうです。 まるで、日経の記事は、当時の東京大学に先

    • ポンコツ・キャンプ -文字列の中に含まれる複数の引数を操作するためのクラス

      DOS画面からコマンドを入力した際、様々な引数を夫々のメソッド内で検査していく内にコードが煩雑になってしまったので、基本的なチェックを行なうためのクラスを作成してみました。 引数のチェックはいつも煩雑です。 一例を挙げると、linked_fileと言うコマンドには次のバリエーションを持たせています。 linked_file uid linked_file uid フルファイル名/フルファイル名/... linked_file uid :delete 次の引数の検査をする

      • ポンコツ・キャンプ-文字列の形式から適当なクラスに変換するGadget

        「ポンコツ・キャンプ-シンプルなコマンド入力プログラム」の付録です。 コマンド入力をする際にパラメータの入力が付随する場合、パラメータを適当なクラスに変換する必要が出てきたので、作っていく内に膨らんできたので、moduleにまとめたものです。railsで既に対応しているかもですが。。。 例えば、こんな状況があったとします。 delete 1592delete 1592..1599 コマンド入力したdeleteとパラメータのフレーズを command, argumen

        • ポンコツ・キャンプ-シンプルなコマンド入力プログラム

          世間では電子帳簿保存法の対応が迫られ、当社でも対応せねばと巷のアプリを検討することになりました。案外、使い易そうなアプリもあったのですが、全てサブスクリプション。。。毎年、永久に金をむしり取られる仕組みのようです。数年後、データが溜った後に料金の改定があったらどうなるのでしょう?悲惨な結果しか待っていないような気がします。 仕方なく自作することにしました。 幸いにも中々良いものが出来ました。 現在、稼働中です。 DOS画面上で、コマンド入力で動くソフトです。 Rubyで作っ

        先祖返りかと思いました -東京大学、文理融合の5年制新課程 27年秋入学から創設-

          #AIに奪われない仕事 とは?

          日経COMEMO から 「#AIに奪われない仕事」というお題が出ておりますので、久しぶりに投稿してみました。 ・代替されやすい仕事の共通点は何でしょうか? 現実問題として、AIに奪われてしまう仕事、職種、作業は今後多くなってゆくと思います。仕事の中身の多くは繰り返しによって成り立っています。 人々は、仕事に特化することで、速さ、処理量、価格、技能と云ったことに対応しています。既に人の手によって、仕事の内容が類型化されているので、それをAIやコンピュータに置き換えることがで

          #AIに奪われない仕事 とは?

          ホワイトカラー受難時代幕開けの予感

          この動きは、モロ手を上げて歓迎できるのだろうか? テレワークになると会社に出社しなくてもよくなるでしょうが、行う仕事の大半が、情報の伝達になると思います。 情報を伝達するのに人がわざわざ介在する意味があるのだろうか? 当然、介在する必要があるのだが、これだけ大量の社員が対象だと、業務内容を見直し、まとめ直せば、いままで人が介在していた業務を見直すことができると思います。 人と人の繋がりの間にネットが介在することで、人は単なるノードと云う存在になりはしないか? ノードと化

          ホワイトカラー受難時代幕開けの予感

          ポンコツ・キャンプ -金種計算から思う、 明日の自分に負債を作らぬ方法-

          もう、ネタも尽きてきたので、金種計算で遊んでみることにします。 ゴール:コードは、常に変更に晒されており、そのことを意識して備える     習慣を身に着け、明日の自分に負債を負わせないようにする 手にすることが出来る成果:     相変わらずの泥臭い手法     絡み合ったコードを分ける、まとめるを意識すること     読み易い、分かり易いコードは、絶対の正義である Step 1. ベッタベタのコード ある日、上司の指示で金種計算プログラムを作ることに。(と云う設定で

          ポンコツ・キャンプ -金種計算から思う、 明日の自分に負債を作らぬ方法-

          【陳謝版】.mock_in_sequenceを作ってみました。

          適当な投稿をしてしまい申しわけありませんでした。 argsの付いた場合の評価がまったくされていなかったのですが、 なんとか修正が出来そうです。 まずは、修正結果から。 # Purpose: The methods in a target method are mocked in sequence# mock_in_sequence(object, target_method, exp_sequence_args)# object: testin

          【陳謝版】.mock_in_sequenceを作ってみました。

          【改善版】.mock_in_sequence を作ってみました。

          前回の投稿。 前回のresults.verify(self)のselfの不気味さをなんとかせねばとポンコツ君は奮闘しましたとさ。 気負い過ぎてしまった感がアリアリだったので、少し基本に立ち返ることにしました。次の仕様に変更することにします。 mock_in_sequence(object, target_method, exp_sequence_args) レシーバを引数に収めて、関数的に仕上げた方が、よっぽどマシであるとの思いに至りました。mock_in_seque

          【改善版】.mock_in_sequence を作ってみました。

          .make_hash_list_in_arrayと.stdio_coverageをリファクタリングして、ちょっとだけ格好良くしてみました。

          別の投稿の記事を書いていたら、ふと表題の二つのメソッドをもう少し 格好良く出来ないかと願望が芽生えてきたので、やってみました。 以前の記事は、こちら。 変更方針:  呼び出しが、どちらも、   make_hash_list_in_array(hash_list)   stdio_coverage(hash_list)  と関数的でオブジェクト指向っぽくなかったので、   has_list.make_hash_list_in_array   hash_list.stdio_

          .make_hash_list_in_arrayと.stdio_coverageをリファクタリングして、ちょっとだけ格好良くしてみました。

          【続】ポンコツ・キャンプ -MiniTestの簡単なツールを作るまでの道程-

          ポンコツ・キャンプの続きです。ツール作成の最終投稿になります。 さっそく続きを始めることにします。 まず、はじめに、前回のポンコツ・キャンプでは次の収穫がありました。 配列を集合として演算できること 一般的なオブジェクトのモデルを手にしたこと 各クラス/モジュールのメソッドのシンボルを配列で受け取れること また、各属性から親までの一連の応答メソッドのシンボルを配列で受け取れること 今回のツールを作ろうと思った動機: assert_respond_toに不満があり

          【続】ポンコツ・キャンプ -MiniTestの簡単なツールを作るまでの道程-

          ポンコツ・キャンプ -MiniTestの簡単なツールを作るまでの道程-

          何とかキャンプってのが流行っているようなので、ポンコツながら、少しでもお役に立てるかもしれないと真面目に取り組んでみようかと思います。 ゴール: メソッドの存在を確認するテスト用ツールの作成 public, private, protectedの属性別でメソッドの確認を出来るようにする 要は、assert_respond_toを便利にしたツール 手にすることが出来る知識: 配列の積集合、差集合といった配列を集合として操作する知識 実験的方法から始め、ツールを入手するまでの

          ポンコツ・キャンプ -MiniTestの簡単なツールを作るまでの道程-

          【またまた】DOS画面での入力処理は面倒臭いですよね。

          【続々】で、謎の古代文字 i_con = -> { gets(chomp: true) }を別の古代文字に差し替えて流用したことに対しての雑感です。 メソッドの引数に初期値のオブジェクトを与えることの利点。 ポンコツの目から見たプロシージャとは。 メソッドの引数に初期値のオブジェクトを与えることの利点。 クラス/モジュール内で、 def something_method(arg = something_object) このような定義がされていた場合、大抵は、argを指

          【またまた】DOS画面での入力処理は面倒臭いですよね。

          【続々】DOS画面での入力処理は面倒臭いですよね。

          wait_press_key(explanation, regulations, allow_only_enter = false) .gets_with_conditionの兄弟になります。指定のキーを押すと、エコー無しでキーを返すように.gets_with_conditionにラップしたものです。 標準添付ライブラリの io/consoleを使用します。 ANSI::EscapeSequenceと.gets_with_conditionも必須です。 該当モジュールは

          【続々】DOS画面での入力処理は面倒臭いですよね。

          【続】DOS画面での入力処理は面倒臭いですよね。

          .gets_with_regulation(explanation, passing_lst, allow_only_enter = false) .gets_with_conditionの兄弟になります。もっともよく使うだろうパターンのために.gets_with_conditionにラップしたものです。 通過条件をブロックに記述する必要がなくなり、passing_lstに通過条件の文字列を配列で渡すだけで利用できます。 module CommonModule pri

          【続】DOS画面での入力処理は面倒臭いですよね。

          DOS画面での入力処理は面倒臭いですよね。

          GUI環境では、リストボックス、コンボボック、チェックボックスなど 多彩なコントロールが用意されていて入力処理がとても楽チンです。 なぜなら、それらコントロールによって、設定された値以外は返さないようになっているからです。 CUI環境だとそうはいきません。大文字・小文字の混在、typo、変なとこに空白が紛れていたり、うっかりENTERのみを押したりと色々なことをオペレーターさん達はやってくれます。 そして、このような誤操作に対しての再入力要求も用意しないといけません。 そ

          DOS画面での入力処理は面倒臭いですよね。