はてなキーワード: 成プロとは
先日えとみほさん(@etomiho)が栃木SCに入社したツイートとnoteを拝見して、元Jクラブスタッフからのメッセージです。
個人的には、えとみほさんのような発信力を持った人がJクラブ内に入ってくれたことが嬉しいし、
Jクラブの内部から会社を発展・成長させていくことは、非常に大変で難しさも伴うことですが、頑張ってほしいなと思う。
物事をゴリゴリ進めていく推進力のある人が、そのクラブの成長とともにナレッジやノウハウを成功事例としてどんどん発信していくことがこれからの日本サッカー界には必要だと思うから。
実は私自身は、とある2つのJクラブで働いた(約4年と約2年)経験があるのですが、このまま5年〜10年Jクラブで働いたとしても私及びクラブの双方が幸せになる未来が見えず、1年前ほどにサッカー界から離れる決断をしました。
日本サッカー界をビジネスサイドの内側から変えていきたい、発展に貢献したいと志を持っていたとき(いまもその気持ちは捨ててないですが)に感じたことをシェアし、今後の栃木SCの発展に少しでも活かしていただければと思い、匿名ではありますがこの度ブログ記事を書かせていただきました。
(どうか、えとみほさんに届け!)
1. 残念ながら現在のJクラブの労働環境はスーパービジネスパーソンでない限りJクラブスタッフとしてビジネスサイドの発展に貢献することはまだ難しい状況であると私は考えているということ
2. そのような状況を打破するためにも、えとみほさん含む現在Jクラブで働いている人たちには頑張ってほしいということ
私は(これは私がサッカー界を離れた理由でもありますが、自身のビジネススキル不足もさることながら)現在のJクラブの労働環境がスーパービジネスパーソンでない限りJクラブスタッフとして、ビジネスサイドの発展に貢献することは、チャレンジングな仕事であるがまだまだ難しい状況にあると考えています。
私は、新卒入社から約6年間Jクラブで働きました。日本サッカー界をビジネスサイドの内側から変えていきたい、発展に貢献したいと志を持っていました。しかし、このまま5年〜10年Jクラブで働いたとしても、私及びクラブの双方が幸せになる未来が見えず、サッカー界から離れる決断をしました。
それが1年前。
サッカークラブで働き、内側から改革していくにはまだ難しい状況にある。そう思った理由としては、以下の2点からです。
(ⅰ)Jクラブは熱を持った優秀なビジネスパーソンが圧倒的に足りないため
(ⅱ)優秀なビジネスパーソンを受け入れる環境が整っていないため
※それぞれ(ⅰ)、(ⅱ)について中島涼輔さん(@nakaryo716)というSHC4?期生がブログに書かれていたことと重なるので、こちらもご参照ください。実際私は新卒としてJクラブに入社しましたが、中島さんが言う「新卒でJクラブに入るのはおすすめしない」に同意見です。
Jリーグができて25年が経ち、全国各地にJクラブやJリーグ百年構想クラブが誕生し、普及の意味では世界的に見ても大成功の歴史を作ってきたと思います。
ただし、普及ではなくJリーグ及びJクラブの事業と強化としては、これからが本番だと私は思っています。
J1のクラブであれば、これから本気で事業規模100億円を目指すクラブも出てくるでしょうし、プレーオフ圏内を目指すJ2のクラブであれば事業規模18億円から22億円かつ平均観客動員数1万人〜1万2千人、J3クラブであれば、J2ライセンス取得と事業規模10億円前後かつ平均観客動員数6千人がむこう5年の目標レンジでしょうか。
クラブによって現在の立ち位置や地域経済圏のことなどもあり、目標はそれぞれだと思いますが、Jクラブの事業サイドは基本的に「どうやって協賛金(スポンサー料)引っ張ってくるか」と「どうやって観客動員数増やしてチケット収入増やすか」の2つが最重要ポイントです。
(もちろんチームの成績やスター選手がいる等でもこれらの数字は変わってきますし、もっともっとJリーグ全体の事業規模が大きくなり魅力的なリーグになれば欧州リーグのように放映権もより大きな収益の柱となります)
その最重要ポイント収入2つを伸ばすためにより人材は必要になってくると思いますが、私の経験からするとJクラブに熱を持った優秀なビジネスパーソンが圧倒的に足りないと感じています。
まず私が実際に入社してから在職中に社内の状況でびっくりしたことを以下箇条書きしてみます。
※フォローしておくと、社員一人ひとりは本当にいい人ばかりですし、やっぱりクラブのことが好きなんだなと感じることも多々あります。ただ、それならクラブのファンでいればいいことですし、クラブの発展のために働く社員としてはどうなの!?ということでびっくりしたことを箇条書きさせていただきました。
もちろん、全てのクラブがこのような状況ではないと思いますし、有名な大企業でも上記のような状況は多々あると思います。
しかし、Jクラブはどこも中小企業であり、社員数も50人以下のクラブがほとんどです。
そのような中小企業で生産性のない人ばかりでがっかりした思いがいまでも蘇りますし、いつの間にか自分の中にあった「このクラブをよりよくしたい」という想いもしおれて、知らないうちに自身のビジネスパーソンとしての成長も阻害されてる状況になってる気がして泣けてきます。
なお、Jリーグも人材不足問題を認識しており、SHCというスポーツエグゼクティブ育成プログラムを2014?年からスタートさせ(それ以前にはJFA主催のSMC講座もあった)、Jクラブに優秀なビジネスパーソンを送り込むような動きも見せていますが、依然としてJクラブ現場に優秀なビジネスパーソンは極端に少ない印象です。
逆に優秀なビジネスパーソンがトップ層にいる(いた)クラブは着実にチーム成績も含めて事業規模を拡大しているイメージです。
具体的にクラブ名を出すと、札幌(野々村さん)、いわき(大倉さん)、鹿島(W鈴木さん)、川崎(天野さん)、湘南(眞壁さん)、岡山(木村さん、小川さん)、今治(岡田さん、矢野さん、中島さん)、長崎(髙田さん)などなど。
いま名前が出たある人と少しお話をさせていただいたこともありましたが、その人は「上に立つ人間の仕事は組織が自走するような雰囲気作りが全てだ」と話しており、やっぱり上に立つ人間でクラブも変わってくるのかなとそのとき思いました。
ズバリ言うとおカネのことです。Jクラブスタッフの給与水準はやりがい搾取レベルで低いです。
新卒のJクラブスタッフ給与について中島涼輔さんのブログにも記載されていますが、まず間違っていないと思います。大きな責任企業を持つクラブは、少し違うかもしれませんが、責任企業を持たない地方クラブの場合は、新卒の年収は200万〜250万くらい。5年から10年働いている35歳前後の人の年収が300万円に満たないことも多々あると思います。
※このことはFC今治の経営企画室長 中島啓太さん(@keitanakajiman)もTwitterで言及し、危惧していました。
選手に当てはめてもいえますが、いい人材には、高い給料がついてくるものです。
しかし、ことクラブスタッフに関しては、欠員が出たら募集は掛けるが、いい人材を自ら探して引っ張ってくるということはほぼないのではないでしょうか。
(役員以下の役職あるJクラブスタッフに800万〜1000万円級の給与を払っているクラブはまずないはずです。逆に800万〜1000万級の人材をガンガン入れたからこそ横浜DeNAベイスターズは急成長したのかなと。池田純さんは経歴見ただけでこの人すごい感あるし、東北楽天ゴールデンイーグルス立ち上げには小澤隆生さんがいた)
中途で入社してくる人も前職より給与アップして入社したというのはほぼないと思います。
例え給与が下がったとしてもクラブで働いてみたい人は多いので、会社のスタンスも人材におカネをかける意識が低いですし、人が辞めても安月給で働きたい人はたくさんいるから育てる意識がそもそもない。
このような意識になった要因としては、クラブスタッフは忙しく(担当部署にもよりますが)業務内容も生産性が求められるものより週次の試合に向けた日々のオペレーション業務がほとんどだったからではないかなと思います。
しかし、ここ数年はSNSも普及しましたし、スタジアムを中心としたまちづくりを目指すクラブも出てくるなど、仕事内容的にもより優秀な人材が求められてきていると思いますが、クラブスタッフが本気でそのことに気づいていない。もしくは業務に追われて人材(組織)強化まで手が回らないんだと思います。
事実、クラブの事業側のトップである社長の半数以上が在任3年未満となっており、現場チームのトップである監督が変わることが多々あるにも関わらず、その現場を支える事業側のトップもすぐ変わって、事業戦略がコロコロ変わることも残念ながら現状としてあります。クラブスタッフがスムーズに仕事が回るよう努力しても事業と現場のトップが変わることが何度も続いて、その度に事業方針や強化方針が変わるとせっかくやってきた業務効率化が役に立たなくなり、忙しさのループから抜け出せないクラブが少なくないと思います。
※なお、事業規模が成長したとしてもすぐにクラブスタッフの給与への反映はあまりされません。その分、チームの強化費や強化運営におカネがまわります。チームの強化費と成績はある程度の相関関係にあるからです。魅力的なチームを作り→成績が上がり→観客動員数が増え→売上を伸ばしまたいい選手を獲得して→魅力的なチームを作る好循環を狙いますが、強化費を上げた結果チームの成績が上がるとは限らないのがサッカークラブを経営していくうえでの難点(かつおもしろいところ)です。
また、クラブスタッフは日々忙しいあまり、他のことに手を出す余裕がありません。(私が在職中にきつかったことは、まさにこのことです)
J2/J3のクラブの場合は、担当部署を複数兼務することはごくごく普通にあります。
忙しいあまりに本を読む時間も取れませんし、(給与が低いため)本を買うこともほとんどなくなりました。代わりに月に1度図書館に行ったり一番大きい本屋で立ち読みできれば上出来なぐらいです。都市圏のクラブであれば違うかもしれませんが、地方クラブだとほとんど金銭的・時間的・地理的理由で他のことに手を出す余裕がありません。他スポーツを勉強として観戦することはもちろんできず、地方と都市では開催されるイベントの質と量ともに比べものにならないですし(これも担当部署にもよりますが)基本まとまった休みも取れないので家族旅行も難しいでしょう。
このようにおカネもない、休みもない環境だと、いくらやりがいを感じていても辞める人(もしくはより事業規模の大きく給与も高い他クラブにステップアップ移籍)が続くのも納得できると思います。
以上、ざーっと書かせていただきましたが、
Jクラブは熱を持った優秀なビジネスパーソンが圧倒的に足りないことと優秀なビジネスパーソンを受け入れる環境が整っていないため組織として弱い会社(クラブ)が多く、内部からの改革はめちゃめちゃ難しい状況にあると私は思います。
ただ、(無茶言うなと言われるかもしれませんが)難しい状況だからこそ、えほみほさんはじめ現在Jクラブスタッフとして一生懸命働いている人たちにはどうか頑張ってほしい。そしてこの状況を変えていってほしいです。
つらつらと在職中に感じていたことを書かせていただきましたが、仕事としては非常にチャレンジングでやりがいは間違いなくあります。
私も自身の金銭的余裕ができてビジネスパーソンとして「いまならお役に立てるかも」と思えたら再度挑戦したい気持ちはあります。
私自身は、引き続きサッカー界にアンテナを立て続ける予定ですので、「イニエスタがJリーグにくるかも!?」を超すような事業側のニュースが出てくることを楽しみにしています。今後のJリーグの成長を考えると村井さんや木村さんなら「外資オーナーOK!」ぐらいのことはやると思ってますし、アジアで一番のサッカーリーグになっておらが町のクラブとしてたくさんのクラブが町の誇りであり続けることを祈っています。
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 これを聞いたのは自分。
かなりたくさん書けることがわかりました。
怒りの告知期間は実は結構長め。でもタイムアップした時の爆発力が尋常じゃない。
普段は神のように優しくて(って神様か)何でも許してくれそうだからっていい気になってると、堪忍袋の緒が切れた時がすごく恐い。
でもよく読んでみると、ヘブライ人が他の神様へ浮気した時でも、ほんのちょっとくらいなら大目に見てもらってるんだよな、実は。
異教徒の神々の祭壇を破壊して祭司を殺していた神の預言者のくせに、他の異教徒の神様にちょっとだけ浮気してた人がいたように思う。うろ覚えだけど。
有名な例では、十戒に出てくるモーセの兄のアロンも、金の子牛の像の作成プロジェクトのリーダーになってたけど、周りの子牛崇拝者たちが殺された反面、彼だけ無罪放免されてる。
お付き合いとかで断り切れないとかそういう事情を加味してとか、何かあったのかもしれないけど。
「-Wno-なんちゃら」と浮かんだ私にとって、
「警告レベル」を「Off」
ってのは新鮮。C/C++というかコンパイラ全般、もう何も年触ってないからなんだろうけど。
でもこれって、すべての警告が出なくなるんじゃないの?使ったことないからはずしてるかもしれんが。
いわゆるこういった「あなたも本を出しませんか」商法にこういうウラがあるだとは、恥ずかしながらd:id:kanoseさんの記事(http://d.hatena.ne.jp/kanose/20070116/fantasynovel)を読むまで知らなかった。
身内がしばらくの間、盆と年末のコミケにサークル参加していた。
だからいわゆる「同人誌」の作成プロセスに関して、スケジュールや費用の調整・在庫の保管といったものが付き物である事くらいは、傍目から見る範囲だけどおおよそは把握しているつもりだ。
(ちなみに私は、当時は徐々に普及し始めたワープロをたまたま買っていたこともあって、原稿アシスタントとしてフキダシのセリフ部分の打ち込み・プリントアウトを担当した)
もっとも、身内の書いていたのはいわゆる「健全本」であり、何かと取り沙汰される『18禁本』では無かったので、売り上げなど高が知れている程度のレベルなのだが、巷では『大手サークル』の売り上げや『18禁本のすごい中身』といったものばかりがキワモノ的にクローズアップされる例が多いのを見ると、こういった分野の話題を含めて一般人が自費出版(あるいは同人誌)というものに対して、いかに「実情知らず」な想像しか持っていないかを痛感させられる。
人から金を毟らずに誰かを幸せにできるんか。
そこにWin-Winの関係を築けるのなら、その行為は「むしる」とは言えないのでは。
うまくは言えないけど――「これだけのカネを出しただけの価値はある」と思えるような結果を相手に提供する事ができたなら、それは「むしった」事にはならないのでは、と思う。
だから例えば、ベンツのカギを車内に閉じこんでしまった人に対しての解錠費用として1万円を請求するのならば、それは決して『高過ぎるとは言えない』(仮に一般人が専門用具を用意していじったところで、ベンツのカギが問題も無しに開く事は、まず無いのだから)。