2025年7月15日火曜日

Eclispeのファイル名フルパスに悩む

こんばんは、こうちゃんです。

以前から時折記事にしております、
筆者が仕事で開発業務によく使っているエディタ(厳密には統合開発環境)である、Eclipseですが、こちらデフォルトだとなかなか見にくかったりします。

先日事情があって、PC入れ替え作業をしまして、
Eclipseもなかなか設定までの引っ越しがしづらいのもあって(最新バージョンとの兼ね合いとか)、新規で入れまして・・・

久々に一から入れて起動しましたところ・・・

忘れてました、
起動時に表示され、正直一番使う部分、
プロジェクト・エクスプローラーというファイラーのような表示部ですが、
こちら、まさかのフルパス表示で、ひとつひとつのファイル名が大変見づらい(汗

デフォルト表示がこれですし、開発元(外国?)の方にはこれが見やすいのかもしれませんが、私には性に合わないので、いつも使ってる、ツリー表示の上で、各ファイルの位置では、ファイル名だけが出ていればOKです。
ついでに、フォルダだの、リンクだのでの、
F 、 L などが行頭に出るのもいただけません。

全部変えてしまいましょう。

まずは、
プロジェクト・エクスプローラーのウインドウ枠右上にある、
縦3点リーダー(縦に点点点となってるやつ)をクリック、
表示されるメニュー部の中から、「フィルターおよびカスタマイズ」をクリック。
「フィルターおよびカスタマイズ」ウインドウが表示されますので、
その上部、タブのところで、「コンテンツ」タブをクリックします。
表示される各項目の中で、
「Zipアーカイブ」のチェックを外します。
これであとはOKを押すだけで、すっきり表示がファイル名だけ、
行頭の F だ L だも消えます。 

晴れて見やすくなってめでたしです(多少人によるかもしれませんが)。


こうちゃん

2024年11月25日月曜日

チャットAI・人工知能の有効活用

こんばんは、こうちゃんです。


昨今話題、人気となっているAI、人工知能関連の技術ですが、私も他人事ではなく、IT技術の最前線で戦っているのを自負している以上、ある程度は詳しくなっておかねばと、このところ奮闘しておりました。

もちろん、きちんと活用できるようになれば、仕事にも活用できるため、現在勉強中、特に、人工知能による対話型で情報を引き出せる近年人気のサービスサイト、チャットAIを使いまくっております。

こちらのブログを見てくださっている方は、少なからずITに知見のある方が多いでしょうし、仮にIT関係なくても、さすがに人工知能とは何か?から解説はしなくてもよいとは思いますが、チャットAIなどは、まだまだこの国にとって新しい技術であり情報であるので、ちょっとそのあたりからご紹介しておこうかと。


チャットAIとは?

チャットAIとは、人工知能(AI)を活用して、人間と自然な会話を行えるコンピュータープログラムのことです。

ユーザーがテキストで質問したり会話を始めたりすると、チャットAIがそれに応じた返答を行います。

この技術は、自然言語処理(NLP)という分野に基づき、ユーザーの入力内容を理解して適切な応答を生成するため、言葉の意味や文脈を考慮して対応できるようになっています。

定番チャットAI

https://chatgpt.com/

https://gemini.google.com/app

など


主な役割と使用例

既に実用されている例なども紹介してみますと、

カスタマーサポート: 自動化された顧客対応や24時間のサポートが可能で、ユーザーの問い合わせにリアルタイムで答えることができます。

教育やトレーニング: 学生や学習者が質問した際に答えたり、知識を提供したりして、個別指導のような体験を提供します。

エンターテインメント: 雑談やゲームの相手、対話型ストーリーテリングに利用されることもあります。

近年、生成モデル(GPTなど)の登場で、より複雑で自然な対話が可能となり、様々なアプリケーションやサービスに組み込まれ、日常生活やビジネスに役立てられています。


チャットAIとはこのようなもので、ビジネスの現場ではだいぶ浸透しつつありますが、まだ個人では、時折テレビで特集されて、特に有名なchatGPTなどが取り上げられて、これはどのようなものか、というのが見る人の好奇心に応える形で出てくる程度で、まだまだ個人の実用化レベルでは広まっていない模様です。

そんな中でも、実は十分個人でも使え、特に有名なchatGPTをはじめ、Windowsを使っていれば見かける、Windowsの機能内に含まれるようになったMicrosoftのチャットAIのcpilotや、IT定番のGoogleが開発した Google gemini など、無料でも楽しく使って役立つチャットAIが大量に登場しています。


有効活用方法も多々ありますが、仕事でも日々利用している身としては、こんな感じに活用方法が思いつきます。


・検索エンジンの代わり

これが一般の方の使いやすい方法じゃないかなと思われます。

これまでですと、何かわからない単語とかあった時には、検索窓でその単語で検索して、出てきたいくつかのサイトを開いてみて解説を読んで詳しく知る、みたいなことが多かったわけですが、 チャットAIにそのまま「〇〇とは」と聞いてしまえば、参考サイトに辿り着く前にたいがいはAIがその単語について詳しく解説してくれます。

もろもろの作業のステップがひとつ減らせて作業がスピーディーになります。


・ブログ等のコンテンツ生成

もちろん、日々ファンが読んでくれていて、自身の生きた言葉で記事を書かないとアクセスにも繋がらないような専業ブロガーの方などは人工知能に頼ってはいけないと思いますが、 SEOのためやブログやサイトのコンテンツの補助くらいにはチャットAIで生成された文章でよいかと。

例えば企業のホームページの中で社員ブログとかがあり、会社周辺のお店情報とかを紹介する時などに、9割くらいはAI頼りで情報を出してもらって、そこから企業のサイトらしい体裁を整えてアップ、 とかでも十分使えるかと。


・サイト制作や、ゲーム、一部のプログラム生成

IT業の人じゃなくても今どきは個人でもウェブサイトを持っていたりしますので、改めてこれからサイトを作りたい方、すでに持ってるけどリニューアルしたい方など、 チャットAIに、例えば、「〇〇色基調で、サイドバー付きのサイトで、〇〇をテーマで、htmlとcssでウェブサイト作って」、みたいに指定すると、それだけでもうあとはレンタルサーバーに載せるだけ、 みたいな状態でソースコードを書いて教えてくれます。

不慣れな方が一から作るより相当時間短縮になるかと。


この活用方法のコンテンツ作成という部分にかぶりますが、昨今の優秀なチャットAIは、ほぼ要望飲み伝えれば、知識がなくても、htmlファイルを生成してくれて、サーバーにアップするだけでウェブサイトが見れるようになります。

さらに、コンテンツとして、ウェブサイト上で動くこんなゲーム作って、と依頼すれば、ソースコードを教えてくれます

↓こんな風に

https://js.flatsubaru.net/

実際にウェブサイト上で動くゲームなんかも生成できます。

きちんと使いこなすと、IT関連で仕事や趣味でウェブいじりしてる人にはすんごい省エネに役立つツールですね。

ちなみに、現在無料でも使えるチャットAIサイトは続々登場中ですが、ある程度オープンから日が経ち安定稼働していて、日本語も解釈可能、無料で使用できる(回数制限ある場合も)、チャットAIを紹介するサイト作ってみました。

https://chatai.flatsubaru.net/

チャットAI使ってみたいけど、どこで始めればいいかわからない、どれがよいかわからない、という方でも始められるように簡単めなところから紹介しております。

よかったらお役立てを。


SEO対策などの観点で、サイトのメインコンテンツや、各種紹介文章等は自分の言葉で書いてますが、サイト構成や、あくまで定義情報みたいなものなど、誰がやっても同じものは人工知能に調べて作ってもらった方が楽ちんなものですね。

こういったAIで作ったものを売って仕事にする、というよりは、今後は、仕事の依頼をこなすためにAIを補助ツールとして使ったり、今も仕事にある、お客さんの業務効率化のためのITコンサルなどの中に、AI導入の提案などを入れていけるかと(すでにSEO対策などで活躍中)。

今いきなり仕事上で使える、という職種の方は少ないかもしれませんが、将来的に活用するところが多くなるのは予想できますので、今から触れて慣れておくのをオススメします。



こうちゃん

2024年5月23日木曜日

Deprecatedエラーを消す方法

こんばんは、こうちゃんです。

PHPでプログラミングをしていますと、やや昔に作ったシステムを、
最新のPHPバージョンのサーバーに乗せ換えて動かすこともよくあります。

このような場合に、PHPの古いバージョンでは使えていた関数等で、
今後廃止になる予定や、非推奨のものの場合、動かすと、
画面に、
Deprecatedエラー
が出てしまうことがあります(もちろんエラー表示の設定次第ですが)。

この非推奨エラーは、どうしてもPHPの仕様で、今後の警告のために設定されているものですので仕方ありませんが、
これが画面に出てしまう場合、色々と具合が悪いものです。
自分で使うシステムでも、他者が見るものや、一般ユーザーが見るものでも。

こうした場合は、サーバーのphp関連で設定に干渉できる場所を使って、画面に出てしまわないようにしましょう。
※もちろん直せるのならば、推奨のロジックに直せれば一番ですが、そう都合よくもいかないでしょうし

方法としてはいくつかありまして、

1.php.iniに書く場合
php.iniではそのサーバー上で動く全部のPHPの設定の基になる部分ですので、
ここをいじれるのであれば、今後のためにもそれが一番です。
error_reporting設定のところを探し

error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

というように、Deprecatedエラーを非表示にします。

2.PHPソースに書く場合
レンタルサーバーなどでphp.iniを編集はできない場合で、そのPHP動作ファイルでだけ起きるような場合には、もういっそ、そのPHPファイルの文頭で宣言してしまい、そのファイルでエラー表示されないようにしてしまうのも手です。
<?php タグで記載している部分に

error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED);

