タグ

2016年12月8日のブックマーク (6件)

  • JavaのThreadLocalとスレッドセーフについて - Qiita

    はじめに Struts でシステムを開発していたときに、Actionで格納した値がJSPに反映されない問題が発生しました。この問題を調査した結果、Action#exceuteメソッドの引数をActionのインスタンス変数に格納して使用していたことが原因でした。このときに問題となったソースコードと解決方法を解説します。サンプルコードはこちらです。 マルチスレッドとスレッドセーフ スレッドセーフとはアプリケーションをマルチスレッドで動作(複数のスレッドが同時並行的に実行)しても問題がないことを指します。スレッドセーフでない場合は、あるスレッドで変更した共有データが、他のスレッドによって上書きされてしまう可能性があります。Webサーバーやデータベースなどのサーバー用ソフトウェアは、マルチスレッド(マルチプロセス)で動作しているので、サーバー向けアプリケーションを開発するときは、マルチスレッドで動

    JavaのThreadLocalとスレッドセーフについて - Qiita
    akatakun
    akatakun 2016/12/08
    スタック領域はスレッドごとに用意され、ヒープ領域はスレッドごとに用意されない,ローカル変数はスタック領域に確保されるためスレッドセーフである
  • CoreDataで書き込みスレッドを分離した時に、NSFetchedResultsControllerがおかしな値を返す場合の対処方法 - Qiita

    CoreDataで書き込みスレッドを分離した時に、NSFetchedResultsControllerがおかしな値を返す場合の対処方法MacOSXiOSCoreDataNSFetchedResultsController CoreDataをマルチスレッドで使う方法 CoreDataをマルチスレッドで使い、UIスレッドをブロックせずにバックグラウンドで saveを行う方法はいくつかあります。その方法については Multi-Context CoreData というブログに詳しく紹介されています。 このうち、ブログの最後で紹介されている三段構成に興味があったのでテストコードを書いてみたのですが、謎の挙動にしばらく悩まされてしまいました。 Manaded Object Context の三段構成 詳しくはブログを見ていただくとして、三段構成をとった場合は、Managed Object Contex

    CoreDataで書き込みスレッドを分離した時に、NSFetchedResultsControllerがおかしな値を返す場合の対処方法 - Qiita
    akatakun
    akatakun 2016/12/08
    FRCのキャシュ: オンメモリでキャッシュするだけでなく、 キャッシュ結果をファイルシステムに永続化する,アプリをsafeモードで起動するURLスキームなどを定義しておく など対策をしておく
  • CloudFlare Flexible SSLのデメリット

    CloudFlare Flexible SSLで常時SSL化から丸1ヶ月以上経ちました。 無料でSSL化出来るなんて素敵!と思って浮かれていましたら、思わぬ落とし穴がありました。 訳あってSiteGuard WP Pluginをアンインストール、再インストールした時のことです。画像認証と更新通知が有効に出来ないことに気が付きました。そしてWordPressの擬似cron機能であるwp-cron.phpが実行出来ず、予約投稿に失敗することに気が付きました。12月2日以降、WP-DBManagerでMySQL DBの自動バックアップが止まっていたことに1ヶ月以上気が付きませんでした(汗) こうなったのもCloudFlare Flexible SSLで常時SSL化してからです。原因はそれしか思い当たりません。 実際にWordPress内部からwp_remote_post関数を使ってwp-cron

    CloudFlare Flexible SSLのデメリット
    akatakun
    akatakun 2016/12/08
    curlのバージョンあげたらいけた
  • Ubuntuでiptablesの設定をiptables-persistentで永続化する

    Ubuntuではiptablesを永続保持(再起動しても動くように)するにはちょっと工夫が必要。 色々な方法があるみたいだが、サクッとできる方法として iptables-persistentを使う方法がある。 記事ではそれの簡単な紹介。 進め方 全体の流れとしては、 iptablesにルール追加 iptables-persistentのインストール となる。 1. iptablesにルール追加 まず先にiptablesに必要なルールを入れておく。 簡単な例だと、特定のIPからだけSSHを許可したければ

    Ubuntuでiptablesの設定をiptables-persistentで永続化する
  • apt-get が 404 Not Found エラーで失敗する - eTuts+ Server Tutorial

    apt-get update コマンドでリポジトリを更新しようとしたら 404 エラーで失敗。 今までは、ずっと問題なく使えてたのに。。 Ubuntu とか Debian 環境などで apt-get を使ってる人なら一度は経験したであろう apt-get 404 問題 です。 今まで問題なく使えてた apt-get コマンドがある日突然、 404 エラーで使えなくなったら、今現在使っている Ubuntu の OS バージョンがもう古くなったという証拠 です。

    apt-get が 404 Not Found エラーで失敗する - eTuts+ Server Tutorial
  • [Ubuntu] apt-get updateでエラー(404 Not Found)が出たときの対処法 · DQNEO日記

    原因 Ubuntuでは、サポート期限が終了したバージョンは、レポジトリのURLがold-releases.ubuntu.comという別の場所になるそうです。 参考:https://forums.ubuntulinux.jp/viewtopic.php?id=5356 この場合は、/etc/apt/sources.listを編集して、URLのドメイン部分を全て"old-releases.ubuntu.com"に書き換えましょう。 私の環境では下記のようになっていましたので、 deb http://archive.ubuntu.com/ubuntu jaunty main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu jaunty-updates main restricted universe mult

    [Ubuntu] apt-get updateでエラー(404 Not Found)が出たときの対処法 · DQNEO日記