「swap」を含む日記 RSS

はてなキーワード: swapとは

2025-10-20

2025年後半 最新】日本語CSS font-family設定ガイド

/* 400 (Regular) */
@font-face {
  font-family: "SiteSans"; /* ページで使う一意の名前 */
  font-style: normal;
  font-weight: 400;
  font-display: swap;

  src:
    /* まず Noto のローカル名を列挙(見つかればそれを優先)*/
    local("Noto Sans JP"),
    local("NotoSansJP"),
    local("Noto Sans"),
    local("NotoSans"),

    /* 次に Appleヒラギノローカル名を列挙(Mac/iPhone にあることが多い)*/
    local("Hiragino Kaku Gothic ProN"),
    local("Hiragino Kaku Gothic Pro"),
    local("ヒラギノ角ゴ ProN"),
    local("ヒラギノ角ゴ Pro"),

    /* 最後サーバー上の woff2(フォールバック) */
    url("/fonts/NotoSansJP-Regular.woff2") format("woff2");
}

/* 700 (Bold) */
@font-face {
  font-family: "SiteSans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;

  src:
    /* Noto Bold のローカル名 */
    local("Noto Sans JP Bold"),
    local("NotoSansJP-Bold"),
    local("Noto Sans Bold"),
    local("NotoSans-Bold"),

    /* ヒラギノ Bold のローカル名(Mac存在する場合)*/
    local("Hiragino Kaku Gothic ProN W6"),
    local("Hiragino Kaku Gothic Pro W6"),
    local("ヒラギノ角ゴ ProN W6"),
    local("ヒラギノ角ゴ Pro W6"),

    /* サーバーフォールバック(woff2) */
    url("/fonts/NotoSansJP-Bold.woff2") format("woff2");
}

使用html, body {
  font-family: "SiteSans", system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "メイリオ", "Yu Gothic", "YuGothic", "YuGothicUI", "Noto Sans JP", sans-serif;
  font-weight: 400;
}

ふといなら
strong{
font-weight: 700;
}

Windowsアップデート後 / Android

→ Noto ローカルで軽くて綺麗

Mac / iPhone

ヒラギノ ローカルで軽くて綺麗

▼ 古いWindows / ほか

Webフォントで補完。もはや必要あるのか?游ゴだかメイリオでいいのかも

KVはともかく、本文とか見出し、これ良くないですか?

2025-08-08

Today you want to Know Love you pussy

The Power of Small Steps: How Tiny Changes Can Lead to Massive Growth

In a world that glorifies overnight success and dramatic transformations, it's easy to feel like you’re falling behind if you’re not making big leaps. But what if the secret to real, lasting personal growth wasn’t in doing more, faster—but in doing less, consistently?

Welcome to the power of small steps.

Why Small Steps Matter

Big goals often feel overwhelming. You want to get fit, write a book, start a business, or learn a new skill—but you don’t know where to start. So you procrastinate. Or worse, you dive in too fast, burn out, and give up.

Small steps bypass all of that.

When you break down a huge goal into manageable actions, everything changes. Writing 500 words a day is less intimidating than finishing a whole novel. Ten minutes of walking is more doable than committing to a 5K. And spending 15 minutes a day learning a language adds up to over 90 hours a year.

Consistency beats intensity every time.

The Compound Effect

Imagine improving just 1% every day. That might sound insignificant—but over a year, it compounds into something extraordinary. This idea is the foundation of Darren Hardy’s The Compound Effect and James Clear’s Atomic Habits. Both books emphasize that small, smart choices, repeated over time, lead to radical results.

Think of your habits like planting seeds. At first, nothing seems to happen. But give it time, and youll see growth you never thought possible.

Real-Life Example: The 10-Minute Rule

Let’s say you want to start meditating but can’t sit still for 30 minutes. Instead of forcing it, try meditating for just 10 minutes a day. Or even 5. Build the habit before scaling the effort. Once it becomes part of your routine, extending the time feels natural.

This applies to nearly everything:

Want to read more? Read one page a day.

Want to save money? Start with $1 a day.

Want to eat healthier? Swap one snack a day for a better option.

Start tiny. Stay consistent.

How to Start Taking Small Steps

Pick one goal

Don’t try to overhaul your entire life at once. Choose one area to focus on—health, creativity, relationships, mindset, etc.

Break it down

What’s the smallest possible action you could take toward that goal? Make it so easy you can’t say no.

Set a trigger

Link your new habit to an existing one. For example: “After I brush my teeth, I’ll journal for 5 minutes.

Track it

Use a habit tracker, app, or notebook to keep yourself accountable. Seeing your streak grow is highly motivating.

Celebrate small wins

Every time you follow through, give yourself credit. Progress is progress, no matter how small.

Final Thoughts

Don’t wait for motivation. Don’t wait for the perfect time. Just start—with whatever you have, wherever you are, and however small.

Because small steps, taken consistently, turn into big change.

The key isn’t to sprint—it’s to show up every day.

2025-06-17

早寝する技術 ―持続可能パフォーマンスを実現するスリープマネ

TL;DR

日中生産性は、夜の過ごし方、特に「就寝」というクリティカルタスクいか成功させるかにかかっている。本記事では、つい夜更かししてしまエンジニアのために、早寝を「技術」として体系化し、再現性のある形で実践するための具体的な手法を探求する。これは精神論ではない。あなたQoL生産性を向上させるための、実践的なスリープエンジニアリングだ。

はじめに:なぜ我々はwhile(true)な夜を過ごすのか

我々エンジニアにとって、夜は不思議な魅力を持つ時間だ。日中喧騒から解放され、思考は冴えわたりゾーンに入りやすい。しかし、その魅力的な時間は、往々にして「早寝」という、人間生存に不可欠な基本プロセス犠牲にすることで成り立っている。

「あとちょっとだけ、このバグの原因を調査したい」

リファクタリングが楽しくなってきた」

面白い技術記事を見つけてしまった」

これらの探求心はエンジニア美徳であるが、同時に我々を「睡眠負債」という深刻な技術負債へと導く。本稿は、この負債を返済し、持続可能な開発(と生活)を実現するための「早寝」という技術に焦点を当てる。

アンチパターン:早寝を妨げるBlockerたち

早寝を実装する前に、まずは現状のアーキテクチャに潜むアンチパターン特定しよう。

就寝前のスマートフォンは、まさに同期的なブロッキングI/Oだ。SNS無限スクロール動画プラットフォーム自動再生チャットアプリの通知。これらは我々の意識というシングルスレッドを完全に占有し、本来実行されるべきsleep()プロセスへの遷移を妨げる。

