スマホでも動画再生させる方法。

2023.10.16

Logging

おはよう御座います、スマホでも動画再生させる方法を記載しますね。このコードをvideoタグに入れるとスマホでも動画が再生されるようです。iPhoneのSafariとchromeで動作確認済。最新のブラウザではスマホでも動画再生されるようです。

<video autoplay preload="none" loop="loop" muted="muted" playsinline=""

上記のコードで大事になるのが「playsinline」という所、この記述がなければスマホでは動画が再生されません。ググってもなかなかこのコードにたどり着くことが出来なかった。昔はスマホで動画が再生され無かったのですが、いまの最新のブラウザではスマホでも動画が再生出来るようになっているので、これは良い感じだなぁと思います。なお、ミュートとかオートプレイも大事だということも付け加えて置きます👍。

因みに一昔前だとサーバーサイドでストリーミング再生でとかしていたと思いますが、この手法が使えるようになってからは、かなり低予算で対応出来るようになったのではないかなって個人的には思いました。

明日へ続く😌

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

Chrome, iPhone, loop, lt;video autoplay preload, muted, muted&quot, none&quot, playsinline, quot, quot;loop&quot, Safari, videoタグ, オートプレイ, サーバーサイド, ストリーミング再生, ブラウザ, ミュート, 一昔前, 手法, 記述,

さくらレンタルサーバーライトでもLaravel。

2023.05.03

Logging

おはようございます。さくらレンタルサーバーライトで初期のドメインでもLaravelは導入可能。ただし、Laravelの構築はローカル側でDockerなりなんなりを使用して構築しないと限りなく面倒なので、おすすめしません。

Laravelのローカル導入は割愛して、さくらレンタルサーバーライトの初期ドメインで構築するには、どのようにすれば良いかを記載します。まず、ローカル側でLaravelを構築し、そのファイルをサーバー側のwww配下にアップロードします。その後、wwwに.htaccessファイルを新規作成し下記のような記述を書いてください。こうすることで、さくらレンタルサーバーライトでもLaravelを使用できます。尚、Mysqlはさくらレンタルサーバーライトでは使用できないので、sqliteを使用する事になります。

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/reborn9-app/public/
RewriteRule ^(.*) /reborn9-app/public/$1

軽量のWebサービスならさくらレンタルサーバーのライトでも十分動作します。是非、トライしてみてください。

追伸:ライトなのでcronは使用できません。格安サーバーでcronまで使用したいというのならばロリポップが良いかと思います。5分間ですがcronも使用できます、ロリポップ最強かも🤔。

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

$1, cron, docker, htaccessファイル, Laravel, MYSQL, public, reborn9-app, REQUEST_URI, RewriteEngine On RewriteCond %, RewriteRule, Sqlite, www配下, さくらレンタルサーバー, さくらレンタルサーバーライト, ロリポップ, ロリポップ最強, 記述, 軽量, 追伸,

laravel8系以降でのルート、web.phpの記載。 #laravel

2022.12.17

Logging

おはようございます、寒さ対策が必要になってきましたが未だに部屋のエアコンはつけていません🥺。

Laravel8以降でのルート、web.phpの記載は7系とは記述が違いますって思っていたのだけど同じような記述する方法で書く方が楽だなって思ったので、今はそうしています。7系は下記のような記述で大丈夫でしたが8系以降、名前空間の部分も記載してあげないといけなくなりましたって話。ただ、コレは7系から8系へ対応する時に対応し易いようにしたもので、今後、使用できなるかもしれないので標準で記載するほうが良いのかもしれない🙄。

Route::post('/{id}/cart',"Cart@add");
Route::post('/{id}/cart',"App\Http\Controllers\Cart@add");
use App\Http\Controllers\Cart;
Route::post('/{id}/cart',[Cart::class,'add']);

フレームワークってのは自社開発する方が良いなって思うこともあります、理由はルールを自分で創ることが出来るということです、オープンソースのフレームワークは、PHPのバージョンアップする時にどうしてもバージョンアップ対応が必要になってきます。そこが厄介だなって思うですね。

動けばバージョンアップする必要はないのですがね、そうもいかないのが、開発現場の現状だったりするのかもしれない🤔?

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

Cart, ID, laravel8以降, php, POST, quot;AppHttpControllersCart@add&quot, quot;Cart@add&quot, Route, use AppHttpControllersCart, web.php, エアコン, コレ, フレームワーク, ルート, ルール, 未だに部屋, 標準, 現状, 自社, 記述,

Photo by Singkham on Pexels.com

CSSファイルの設定を読み込んで一括背景色変更するコード。 #cssfile #javascript #coding #colors

2022.11.30

Logging

