2019年1月31日木曜日

[解決?] Windows 10 + NEC Aterm WR8370NでVMWare ゲストを公開できない?

中の人です。

NEC製品のAterm WR8370NでVMWare ゲストを
外部公開した時にはまったので雑記を残してみる。

<現状の結論>
ポートマッピングすれば公開できるが、
ネットワーク内から接続できないので公開状況を確認することはできない。

<現象>
ポートマッピングして外部DNSに登録したホスト名(A)を使用。
ポート指定のURLを
ネットワーク内のPCのブラウザで開くとアクセスできない。
nslookupやtracert(traceroute)は正常に動くが
ページを開くことができない。

スマホ(※1)で開くこともできない。

コレガやバッファロー製品では普通にアクセスできたのに
Atermだと動かないとか、嫌になります。

<原因?>
Atermの仕様としか思えませんが、ネットワーク内から外部DNSの
Aレコードを引いた先のポートマッピングしたPCに至ることができない。

実は外部には公開されていた。以下のサイトを使用して確認できた。
Proxy経由の結果を表示してくれるサイト

スマホもwi-fiをOFFにすれば表示される。

※1
屋内であり、wi-fi接続。

<対処>
ネットワーク内からはどうあがいてもアクセスできないので
hostsにホスト名を書き足すことで対処した。

こんなことですごく時間が・・・・。

改善して欲しい・・・。

2019/9/18
ネットワーク内のPCのアクセスが禁止されていたから。当然だ・・・。禁止されているが合致するPCがあると内側から参照しようとするので見れない。参照を禁止するのであればルーティングで外に飛ばしてくれればいいのに・・・。

2022/6/8
今更ながら読み返すと矛盾してる。
ネットワーク内のアクセスが禁止されているならhostsに記載して
接続できるはずがない。
ちなみに後日購入したWG2600HM4を使用していますが、hostsを
使用しなくても接続できています。
当時の操作が間違っていたのか、形式固有の現象なのか、ファームウェアの
問題なのか切り分けができていません。
単にPCが参照するDNSが書き換わっていなかっただけとかだと
間抜けすぎです。

2018年12月26日水曜日

[Solved] Rdmineに plugin redmine_holidays_pluginを入れて祝日表示

久しぶりの中の人です。

 RedMineに「redmine_holidays_plugin」を入れようとして
躓いたのでメモ。

以下から入れています。RedMine3ですが問題ないです。

https://github.com/taktos/redmine_holidays_plugin

pluginのviewsの以下のファイルを修正
_holidays_settings.html.erb

<p>
<table>
  <tr>
    <td><%= l(:region) %></td>
    <td><%= select_tag('settings[region]', options_for_select(Holidays.available_regions, @settings['region'])) %></td>
  </tr>
</table>
</p>
init.rb
require 'holidays/core_extensions/date'
class Date
  include Holidays::CoreExtensions::Date
end

Redmine::Plugin.register :redmine_holidays_plugin do 
...


2018年9月7日金曜日

Rails5 ブラウザの戻るボタンを押した時、直前の表示のまま画面が描画されない

中の人です。

Rails5でブラウザの戻るボタンを押した時、直前の表示のまま画面が描画されない動作をするのでなんとなく調べてみた。

controllerでrender plain:'hoge'

とした画面を開いてから、ブラウザの戻るボタンで同システム内の画面に遷移したところ
hogeが表示されたままURLが書き換わる。F5で再描画すると当然本来の画面が表示される。

以下をcontrollerに埋め込み、URL通りに描画されるか確認してみる。
    #w = ActionController::Base.helpers.javascript_include_tag 'jquery.js', 'data-turbolinks-track': 'reload'
    #w = '<script src="/assets/application-d22e7c94926be5a9960fdc36a34174b5ef9fff0d88ce78fae9ed74d47fd22377.js" data-turbolinks-track="reload"></script>'
    w = '<script src="/assets/application-d22e7c94926be5a9960fdc36a34174b5ef9fff0d88ce78fae9ed74d47fd22377.js"></script>'
h=<<-EOL
<!DOCTYPE html>
<html>
  <head>
    <title>タイトル</title>
    #{w}
  </head>

  <body>
    <h1>Test#show</h1>
development
  </body>
</html>
EOL
render html: ActionController::Base.helpers.raw(h),status: 200


 
結果、以下の行があると再描画される。中身はjquery.js
<script src="/assets/jquery-875821d1e3121b366b94ea86a07f3cbc5c76cb16a319bc62212c03a805ff20e9.js" ></script>


ActionController::Base.helpers.javascript_include_tag 'jquery.js'で書くと再描画されない。