深夜まで続くコーディング問題解決は、脳を極度の興奮状態にする。ベッドに入っても、アドレナリンコルチゾールといったホルモンCacheに残り続け、CPUクールダウンしない。shutdown -h nowを叩いても、プロセスが終了しないのだ。

「夜更かしの供」として注入されるカフェインアルコールは、一見するとパフォーマンスを向上させるように見える。しかし、これらは睡眠の質という重要なmetricsを著しく劣化させる、誤った依存関係だ。特にアルコールは、入眠を助けるように見えて、実はレム睡眠を阻害し、睡眠アーキテクチャ全体を不安定にする。

  • Cronの不備:

規則な就寝・起床時間は、体内時計という最も重要なCronジョブ破壊する。毎日異なる時間に実行されるジョブが安定した結果をもたらさないのと同様に、不規則睡眠スケジュールは、日中パフォーマンス予測不可能ものにする。

Sleep as Code: 早寝を実現するためのプラクティス

では、どうすればこれらのアンチパターン排除し、安定した早寝pipelineを構築できるのか。ここではSleep as Codeの概念に基づき、具体的なプラクティスを紹介する。

1. 環境IaC (Infrastructure as Code)

睡眠環境コード化し、常に理想的状態を維持する。

2. 就寝CI/CDパイプラインの構築

毎晩、同じ手順で就寝プロセスを実行することで、入眠を自動化する。

- PC/スマホシャットダウン: 最も重要ステップ物理的に電源を落とすか、手の届かない場所(別のコンテナ)にdeployする。

- 入浴: 38〜40℃のぬるめのお湯に15分ほど浸かる。これにより深部体温が一時的に上昇し、その後の下降とともに入眠が促される。これはHot-swapならぬHot-bathによるクールダウンだ。

静的コンテンツの消費: 激しい思考を伴わない、静的な情報(紙の読書など)に切り替える。電子書籍ではなく、紙媒体が望ましい。

ストレッチ: 軽いストレッチで、日中のcommitで固まった体をreleaseする。

  • Deploy (就寝):

すべての準備が整ったら、ベッドという本番環境デプロイする。余計な思考git clean -fd強制削除し、呼吸に集中する。

3. MonitoringとRefactoring

例:「夕食後のコーヒーが原因だった」→「カフェイン摂取は15時までというSLAを設ける」

まとめ:早寝は未来自分への投資である

早寝は、単に体を休める行為ではない。日中の高いパフォーマンス、明晰な思考、そして創造性を維持するための、最も効果的で再現性の高い「技術」だ。

我々はインフラコード管理し、CI/CDデプロイ自動化するように、自身睡眠もまた、技術と工夫によってコントロールできる。今夜、あなたのwhile(true)なループbreakし、持続可能パフォーマンスを手に入れるための第一歩を踏み出してほしい。

Happy sleeping!

早寝する技術 ―持続可能パフォーマンスを実現するスリープマネ

TL;DR

日中生産性は、夜の過ごし方、特に「就寝」というクリティカルタスクいか成功させるかにかかっている。本記事では、つい夜更かししてしまエンジニアのために、早寝を「技術」として体系化し、再現性のある形で実践するための具体的な手法を探求する。これは精神論ではない。あなたQoL生産性を向上させるための、実践的なスリープエンジニアリングだ。

はじめに:なぜ我々はwhile(true)な夜を過ごすのか

我々エンジニアにとって、夜は不思議な魅力を持つ時間だ。日中喧騒から解放され、思考は冴えわたりゾーンに入りやすい。しかし、その魅力的な時間は、往々にして「早寝」という、人間生存に不可欠な基本プロセス犠牲にすることで成り立っている。

「あとちょっとだけ、このバグの原因を調査したい」

リファクタリングが楽しくなってきた」

面白い技術記事を見つけてしまった」

これらの探求心はエンジニア美徳であるが、同時に我々を「睡眠負債」という深刻な技術負債へと導く。本稿は、この負債を返済し、持続可能な開発(と生活)を実現するための「早寝」という技術に焦点を当てる。

アンチパターン:早寝を妨げるBlockerたち

早寝を実装する前に、まずは現状のアーキテクチャに潜むアンチパターン特定しよう。

就寝前のスマートフォンは、まさに同期的なブロッキングI/Oだ。SNS無限スクロール動画プラットフォーム自動再生チャットアプリの通知。これらは我々の意識というシングルスレッドを完全に占有し、本来実行されるべきsleep()プロセスへの遷移を妨げる。

Cacheされた覚醒状態:

深夜まで続くコーディング問題解決は、脳を極度の興奮状態にする。ベッドに入っても、アドレナリンコルチゾールといったホルモンCacheに残り続け、CPUクールダウンしない。shutdown -h nowを叩いても、プロセスが終了しないのだ。

「夜更かしの供」として注入されるカフェインアルコールは、一見するとパフォーマンスを向上させるように見える。しかし、これらは睡眠の質という重要なmetricsを著しく劣化させる、誤った依存関係だ。特にアルコールは、入眠を助けるように見えて、実はレム睡眠を阻害し、睡眠アーキテクチャ全体を不安定にする。

  • Cronの不備:

規則な就寝・起床時間は、体内時計という最も重要なCronジョブ破壊する。毎日異なる時間に実行されるジョブが安定した結果をもたらさないのと同様に、不規則睡眠スケジュールは、日中パフォーマンス予測不可能ものにする。

Sleep as Code: 早寝を実現するためのプラクティス

では、どうすればこれらのアンチパターン排除し、安定した早寝pipelineを構築できるのか。ここではSleep as Codeの概念に基づき、具体的なプラクティスを紹介する。

1. 環境IaC (Infrastructure as Code)

睡眠環境コード化し、常に理想的状態を維持する。

2. 就寝CI/CDパイプラインの構築

毎晩、同じ手順で就寝プロセスを実行することで、入眠を自動化する。

- PC/スマホシャットダウン: 最も重要ステップ物理的に電源を落とすか、手の届かない場所(別のコンテナ)にdeployする。

- 入浴: 38〜40℃のぬるめのお湯に15分ほど浸かる。これにより深部体温が一時的に上昇し、その後の下降とともに入眠が促される。これはHot-swapならぬHot-bathによるクールダウンだ。

静的コンテンツの消費: 激しい思考を伴わない、静的な情報(紙の読書など)に切り替える。電子書籍ではなく、紙媒体が望ましい。

ストレッチ: 軽いストレッチで、日中のcommitで固まった体をreleaseする。

  • Deploy (就寝):

すべての準備が整ったら、ベッドという本番環境デプロイする。余計な思考git clean -fd強制削除し、呼吸に集中する。

