ページ「初心会」と「Xamarin.MacでNLogを使う」の間の差分

提供: MonoBook
(ページ間の差分)
ナビゲーションに移動 検索に移動
 
imported>Administrator
(Administrator がページ「Xamarin.Mac/NLogを使う」を「Xamarin.MacでNLogを使う」に移動しました)
 
1行目: 1行目:
'''初心会'''(読み:しょしんかい)とは、かつて存在した[[任天堂]]の幹部会である。
+
[[Xamarin.Mac]]でも[[NLog]]を使えると捗る。
  
== 概要 ==
+
==実装1==
[[ファミコン]][[スーパーファミコン]]などの[[ソフト]]を扱う際に[[みかじめ料]]を徴収していた団体である。一見すると暴力団のような名称だが、実際にやっていた事はほぼ同一であると言われている。もともとはダイヤ会と呼ばれる任天堂と花札屋時代から付き合い(直接取引口座)のあった一次問屋70社ほどを集めた親睦団体であった。
+
[[Xamarin.Mac]]でも[[NLog]]はなんら問題なく使用できる。[[NuGet]]から一発[[インストール]]である。試してはいないが[[MonoMac]]でも同じだと思う。
  
任天堂製品の流通に非常に強い影響力を持った団体であり、小売店は基本的に初心会を経由した流通網以外からの仕入は不可能であったと言われている。そのため初心会の支配下にあった小売店ではレジカウンターに任天堂の看板を掲げ、価格統制なども徹底していた。初心会の支配下にあった小売店はピーク時には全国2万5000店舗を超えたと言われている。
+
ただし[[ファイル]]に出力する場合に注意が必要で、[[Mac OS X]]ではあらゆる[[ファイル]]は[[アプリ]]の外部に保存する必要があるため、NLog.configファイルの設定例でよく見かける「basedir変数」以下に書き込む設定は使えない。
  
なお、ナムコやハドソンなどのファミコンの最初期を支えたメーカーについては特例が認められており、初心会を介さずに製造および販売が行われていた。
+
===ファイルに出力するNLog.configの設定例===
ただし[[ナムコ]]は初心会を無視して[[みかじめ料]]を払わずに独自の流通網でソフトを販売するのみならず、法の拡大解釈により[[カルチャーブレーン]]などの製品の製造代行を行ったため初心会から鉄拳制裁を喰らったと言われている。具体的には初心会加盟の小売店にナムコ製品排除の圧力をかけるというものであった。その影響で行き場を失ったナムコの頑張りにより[[プレイステーション]]は大成功したとも言われている。
+
そこで以下の例では[[Mac OS X]]では定番の「~/Library/Logs/」以下に出力してみた。
  
コンビニ流通などに押されて初心会は1997年に解散したものの、任天堂がプレイステーションで新規参入したSCEに敗北した原因の一つが
+
<source lang="xml">
この団体の圧政によるメーカー側の不信感がピークに達した為だったと思われる。
+
<?xml version="1.0" encoding="utf-8" ?>
 +
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
 +
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 +
      xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
 +
      autoReload="true"
 +
      throwExceptions="false"
 +
      internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log" >
  
== 黄金のマリオ像 ==
+
  <variable name="appname" value="monobook"/>
初心会への加盟にあたっては「黄金のマリオ像」をリース契約(フランチャイズ契約)しなければならなかった。
 
厳密にいえば初心会デザインの「看板と陳列棚」のリースであるが、そのオマケとして付属した「黄金のマリオ像」ばかり有名になったのでこのように呼ばれている。
 
  
大雑把にいえば暴力団のフロント企業が風俗店やスナック、キャバクラなどにリースしている観葉植物とまったく同じビジネスモデルである。
+
  <targets>
 +
    <target xsi:type="File" name="logfile"
 +
    fileName="${specialfolder:folder=MyDocuments}/Library/Logs/${appname}/${shortdate}.log"
 +
        layout="${longdate} ${uppercase:${level}} ${message}" />
  
== 分納 ==
+
    <target xsi:type="Console" name="console" />
分納とは、一定数量の発注を掛けても、実際の納品は分割されて行われる方式のことである。
 
初心会の代名詞となっている。
 
  
例えば年末にマリオの新作が出るとする。
+
  </targets>
発注書には「12月の新作発注数」を書く欄しかない。
 
マリオが200本欲しい場合200と書く、そうすると同月発売の全ての新作ソフトに200本の発注かかる。
 
  
更にそれが12月に来るかといえばそうではなく、分割して納入される。おまけにそのクソみたいな枠に入るためには前述の「金のマリオ像と黒枠ディスプレイ」のフランチャイズ契約を結ばなければならない。
+
  <rules>
 +
    <logger name="*" minlevel="Trace" writeTo="logfile" />
 +
    <logger name="*" minlevel="Info"  writeTo="console" />
 +
  </rules>
 +
</nlog>
 +
</source>
 +