おはようございます、先日の日曜日は原因不明の体調不良で寝込んでおりました(¦3[▓▓]。

今日は何とか体調が回復したので、CSSファイルの設定コード読み込んで一括背景色変更するプログラムコードを作成しました。※実際、自分のブログ・サイトで動いているコードになります。

<link rel="stylesheet" href="examplestyle.css">

導入方法はまずヘッダーに変更したいCSSファイルを記述します。次にbody内に下記のコードを記述します。

<span id="site_description"></span>

最後にJSコードを挿入します。JSコードはファイルで読み込むでもベタ書きでも良いのですが、上記のHTMLタグより下に記述してください。そうしないと動作しません😗。

let htmlcode = ["#efefef", "#181B39", "#262a2e", "#192734", "#1c483b", "#bf7800", "#83094f"].map(elm => `<span class='color_code' style='color:${elm}' data-color-code='${elm}'>■</span>`).join("\n");

const basecolor = "#262a2e";
let cookiefn = function (CodeColor) {
    let r = document.cookie.split(';');
    return r.length ? ((r) => {
        let changecolor = "";
        for (let ii = 0; ii < r.length; ii++) {
            let content = r[ii].split('=');
            for (let i = 0; i < content.length; i++) {
                if (content[i].replaceAll(" ", "") === "bgcolor_code") {
                    changecolor = content[i + 1];
                }
            }
        }
        return changecolor?changecolor:CodeColor;
    })(r) : CodeColor;
};

let old_color = cookiefn(basecolor);
document.getElementById("site_description").insertAdjacentHTML("afterend", htmlcode);
[...document.querySelectorAll(".color_code")].forEach(elm => {
    elm.addEventListener("click", function (e) {
        color_set(elm.getAttribute("data-color-code"));
    });
});

color_set(old_color);

function color_set(color) {
    for (let ii = 0; ii < document.styleSheets.length; ii++) {
        if (String(document.styleSheets[ii].href).match(/mag_tcd036-child\/style\.css\?ver=/)) {
            for (let i = 0; i < document.styleSheets[ii].cssRules.length; i++) {
                let element_css_code = document.styleSheets[ii].cssRules[i];
                try {
                    element_css_code.style.backgroundColor = color;
                    if (color === "#efefef") {
                        element_css_code.style.color = "#000000";
                        
                    } else {
                        element_css_code.style.color = "#FFFFFF";
                    }
//いらないかも領域🤔👇
                    document.querySelectorAll("#wp-calendar > tbody > tr > td > a").forEach(elm=>{
                        elm.style.backgroundColor = "#909091";
                    });
                    document.getElementById("searchsubmit").style.backgroundColor = "#000";
                    document.querySelector("#s").style.backgroundColor = "#909091";
                    [...document.querySelectorAll("code")].forEach(elm=>{
                        [...elm.querySelectorAll("span")].forEach(childen_elm=>{
                            childen_elm.style.backgroundColor = "#565656";
                        });
                    });
//いらないかも領域🤔👆                    
                } catch (error) {
                }
            }

            document.cookie = "bgcolor_code=" + color;
        }
    }
}

注意事項:背景色を変更するCSSファイルをJSコードでチェックしています。そのチェックしている部分を外すと全てのCSSファイルの背景色を変えることが可能です。

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

, body, coding, colors, css, cssfile, description, examplestyle, gt, href, ID, javascript, JS, link, lt, quot, rel, site, span, stylesheet, コード, サイト, ファイル, ブログ, プログラム, ベタ, ヘッダー, 一括, 下記, 不明, 不良, 今日, 体調, 作成, 先日, , 原因, 回復, 変更, 実際, 導入, 挿入, 方法, 日曜日, 最後, 背景色, 自分, 記述, 設定,

サーバーの引っ越しのヒントです。いや答えですねw😌

2022.06.16

Logging

おはようございます。あと一ヶ月もすれば炎天下の下でお仕事をする人もいるでしょう。大変ですね。

昔はよくサーバーの引っ越しを仕事でしていました。代わりに誰か出来る人もいなかったので自分が行っていましたが、サーバーの引っ越しほど時間のかかる仕事はありません。

scp -r -p /var/www/html/ user@example.com:/home/user/www/
scp [コピー元のファイル] [コピー先のユーザー名@コピー先のホスト] [コピー先のファイル]

何より責任、重大ですから色々と経験して思ったのは、サーバーの移行作業後に何らかの「動かない」というバグとりを速やかに行えるかどうかが大事かと思います。それはある意味、経験が物を言う世界かもしれません。こんなズブの素人でも少しだけサーバーの事を理解できたので、今思えば良いことなのかもしれません。

因みに上記に記述しているコマンドを旧サーバー環境で実行すれば新サーバーへファイル転送出来ます。いちいちFTPソフトでダウンロードしてアップロードするという事を行わなくて良いです。そして何よりパーミッションやタイムスタンプまで引き継いでくれるので便利かと思います。

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

-p, -r, com, example, home, html, SCP, user, var, , www, お仕事, こと, コピー, コマンド, サーバー, それ, どり, バグ, ヒント, ファイル, ホスト, ユーザー, , 上記, , 世界, , , , 仕事, 何より, 作業, 大事, 大変, 実行, 少し, 引っ越し, 意味, , 時間, 炎天下, , 理解, 環境, 移行, 答え, 素人, 経験, 自分, 色々, 記述, , 責任,

All in ONE SEOはヘッダーをゴニョゴニョしてくれるだな😌

2022.03.16

Logging

All in ONE SEOはヘッダーをゴニョゴニョしてくれるだな😌という事で自分でヘッダー部分にタイトルやソーシャル用のタグを基準する必要ないのです。

因みに個別記事に関連記事が入っているとそれがタイトル名になる場合がありますので、そこらへん関連記事の構造を意識する必要があります。その事を知らなかったので一時タイトル名が違ったタイトル名が表示されていました。

SEO的にどれぐらい効果があるかは不明ですが、ワードプレスで開発するときにAll in ONE SEO入れておくと勝手にそこらへん記述がコードに挿しこむ事が出来るので結構便利かと思います。

ただ、プラグインですからね、無名なプラグインを使っていると痛い目にあう事もあるので注意が必要です。もし無名なプラグインで良いのがあったら似たような動作で自作プラグインを作ったほうがマシです。何もかも人様のプラグインを使っていると後々のメンテナンスで痛い目にあいますし、下手をするとプラグインとともに共倒れって事さえありますので、プラグイン導入は慎重にした方が良いです。

特に企業サイトの運営にむやみにプラグイン導入は間違いなく害悪です。

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

all, in, one, SEO, コード, ゴニョゴニョ, ソーシャル, そこら, それ, タイトル, タグ, とき, どれぐらい, プラグイン, プレス, ヘッダー, べん, まし, メンテナンス, ワード, , 不明, , 人様, 何もかも, 便利, 個別, 効果, 動作, 勝手, 基準, 場合, 後々, 必要, 意識, 構造, 注意, 無名, , , 自作, 自分, 表示, 記事, 記述, 部分, 開発, 関連,

ぶんぶん文章を読まない人が失敗することコマンド編!!。

2022.01.15

Logging

SSLの期限が切れる前に更新するように自動更新を設定したのに何故か、更新されない貴方、コマンドが下記のような記述をしていませんか?

certbot renew --dry-run

このような記述になっていると一生、SSLは更新されないままです。これはコマンドテストに使う方法ですので、残念!!!、正しくは下記のような感じで記載してあげてくださいませ😁。

certbot renew

巷ではこの他に強制的に更新するコマンドをオプションでつけて、更新させたら良いよとか書かれたサイトもありますが、それはlet’s encryptサーバ側に負荷をかけてしまうし、アク禁にされる場合もあるので辞めといた方が良いです。

因みにSSLの期限が21日前になった時点で更新処理が実行されます、それまではコマンドを叩いても処理はスキップされます。

尚、自分は文章を読めない、読まないひとです。大体、仕様書は人に読んでもらいます😱

ということで現場からでした。

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

--dry-run, 21, Certbot, encrypt, Let's, renew, SSL, アク禁, オプション, こと, コマンド, これ, サーバ, サイト, スキップ, それ, それまで, テスト, まま, 一生, 下記, , 仕様書, , 処理, , 場合, 大体, 失敗, 実行, , 感じ, 文章, , 方法, 時点, 更新, 期限, 残念, 自分, 自動, 記載, 記述, 設定, 負荷, 貴方,

PHP8になって厳格になった、後任ごめんなさい。書いてないです。static…

2021.09.11

Logging

今日は9.11同時多発テロが起きた日です、ご冥福をお祈りします。もう20年も前になるのですね、昨日のようにその出来事を覚えています、それぐらい印象に残っています、20年ということはこの事を知らない世代もいるでしょうね。

さて、タイトル通り「PHP8になって厳格になった、後任ごめんなさい。書いてないです。static…」の件ですがPHP8になって厳格に記述しないといけなくなったようです。 static などの宣言を書いていないと動かなくなってしまいました。前前職ではそのような記述が多くあります、もともとPHP5.6のシステムを改修してPHP7対応したのですが、PHP8に移行する時に動かなくなる部分があるかと思います。インスタンス化して動かしている所は影響受けないかもしれないけれど、 インスタンス化せずに動かしているところもあり、そこに static を書いていなかったと思います。

PHP8になって厳格になった、後任ごめんなさい。書いてないです。static..

ごめんなさい、負の遺産を作ってしまいました。改修のほどよろしくお願いいたします。まだレンタルサーバーでPHP8に強制移行している会社はないかと思いますが・・・それでも今から改修していたほうが良いかと思います。

<?php
class foo{
    public $foo = "!!!!";
    public function hoge(){
        return "foo".self::$foo;
    }
}
print foo::hoge();
<?php
class foo{
    public static $foo = "!!!!";
    public static function hoge(){
        return "foo".self::$foo;
    }
}
print foo::hoge();

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

20, 5.6, 7, 8, 9.11, https, php, static, インスタンス, お祈り, こと, ご冥福, システム, そこ, それぐらい, タイトル, テロ, ところ, 世代, , 今日, , 出来事, , 前職, 印象, 厳格, 同時, 多発, 宣言, 対応, 影響, 後任, , 改修, , 昨日, , 移行, 記述, 部分,

クロスプラットフォーム開発(アプリ)をPythonで行う。

2021.05.21

Logging

PyQt5クロスプラットフォーム開発(アプリ)を行う事が出来るだってさ。ただし、PyQt5は商用利用に縛りがあるのだとか、個人で使用する分には問題なしだということ。CSSとPythonの記述が分かっていればそれほど難しくない難易度かと自分は下記の動画を見て思いました。

Create GUI App with PyQt5 – PART 1
pip install PyQt5

Python:パイソンがインストールしている環境で上記のコマンドを打つことでPyQt5はインストール可能です。あとはコードを書いて実行するだけでアプリが実行されます。

PyQt5の使い方を解説している人がいます。リンク先のように書けばチェックボックスなども設置可能です。因みにコードを一々書くのは面倒だという方はQt Designerと連携することでGUIの設計は楽になると思います。
環境構築を説明しているリンクを貼っときます。こちらでPyQt5のプログラムを使用しQt Designerで開発を行えます。

この頃はクロスプラットフォーム開発も多様化していろいろな言語で開発ができるようになってきてますね。楽になったものだと・・・。

追伸:商業利用でクロスプラットフォーム開発が行いたい場合はPySideを使用するべしです。理由はこちら
https://www.kimoton.com/entry/20181202/1543724518

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

5, css, Designer, GUI, install, pip, PyQt, Python, Qt, あと, アプリ, インストール, えま, クロス, コード, こちら, こと, コマンド, チェック, パイソン, プラットフォーム, プログラム, ボックス, リンク, 上記, 下記, , , 使い方, 使用, 個人, , 利用, 動画, 可能, 商用, 実行, , 構築, 環境, 縛り, 自分, , 解説, 記述, 設置, 設計, 説明, 連携, 開発, 難易, 面倒,

WPのカレンダーや予約投稿の日付がズレてしまう件:WP5.3以降:?

2020.11.15

Logging

WPのカレンダーや予約投稿の日付がズレてしまう件:WP5.3以降に起きるらしい。ワードプレスが大幅なアップグレードしたことが影響しているみたいです。この原因を突き止めるのに結構時間がかかりました。頭の良い人はすごいなと関心、、、。原因ですが簡単に言うとテンプレートやプラグインに下記の関数を使用していたら何やら、日付がズレてしまうというなんとも言えない事象が起きる可能性があります。例えば、テンプレートのFunctions.phpの中にそういう記述があると表示される時にカレンダーがズレてしまうとかそういう現象が発生します。

date_default_timezone_set("Asia/Tokyo");

因みに自分はこの原因を突き止めるのに結構時間を割きました、共通してくれると有り難いです。参考にしたサイトを貼っときます。
https://blog.medical-design.co.jp/archives/2569

元リンクは下記のツイッターのリンクを参照ください。

https://twitter.com/zip358com/status/1327770010404601857

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

5.3, Asia, blog, co, date, default, functions, https, jp, medical-design, php, quot, set, timezone, Tokyo, wp, アップ, カレンダー, グレード, こと, サイト, ズレ, テンプレート, なん, プラグイン, プレス, ワード, 下記, , 予約, 事象, , , 使用, 共通, 原因, 参考, 可能性, 大幅, 影響, 投稿, 日付, , 時間, 現象, 発生, 簡単, 自分, 表示, 記述, 関心, 関数, ,

WPのテンプレート構成とか。

2020.09.30

Logging

まず、オリジナルテンプレートを作成したときに使ったファイル構成はこんな感じです。この中で大事なファイルはstyle.css,functions.php,index.phpです。ワードプレスの自作テンプレートを作る際にどうすれば良いのかというのは、検索するといろいろな人が書かれているので、この記事では割愛しますね。

404.php
archive.php
category.php
footer.php
functions.php
header.php
index.php
page.php
screenshot.jpg
search.php
sidebar.php
single.php
style.css

いろいろなサイトではstyle.cssのheader部分にいろいろと記述しないといけないような感じで書かれていますが、テンプレートを配布するのではない場合は数行、記述するだけで良いです。下記のような感じでテンプレート名だけ書いてあげれば良いです、そして空ファイルで上記の重要なファイル作成してあげるだけで、一応、ワードプレスのテンプレートの選択肢の中に自作テンプレートが現れます。

/*
Theme Name : 自作テンプレート名(英字)
*/

自作テンプレートには命名規則などがあるので、そちらも気をつけて命名してください。特に間違いやすいのがfunction.phpと記述してしまうことです。正しくはfunctions.phpですので間違いないようにsが無いとワードプレスのファンクションとして認識しないので注意です。

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

404, archive, category, css, footer, functions, header, index, jpg, page, php, screenshot, search, sidebar, single, style, wp, いろいろ, オリジナル, サイト, テンプレート, とき, ファイル, プレス, ワード, 下記, , , 作成, 割愛, 場合, 大事, 感じ, 数行, 検索, 構成, 自作, 記事, 記述, 部分, 配布, ,

windows Terminal1.0を使ってみた。

2020.05.24

Logging

windows Terminal1.0を使ってみた、感想はカスタマイズして何だか良い感じですね。これからVS codeみたいにバージョンアップすればいろいろと便利になるみたいなので、良い感じです。今後に期待感もあります。

The new Windows Terminal

因みにカスタマイズの方法は公式ページに日本語で書かれているのでなんて親切なんだと思ってしまいました。
こちらがそのページになります。json形式の記述でカスタマイズすることでカラーの変更や透過することなど自分好みにwindows Terminalをカスタマイズすることが可能です。

https://docs.microsoft.com/ja-jp/windows/terminal/customize-settings/profile-settings

尚、windows Terminalのダウンロードはこちらからになります。
https://www.microsoft.com/ja-jp/p/windows-terminal-preview/9n0dx20hk701?activetab=pivot:overviewtab

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

1.0, Code, com, customize-settings, docs, https, ja-j, ja-jp, json, microsoft, profile-settings, Terminal, VS, Windows, www, アップ, いろいろ, カスタマイズ, カラー, こちら, こと, これ, ダウンロード, バージョン, ページ, 今後, 便利, 公式, 可能, 変更, 形式, 感じ, 感想, 方法, 日本語, 期待感, 自分, 親切, 記述, 透過,

PHP7でTwigを使う。

2020.05.10

Logging

Twigとは小枝であり、PHPのテンプレートエンジンであります。テンプレートエンジンが何なのかはぐぐってください。ここでは割愛します。

Twig3.x(3系)、Dumpの表示の仕方が書かれていないのでそれを記載します。記載方法は下記になります。特に記載方法が変わったのはデバッグの時の記述方法です、最初、デバッグ方法をググっていたのですが、全然上手くいかずエラーばかりはいていました。※Twig2系の情報が結構ヒットします。

require_once '/vendor/autoload.php';
$loader = new \Twig\Loader\FilesystemLoader('テンプレートの階層を指定');
$twig = new \Twig\Environment($loader,['debug' => true]);
$twig->addExtension(new \Twig\Extension\DebugExtension());//?ここの記述を忘れずに!!
echo $twig->render('index.html(レンダーするテンプレートファイル)', ['items'=>$this->top_view()]);

結局、公式ページのドキュメントにデバッグ方法が書かれていたのですが、それにたどり着くまで、小一時間ぐらいWEBの荒野をさまよっていました。最初からドキュメントを見ろよという教訓を得たのですが、結構ググる方を優先してしまう自分がいます。実際はドキュメントの中で検索するのが一番なのかもなと。皆さんが使用するようなエンジンはドキュメントを見るほうが良いと今回、痛感しました。これからはドキュメントを見るようにします。

https://twig.symfony.com/doc/3.x/functions/dump.html

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

2, , 39, 7, addExtension, autoload, debug, dump, Environment, FilesystemLoader, gt, loader, new, once, php, require, true, Twig, vendor, エラー, エンジン, ここ, それ, デバッグ, テンプレート, ヒット, 下記, 仕方, , 割愛, 小枝, 情報, 指定, 方法, , 最初, 表示, 記載, 記述, 階層,

jqueryのイベント処理時に引数を受け渡す方法を知っとくと良いかもしれません。

2020.03.10

Logging

jqueryのイベント処理時に引数を受け渡す方法を知っとくと良いかもしれません。記述は下記になります。ぐぐると出てくるので知っている人の方が多いかもしれませんが…。ちなみに自分はこの記述方法、ごくまれにしか使わないため、忘れてしまいます。event.dataに紐づけてくれるのはとても良いかなと自分は思っていますが、皆さんはいかがでしょうか?もうjqueryなんか使わないよという方もいると思うのですが、自分が思うにゴリゴリ書くよりか、jqueryで済ませれるところは使ったほうがコードは短くて済むと思っています。WEB業界は技術の移り変わりが早いですよね。逆にソフトのほうはWEBよりはスパンが長い気がします。

https://zip358.com/tool/demo9/

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script src="common.js"></script>
    <title>Document</title>
</head>
<body>
    <p id="pen">お腹空いた(´;ω;`)お腹空いたと>φ(..)</p>
</body>
</html>
$(function(){
    $("#pen").click({sword:"The pen is mightier than the sword"},function(e){
        $(this).text(e.data.sword);
    });
    // $("#pen").on("click",{sword:"The pen is mightier than the sword"},function(e){
    //     $(this).text(e.data.sword);
    // });
});

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

charset, data, DOCTYPE, EVENT, gt, head, html, ja, jquery, lang, lt, meta, quot, web, いかが, イベント, かな, コード, スパン, ソフト, ため, ところ, 下記, , 処理, 引数, 技術, , 方法, 業界, , 皆さん, , 自分, 記述, ,

phpのPDOでバインドする時、こうすれば楽。

2020.02.28

Logging

phpのPDOでバインドする時、こうすれば楽ですよね(・(ェ)・)という記述です。前の職場ではsqliでDB接続していたのですが、バインドして作られていたかは忘れてしまいました。ちなみに前の職場のPDOに改修するのは面倒くさいだろうなと感じます。何がめんどくさいかと言えば、今まで導入していたもの全てに対応するというのは、超面倒くさいと思います。

余談:
前の職場を何故辞めたかのお話します。突発的に辞めたと思う人もいるかもしれませんが、基本的に突発的辞めることはないです。突発的に辞めたかのように見えて前々から考えてきっかけを理由に辞めました。具体的な理由に関してはここでは書きません。突発的に辞めたかのように見せかけて計画的です(・(ェ)・)


ソースコードは下記になります。

<?php
ini_set("display_errors",1);
class mysql {
    static $dbh = Null;
    static $host = "localhost";
    static $id = "あいーでぃー";
    static $pass= "パスワード";
    static $dbname = "test";
    static $sql = array(
        "id"=>array("data"=>PDO::PARAM_INT,"val"=>""),
        "name"=>array("data"=>PDO::PARAM_STR,"val"=>"")
    );
    static function connect()
    {
        /* 接続状況をチェックします */
        try {
            static::$dbh = new PDO('mysql:host='.static::$host.';dbname='.static::$dbname.';', static::$id, static::$pass);
            static::$dbh->query('SET NAMES utf8');
          } catch (Exception $e) {
            echo "Failed: " . $e->getMessage();
          }
    }
    static function insert_query(){
        //プリペアドステートメント
        $stmt = static::$dbh->prepare("insert into test1 (id,Name) values(:id,:name);");
        //バインド
        foreach(static::$sql as $key=>&$val){
            $stmt->bindParam(":$key",$val["val"],$val["data"]);
        }
        $stmt->execute();
        $stmt = null;
     }
     static function update_query(){
        //プリペアドステートメント
        $stmt = static::$dbh->prepare("update test1 set Name= :name where id = :id;");
        //バインド
        foreach(static::$sql as $key=>&$val){
            $stmt->bindParam(":$key",$val["val"],$val["data"]);
        }
        $stmt->execute();
        $stmt = null;
     }
     static function select_query(){
        //プリペアドステートメント
        $stmt = static::$dbh->prepare("select * from test1 where id = :id;");
        //バインド
        foreach(static::$sql as $key=>&$val){
            if($key==="id")$stmt->bindParam(":$key",$val["val"],$val["data"]);
        }
        $stmt->execute();
        while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
            printf ("%d (%s)<br>", $row["id"], $row["Name"]);
        }
        $stmt = null;
     }
    static function close(){
        static::$dbh = null;
    }
}
mysql::connect();
// for($i = 0 ;$i<=99;$i++){
//     mysql::$sql["id"]["val"] = $i;
//     mysql::$sql["name"]["val"] = "テスト$i";
//     mysql::insert_query();
// }
for($i = 0 ;$i<=99;$i++){
    mysql::$sql["id"]["val"] = $i;
    mysql::$sql["name"]["val"] = "テスト<font color='red'>$i</font>";
    mysql::update_query();
}
for($i = 0 ;$i<=99;$i++){
    mysql::$sql["id"]["val"] = $i;
    mysql::select_query();
}
mysql::close();

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

, class, db, dbh, display, errors, ini, lt, MYSQL, PDO, php, quot, set, sqli, static, お話, きっかけ, コード, ここ, こと, ソース, バインド, もの, 下記, , , 余談, 全て, , 前々, 対応, 導入, 接続, 改修, , 理由, 職場, 記述,

プログラミングって何から勉強したら良いの?パソコンが有れば無料で勉強できる方法。

2020.01.11

Logging

プログラミングって何から勉強したら良いの?
答えは通称js(ジェーエス)と呼ばれるjavascript(ジャバスクリプト)言語から
始めると良いです^_^。
ちなみにプログラミンスクールに通う必要なんてないです。
偏差値50ぐらい有れば独学で身につくことが出来ると言われています。

自分を知っている人ならあいつでも出来るなら私でも出来ると思って
トライしてみてください。
繰り返しになりますが、参考書などは買わなくて良いです。

下記の方法で勉強してみてください。

  1. YOUTUBE動画を見る。
  2. 動画に記載しているプログラムを実際に同じコードを書いてみる。
  3. 動作したらプログラムコードを変更してみる。
  4. 一旦、プログラムコードを消して今度は記述コードを見ないで書いてみる。
  5. コードがわからない時は動画を見ずにググる。

上記のことを繰り返しすることで何だかわからないけど、感覚的に身につくはずです。難しい横文字などは後から覚えたら良いです。

JavaScriptを解説している動画リンクを貼っておきます。
動画のリンク切れあった場合はYOUTUBEで JavaScript 入門などの単語で検索してみてください。

入門解説動画:何となく進めるが大事です。

【Javascript入門】#1 Javascriptを始めましょう

エラーになった時の対処方法:デバッグ方法。

入門】JavaScriptのデバッグ方法を解説!これだけは知っておけ!

中級者JSテクニック動画。

https://www.youtube.com/watch?v=mNJ06S60B9k

尚、プログラムコードを書く場合、大体のプログラマーはエディターやIDEを
使用してプログラミングコードを記載します。

自分はVisualStudio codeを使用しています。
こちらWindowsやMac、リナックスのOSにそれぞれ対応しています。
https://code.visualstudio.com/ [日本語化出来ますググって]

補足:今でもC言語などやJAVA言語から初めると良いよと言われますが
おそらくC言語で始めるとメモリの事などで挫折しJAVA言語で始めると
オブジェクトで挫折します。

JSで始め、大体の事をマスターすると他のプログラミング言語へ
移行しやすいです。いろいろな言語を覚えるのではなく。
まずは一つの言語をマスターする事が大事になります。

皆さんトライしてみてくださいね(・(ェ)・)b

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

50, javascript, JS, youtube, あいつ, エス, コード, こと, ジェー, ジャバ, スクール, スクリプト, トライ, パス, パソコン, プログラミン, プログラミング, プログラム, 一旦, 上記, 下記, , 今度, , 偏差値, 勉強, 動作, 動画, 参考書, 変更, 実際, 必要, 方法, , 横文字, 無料, 独学, , 答え, 自分, 言語, 記載, 記述, , 通称,

ハローワークサイトの仕様が変わった、使いづらいよ!! #ハローワーク

2020.01.06

Logging

本日(高知県)からおそらく高知県のハローワーク検索端末が変わったみたい?ウェブ(ホームページ)のハローワークサイトと統合した形になっている。要するに、わざわざハローワークへ行かなくても自宅で検索できるように
なったということです。

トイウコトデ、自宅でお仕事検索してそのナンバーを控えて最寄りのハローワークに問い合わせするのが便利かと思います。

ちなみにハローワークのサイトってアクションサーブレットで動いているよね。そろそろPHPで動かしたほうが良いじゃないかと思ってしまうのはじぶんだけなのでしょうかね?そしてcommon.jsを見た所、素人ぽっい記述だったが、エラーが一つも出ていないところは関心、ただWARNING(警告)はある。そしてコメント退けるべしとか、難読化しろよとかいろいろ言いたくなる。これ何次元の下請けがやってんだろうか・・・。


https://www.hellowork.mhlw.go.jp/

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

common, go, hellowork, https, JS, mhlw, php, WARNING, www, アクション, ウェブ, エラー, お仕事, こと, コメント, これ, サーブ, サイト, じぶん, トイウコトデ, ところ, ナンバー, ハローワーク, ホームページ, レッド, わざわざ, 一つ, 下請け, 仕様, 何次, 便利, 問い合わせ, , , 最寄り, 本日, 検索, 端末, 素人, 統合, 自宅, 記述, 警告, 関心, 難読, 高知県,

ワードプレス電光掲示板プラグインを作りました。

2019.12.05

Logging

電光掲示板(お知らせ)のプラグイン取扱に関して記載します。

プラグインに関してはワードプレス5.2以降を推奨としテーマファイル(外観)のheader.phpのbody直下に下記の記述が存在しない場合は追加記述を
お願いいたします。

<?php wp_body_open();?>

尚、プラグインのソースコードはご自由に変更頂き二次配布も構いませんが
ひとつ注意事項があります。参照した記事にリンクを貼ってください、
なお、事前の連絡等入りません。

電光掲示板(お知らせ)のソースコードは下記になります。
現在、テキストはHTMLタグを許していますので、いろいろと自由に
変更することが可能かと思います。

ちなみにこういった電光掲示板みたいな流れる仕様のコードは
インターネットの初期のころは多く見られましたが
このごろは全然、見なくなりましたね。。。

CSSの記述に関してはとくめいさんの記述を使用させて頂きました。
https://creatorclip.info/2014/06/css3-electric-bulletin-board/

とくめいさんも同じようなことを記事に記載しておりますが
自分もそのように感じました。

とくめいさんへ断りもなく使用してすみません、
Twitterで連絡しようかなと思ったのですが、それもなんだかと思い
勝手ながらこのような手段を取りました。

お知らせ(電光掲示板)のダウンロードは下記になります。
下記のファイルを解凍しワードプレスのプラグイン領域にフォルダごと
アップロードしプラグインを有効にするとご使用頂けます。

https://zip358.com/plugin/Z-Electric-bulletin-board.zip

<?php
/*
Plugin Name: Z-Electric-bulletin-board
Plugin URI: https://zip358.com/plugin/Z-Electric-bulletin-board.zip
Description: お知らせ
Author: taoka toshiaki
Version: 1.0
Author URI: https://zip358.com/
*/
add_action( 'wp_head', function() {
    $color = get_option('ZEBB_color')?get_option('ZEBB_color'):"ffffff";
    $cssdata ="
    <style>
        /* =====================
            電光掲示板
        ======================= */
        .ledText {
            overflow: hidden;
            position: relative;
            padding:5px 0;
            color: #$color;
            font-size: 60px;
            font-weight: bold;
            background: #333333;
        }
        /* CSS3グラデーションでドット感を出す */
        .ledText:after {
            content: ' ';
            display: block;
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            background-image: linear-gradient(#0a0600 1px, transparent 0px), linear-gradient(0, #0a0600 1px, transparent 1px);
            background-image: -webkit-linear-gradient(#0a0600 1px, transparent 0px), -webkit-linear-gradient(0, #0a0600 1px, transparent 1px);
            background-size: 2px 2px;
            z-index: 10;
        }
        /* CSS3アニメーションでスクロール */
        .ledText span {
            display: inline-block;
            white-space: nowrap;
            padding-left: 100%;
            -webkit-animation-name: marquee;
            -webkit-animation-timing-function: linear;
            -webkit-animation-iteration-count: infinite;
            -webkit-animation-duration: 15s;
            -moz-animation-name: marquee;
            -moz-animation-timing-function: linear;
            -moz-animation-iteration-count: infinite;
            -moz-animation-duration: 15s;
            animation-name: marquee;
            animation-timing-function: linear;
            animation-iteration-count: infinite;
            animation-duration: 15s;
        }
        @-webkit-keyframes marquee {
        from   { -webkit-transform: translate(0%);}
        99%,to { -webkit-transform: translate(-100%);}
        }
        @-moz-keyframes marquee {
        from   { -moz-transform: translate(0%);}
        99%,to { -moz-transform: translate(-100%);}
        }
        @keyframes marquee {
        from   { transform: translate(0%);}
        99%,to { transform: translate(-100%);}
        }
    </style>
    ";
    print $cssdata;
 });
add_action("wp_body_open",function(){
    $text = get_option('ZEBB_text')?get_option('ZEBB_text'):"";
    if($text)print '<p class="ledText"><span>'.$text.'</span></p>';
});
add_action('admin_menu','Z_Electric_bulletin_board_set');
function Z_Electric_bulletin_board_set(){
	add_options_page(
		'zip358.com:プラグイン',
		'電光掲示板設定',
		'administrator',
		'Z_Electric_bulletin_board',
		function(){
            if(isset($_POST["ZEBB_color"]) or isset($_POST["ZEBB_text"])){
                $color = preg_match("/[a-zA-Z0-9]*/",$_POST["ZEBB_color"])?$_POST["ZEBB_color"]:"ffffff";
                update_option('ZEBB_color', wp_unslash($color));
                $text = $_POST["ZEBB_text"];
                update_option('ZEBB_text', wp_unslash($text));
            }
            ?>
            <form method="post" action="">
                <h2>電光掲示板設定</h2>
                color code #<input type="text" style="width:350px" name="ZEBB_color" value="<?=get_option('ZEBB_color')?get_option('ZEBB_color'):""?>" placeholder="f7f7f7"><br>
                text <input type="text" style="width:350px" name="ZEBB_text" value="<?=get_option('ZEBB_text')?get_option('ZEBB_text'):""?>" placeholder="文字を記入してください"><br>
                テキスト文字を未入力にすると電光掲示板が表示されません
                <?php submit_button(); ?>
            </form>
            <?php
        }
	);
}

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

5.2, body, css, gt, header, html, lt, open, php, wp, いろいろ, インターネット, お知らせ, お願い, コード, こと, ごろ, ころ, ソース, タグ, テーマ, テキスト, トク, ひとつ, ファイル, プラグイン, プレス, メイ, リンク, ワード, 下記, 事前, 事項, , 仕様, 使用, 初期, 参照, 取扱, 可能, 場合, 変更, 外観, 存在, 推奨, 掲示, 注意, 現在, 直下, 自由, 記事, 記載, 記述, 追加, 連絡, 配布, 電光,

node-sassをインストールしてコンパイルするときに「あぁうっかり」

2019.07.06

Logging

npm install node-sass

上記の記述でインストールします。Node.jsはインストール済みだという
前提で!
コンパイルの仕方はこんな感じです。

node-sass test.scss test.css  --output-style expanded

ここでうっかりミスを犯さないで!!SCSSとSASSは記述が違います。
自分はSCSSで記述していたのに、拡張子がSASSになってまして
意味不明の一行目でエラーですとはじかれていた・・・。
ちなみにオプション値を付けずにコンパイルすると
インデントが崩れて美しくないのでオプション値を付けるように
しています。

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

--output-style, css, expanded, install, JS, node, node-sass, npm, SASS, scss, test, インストール, インデント, エラー, オプション, ここ, コンパイル, とき, ミス, 一行, 上記, 不明, 仕方, 前提, 意味, 感じ, 拡張子, 自分, 記述,

javascriptを勉強中

2018.12.15

Logging

var a = 3;
var b = 10;
var obj = {
        hoge:function(a){
            a = a + a;
            return a;
        },
        a:a = a && 5,
        b:b = b || 3
    };
console.log(obj.hoge(2));
console.log(obj.a);
console.log(obj.b);

上記のCodeを動かすと仕事と表示されます(笑)、4,5,10と表示されます。
何故そうなったかを考えるとキリがないのでそういうものだと
思ったほうが良いかもしれないです。
説明するとhogeはオブジェクトです。あとは変数とIF文の省略系を
記述しているだけです、実際は=もいらないですが・・・。
わかりやすく自分なりに記載したつもりです。
javascriptライブラリってこういうのが何百行も記載して成り立っていますが
概念はこういう事です。自分は基本的に概念しか覚えないのです。
何故、そうしているか・・・自分が怠惰な人間だからです。
 

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

10, 2, , 4,5,10, 5, amp, Code, console, function, hoge, if, javascript, log, obj, return, var, あと, オブジェクト, キリ, つもり, もいら, もの, 上記, 仕事, 勉強, 変数, 実際, , 省略, 自分, 表示, 記載, 記述, 説明,

javascriptでテキストファイルやCSVファイルを読み込む方法。

2018.11.13

Logging

javascriptでテキストファイルやCSVファイルを読み込む方法は下記になります。
この他に、jqueryだとajaxを使用して読み込む方法などもありますが、あえて
javascriptで記述しています。

rt();
function rt(){
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.open("GET","xxx.txt",true);
    xmlHttp.send(null);
    xmlHttp.onload = function(){
        var data = xmlHttp.responseText;
    }
}

追記:アクセス数が結構あるのでサンプルを作りました。
下記のコードをお試しください。
デモページはこちらになります。
https://zip358.com/tool/demo13/ 【改良前】
https://zip358.com/tool/demo13/index2.php 【ちょっと改良】
https://zip358.com/tool/demo13/index3.php 【もうちょっと改良】
https://zip358.com/tool/demo13/index4.php 【もっと改良】
https://zip358.com/tool/demo13/index5.php 【もっともっと改良】2022年度版


※文字の中にカンマ区切りがあるのには対応してません?

"use strict";
var csv = {
	load:async function(filename,id){
		await fetch(filename).then(data=>data.text()).then((res)=>{
			let result = (res.split("\r\n").map(value=>{
				return "<tr>" + (value.split(",").map(val =>{
					return "<td>" + val.slice(1, -1) + "</td>";
				})).join("") +"</tr>";
			})).join("");
			if(result){
				document.getElementById(id).innerHTML = result;
			}
		}).catch(m =>{
			console.error(m);
		});
		return true;
	}
}

csv.load("xxx.csv", "table");
"use strict";
var csv = {
	load:async function(filename,id){
		const res = await fetch(filename);
		const data1 = await res.text();
		let separate1 = /\r\n/;
		let separate2 = ",";
		let data_tbl = (data1.split(separate1)).map(function(value){
			return (value.split(separate2)).map(function(value1){
				return value1.slice(1, -1);
			});
		});
		var str = "";
		for (const key in data_tbl) {
			str+=`<tr>`;
			for (const key1 in data_tbl[key]) {
				str+=`<td>${data_tbl[key][key1]}</td>`;
			}
			str+=`</tr>`;
		}
		document.getElementById(id).innerHTML = str;
		return "OK";
	}
};

csv.load("xxx.csv", "table");
"use strict";
var csv = {
    load: function (filename, id) {
		fetch(filename).then(
			Response=>{
				return Response.text();
			}).then(data1 =>{
                let separate1 = /\r\n/;
                let separate2 = ",";
				let data_tbl = (data1.split(separate1)).map(function(value){
					return (value.split(separate2)).map(function(value1){
						return value1.slice(1, -1);
					});
				});
				var str = "";
				for (const key in data_tbl) {
					str+=`<tr>`;
					for (const key1 in data_tbl[key]) {
						str+=`<td>${data_tbl[key][key1]}</td>`;
					}
					str+=`</tr>`;
				}
				document.getElementById(id).innerHTML = str;
				return "OK";
			}).catch(error=>{
				console.log("失敗しました" + error);
			})
    }
};

csv.load("xxx.csv", "table");
"use strict";
var csv = {
    load: function (filename, id) {
        var xmlHttp = new XMLHttpRequest();
        xmlHttp.open("GET", filename, true);
        xmlHttp.send(null);
        xmlHttp.onload = function () {
            if (xmlHttp.status === 200) {
                let separate1 = /\r\n/;
                let separate2 = ",";
				let data1 = xmlHttp.responseText;
				let data_tbl = (data1.split(separate1)).map(function(value){
					return (value.split(separate2)).map(function(value1){
						return value1.slice(1, -1);
					});
				});
				var str = "";
				for (const key in data_tbl) {
					str+=`<tr>`;
					for (const key1 in data_tbl[key]) {
						str+=`<td>${data_tbl[key][key1]}</td>`;
					}
					str+=`</tr>`;
				}
				document.getElementById(id).innerHTML = str;
				
            }
        };
    }
};

csv.load("xxx.csv?123", "table");
"use strict";
var csv = {
    load: function (filename, id) {
        var data = {};
        var xmlHttp = new XMLHttpRequest();
        xmlHttp.open("GET", filename, true);
        xmlHttp.send(null);
        xmlHttp.onload = function () {
            if (xmlHttp.status === 200) {
                let separate1 = /\r\n/;
                let separate2 = ",";
                let data_org = xmlHttp.responseText;
                let data_en = data_org.split(separate1);
                for (let d in data_en) {
                    data[d] = data_en[d].split(separate2);
                }
                //data load
                var t = document.getElementById(id);
                var h = "<table>";
                for (var o in data) {
                    h += "<tr>";
                    for (var r in data[o]) {
                        h += "<td>";
                        h += data[o][r].slice(1, -1);
                        h += "</td>";
                    }
                    h += "</tr>";
                }
                h += "</table>";
                t.innerHTML = h;
            }
        };
    }
};
csv.load("xxx.csv", "table");

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

358, ajax, com, CSV, data, function, GET, https, javascript, jquery, new, null, onload, open, quot, responseText, rt, send, too, true, txt, var, xmlHttp, XMLHttpRequest, xxx, zip, アクセス, コード, こちら, サンプル, テキスト, デモ, ファイル, ページ, 下記, , 使用, 方法, 記述, 追記,

Node.jsをインストールしてFeedparserを使ってみて

2018.02.01

Logging


Node.jsをインストールしてFeedparserを使ってみて
サーバ上でjsを動かす利点はよく分かるのですが、いまのサーバで
jsをガリガリと書いて動かすことはないだろうという事で、コマンドラインから
叩いて動かすぐらいで十分じゃねという結論に至りました。
http-serverというのをインストールするとサーバから表示することも可能なんだってさ。
但しApacheと共存させるにはちょっとした細工が必要です。
ちなみにyum install nodejsでNode.jsはインストールできます。
あとはnpmを使用してnpm install -g http-serverでインストールし http-serverとかすると
http上でNode.jsが動いたりします(コードの記述が必要)。
今回、Feedparserを使用するのに参考させてもらったサイトの
リンクを貼っときます。
ほぼコピペで動きました(._.)
http://phiary.me/node-js-feedparser-rss-json/

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

B075R3WRXM, Feedparser, g http-server, http-server, node.js, npm install, yum install nodejs, コード, コピペ, コマンドライン, サーバ, サーバ上, 但しApache, 利点, 細工, 結論, 記述, 超入門,

AI(人工知能)とAI(人工知能)が会話する時代に直ぐなる。

2018.01.30

Logging


?
この頃、寒い日が続きます。
そんな雪が降った日に、こんな記事が流れた「画像からAI(人工知能)がコーディングを行う」という記事、正直なところ「唖然」としました。
こんなにも早くコーディングという仕事を奪うのかと・・・。
たぶん来年ぐらいには複雑なWEBDESIGNのコーディングを行うサービスを海外の企業がグローバルに展開しそう、だからと言って「WEB会社」がなくなるかと言えばそうでもないし仕事が奪われることもないと感じます。
今でも数種類のDESIGNから、ほぼGUIでホームページが作成するサービスはありますが、其のことで会社が痛手になったなんてことは聞きません。
なので、今回のコーディングを行うサービスもある一定数のユーザーは、そちらに流れると思いますが、ソフトウェア会社やWEB会社が排他されることはないじゃないだろうかと思います。
もっと言えば、そのうちAIの記述したコーディングを人がチェックし手直しするような事になるだと思います。
ちなみに人工知能の学習させるのに使うのは人工知能らしいですね・・・。
人が人工知能を超えるため脳にPCを直結するというハイブリッドな研究も進んでいるそうです。
最終的に人は遺伝子を組み替えて脳の処理能力を上げるって話もあります。この頃、今までの絵空事が具現化されてきていて、あと10年もすれば世の中かなり変わりそうです。
※余談:クリスパー・キャスナイン(CRISPR/Cas9)遺伝子組換え技術が人には適応できないかもと言われていますが、自分は何れ誰かが安全な遺伝子組換え技術を開発すると思います。
大体、人が想像することは具現化してきてます、具現化出来ないことはもしかすると人は想像できないのかもしれませんね。

Ink to Code, a Microsoft Garage Project


?

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

AI, DESIGN, GUI, web, WEBDESIGN, うち, グローバル, コーディング, こと, サービス, そちら, ソフトウェア, チェック, ところ, ホームページ, ユーザー, 一定, , , 人工, , 今回, 仕事, 企業, 会社, 会話, 作成, 展開, 手直し, 排他, , , 早く, 時代, 来年, 正直, 海外, 画像, 痛手, 知能, 複雑, 記事, 記述, , ,

文字の置き換えはコマンドラインから

2017.09.19

Logging


文字の置き換えは「sed」というコマンドを使うことで
文字の置き換えは可能ですが、文字の置き換えを行なった後、
ファイルの保存もしくは上書き保存を行わないと意味が無いので
注意が必要になります。
例えばリナックス系のサーバで文字を置きたい場合、このような感じに
記述すると文字の置き換えが可能となります。

sed -i -e "s/utf8mb4/utf8/g" mysql.sql

結構、大きめサイズのテキスト形式のファイルも難なく
置き換えが可能です、ちなみにWindowsでも同じようにコマンドから
文字の置き換えすることは可能ですが少々面倒なので、リナックスでの
置き換えを自分は推奨します。
ちなみに文字コードがUTF8ではない場合は
文字コードをiconvでUTF8に置き換え後、文字列の置き換えを
すれば良いのでとても楽です。


ちなみにこちらの動画は悪い例↑
?

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

-i, 4, 8, e-, iconv, mb, MYSQL, quot, sed, SQL, UTF-, Windows, コード, こちら, こと, コマンド, サーバ, サイズ, テキスト, ファイル, ライン, リナックス, 上書き, , 保存, 動画, 可能, 場合, 大きめ, 形式, , 必要, 意味, 推奨, 文字, 文字列, 注意, 自分, 記述, 面倒,

php:3項演算子の使い方。

2017.09.16

Logging


3項演算子の使い方を解説しているサイトは
数多くあるので割愛します。プログラミングの記述例を貼っときます。

<?php
$a=10;
$ret = $a>9 ? "A9":"B9";
print($ret);
//A9

このような感じで3項演算子を使います、これあまり複雑怪奇な
書き方をしなければ自分は普通にコーディングに書いて良いような気がします。
トイウコトで3項演算子を使うと便利かな。
コードって書かなくなると何ていうか、自分の場合、苦労して覚えていないので
あっという間に忘れ去ってしまうですけどね。この頃、javascriptの記述や挙動がいまいち
つかめていない、javaとか言うものを全然勉強していないからなんだろうなと感じる事が多々あり。
もっと使う機会を増やしたいのだけど、この頃、PHPオンリーなので
何とも・・・、他人のコード見て自分もガリガリとコードを書きたいなと
思うのですけど、いまの自分が任されている仕事にゴリゴリ書くことが必要不可欠かと
言えばそうでもないですよね。
他人が書いたコードの修正や機能追加ってのは
どうしてもやりづらく、特にいわゆる普通のコードで
書いている場合、手直しが面倒くさい。普通のコードには
普通のコーディングしないと何だか、無駄な処理が増えるだけだなと。
逆に洗練されたコードは余分なものが殆どないので
下手に触ると挙動が変になるというデメリットもあるのですがね。
会社で難コーディングが書けない分、自宅でいろいろコードを書かないと
進歩がなさそうな気がします。その書くことに時間をこの頃使っていない気がします。
ちなみに自サイトのブログ以外のサイトを
昨日、映画を観終わって帰宅後リニューアルしました。
 
 

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

$a&gt, 3項演算子, A9, AM, B9, javascript, php, ret, コード, トイウコト, プログラミング, やさしい教本, 他人, 使い方, 手直し, 挙動, 書き方, 記述, 難コーディング,