3. MonitoringとRefactoring

例:「夕食後のコーヒーが原因だった」→「カフェイン摂取は15時までというSLAを設ける」

まとめ:早寝は未来自分への投資である

早寝は、単に体を休める行為ではない。日中の高いパフォーマンス、明晰な思考、そして創造性を維持するための、最も効果的で再現性の高い「技術」だ。

我々はインフラコード管理し、CI/CDデプロイ自動化するように、自身睡眠もまた、技術と工夫によってコントロールできる。今夜、あなたのwhile(true)なループbreakし、持続可能パフォーマンスを手に入れるための第一歩を踏み出してほしい。

Happy sleeping!

2025-06-02

anond:20250602115802

あー、なるほどね。「JOINが難しくて避けてるだけなんじゃね?」ってわけか。

甘い。構造わかってない奴ほどそういう浅い自己放尿をしたがる。

まず前提を修正しろJOINの動きなんてとっくに分かってる。

SQLの実行プラン追って、Nested LoopかHash Joinか、インデックス使うのかフルスキャンになるのか、そのあたりの判断も含めて運用設計に組み込んでる。

こっちはわかった上で避けてんだよ。JOIN理解してないから避けてるんじゃない、JOINの実コスト限界を知ってるから回避してるの。

JOINってのは便利だけど代償がでかい。たとえば、数千万件のトラフィックログに対して、ユーザー属性JOINするとしよう。

属性テーブルが1万件程度でも、JOIN時のI/OCPU負荷は無視できない。結合条件次第ではインデックスも効かなくなる。クエリキャッシュも効かない、結合後にさらGROUP BYやWHERE使えばオプティマイザの想定外地雷も踏む。

こっちはそれを全部経験済み。痛みを知ってるから最適化してる。JOINの怖さを知らない素人が、理解できない設計を「逃げ」と断じるのは自己放尿だな。

それに「JOINがわかりづらい」なんて次元じゃない。JOINなんて構文としては簡単だろ?

問題はそれを巨大なスケール運用したときトラブルを想定してるかどうかだ。

JOINボトルネックになる実例、知らないんだろ?

JOINが原因で1時間かかるクエリになって死ぬとか、JOINが原因でMySQLのtemporary table溢れてswapに突っ込んでサーバ落ちるとか、JOINが原因でインデックス設計ミスってテーブルスキャン発生して数億件走査するとか、そういうのを踏んでから語れ。

わかりやすくしとこうか?

JOINを盲信してるのは、「地雷原を地図だけ見て走り抜けようとしてる奴」と同じ。

JOINを避けてるのは、「地雷があるの知ってるから事前に地ならししてる奴」だよ。

「難しいから避けてる」んじゃない。

危険なの知ってるから、先回りして別ルートを構築してるだけだ。

何も知らないで「逃げてる」ってレッテル貼って自己放尿するの、やめとけ。

お前のJOIN観、浅すぎて逆に危ない。

2023-10-28

自炊世界2

自炊の世界

を書いてはや1年。生成AI進歩によって凄いことになった。早々に使うのをやめてしまったStable diffusionでもface swap簡単にできるようになった。その上、この1年でNVIDIAドライバ更新やTensorRTによりStable diffusionを劇的に高速化した。さらに、先日リリースされたReActor extensionがやばい。その結果、とんでもなく自炊捗ることとなった。

次の処理をスクリプト化した。

去年の手法よりも生成にやや時間がかかるものの、クオリティが比べるまでもなく高いので許容できる。当然ながら実用性の高い動画はできなかったし、生成した動画はすべて抹消したが、本当に捗っている。

来年はどうなっているんだろうか。

2022-11-30

anond:20221130111818

じゃぁ実際にソートが遅いとかあった場合にこっちに何ができるんだ?OSSから自分たちで直して独自ビルドにして使うのか?プルリクするのか?しないだろ?「っていう問題があるのでアップデートきたら対応します」だろ?

そういう生活をしている人にコンピュータサイエンスを勧めたところで「なんで?」としか思わないっていう話だよ。

DBならインデックスを貼る、メモリ上ならデータ量が減らせないか検討する

データメモリから溢れてswap領域を使っている状態で、かつ減らせないとなった場合は、ディスクIOを速くすることが解決策になることもある

2022-09-20

怠け者のためのLinux Mintの設定手順

やっぱWindowsよりLinux Mintが使いやすい。

インスト時は/を20Gぐらいにして残りは全部/homeswap無し。/home暗号化

もろもろの設定はgithubに保存したバックアップ復元

nvidia系はとりあえず以下叩いとけば設定できる。

sudo apt-get purge nvidia*

sudo apt remove nvidia-*

sudo apt autoremove

sudo ubuntu-drivers autoinstall

2022-04-30

NEXOせんきゅー

binance上場したらしくて一瞬価格50%上昇とかしてた

buy backはあんまりうまく行ってないと言うか継続はしてるんだろうけどトークン価格上昇に寄与しているの感じられてなかったけど、

binance上場結構いいねー。NEXOで利子もらってるので、価格上がるともらえるトークンの枚数が減っちゃうのがジレンマ

とにかく、まあ思ってたよりはNEXOも運営が安定してるって感じなのだろうか。運営の人がNFT買ったりとか良うわからんムーブしてるんは気になるんだけど、

現物保障必須の貸付業務が回ってるうちは破綻しないだろう。というか構造的には間違いなく破綻しないはずなのだ運営資金流用とかアホなことしてない限り大丈夫だとは思うんだけど、

そこよねー。気になるのは。本当に真面目に貸金業務とかNEXOのswapとかの基本業務だけやってて欲しい感じ。

ビットコインガッツリ値下がってるのに、資産比率10%くらいのNEXOが上昇したおかげで、資産評価額あんまり下がらなかったのが、ヘッジが効いてて気持ちいい

2021-07-24

栃木県舞台にした音ゲー妄想してる。市町ごとにボスキャラがいます日光市徳川家康真岡イチゴ農家下野市かんぴょうモチーフな感じで。

その上で妄想を話します。県swap二次創作を見たい。群馬県mod茨城県mod埼玉県mod etcが見たい。このボスキャラがもしも群馬県民だったら?みたいな感じで。群馬県市町村キャラ作るわけではなく(それはそれで見たい)、栃木県モチーフキャラがもしも、群馬県民として生まれてたらという感じです。

たぶん、これは自分で作るべきなんだと思う。

2021-03-06

anond:20210306212220

バブルソートを知らないっていうのもどうかと思うけど

