Yahooストアマネージャーで、画像をHTMLから参照する方法 その1

直接、画像を参照する方法。

<img src="/lib/自分のショップ名/画像ファイル名">

更新すると、よしなにしてくれます。
(libの部分が自動でフルパスに書き換えられます。)

注意点

  1. 全て半角英数字で記入すること。
  2. 画像ファイル名は、画像管理に書いてある名前通りに記入すること。

名前通りといのは、
画像管理の表示で拡張子が無いファイルの場合は、
拡張子を記入してはいけません。
忠実に、画像管理のファイル名通りに入力すれば表示されます。

jpgをアップロードしたからjpgだ。とか。
名前変更したけれど、元はjpgだから。とか
考えていると痛い目に会います!

つか、会いました。

Yahooストアマネージャーで、画像が追加できないなという時の追加方法 その1

困っている人がいると思うので投下。

多分、今ってストアマネージャーから画像を追加しようとすると、
思うように画像追加が出来ないと思います。

やっていることとしては、

ストアマネージャーで画像を個別で追加する時に、

  1. 画像管理タグを押して画像管理ページを開く。
  2. フォルダリストから追加したいフォルダを選ぶ。
  3. 追加ボタンを押す。
  4. 画像追加遷移に移る。

手順かと思うんですけれど。
エラーと警告されていないにもかかわらず、
期待する場所に画像を追加することが出来ないです。



しかし、こうすることで画像を追加することが出来ます。

  1. 画像管理タグを押して画像管理ページを開く。
  2. フォルダリストから一番下にある追加画像フォルダを選ぶ。
  3. 追加ボタンを押す。
  4. 画像追加遷移に移り。画像を追加する。

こうすると画像が追加されます。
あとは、ページ編集のページで編集すればよいです。

商品ページに表示したい画像を"フォルダリストの追加画像"から選択して更新してあげてください。

そうすると、おそらくはあなたの期待するフォルダに画像が移動していることでしょう。

追伸:
ストアマネージャーのソースがオープンにされていればプルリクするぉ!!
なんつって、問い合わせ窓口がわからないので、ここに投下することで対応。

チームビルドはボトムアップかな? 変化の担い手チェンジエージェントの実践を追え!に参加してきた。

遅刻しましたすみません…。
窓口にて待っておられた方、本当にありがとうございますm(_ _)m

まとめ

  1. 看板を設計する
  2. コワス!!
  3. 改善とは
  4. 改善していく思考を備える人を増やす
  5. 自分自身のモチベーションを保つ
  6. 今後やりたいこと
  7. 認識した課題

いつも(社内での)と違った視点のお話が聞けて良かった!
ちなみに、ボトムアップ云々は自分が思っただけです。

続きを読む

Mojolicious::Plugin::Config->load単体での使い方。@Test::Mojo

cpanには以下のように書かれている。

 $plugin->load($file, $conf, $app);

だので、以下のようにしてみた。

my $t = Test::Mojo->new("MY_APP");
my $config = Mojolicious::Plugin::Config->load($file,$config,$t);

> Can't locate object method "log" via package "Test::Mojo"

ってなってしまったので、どうしたもんか。

$tをダンプして、みたらappのメソッドがあった。
logはappの下にあるので。

my $t = Test::Mojo->new("MY_APP");
my $config = Mojolicious::Plugin::Config->load(file,config,$t->app);

ってしたら通った。

YATTA!

filenoで、ファイルハンドルを知ろう。

のっけからあれなんですが、正確にいうとファイルの記述子(descriptor)を知ろうです。

printf("STDIN  no:%s\n",fileno(STDIN));
printf("STDOUT no:%s\n",fileno(STDOUT));
printf("STDERR no:%s\n",fileno(STDERR));
printf("DATA   no:%s\n",fileno(DATA));

open(IN1, "+> ./a");
printf("IN1    no:%s\n",fileno(IN1));
open(IN2, "+>./b"); 
printf("IN2    no:%s\n",fileno(IN2));
open(IN3, "+>./c"); 
printf("IN3    no:%s\n",fileno(IN3));
close IN1;
open(IN4, "+>./c"); 
printf("IN4    no:%s\n",fileno(IN4));
open(IN5, "+>./c"); 
printf("IN5    no:%s\n",fileno(IN5));

__DATA__
STDIN  no:0
STDOUT no:1
STDERR no:2
DATA   no:3
IN1    no:5
IN2    no:6
IN3    no:9
IN4    no:5
IN5    no:10
  1. システムは、この数値を見てどこへ読み書きするかを判断しているようです。
  2. STDINからDATAまでは固定っぽいです。(4番目はなんだろう…。)
  3. ファイルハンドルをいくつも開き続けていくと記述子の数値は上がっていきます。
  4. 閉じると、その記述子がまた使えるようになります。
  5. ハンドルが開けていない場合は、undefになります。
  6. ファイルハンドルの名前が違っても、記述子が同じだったらそのハンドルは同じです。
