ブックマーク / qiita.com/tamura__246 (6)

  • 標準出力もプログラムの動作を致命的に変えるという話 - Qiita

    正常に動作しないスクリプトやプログラムに標準出力処理(echoやSystem.out.print()など)を追加して、デバッグした経験は誰にでもあるのではないでしょうか。標準出力処理の追加は、簡単なプログラムの動作検証から制限などによりデバッガーを使用できない環境での調査まで、いろいろな場面で活用されていると思います。 しかし、1行の標準出力処理の追加でもプログラムの動作を致命的に変える可能性はあります。 過去に、echoが原因でバッチが停止した問題の対策のために、JavaのプログラムにSystem.out.println(・・・);の1行を追加した結果、アプリケーションが応答を返せなくなったことがありました。その時の記憶を、サンプルプログラムを交えながら説明したいと思います。 年次バッチが停止した! 10年ほど前のある日、あるシステムの保守を担当していた私のもとに「年次バッチが停止してし

    標準出力もプログラムの動作を致命的に変えるという話 - Qiita
  • ログレベルが突然変わる謎の事象を追う ~ あるOSSサポートエンジニアの1日 - Qiita

    Logger.getLogger("test").setLevel(Level.OFF); これは、testという名前のロガーのログ出力を抑止することを目的としたコードです。 ここで使っているLoggerはJava標準のjava.util.logging.Loggerで、getLogger()は引数で与えられた名前のロガーインスタンスが既に生成されていればそれを返し、無ければ新たに生成するメソッドです。setLevel()は、そのロガーのログレベルを設定します。引数はLevel.OFFなので、ログ出力を無効にします。 この記事は、上記コードが引き起こした問題についての実話です。 このコードが起こした問題 ある日、私のもとに至急の調査依頼が来ました。その内容は、「Tomcatの再起動をきっかけに、Webアプリケーションがボディの無い正常応答を返すようになった」というものでした。 その後の再起

    ログレベルが突然変わる謎の事象を追う ~ あるOSSサポートエンジニアの1日 - Qiita
  • バグだらけのWebアプリケーションをDjango 2(Python 3)で実装してみました - Qiita

    概要 以前紹介したバグだらけのWebアプリケーション「EasyBuggy」のDjango 2.0ベースのクローンをつくってみました(「EasyBuggy Django」)。 以下のコマンドでダウンロードから起動までできます。 $ git clone https://github.com/k-tamura/easybuggy4django.git $ cd easybuggy4django/ $ pip install -r requirements.txt $ python manage.py runserver

    バグだらけのWebアプリケーションをDjango 2(Python 3)で実装してみました - Qiita
  • 欲しいものが無いからつくってみました。誰でも使えるオープンソースなネットワークアイコン集 - Qiita

    概要 システム構成図などを作成しようとすると、ユーザーやサーバーの図形を使うことになりますが、ライセンスを気にせずに、タダで使えて、見た目がそれなりによくて、統一感があるものは、なかなか見つからないですよね。無いならつくるしかない、ということでつくってみました。 この図をつくっているパーツを含むPowerPointGitHubに公開したので、ある意味オープンソースです。グループ化を解除すれば、各パーツに分解できます。 昨日から作り始めたので、まだ納得のいくものになっていませんが、これからクオリティを上げていきます。 ちなみにWindows 10のPowerPoint2013でつくっているので、LibreOfficeなどでは正常に表示されません。最初からMacかUbuntuで作図した方がもう少しマシなデザインになったと思いますが、職場はWindowsという人が多いと思うので、PowerPo

    欲しいものが無いからつくってみました。誰でも使えるオープンソースなネットワークアイコン集 - Qiita
  • メモリリーク、デッドロック、リダイレクトループ、JVMクラッシュ...バグだらけのWebアプリケーションを使ってバグを理解する - Qiita

    メモリリーク、デッドロック、リダイレクトループ、JVMクラッシュ...バグだらけのWebアプリケーションを使ってバグを理解するJavaバグ脆弱性トラブルシューティングjconsole 概要 Webアプリケーションの開発や保守をしていると、いろいろなバグに遭遇します。メモリリーク、デッドロック、リダイレクトループ、JVMクラッシュ等々、バグは様々です。こういったバグは、実際にコードを書いて、実行・再現させてツールで解析してみると理解が深まります。 ということで、いろいろなバグを実装したWebアプリケーションをつくってみました。現時点では、以下を簡単に再現できます。 メモリリーク (Javaヒープ領域) メモリリーク (Permanent領域) メモリリーク (Cヒープ領域) デッドロック (Java) デッドロック (SQL) 完了しないプロセスの待機 無限ループ リダイレクトループ JVM

    メモリリーク、デッドロック、リダイレクトループ、JVMクラッシュ...バグだらけのWebアプリケーションを使ってバグを理解する - Qiita
  • 味気ない記事にちょっとだけ味付けをする画像集 - Qiita

    「記事を書いてみたものの文字ばかりで味気無い」、という時にちょっとだけ変化を付けられる(...かもしれない)ビジネスマンの画像をつくってみました。 GitHubに上げたので、よかったら使ってみて下さい(記事以外でも使えるかもしれません)。 吹き出しに一言付け加えて記事の合間に配置すると、アクセントになると思います。実際にこれを使って書いた記事がこちらです。このようなストーリー性のある記事には使えるのではないかと思います。 絵の下に何をしているところかを表す作者(私)の意図を書きましたが、これに必ずしも従う必要はありません(見え方が曖昧なものも多いので)。 効果的に使用するには、以下のようなことに気をつけてください。 使い過ぎない 吹き出しを付ける場合は、言葉は短くする 拡大・縮小しすぎない ちなみに全てPower Pointで一からつくっています(これをつくりたいので、Power Poin

    味気ない記事にちょっとだけ味付けをする画像集 - Qiita
  • 1