for(int i=0;i!=8;i++)for(int j=0;j!=8;j++)if(less(data[i],data[j])) swap(data[i],data[j]);

2020-11-03

anond:20201102113231

こうですか?わかりません ><

function pair(psns) {
  var i = -1;
  var cnt = 0;
  var flg = psns[0] && psns[0].sex;
  // modified on 2018-12-31 by XXXX
  // var flg psns[0].sex;
  var j = -1;
  var tmp = null;
  // modified on 2020-12-31 by XXXX.
  // var k = -1;
  for(i = 0; i < psns.length; i++) {
    //console.log('■■■■■■■■■■■■■■■■■■■■ BEGIN ■■■■■■■■■■■■■■■■■■■■')
    //console.log(psns, 'i=' + i, 'cnt=' + cnt, 'flg=' + flg);
    if(psns[i].sex == flg) {
      //console.log('cnt: ' + cnt + '->' + (cnt+1));
      cnt++;
    } else {
      j = i - cnt + 1;
      // j = i - cnt;
      // j = i - cnt - 1;
      //console.log('swap ' + i + '<-->' + j);
      tmp = psns[j];
      psns[j] = psns[i];
      psns[i] = tmp;
      i = j - 1; // <- 理由は分からないが、i = jだと上手くいかない(by XXXX)。
      cnt = 0;
      // flg = !flg; // これはなぜか上手くいかない (by XXXX)
      flg = flg == MALE ? FEMALE : MALE;
      while(j > 1) {
        if(psns[j].height < psns[j-2].height) {
          //console.log('swap ' + j + '<-->' + (j-2));
          tmp = psns[j-2];
          psns[j-2] = psns[j];
          psns[j] = tmp;
        }
        j -= 2;
      }
      // modified on 2018-12-31 by XXXX.
      // 
      //for(k = 0; k + 2 < j;) {
      //  if(psns[k].height > psns[k+2].height) {
      //    tmp = psns[k+2];
      //    psns[k+2] = psns[k];
      //    psns[k] = tmp;
      //  }
      //  k += 2;
      //}
    }
    //console.log(psns, 'i=' + i, 'cnt=' + cnt, 'flg=' + flg);
    //console.log('■■■■■■■■■■■■■■■■■■■■ END ■■■■■■■■■■■■■■■■■■■■')
    //console.log('')
  }
  for(i = 0; i < psns.length; i++) {
    //console.log('■■■■■■■■■■■■■■■■■■■■ BEGIN ■■■■■■■■■■■■■■■■■■■■')
    //j = i / 2;
    j = Math.floor(i / 2);
    //console.log(psns, 'i=' + i, 'j=' + j);
    tmp = psns[i];
    if(!(i % 2)) {
      psns[j] = [null, null];
    }
    if(tmp.sex == MALE) {
      psns[j][0] = tmp;
      psns[j][1] = psns[i+1];
    } else {
      psns[j][0] = psns[i+1];
      psns[j][1] = tmp;
    }
    // modified on 2018-12-31 by XXXX.
    // 
    //psns[j][0] = tmp;
    //psns[j][1] = psns[i+1];
    i++;
    //console.log(psns, 'i=' + i, 'j=' + j);
    //console.log('■■■■■■■■■■■■■■■■■■■■ END ■■■■■■■■■■■■■■■■■■■■')
  }
  psns.splice(psns.length / 2, psns.length);
  // modified on 2020-12-31 by XXXX.
  // return psns.slice(0, psns.length / 2 + 1);
  // return psns.slice(0, psns.length / 2);
}

2020-10-30

お願いだからセンスの無い人はプログラマにならないで下さい

プログラミングセンスです。センスの無い人がプログラマになると、他のすべての人に迷惑がかかります。だからセンスの無い人は絶対プログラマにならないで下さい。

プログラミングセンスが無い人や、プログラミングをやったことの無い人は、知識を得たり経験を積んだりすれば、誰でも「良いプログラマ」になれると思っているようですが、無理です。

というのも、センスの無いプログラマ問題は、知識経験の不足ではないからです。センスの無いプログラマの救いようの無い問題は「頭がおかしいこと」なのです。

題材は何でもいいのですが、具体的なコードを見た方がイメージがつきやすいと思いますので、とりあえず以下の問題を考えます

問題

住民リストが与えられるので、背の低い順に男女ペアにしたリストを作って下さい。ただし、男女の数は同数であるします。

コード

ふつうの人は、難しく考えずに以下のようなコードを書きます

const makePair = (persons) => {
  const males = persons.filter(person => person.sex === MALE)
  const females = persons.filter(person => person.sex === FEMALE)
  const compareHeight = (a, b) => a.height - b.height
  males.sort(compareHeight)
  females.sort(compareHeight)
  return males.map((male, idx) => [male, females[idx]]) // 男女の数は同数
}

この例はJavaScriptなので高階関数を使っていますが、仮にそういう機能が無かったとしても、

というコード構成は大きく変わらないでしょう。

一方、センスの無いゴミプログラマは、以下のような名状しがたきコードを書いてきます

function pair(psns) {
  var i = -1;
  var cnt = 0;
  var flg = psns[0] && psns[0].sex;
  var j = -1;
  var tmp = null;
  for(i = 0; i < psns.length; i++) {
    //console.log('■■■■■■■■■■■■■■■■■■■■ BEGIN ■■■■■■■■■■■■■■■■■■■■')
    //console.log(psns, 'i=' + i, 'cnt=' + cnt, 'flg=' + flg);
    if(psns[i].sex == flg) {
      //console.log('cnt: ' + cnt + '->' + (cnt+1));
      cnt++;
    } else {
      j = i - cnt + 1;
      //console.log('swap ' + i + '<-->' + j);
      tmp = psns[j];
      psns[j] = psns[i];
      psns[i] = tmp;
      i = j - 1; // <- 理由は分からないが、i = jだと上手くいかない(by XXXX)。
      cnt = 0;
      flg = flg == MALE ? FEMALE : MALE;
      while(j > 1) {
        if(psns[j].height < psns[j-2].height) {
          //console.log('swap ' + j + '<-->' + (j-2));
          tmp = psns[j-2];
          psns[j-2] = psns[j];
          psns[j] = tmp;
        }
        j -= 2;
      }
    }
    //console.log(psns, 'i=' + i, 'cnt=' + cnt, 'flg=' + flg);
    //console.log('■■■■■■■■■■■■■■■■■■■■ END ■■■■■■■■■■■■■■■■■■■■')
    //console.log('')
  }
  for(i = 0; i < psns.length; i++) {
    //console.log('■■■■■■■■■■■■■■■■■■■■ BEGIN ■■■■■■■■■■■■■■■■■■■■')
    j = Math.floor(i / 2);
    //console.log(psns, 'i=' + i, 'j=' + j);
    tmp = psns[i];
    if(!(i % 2)) {
      psns[j] = [null, null];
    }
    if(tmp.sex == MALE) {
      psns[j][0] = tmp;
      psns[j][1] = psns[i+1];
    } else {
      psns[j][0] = psns[i+1];
      psns[j][1] = tmp;
    }
    i++;
    //console.log(psns, 'i=' + i, 'j=' + j);
    //console.log('■■■■■■■■■■■■■■■■■■■■ END ■■■■■■■■■■■■■■■■■■■■')
  }
  psns.splice(psns.length / 2, psns.length);
}