と記載します。

3.httpd.confや.htaccessに書く場合
php.iniは操作できないものの、そのサーバー上で動く多くのPHPファイルでエラーが出てしまい、一括で直したい場合は、
もしもapacheの設定ファイルがいじれるのならば、httpd.confに
php.ini同様、httpd.confもいじれないなら(レンサバは多い)、
.htaccessに

php_value "error_reporting" "E_ALL & ~E_NOTICE & ~E_DEPRECATED"

を記載します。

このいずれかの方法で、今後の
Deprecatedエラー表示は抑制できます。

※.htaccessやphpファイル文中に記載して設定した場合は即時反映されますが、
php.iniやhttpd.confを変更したときにはApache(webサーバ)の再起動が必要です。注意してください。

こうちゃん

2024年4月10日水曜日

自分のサーバーにサイト追加する方法(自分でサーバーいじる場合)

こんばんは、こうちゃんです。

自分でサイトを持っていて運営している際などに、主にVPSのような自分で構築したサーバーでサイトを増やす手順です。

ある程度マニアックな情報になってしまいますが、
私自身がサイトを増やす際のマニュアル、覚書的に役立てるためと、
同じような状況で、まだあまり慣れていない方に役立つように、作業メモを残しておきます。

サイト追加手順
※ドメイン取得サイトはどこか定番大手などでアカウント登録して使ってください

1.ドメイン管理サイトにて希望するURLになる新ドメイン取得

2.DNS設定でレコード追加
基本的には、Aレコードで自身の持っているサーバーのIPアドレスに向ける(サーバー管理会社がドメイン設定を指定している場合はそれに従う)
 A サーバーIPアドレス

3.ネームサーバ設定はほとんどのドメイン管理会社で設定不要だが、明示するように書いてある場合はその使用しているドメイン管理会社のネームサーバーを使用するように設定

4.FTPソフト等を使い、WEB用アップフォルダに新ドメイン名等でフォルダを作成し、コンテンツアップロード

(以降サーバーにssh接続でコマンドライン)
5./etc/httpd/conf.d/virtualhost.conf編集
新ドメイン用設定書き加え(↓はfuelの場合、一般サイトなら/public/は不要)
<VirtualHost *:80>
DocumentRoot /var/www/html/ドメイン名/public/
ServerName ドメイン名
</VirtualHost>

6.service httpd restart で新ドメインにアクセスして見えることを確認

↑単にhttp://ドメイン名で新サイトを見るだけの場合はここまでで完了
↓新サイトをさらにssl化してhttps://ドメイン名でアクセスできるようにする場合以下も実行

7.ssl証明書発行&インストール
cd /etc/letsencrypt/
./letsencrypt-auto certonly --webroot -w ドキュメントルート(fuelなら/publicまで含む/) -d ドメイン名
※サーバーのPythonバージョンが低くてエラーが出る場合、Python2.7を有効に↓してから上記コマンド実行
sudo scl enable python27 bash

8.https設定
vi /etc/httpd/conf.d/ssl.conf
既存https設定のブロックをコピーしてドメイン名だけ書き換えて追加(↓具体例)
<VirtualHost *:443>
   ServerName ドメイン名
   DocumentRoot "/var/www/html/ドメイン名/public"

   SSLEngine on
   SSLHonorCipherOrder on
   Header set Strict-Transport-Security "max-age=31536000; includeSubDomains"
   SSLProtocol all -SSLv2
   SSLCipherSuite DEFAULT:!EXP:!SSLv2:!DES:!IDEA:!SEED:+3DES

   SSLCertificateFile /etc/letsencrypt/live/ドメイン名/cert.pem
   SSLCertificateKeyFile /etc/letsencrypt/live/ドメイン名/privkey.pem
   SSLCertificateChainFile /etc/letsencrypt/live/ドメイン名/chain.pem

    <Directory "/var/www/html/ドメイン名/public">
        Options FollowSymLinks
        AllowOverride All
    </Directory>

    SetEnvIf Request_URI "\.(gif|jpg|png|css|js)$" nolog
    ErrorLog logs/ssl_error_log
    CustomLog logs/ssl_access_log combined env=!nolog

</VirtualHost>

9.サーバー再起動
service httpd restart
https//ドメイン名/でエラーなく見れるか確認

10.SSL証明書は3ヶ月で切れるので毎月初日に自動更新
crontab -e

最終行に追加
00 04 01 * * /etc/letsencrypt/letsencrypt-auto certonly --webroot -w /var/www/html/ドメイン名/public/ -d ドメイン名 --renew-by-default && /etc/init.d/httpd restart

※前の手順でpythonのバージョンエラーなど出てた場合、このコマンド時にもpythonのエラーによりうまく動かない可能性もあります。
その場合、crontab自体に、pythonの強制コマンド入りで登録しましょう

00 04 01 * * sudo scl enable python27 bash && /etc/letsencrypt/letsencrypt-auto certonly --webroot -w /var/www/html/ドメイン名/public/ -d ドメイン名 --renew-by-default && /etc/init.d/httpd restart

これでほぼOKのはずですが、ちゃんと証明書が更新されたかなどは、crontab自体が動いたかの確認と、実際のサイトで証明書日付の確認などをしましょう(まあ一回ちゃんと動いたのを確認すればほぼ大丈夫ですが)。

vi /var/log/cron
などでcrontabのログを確認できます。
少し古い場合、/var/logフォルダ内を探して cron日付-日付になっていたりするのが過去ログ分です。


