サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
タスク管理術
tech-kazuhisa.hatenablog.com
自信喪失でぴえんモードになってるので「そんなことないよ、そーだいさんすごいよ」ってチヤホヤしてくれる会が必要。— そーだい@初代ALF (@soudai1025) 2021年5月26日 僕にもそーだいさんの元気にある言葉を教えてください!!— そーだい@初代ALF (@soudai1025) 2021年5月26日 そーだいさんからはとても多くの言葉をもらっていて、とてもTwitterには書ききれないためブログにまとめてみました。 前置き 私にとってのそーだいさんは岡山や福山を中心としたIT系勉強会の仲間という認識だったのですが、いつの間にやらCTOになったり雑誌や書籍の執筆活動したり会社を立ち上げたりすごい人になっちゃってました。 実は2019年5月から2020年7月まで毎月1on1をしてもらってました。当時、マネージャーになりたての私の悩みに寄り添い、大変多くのアドバイスを貰いました。
あけましておめでとうございます。 人生40年以上生きていると、新年を迎えても「12月の次は1月ですね」ぐらいの気持ちしか無いのですが、お正月休みを使って去年の振り返りを書いてみようと思います。 前半 新規ソフトウェア開発のPLをやっていました。今まで担当していたシングルテナントアプリケーションとは違い、マルチテナントということで色々考えることが多かったです。その分、AWSのソリューションをガッツリ使った仕組みにできて満足しています。この仕組の詳細についてはryosmsの発表内容を御覧ください。個人的にはS3にCSVファイルをアップロードすることでJasperReportを使って帳票が出力される仕組みが萌えポイントです。 この開発では私にとって初めてスクラムを実践してみました。開発初期の頃は正直なところスクラム開発をやりたくて、スクラム開発していた感がありました。今にして思えば通常のスクラム
ちょっと前の話。 新型コロナウイルス対策ということで弊社でも急遽フルリモートの体制を整え、5月いっぱいは基本リモート勤務となった。私の家は2世帯住宅で妻は専業主婦、両親は元気なので隣の実家に子供を連れて移動してもらい、リビングでフルに働くことができた。両親と妻に感謝である。 さて、リモート勤務中はMicrosoftのTeamsの音声のみ常時接続し、必要なときのみミュートを解除してしゃべるというスタイルを取った。取った...と言っても実際はそれほど音声での会話は行われず、文字ベースでのチャットがメインだった。 私はマネージャーなのだがとにかく寂しかった。チームメンバーの活動はRedmineやGithubのコミットを通してよく動いていることは確認できる。しかし、自分のパフォーマンスは想像していた以上に出せている感じがしない。妻と子供に移動してもらって静かな環境なのにだ。5月は営業やSEの動きが
はじめに 今の会社に転職してはや8年。Ruby on Railsのプログラマーからスタートしたキャリアだけど、1年半前から前任者の引き継ぎというカタチで管理職をやってる。管理職と言っても100%マネージメントに振っているわけではなく、コードも書くしインフラ構築もするような状況。チームメンバーも増えマネージメントについて意識する機会も増えてきた。世の中の流れ的にも「エンジニアリングマネージャ」にフォーカスする書籍やイベントも増えてきて、私と似たようなキャリアを歩み疑問にぶち当たっているのかなという印象を受ける。最近マネージメントについて意識して仕事する機会も増えてきた。 そんな中で普段から仕事について意識してることについて語ってみる。 自分にしかできないと思っている仕事こそ移譲する 「この仕事は私にしか分からない」そう思っていた時期が私にもありました。実は私にしか分からない訳ではなく、他人に
2016年9月8日から10日にかけて国立京都国際会館にてRubyKaigi2016が開催されました。地域Ruby会議ではなくThe Ruby Kaigiが関西圏で開催されるのは初めてだと思います。RubyKaigi2015はスケジュールの関係で参加することができませんでしたが、今回は岡山から近いこともあり3日間参加してきました。 印象に残ったセッションについて感想を書いておこうと思います。 1日目 Ruby3 Typing(Yukihiro "Matz" Matsumoto) 基調講演はRubyのパパであるまつもとゆきひろさんから、主にRubyの型についてのお話でした。Javaのようにきっちりと型を指定せずとも型推論等を用いて、ストレス無く静的型付けの恩恵をうけることができる言語が最近増えてきています。それを受けて完全な動的型付けであるRubyが今後どのように進化を遂げようとしているのか、
docker - Vagrantでdokkuを動かす - Qiita この記事の中に出てくるxipってのがよく分からなかった。 ググってもこんな人達がたくさん出てきて意味不明。 しかし、しばらくいじってみると使い方がだんだん分かってきた。IPアドレスをサブドメインとして指定すると、IPアドレスを返してくれるサービスらしい。 $ ifconfig (略) inet 192.168.68.9 netmask 0xffffff00 broadcast 192.168.68.255 (略) $ ping 192.168.68.9.xip.io PING 2kkse8.xip.io (192.168.68.9): 56 data bytes 64 bytes from 192.168.68.9: icmp_seq=0 ttl=64 time=0.054 ms 64 bytes from 192.16
Windowsマシンを組み立てたった! 自作PCなんて何年ぶりだ!? pic.twitter.com/AB3FStmPFR— Yamamoto Kazuhisa (@kazuhisa1976) 2014, 6月 21 ASP.NETに興味が出てきたので久々にWindowsPCをアップグレードした。CPUはCore2QuadからCorei5(4590)に、OSはVistaからWindows8.1に変わった。特に大きなハマリも無くすんなりアップグレード完了。最近のマシンの起動は本当に速い。昔はBIOSでいろいろチェックしたのち立ち上がってたのに時代は変わったなぁ。 なぜRailsプログラマはMac OSを使うのか? 多くのRailsプログラマがなぜMacを使うか?それは「Unixのような環境」を使いたいためだと思う。HerokuやAWS Elastic BeanstalkのようなPaaSサービ
はじめに Railsでギョーミーな仕事を行う上で欠かせないのがバッチ処理です。 日々上位システムから送られてくる膨大なデータを迅速に取り込み、集計処理を行いDBに格納する。上位システムは何層も構成されており、我々が集計処理に使える時間はエンドユーザーが出社してくるまでの数時間... みたいなシチュエーション無いですか? 今回はバッチ処理を行うコツについて書いてみようと思います。 想定される処理 CSVファイルの取り込み 集計処理 集計結果をDBに格納 普通にrake taskを書いて処理できてれば今回の記事は必要ありません。そっとブラウザを閉じて下さい。そうでない場合、多くの人が直面する問題は次のようなものが考えられます。 IDのオーバーフロー メモリが食いつぶされてバッチ処理が停止 それでは順番に説明します。 IDのオーバーフロー 大量のデータを日々のバッチで取り込んでいる場合、IDがオ
現在、awsのspot instanceを利用してRailsプロジェクトのテストを並列実行しようと試行錯誤しています。 なぜだかmaster-slave間の通信が不安定で困っていたのですが、ようやく打開策を見つけました。 症状 slave側のテストの状況がモニタリングできなくなる slaveの処理が止まっているわけではないみたい nodeの接続がすぐに切れるわけではないが、しばらくすると切れてしまう ログの状況 不安定なときのnodeのログは次のようになっていました。 [04/24/14 20:29:44] [SSH] ip-172-16-2-101.ec2.internal:22とのSSHコネクションをオープン [04/24/14 20:29:44] [SSH] 認証成功 [04/24/14 20:29:45] [SSH] リモートユーザーの環境: AWS_AUTO_SCALING_HO
AWSのSES(メール配信サービス)を使うのは簡単なのですが、そのままの設定だとメール差出人の欄に amazonses.com 経由と表示されてしまいます。 これを防止するためにDKIMという仕組みがあるのですが、さくらインターネットのドメイン管理画面でCNAMEを設定する時にハマったのでメモ。 SESの設定画面でDKIMの設定画面を開くと「CNAMEをこう変えてくださいよ」という設定が表示されると思います。 Route53を使っていればボタンひとつで設定完了なのですが、私はさくらインターネットでドメイン管理をしているため次のように設定しました。 ポイントは2つ。 CNAMEを登録する際にDNSチェックは「しない」を選択する。 CNAMEのValueの最後に.(ドット)を付ける しばらくするとSESで認証されると思います。
先日開催された関西Ruby会議05に参加された方お疲れ様でした。色々な方とお話出来て非常に楽しい1日でした。 さて、「No Sugar 〜私はどのようにしてRails開発に貢献したか〜」という発表をされた @kennyj_jp さんから懇親会で面白い話を聞くことができました。 schema.rbでスキーマ情報を管理するのは限界があるのではないか? 先日私がリリースしたpg_index_where について失礼ながら意見を聞いてみました。ポイントはスキーマ情報をdumpする処理について現在の実装方法で正しいのかという点。 そもそもユニークインデックスにwhereを付けるようなRDB固有の命令については、Rails標準のschema.rbで管理し続けるのは限界があるのではないかというお話でした。 Railsの設定でdump方法を変更できる 次のようにapplication.rbの一部をコメント
久々にセットアップしたらハマったのでメモ。 $ brew install -f imagemagick --disable-openmp $ gem install rmagick . . . checking for Ruby version >= 1.8.5... yes checking for /usr/local/bin/gcc-4.2... yes checking for Magick-config... yes checking for ImageMagick version >= 6.4.9... yes checking for HDRI disabled version of ImageMagick... yes /usr/local/bin/Magick-config: line 41: pkg-config: command not found /usr/loca
rbenvやrvmでRubyをインストールしたときはirbを起動して次のチェックを行います。 ↑キーを押してみるreadlineが正しく組み込まれていないとキーヒストリーが効きません。 require 'openssl' opensslが正しく組み込まれていないとhttpsで通信する時にハマります。 require 'zlib' zlibが正しく組み込まれていないと、いたるところでハマります。それはもう困ります。 require 'psych' psychがrequireできないときはYAMLを扱うことができません。きっとRailsで困るでしょう。 うまく動作していないときはOSに必要なライブラリをインストールしてRubyの再コンパイルを行います。 他にも私はこんなチェックをしてるって人がいれば教えて下さい。
2013年1月13日〜14日に開催された東京Ruby会議10に参加してきました。 場所は千葉市美浜文化ホール。中国地方に住んでると、東京、埼玉、千葉、神奈川への出張はまとめて「東京に行ってくる」って言うしあんまり細かいことは気にしません! 以下は気になったセッションのメモです。 Rubyと過ごした半年間(井原正博氏) クックパッド株式会社で新しいサービスを立ち上げた時のお話でした。初めてのRailsプロジェクトに挑むにあたりCode SchoolやRailsCastsで学習をしたそうです。 一人でCIやPull Requestを送ったり「Rubyの世界で良き住人になりたい」という気持ちでコードを書いているそうです。 やさしいRails勉強会@東京のつづけ方(takkanm氏) Rails勉強会@東京という勉強会を継続してきた経験を聞かせて頂きました。私も岡山Ruby/Ruby on Rai
rvmがオワコン扱いされだしたのはいつの頃からでしょうか?私はrbenvのrehashが嫌でしつこくrvmを使い続けていたのですが、ここ最近のrvmでのrubyインストールの不安定さに嫌気が差してrbenvに乗り換えることにしました。 $ cd $ rm -rf .rvm $ brew install rbenv$ brew install ruby-build $ echo 'eval "$(rbenv init -)"' >> .bash_profile $ brew install readline $ rbenv install 1.9.3-p194 $ rbenv global 1.9.3-p194ちょとirbで動作確認してみます。 a = 1 a = 2 # ↑キーを押してキーヒストリが効くことを確認。readlineがうまく組み込まれてないとヒストリが効かない require
(2012.11.20 追記) aoetkさんからコメントでご指摘いただきました。Javaコントロールパネルからpathをコピーする方法はApple的に推奨されていないようです。 http://developer.apple.com/library/mac/#qa/qa1170/_index.html /usr/libexec/java_homeコマンドがpathを返すようなので、その実行結果をJAVA_HOMEに設定します。 .bash_profileか.bashrcにJAVA_HOMEを設定 export JAVA_HOME=`/usr/libexec/java_home` export JAVA=$JAVA_HOME/bin ↓↓↓ここから元記事↓↓↓ いつの間にやらMacOS XからJava Preferencesが消失してしまいました。 Java言語で開発を行うことはないのですが
2012年9月14日(金)から16日(日)まで札幌で開催された「札幌Ruby会議2012」に参加してきました。 テーマは「We Code.」実行委員長の島田さんのお話では「コードを書く上で周りの人との関わりを考えて欲しい」とのことでした。 以下がセッションの感想です。(preで囲ってるところは私が取ったメモ) 9月14日(金) Heroku(相澤 歩) 現在約220万ものアプリケーションを動作させている。200億円でセールスフォースに買収された。 あまり知られてないかもしれないけどgem install herokuをしなくてもデプロイは可能。 現在Ruby以外にもあらゆる言語が動作する。 追加のアドオンは80種類ぐらい存在する。FacebookアプリケーションはデフォルトでHerokuにデプロイされる。 8月27日にmixi API Quick Startが開始された。これによりmixi
Ruby大好きな私は全てをRubyだけで片付けたいのです。しかし、仕事となるとお客様の様々なご要望に答えていかなくてはなりません。エンタープライズ向けのツールやパッケージを考えるとJavaの世界は非常に魅力的です。 今回JavaOneに参加した目的はそうしたJavaを取り巻くエコシステムを肌で感じる事、それからJRubyとアプリケーションのデプロイ環境の調査でした。収穫はまずまずという感じでしたが、2日間岡山から参加した他のメンバーや全国のJavaコミュニティの方と楽しくすごすことができました。 以下、参加レポートです 1日目 NIO.2を使って、簡単ファイル操作 櫻庭 祐一 氏 Javaでファイルコピーを行おうとすると入力用と出力用2本のFileStreamを開く必要があったが、New I/O 2を使用することで簡単にファイル操作を行うことができるという内容。正直、今までこんな基本的なフ
CSVの書き出しでちょっとやりたいことがあって標準添付のCSVライブラリについて調べてたんだけど、結局標準のままだと出来なそうという結論に至りました。その際にCSV::Convertersについて色々ほじったのでメモがわりに残しておきます。 CSV::Convertersって何? ドキュメントを読むと「このハッシュは名前でアクセスできる組み込みの変換器を保持しています。」と書かれています。変換器と言われてもどう使えばいいのかピンと来ませんでした。ググッてもサンプルとかあんまり無いし。 とりあえず使ってみる まぁ、こんな感じで使えます。 require 'csv' CSV.parse("2011-11-23,123,456",:converters => :date) do |csv| p csv end 実行すると [#<Date: 2011-11-23 (4911777/2,0,2299
jQueryUIのsortableって便利ですよね。でも、iPhoneやiPadだとタッチイベントをうまく検出してくれずそのままでは動作しません。 そこでjQuery の sortable を iPad 対応するで紹介されているようにタッチイベントをマウスイベントに置き換えて動作させる方法があります。 function dispatchMouseEvent( event_type, touch_event ){ var simulatedEvent = document.createEvent("MouseEvent"); simulatedEvent.initMouseEvent( event_type, true, true, window, 1, touch_event.screenX, touch_event.screenY, touch_event.clientX, touch_
jpmobileで作成されたRailsプロジェクトをテストする必要があったので調べてみました。 ちょっとググると次のサイトが出てきます。 Ruby 1.9 + Rails3 + jpmobileで構築したサイトをcucumberでテストするためのTips Capybara::Driver::RackTestに細工をしてUserAgentを偽装する方法です。 ただし、手元にインストールされているCapybara1.1.2はCapybara::Driver::RackTestは無くなっており代わりにCapybara::RackTest::Driverが実装されていて、上記の偽装を行うことができません。 他の手を探してみたところ次の記事が見つかりました。 Creating a custom Capybara driver この方法は新しいCapybaraのDriverを設定してしまう方法です。
Rails3.1から組み込まれたCoffeeScriptを検証しています。コントローラを作成するとapp/assets/javascriptsにコントローラー名.js.coffeeってファイルが作成されますよね。当然該当するコントローラーに関係するViewを表示した時だけロードされると思ってたんだけど、全てのスクリプトがまとめてロードされてしまうみたいです。 これは次のようにmanifest fileを変更すると動作を変えることができます。 app/assets/javascipts/application.js // This is a manifest file that'll be compiled into including all the files listed below. // Add new JavaScript/Coffee code in separate file
みなさん、cucumber使ってテスト書いてますか?最近はrspecでユニットテストを書き、インテグレーションテストはcucumberを使う例が増えていると聞きます。 ここで問題になるのがjavascriptを含むページのテストです。色々情報を調べていたところ、capybara-webkitなるものをid:babieさんが使用しているのを発見。今回はcucumberで動かしてみました。 qtのインストール capybara-webkitはqtというGUIフレームワークを使用しています。先にインストールしてしまいましょう。どちらの場合もコンパイルにめちゃくちゃ時間がかかるのでご注意を。 mac portsの人 $ sudo port install qt4-mac-devel home brewの人 $ brew install qt Gemfileの設定 適当にRailsプロジェクトを作成
9月5日と6日に松江市で開催されたRubyWorld Conference 2011に参加してきました。 RubyKaigiと比較してビジネス色が強いイベントなので、正直参加しようか迷ったのですが、参加してみてよかったです。 ▲くにびき大橋を埋め尽くすRubyWorld Conferenceののぼり 以下、気になったことのメモ書きです。 (1日目) オープニングセレモニー(まつもとゆきひろ) FORTRANより前にPlankalkülって言語があってね...という話。 RubyKaigiのときと比較して、白かったです。白Matzでした。 良くも悪くもまつもとさんはRubyの象徴なんだなぁと感じました。 記念講演「IT融合による新たな産業の創出について」( 高橋淳) 経済産業省のスライド&プレゼンが見れるのはRubyWorld Conferenceだけっ! 同時に追っていたTwitterのT
rubyでhtml解析を行う際に便利なのがHpricot(エイチプリコット?)というhtmlパーサーです。 require 'rubygems' require 'Hpricot' require 'open-uri' open('http://www.yahoo.co.jp') do |f| doc = Hpricot(f) doc.search('img') do |img| puts img.attributes['src'] end end こんな感じでYahoo!のトップページのimageタグの画像urlが抜き出せます。 しかし、困ったことにタグ名(imgなど)はhtmlソース中の大文字・小文字は 区別しないのですが、属性名(srcなど)は大文字と小文字を区別してしまいます。 つまりimg.attributes['src']では <IMG SRC='hoge.jpg'>が検出でき
Railsのmodelを動的に定義したくて悩んでたらTwitterで @antimon2 さんがうまい方法を教えてくれました。 # このmodelを継承したクラスを作成すれば # validationを行ったり、viewでform_forが使える class SimpleModel include ActiveModel::Validations include ActiveModel::Conversion extend ActiveModel::Naming def initialize(attributes = {}) attributes.each do |name, value| send("#{name}=", value) end end def persisted? false end end # controllerの一部 # SimpleModelの特異クラスを定義 #
WEB+DB PRESS vol.61の「Rails3テスト最前線」という記事がかなり良かったので、注釈を交えて紹介したいと思います。 何が良かったのか? 自分はRails2系でTest::Unitを実践していました。AutoTestとYAMLによるデータ投入でおおむね満足していましたが、次のポイントが気になっていました。 YAMLによるデータ投入は重複が多いのでコピペでデータを作成していた。 Test::Unitはログイン処理など共通の処理をくくり出すのが難しかった。 Viewのテストの方法が分からなかった。 しかしこの記事で気になる点がスパッと解消されました。私と同じような人はこの雑誌の記事が役に立つと思います。 ちなみに私はMacのSnow Leopard上でRuby1.9.2を使ってこの記事の内容を試しました。1.8.7を使う前提で書かれている箇所もあるので注意してください。(後で
10/15で10年間勤めた岡山の会社を退職し、10/18から東京のスタートアップ企業でのフルリモート勤務が始まります。 なぜ転職したのか 現在45歳ですが、10年後、20年後も働き続ける必要があると考えています。その時どんな仕事をやっているのかを想像すると、現在のマネージメント業だけでは少し厳しいかなと感じるようになってきました。そのため、もう少しスピード感を持って技術寄りな仕事がしてみたいと思い転職することにしました。 今までは何をやってきたのか Railsプロジェクトのプログラマーから始まり、CIやインフラの構築を行ってきました。直近の2〜3年はマネージャーとしてチームビルディングを意識して動いてきました。 これから何をやるのか Railsのバックエンドエンジニアとして活躍する予定です。将来的には社内の技術的な強みと辛みを把握した上で、マネージメント業ができたら良いなと考えています。
jQueryはすごく便利でRailsアプリケーションを作成する際によく使うんですが、RailsのAjax機能がうまく動作しないことがありました。 具体的に言うとlink_to_remoteを使用してページの一部を書き換えるような場合にうまく処理できません。 どうやらrailsが標準で使用しているjavascriptライブラリ(prototype.js)とjQueryが競合してしまうのが原因のようです。 解決策としてprototype.jsの使用をやめ、jQueryだけ使用するように変更してみました。 参考にしたのは次のページです。 ■jQuery on Rails http://d.hatena.ne.jp/h-nakao/20090511/1242046640 おかげでjQueryを使用しつつAjaxも機能させることができました。
次のページ
このページを最初にブックマークしてみませんか?
『tech-kazuhisa's blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く