NLogに設定するパスは[[絶対パス]]なので、ホームディレクトリのパスの取得は「[[MonoMac/特殊ディレクトリのパスを取得する]]」を用いてMyDocumentsを指定することで取得した。
  
* 小売A「クリスマス商戦で売るから50本くれ」
+
また、NLog.config中でアプリ名を動的に取得する方法がわからなかったので、この例では自前でappname変数を用意している。
* 小売B「クリスマス商戦で売るから50本くれ」
 
* 初心会「100本受注ゲットだぜ」
 
* 任天堂「5本しか作れなかった」
 
* 初心会「小売Aは態度が良いから3本ね。残りは年が明けてからね」
 
* 初心会「小売Bは態度が悪いから2本ね。残りは年が明けてからね」
 
* 小売A「」
 
* 小売B「」
 
  
商戦は毎年決まった一定の期間であり、その期間の納品が優遇されるかは小売店の過去の実績によって変動した。これを[[実積配分]]という。
+
===備考===
 +
NLog.configは初期状態でビルド時にコピーされない設定になっていると思うので修正するのを忘れないこと。NLog.configファイルのプロパティの「出力ディレクトリにコピー」の値を「新しい場合のみコピー」または「常にコピー」に設定する。
  
元々はファミコンのROMカセットの生産効率が悪かったために発生した事象だと言われている。
+
===不具合===
任天堂のROMカセット工場の生産能力の関係で生産が間に合わないにも関わらず、初心会は100%受注をうけ、実際に生産されたROMカセットは初心会の気分で納品が行われたというものである。
+
これは2015年8月3日の情報です。
当然のように商戦時期を逃したROMカセットは不良債権である。
+
[[Xamarin.Mac]]において「Debugビルド」を行うとアプリ内(***.app内)のMonoBundleディレクトリにNLog.configファイルが生成(コピー)されるが、「Releaseビルド」では生成されないようだ。たぶん[[不具合]]だと思う。
商戦時期に優遇してもらうため、商戦前の何でもない時期に[[クソゲー]]をも大量発注する実績作りが横行したと言われている。
 
  
''詳細は「[[分納]]」の項目を参照。''
+
==関連項目==
 +
*[[MonoMac/特殊ディレクトリのパスを取得する]]
  
== 関連項目 ==
+
==参考文献==
* [[分納]]
 
* [[ファミコン]]
 
* [[スーパーファミコン]]
 
* [[スーパーマリオクラブ]]
 
 
 
== 参考文献 ==
 
 
{{reflist}}
 
{{reflist}}
  
 
{{stub}}
 
{{stub}}
 +
 +
[[category:Xamarin.Mac]]
 +
[[category:MonoMac]]

2019年5月22日 (水) 05:13時点における最新版

Xamarin.MacでもNLogを使えると捗る。

実装1[編集 | ソースを編集]

Xamarin.MacでもNLogはなんら問題なく使用できる。NuGetから一発インストールである。試してはいないがMonoMacでも同じだと思う。

ただしファイルに出力する場合に注意が必要で、Mac OS Xではあらゆるファイルアプリの外部に保存する必要があるため、NLog.configファイルの設定例でよく見かける「basedir変数」以下に書き込む設定は使えない。

ファイルに出力するNLog.configの設定例[編集 | ソースを編集]

そこで以下の例ではMac OS Xでは定番の「~/Library/Logs/」以下に出力してみた。

<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
      autoReload="true"
      throwExceptions="false"
      internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log" >

  <variable name="appname" value="monobook"/>

  <targets>
    <target xsi:type="File" name="logfile" 
    	fileName="${specialfolder:folder=MyDocuments}/Library/Logs/${appname}/${shortdate}.log"
        layout="${longdate} ${uppercase:${level}} ${message}" />

    <target xsi:type="Console" name="console" />

  </targets>

  <rules>
    <logger name="*" minlevel="Trace" writeTo="logfile" />
    <logger name="*" minlevel="Info"  writeTo="console" />
  </rules>
</nlog>

NLogに設定するパスは絶対パスなので、ホームディレクトリのパスの取得は「MonoMac/特殊ディレクトリのパスを取得する」を用いてMyDocumentsを指定することで取得した。

また、NLog.config中でアプリ名を動的に取得する方法がわからなかったので、この例では自前でappname変数を用意している。

備考[編集 | ソースを編集]

NLog.configは初期状態でビルド時にコピーされない設定になっていると思うので修正するのを忘れないこと。NLog.configファイルのプロパティの「出力ディレクトリにコピー」の値を「新しい場合のみコピー」または「常にコピー」に設定する。

不具合[編集 | ソースを編集]

これは2015年8月3日の情報です。 Xamarin.Macにおいて「Debugビルド」を行うとアプリ内(***.app内)のMonoBundleディレクトリにNLog.configファイルが生成(コピー)されるが、「Releaseビルド」では生成されないようだ。たぶん不具合だと思う。

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]