ドメイン引っ越しの場合
上記手順で引っ越し先のドメインでサイトを見れるようになったら、
引っ越し元ドメインのルート(URL叩いたら見れる階層)に、
.htaccess ファイルを作成し、中身を
Redirect permanent / 引っ越し先URL
と書いてアップ、これでURLを構造ごと転送がかかるようになる
こうしないと、全ページ、新URLのトップに転送とかかけちゃうとインデックスや各ページのSEO評価が引き継がれなくなってしまう

以上のような流れで新サイトをサーバーに追加できます。
もちろん既存のサーバー設定等で必ずしも上記通りにいくとは限りませんが、かなりの部分で参考にはなると思います。

こうちゃん

2024年4月3日水曜日

SVGファイル

こんばんは、こうちゃんです。

昨今人気の画像ファイル形式のSVGファイルですが、
拡大・縮小しても画質が劣化しない、とレスポンシブデザインのサイトなどに親和性がよいため、広く普及してきています。

このSVGファイルとはどのようなものか、などを今日はご説明していこうかと思います。

SVGファイルとは、Scalable Vector Graphics(スケーラブル・ベクター・グラフィックス)の略で、
webサイトで多くのケースで使われているJPG、PNG、GIFなどの画像ファイルが、ラスタ形式なのに対して、SVGはベクトル形式の画像です。
これは、ラスタ形式のJPGファイルなどは、画像の中身を、ピクセルを縦横に並べる方法で記録しており(言うなれば座標毎に色をふっているような)、そのため、画像を拡大すると粗くなり、縮小すると、欠けてしまったりします。
作ったサイズから変えるのに不便で、サイト等で使うと、パソコンで見た時には普通なのに、残念ながらスマホで見ると拡大されてギザギザの粗が目立つ、なんてこともよくあります。
それに対して、ベクトル形式でできているSVGファイルは、XMLベースの二次元画像データで、画像の情報を座標を結ぶ直線などの情報で記録しているため、拡大・縮小しても劣化が起きにくい形式です。
サイトなどでレスポンシブデザインを使い、パソコンやスマホなど画面解像度の異なる環境で見られる機会の多い近年のwebサイトに対してとても相性がよいです。

SVG(Scalable Vector Graphics)ファイルの魅力はいくつかあります。以下にそのいくつかを挙げてみます:

1. **拡大縮小に対応**: SVGファイルはベクター形式であり、画像を拡大・縮小しても画質が劣化せず、クリアな表示が可能です。これは、Webデザインや印刷物など、さまざまな用途で重要です。

2. **編集しやすい**: SVGファイルはテキストベースで記述されているため、編集が容易です。SVGファイルをテキストエディタで開いて編集することができ、色や形状、サイズなどを自由に変更できます。

3. **アニメーションやインタラクティブ要素の追加**: SVGファイルにはアニメーションやインタラクティブな要素を追加することができます。これにより、Webサイトやアプリケーションで動的なコンテンツを作成することが可能です。

4. **軽量化**: SVGファイルは一般的に他の画像形式よりもファイルサイズが小さく、高品質な画像を提供できるため、Webサイトのパフォーマンス向上にも貢献します。

5. **検索エンジン最適化(SEO)**: SVGファイルはテキストベースであるため、検索エンジンがコンテンツを理解しやすく、SEOの観点からも有利です。

これらの特性により、SVGファイルは多くのデザイナーや開発者にとって魅力的なファイル形式となっています。

そんなSVGファイルですが、時に事情により(使用できるファイルフォーマットが限られるなど)、JPGファイルなどと形式を変換する必要が出てくる場面もあり、そのような時は、SVGファイルを作成できるIllustratorやphotoshopなどで変換することもできますが、そもそもソフトを持っていなかったりソフトを起動して変換する手間を考えると、web上でできてしまうと大変便利で、
最近ではそうしたサービスを行ってくれる(しかも無料)サイトも登場しています。

https://www.aconvert.com/jp/image/svg-to-jpg/

画像ファイルをそのフォーマットから、好きな形式に変えてくれる、しかも、ネット上に挙がっている画像でもOKという、大変便利な夢のようなサービスです。

よろしければ画像形式の違いに悩んだ際などにはご利用してみてください。



こうちゃん

2024年3月19日火曜日

MAX_QUERIES_PER_HOURでデータベース繋がらない

こんばんは、こうちゃんです。

先日開発中のサイトで突如データベースに繋がらなくなり困ってしまう事態が起きまして、
未来のために原因や解決方法等を備忘録代わりに残しておきますー。

まず、プログラム整備中のサイトにある時アクセスしたら、

has exceeded the 'max_connections_per_hour' resource (current value: 〇〇) i
n

みたいなエラーが出てデータベースに接続するプログラムがエラーで通らなくなってしまいました。
困ったことにこれ、エラー発生原因部分のプログラム消しても何しても一定時間アクセスできなくなってしまうんですね。
何もできないので、その間に、このエラーの原因や対処方法を確認しまして、一応の解決をしましたのでそのあたりのご説明を。

まずエラーに関しては、単純にエラーの英語文通りで、
プログラムで、一時間以内に、
MySQLの、max_connections_per_hour、という設定値以上のセッションを張ってしまったことが原因です。
この値はMySQLユーザーごとの設定ではありますが、
だいたいサイト開いた時に実行プログラム内で、どのユーザーで繋ぐかは決まっているのがほとんどですので、例えば、データを引き出すのに10クエリ発する画面があったとして、その画面を1時間以内に100回開かれれば、1000セッションを張ったことになり、設定値が1000であれば、これでもうエラーに引っ掛かります。

説明でも、
時間単位の接続数: 1時間で新しく開ける接続
これ、私のレンタルサーバーでは1500になっていたのですが、
1時間に新しく開ける接続、てことは、シンプルにサイトを見たら、トップページでSQL使っていたらどんなに工夫してあっても、1接続は発生しますよね、てことは1時間以内にちょっとアクセスが集中しただけでもうお陀仏なんじゃ・・・
なんて設定でしょうねえ。

公式にも
サーバーが実行されると、各アカウントがリソースを使用する回数がカウントされます。過去 1 時間以内にアカウントが接続数に対する制限に達した場合は、その時間が経過するまで、そのアカウントによる以降の接続が拒否されます。
てなってますし。

さすがにこれじゃ使い物にならないので、
解決するためには、まずはプログラムの方は最適化して、むやみにデータベースに対してコネクションを張らないように(必要最低限)するのはもちろんとして、
その上で、この設定値をかなり引き上げておくか、それでもいつかオーバーすることを予期して、規制を停止するかのいずれかがよいかと。

既定数を変更する場合、

GRANT USAGE ON *.* TO 'ユーザー名'@'localhost' WITH MAX_CONNECTIONS_PER_HOUR 数字;

とSQL発行して、数字で最大数を決めればその数値になります。
また、そもそも最大数を制御したくない(規制しない)場合はこの数値を0にします。

GRANT USAGE ON *.* TO 'ユーザー名'@'localhost' WITH MAX_CONNECTIONS_PER_HOUR 0

これで今後この制御は外れます。
といっても、むやみにコネクションを増やさないようなシステム作りも心がけた方がよいのも言うまでもないですが。

こうちゃん

2024年2月16日金曜日

chromeのシークレットモード

こんばんは、こうちゃんです。

いつも使っていて大変便利なgoogle先生作の優秀ブラウザ、
chromeですが、もちろん普通に使っていても大変便利で使いやすいんですが、
サイトに情報が残ったり、chrome自体にgoogleアカウントでログインしておりますと、
自身のID、パスワードを記憶してしまったりします。

