タグ

ブックマーク / joker1007.hatenablog.com (12)

  • ソフトウェアエンジニアとしての能力を高める方法について考えてみた - joker1007’s diary

    早朝の寝る前ぐらいの時間にぼやっと下記の様なツイートしたらちょっと反応を貰ったので、取り留めは無いが自分なりに考えていることを書いてみる。 人を育てるのも仕事の内というのは完全にその通りなんだが、そこにドキュメントやがあるから読みます、触って作ってみます、生きたコードを読みます、以外に学ぶ方法なんかねえし、知らねえよ。ただやればいいだけの事に説明も何も無いんだよな……。マジ分からん……。— joker1007 (アルフォートおじさん) (@joker1007) March 2, 2023 タイトルは雑に書いたけど、能力を高めるというと範囲が広過ぎるので、技術的な意味でできる事が増える、ということをテーマとして話をしていこうと思う。基的に自分の考え方の話なのでそこは御留意ください。 ツイートした通りで、状況や対象に依って割合は変わるかもしれないが基的にそのためにやることは3つしかないと

    ソフトウェアエンジニアとしての能力を高める方法について考えてみた - joker1007’s diary
  • 1000万件オーバーのレコードのデータをカジュアルに扱うための心構え - joker1007’s diary

    自分が所属している会社のメンバーの教育用資料として、それなりの規模のデータを扱う時に前提として意識しておかなければいけないことをざっくりまとめたので、弊社特有の話は除外して公開用に整理してみました。 大規模データ処理、分散処理に慣れている人にとっては今更改めて言うことじゃないだろ、みたいな話ばかりだと思いますが、急激にデータスケールが増大してしまったりすると環境に開発者の意識が追い付かないこともあるかと思います。 そういったケースで参考にできるかもしれません。 弊社は基的にAWSによって運用されているので、AWSを前提にした様なキーワードやサービス名が出てきます。後、句読点があったり無かったりしますが、ご容赦ください。 追記: 社内用の資料の編集なのでかなりハイコンテキストな内容だから誤解するかもしれませんが、これらはそもそもRDBの話ではありません。(関係無くは無いけど) 1000万オ

    1000万件オーバーのレコードのデータをカジュアルに扱うための心構え - joker1007’s diary
  • パーフェクトRails著者が解説するdeviseの現代的なユーザー認証のモデル構成について - joker1007’s diary

    最近、パーフェクトRuby on Railsの増補改訂版をリリースさせていただいた身なので、久しぶりにRailsについて書いてみようと思う。 まあ、書籍の宣伝みたいなものです。 数日前に、noteというサービスでWebフロント側に投稿者のIPアドレスが露出するという漏洩事故が起きました。これがどれぐらい問題かは一旦置いておいて、何故こういうことになるのか、そしてRailsでよく使われるdeviseという認証機構作成ライブラリのより良い使い方について話をしていきます。 (noteRailsを使っているか、ここで話をするdeviseを採用しているかは定かではないので、ここから先の話はその事故とは直接関係ありません。Railsだったとしても恐らく使ってないか変な使い方してると思うんですが、理由は後述) 何故こんなことが起きるのか そもそも、フロント側に何故IPアドレスを送ってんだ、という話です

    パーフェクトRails著者が解説するdeviseの現代的なユーザー認証のモデル構成について - joker1007’s diary
  • 開発環境がLinuxに戻ってそれなりにこなれてきたので現在の環境について書く - joker1007’s diary

    Macを捨ててThinkpadにGentooを入れて開発環境としてから2ヶ月が過ぎた。 世の中にはMacから離れようとしてThinkpadを買ったら、矢印キーボード押しにくいとかタッチパッドがクソなので、Macに戻っていった人も居るみたいですが、私としては至極快適に過ごしております。 そもそもThinkpadのタッチパッドは基無効化するものなのでどうでもいい。まあそのスペース邪魔なんだよ、とは思いますがw Wi-Fiの無効化キーを誤爆するという危険があるらしいが、Gentooだと頑張って設定しないとそういう特殊なキーはそもそも動かないので、そんな危険もなく安全ですね。 Gentoo入れてタッチパッドを無効化すれば、Windows10というOSも使わなくていいし、全て解決するんではないでしょうか。 前置きはこのぐらいにして、色々と使うものが安定してきたので今の環境について書いていきます。

    開発環境がLinuxに戻ってそれなりにこなれてきたので現在の環境について書く - joker1007’s diary
  • MacBook Proを捨ててThinkpad T460sを買ってgentooを入れた - joker1007’s diary

    英字キーボード配列にできて開発ユースに耐えうるノートPCがとても選択し辛い昨今、なんとなく安牌ポジションだったMBPについにさよならしました。 元々、Macを好んで使っていたというより、解像度が高くて英字配列にできて電池の持ちが良いというノートPCがMBPだっただけで使ってたのですが。 一番大きな要因がコンテナの利用頻度が増えて開発環境も含めてDockerを使う様になったので、Macだとどうにも面倒だという点です。 docker-machineのデフォルトとかdocker for Macのデフォルトが遅過ぎて話にならないし、dinghy使ってもdocker-sync使っても微妙でかつ面倒くさい。 普通にLinux上で直接動かせるなら、無駄な苦労だと思って、まず開発用PCLinuxにしようと決めました。 そしたら新しいMBPが30万越えるのに、一世代前のCPUとメモリでドヤ顔してくるわ、キ

    MacBook Proを捨ててThinkpad T460sを買ってgentooを入れた - joker1007’s diary
  • Electronでメディアファイル用のファイルブラウザ「BlackAlbum」を作った - joker1007’s diary

    Electronで動作する動画ファイル及びJPG in Zip向けのファイルブラウザを作ってみました。 構成としてはElectron+React+Reduxで、gulpfile以外はbabelを使って書いてます。 そこそこ今風な感じを目指して、一部flowtypeとかも取り入れてますが、割と適当な感じで使ってます。 実は以前Node.jsで同じもの作ってたんだけど、せっかくちゃんとデスクトップアプリとして作れるようになったしReactにも慣れたのでElectronと今の技術で作り直してみたのがこれです。名前も同じだったりする。 https://github.com/joker1007/blackalbum https://github.com/joker1007/blackalbum/releases/download/v0.2.0/BlackAlbum-darwin-x64-0.2.0.

    Electronでメディアファイル用のファイルブラウザ「BlackAlbum」を作った - joker1007’s diary
  • (株)ウサギィを退職してフリーランスになった話 - joker1007’s diary

    実はこれが初「で、お前だれよ?」エントリです。 最初の転職の時は、書くと愚痴と怒りしか出てこなさそうだったので書かなかったw およそ3年半ぶり二度目の転職、というか初の失職です。会社員を辞めてフリーランスになりました。 実は、年末の時点で退職を考えてたんですが、ちょっとタイミングが微妙に噛み合わなかったんで、1月から3月までの間は週に半分フリーランスという形で仕事してました。 で、4月から格的に退職して完全にフリーランスです。 ITゼネコンの頂点みたいな会社に心疲れて2年半ちょっとで転職したので、もうプログラマーになってからの方が長いのかーと思うと感慨深いですね。 プログラマーとしても4年目に突入して、いよいよ中堅というかおっさん界の中でも中ぐらいのおっさんになってきた感じです。 今回会社を辞めたのは別に仕事に不満があったわけではないです。流石に完全にゼロでもないですがw 基的には受託

    (株)ウサギィを退職してフリーランスになった話 - joker1007’s diary
  • パーフェクトRailsで俺が書いた所について思うこといくつか - joker1007’s diary

    既に大きい書店の店頭には並んでいる所もあるようで、自分もアキバの書泉で現物を見てきました。 立ち読みして、ほほーうとやってる著者の図って感じです。 献させていただいた方にも、既に届いていて読んだよーって言ってくれてる方がちらほら。 参考になったと言っていただけて、とても嬉しく思っています。 さて、今回はちょっと自分の担当した部分と思ってた事について少し書いてみたいと思います。 私が担当したのは、3章のアセットについてと4章のlibディレクトリ周り+Railsのロードパスについて、そして9章のモデル実践編みたいな所です。 一応それぞれありますが、主に言いたいのは9章についてですw 3章について CoffeeとSassについて、どの程度解説するか非常に悩みました。 実際、書くとなるとリファレンスマニュアルを日語で解説する、以上の事はページ数的にできない。 かといって、昨今のRailsアプリ

    パーフェクトRailsで俺が書いた所について思うこといくつか - joker1007’s diary
  • パーフェクトなRailsの本を書きました - joker1007’s diary

    どうもAmazonがフライングでパブリック状態にしてしまったのが補足されてしまったので、想定してないタイミングで世の中に通知されてしまいましたが、Railsを書かせていただきました。 パーフェクト Ruby on Rails: すが まさお, 前島 真一, 近藤 宇智朗, 橋立 友宏 元々はパーフェクトRubyを書いた後にスペースの都合で削ったRailsの章があって勿体無いという話から出てきたです。 タイトルは最初決まってなかったんですが、最終的にパーフェクトシリーズの一つということになりました。 タイトルこそパーフェクトって付いてますが、このは他の言語解説系のとはちょっと雰囲気が違う感じになっています。 まあ、執筆スケジュールとかページ数によるスペースの限界という理由もありますが(Railsの中ではかなり薄い方)、網羅性というより仕事Rails使ってる人達の知識とか考えに重

    パーフェクトなRailsの本を書きました - joker1007’s diary
  • 世界を変えたいとか思わない俺と、ヒーローになりたい俺 - joker1007’s diary

    この記事は闇 Advent Calendar 2013 - Adventarの19日目です。 なんか前回の記事を書いたjugyoさんが非常にインパクトの強い話をぶち込んできたおかげで、次の俺どうしようかって感じで困ってますが、私は普通に屈してる感情を書くだけなんで、そんな面白い話は無いです。自分語りのオナニーをして終わりです。 変な期待をしてる人が居るかもしれませんが、私はマジで何も関わってないのでコメントのしようが無いし。 俺の経緯 私は大学生になるぐらいまで、ただPCゲームして、エロ動画を見て2chを眺めているだけだった。 貧乏だったので、バイトして金溜めてPCを新調した時、古いPCを活用する方法を考えて、Linuxルーターを作る事にした。 そこからLAMP構成ってやつでプログラミングの真似事をやりだした。 実際の所、私はエロ動画及び画像の収集と管理を楽にするためにプログラミング

    世界を変えたいとか思わない俺と、ヒーローになりたい俺 - joker1007’s diary
  • webapi-vimとBufWriteCmdでWeb上のリソースをVimで編集する - joker1007’s diary

    この記事はVim Advent Calendar 2013の14日目です。 前の記事はVim on Android | 高級粗茶2。でした。 Vimを使っているとWeb上に存在するリソースもVimで扱いたくなることがあります。 そんな時の強力なお供がmattnさん作のwebapi-vimです。 webapi-vimを利用することで簡単にWeb上のリソースをvimに取り込むことができます。 let res = webapi#http#get(s:pull_request_list_url(a:repo), {}, s:github_request_header) if res.status !~ "^2.*" return ['error', 'Failed to fetch pull request list'] endif let content = webapi#json#decode

    webapi-vimとBufWriteCmdでWeb上のリソースをVimで編集する - joker1007’s diary
    lepton9
    lepton9 2013/12/15
  • TDD Anti-patterns catalogue at Stack Overflow を簡単に訳してみた - joker1007’s diary

    Stack OverflowのTDD Anti-patterns catalogueというスレがとても面白かったので訳してみた。 Stack Overflowのvoting機能でアンチパターンへの投票を行っている感じ。 上から投票の多い順になっている。 得票数はこの記事執筆時点(2013.7.9)のもの。 SQLアンチパターンっぽく、パターン名はそのまま片仮名にしてみた。 また、内容がかなり被っているとか、状況がかなりレアじゃないかと思うものは、一部省略しました。 (ブコメで訳間違ってるよ、って教えてもらったので、一部修正しました 2013.7.10) フリーライド (テストのただ乗り) 50pt 新しいテストケースを書くのではなく、他の機能のテストに新しいアサーションを追加して既存のテストケースに乗っかる。 セカンドクラス シティズン (二等市民) 47pt プロダクションコードのように

    TDD Anti-patterns catalogue at Stack Overflow を簡単に訳してみた - joker1007’s diary
  • 1