サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
掃除・片付け
tech-kazuhisa.hatenablog.com
10/15で10年間勤めた岡山の会社を退職し、10/18から東京のスタートアップ企業でのフルリモート勤務が始まります。 なぜ転職したのか 現在45歳ですが、10年後、20年後も働き続ける必要があると考えています。その時どんな仕事をやっているのかを想像すると、現在のマネージメント業だけでは少し厳しいかなと感じるようになってきました。そのため、もう少しスピード感を持って技術寄りな仕事がしてみたいと思い転職することにしました。 今までは何をやってきたのか Railsプロジェクトのプログラマーから始まり、CIやインフラの構築を行ってきました。直近の2〜3年はマネージャーとしてチームビルディングを意識して動いてきました。 これから何をやるのか Railsのバックエンドエンジニアとして活躍する予定です。将来的には社内の技術的な強みと辛みを把握した上で、マネージメント業ができたら良いなと考えています。
自信喪失でぴえんモードになってるので「そんなことないよ、そーだいさんすごいよ」ってチヤホヤしてくれる会が必要。— そーだい@初代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の動きが
tech-kazuhisa's blog
はじめに 今の会社に転職してはや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が今後どのように進化を遂げようとしているのか、
参加してきた! 7月11日 (土)にKansai RubyKaigi 06がエムオーテックス新大阪ビルで開催されました。場所はビルの名前の通り新大阪駅近くで、非常に便利の良い場所です。 セッションは映画館みたいな大会議室で行われました。参加者は200名以上で大変な盛り上がりでした! 以下、気になったセッションのメモです。 Rubyにみるプログラミングスタイルの進化(まつもとゆきひろさん) 早口のMatzのセッションにしては珍しく、スライド上でうさぎがカメを追いかけてる状態が長かったです。I/Oを読んでる17歳の時の写真から始まり、ポケコン、紙のノート上でのプログラミング、SONY NEWSワークステーションでのRuby開発の話とMatz自身の人生を垣間見ることができました。 印象的だったのがGitの利便性についてMatzの口から説明があったこと。これって珍しいですよね。 あとは、静的型付け
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
2014年1月はTwitterをほぼ利用しなかった。MacOS XのDockからTwitterを削除し、Android端末のホーム画面からもTwitterアイコンを削除し「見ない」「つぶやかない」を実践した。 きっかけは「キラキラッター」 「アイカツ!」という女児向けアニメはご存知だと思う。念のため説明しておくと、主人公「いちご」、その幼馴染「あおい」がアイドル養成学校「スターライト学園」でカードを集めながら仲間とともにトップアイドルを目指すという熱いスポ根アニメだ。 2013年の年末、ふとしたきっかけでこのアニメをまとめてDVDで1話から観てたのだが、第7話「つぶやきにご用心」という話で私の中に稲妻が走った。 7話のあらすじはこうだ。 いちごとあおいはそれぞれ別々のオーディションを受ける。ライバルへの対策として「キラキラッター」での情報集めに夢中になるあおい。だが夢中になりすぎるあまり、
AWSのSES(メール配信サービス)を使うのは簡単なのですが、そのままの設定だとメール差出人の欄に amazonses.com 経由と表示されてしまいます。 これを防止するためにDKIMという仕組みがあるのですが、さくらインターネットのドメイン管理画面でCNAMEを設定する時にハマったのでメモ。 SESの設定画面でDKIMの設定画面を開くと「CNAMEをこう変えてくださいよ」という設定が表示されると思います。 Route53を使っていればボタンひとつで設定完了なのですが、私はさくらインターネットでドメイン管理をしているため次のように設定しました。 ポイントは2つ。 CNAMEを登録する際にDNSチェックは「しない」を選択する。 CNAMEのValueの最後に.(ドット)を付ける しばらくするとSESで認証されると思います。
KVS的なものを使いたいんだけどmemcachedを立てるほどではないって事ありますよね? そんなときはRailsのフラグメントキャッシュで使われてるActiveSupport::Cacheでファイルストレージを使ってみてはどうでしょうか? require 'rubygems' require 'active_support' include ActiveSupport::Cache fs = ActiveSupport::Cache.lookup_store(:file_store, "tmp") # tmpディレクトリを格納先に指定 fs.write("key123","value123") #Stringを保存 fs.write("key456",{:hoge => "fuga"}) #Hashを保存 p fs.read("key123") # "value123" p fs.rea
先日開催された関西Ruby会議05に参加された方お疲れ様でした。色々な方とお話出来て非常に楽しい1日でした。 さて、「No Sugar 〜私はどのようにしてRails開発に貢献したか〜」という発表をされた @kennyj_jp さんから懇親会で面白い話を聞くことができました。 schema.rbでスキーマ情報を管理するのは限界があるのではないか? 先日私がリリースしたpg_index_where について失礼ながら意見を聞いてみました。ポイントはスキーマ情報をdumpする処理について現在の実装方法で正しいのかという点。 そもそもユニークインデックスにwhereを付けるようなRDB固有の命令については、Rails標準のschema.rbで管理し続けるのは限界があるのではないかというお話でした。 Railsの設定でdump方法を変更できる 次のようにapplication.rbの一部をコメント
railsで論理削除を行うときに使うプラグイン「acts_as_paranoid」を使用するとき注意することがあります。 modelにacts_as_paranoidを組み込み、通常の検索を行うと次のようなSQLが発行されます。 e = Employee.scoped SELECT "employees".* FROM "employees" WHERE (employees.deleted_at IS NULL) しかし、同じくacts_as_paranoidを組み込んだモデルをjoinしてみるとdeleted_atが考慮されないSQLが発行されるようです。 e = Employee.scoped.joins(:user) SELECT "employees".* FROM "employees" INNER JOIN "users" ON "employees"."id" = "use
大満足の3日間でしたが、今回のRuby会議から特に国際色が非常に強く楽しむには十分な英語力が必要だと痛感しました。 気軽に参加できる地域Ruby会議とのはっきりした住み分けを感じました。 来年も楽しく参加するためには、自己のレベルを引き上げなきゃなー。 あと、最終日は22時東京初の夜行列車サンライズ瀬戸だったため、遅くまで東京に滞在することができました。忙しい時間の合間を縫って飲み会に来てくれた@nysalorさんありがとう!貴重な話が色々聴けて楽しかったです。またお話しましょう。
久々にセットアップしたらハマったのでメモ。 $ 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
Railsで論理削除を行うときはacts_as_paranoidを使用するのが一般的です。 Model側でvalidates_uniqueness_of_without_deletedを使用するとユニーク制限をかけることができますが、DB側でユニーク制限をかけようとすると問題が発生します。 # schema.rb create_table "customers", :force => true do |t| t.string "code", :null => false t.datetime "deleted_at" t.datetime "created_at" t.datetime "updated_at" end add_index "customers", ["code", "deleted_at"], :name => "customers_idx01", :unique =>
2012年11月9日にcapybara-webkitの0.13.0がリリースされました。このバージョンからQt4.6.x系ではコンパイルに失敗してしまうようです。現在テスト用サーバーとして使っているScientific Linux release 6.3にはyumでは4.6.x系までしかインストールできないようなのでソースを持ってきてコンパイルしてみました。 ダウンロードサイトはこちら。 http://qt-project.org/downloads 次の手順でインストールしました。 $ wget http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-4.8.3.tar.gz $ tar zxvf qt-everywhere-opensource-src-4.8.3.tar.gz $ cd qt-eve
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言語で開発を行うことはないのですが
rubyで帳票を出力するならThinReportsでキマリです。railsならthinreports-railsね。 ただ、ThinReportsは多段のグループヘッダ/フッタを設定することができなかったり、細かい設定はちょっと苦手な感じを受けました。 以前Javaのプロジェクトで触ったJasperReportsの感触が良かったのでRubyから何とか使えないかと調べてみたところjasper-railsというものを発見。JRubyではなくRjbを使ってjvmを操作するようです。 問題点 jasper-railsは概ね良い感じなんですが次の点が気になってきます。 Controllerに関連するViewのテンプレートしか使えない コレはコレで良い仕様だとは思うのですがテンプレートを一箇所に集約して、いろんなControllerから使いたい場合は不便です。好きな場所に置きたい! ActiveRec
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
▲法政大学 さったホール ひ、広い! ちょっと前の話になるのですが日本Jenkinsユーザ会主催のJenkins ユーザ・カンファレンス 2012 東京に参加してきました。 私のJenkinsレベルは @zephiransas が設定してくれたおかげでなんとなく使ってるといった感じ。 そんなゆるふわJenkinsユーザーの感想は以下のとおりです。 Jenkinsプロジェクト現状報告とこれから(川口耕介氏) 作者自らJenkinsの現状と新機能について説明してくださいました。 Ruby開発者が沢山使っているとのことで、Ruby系の人からの意見も取り入れているそうです。 ・現在のインストール総数(マスターの数) 43,000 ・新機能の紹介 マウスオーバーで機能が出てくる ドラッグ&ドロップで順序が変えられる。(点線の枠が出てくる) ビルド後の処理がメニューから選べる プラグインをインストール
Ruby大好きな私は全てをRubyだけで片付けたいのです。しかし、仕事となるとお客様の様々なご要望に答えていかなくてはなりません。エンタープライズ向けのツールやパッケージを考えるとJavaの世界は非常に魅力的です。 今回JavaOneに参加した目的はそうしたJavaを取り巻くエコシステムを肌で感じる事、それからJRubyとアプリケーションのデプロイ環境の調査でした。収穫はまずまずという感じでしたが、2日間岡山から参加した他のメンバーや全国のJavaコミュニティの方と楽しくすごすことができました。 以下、参加レポートです 1日目 NIO.2を使って、簡単ファイル操作 櫻庭 祐一 氏 Javaでファイルコピーを行おうとすると入力用と出力用2本のFileStreamを開く必要があったが、New I/O 2を使用することで簡単にファイル操作を行うことができるという内容。正直、今までこんな基本的なフ
次のページ
このページを最初にブックマークしてみませんか?
『tech-kazuhisa's blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く