そんな時に、大事な情報を一切残さずサイトに訪問したい場合、
chromeにはデフォルトで便利な機能が搭載されています。

シークレットモードです。

こちら、使い方は、ブラウザ右上の設定アイコン(縦〇みっつ)をクリック
シークレットウィンドウを開く、をクリックしてください。

そうしますと、普段はタブが白いchromeですが、
タブの黒いウィンドウが開きます、こちらがシークレットモードを使える状態のブラウザになります。

以降は普通のブラウザとして使用できますし、
通常時に登録したブックマークなども使えます。

ただし、この状態では、開いた段階でcookieもセッションもクリアされており、また、その状態で使ったブラウザの情報、閲覧履歴やフォームに入力した内容は記録されません。
また、ブラウザを開いている間は閲覧しているサイトでcookieやパスワードは利用できますが、そのシークレットウィンドウを閉じた際にcookieもきれいにクリアされます。
例えばパソコンが共用パソコンである時など、他のユーザーに操作内容が知られずに使うことができるという便利機能になります。

なお、シークレットモード中にダウンロードしたファイルなどはそのまま残り続きますので、ご注意ください。

また、もしも通常のchrome使用中に、
特定のサイトを開く時だけいつもシークレットウィンドウにしたい、などの場合は、
大変便利なchromeのextensionのひとつ

Incognito Filter

を使うといつでも実現できます。
このextensionを入れて、アイコンから指定したいサイトURLを登録したり、利用したいサイト開き中にアイコンクリックから設定することができます。
これにより、日常のサイト閲覧、ネットサーフィンなどで、特定のサイトを開く時に、履歴や入力データを残さずに済むので便利です。

こうちゃん

2024年1月17日水曜日

FTPで425エラー!?

こんばんは、こうちゃんです。

私は本業で多くのサイトを作成・管理しておりまして、
つい先日、いつものように大量管理しているサイトの操作中、
あるサーバーにFTPで繋ぎまして、ファイル操作をしようとしましたら・・・

ffftpにて(FTP用フリーソフトです)
425 Unable to build data connection: Operation not permitted

!?
どいうこと!?
いつも使っててこんなエラー出てなかったんですけどーーーー

仕方ない、だいたいFTPでのこんなエラーなんてのは、過去の賢人達も一度はぶつかっていて、同じように悩み、解決してきた歴史があるはず、と調べれば解決するだろうと、
早速エラーメッセージにて検索してみました。

おおう、まずは解決方法は置いておいて、このエラーメッセージが出る時の原因は判明しました。

FTPでは通信時に使うポートが、
制御用コネクション(control connection)と呼ばれる、ファイル転送に関する指示(コマンド)をやりとりするためのもの、デフォルトで21番ポートと、
データ転送用コネクション(data connection)と呼ばれる、データ転送用ポートで、デフォルトで20番ポート、
のふたつを使っているそうで、
425エラーは、まずは、
425 Unable to build data connection
という部分があり、データ転送用コネクション(data connection)を確立できなかった(接続できなかった)ことを示しています。

原因としては、セキュリティで20番ポートが閉じられている場合や、
今回のエラーメッセージのように、
Operation not permitted
と出ていれば、権限不足等でポート確立が許可されていない場合です。

これはFTPクライアントでなく、サーバーのFTPサーバー側の設定なので、
見直しで、暗号化通信を強制する「TLSRequired on」となっているときに発生するようで、対策としては、
proftp.confを開いて、

TLSOptions NoSessionReuseRequired
という行を追記、FTPサーバーを再起動することで直ります。

他、そもそも、ファイア・ウォールなどのセキュリティ設定で20番ポートを閉じている場合も接続できませんので、その場合、アプリケーション層で対処でなく、サーバー管理者に確認の上、20番ポートをふさいでいないか、解放できないか、の相談をするとよいでしょう。

こうちゃん

2023年12月7日木曜日

PC操作自動化ならAutoRunner!

こんばんは、こうちゃんです。

こちら、繰り返し作業や、パソコンに一定の自動作業をさせるのに大変便利な、種々のパソコン操作の自動化ソフト、
AutoRunner!です

これは画期的なソフトで、起動すると、メニューから、パソコンで実行したい各タスクをアイテムとして何個も登録することができ、そのひとまとめを実行させると、あとは自動で順に実行、しかも繰り返し処理も指定回数こなせる、という大変な優れものです。
指定できる動作には、コマンドラインで指定のプログラムを起動、などをはじめ、指定のwebページを開くとか、キーボード操作も指定可能、マウスでこの座標をクリックしろ、などもやすやす、とにかく普段のパソコン作業で画面上で行っているような作業はほぼ自動化できます。
そして、画面にソフトが起動するまでの時間等も考え、例えばある作業をしたら何秒待って次を、などもすべてのタスク間で指定可能というすばらしさです。

そして、そんなすばらしいソフトが、なんと無料のフリーソフトであるというこの驚きの事実
http://ichisoft.nobody.jp/ar.html

似たような作業自動化系のソフト、これまでもいくつかはありましたが、
指定できる作業の幅広さや使いやすさで、こちらがかなり秀逸ですね。

使い方は最初だけ少し手こずるかもしれませんが、慣れると簡単に設定を作れます。

https://www.vector.co.jp/magazine/softnews/020828/n0208281.html

今リンクが切れていて、ここからはダウンロードはできませんが、
使い方はしっかり説明されておりますので、よろしければ参考にされてください。

こうちゃん

2023年11月16日木曜日

ライセンスフリーな画像だけ欲しい時

こんばんは、こうちゃんです。

今回は意外と知られていないgoogleの画像検索の使い方のご紹介です。

ブログやサイトを作成する際に、趣旨にあった画像を貼って説得力を増したい場合や、
見栄えをよくしたい場合がありますよね
このような時、フリー素材ならば気軽に使えるのですが、どうしても適当に必要なワードで検索して、見つかった画像をポンとダウンロード、使用、というわけにはいきません
※著作権や使用権のフリーでない画像は利用できません

そのような場合、gooele検索は大変便利で、用途に応じて、使用権のフリーな画像や、クリエイティブ・コモンズ・ゼロ(著作権がない状態。著作者が自ら能動的に権利を放棄したものです。)やパブリックドメイン(作者の死後50年経って自動的に著作権が消滅した物)などが簡単に検索できます。

まずは、google検索で、絞りたいキーワードを検索窓に入れて検索
最初の表示結果から、キーワード下の種別のところで、画像、をクリック
この時点でも大量の画像が出てくると思いますが、この時点では、まだフリー画像とかではありませんので画像を選ばないでください
次に、検索窓下右側にある、「ツール」という文字をクリック、そうしますと、下に文字列が展開しますので、その中の「ライセンス」をクリックします
これで、利用したい画像の目的ごとにライセンスの度合いに対応した画像絞り込みができます


最初はライセンスでフィルタリングしない、にチェックがついていると思いますので、
使いたい目的に応じて、
「再使用が許可された画像」とかを押すと、その内容で絞りこめます。
こうして絞った画像は、使用が許諾されていますので、原則使用できます。
なお、それでもその公開サイトに公開ルールで、著作者クレジットは入れること、などが入っている場合はそのルールにのっとりましょう。

クリエイティブコモンズの考え方で、
完全な権利放棄でなく、何種類かのwebの二次利用のための公開方法があり、そのルールづけがサイト内で表記されている場合がありますので