内部まで踏み込まないけど、不思議な動作。

2018年8月6日月曜日

jQuery .click() と .trigger('click')

中の人です。

jQueryでaタグをクリックしようとした時に
.trigger('click')は動かない。
.click() は反応する。

少しつまづいたのですが、
a要素にはclickが定義されていない。
だからtriggerすることができない。

.click()は行為なので反応する。

なんとなく投稿。


2018年7月24日火曜日

Rails5 scope vs self.method [winner scope 勝者はscope]

SEOはあまり関係なくなってきた中の人です。

Rails5 で作業中。ModelでStrong paramsから取得したパラメータを条件にwhereで絞り込みを掛けるにあたり当初self.method_nameとしていましたが、挙動が大きく違うのに気づいてscopeに切り替えました。

  1. Mode.all.method_name(strong_params).to_sqlは機能しない。
  2. Mode.where('foo=?',bar).method_name(strong_params)だとwhereで与えた条件が無視される。
1.はデバッグ時にクエリが確認できない。
2.は当然バグに。

 scope一択です。

2017年9月8日金曜日

[Solved] Wordpressにpostieを入れるもGMailに接続できない

中の人です。

Wordpressにメールで投稿できるPostieですが
インストール後、何故かGMailに接続できない。

openssl s_client -connect pop.gmail.com:995
で確認すると接続できない。


ソフトウェアFirewallは切って、ポートは開いているし
cURLでもSocketでもダメ。
当然、GMail側のPOPは許可している。
Googleのアカウントの設定で 安全ではないソフトウェアからの
接続も許可するも変化なし。二段階認証もOFF。


原因不明。


ふと、別のGMailアカウントで接続したところ
何事もなかったかのように接続できた。

新規のGMailアカウントだったので再度
ユーザを作り直して試したところ無事にアクセスできました。

GMailのアカウントに何らかの問題が発生していたとしか
考えられませんが、こんなこともあるんだなと。

以上。



2017年7月4日火曜日

古いPCにLinux(debian)を入れてみる

中の人です。

古いノートPC( Lavie L770 )のHDDがクラッシュ、
 CDドライブが破損している、USBブート不可。

なんとかXPを入れなおすも、まともに動くブラウザがない。


Ubuntuをいれるも、重い。動画がカクカク。ローカルに保存すれば
それなりに再生できるものの、非常に不便。XP並みに軽いOSにしないと。

以下を見つけたのでDebianにトライ。
http://solong.hatenablog.com/entry/2017/01/09/174522

Debian ISOを取得
https://www.debian.org/distrib/netinst

i386、です。

メインPCのVmWareで新規仮想マシンを作成、物理ディスクを
仮想ドライブとして利用して、そこにインストール。

この古いノート、ルートデバイスが30GBを越えると起動しなかった実績があるので
150GBの2.5インチHDDを30GB、120GBに分割。

デスクトップ環境は紹介記事に倣ってLXDE。

以下、試行3回。3回目で成功。

◇1回目
ネットワーク経由のパッケージ インストール予測時間がメインPC環境下で
ありながら50分。ひとまず、そのまま放っておく。
(○○.debian.jpがお勧めとかでていますが、遅い。)
しばらくして確認したら「残り3時間」 。参照するサーバを誤った。

◇2回目


パーティション構成で問題があり、前にインストールしたUbuntuが残っていた。
再インストール。apt関連は理研にした。
残り時間先ほどは3時間とかでしたが今回は20分ぐらい。サーバ選択は重要。


HDDをノートPCに戻す。
Ubuntuでは上手くいったけれど、これで起動するかどうか。

起動した!!・・・が、エラーを吐いている。メンテナンスモードでログインできるようなので
ログイン。
ログ見ると/dev/sda2がマウントできないとエラー。super blockのサイズが間違っているとのこと。
VMWareでインストールするとよくあることですヨネ。
ひとまずフォーマット。

mkfs -t ext4 /dev/sda2 

マウントの試行、問題なし。

最終的に改善しない。やり直し。

◇3回目
aptのサーバは奈良大学。こちらも早い。理研は接続不可だった。
2回目は120GBの領域がエラーを吐いていた。多分ノートPCがうまく処理できない。
30GBをルート、5GBをスワップに割り当ててインストール。

HDDをノートPCに戻す。
電源ON・・・起動・・・さくっとマウスアイコンがディスプレイに現れる。

ルーターにpingをうつ。通信できている。
成功!!

chromiumをaptでインストール。

Ubuntuに比べて3~5倍は快適。イライラしなくて済む。
これで何かに使えると感じる程度の環境になりました。