if (fileno(THIS) == fileno(THAT)) { #名前違うけれど中身同じ。
        print "THIS and THAT are dups\n";
}

fileno - perldoc.perl.org

まぁ、なんでこんな話をしたかというと。
DATAの記述子を確認すると通常であれば3が返されるんですが、
undefで返ってきていたんですね。
で、なんでかなと調べたので少しまとめてみました。

ちな、undefが返ってきていた理由は、使用していたモジュールがDATAハンドルをcloseしていて使えなくしていたってところです。

いろいろと3時間ハマったお話(実質作業時間は30分だった?)

最近、Mojoliciousを触っています。

バグとかのお話ではないです、ただ自分が馬鹿なだけです。

結果としては、Teng様のバージョン違いを把握していなかった為でありました。

では、その3時間の経過をば、つらつらと…。

  1. ローカルで作ったプログラムが、テスト環境で動かなかった。
  2. テスト方法はTest::Mojo使ってstatusとかを見るテスト。
  3. 期待通りのstatusが返ってこない。
  4. エラーが吐かれないで処理が途中で落ちてるっぽい。(自分の書き方が雑なせいさ!!)
  5. デバッガで辿ろう>Mojo::Exceptionに辿り着く。>やっぱり途中で落ちてる。
  6. けど、何が原因で落ちてるのかわからん!!(自分がデバッガを読みきれてない…。)
  7. 疲れる。
  8. デバッガは諦めて。伝家の宝刀、二部探索!!
  9. しかし、なかなか出来ない。(printだかwarnなどなどするも出ない…。)
  10. なかなか出来ない。(2回言うけれど、自分の書き方が雑なせい!)
  11. 出来ない。(この辺、記憶が曖昧…意識が朦朧…。)
  12. ボクはここで負けるのか…負けてしまうのか…。
  13. 否!エラーをキャッチしよう!!
  14. プログラムをtry{}catch{};で全体を括る。
  15. 実行!
  16. 出来た!!と思ったらデータが多すぎて目が追うのを拒否してる(use DDP; p $e;)
  17. データを読んでも脳みそが拒否してわからない。
  18. p ref $e;してみた、"Mojo::Exception"。さっきの奴だ。
  19. Mojo::Exceptionを読む。
  20. print $e->to_string; column get が無いよ。DBでエラー的なメッセージ。

(print $eって最初からしてたらto_stringと同じだったのね、なんでもかんでもダンプする癖が仇となった…。)

  1. でもgetなんてcolumnは無い…。
  2. 該当行を見に行く。
foreach (@$rows) {
  $_->get("id");
}

的に書かれている。

  1. ん?get??がメソッド?なのにcolumn??そうか!getって書いてある所はカラム名を直接指定していいんだね!?
foreach (@$rows) {
  $_->id;
}
  1. 通ったキター!!
  2. で、なんでローカルで通ったんだろう…。
  3. Teng::Rowを調べる。
  4. ローカルのTeng::Row 0.20ではgetメソッドがあって、テスト環境のTeng::Row 0.18ではgetメソッドが無かったということでした。

(以前のバージョンからであれば、get_column("id")的に書くのがベターであったのであろう…たしか。)

という感じでハマっていました!!

opendirectorydでCPUが暴走

opendirectoryd cpuとかで検索かけると、Dropboxでリンク先のないシンボリックリンクが問題的なお話がありますが。
ボクは、Dropboxを使っていないので、どう対応するか悩んでしまったのでメモ。

リンク異常とか、opendirectroyd(別名ディレクトリサービス)とかなので、
Dropboxじゃないにしろ、ネットワーク周りがおかしいのかな?
と考えて、ネットワーク周りに考えを巡らすも共有フォルダへのリンクくらいしか考えられず。
共有フォルダのリンク周りを見なおしても特におかしい所は見当たらず。
スンスンスーンしてたら。

OS X Server:opendirectoryd のログ記録レベルを変更する

odutil set log debug

でログを出力。

cat /var/log/opendirectoryd.log

で、ログを観察。
一番上の行に、気になるプロセス名が書いてあったので、そいつを強制終了して再起動。
このプロセスのネットワーク通信を許可しますか?的なダイアログが出てきたので許可したら。
(やっぱりネットワーク周りでしたね。)

opendirectorydの暴走が収まった。

odutil set log default

して、ログを停止して、ログを消して。

終了。