※なお、クリエイティブコモンズとは
クリエイティブ・コモンズ(Creative Commons)は、著作権を持つクリエイターが、自らの作品に対して柔軟なライセンスを提供するための非営利団体です。クリエイティブ・コモンズのライセンスは、著作権者が自分の作品に適用することで、他の人がその作品を自由に使用、共有、改変することを許可するものです。このライセンスは、著作権者が従来の「すべての権利を保持する」スタンスから、「一部の権利を他者に開放する」スタンスに変化させることができます。クリエイティブ・コモンズのライセンスには、使用条件を明確に示すためのいくつかのバリエーションがあり、著作権者は自分の作品に適したライセンスを選択することができます。これにより、著作権保護と共有のバランスを取りながら、クリエイティブな活動や情報の共有を促進することが可能となっています。

それでも、簡単なルールを守るだけで、有償の高い写真素材などを買わなくても使いやすい写真や画像素材が山と使えるのは大変魅力ですので、画像を多用するクリエイターや、ブロガーの方はこの方法をぜひ利用してみてください。

こうちゃん

2023年10月13日金曜日

主要ブラウザとレンダリングエンジンのお話・クロスブラウザ対応について

こんばんは、こうちゃんです。

以前、ブラウザあれこれ、な話をしましたが、
ついでなんで、ちょっとメインで使うご紹介。

お仕事上、お客さんに納品するようなWEB制作物ならば、
様々なブラウザに対応できなくてはいけなくて・・・

かといって、世のすべてのブラウザに対応、なんて不可能なわけで
現状、主流の数ブラウザに対応すればよいことになります。

基本はお客様と相談して、推奨ブラウザは決めますが、
今のところ一番落ち着くのは、

・IE(8以下)
・FireFox
・chrome

の対応をする。といったあたりです。
(最近ではWindows10用の新ブラウザEdge用も追加)

IEはバージョンにより画面描画のルールが極端に変わるので・・・
そのWEBを欲しいお客さんや、そのWEBを見るエンドユーザーの範囲で、
IE7以前への対応は要検討、となることが多いです。

どこかの社内で使うようなシステムならたいてい、
旧IEへの対応不要

ぐるなびのような、
不特定多数のお客さんが見るサイトの場合、
旧バージョンIEへの対応必須

などとなることが多いです。

ちょっと、クロスブラウザ対応にもからむお話でした。

よろしければご参考にしてください。
まあ、今後は、iPhoneの人気を考えたら、
Safari用も考えないとかもしれませんし、
そもそもスマホ自体画面解像度などの都合で、
パソコンのブラウザで見る用とはまた別の考慮をしないといけなくて大変なんですけどね。


あと、さらに追加で、
WEB業界に関わるには必須な情報を少々ご紹介していこうかと思います。
ここでは、ネットする際に必要なブラウザの裏方、というか内部的に必要な情報で、

レンダリングエンジン

とは
という部分を説明してみようと思います。
ちょっと別のブログでもこの「レンダリングエンジンとは」を解説したのですが、
こちらでも

レンダリングエンジンとは、ブラウザの中に搭載されている機能で、ウェブサイトを閲覧する際に、サーバーから取得してきたファイル内容を、ある規則・法則に従いユーザーに見えるように描画する機能です。
本来国際的にも基準・標準が定められているWEBの世界においても、このレンダリングエンジンが、WEBサイトのソースをどう解釈するかで、画面の表示のされ方が異なることはよくあります。

例えばですが、かつての定番ブラウザのIEなどに使用される
trident

今や数々のアドオンで快適にカスタマイズして使えて人気なFireFoxを中心に使用される
Gecko

MacなどでもおなじみSafariに使われる
webkit

のように、定番ブラウザの世界でも数種類あります(その他、独自のレンダリングエンジン搭載のブラウザも若干存在)。

これらのレンダリングエンジンの差が、
実際に、あるホームページを見た時に、このブラウザと、あのブラウザでは、
開いた時の見栄えが違う、のような現象を引き起こします。
特に近年、スタイルシートが飛躍的な進化を遂げているのと、
Javascriptの高度な利用が多くなってしまっているため、
ブラウザ依存、と言われる、あるブラウザでのみ動くサイト、
のようなものも多くなってしまっています(ここらの事情が本当にWebシステム開発者泣かせです)。

この搭載レンダリングエンジンによりブラウザはかなり特徴づけられますので、
今後ブラウザの紹介・解説する際には記録するようにします。


ちなみに、上でも記載しました、

クロスブラウザ・クロスブラウザ対応とは

についてもご説明します。

クロスブラウザとは、
Internet Explorer や Firefox 、 chrome 等、
webブラウザの仕様の違いなどによる挙動の違いをなくす技術のことです。

CSSやJavaScriptといったブラウザ側で解釈するものは、
まったく同じコードを書いたとしても、
ブラウザの解釈により、違う振る舞いをして、
制作側の意図と違う挙動をする場合があり、
それをなくし、本来の意図の挙動をさせるための技術になります。

通常、レンダリングエンジンといって、
ブラウザの、HTMLソースを受け取り画面への出力を決めるエンジン部分により、
おおまかに動きは決まっていますが、
時にブラウザにより、さらに独特な動きをしたりします。

そのため、あまりにマイナーなブラウザや、
InternetExprorer の過去バージョン(IEはかなりバージョンごとに挙動が違う)などは、
対応をあきらめる場合も多いです。

そのような事情で、
WEB制作側として、動作保証する推奨ブラウザを宣言している場合が多いです。

実際、当ブログの筆者自身もシステム作成をしておりますが、あまりにも毎年のように様々なブラウザが作られ、世にリリースされておりますので、どんなブラウザでも見れます、みたいなサイトを作ってしまうと、まさかの画面崩れが起きてしまうことも多々ありまして、
そして、実際何度かお仕事でもそれで失敗もあり、
やはり、今どきのシステムでは、定番のシェアの高いブラウザ、chrome、firefox、edge、opera、くらいでしか保証しませんよ、と言って作っております。

ほんと、個人や、小さな会社が、速度やメモリの食わなさを売りにして特殊ブラウザを出すのは構いませんが、画面表示に関わるレンダリングエンジンなどまで独自実装だったりするのだけは本当に勘弁してほしいです。
現場エンジニアとしてはそうしたブラウザに出くわすたびに泣きそうです。



こちら、以前につい見つけてしまった記事なんですが

「グーグルの社員が亡くなるとその配偶者は10年間給料の半額を貰えるらしい」海外の反応
http://blog.livedoor.jp/drazuli/archives/6234651.html

今や検索エンジンの会社としては世界シェアNo.1をひた走り、各種ITサービスでも有力なサービス、他社を買収しまくり、すっかりIT業界のトップに君臨するgoogle大先生ですが、

ほんと、マジっすか!?
どんだけGoogle社は待遇いいんすか!?
もうさすが天下のGoogleっすね

同じWEB業界に生きる者として、
食堂無料とか、自習時間があったり、
息抜き自由とか、
結構あこがれるとこだらけですがw

にしても、この制度に、
勤続年数関係ないのはすごいですね。
やっぱり入社できるだけで結構な能力持ちであることは確定ですし、さすがに入社してすぐにいきなり亡くなるようなことはまずない(事故は除く)ですし、入社した、というだけでこれを福利厚生に持ってくるんですね。
さすがとしか言いようがありません。

まあ、こんな情報が知れ渡ったせいで、世間ではGoogle社員と結婚して旦那を暗殺するのが流行りそうで怖い・・・


さっき数えてみたら・・・
自分が仕事、趣味等でこれまで作成したサイト等ウェブメディアが約4700、そろそろ5000に到達する感じでしたw
とりあえずSEO対策用のサテライトにもなるので10000サイトまでは増やす予定でして。

