タグ

ブックマーク / blog.kengo-toda.jp (11)

  • The 2021 State of DevOps Reportが出た - Kengo's blog

    みんな大好き、State of DevOpsの2021版が来たぞーhttps://t.co/7yFtAblwFn— Like a Galarian Linoone (@Kengo_TODA) July 21, 2021 ということでスキマ時間に読み進めていたので、感想と面白いと感じた点をまとめときます。網羅性が高く公平なまとめが必要な方は、3〜4ページに掲載のExective Summaryをおすすめします。 テーマは「中間層からの脱出」 6ページ目を見てもらえれば一目瞭然、今回のテーマは生産性が高くできず中間層で留まっているチームに対する処方箋の発見にあるようです。 近年のレポートは「今更それは無いでしょ」って感じのLow levelが5%強、「リアルチートじゃん」って感じのHighが10%強で、ほとんどのチームがMiddleに属していました。ごく少数の上澄みが高いパフォーマンスを出して

    The 2021 State of DevOps Reportが出た - Kengo's blog
  • InclusiveなOSS開発体制を作る意味で、GFWの影響をざっくり知ってもらえるとありがたい - Kengo's blog

    TL;DR 2021年5月時点では raw.githubusercontent.com や gcr.ioはGFW内からアクセスできません。 開発しているOSSを広いユーザに利用してもらいたい場合は、こうしたドメインへの強い依存は避けることを検討しても良いかもしれません。 中国インターネットから見たOSS開発体制 中国土でOSS開発をしていると、以下のようにバッジが壊れているGitHubリポジトリによく遭遇します: バッジが表示されないGitHubリポジトリの図 これはバッジが使っているドメイン raw.githubusercontent.com にアクセスできないことから生じます。バッジなら大して影響ないのですが、開発体制構築がこれに依存していると厄介です。 例えばYarn v2のインストール手順は、JSONファイルを raw.githubusercontent.com からダウンロード

    InclusiveなOSS開発体制を作る意味で、GFWの影響をざっくり知ってもらえるとありがたい - Kengo's blog
  • GitHub Actions 最近のやらかし一覧 - Kengo's blog

    FOSS開発で細かいやらかしを積み上げてきたのでまとめる。 テストの失敗原因レポートをartifactとしてアップロードしそこねる actions/upload-artifactを使ってテストレポートをartifactとしてアップロードする際、以下の書き方だと失敗する。 # bad - run: | ./gradlew test --no-daemon --stacktrace - uses: actions/upload-artifact@v2 with: name: reports path: build/reports これはテストが失敗した時点で後続のstepsが実行されなくなるため。明示的に失敗時でもアップロードされるように指示する必要がある。 # bad - run: | ./gradlew test --no-daemon --stacktrace - uses: actio

    GitHub Actions 最近のやらかし一覧 - Kengo's blog
  • How I find and learn new technical things - Kengo's blog

    Sometimes my teammates ask me about how to find and learn new technologies. It would be common question for technologist and developers, so I will try to summarise current my theories. How to find new technologies RSS (articles) RSS is still my best method to collect information from WWW. I have already tried AI based curation like Gunosy and SmartNews, but they summarise information from only lim

    How I find and learn new technical things - Kengo's blog
    teppeis
    teppeis 2015/08/27
    Java, JavaScript方面の情報源
  • Closure Library でカタいクラスを実装する - Kengo's blog

    ここではカタいクラス=フェイルファストで、コンパイル時に問題を発見しやすく、かつ保守しやすいクラス と定義する。 基的には goog.ui.Component あたりを読むと勉強になる。もちろんネームスペースでユーティリティメソッド群を実装する場合にも通じる。 goog.asserts.assert を使う 「ここではこういう理由からこういう状態であるべき」をコードで明記できる。例えばgoog.ui.Componentでは以下のようにして使っている。 /** * Similar to {@code getElementByClass} except that it expects the * element to be present in the dom thus returning a required value. Otherwise, * will assert. * @para

    Closure Library でカタいクラスを実装する - Kengo's blog
    teppeis
    teppeis 2014/08/03
    ClosureのJSDocの活用について / stringはプリミティブなので!つけなくてもnonnullです。@inheritDocはdeprecatedになりました。 https://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml
  • RequireJSを活用したキャッシュ防止、A/Bテスト、画像事前読込など - Kengo's blog

    [for English user] This article is a simple introduction about my project for Japanese developer. You do not have to read this, reading this project directly would be enough. RequireJSの応用方法について調べた内容をGitHubでまとめています。実装詳細はGitHubをご覧いただくとして、このエントリではそれぞれの応用について簡単な紹介をしたいと思います。 キャッシュ防止 JavaScriptファイルがブラウザにキャッシュされてしまうために、スーパーリロードなりキャッシュのクリアなりをしないと変更後のファイルが試せないことがあります。 キャッシュを防ぐ方法としてクエリパラメータの利用が知られていますが、Requ

    RequireJSを活用したキャッシュ防止、A/Bテスト、画像事前読込など - Kengo's blog
  • Javaライブラリを配布する際のログ周りにおける配慮と実践 - Kengo's blog

    2020-07-22更新: 以下の投稿で情報をアップデートしています。 https://blog.kengo-toda.jp/entry/2020/07/21/223136 いつも購読させていただいている id:teppeis さんのブックマークに以下のエントリが流れてきて、なるほどこいつはたしかに厄介だと思いました。 javaのロガーが多すぎて訳が解らないので整理してみました - 文系プログラマによるTIPSブログ ただSLF4Jが最も先進的かつ著名なインタフェースである以上、配布側としてはSLF4Jを使いつつ問題を解決したいところです。他のインタフェースを使ったりオレオレ実装を使ったりしてしまうと、それこそユーザの自由度を奪ってしまう形になります。 実際、SLF4Jを配布パッケージに含めないという簡単な解決法がありますので、簡単に紹介します。悲劇を繰り返さないためにライブラリ開発者がす

    Javaライブラリを配布する際のログ周りにおける配慮と実践 - Kengo's blog
    teppeis
    teppeis 2013/03/17
    「いつも購読させていただいている id:teppeis さんのブックマークに以下のエントリが流れてきて」あら。
  • requirejs reading - Kengo's blog

    I found that RequireJS has became one of my favorite library, so I need to know it deeply to make it my strong point. This article is log of code reading for 2.0.4. require.js it has many helper like bind(), mixin() and each(). IE6 support: there is a comment "When that browser dies, this can be removed"... handling error: overriding this method or putting break point here will help me to debug. i

    requirejs reading - Kengo's blog
  • RequireJS 2.0による依存関係の明示、フォールバック、複数バージョンの混在 - Kengo's blog

    旧ブログのRequireJSネタがひそかにブクマされつづけているので需要があるかなと思い、最近調査したバージョン2.0の機能についてまとめます。元ネタはこちらです。 Upgrading to RequireJS 2.0 · jrburke/requirejs Wiki · GitHub 依存関係の明示 従来のバージョンでjQueryプラグインを利用するには、RequireJS用のorderプラグインを使って読み込み順序を指定する必要がありました。jQueryプラグインが先に読み込まれると「jQueryなんて見つからねーよ!」と言われてしまうためです。これはjQueryに限らず様々なフレームワーク・ライブラリで起こりうる一般的な問題と言えます。 define('order!jquery', 'order!jquery.someplguin'], function($) { // ... })

    RequireJS 2.0による依存関係の明示、フォールバック、複数バージョンの混在 - Kengo's blog
  • RequireJSによるコードの分割と最適化 for enchant.js - Kengo's blog

    enchant.jsプログラミングでRequireJSを使うとなにが嬉しいの?どうやって使うの?という話。最初はenchant.jsをCommonJS/Modulesに合うように書き変えなきゃダメだと思っていたんですが、そんなことはないんですね。これは便利。 何が嬉しいの? 開発時にはゲームを複数のJSファイルに分割できるというメリットを、公開時にはゲームプレイに必要なダウンロード回数を減らせるというメリットを得られます。 Why Web Modules? 複雑なゲームじゃないしべつにgame.jsひとつで充分ですという場合には、はっきり言って不要なモノです。しかし長々と開発してたらクラス数が10を超えてきて超長いスクリプトになっちまったぜウォォという場合には、遠慮なくコードを分割統治できるというメリットは大きいでしょう。 enchant.jsとgame.jsを読み込む まずはrequir

    RequireJSによるコードの分割と最適化 for enchant.js - Kengo's blog
  • newするとJVM内で何が起こるのかという話(前編) - Kengo's blog

    私的まとめ。2段階に分かれており、今回はその初回。 JVM内の挙動を知るにはJVMに渡されるバイトコードを知ることからと考え、これについてまとめる。 バイトコードの確認 例えば public class Test { public static void main(String[] args) { Test test = new Test(); } } を $ javap -c Test すると、mainメソッドのバイトコードが public static void main(java.lang.String[]); Code: 0: new #1; //class Test 3: dup 4: invokespecial #16; //Method "":()V 7: astore_1 8: return になっていることがわかる。コンストラクタ呼び出しがnew,dup,invokesp

    newするとJVM内で何が起こるのかという話(前編) - Kengo's blog
    teppeis
    teppeis 2011/02/10
  • 1