こんなコードメンテナンスは御免被りたいです。一見して配列の要素を入れ替えていることが分かるだけで、実装を全て読まなければ(いや読んでも)処理の意図が全く分かりません。また、たとえば「i = j - 1」が間違って「i = j」などと書かれていてバグを起こしたとしても、原因を突き止めるのは困難を極めます

さて、このコードは具体的に何がいけないのでしょうか。長すぎることがいけないのしょうか。変数名が分かりにくいのがいけないのでしょうか。引数破壊的に変更しているのがいけないのでしょうか。不要コメントが残っているのがいけないのでしょうか。よく見ると、ソート処理で車輪の再発明をしていたり、「j」や「tmp」などが場所によって意味が違うカメレオン変数になっていたりしますが、それがいけないのでしょうか。どれも正しいですが、それらを逐一直したところで、本質的解決にはならないでしょう。

後者コードはもはや「ここを直したら良くなる」とかいレベルを超えています。たしかに、問題を具体的に挙げることはできます。このコードの致命的な問題が、凝集度の低さと、単一責任原則(SRP)違反にあるのは間違いありません。しかし、後者コードを書いてくる人に、

住民リストを男女に分ける処理や、リストソートをする処理、2つのリストをまとめる処理は、この問題とは独立して意味のある操作から、別の関数として抽出しましょう。その方がコードの見通しがよくなるし、一部の処理を修正したときの影響も小さくなるし、単体テストも書きやすくなります

なんて言ったって聞く耳を持たないでしょう。

そもそも、こういうコードを書く人は、この処理自体を「pair」なんて関数抽出すらしません。まだこの問題では入出力のフォーマットが明確に定義されているので、他人が1から書き直せますが、実際のプロダクトでは、無数の副作用を起こす数千行のコード迷路を彼の脳内フォーマットデータが通るわけです。もちろん、テストコードなんてありません。

まり、指摘をしても絶対に直らないのです。いくら言語の優れた機能ベストプラクティスを紹介しても、馬の耳に念仏。それらの利点を理解できるだけの脳みそが足りていないのです。

どうして、同じ処理を実装するのに、ここまでの違いが生じるのでしょうか。

これは、プログラミング技術問題ではありません。既に述べた通り、ふつうの人なら、特定機能の有無とか知識の程度にかかわらず、ふつうコードを書くのです。なぜなら、ふつうの人にはそちらの方が楽だからです。つまり、前者のコード別に何か卓越した技術を身につけた結果書けるようになるものではなく、まともな感覚さえ持っていれば、プログラミング初心者にとっても前者のコードの方が書きやすいのです。

まり後者のようなコードを書いてくる奴というのは、現実世界の捉え方が常人とは著しくずれているのです。要するに、「頭がおかしい」のです。この病気はもう直りません。だからセンスの無い人は絶対プログラマにはならないで下さい。

2020-08-05

[]

Intelさん 言い方の問題

64KBブロックを64KBほどビットシフトして その機構ベースに2つの64KBをLOAD STOREでSWAPして入れ替えてほしいの

Bitからはじまって512Bitまできた Intelさんにはよゆうだぉ?

64KBほどでいいの512にもいらない64でいい AVX64kぐらいでいいぉ?

加算とか減算とか欲張りません 入れ替えてくれるだけでいいの

2020-08-02

Inteiさんへのお願いしたいことなんて

いってしまえば 簡単なんですけど

それをなるべくながめに 1つのねたで ひっぱっていく

すっ Store

 すっ Load

  トン Swap

って

いけたらいいなーって 

2017-08-03

https://anond.hatelabo.jp/20170802151654

正しいが、その序列になるのは速度を変化させる場合で、RAMが足りなくなるとswapする普通デスクトップOSでは通常使用に困らないだけ積んでおく必要があると思う。メモリ高速化するかディスクアクセスを速くするかと聞かれたらディスクだが大きめのメモリを積むかディスクを積むかならメモリ

2016-01-22

このところさんざSWAP×SWAP 言ってるくせにSWAP ネタが無いなんてどうしたんだよ、増田

http://anond.hatelabo.jp/keyword/swap

2015-05-19

作業環境構築の手順(個人メモ)

この時間なら誰もいないはず。

OSを入手

https://getfedora.org/ja/workstation/download から

FedoraLive imageダウンロードする。

1.4GBと大きいので数十分はかかると思う。

USBメモリLive imageを焼く

ddLive imageUSBメモリに焼く。

1分ぐらいで終わると思う。

OSインストール

パソコン再起動BIOSを開き、USB bootして一番上の選択肢を選ぶ。

あとは待つだけ。7分ぐらいで終わる。

終わったら再起動

ネットの設定

初めて起動すると言語を尋ねられるので日本語

次にWi-Fiの設定を尋ねられるのでいつものWi-Fiに繋ぐ。

オンラインアカウントの追加はしない。

次にFirefoxを起動してSyncにかける(すぐ終わる)

ここまでで1分ぐらい。

ソフトウェアインストール

itamaeを使う。

レシピを自前のプライベートリポジトリからgit cloneし、

中に入ってるエントリポイントの./envを実行。

パスワード入力したら勝手flashとかVimとか入って、

gsettingsでの各種設定、vimrcの配置などをやってくれるので放置

最後ibus exitibus再起動

だいたい15分くらいで終わる。

すでに焼いたLive imageを持ってるならだいたい25分で終わる。

2013-09-02

ロックフリーアルゴリズムメリットって?

Compare and SwapLL/SC命令とかでロックフリーアルゴリズムが実現できることはわかった。

ABA問題の回避のため、LL/SCの方がいいこともわかった。

でも、アクセス競合したとき、負けた方はリトライするんでしょ?

ロックするのと、速度は変わらなく無いかい?

何のメリットが有るの?

2012-10-26

iphoneで見れて、毎日いっぱい更新されるのエロ動画サイトを作った。【サイト構築詳細メモ