そして、SEO対策もしてそこそこ露出増やしてると・・・
やっぱよくくる、テレビに使わせてくれ、の依頼、
いや、協力するとか、うちを材料に使ってもらうのはいいんだけど、なんで必ず無料で、なんでしょうね。おいくらで、と尋ねると必ず返ってくる、いえ、無料で、の声。

前に聞いたら、取材の場合は取材協力費を出す場合もあるが、サイトの全部、または一部を紹介や利用の場合は社の規定で無償だそうで、まあ有償にしちゃうとわざとテレビに売り込もうと過激な写真や動画をでっちあげる人が増えちゃうから、というのを前に記事で見かけたことはあるけど・・・
それにしたって、毎回無料で提案されたら、あんまし気乗りしないですよねえ。

て、勝手にどうぞの場合はいいんですけど、OK出したら、じゃあ各ページの作成時期や動機を、みたいにこっちに無駄に手間を要求してきたことあるんすけど・・・なんでそっちは何も出さないのにこっちにはずいぶんな手間かけさせんの??と

あとたまにある、テレビで使ってやるから情報まとめてここまで連絡よこせや、的なずいぶん上から目線連絡、うーん。

もちろん、丁寧な連絡、姿勢のいい人もいっぱいいるんですけどね。
できることなら、最初から規定で、画像いくら、ページ単位ならいくら、とか、インタビューにはいくら、のように謝礼規定をきちんと決めて、これで、〇〇をテレビ用にいくらいくらでお譲りいただけませんか、のように聞くのがお互いのためにもいいと思うんですが・・・

こんな零細事業者から無料でテレビ材料をせしめておいて、ふんぞり返ってるテレビ人たちは年収数千万、芸能人は年収数億、って、そんなん気持ちいいわけないですよね。


こうちゃん


2023年9月12日火曜日

FuelPHPでindex.phpを省略する方法

こんばんは、こうちゃんです。

プログラム言語のひとつで、htmlとの親和性の高さで、サイト制作によく使われる言語のPHPで、高速かつ便利な機能が充実していて近年人気の高まっているフレームワーク、
FuelPHP
このFuelPHPを用いて開発をする時に、
最初にぶつかりがちな壁のひとつの解決方法を解説します。

FuelPHPをサーバーに入れて、初期設定を済ませて、webで見られるようにした時、
最初、URLは、
http://ドメイン名/index.php/コントローラ名/アクション名

のように、URLの中でドメイン名の次に、動作ファイルの名前である、index.phpが入ってしまいます。
通常のサイトで、PHPファイルを配置、見えるようにした時の
http://ドメイン名/index.php
でしたら見えていてもいいですし、外のページも、
例えば、
http://ドメイン名/access.php
みたいに各ページに名前がつくのでindex.phpも見えていても構わないですが、FuelPHPの場合、その続きにコントローラ名、アクション名がつくので、
すべてのURLに変わらずindex.phpがつくのはあまり見栄えのいいものでもありません。
ですが、初期で勝手にこのindex.phpを抜いて

といったURLにアクセスしてもエラーで画面が表示されません。
この場合の、index.phpを除いて
http://ドメイン名/コントローラ名/アクション名
としてアクセスするための方法の解説です。

変更すべき点は3ヶ所で、

1.
fuel/app/config/config.php
の中ですでに用意されていますので、コメントアウトを削るだけです。

 * Set this to 'index.php if you don't use URL rewriting
 */
- //'index_file' => false,
+ 'index_file' => false,

2.
/public/.htaccess
の同じく、すでに用意されているコメントアウトの#を外すだけです。
#Remove index.php from URL
- #RewriteCond %{HTTP:X-Requested-With} !^XMLHttpRequest$
- #RewriteCond %{THE_REQUEST}               ^[^/]*/index\.php [NC]
- #RewriteRule ^index\.php(.*)$         $1 [R=301,NS,L]
+ RewriteCond %{HTTP:X-Requested-With}  !^XMLHttpRequest$
+ RewriteCond %{THE_REQUEST}                ^[^/]*/index\.php [NC]
+ RewriteRule ^index\.php(.*)$          $1 [R=301,NS,L]
コメントアウトを外すだけで対応できます

3.
.htaccessを有効に
これはサーバー設定で、すでに有効化してあれば対応しないで大丈夫です。
上記1.2.を設定しても動かない場合、この対応をしましょう。
まずはapacheの設定
linuxサーバーならばたいていこのパスにある設定ファイル
/etc/httpd/conf/httpd.conf
を編集

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

のように、フォルダ設定がある場所で、NoneをAllに変更しましょう。
-AllowOverride None
+AllowOverride All

この変更後、保存して、webサーバー再起動します。
service httpd restart
レンタルサーバーなどでコマンドラインを操作できない場合は、そのレンタルサーバーのサービスごとにあるであろう設定変更の手順やサーバー再起動の箇所を探してください。

以上の対応で、以降Fuelプロジェクトで、

http://ドメイン名/コントローラ名/アクション名

のように、index.phpなしでアクセスできるようになります。
FuelPHP導入時によくハマるあるあるですので、どうぞご参考にしてください。

こうちゃん

2023年8月9日水曜日

target="_blank"でなくjquery制御でリンクを別ウインドウ開き

こんばんは、こうちゃんです。

htmlを使ってサイトを作っていると、必ずといっていいほどある、
外部リンク
多くの場合、外部リンクに飛ばす場合は別ウインドウで開く、というのがweb制作の定番ではありますが、例えば、サイト作成の途中でその挙動を変えたくなることがあるかもしれません。
そうした場合、通常のhtmlでリンクを製造しますと

<a href="URL" target="_blank">サイト名</a>

として別ウインドウ開きのリンクは作りますが、この場合、
例えばサイト中に多くのページがあり、大量にリンクがあった場合、書き換えが大変です。
もちろんソース全部に文字列の置換等はかけられますが、その後再度関係ページを全部アップし直しなど、手間がかかることは間違いないです。

そうした時に、全部のリンクの挙動を一括で管理するのに、
例えばjQueryを用いておくと大変便利です。

まずは定番、ヘッダでjQueryを読み込んでおきます。
<head></head>間に

<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>

の記述をしてGoogle提供のjQueryライブラリを読んでおきます。

その上で、
script表記中か、読み込んでるJSファイル中に
$(function(){
        $('.クラス名').click(function(){
        window.open(this.href, '_blank');
        return false;
        });
});
を記載すれば、htmlファイル中で、例えば、

<a href="URL" class="宣言したクラス名">サイト名</a>

と書いたリンクに関しては、この挙動、今回は別ウインドウで開く、
ということになります。
また、もしも挙動を変えたい場合、簡単に一か所書き換えるだけ、

        window.open(this.href, '_blank');

の、_blank を、例えば、_self にすれば、
これまで新規ウインドウで開いていたリンクが一斉にそのウインドウ上に、つまり、普通の画面遷移に切り替わります。
システム、サイトが大きくなればなるほど途中で変えるのは大変なものですので、こういった工夫が重要になってきます。

こうちゃん


2023年7月17日月曜日

手軽にできる最高なネット副業のhoneygain

こんばんは、こうちゃんです。

こちら、今回発見しました、スマホやパソコンを使って稼げるお手軽でお得なネット副業、

Honeygain

のご紹介です。

こちら、会員登録して所定のアプリを導入しますと、自身のネット回線の一部をこのサービスに貸し出すことで、代わりに報酬をもらえる、という画期的なサービスです。

まだ2019年末に海外でオープンしたばかりのサービスで、実績こそ少ないですが、まだこれから日本での拡大が期待できますので、先に始めておくと大変お得です。


まずは会員登録画面から、登録、アカウント作成をします。

