はてなキーワード: 初期化とは
パソコンの電源が入らなくなった場合は、以下を参照してください。
http://anond.hatelabo.jp/20071206010507
パソコンが起動しない場合は、以下を参照してください。
http://anond.hatelabo.jp/20071206233539
【バックアップは済んでいますか?】
修理に出してしまうと、その作業内容や交換パーツは様々です。
また、壊れていなくても、「見込み交換」という作業が入る事があります。
データを保存しているHDは、壊れやすいパーツであり、交換されてしまう事があります。
また、他のパーツを交換する場合でも、OSを初期化する事があります。
データが確実に戻ってくる保障はありません。
定期的にバックアップを取ってください。
ちょっとした故障でも、修理に出す時は、バックアップを残しましょう。
どうしてもデータを取り出したい場合は、HDが正常そうなら取り出して、外付けドライブ化。
HDがだめそうなら、専門の業者さんへ依頼しましょう。
怪しげなツールを使ったり、冷やしたり、暖めたりは、慣れた人が症状を的確に見抜いて、成功するかしないかというものです。
HDの仕組みについて、正しく理解していないかたはやめましょう。
復帰できるものも、できなくなります。
【時間がかかります】
早いものだと、1週間で返ってきます。
遅いものだと、2ヶ月以上かかることもあります。
まず、症状が曖昧な場合、原因を特定するのに時間がかかります。
原因を特定後、交換作業をします。
年末年始やGW、お盆などは修理センターも休みを取ります。かつ、修理品も増えます。相談や問い合わせも増えます。
とても忙しいので、修理が遅くなります。
また、交換パーツを取り寄せる場合、また時間がかかります。
アセンブリ系のパーツの場合は、海外に送ったり、海外から取り寄せたりとあるので、相当な時間がかかります。
古いパソコンだと、パーツの取り寄せが困難になります。
さらに、見積もり金額を伝えたりする場合に、あなたと連絡が取れないと修理ができなかったりします。
最初に伝えていた金額も、作業を進めるうちに変わることもあります。
あなたの許可無く修理をしても、お金がもらえるかわからないので、連絡がつくまで修理はできません。
時間に関して解決するには、メーカーのサポートセンターなどへ直接持ち込まれるのが一番早いです。
ですが、その場ですぐに対応できるかわかりませんので、やはり修理に出す際は時間に余裕を持ってください。
【お金がかかります】
基本的に、修理はお金がかかります。
買ってから、半年から数年まではメーカー保証がついているものが基本ですが、メーカー保証が受けられない故障も多くあります。
落として液晶が割れた、ジュースをこぼした、など明らかにあなたが責任の場合は、メーカー保証は受けられません。
買ってその日に落として使えなくなった場合でも、もちろん修理にはお金がかかります。
修理の際には、作業料+パーツ代+中間マージンがあります。
作業料は人の手が入りますので、数時間放置するリカバリでも数千円は取られます。
パーツ代ですが、比較的高額なメーカーの純正品しか修理に使わないので、バルクのHDやメモリなどと比べないでください。
販売店などを通してメーカーに修理に出す場合は、多少のマージンを取られます。
そのため、HD交換で3万円、液晶で5万円、全損を直すと買った時よりも高額になります。(ノートの場合の目安)
数年前のパソコンが壊れた場合は、中古で買ったほうが安い事の方が多いです。
デスクトップの場合は、自作機のチェックなどをしてくれるアセンブリ系の販売店に持っていき、原因究明後にそのパーツを交換したほうが圧倒的に安いです。(但し、メーカー保証は無くなります。)
電源が入らない場合は以下を参照してください。
http://anond.hatelabo.jp/20071206010507
電源が入っても起動しない場合について
出ないのであれば、CMOSクリアしてください(デスクトップのみ)
出ないのであれば、周辺機器などをできる限り外してください(拡張したメモリや、マウスなども出来る限り。ノートであればバッテリも)
ケース内やファン部に埃ヤゴミがたまっていないかチェックしてください。
あれば、キレイにしてください。
ノートの場合は、とても暗く表示される場合があります(バックライト切れ)。よくみてください。
それでも直らなければ、修理を検討してください。
リカバリを試してください。(データは消えます。マニュアルを参照してください。)
HDDリカバリであれば、最初のメーカーロゴが出た時点で、F9からF12のどれかを押すのが一般的です。(例外もあります)
また、メーカーロゴが出てる時点でF2キー(機種による)を押してBIOSの画面からリカバリをすることもあります。
さらに、Dynabookの場合は、起動時に0キーを押してリカバリすることもあります(マニュアル参照)
CD/DVDからリカバリをする場合は、起動時にBIOSからCD/DVDから起動するように設定するか、F12ボタン(機種による)を押してCD/DVDから起動するようにしてください。
もしディスクを無くした場合はメーカーに問い合わせてください。比較的安価で譲ってもらえる場合が多いです。
もし、メーカーにリカバリを依頼する場合、期間は約1週間から10日(前後します)、費用は1万円前後となります。もちろんデータは消えます。
相性、初期不良は珍しいことではありません。
最初は待ってください。OSのアップデートなどとかぶった場合、起動に10分かかってしまうこともあります。
いつもより遅いなと思っても、待ってみてください。20分後に起動した例もあります。
セーフモードを試してください。どうしても起動しない場合、OSの調子が悪い場合があります。
メーカーロゴが出た直後にF8ボタンを押すと、起動メニューが選べます。
その画面でセーフモードを試してください。
セーフモードで起動後に直る事もありますし、バックアップの方法も模索できます。
それでもダメなのであれば、KNOPIXを試してみてください。
http://unit.aist.go.jp/itri/knoppix/
これはCDから起動するもので、OSが壊れて起動しない場合に、ファイルが救出できる可能性があります。
【青い画面に白い文字で英語がいっぱい出てくる】
ブルーバックと呼ばれる症状です。
OSが壊れているか、ハードウェアが壊れています。まれに、相性の場合があります。
まず、リカバリをしてください。
【「Operating System not found」っぽいエラーが出る。】
OSが見つけられない状態です。
BIOSでHDを認識しているか確認しましょう。認識していなければ、HDがクラッシュしたと思われます。
BIOSで認識していて、このエラーが出た場合、OSが飛んだと考えてリカバリをしてください。
【起動時にビープ音が鳴る】
どこかしらのハードウェアに異常があります。
直近に追加したハードウェアを取り外してください。
追加したハードディスクが無く、ビープ音がする場合は修理コースです。
【OSの起動メニューが表示される】
(無い部分は飛ばしてください)
まずは、前回の起動時の設定を選んでください。
次に、修復して起動を選んでください。
次に、通常起動を選んでください。
次に、セーフモードで選んでください。
(場合によっては起動時にどんどんファイルが壊れていくこともあるので、症状が深刻そうな場合は最初からセーフモードを選ぶ事もひとつの手です。)
直らなければ、リカバリをしてください。
直らなければ、修理に出してください。
2007/12/10以下を追記
【FD、CD/DVDはは入ったままではありませんか?USBメモリ、LANケーブルはささっていますか?】
場合により、FD、CD/DVD、USBメモリ、LANから起動する設定になっている、もしくは、そのようになってしまう事があります。
FDドライブやCD/DVDドライブ、USBメモリを確認してください。念のため、LANケーブルも抜きましょう。
その設定を変える、もしくは確認するには、BIOS画面で確認します。
BIOSの「Boot」と書かれている部分を確認してください。(メーカーによって違いあり。日本語の場合は、「起動」など)
2007/12/10追記ここまで
2007/12/14以下を追記
マザーボードについているボタン電池は、マザーボードのBIOSのデータを保存しています。わかりやすいもので言えば、時計のデータです。
電池が無くなればそのデータが保存されないだけなので、無くても問題はありません。(特殊な設定をしている場合を除く)
電池が無くなったのであれば、外してください。
また、主電源が入っていて電源ケーブルがささったままなのであれば、電池が無くてもデータが保存できるものもあります。
BIOSの設定がおかしくなった場合は、主電源を切り、コンセントからACケーブルを抜き、電池を外してください。
そうするとBIOSの設定が初期化されます。CMOSクリアです。(BIOSアップデートに失敗した場合は、この方法でも直りません。)
2007/12/14追記ここまで
以上を試してみて、改善しなければ修理を検討してください。
http://anond.hatelabo.jp/20071108001541
『どんな代償が?
はりつけ獄門とかそういうの?
それとも心がだんだん荒廃していく呪いか』
暗闇の中に男が一人。モニタの明かりに照らされて、浮かび上がる相貌はやや病的。
青、白、黒の三色のみにて彩られたモニタは、彼の獣性を目覚めさせる。青は進め、白は進め、黒は進め。創作の泉尽くことなく溢れ、彼の新たなエントリは三色のみにて構成された増田へ、一筋の赤い傷跡を刻むことだろう。
ふと、手が止まる。
はて、今日は新月であったか……
「3...2...1... 突入」
窓が砕ける音。
椅子から引きずりおろされ、両腕を一瞬で拘束される。まさにそれこそが彼の命にして武器。
「ターゲット捕捉、id:xxxxxxxxxxxと確認」
「な、なっ、一体君たちは」
「うるせえこのロリペド野郎! idじゃお上品に振舞ってたようだが」
「連行しろ」
「はっ」
後に残った闇緑色の覆面の男は素顔をさらし、モニタに向かう。
そこには書き溜められた創作の数々。ひとつひとつに男は目を通し、怒り、悲しみ、涙を流し、大声で笑った。それから淡々とHDD初期化作業に移った。
「あんたの創作、嫌いじゃあなかったぜ」
彼らこそ「A.N.O.N.D.((Anti-Nonsense of November Divine scourge))」。
無意味不条理エントリを根源的に抹殺しネット社会の平和を守るため、11月1日を以って株式会社はてなに発足した、新サービスである。
配列に格納したものと一致しないものだけをピックアップしたかったのだが、
配列の中にその値があるかどうかの比較のしかたがわからずfor文でまわしました。
なんとなく感覚でequals()と==をつかいわけているが、もしかしたら違うかもしれない。
classのインスタンスというかイニシャライズに相当する書き方がわからず、
初期化が必要なクラスをつくることができず、ひとつのクラス内でダバダバ関数を書いている。
} catch(ArithmeticException e) {
System.err.println("エラー" + e.getMessage());
関数ごとにこんな風にいちいち書いてみたが、もっといいやり方があるきがする。
// デバック用出力関数
private void fDebug(String msg) {
if (!DEBUG_FLG){ return;}
System.out.println(msg);
}
挙句、こんな関数を作った。俺はバカかとおもった。
ログ出力用のヤツまでつくってしまった。いったいこれはどういうことだろう。
昔し、配列のsortを教えてもらった記憶があるのだが実はいまだにできない。
しかたが無いのでaddで任意の位置に足しているが、それをやるにもループ、配列.size()で分岐しながらなのでカッコワルイ。
勢いでつくった関数にオプショナルで引数を追加したくなったのだが、やりかたがわからなかったので諦めた。
Eclipseで一気に複数行をコメントアウトするような方法がわからない。
→わかった! ctrl+/だ! おー、便利。
気持ち悪いループとbreak文だらけになってしまいわかり難いのでラベルをつけた。
「label:」みたいにすればいいらしい。だが根本的に間違っている気がする。
Integerとintみたいなものを区別せずに使っている。実際何が違うのかわからないけど動くからいいやとかおもってしまっている。
@Overrideってなんだろう。
参照が深くなりすぎてしまって、ループの中でわざわざ変数を宣言しなおしている。
DDDDD masuda = AAAA.BBBB().CCCC(ohdeyansu);
ookamiotokoto = masuda.funga() + masuda.hajimeruzamasu();
どうなんだろうか。
何か計算結果がおかしいなとおもったら int * (int/int) で、分母が計算途中で丸められてた。
int * (float)(int/int) こんな回避の仕方をしてしまったのだがいいのだろうか。
たいしたことをしていないのだがやたらとコードが長くなる。
どうにかならんものか・・・。
http://anond.hatelabo.jp/20070711013155 こちらの宿題を作ってみました。
http://anond.hatelabo.jp/20070711080519 で参加を宣言した者です。
#include "stdafx.h" #include <time.h> #include <conio.h> #include <list> using namespace std; enum MMError { MME_None = 0, MME_SizeError, MME_MemoryAllocError, MME_NotInitialized, }; enum MMKind { MMK_None = 0, MMK_Space, // 通路 MMK_Filled, // 埋まってるところ。掘れる。 MMK_Wall, // 壁。掘れないところ。 }; // // 迷路実体管理用クラス定義 // class CMazeMatrix { public: CMazeMatrix(); virtual ~CMazeMatrix(); public: virtual bool Initialize(int nXSize, int nYSize); // 初期化すると同時に、外壁まで作ってしまう。 virtual MMKind GetAt(int nXPos, int nYPos); virtual bool SetAt(int nXPos, int nYPos, MMKind kind); MMError GetLastError() {return m_lastError;} protected: inline int calcIndex(int nXPos, int nYPos) {return nYPos * m_nXSize + nXPos;} bool finalize(); protected: MMKind *m_pMaze; int m_nXSize; int m_nYSize; MMError m_lastError; }; // // 実体管理用クラス実体 // CMazeMatrix::CMazeMatrix() { m_pMaze = NULL; m_nXSize = 0; m_nYSize = 0; m_lastError = MME_None; } CMazeMatrix::~CMazeMatrix() { finalize(); } bool CMazeMatrix::Initialize(int nXSize, int nYSize) { finalize(); int nSize = nXSize * nYSize; if ((__int64)nSize != (__int64)nXSize * (__int64)nYSize) { m_lastError = MME_SizeError; return false; } m_pMaze = new MMKind[nSize]; if (m_pMaze == NULL) { m_lastError = MME_MemoryAllocError; return false; } m_nXSize = nXSize; m_nYSize = nYSize; int nCnt; for (nCnt = 0; nCnt < nSize; nCnt++) m_pMaze[nCnt] = MMK_Filled; for (nCnt = 0; nCnt < m_nXSize; nCnt++) { m_pMaze[calcIndex(nCnt, 0)] = MMK_Wall; m_pMaze[calcIndex(nCnt, m_nYSize - 1)] = MMK_Wall; } for (nCnt = 0; nCnt < m_nYSize; nCnt++) { m_pMaze[calcIndex(0, nCnt)] = MMK_Wall; m_pMaze[calcIndex(m_nXSize - 1, nCnt)] = MMK_Wall; } return true; } MMKind CMazeMatrix::GetAt(int nXPos, int nYPos) { #ifdef _DEBUG if (nXPos < 0 || nXPos >= m_nXSize || nYPos < 0 || nYPos >= m_nYSize) { m_lastError = MME_SizeError; return MMK_None; } #endif return m_pMaze[calcIndex(nXPos, nYPos)]; } bool CMazeMatrix::SetAt(int nXPos, int nYPos, MMKind kind) { #ifdef _DEBUG if (nXPos < 0 || nXPos >= m_nXSize || nYPos < 0 || nYPos >= m_nYSize) { m_lastError = MME_SizeError; return false; } #endif m_pMaze[calcIndex(nXPos, nYPos)] = kind; return true; } bool CMazeMatrix::finalize() { if (m_pMaze != NULL) { delete [] m_pMaze; m_pMaze = NULL; } return true; } // // 迷路作成用クラス定義 // class CMazeMaker { public: CMazeMaker(); virtual ~CMazeMaker(); public: bool Initialize(int nXSize, int nYSize); // 力業。ループで回す。メモリは食わない。 // 美しくない。 bool Generate1(); // 掘った箇所をスタックに積んで、掘れなくなったらスタックを戻す。 // 綺麗だけれど、迷路のサイズを増やすとスタックオーバーフローが起こる。 bool Generate2(); // Generate2をlistに置き換えたもの。 // stdを使ってしまったのが心残り。 bool Generate3(); MMError GetLastError() {return m_lastError;} protected: bool finalize(); bool checkPos(int nXPos, int nYPos, int nXAdd, int nYAdd); int process(int nXPos, int nYPos); void dig(int nXPos, int nYPos); bool makeStartGoal(); virtual CMazeMatrix* matrixAllocate(); protected: int m_nXSize; int m_nYSize; CMazeMatrix *m_pMatrix; MMError m_lastError; }; CMazeMaker::CMazeMaker() { m_nXSize = 0; m_nYSize = 0; m_pMatrix = NULL; m_lastError = MME_None; } CMazeMaker::~CMazeMaker() { finalize(); } bool CMazeMaker::Initialize(int nXSize, int nYSize) { finalize(); m_pMatrix = matrixAllocate(); if (m_pMatrix == NULL) { m_lastError = MME_MemoryAllocError; return false; } if (m_pMatrix->Initialize(nXSize, nYSize) == false) { m_lastError = m_pMatrix->GetLastError(); return false; } m_nXSize = nXSize; m_nYSize = nYSize; return true; } CMazeMatrix* CMazeMaker::matrixAllocate() { return new CMazeMatrix; } bool CMazeMaker::finalize() { if (m_pMatrix != NULL) { delete m_pMatrix; m_pMatrix = NULL; } return true; } // スタート位置と、ゴールの位置を作成。外壁部分に穴を開ける。 // 今回のアルゴリズムでは、外壁のすぐ内側が通路になっていないことがあるので // その場合には箇所を移動させる。 // どこをとっても通路が見あたらない場合には、エラーとする。 // (乱数の発生具合がとても意地悪な場合を考えると、可能性は少なくとも0ではない。) // bool CMazeMaker::makeStartGoal() { // スタート地点を左の壁の上の方に int nCnt = 0; for (nCnt = 1; nCnt < m_nYSize - 1; nCnt++) { if (m_pMatrix->GetAt(1, nCnt) == MMK_Space) { m_pMatrix->SetAt(0, nCnt, MMK_Space); break; } } if (nCnt == m_nXSize - 1) { return false; } // ゴール地点を右の壁の下の方に for (nCnt = m_nYSize; nCnt > 0; nCnt--) { if (m_pMatrix->GetAt(m_nXSize - 2, nCnt) == MMK_Space) { m_pMatrix->SetAt(m_nXSize - 1, nCnt, MMK_Space); break; } } if (nCnt == 0) { return false; } return true; } // 現在位置nXPos, nYPosからみて、nXAdd、nYAddを足した位置に移動できるかをチェック // 移動先が埋まっている状態で、さらに三方が通路以外に覆われているなら、OKとする bool CMazeMaker::checkPos(int nXPos, int nYPos, int nXAdd, int nYAdd) { if (m_pMatrix->GetAt(nXPos + nXAdd, nYPos + nYAdd) != MMK_Filled) return false; if (nXAdd == 0) { if (m_pMatrix->GetAt(nXPos - 1, nYPos + nYAdd * 2) != MMK_Space && m_pMatrix->GetAt(nXPos , nYPos + nYAdd * 2) != MMK_Space && m_pMatrix->GetAt(nXPos + 1, nYPos + nYAdd * 2) != MMK_Space && m_pMatrix->GetAt(nXPos - 1, nYPos + nYAdd ) != MMK_Space && m_pMatrix->GetAt(nXPos + 1, nYPos + nYAdd ) != MMK_Space) { return true; } } else { if (m_pMatrix->GetAt(nXPos + nXAdd * 2, nYPos - 1) != MMK_Space && m_pMatrix->GetAt(nXPos + nXAdd * 2, nYPos ) != MMK_Space && m_pMatrix->GetAt(nXPos + nXAdd * 2, nYPos + 1) != MMK_Space && m_pMatrix->GetAt(nXPos + nXAdd , nYPos - 1) != MMK_Space && m_pMatrix->GetAt(nXPos + nXAdd , nYPos + 1) != MMK_Space) { return true; } } return false; } static const int moveInfo[4][2] = { {-1, 0}, {0, -1}, {1, 0}, {0, 1}, }; int CMazeMaker::process(int nXPos, int nYPos) { int digCount=0; int aryMove[4] = {0}; if (m_pMatrix->GetAt(nXPos, nYPos) != MMK_Space) { return 0; } while (1) { int nMoveCount = 0; for (int nCnt = 0; nCnt < 4; nCnt++) { if (checkPos(nXPos, nYPos, moveInfo[nCnt][0], moveInfo[nCnt][1]) == true) { aryMove[nMoveCount] = nCnt; nMoveCount++; } } if (nMoveCount == 0) { break; } int nMove = ((rand() >> 1) % nMoveCount); nXPos = nXPos + moveInfo[aryMove[nMove]][0]; nYPos = nYPos + moveInfo[aryMove[nMove]][1]; m_pMatrix->SetAt(nXPos, nYPos, MMK_Space); digCount++; } return digCount; } bool CMazeMaker::Generate1() { // 開始点は1, 1から。(ループの先頭 m_pMatrix->SetAt(1, 1, MMK_Space); ::srand((unsigned int)time(NULL)); int nXCnt; int nYCnt; for (nXCnt = 1; nXCnt < m_nXSize - 1; nXCnt++) { for (nYCnt = 1; nYCnt < m_nYSize - 1; nYCnt++) { while (process(nXCnt, nYCnt) != 0) {} } } return makeStartGoal(); } void CMazeMaker::dig(int nXPos, int nYPos) { m_pMatrix->SetAt(nXPos, nYPos, MMK_Space); int aryMove[4] = {0}; while (1) { int nMoveCount = 0; for (int nCnt = 0; nCnt < 4; nCnt++) { if (checkPos(nXPos, nYPos, moveInfo[nCnt][0], moveInfo[nCnt][1]) == true) { aryMove[nMoveCount] = nCnt; nMoveCount++; } } if (nMoveCount == 0) { break; } int nMove = ((rand() >> 1) % nMoveCount); dig(nXPos + moveInfo[aryMove[nMove]][0], nYPos + moveInfo[aryMove[nMove]][1]); } } bool CMazeMaker::Generate2() { ::srand((unsigned int)time(NULL)); int nXStart = ((rand() >> 1) % (m_nXSize - 2)) + 1; int nYStart = ((rand() >> 1) % (m_nYSize - 2)) + 1; dig(nXStart, nYStart); return makeStartGoal(); } struct PosInfo { int xPos; int yPos; }; bool CMazeMaker::Generate3() { ::srand((unsigned int)time(NULL)); int nXStart = ((rand() >> 1) % (m_nXSize - 2)) + 1; int nYStart = ((rand() >> 1) % (m_nYSize - 2)) + 1; m_pMatrix->SetAt(nXStart, nYStart, MMK_Space); list<PosInfo> posList; PosInfo info = {nXStart, nYStart}; posList.push_back(info); while (posList.size() != 0) { int nXPos = (posList.rbegin())->xPos; int nYPos = (posList.rbegin())->yPos; int aryMove[4] = {0}; int nMoveCount = 0; for (int nCnt = 0; nCnt < 4; nCnt++) { if (checkPos(nXPos, nYPos, moveInfo[nCnt][0], moveInfo[nCnt][1]) == true) { aryMove[nMoveCount] = nCnt; nMoveCount++; } } if (nMoveCount == 0) { posList.pop_back(); continue; } int nMove = ((rand() >> 1) % nMoveCount); info.xPos = nXPos + moveInfo[aryMove[nMove]][0]; info.yPos = nYPos + moveInfo[aryMove[nMove]][1]; m_pMatrix->SetAt(info.xPos, info.yPos, MMK_Space); posList.push_back(info); } return makeStartGoal(); } // // コンソール出力用 class CMazeMakerConsole : public CMazeMaker { public: CMazeMakerConsole(){}; virtual ~CMazeMakerConsole(){}; public: void Output(); }; void CMazeMakerConsole::Output() { for (int nYCnt = 0; nYCnt < m_nYSize; nYCnt++) { for (int nXCnt = 0; nXCnt < m_nXSize; nXCnt++) { if (m_pMatrix->GetAt(nXCnt, nYCnt) == MMK_Space) { printf("."); } else { printf("#"); } } puts(""); } _getch(); } // // int _tmain(int argc, _TCHAR* argv[]) { CMazeMakerConsole maker; do { if (false == maker.Initialize(75, 50)) { puts("Initialize Error"); return 0; } } while (false == maker.Generate3()); //失敗するのは、スタート、ゴールが作れなかった場合。偶然そういうことになることもあるので、そうなったら作り直す。 maker.Output(); return 0; }
最初に昔の記憶を頼りにCMazeMaker::Generate1()を作ったけれど、美しくなかったのでGenerate2()を作成。迷路のサイズを増やすとスタックオーバーフローになるので、Generate3()を作成。一応、満足。
########################################################################### .....##...#.#.##.....##......#....#...#.#.#.........#.##.........##.#.....# #.#.##..#.#......###..###.##.#.##.#.###...#.#####.#....##.######....##.##.# #.#..##.#.#.##.###.##.....##...#....#...#.....##..#.##.#..##...####..#..#.# #.##..###.#..#..##..###.#..###.#.####.###.#####..####..#.##..#....##.##.#.# #..##.....##.##..##...#.##..#######...#.#.#...#.##....##.#..###.#..#.##.### #.####.#####.###.###.##..####.......###.###.#.###..##.#..#.##...##.#..#...# #....###......#..#.#....##....########..##..#..#..#####.######.##..##.##.## #.##..##.######.##...####..#####....#..##..###.#.##.##..#......#..###..#..# #..##.#...##....#..#.#..#.##.#...#.##.##..##.....#.....####.####.##.##.##.# ##..#...#..#.#######...##....#.#####..#..#########.##.##.#..##...##..#....# ###.########.##...##########.#...##..##.##.##...####..#....##..###..#####.# #.#..##...##..#.#.....##.....##.##..##..#...###.#.#..###.####.##...##.....# #.##.#..#..##.#.#####.#..#####..#..##..##.#.....#...##.#.#....####.#..##### #..#.#.###.#..#.....#...##.....##.##..##..##.##.#.###....####.#.#..#.###..# #.##.#.##....######.########.###..#..###.##..#....#.##.#...#..#...##...##.# #..#.#..###.##.#....#..#.....##..###..#...#.#######....#.#.#.##.#.####.##.# ##.#.##.##...#.#.#####...#####..##.##.##.##......#####.###.#.#..#..#.#..#.# ##....#..###...#....#..#.....#.##...#.#...#.#.##.....#..##.#...###...##...# #..#####...########.####.##.##....#...#######..#####.####..#####.########.# #.##.#.###..#.....#....###...###########...###..##...#....##.........##...# #..#....###...#.#.####..#..#.....#.#.....#..#..##..###.#.##..#######.#..### ##.####...#######...###.##.#.###.#...######.####..##...#.#..##...#...#.##.# #....####...#...###...#..#.#..####.#....#.....#..##..#.###.##..#.#.###.#..# ####...#..#.#.#..####.##.####......####.#####.##..#.##...#..####.#.#...#.## ##.###.#.##.#.##.#.#...#....##.######.#.##..#.###.######.##...#..#...###..# #..##..#.####.##.#...#.####..#........#..##....##...##....###...######...## #.##..##..##..#..##.####..##.#.######.##..####..#.#..##.###.#.#..#.##..#..# #.##.####.#..##.##..##...###.###...#...##.##.##.####.#..#...####.#..#.###.# #.#...#...#.###..##..#.#...#..#..#...#..#..#.##..##..#.##.#..##..##.#...### #...#...#.#...##..##...#.####.####.#######.#..##.#..##..#.##..##..#...#...# #.###########.###..#####....#...##.#..#....##..#...####.#..##..##.#######.# #....#....##..#.##....###.#####..#...##.######.#####.##.##.###....#.....#.# ###.##.#.##..##..####..#..#...##.###.##......#...##.....##..########.##.#.# #.#.#..#..#.####.#..##...##.#.#..#....######.#.#....#.#..##.#...##...#....# #...#.###...#......####.##..#...###.###...##.#.######.#.##..#.#..##.####.## #.#.#.#.#####.###.##....#..######.#.##..#..#.#..#.....#..##...##.#...#....# #.###.#...##...#..#..####.##.#.##.#.#..##.##.##.#.###.##..######.#.#.####.# #..##.#.#..#.#.####.###.#..#......#...#####..#..#...####.##..#.#.###.##...# ##..#...##.#.#.#........##.#.#.#.####..#....#######..##...##...#..#...###.# ###.######.#.#...####.#..#.#.###.#..##.#.####....###..###..##.###.###...#.# #...#...#..#####...##.####.#..#....##..#..#...##...##...##......#..####.#.# #.###.#...##...#####..##...##.#.##.#..###.#.######..##.###########.#....#.# #..#..##.##..#.#...#.##..######..###.##.#....###.##.##...#.......#.#.#.#### #.##.###..#.##...#.###..##....##........#.##..#...#..#.#.#.###.#.#.###....# #..#...##.#..#####..##.####.#.##.############...#.##.#.#.#...#.###..##.##.# ##.###..###.##...##.#..#....#..###....##....#######..#.###.###...##..###..# #...###..#...##.###.#.##.#####...#.##.#..##.#...#...##..#...###.####.#...## #.#...##...#......#......#.....#...#....##....#...#..##...#...#........#... ###########################################################################
ちなみに http://anond.hatelabo.jp/20070711194709 これを聞いたのは自分。
かなりたくさん書けることがわかりました。
はてなブックマーク登録時のタグ自動補完が重いという話が出ている。
うちもunDonut+ブックマークレットで登録しているが、確かに重い。
候補一覧などはそれほどでもないが、毎回JavaScript初期化のためCPU使用率100%のまま5秒近く待たされる。
タグ数400強でこれなのだから、1000近くならそりゃ重くなるだろう。
http://hatena.g.hatena.ne.jp/hatenabookmark/20070406/1175838568
先日のサーバーメンテナンスでシステムリソースに余裕を持たせることができた点、1,000 件では現状にそぐわない点などを考慮いたしまして 5,000 件まで引き上げるよう変更を行いました。
http://anond.hatelabo.jp/20070429155517
えー、IME 任せは微妙だなあ。めんどくさくてもオンオフぐらいしようよ。状況に応じた大文字小文字の選択もしづらい(できない?)し微妙だよ。少なくともそういう入力方法を叩くプログラマーは少なくないと思う。
19世紀はgoto文の時代だと思ってましたよ。
goto文不要論なんてもう何十年も議論され続けてるよ。大体 90年代終盤にはそこそこ普及してた Java は既に goto が実装されてなかったでしょ。今でも実装されないままだし。
それから Amazon.co.jp で「オブジェクト指向」を検索して「出版年月日が新しい順番」にソートして一番ケツに飛ぶと 80年代のオブジェクト指向本なんて山程出てくる。
というかあまりオブジェクト指向のプログラムってみたことないかも。
なんかこのご時世におすすめないかな?
学生さんかなんかかな。もしオブジェクト指向の利点がまだ理解できてないなら、この話の増田ツリーのどっかにあったと思うけど、
ぐらいの経緯を辿ればまあオブジェクト指向の基本は掴めると思う。当然ある程度の大きさのプログラム(あんまり行数で言いたくないけど、せめて 1000行以上)を書かないと、各プロセスの絶望を知ることはできないと思うけど。必要は発明の母。あとは平行して適当に Amazon.co.jp で評価のいい本を読めばいい。
インターフェイスの概念については、一般に知られているものだと C のストリームで理解できると思う。
FILE *fp; fp = fopen("log.txt", "w"); fprintf(fp, "Starting log...\n"); fclose(fp);
これは log.txt ってファイルにログを吐いてるのね。でも fprintf() ってのは次のような使い方もできる。
fprintf(stdout, "Starting log...\n");
stdout ってのは標準出力で、そこに fprintf でデータを渡すと(Windows の場合)コマンドプロンプトに文字列を表示する。ファイルと標準出力は全く違うものだけど、インターフェイスが同じだから全く同じように出力処理を書けてるでしょ。これを発展させれば、
FILE *stream; if (log_kind == LOG_FILE) { stream == fopen("log.txt", "w"); } else if (log_kind == LOG_STDOUT) { stream == stdout; } fprintf(stream, "Starting log...\n"); /* この時点で stream の種類を知る必要が無い! */ if (log_kind == LOG_FILE) { fclose(stream); }
と書くことができる。年賀状と大学受験合格通知は違うものだけど、初期化(書き方)が違うだけでインターフェイス(ポストに投函)は同じ、みたいな。それよりよく考えたら C を知ってるとは限らんよな。めんどくさくなってきた。あとはしりません。
retって普通に使わない?
確かにValまではつけないけど。がんがん使うよ。
つか、retでもretValでもいいけど、そういうの使わないでどう戻り値処理してるの?
毎回違う名前つけてるの?
それの方がよほど信じられないのだけど。
ちなみに、
if (funcA(b)) {
//
}
個人的にはこう書かれる方が100倍ヤダ。
forループに使ったiを初期化しないでwhile文に使いまわすぐらいの行為な気がする。
あ、なんか下のエントリー見てきたけど、なんか荒み気味になってるな。
別にプログラムの書き方なんて方言みたいなもんだからな、東北弁がいいだとか北九州弁がいいだとかそういうのもないと思うんだ。
一応書いておくぞ。
荒んだときはしょうがなく泣いておこう。
にゃー
ASCII.jp:「納品をなくせば」の倉貫CEOたちが語る新しいSIへの道 (1/2)
Rails Hub情報局: 優秀なエンジニア5人は二流の1000人を完全に凌駕する
404 Blog Not Found:プログラマーって本当に労働者なのか?
例えば、「コード1行につき10円」という取り決めがあったとする。
この場合、
my @a;
$a[0] = 1;
$a[2] = 1;
# ...
$a[999] = 1;
というコードを書けば
1万10円になるが、
my @a;
for (my $i = 0; $i < 0; $i++){
$a[$i] = 1;
}
と書けば一気に
40円に下落し、
と書けばたった
論理的思考の放棄 - 登 大遊@筑波大学情報学類の SoftEther VPN 日記
システム業界の詐欺的行為2 - 小学校の算数もできない技術者? --- 生島 勘富 : アゴラ - ライブドアブログ
404 Blog Not Found:博士の異常なアルゴリズム、または私は如何にして心配するのを止めて線形探索を愛するようになったか
>だけど、自分が好意をもっていた人の近況とか元気にしているのかとかぐらいは知りたい。
えーーー!!そっかーーー><でも別れて誰も想う人がいなければそうなのかもねーーー?
>わかれた途端「あなたはもう私の頭の中には居ないの」なんて言われたら、立ち直れないほどショックだよね。
これはなんてわたし><?でも優しさのつもりなんだけどな、
訳:「あなたはもう私の頭の中には居ないの」=お互い真っ白にして歩き出しましょうね!
>なんて女性は難しいんだろう。
>死んでいない証拠にやつの目に触れるぐらいの活躍をしてやろうと心に誓う。
なんかでもこういう考え方は素敵だな。わたしもしばらくして別れた人がニュースに出て
(悪さしたわけじゃないよwww)おお!って思った!けどそれ以上もそれ以下の感情もないよ。
自分のことのようにうれしかったの確かだし!がんばってください><
俺もほぼ一年前につきあってた子がそうで、わかれた途端俺の存在が消された。
人としてこんな扱いをうけたことがなかったので、激しくショックだった。
ツンデレもわかれりゃ只のツンツンツン!
あれは生きている人間に対する仕打ちじゃない。
自分もストーカーをされた経験があるのでつきまとわられることの嫌さは知っては居る。
だけど、自分が好意をもっていた人の近況とか元気にしているのかとかぐらいは知りたい。
そもそもなんでわかれたのかも自分のなかでは釈然としないんだ。
俺だっていつも余裕があるわけじゃない。むきー!ってなられたら、もういいよってなることもあるさ。
「もう、わかれたい」とかいいながら昔し別の機会に泣かれた姿が頭をよぎったんだ。
わかれた途端「あなたはもう私の頭の中には居ないの」なんて言われたら、立ち直れないほどショックだよね。
故人だってたまに偲ぶだろ。
というか俺は死んじゃいねぇ!
そういえばわかれるときに、
「他に好きな人でもできたの?」と聞いたら、
「他に好きな人ができたのならとっくにわかれてるわよ」とか言われた。
わかれるときには逢ってもくれなかった。
「わかれた人と会うのは怖い。」って。
怖いって……。怖いのかよ。。
いい子だとは思うんだけどな。
これから出会う人に失礼か・・・。
いままでに出会った人達にも礼を失しないようにしてほしい。
「ずっとわかれたかったの!」とか・・・いわれた。
やばい、罵倒のかずかずがきこえてきた。涙でそう。
俺あまり人のことを好きになったりしないんだ。嫌いになることもあまりない。
だから嫌われるとどうしていいかわからない。
切れてばかりのブリジットジョーンズを思い出す。
なんて女性は難しいんだろう。
死んでいない証拠にやつの目に触れるぐらいの活躍をしてやろうと心に誓う。
でもやっぱりへこむよな。
・Flash Lite 2.x ActionScript Language Reference > ActionScript classes > SharedObject
・Flash Lite 2.x ActionScript リファレンスガイド > ActionScript クラス > SharedObject
との事なのでMTASCの↓に
(インストールフォルダ)\std\SharedObject.as
↓の行を追加する
static function addListener(objectName:String, notifyFunction:Function) :Void;
でサンプル
class SharedObjectRei { static function main () { var sor : SharedObjectRei = new SharedObjectRei (_root); } public function SharedObjectRei (mc: MovieClip) { mc.createTextField ("tf", mc.getNextHighestDepth () , 0, 0, Stage.width, Stage.height); mc.tf.text = "SharedObjectRei\r"; SharedObject.addListener ("Prefs", loadCompletePrefs ); // 共有オブジェクトを作成することができる var Prefs : SharedObject = SharedObject.getLocal ("Prefs"); } function loadCompletePrefs (mySO : SharedObject) { if (0 == mySO.getSize ()) { // サイズが 0 の場合、データを初期化する必要がある mySO.data.name = "Sigismund"; mySO.data.email = "siggy@macromedia.com"; } else { // mySO のすべてのデータをトレースする _root.tf.text+= "Prefs: " + "\r"; for (var idx in mySO.data) { _root.tf.text+= " " + idx + ": " + mySO.data [idx] + "\r"; } } } }
コンパイルは↓を参考に
・ActionScript 2.0メモ