はじめに

なんちゃってプログラマーやってます

「みんなの役に立つサイトを作って、一発大きく儲けたい!」と、

思い続けて、早10年(泣)。。

なかなか画期的アイデアって出てきません。。

とりあえず、エロサイトを作るのってすごく勉強なる?楽しい?らしいので、

誰にも利用されない「へぼツール」作るより必ず誰かの為になるなぁと考え、

エロサイト作りました。(保守不要で完全自動化)

iphoneで見れて、毎日10記事絶対更新

できるだけ、誰でもわかるように、詳細を書いていますので、

これを見るだけで、ノンプログラマーの方でも、

同様のサイトは簡単に立ち上げることができちゃうと思います

つくったサイト

http://iphone-xvideos.info/

サイト名:iphone-xvideos エロ動画H (仮)

デザインデフォルトのまま(そのうち修正しまーす)

作成期間:40時間ぐらい…

iphoneでも見やすくしています

※記事は毎日10更新予定です。つまり毎日このサイトだけ見に行けば困らないってことです。

きっかサイト

http://anond.hatelabo.jp/20101219185436

http://anond.hatelabo.jp/20101203150748

http://d.hatena.ne.jp/inouetakuya/20120331/1333192327

http://anond.hatelabo.jp/20120318122617

http://anond.hatelabo.jp/20120914214121

http://anond.hatelabo.jp/20110804021353

http://anond.hatelabo.jp/20120926165533

レンサバ

saasesのVPS OsukiniサーバーLT メモリ512MB 月450円! アダルトOK

CentOS 64bitを選択。(メモリを食うだけなので、特に用がなければ、32bitにしよう!)

↑一番安いプランしか契約できなかった…

※どこにも書いてないけど、2週間以内なら取り消しできます

契約時、webmin&mysqlの選択は必須にしておいたほうがいいです。私は間違えて、webmin無しにしてしまった。。

から、再インストール(初期化)すれば、再選択することができるようです。。

申し込み後、たったの30分で接続できるようになりました。

ドメイン

iphone-xvideos.info

バリュードメインで取得。280円!安い。

DNSVPSIPに変更。

不要サービスを止める

/sbin/chkconfig auditd off

/sbin/chkconfig autofs off

/sbin/chkconfig avahi-daemon off

/sbin/chkconfig bluetooth off

/sbin/chkconfig cups off

/sbin/chkconfig firstboot off

/sbin/chkconfig gpm off

/sbin/chkconfig haldaemon off

/sbin/chkconfig hidd off

/sbin/chkconfig isdn off

/sbin/chkconfig kudzu off

/sbin/chkconfig lvm2-monitor off

/sbin/chkconfig mcstrans off

/sbin/chkconfig mdmonitor off

/sbin/chkconfig messagebus off

/sbin/chkconfig netfs off

/sbin/chkconfig nfslock off

/sbin/chkconfig pcscd off

/sbin/chkconfig portmap off

/sbin/chkconfig rawdevices off

/sbin/chkconfig restorecond off

/sbin/chkconfig rpcgssd off

/sbin/chkconfig rpcidmapd off

/sbin/chkconfig smartd off

/sbin/chkconfig xfs off

※190MBが150MBぐらいになります

SSHサーバ設定

$ su root

FTP接続できるようにする。

http://support.saases.jp/index.php?action=artikel&cat=63&id=312&artlang=ja

バーチャルホストの設定

# vi /etc/httpd/conf/httpd.conf

NameVirtualHost *:80 ←これを探して、コメントアウトを削除。その下に以下を設定。

<VirtualHost *:80>

DocumentRoot "/home/ユーザーID/iphone-xvideos.info"

ServerName iphone-xvideos.info

<Directory "/home/ユーザーID/iphone-xvideos.info">

order deny,allow

allow from All

Options FollowSymLinks

AllowOverride All

</Directory>

</VirtualHost>

apache再起動

# /etc/rc.d/init.d/httpd restart

httpd: Could not reliably determine the server's fully qualified domain name, using...」

再起動時に上記のエラーがでた。

その時はこちらで解決⇒http://d.hatena.ne.jp/uriyuri/20100511/1273575287

で、このままだとIPアドレスでもアクセスできてしまうので、以下もやっておく。

http://fedorasrv.com/memo/log/29.shtml

mkdir /home/ユーザーID/iphone-xvideos.info

chown ユーザーID /home/ユーザーID/iphone-xvideos.info

/home/ユーザーID/以下はpermission errorとなりアクセスできないので、権限を変える。←いいのかな?

chmod 755 /home/ユーザーID/

CentOSAPCインストール

http://blog.verygoodtown.com/2010/02/centos-apc-install-how-to/

# pecl install apc

↑これを実行した際に、「error: expected specifier-qualifier-list before 'pcre'」なんちゃらっていうエラーがでたので、以下を実行。

yum install pcre-devel

再度実行して、無事インストールできた。

# pecl install apc

# vi /etc/php.ini

extension=apc.so ←これを一番最後に追記

APCの設定】

vi /etc/php.d/apc.ini

extension=apc.so

[APC]

apc.enabled = 1

apc.shm_size = 64 ←適当。。

apc.gc_ttl = 3600 ←適当。。

apc.ttl = 3600 ←適当。。

/etc/init.d/httpd restart

  • viの基礎講座】-----

/ ←検索

n ←次の検索文字へ

i ←編集モード開始

Esc ←編集モード終了

]] ←最後尾に移動

:q! ←保存せずに終了

shift押しながらzz ←保存

--------------------------

apache再起動

# /etc/rc.d/init.d/httpd restart

phpinfoの画面でapcの項目があるか確認

vi /home/ユーザーID/iphone-xvideos.info/index.php

phpinfo();

?>

apacheの負荷対策

http://tanaka.sakura.ad.jp/2011/05/centos-linux-apache-php-perl-mysql-lamp.html

↑これを参考に適当に変更してみた

MaxClients 256 ←これを40に

MaxRequestsPerChild 4000 ←これを1000

このサーバは、512MBしかいかもっと小さくしたほうがいいのかも。。

# ab -c 10 -n 100 http://iphone-xvideos.info/

【変更前】