Emailアドレスと、パスワードを入力して登録します。
なお、上記リンクから登録画面に飛んでいただくと開始時から5$がもらえるようになっておりますので、ぜひこちらからご登録ください。
登録しますと最初にEメールの有効確認をされますので、登録したアドレスに届いている確認メールのリンクに飛んで、アカウントの有効化をしてください。

これで、honeygainを利用開始できます。

確認完了後、
https://dashboard.honeygain.com/
自身のログイン後の画面右上部より、使いたい環境に合わせたアプリのダウンロードを行います。


アプリを起動しておくだけで自動で回線を提供、代わりに報酬がもらえますので、導入以降は特に手間はありません。

基本的に、メインの回線利用に支障がない程度ですし、
最大で1日10GBの提供 = 1$ 月あたり最大30$の報酬まで、と普通に仕事するよりはもちろん安いですが、スマホもパソコンも、普段使うついでにこのアプリを使うだけでお小遣いがもらえると思うと手軽でおいしいです。

さらに、自身が紹介した人から、報酬の10%相当が紹介者にも入りますので(もちろん当人のポイントが減らされるわけでもありません)、ぜひお早目の開始をお勧めします。

まだ日本ではほとんど広まっておりませんが、ゆくゆくは国民全員がスマホに入れて使うであろうことは間違いありませんので、今宣伝して国民の内、赤ちゃんなどを除いた1億人くらいを紹介しておけば、何もせずとも月50億円ほどの紹介報酬がもらえる、という奇跡のサービスです。

こうちゃん

2023年6月15日木曜日

Eclipseで色々な拡張子のファイルをPHPとして扱う

こんばんは、こうちゃんです。

自分で一時期ハマった部分ですので、復習も兼ねて備忘録を。

今回実行したいテーマは、
「Eclipseで色々な拡張子のファイルをPHPとして扱う」

システム開発にはとっても役立つ統合開発環境のひとつ、若干重いものの、
優秀な機能揃いの不朽の名作、Eclipseを使っていてちょっと生じた悩みの解決法です。

Eclipseは開発時に、.phpのファイルですと、デフォルトでPHPファイルとして認識して、
各種スクリプトの補完やエラーチェックをしてくれますが、
これが独自定義のファイル(仮に拡張子.abc)や、htmlファイルはPHPとしては扱ってくれません。
これを自分の開発しているシステムで、どうしてもhtmlファイル内でPHPを扱う必要性や、独自定義の拡張子でファイルを作る必要があり、.phpのファイル以外にも、PHPエディターで編集する必要が出てきました。

そんな時に役立つのが、Eclipseの多彩な設定機能です。

・ウィンドウ → 設定 → 一般 → エディター → ファイルの関連付け
 を開く

・ファイル・タイプ欄の右側から「追加」をクリックして、ファイル・タイプに、追加したいアスタリスク付き拡張子(*.abcなど)を入力して「OK」をクリック

・ファイル・タイプの一覧に追加した*.abcが表示されるようになっていますので、クリックして選択、ウインドウ下部の欄「関連付けられたエディター」の「追加」をクリック

・「エディターの選択」画面で、「内部エディター」を選択して、このファイルタイプで使いたいエディター(PHPとして扱いたいならPHPエディター)を選択、「OK」をクリック

・「関連付けられたエディター」欄に今追加したPHPエディターを含め複数のエディターが表示されるので、PHPエディターを選択、右側の「デフォルト」をクリック

・ウィンドウ → 設定 → 一般 → コンテンツ・タイプ を開く

・コンテンツ・タイプ → テキスト → PHPコンテンツ・タイプ にて、「ファイルの関連付け」欄右側、「追加」をクリック

・「コンテンツ・タイプ」入力欄に今回PHPとして扱いたいファイルを入力(*.abc)

・適用して閉じるを選択

・Eclipseを再起動
※バージョンによっては開いていたファイルにはキャッシュがきいて適用されない場合があるので、開いていたファイルは閉じて再度開く

これで、希望の *.abc のファイルもPHPエディターで開くことができ、無事にPHPの補完機能、カラーリング等を使用することができるようになります。

このひと手間を加えるだけで、ファイルの編集が大変に便利になりますので、
新しい拡張子を扱いたい場合などは最初にこの手順をやりましょう。

こうちゃん

2023年5月16日火曜日

.htaccessでDocumentRootを変える方法

こんばんは、こうちゃんです。

レンタルサーバー等を使っていると、
最初からドキュメントルートのフォルダが決められてしまっていて、
ルートの位置にしたいフォルダの指定ができないところも多いかと思います。

そのような場合、事情により、アップ内容をフォルダ分けして、
例えば、web公開用のwebフォルダと、プログラムでの参照用にdataフォルダとを並列で置きたい、みたいな時に困ります。

本来のドキュメントルート下の、あるフォルダ内にファイルを配置し、
そこをドキュメントルートとして扱いたい場合、
そのレンタルサーバーなどで、.htaccessファイルの動作が許されていれば、
rewriteを使って対応可能です。
本来のドキュメントルートに、.htaccessを作成、その中身を以下のように記載します。
※仮に新ドキュメントルートにしたフォルダは web とします。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^$ web/ [L]
RewriteRule ^(.+)$ web/$1 [L]
</IfModule>

これで、フォルダ<web>内がドキュメントルートになります。
サイトを読み込む際に動作させる部分ですので、特にサーバーの再起動等も必要ありません。

最近ではフレームワークなどの都合で、ドキュメントルートが最上層じゃないケースもありまり、また、レンタルサーバーもフォルダ構成を変えられなくないので、ドキュメントルート変更をさせてくれない場合もあり、
このような方法で対応できると大変助かります。

こうちゃん

2023年4月17日月曜日

DBの接続エラーで

こんばんは、こうちゃんです。

先日、なぜかサイトの中でデータベース情報をひくところだけアクセスできず、
何かと思って調べたら、
DBに接続できず、

1030 got error 28 from storage engine

が出ている。

あまり見たことの無いエラーで何のこっちゃ
て思っていたら

http://d.hatena.ne.jp/pospome/20130214/1360818789
どうやら、サーバー側の容量不足から起きてしまうエラーなのですね・・・

うーん、困った。
ひとまずは不要ファイルの整理で対応できますけど・・・

こうちゃん

2023年3月23日木曜日

エラーが発生しました: (bX-h4vcxa)

こんばんは、こうちゃんです。

このブログも書いておりますBloggerサービスですが、
稀に起きてしまうエラーで、

エラーが発生しました: (bX-h4vcxa)

と出て、ブログ記事が保存できなくなってしまうことがあります。
まさにこのブログを更新している時に起きてしまったのですが、
これが出ると、その記事を何回更新を押してもエラーで保存が実行できませんし、
困ったことになってしまいます。

運営にあたるgoogleのヘルプにもこの現象については書いてありませんし、
ネットで検索してもほとんど事例・解決策は見当たりません。

数少ない情報ですと、
エラーが発生しました: (bX-h4vcxa)
            ↑のアルファベットなどのエラーコード
は様々に変わっていることがあり、
メッセージはこれ、現象もどれも同じく、記事の保存ができない、という現象のようです。

ケースにより直る理由も様々で、
一回エラー出ただけで、次に保存しようとしたら大丈夫だった、
ブラウザを変えたらエラーが出なくなった、
時間が経ってから保存しようとしたら大丈夫だった、
など
これで直る、という正解もないように見受けられます。

ちなみに、私の場合、回線状況の不調だったのか、
ノートパソコンを使って、Wi-Fiでネットに繋いでおりまして、
一度ネットワークを切断して、再接続してから保存しようとしたところ無事に保存できるようになり、以降はこのエラーは出なくなりました。

再現性もいまいち不明で、公式にもこのようなエラーのケーススタディは出ていないため、
残念ながら、もし起きてしまったら、色々対処試してみるしかないのかな、と思います。

もしも同様のケースでお困りの方がいらっしゃいましたら、参考までに。

こうちゃん

2022年9月22日木曜日

XREAさん借りてみました

こんばんは、こうちゃんです。

仕事柄色々とサーバーをいじることもありますし、
自身の開発にもサーバーは必要なのですが、
案件で借りる以外はできれば安く済ませたいところで・・・

XREA
https://www.xrea.com/
というレンタルサーバーが激安なので借りてみました。

12ヶ月契約にすれば月あたり191円、初期費用も無料。
それでいて、容量は十分、さらに独自ドメインも64個まで導入可とは、
大変にありがたい限りです。

もちろん、サーバースペックは値段相応だったりもしますが、
そもそも自身の開発用くらいでしたら、そんなにアクセスや負荷がかかる予定もないですし、
これはお得で使いやすくてよいですね。

これからガンガン利用していこうと思います。

当方、ブログを多数作って書いている他、山のようにサイトも持っていますので、安いレンタルサーバーは欠かせないのです。


あと、そんな折に・・・
こないだ、PC最近重くなってきたな、とデフラグかけてみたら、こりゃずいぶんごちゃごちゃだったよで、2時間くらいかけて念入りにデフラグかかりまして・・・

あー、きっとだいぶ荒れてたんだな、と今度はエラー修復
エラー修復ってPC起動時にかかるように設定するんすよ(Windows起動後ではできない)

それで、1TBのハードディスクにしかけた結果・・・
5時間orz
ほんとまいりました

こういうメンテナンスは、パソコンのもつ性質上、必須なものではあるものの、ちょっと切ないです。どうしてもやらないとなんですけどね。
とはいえ、最近はwindowsなどのシステムを入れるのは、ハードディスクはほとんど使われなくなり、もっぱらSSDに入れることが多くなりまして、
その場合、メンテナンス自体も激速になりましたし、
そもそもデータだけで関していえば、SSDのドライブはデフラグなんかのデータメンテは不要になりましたもんね。
技術の進歩はすごいものです。
まださすがに値段面で、大量データの保存は、SSDよりもHDD中心ではありますが、その内、SSDも安くなってデータ保存も1TBのSSDを使う、とかな時代が来るんでしょうねえ。



最近どうしたんでしょうねえ
ずっと残暑ひどく

特に今年は、夏は終わらないのか!?
というくらいに暑い日が終わらなかったのに、
先週くらいに大雨続きかと思ったら

それ終わったら急に冷え込みて!?
夏布団じゃ寒いくらいになってしまったorz

おかげでちょいと風邪気味に・・・

季節感ってのは、徐々に感じさせて欲しいものですね。
あと、そもそも・・・温暖化ってのはどこにいったんだ?w

毎年確かに夏は暑くなり続けている気はしますが、
冬の寒さも厳しくなってる気も。
あ、それとも、いつも夏が暑すぎて、比較で冬がすごい寒いと思ってしまう錯覚なのか、
どうなんでしょうねえ。
 

こうちゃん

2022年9月8日木曜日

社長はワンマン

こんばんは、こうちゃんです。

こちら、小さな会社ばかり渡り歩いていると気づくブラック企業あるあるなのですが、
小さな会社は利益とか、業務の効率とか、正義とか、法とか、すべてどうでもいいんです。
社長の気分と機嫌がすべて、
これに尽きますね。

ほんと何時代だよ!?って思いますけど、
大なり小なり、会社を興すということは、
人に下では働けない人間、なんでも自分の思い通りにならないと許せないタイプの人間なわけで、
そのため、自分の会社=なんでもしていい場所と思っていて、
たいていの社長は、法や利益などどうでもよく、
社員はすべて自分の思い通りに動く奴隷でないと許せなく、
会社は自分のわがままを好き放題できる自分だけの城だと思っているきらいがありますね。

転職とかを重ねていると、特別な技能でもないと、大手企業には入れなく、
やむを得ず、中小企業に入ることもあるかと思いますが、
お気をつけください。
中小企業が、どうして社員数も少ないのに、大手並に年中求人しているのか、
その理由を考えれば、明らかですが、
小さい(=総社員数が少ない)のに、人を常時補充し続けないといけないというのは、人がバンバン辞めていくからで、
そのくらい悪環境というのがほとんどです。

小さな会社がいっぱいある=社長という働かないお荷物がたくさん増える、なんですから、人手不足が叫ばれる昨今、社員数が少ないと会社解体、一定人数いなければ起業禁止にすればいいのに、コスト削減とかも考えたら、各業界には、大企業が2,3社あるだけの方がよほど経済のためなのに。
無能社長が労働者としては働けないから無意味な会社を興しまくった結果が今の焼け野原のような日本かと思うと、ほんと、この会社システムはどうかと思いますね。


そして、

うーん、
ここ2ヶ月くらい歯の治療に通い・・・

ぼちぼち口の中も
いい環境に復活してきたのですが、

治療が多すぎて、
歯の周りが変わり過ぎて・・・

ちょっと気になる。

早く完全治癒させたいものです。



ちょいと切ないことになったご報告を。
って、またよくあることではあるのですが・・・
私がサイト作成用に借りていたサーバーが・・・

一基サービス終了orz
しかも事前予告なしの、突然廃止でした。

いえ、無料のところだったし、
規約でもサービスの存続は保証しない、
というやつなので、仕方ないものではありますが・・・

代わりを手配しないといけないものですし、
うーん、大変です。
実際、突然のサービス停止の危険とか考えると、ちゃんとした有料サーバーを借りた方がいいのはわかってるんですけどね、最近だと月々の利用料格安のところも増えていますし。

ただ、ついつい簡単にサーバー何個も増やせるのが楽で、
無料系のレンタルサーバー借りてしまうんですよね。
まあ、また無料レンサバ借りてしまいつつ、
今後のために自分で構築する安いVPSでも借りておこうかな。


http://himasoku.com/archives/52101364.html
まあそりゃそうだ、
真の有能は世間の有象無象どものレールなんてガン無視で、独自路線でも成功しますからねえ。
セーフティーネット的な、自分で何も決められない、かつ、自分で新しいことを切り開く能力なんてまったくないものにとって、
数少ない生きる指標的なものが、世間ではレールと呼ばれているというのに、
それを外れたら生きていけない、って、そりゃそうだ、
外れたら生きれない無能をなんとか生かすためのレールだというのに・・・。
そこに文句言うのもいわゆる低能、という難しい矛盾。


http://sumaburayasan.com/archives/22648212.html
うわぁ、プロゲーマーなんて呼ばれる人種などほど、
下手な人にもやさしくして、ゲームの色んなタイトルのすそ野を広げていかなきゃ自分のメシのタネがなくなるというのに・・・アホなんですかねえ。
完全に自爆ツイートを・・・しかもすぐ消してるってことはまずいとも自覚してるし、また、本心でもあるんでしょうしね。


http://onihimechan.com/archives/54686746.html
うん、これ、報告者は何も悪くないですね。
むしろ普通なら、二度と口きけなくなるくらいまでボコボコにしてから、
財布とって、あ、こんなとこに金あったんでもらいます、ゴチでーす、って言っていいくらいでしょうね。
それか、派遣会社に抗議じゃなくて、社内であろうと窃盗だから、
即警察に突き出すか。
これだって、ちゃんと私物を盗られたわけだから、
警察に被害届、ダメだっていうなら刑事告訴すれば十分な仕返しにはなるかと。


こうちゃん