Requests per second: 40.01 [#/sec] (mean)

【変更後】

Requests per second: 137.57 [#/sec] (mean) ←1発目

Requests per second: 552.79 [#/sec] (mean) ←2発目以降(キャッシュ後)

wordpressがらみ

http://ja.wordpress.org/

最新版をやってみるとエラーが発生。

サーバーPHP バージョンは 5.1.6 ですが WordPress 3.4.2 は 5.2.4 以上のみでご利用になれます。」

phpmysqlバージョンアップはやっかいそうなので、

3.1系を選択する。。

http://ja.wordpress.org/releases/

※↑結局、後日phpmysqlバージョンアップをやりました。

ソースをUP

DBを作る

http://自分サーバIP/phpMyAdmin/

ホームの「新規データベース作成する」と書いてある所の下にある、

DB名⇒wp、照合順序⇒utf8_unicode_ci

wp-config.php

を修正する。

プラグイン

WP-DBManager

WP Super Cache

WP to Twitter ←まだ設定してない

WPtouch ←/wp-content/plugins/wptouch/themes/core/core-header.php をちょこっと変更すればiphoneでxvideo再生ができる。

○人気記事一覧

http://the-fool.me/wordpress/plugins/wordpress-popular-posts.html

テーマデフォルトのまま。。

XML-RPC自動投稿

設定⇒投稿設定⇒Atom 投稿プロトコルXML-RPCにチェック

もう1個負荷確認

https://loadimpact.com/

キャッシュが効いていて問題ないことを確認。

クローラーを作る

wikipediaから取ってきた女優名をカテゴリテーブル(wp_terms)に突っ込む。(5,260人でした。)

↑これは月に2回更新。cronで動かすことにした。

googleブログ検索(24時間以内のもの)に女優名をつっこんで、

出てきたサイト情報を取得すればOK。

(とりあえず、引退した人の動画は少ないだろうと考え、現役2,762人分のxvideosを取得してみた。処理時間8時間、192件取得できた。)

双方とも、スクレイピングを使えば簡単に取得できます

http://www.kaasan.info/archives/1457

念のため、巡回するごとに、sleep10秒してます

動画URLを取得したら、削除されていないか調べて、OKだったら投稿

PHPからRPC投稿するやり方は、

http://www.multiburst.net/sometime-php/2009/04/newpost-with-wordpress-xmlrpc-api/

↑ここらへんを参考に

http://pear.php.net/package/PEAR/download

pear自体はここにあるので、「XMLフォルダのみをUP。

だいたい、30分で10記事取得できることがわかったので、

毎日深夜に10記事取得するようにする。

【cron設定】

$ crontab -e

00 04 * * * /bin/sh /home/ユーザーID/iphone-xvideos.info/insert_X.sh >/dev/null 2>&1

00 03 1,15 * * /bin/sh /home/ユーザーID/iphone-xvideos.info/insert_XXX.sh >/dev/null 2>&1

http://miya0.dyndns.org/pc/settei/crontab.html

----------------------------------------------------

1日何件の更新とするか?10件ぐらい?

↑旬な情報が取れないが、とりあえず。。

前日のterm_idを記録して、

次の日はそれ以降のデータを取得する。

次のterm_id存在しなかったら、1からやる。

----------------------------------------------------

今後の追加機能予定

jqueryお気に入り作成cookieを使う。(PCのみ?)

☆好きな女優を登録しておけば、記事の更新情報メールで通知。

デザイン修正。。

感想

すぐできるかと思いましたが、結構時間かかりました。

実際、なんとなく勉強になった気もするし、楽しく作業できました。

皆さんもぜひ。毎日が少し充実しますよ。

まったくアクセス無くても、自分用にとても良いものができたと思っているので満足です。

もし繋がりにくくなったりしたら、

別のレンサバに変更しますー。

サイトオープン後のあれこれは、

随時こちらに追記していきますね。

最後まで読んで頂いてありがとうございます

2012/11/8 追記

サイトオープンから10日ほど過ぎたので状況をお知らせします。

はてぶは全くだめだった。。

ページビュー1000/日

(日々増加しているが、検索エンジンからくるようになってもまだこんだけ。。)

メモリは問題なし。512MB中ピークでも300MBぐらいしか使ってない。

30分に一回メモリ監視を仕込んだ。

# vi /usr/local/bin/memrep.sh

date >>$1

free >>$1

echo >>$1

# chmod 744 /usr/local/bin/memrep.sh

本日テスト的にDMM広告を張ってみました。。←すぐ消した。。

また、後日お知らせしますね。

2012/12/3 追記

1か月経ったので。。

topスライダー付けてみました。

ページビュー2500/日

自動更新なのに、きっちりアクセスは日々増えて続けていますエロは強い。

アクセス少ないので、負荷は全く問題なし。

Swapも全く使ってない。

忍者AdMax貼ってみたけど、1日20円とかで、まったく駄目。。

レンサバ代にはなりそうだけど。。なんか良い広告いかな。。

2010-07-10

HT-03A froyo

dwang厨が無謀にもfroyoを入れてみる記録のページ。

名前リンクされると嫌なのでここに書いてみる。

結局CM6-RC1+yay-gapps で落着きそうな雰囲気。

まとめ (20100711 18:30 完了)

メモ
  • voldn + poweron → fastboot
  • home + poweron → recoverymode
初期状態

dwang-1.17.1

手順

eMonster用に使ってた sandisk 2GB (メモ)

確認されているROM

7/9 にリリースされているもの

  • defcon CM6 FroYo (Test9)
  • CM6-DS-Nightly (0709)
  • SPF Connection (2.7)

ext partition 要対応? とおもったら仏語じゃねーか

Wifi NG

  • Xtreme Froyo v1.9.5

@kenmood

Wifi OK

  • http://androidspin.com/2010/07/06/rom-kenmood-e-xtreme-froyo-v1-9-4-with-working-wifi-camera-bluetooth-3dgallery-for-t-mobile-g1mt3g/
1.5に戻す

どっかから落した20090801-docomo-ht-03a.rar のうち、boot, cache, data, system のみをnandroidで復旧してみる。nandroid.md5復元も忘れずに。

Xtreme Froyo v1.9.5 try
  • 日本語fontは後でupdate.zip で入れることとする (autosignとかしらないけど、あとで調べりゃなんとかなんだろ)
  • SPL 1.33.2005 ← 入ってた。
  • Latest Radio highly recommended (どうしたものか → だめなら後で考える)

手順

  1. done: ROM落せ http://tinyurl.com/extreme-froyo-1-9-5
  2. nope: (ステップ番号予約)
  3. done: black theme 落せ http://tinyurl.com/froyo-blacktheme-v2
  4. done: sdにコピれ
  5. done: full wipe
  6. done: flash rom → ついでに root.zip (以下参照) もここで焼いてしまう。suが入ってるだけだし。
  7. skip: flash a2sd + cc patch → 2ch "root13":770 によると既に適用済みらしい
  8. skip: flash froyo blacktheme → blackは面倒そうなのでやめる
  9. reboot → すげー時間かかるんですけど、ダメか。
以後実行せず
  1. ADWの設定をこうしろ → どうでもいいがな
  2. sparepartsの設定をこうしろ (launcher in memory)
  3. show clockとかいろいろ (blacktheme場合は時刻の色)
  4. notification colorの設定 (black theme場合)
  5. google mapをmarketからdownload
  6. reboot
  7. 警告: 他のkernelとかgappsをinstallすることのないように → kernelはまだしも、gappsはなんでだろ
  8. and ENJOY!

追加手順:

  1. root permissionの修正はこれを焼く: http://www.mrcellphoneunlocker.com/android/root.zip
メモ
  • rebootに必要なのは「信じる心」?
  • boot animation が重くなったり止まったりするのは何故なんだぜ
  • 最終的に、boot できずあきらめてみる。
他のromを試す
  • CM5.0.8 (Eclair) → ok (ちゃんと焼けるか念のためテストした)
  • SPF Connection 2.8 → bootはするけどfontが豆腐、あと突然死

http://www.androidinforum.fr/htc-dream-android/froyo-french-connection-100-t1742.html#p6156

partition: swap 160M, ext 500M, 残り vfat がおすすめとな。

何度か丹念に「目標をwipeしてreboot」を繰り返してたら安定した気がする。

豆腐をfont入れ、localeをlibicudata.so の入れ替えで対処 (できるかなreboot中)

→ libicudata.so は入れかえちゃダメ。起動しなくなる。recoveryで起動して/systemをマウントしてことなきを得る。

SPF Connection 2.8

2010-07-11 追記

2chでも報告されているとおり、wlanが使えない。あと細かい話だけど、live wallpaperが使えない気がする。メモリが足りないだけかもしれないけど。

marketが死にまくる (acoreが死ぬ)。ほかにも死にまくるけど、何故かはよくわからない。とりあえず体験はできるけど、まだ常用には至らないかも。

(安定している、と言っている人もいる)

SPF Connection 2.8.1

2010-07-11 追記

zip落してきて上書きinstallしてみた。なんか日本語fontが消されたんだけど(ぶー!)

ちなみに日本語fontはM+を利用してます。

時間つかった限りでは、他人にお勧めできるほどじゃないけど何とか使いものになるかも。dwang環境はnandroidでしかバックアップしていないので、手作業でアプリなどは手作業で復帰する予定。

CM6-RC1

(2010-07-11 午後5時追記)

どうもSPF Connectionが安定しないのと、ベースがCM6ということで、まずはベースに近いほうが良いだろうと

CM6-RC1を焼いてみる(この項続く)

http://www.cyanogenmod.com/home/cyanogenmod-6-0-0-rc1

Marketが極めて不安定な模様。エラー

E/AndroidRuntime( 2000): FATAL EXCEPTION: UpdateCheckinDatabaseService

E/AndroidRuntime( 2000): java.lang.SecurityException: Permission Denial: writing com.google.android.gsf.settings.GoogleSettingsProvider uri content://com.google.settings/partner from pid=2000, uid=10036 requires com.google.android.providers.settings.permission.WRITE_GSETTINGS

すぐ直りそうではあるけど。

Market落ち対策:
  • yay-gapps を普通のgappsの上から焼いた時はMarket落ち頻発

(エラー内容から察するに、installされたapkの記録をgoogle accountに書き込めない)

  • まっさらの1.5からCM6-RC1, yay-gapps を焼いた状態ではMarket落ち発生せず

c.f. http://forum.xda-developers.com/showpost.php?p=7139560&postcount=109

2009-09-15

腐敗したCDSで大損をした金融機関の危機がいよいよ経済全体への危機へと広がり始めている。

financial crisisからeconomic crisisへ。

腐敗したCDS(credit default swap)で大損をした金融機関の危機が、いよいよ、経済全体への危機へと広がり始めている。

CDSを買うということは、債務者借金連帯保証人になる事であり、債務者がdefaultしたら、債務者の代わりに、全額を被らなければならなくなる。危機以前の金融機関の羽振りが良かったのは、産業への融資が全然ダメであったが、双子の赤字の増加によって運用しなければならないお金が増える状況において、CDSという投資先を見つけたからであり、それに投資したがる新興国産油国との間に入って手数料を稼げていたからである。

金融危機に対して、中央銀行が特融を出しまくって一時的に支え、会計基準を捻じ曲げて評価額の粉飾を認めて、損失の表面化を年間利益の中に押さえ込むことで、表面的には金融危機は沈静化していることになっている。アメリカでは、今年に入ってから、すでに92行の地方銀行破綻しているが、政治的には、金融危機は沈静化している事になっているのである。

金融機関の危機が沈静化するということは、金融が引っ張っていた経済構造から金融の影響を取り除くという事でしかない。金融危機を沈静化したら、産業ダメで成長要因が無いという現実が表面化する事になる。この現実への対策は、産業を再興する事しかなく、その為の施策が望まれるのだが、遅々として進んでいない。

バブルの頃は、家屋の建築や担保余力を使った融資による消費といった要因があったので、それなりに仕事が発生したが、バブルが終わってしまったら、それらの要因が消え、労働力の過剰という現実だけが残る。賃金は低迷し、通貨が弱くなる事から輸入物資の価格は上昇し、スタグフレーションへと向かうことになる。しかも、金融機関が抱え込んだ莫大な負債は、毎年の納税額を0にして償却する事になり、金融機関からの納税額が大幅に減少するし、バブル期に良かった事業は軒並み左前になっており、このセクターからの納税も期待できない。財政出動をしたくても、歳入欠陥が確実視される状況では、赤字国債を発行して手当てをするくらいしか道が無いのだが、この赤字国債を買ってくれる経済的な余裕のある人は国内には無く、海外に買い手を求めるには、通貨が強くなる見込みが無ければならない。幾ら金利を引き上げても、それ以上に通貨価値が下落していくのでは、利回りはマイナスになる。

つまり、地下資源の切り売りか、産業再生が必要になる。

輸入に頼らずにやっていける国家であれば、スタグフレーションの影響はかなり小さく出来るが、それでも、通貨の強弱と金利というパラメーターによって影響を受ける。輸入を必然とする国家においては、スタグフレーションに入ってしまうと、自立回復は難しくなる。日本アメリカよりも条件が悪く、アメリカよりも早く、有効な手を打たなければならないのである。

[2009.9.15]

http://www11.ocn.ne.jp/~ques/diary/diary.html

ログイン ユーザー登録
ようこそ ゲスト さん