数珠繋ぎのツイートシステムに予約機能を付けました😂 #php #code

2022.10.07

Logging

おはようございます、偏頭痛持ちは雨が降るが一番大変です☔。

先日、数珠繋ぎのツイートシステムを作ったのですが、そのシステムに予約機能を付けました。尚、TwitterAPIのバージョン2でスケジュールのパラメーターが今のところ無いですね。これから先、機能が付くかも知れないですが今のところ無いようです。因みにソースコードは近日中にQiitaGithubにUPします。此処ではソースコードの一部を掲載します(※記事を更新しました下へスクロール🫠)。

Twitter API v2 ツイート数珠繋ぎ

尚、crontabでPHPファイルを叩くようにしています、あと注意事項ですが予約を一度した投稿については変更等は出来ません、編集機能等の機能追加の予定はないです。また、予約管理はsqlite3を使用して管理しています。

<?php
date_default_timezone_set('Asia/Tokyo');
ini_set("display_errors",0);
require_once "./data/tw-config-v2.php";
require_once "../vendor/autoload.php";

use Abraham\TwitterOAuth\TwitterOAuth;

class tw
{
    var $connection = null;
    var $pdo = null;
    function __construct()
    {
        $this->connection = new TwitterOAuth(APIKEY, APISECRET, ACCESSTOKEN, ACCESSTOKENSECRET);
        $this->connection->setApiVersion("2");
    }
    function db_connection()
    {
        try {
            //code...
            $res = $this->pdo = new PDO("sqlite:./data/tw-tweets-db.sqlite3");
        } catch (\Throwable $th) {
            //throw $th;
            //print $th->getMessage();
            $res = false;
        }
        return $res;
    }

    function timecheck($timeonoff, $times)
    {
        if (!$timeonoff) return true;
        $n = new DateTime();
        $t = new DateTime($times);
        return $t <= $n ? true : false;
    }

    function pickup_tweets(mixed $tw_text = null, int $timeonoff = 0, mixed $times = null, string $id = "")
    {
        if (!$times) return false;
        $obj = (object)[];
        $times = preg_replace("/\-/", "/", $times);
        $times = preg_replace("/T/", " ", $times);

        if ($this->timecheck($timeonoff, $times)) {
            if (isset($tw_text) && is_array($tw_text)) {
                foreach ($tw_text as $key => $value) {
                    if (preg_replace("/[ | ]/", "", $value)) {
                        $obj = !$key ? ($this->connection->post("tweets", ["text" => $value], true)
                        ) : ($this->connection->post("tweets", ["reply" => ["in_reply_to_tweet_id" => $obj->data->id], "text" => $value], true)
                        );
                    }
                }
                return true;
            }
        } else {
            return $timeonoff ? $this->save_sqlite($tw_text, $timeonoff, $times, $id): true;
        }
    }

    function save_sqlite($tw_text = null, int $timeonoff = 0, mixed $times = null, string $id = "")
    {
        if ($this->db_connection()) {
            try {
                //code...
                if (isset($tw_text) && is_array($tw_text)) {
                    foreach ($tw_text as $key => &$value) {
                        if (preg_replace("/[ | ]/", "", $value)) {
                            $stmt = $this->pdo->prepare("insert into tweets (tw_id,user,times,tw_text)values(:tw_id,:user,:times,:tw_text)");
                            $stmt->bindValue(":tw_id", $key, PDO::PARAM_INT);
                            $stmt->bindValue(":user", $id, PDO::PARAM_STR);
                            $stmt->bindValue(":times", $times, PDO::PARAM_STR);
                            $stmt->bindValue(":tw_text", $value, PDO::PARAM_STR);
                            $stmt->execute();
                        }
                    }
                }
                $this->pdo = null;
                return true;
            } catch (\Throwable $th) {
                //throw $th;
                return false;
            }
        }
    }
    function tweets_load(string $id = "")
    {
        if (!$id) return false;
        try {
            //code...
            $value = null;
            if ($this->db_connection()) {
                $stmt = $this->pdo->prepare("select * from tweets where user = :user order by times,tw_id asc;");
                $stmt->bindValue(":user", $id, PDO::PARAM_STR);
                $res = $stmt->execute();
                $value = $res ? $stmt->fetchAll() : false;
                $this->pdo = null;
            }
            return $value;            
        } catch (\Throwable $th) {
            //throw $th;
            return false;
        }
    }
    function tweets_update(int $key = 0, int $timeonoff = 0, mixed $times = null, string $id = "",mixed $tw_text="")
    {
        try {
            //code...
            if(!preg_replace("/[ | ]{0,}/","",$tw_text))return false;
            if ($this->db_connection()) {
                $stmt = $this->pdo->prepare("update tweets set tw_text = :tw_text where tw_id = :tw_id and user = :user and times = :times");
                $stmt->bindValue(":tw_id", $key, PDO::PARAM_INT);
                $stmt->bindValue(":user", $id, PDO::PARAM_STR);
                $stmt->bindValue(":times", $times, PDO::PARAM_STR);
                $stmt->bindValue(":tw_text", $tw_text, PDO::PARAM_STR);
                $stmt->execute();
                $this->pdo = null;
            }
        } catch (\Throwable $th) {
            //throw $th;
            return false;
        }
        return true;

    }

    function tweets_delete(int $key = 0, int $timeonoff = 0, mixed $times = null, string $id = "")
    {
        try {
            //code...
            if ($this->db_connection()) {
                $stmt = $this->pdo->prepare("delete from tweets where tw_id = :tw_id and user = :user and times = :times");
                $stmt->bindValue(":tw_id", $key, PDO::PARAM_INT);
                $stmt->bindValue(":user", $id, PDO::PARAM_STR);
                $stmt->bindValue(":times", $times, PDO::PARAM_STR);
                $stmt->execute();
                $this->pdo = null;
            }
        } catch (\Throwable $th) {
            //throw $th;
            return false;
        }
        return true;
    }

    function bat_tweets(mixed $value = null)
    {
        if (!$value) return false;
        $obj = (object)[];
        $t = "";
        foreach ($value as $key => $val) {
            if ($this->timecheck(1, $val["times"])) {
                $obj = ($val["times"]<>$t)? ($this->connection->post("tweets", ["text" => $val["tw_text"]], true)
                ) : ($this->connection->post("tweets", ["reply" => ["in_reply_to_tweet_id" => $obj->data->id], "text" => $val["tw_text"]], true)
                );
                $this->tweets_delete($val["tw_id"], 1, $val["times"], $val["user"]);
                $t = $val["times"];
            } else {
              //  var_dump($val);
              //  break;
            }
        }
    }
}

if ($argv[0]) {
    $tw = new tw();
    $value = $tw->tweets_load(xss_d($argv[1]));
    $tw->bat_tweets($value);
}
function xss_d($val = false)
{
    if (is_array($val)) {
        foreach ($val as $key => $value) {
            $val[$key]  = strip_tags($value);
            $val[$key]  = htmlspecialchars($val[$key]);
        }
    } else {
        $val  = strip_tags($val);
        $val  = htmlspecialchars($val);
    }
    return $val;
}

追記:予約編集機能なども付けました🙄。

GithubとQittaのリンクはこちらです。
Github:https://github.com/taoka-toshiaki/tweets-system-box1
Qitta:https://qiita.com/taoka-toshiaki/items/5ef12b60b267742bf584

タグ

2, , 39, Asia, Code, crontab, date, default, github, ini, lt, php, qiita, Se, set, Sqlite, timezone, Tokyo, TwitterAPI, UP, コード, これ, システム, スクロール, スケジュール, ソース, ツイート, ところ, バージョン, パラメーター, ファイル, 一部, , 予定, 予約, 事項, , 使用, 偏頭痛, , 先日, 変更等, 大変, 投稿, 掲載, 数珠繋ぎ, 更新, 機能, 機能等, 此処, 注意, 管理, 編集, 記事, 近日, 追加, ,

1万件のCSVを読み込みテーブルに保存する雛形コード #PHPCode

2022.09.08

Logging

おはようございます、徐々に秋ぽっい日差しになってきましたね(まだ暑いけども😌)。

今日は、1万件のCSVを読み込みテーブルに保存する雛形コードを昨日、ちょちょっと書きましたので記載します。ファイルをダウンロードして使いたい方はGithubのリンクを下に貼っときますので、ご使用頂けたらと思います。尚、テーブルなどはCSVを参考にご自身で構えてください。

※動作環境はPHP8系です、なのでPHP7系では一部エラーが出ます。fgetcsv…nullを0へ変更。

Githubのリンクはこちら

Qiitaの方に記載しようかどうしようか、迷ったのですが第一弾目がアクセス数がそこそこ伸びたのでこれ以上、注目されるのは嫌なのでブログの方に記載しました。1万件のCSVを簡単に読み込ませる方法はPHPコードを書くのではなく、SQLのコマンドで実行した方が実は早いですけど・・・。

有言実行

早いですけど、その場合、CSVがちゃんとしたファイルではないと上手くテーブルに保存されない場合や、そもそもコマンドラインで操作出来ない場合もあったりしてPHPコードなどで制御しないと駄目な事もあります。そんな時に、このコードをサンプルとして使って頂ければ良いなと思い作りました。

1万件のCSVを読み込ませるPHPコード雛形。

そんなにコードを書かなくてもまぁ動くんですよ。ちなみにソースコードには、あまりコメントを書いていないですが、プログラマーなら大体の人が理解できるレベルかと思います。

<?php
//ini_set("display_errors","On");
session_start();
require "db_config.php";

//読み込みCSVファイル名セット
class csv
{
    /**
     * @param string $filename
     * @param int $cnt
     * @return Object
     */
    public function ini_csv($filename = "", $cnt = 0)
    {
        return new csv_read($filename, $cnt);
    }
}

//CSVデータを読み込ます
class csv_read
{
    var $max = 10000;
    var $cnt = 0;
    var $handle = null;
    /**
     * @param string $filename
     * @param int $cnt
     */
    public function __construct($filename = "", $cnt = 0)
    {
        $this->cnt = $cnt;
        $this->handle =  fopen($filename, "r");
        $_SESSION["offset"] ? fseek($this->handle, $_SESSION["offset"]) : $this->handle;
    }
    /**
     * @param int $header_skip
     * @return Object
     */
    public function reader($header_skip = 0)
    {
        if ($this->handle !== FALSE) {
            $response = null;
            $data = fgetcsv($this->handle, null, ",");
            if (!$header_skip || $_SESSION["offset"]) {
                if ($data !== FALSE) {
                    $_SESSION["offset"] = ftell($this->handle);
                    $response["data"] = $data;
                    $response["cnt"] = $this->cnt > $this->max ? 0 : ($this->cnt + 1);
                    $flag = true;
                } else {
                    $_SESSION["offset"] = null;
                    $flag = false;
                }
            } else {
                $_SESSION["offset"] = ftell($this->handle);
                $response["cnt"] = $this->cnt > $this->max ? 0 : ($this->cnt + 1);
                $flag = false;
            }
        } else {
            $_SESSION["offset"] = null;
            $flag = false;
        }
        return new table_save($flag, $response);
    }
}

//tableにCSVデータを保存
class table_save
{
    var $flag = false;
    var $result = null;
    /**
     * @param boolean $flag
     * @param array  $response
     * @return void
     */
    public function __construct($flag, $response)
    {
        $this->flag = $flag;
        $this->result = $response;
        $this->column_name = "name,,...";
    }
    /**
     * @param string  $column_name
     * @return void
     */
    public function tbl_save($column_name = "")
    {
        if ($this->flag) {
            $column = $column_name ? $column_name : $this->column_name;
            $is_column = explode(",", $column);
            foreach ($is_column as $key => $val) {
                $is_value[$val] = $this->result["data"][$key];
            }
            try {
                $pdo = new PDO(DSN, USERNAME, PASSWORD);
                $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                $sql = (function ($is_column) {
                    $INSERTFIRST = null;
                    $INSERTLAST = null;
                    foreach ($is_column as $key => $val) {
                        $INSERTFIRST[] = "$val";
                        $INSERTLAST[] = ":$val";
                    }
                    $INSERTSQL = "(" . implode(",", $INSERTFIRST) . ")values(" . implode(",", $INSERTLAST) . ")";
                    $UPDATESQL = null;
                    foreach ($is_column as $key => $val) {
                        $UPDATESQL[] = "$val = :$val";
                    }
                    return "INSERT INTO " . TABLENAME . $INSERTSQL . " ON DUPLICATE KEY UPDATE " . implode(",", $UPDATESQL) . ";";
                })($is_column);

                $stmt = $pdo->prepare($sql);
                foreach ($is_value as $key => &$value) {
                    $is_type = ($key === "test3" || $key === "test13") ? PDO::PARAM_INT : PDO::PARAM_STR;
                    $stmt->bindValue(":$key", $value, $is_type);
                }
                $this->result["sql"] = $stmt->execute();
            } catch (\Throwable $th) {
                //throw $th;
                $this->result = null;
                print $th->getMessage();
            }
        }
        print json_encode($this->result);
    }
}

//RUN...POST DATA
if (isset($_POST["csrf_token"])  && d_xss($_POST["csrf_token"]) === $_SESSION['csrf_token']) {

    $_SESSION["offset"] = (int)d_xss($_POST["reset_flag"]) === 1 ? null : d_xss($_SESSION["offset"]);
    $filename = d_xss($_POST["filename"]);
    $cnt = (int)d_xss($_POST["cnt"]);

    $column_name = "test1,test2,test3,test4,test5,test6,test7,test8,test9,test10,test11,test12,test13,test14,test15";
    $header_skip = 1;

    $csv = new csv();
    $csv->ini_csv($filename, $cnt)->reader($header_skip)->tbl_save($column_name);
    $csv = null;
} else {
    print "";
}
function d_xss($data){
    $data = strip_tags($data);
    $data = htmlspecialchars($data,ENT_QUOTES);
    return $data;
}
<?php
 // ログインした状態と同等にするためセッションを開始します
 session_start();
 // 暗号学的的に安全なランダムなバイナリを生成し、それを16進数に変換することでASCII文字列に変換します
  $toke_byte = openssl_random_pseudo_bytes(16);
  $csrf_token = bin2hex($toke_byte);
  // 生成したトークンをセッションに保存します
  $_SESSION['csrf_token'] = $csrf_token;
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="Description" content="Enter your description here"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
<title>CSV</title>
</head>
<body>
    <input type="hidden" name="csrf_token" value="<?=$csrf_token?>">
    <span class="h3" id="cnt"></span><br><br>
    <span class="h4" id="read_csv"></span><br><br>
    <span class="h4" id="debug"></span><br><br>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.1/umd/popper.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/js/bootstrap.min.js"></script>
<script>
    window.onload = function(){
        read_csv(0,1);
    };
    function read_csv(cnt,reset_flag){
        try{
            $.ajax({
            type: "post",
            url: "./assets/php/class_csv.php",
            async: false,
            data: {csrf_token:document.getElementsByName("csrf_token")[0].value,reset_flag:reset_flag,filename:"dummy.csv",cnt:cnt},
            dataType: "json",
            success: function (response) {
                    if(response){
                        cnt = response.cnt;
                        document.getElementById("cnt").innerText = cnt;
                        if(response.data){
                            document.getElementById("read_csv").innerText = response.data[0] + response.sql;
                            document.getElementById("debug").innerText = cnt ===21?response.data:document.getElementById("debug").innerText;
                        }
                        setTimeout(function(){read_csv(cnt)},0);
                    }
                }
            });
        }catch(e){
            console.warn(e);
            read_csv(cnt);
        }
    }
</script>
</body>
</html>

タグ

0, , 7, 8, CSV, fgetcsv, github, null, php, PHPCODE, qiita, SQL, アクセス, エラー, コード, こちら, コマンド, これ, ご使用, ご自身, ダウンロード, ちょ, テーブル, ファイル, ブログ, リンク, , 一部, , , 今日, 保存, 動作, 参考, 変更, 実行, , 方法, 日差し, 昨日, 有言実行, 注目, 環境, , 簡単, 記載, 雛形,

一部のサービスのアクセス数が極端に増えたことで思うこと。

2022.08.16

Logging

おはようございます。今日は3時に起床してみました。たぶん二度寝することになりそうですが🙄。

さて、一部のサービスでアクセス数が極端に増えてたみたいです、昨日の話。基本的に自分は作るまでが楽しくて作ったものは自分では使用しません。バージョンアップやテスト投稿などはしますが、それ以外の書き込みなどは全くです。

極端にアクセス数が増えたりするというのは、大体、シェアや口コミからの流れが多いことがあります。

自分にとってはアクセス数よりも収益に繋がったのかや皆が楽しく使っているのかなどの方が重要です。今、あるサービスでは匿名での投稿が殆どです、投稿内容の質もイマイチです(似たような投稿ばかり)。このまま匿名投稿を継続させるのか、Twitterのアカウントなどソーシャルなアカウントと結び付けないと使えないようにするか考えています。

アクセス解析ツールで分かることは年代、男女の比率、何処からのアクセスなのかなどは分かります。そういう傾向を見ると何だか偏っている、そして何より自分の思惑とはかなり違った方向に行っている気がします。コレばかりは仕方がない事なのかも知れませんが悩みどころですね。

トイウコトデ、検討中です。

タグ

, Twitter, アカウント, アクセス, アップ, いまいち, こと, このまま, サービス, シェア, ソーシャル, それ, ツール, テスト, バージョン, もの, 一部, , , 今日, 何処, 使用, 内容, 匿名, 収益, 口コミ, 大体, 年代, 投稿, , 昨日, 極端, 殆ど, 比率, 男女, , 継続, 自分, 解析, , , 起床, 重要,

声が洗脳的なあの有名YOUTUBERさん…。

2022.05.18

Logging

おはようございます。

声が洗脳的なあの有名YOUTUBERさん、なおきマンさんは聞いているとわかると思いますがなんか洗脳されそうな声ですよね。YOUTUBEで成功するには声がすごく重要、次に顔が大事になると思います。これはエンタメ的な動画をアップしているYOUTUBERさんに当てはまりますし、ガジェット解説などをしている人にも結構、当てはまると思っています。

【重大発表】世界の陰謀、グレート・リセット!

今回見た、なおきマンさんの動画はかなりお金がかかっているなという出来ですよね。これはよく出来ていると思います。この人が成功したのは先発優位性というのもあると思いますが、収益を得たものをYOUTUBEに再投資したというのもあるかと思います。

うまく行っている時にそれに対して利益の一部を再投資すると大体、上手く回ります。特にネットはリアルよりもその効果が高いかなって思います〆。

因みになおきマンさんの動画は都市伝説的なものやオカルト的な話なので、信じるも信じないのも個人の自由になります。

タグ

youtube, YOUTUBER, アップ, エンタメ, オカルト, お金, ガジェット, かなり, これ, それ, なおき, ネット, マン, もの, リアル, 一部, , 今回, 優位性, 先発, 出来, 利益, 効果, 動画, 収益, , 大事, 大体, 成功, 投資, , 有名, 洗脳, 解説, , 都市, 重要, ,

数年後、日本でも起こることだと自分は思っている未来。

2022.05.17

Logging

おはようございます。

昔、自動運転技術のことを何度も紹介してきましたが、コロナになってからブログではそのことに触れる事がなくなっていましたので、再度、自動運転技術はどうなっているのかを書いてみようと思います。日本では自動運転車はまだ一部の道路で試験走行している段階ですが、アメリカではもう都市では無人タクシー?として、走っているようです。

Watch Waymo’s Self-Driving Taxis Put Urban Terrain to the Test | WSJ

アメリカで起きたことが大体、2~5年遅れて日本でも同じような光景が見えるようになるのが今までの光景ですので、おそらく2030年頃には各都市では無人タクシーが走っている光景が見えるようになると思います、そうなると車は持つものから徐々に借りるものに変わっていくと思いますし、ほぼすべての車が自動運転車になると、おそらく次のようなことが起きると思います。人が車を運転することを禁止し、全ての車を自動運転に切り替えると確実に事故は激減します。そして信号なども要らなくなるでしょうから、電力消費などもだいぶ軽減するので国がそういう様に法整備をすると思います。

それが起きるのはあと20年先なのかも知れませんが、おそらくそういう時代が訪れると思います。

タグ

2, 2030, 5, com, eaOo-, eJM, https, watch, www, youtube, アメリカ, こと, コロナ, すべて, タクシー, ブログ, もの, 一部, , , 何度, 光景, 全て, 再度, 大体, 技術, , 日本, , 未来, 段階, 無人, 禁止, 紹介, 自分, 自動, 試験, 走行, , 運転, 道路, 都市,

川上量生さんはかなり賢い人だなって改めて思います。いや神回だなって。

2022.03.21

Logging

おはよう御座います。
今日は月曜日です、皆様お仕事頑張ってください!🙇(祝日!?)。

川上量生さんと堀江貴文さんとのニューズピックス対談を無料で見れるのは凄くお得だと思います、特に人工知能と意識の話がとても面白いと思いましたし、かなり川上量生さんはかなり賢い人だなって思いました。

競争はするな!ドワンゴ・ファウンダーの川上氏が語る経営哲学【川上量生×堀江貴文】

これは自分が説明するよりも対談を視聴したほうが良いです。この人工知能の話の中で堀江貴文さんが話していた脳の一部を徐々に電子の記憶媒体に変えた場合、どうなるのかなって話は昔、自分が記事にも書いたことがありますが、本当にそんな事を研究している人がいるだなって知って「あぁこれ」出来るだなって思いました。自分の予想では脳を電子の記憶媒体に置き換えることはいまの技術力で出来るじゃないかなって思います。ただ海馬などはまだまだ先の話になりそうですが😏。

タグ

いま, お仕事, かなり, こと, これ, ニュース, ピックス, 一部, , 予想, , , 人工, 今日, , 堀江貴文, 場合, 媒体, 対談, 川上量生, 意識, 技術力, , 月曜日, 本当, 海馬, 無料, 皆様, 知能, 研究, 祝日, 神回, , 自分, 視聴, 記事, 記憶, , 説明, 電子,

お店のホームページ(サイト)の作り方を解説していきます。

2022.02.28

Logging

おはよう御座います。
今日は昨日よりも暖かくなるそうですね☀。

さて、突然ですがお店のホームページ(サイト)の作り方を解説していきます。次回の記事から何回かにわけてお店のホームページ(サイト)の作り方を文字と動画により解説していきますね。今では無料でお店のホームページを作ることが出来てしまいますが、無料でサイトを作った場合は広告などが表示されお店のブランドを損ねてしまう可能性大なので、月額131円で静的なサイトを構築していく方法を教えます(予約機能付き:一部有料)。

尚、プログラムを全て解説すると言うよりかは雛形のサイトを提供しますので、そちらの雛形のサイトに記載している文字や画像を差し替えてオリジナルテンプレートをご自身で作ってもらうという形になります。それも難しいという方に向けて文字や画像をサイトから差し替えできるサービスを作っていこうと思っていますが開発は未定です、そのサービスは無料で提供するつもりでいます。

無料で提供して見返りも求めないという自分には何にもメリットがないものです。ただ、このサイトのアクセス数がもっと増えたらなという思いがあります😌。

追伸:無料で提供するテンプレートの中に、こちらのリンクを貼っていただければ有り難いですがこれもご自身で判断してください。

タグ

131, オリジナル, お店, こと, ご自身, サービス, サイト, そちら, それ, つもり, テンプレート, ブランド, プログラム, ホームページ, 一部, 予約, , 今日, 何回か, 作り方, 全て, 動画, 可能性, 場合, , 広告, , 提供, 文字, , 方法, 昨日, 月額, 有料, 未定, 構築, 機能, 次回, 無料, 画像, 表示, 解説, 記事, 記載, 開発, 雛形,

昔と今はかなり違っているけど自分にとってはあまり変わらない。

2022.02.27

Logging

おはよう御座います🐔。
今日は暖か陽気になるそうですね。

ここ数年でネットの中にはかなり情報が溜まってきていると印象を抱いている方も多いと思いますが、実際、全ての情報をGさんやYさんなどで検索することは出来ないらしいです。理由は昔と今とは違うから、新しい情報にアクセス出来るようなシステムになっています。特に医療、IT技術などは昔はそうだったけど、今は変わったという事例が多くあるのでネットが始まったときに書いたようなものにはアクセスすることが難しくなっています。

唯一、お店サイトなどは昔ながらのサイトでも上位に表示されたり検索にヒットしないという事はあまりないです。このように分野によって情報の蓄積や上書き度合いは変わります。

レトロなサイトデザインまとめたサイトなどがあるかは知りませんが、あれば一部のコアなファンから支持を得そうですね。ただ、そんなレトロなデザインを見つけるのはかなり大変かなと思います。そんな感じでネットは広大です、過去の情報やサイトに辿り着くことが出来ることは年々難しくなってきています。もう一つ言えることは、昔と今では情報の蓄積量はかなりの差があります。

そのため、正確な情報に辿り着くのも難しくなってきています。真実かどうかを見抜くのは実際に体験するなどの他に、基礎を身につけることがこれから先、大事になってくると思います。基礎を身につけるとその概念(基礎)を元に正確な情報かどうかがある程度、自分の頭で思考でき判断することが出来るからです。なので、基礎を身につける事が大事になってきます。

トイウコトデ、昔と今はかなり違っているけどあまり変わらないでした。
追伸:基礎のアップデートも大事ですよね😌。

タグ

IT, アクセス, お店, かなり, コア, ここ, こと, サイト, システム, デザイン, とき, ネット, ヒット, ファン, もの, レトロ, 一部, 上位, 上書き, , , 事例, , 今日, 全て, 分野, 医療, 印象, 唯一, 大変, 実際, 度合い, 情報, 感じ, 技術, 支持, , , , 検索, 理由, 自分, 蓄積, 表示, 陽気,

NewsPicksのあの動画は無料で合法的に全視聴可能になってる!?

2021.09.01

Logging

9月になりましたね。高知県はまだまだ暑い日が続いています。

2月末までとある企業で仕事をしていたのですが、途中からフルリモートが週イチリアル勤務になりやめる頃には毎日、リアル勤務に変わっていてコロナ禍でついていけない会社はあるのだなぁと実感しました。今までの仕事の体制を変えるって結構大変なことかと思います。

さて、「NewsPicksのあの動画は無料で合法的に全視聴可能になってる!?」の件ですがタイトル通りYOUTUBEで一部の動画は全視聴することが可能になっています。その動画は堀江貴文さんが出ているHORIE ONEというニュースピックスの動画です。こちらHORIE ONEの最新動向が配信されたあと、YOUTUBEのホリエモンチャンネルで小出しに後半部分が視聴可能になっています。なのでニュースピックスのHORIE ONEしか見ていないよという方はわざわざNewsPicksにお金を毎月払わなくても動画見れちゃいます。

お金より重要なのは○○と○○だ!ホリエモン的幸福論【山崎元×堀江貴文】

HORIE ONE[NewsPicksコラボ]はNewsPicksさんと堀江貴文さんが試みているのか、堀江貴文さんが権利を買い取っているのかは定かではありませんが、いち視聴者からするととても有り難いことです。

自分はNewsPicksさんの有料会員から無料会員へ移行して数ヶ月経ちましたが、無料会員枠でも少し動画が視聴できるので、当分、これで良いかなと思えてきまし堀江貴文さんがほぼフル動画を配信してくれるので、これで十分だなと。

タグ

2, , HORIE, newspicks, one, youtube, あと, いち, お金, こちら, こと, コロナ, タイトル, チャンネル, ニュース, のあ, ピックス, プル, ホリエモン, リアル, リモート, れち, わざわざ, 一部, 仕事, , 企業, 会社, 体制, 動向, 動画, 勤務, 可能, 堀江貴文, 大変, 実感, 小出し, 後半, , , 最新, 毎日, 無料, , 視聴, 途中, , 部分, 配信, , 高知県,

アンフォローが多発しているのでアンフォローした人には自動でお礼コメントする。

2021.07.15

Logging

アンフォローが多発しているのでアンフォローした人には自動でお礼コメントするようにプログラミングコードを書いて五分間で処理を実行するようにcrontabに設定しました。ソースコードの一部を記載しますのでご自分の環境に合わしてご自由にお使いくださいませ。尚、TwitterOAuthライブラリを使用しておりますが、ライブラリの導入などに関しては割愛しております。

何故、こんなコードを書いたのか余談。フォロワーさんが外れるのはあまり嬉しいことではないですよね。離れていく人を食い止めようとは思いませんが、最後のお礼コメントぐらい言わせてくださいなという考えの元、今回のお礼コメントをするPHPのコードを書きました。相変わらずソースコードにコメントはありません、悪しからず?。

尚、一回目は一部コメントアウトして実行ください?

<?php
require_once("../vendor/autoload.php");

use Abraham\TwitterOAuth\TwitterOAuth;

if ($argv[0]) {
    require_once "./tw-config.php";
    $f_data = @file_get_contents("followers.dat");
    $f_data = $f_data?explode(PHP_EOL,$f_data):[];     

    date_default_timezone_set('Asia/Tokyo');
    $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET);
    $response = $connection->get("followers/ids", array(
        'screen_name' => 'zip358com',
        'count'=>1000
    ));

    $unFolloewers = array_diff($f_data,$response->ids);
    $data = @implode(PHP_EOL,$response->ids);
    file_put_contents("followers.dat",$data);

    if($unFolloewers){
        foreach($unFolloewers as $key=>$val){
            $response = $connection->get("users/show", array(
                'user_id' =>$val
            ));
            $text = "@".$response->screen_name. " さん 今までフォローありがとうございました(¯―¯?)。{フォロー解除されました? ([atmark]zip358comより自動投稿)}";
            print $text;
            $connection->post("statuses/update", array("status" => $text . " \n"));
        }
    }
}

タグ

aut, crontab, lt, once, php, quot, require, TwitterOAuth, vendor, アウト, アン, お使い, お礼, コード, こと, コメント, ご自分, ソース, フォロー, フォロワー, プログラミング, ライブラリ, , 一部, , , 今回, 何故, 余談, 使用, , 処理, 割愛, 多発, 実行, 導入, 最後, 環境, 自動, 記載, 設定,

LINE messaging apiでブログの配信通知するプログラムコード。

2021.07.14

Logging

暑い日が続いています、夕立になった後のアスファルトの匂いを嗅ぐと夏だなぁって思うのは自分だけでしょうか?
さてLINE messaging apiでブログの配信通知するプログラムコードを書きましたのでお裾分けします?、コードはいつもの通りコメントなんてものはありません。この2つのコードは何をしているのかだけ、解説しますね。

1つ目のコードは私のLINEチャンネルを友だち追加してくれたら、データベースにuseridを登録するコードです。解除したらuseridの削除もちゃんとしています。

2つ目のコードは私のLINEチャンネルに登録してくれた方々に最新の記事を送信しています。自分は毎日、9時に最新の記事を送信するようにcron登録しました。

一部、defineを設定している部分がありますのでコードに追加してください、よろしくお願いします?
※LINEチャンネル登録よろしくお願いします。

<?php
    class line{
        function webhook($webhook_object=null){
            if(!$webhook_object)return false;
            $obj = json_decode($webhook_object);
            $type = $obj->events[0]->type;
            $userId = $obj->events[0]->source->userId;
            $replyToken = $obj->events[0]->replyToken;
            if($type==="follow"){
                $pdo = self::db();
                if($pdo){
                    $sql = "insert into user (userid)values(:userid)";
                    $sth = $pdo->prepare($sql);
                    $sth->bindValue(":userid",$userId,PDO::PARAM_STR);
                    $sth->execute();
                }
            }
            if($type==="unfollow"){
                $pdo = self::db();
                if($pdo){
                    $sql = "delete from user where userid = :userid";
                    $sth = $pdo->prepare($sql);
                    $sth->bindValue(":userid",$userId,PDO::PARAM_STR);
                    $sth->execute();
                }
            }
            if($type==="message"){

            }
        }

        function db(){
            try {
                $pdo = new PDO(DSN,USERNAME,PASSWORD);
                return $pdo;
            } catch (\Throwable $th) {
                //throw $th;
                return false;
            }
        }
    }


    if($data = file_get_contents('php://input')){
       print line::webhook($data);
    }
<?php
    class blog_post_msg_line{

        function db(){
            try {
                //code...
                return new PDO(DSN,USERNAME,PASSWORD);
            } catch (\Throwable $th) {
                //throw $th;
                return false;
            }
        }

        function rss(){
            $obj = simplexml_load_file("https://zip358.com/feed");
            $post_message[2] = $obj->channel->item[0]->title ."\n". $obj->channel->item[0]->link;
            $post_message[1] = $obj->channel->item[1]->title ."\n". $obj->channel->item[1]->link;
            $post_message[0] = $obj->channel->item[2]->title ."\n". $obj->channel->item[2]->link;
            return $post_message;
        }

        function main(){
            $pdo = self::db();
            if($pdo){
                $post_message = self::rss();
                $sql = "select userid from user;";
                $sth = $pdo->query($sql);
                $res = $sth->fetchAll(PDO::FETCH_ASSOC);
                if($res){
                    foreach($res as $key=>$val){
                        $user_id = $val["userid"];
                        self::line_post($user_id,$post_message);
                    }
                }
                
            }
            
        }

        function line_post($user_id ='',$post_message=null){
            $text = [
                [
                    'type' => 'text',
                    'text' =>"最新の記事をお届けします"
                ],
                [
                'type' => 'text',
                'text' =>$post_message[0]
                ],
                [
                    'type' => 'text',
                    'text' =>$post_message[1]
                ],
                [
                    'type' => 'text',
                    'text' =>$post_message[2]
                ]                                
            ];
            
            $message = [
                'to' => $user_id,
                'messages' => $text
            ];
            
            $message = json_encode($message);
            
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer ' . ACCESS_TOKEN, 'Content-Type: application/json'));
            curl_setopt($ch, CURLOPT_URL, 'https://api.line.me/v2/bot/message/push');
            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
            curl_setopt($ch, CURLOPT_POSTFIELDS, $message);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            $res = curl_exec($ch);
            curl_close($ch);      
        }
    }

    if($argv[0]){
        blog_post_msg_line::main();
    }  

タグ

, 2, , API, cron, define, line, Messaging, userid, アスファルト, いつも, お裾分け, お願い, コード, コメント, チャンネル, データベース, ブログ, プログラム, もの, 一部, , 削除, 匂い, 友だち, , 夕立, , 方々, , 最新, 毎日, 登録, , 自分, 解説, 解除, 記事, 設定, 追加, 送信, 通り, 通知, 部分, 配信,

お問い合わせフォームとメールフォームの考え方は同じ。

2021.06.07

Logging

お問い合わせフォームとメールフォームの考え方は同じです。AからBにデータを送信してそれを元に処理をしているだけです。これはフォームに限らず、プログラムはデータを元に計算などを行い結果を出力しているに過ぎないのです。コンピュータというのは高速にデータを分類したり、計算したりしているだけなのです。

プログラミングに挫折する人は、いろいろな事に疑問を持って先に進まない人が多いです。どうしてそうなるのかという所まで考えようとしていて前に進まない人が多いです。

逆にそうなるだという事を受け入れる人の方が覚えが早いです。最初はルールを覚えたほうが良いですね。
小学生でプログラミングを始めたい方は、人のプログラミングコードを模写して、そのコードの一部の数字などを変更してみて、こうするとこうなるのかという形で覚えていくほうが良いと感じます。参考書には難しい言葉を使って書いている事が多いので、そのような形で覚えるほうが良いでしょう。
今回のソースコードを貼っときますので、コピーするのではなく自分で書いて動かしてみてください!
※因みにphp言語が動作する環境が必要になります。
https://www.sakura.ne.jp/standard.html#plan

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="Description" content="お問い合わせ"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.2/css/all.min.css">
<title>お問い合わせ</title>
<style>
	body{
		background-color: #f8f9fa;
	}
</style>
</head>
<body>
	<div class="container">
		<div class="row">
			<div class="col-12 mt-5">
				<h2>お問い合わせ</h2>
				<input class="form-control mt-1" type="text" name="name" placeholder="お名前を入力ください">
				<input class="form-control mt-1" type="text" name="email" placeholder="メールアドレスを入力ください">
				<div class="form-group mt-1">
					<label for="my-select">お問い合わせ</label>
					<select id="my-select" class="form-control" name="ptn">
						<option value="問い">お問い合わせ</option>
						<option value="意見">ご意見</option>
					</select>
				</div>
			</div>
		</div>
		<div class="form-group mt-1">
			<label for="my-textarea">内容</label>
			<textarea id="my-textarea" class="form-control" name="text" rows="3" placeholder="内容を入力ください"></textarea>
		</div>
		<button class="btn btn-primary" id="btn" type="button">送信</button>
	</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.1/umd/popper.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/js/bootstrap.min.js"></script>
<script>
	document.getElementById("btn").addEventListener("click",function(){
		let data = {};
		data["name"]  = document.getElementsByName("name")[0].value;
		data["email"] = document.getElementsByName("email")[0].value;
		data["ptn"]   = document.getElementsByName("ptn")[0].value;
		data["text"]  = document.getElementsByName("text")[0].value;
		$.ajax({
			type: "POST",
			dataType: "json",
			url: "./send.php",
			data: data,
			success: function (response) {
				if(response){
					console.log(response);
				}
			}
		});
	});
</script>
</body>
</html>
<?php
print json_encode($_POST);

タグ

いろいろ, お問い合わせ, コード, これ, コンピュータ, それ, データ, フォーム, プログラミング, プログラム, メール, ルール, 一部, , , , 処理, 出力, 分類, , 参考書, 変更, 小学生, , , 挫折, 数字, , 最初, 模写, 疑問, 結果, 考え方, 言葉, 計算, 送信, , 高速,

映画、るろうに剣心 最終章を観てきました。

2021.04.23

Logging

映画、るろうに剣心 最終章を観てきました。日本でしか再現できなかった映画かなと毎回観に行って感じます。漫画、るろうに剣心の再現度は高いですね。最終章の最後の戦いを一部、サウンドトラック無し(効果音だけ)で映像化したのは圧巻でした。ひとつ言うと漫画のセリフ通りでなくても良いかなという所かな。雰囲気が伝われば自分は良いかなと感じるので、そこだけ改善すればもっと良い感じの映画になったかなと思います。

少し辛口コメントを書くと日本の映画なのでやはり演技力は気になってしまう所です。後半はバトルシーンになるのでそういう所は忘れてしまいますが・・・。お客さんの殆どは冒頭バトルシーンで感情移入出来るじゃないかなと思います、しかしスピード感がないシーンなどになると役者さんにより演技力の差がどうしても見えてしまうのが邦画の難点かなと感じました、辛口評価するとそうなります。。。。?ですが全体を通してみると良い感じに漫画『るろうに剣心』の世界観が再現出来ていると感じました、特にワイヤーアクション殺陣には圧巻です!!これだけは映画館でしか体験できないじゃないかと思います。

『るろうに剣心 最終章 The Beginning』特報映像
ONE OK ROCK – Renegades [OFFICIAL MUSIC VIDEO Short Ver.]

最後にエンディングで流れるONE OK ROCKのRenegades(反逆者・裏切者)の曲も凄くマッチしていて良かったです。

タグ

お客さん, かな, コメント, サウンドトラック, シーン, スピード感, セリフ, そこ, バトル, ひとつ, るろう, 一部, 世界観, 全体, 再現, 冒頭, 剣心, 効果音, 圧巻, 少し, , 役者, 後半, 感じ, 感情移入, 戦い, , 改善, 日本, 映像, 映画, 最後, 最終章, 殆ど, 毎回, , 演技力, 漫画, 自分, , 評価, 辛口, 邦画, 難点, 雰囲気,

全国各地のダム貯水率を可視化してみた。

2021.03.02

Logging

全国各地のダム貯水率を可視化してみた。以前、高知県のダムの貯水率を可視化した事を記事にしたのですが、意外にもある一部の人達に好評なので全国のダムファンのために、全国各地のダム貯水率を可視化してみましたよ。あまり好評だったら、取得してきているサーバーに負荷がかかるため、中止します。

なお、どこから取集してきているかというとダムの貯水状況 – 国土交通省からです、正直なところcsvデータ化して頂きたいなと思う人もいるのではないでしょうか?

追記 2021:この頃、ブロックされて私のHPから拾えなくなりました・・・。もしくはHTMLの構造が変わった可能性があります。

	[
		{
			"ken": "北海道道北", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/0102/ipDamGaikyo_pc0102_pg1_fw0.html",
				"dam_name": ["愛別ダム", "西岡ダム", "有明ダム", "小平ダム", "岩尾内ダム", "サンルダム", "留萌ダム", "大雪ダム", "金山ダム", "忠別ダム"]
			}
		},
		{
			"ken": "北海道道東", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/0103/ipDamGaikyo_pc0103_pg1_fw0.html",
				"dam_name": ["佐幌ダム", "庶路ダム", "鹿ノ子ダム", "十勝ダム", "屈足ダム", "札内川ダム", "糠平ダム", "元小屋ダム", "活込ダム", "仙美里ダム"]
			}
		},
		{
			"ken": "北海道道央", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/0104/ipDamGaikyo_pc0104_pg1_fw0.html",
				"dam_name": ["美唄ダム", "栗山ダム", "徳富ダム", "当別ダム", "朝里ダム", "豊平峡ダム", "夕張シューパロダム", "滝里ダム", "漁川ダム", "定山渓ダム", "桂沢ダム", "芦別ダム"]
			}
		},
		{
			"ken": "北海道道南", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/0105/ipDamGaikyo_pc0105_pg1_fw0.html",
				"dam_name": ["新中野ダム", "矢別ダム", "上ノ国ダム", "高見ダム", "様似ダム", "浦河ダム", "美利河ダム", "二風谷ダム", "厚幌ダム"]
			}
		},
		{
			"ken": "青森県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/0201/ipDamGaikyo_pc0201_pg1_fw0.html",
				"dam_name": ["津軽ダム", "遠部ダム", "飯詰ダム", "浅瀬石川ダム", "久吉ダム", "相馬ダム(利水)", "世増ダム", "下湯ダム", "小泊ダム", "浅虫ダム", "清水目ダム(利水)", "川内ダム"]
			}
		},
		{
			"ken": "岩手県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/0301/ipDamGaikyo_pc0301_pg1_fw0.html",
				"dam_name": ["四十四田ダム", "胆沢ダム", "早池峰ダム", "御所ダム", "綱取ダム", "入畑ダム", "湯田ダム", "遠野ダム", "遠野第二ダム", "田瀬ダム", "滝ダム", "鷹生ダム", "日向ダム", "綾里川ダム"]
			}
		},
		{
			"ken": "宮城県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/0401/ipDamGaikyo_pc0401_pg1_fw0.html",
				"dam_name": ["鳴子ダム", "花山ダム", "長沼ダム", "上大沢ダム", "化女沼ダム", "小田ダム", "荒砥沢ダム", "栗駒ダム(利水)", "漆沢ダム", "宮床ダム", "南川ダム", "樽水ダム", "釜房ダム", "大倉ダム", "七ケ宿ダム", "七北田ダム", "惣の関ダム", "払川ダム"]
			}
		},
		{
			"ken": "秋田県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/0501/ipDamGaikyo_pc0501_pg1_fw0.html",
				"dam_name": ["早口ダム", "山瀬ダム", "素波里ダム", "萩形ダム", "森吉ダム", "森吉山ダム", "砂子沢ダム", "旭川ダム", "鎧畑ダム", "玉川ダム", "皆瀬ダム", "板戸ダム", "岩見ダム", "大松川ダム", "協和ダム", "大内ダム"]
			}
		},
		{
			"ken": "山形県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/0601/ipDamGaikyo_pc0601_pg1_fw0.html",
				"dam_name": ["長井ダム", "高坂ダム", "白水川ダム", "寒河江ダム", "木地山ダム", "田沢川ダム", "最上小国川流水型ダム", "留山川ダム", "蔵王ダム", "前川ダム", "神室ダム", "綱木川ダム", "白川ダム", "荒沢ダム", "月山ダム", "月光川ダム", "温海川ダム", "横川ダム"]
			}
		},
		{
			"ken": "福島県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/0701/ipDamGaikyo_pc0701_pg1_fw0.html",
				"dam_name": ["摺上川ダム", "三春ダム", "堀川ダム", "真野ダム", "木戸ダム", "小玉ダム", "こまちダム", "高柴ダム", "四時ダム", "大川ダム", "新郷ダム(利水・東北電力)", "山郷ダム(利水・東北電力)", "上野尻ダム(利水・東北電力)", "片門ダム(利水・東北電力)", "奥只見ダム(利水・電源開発)", "田子倉ダム(利水・電源開発)", "本名ダム(利水・東北電力)", "滝ダム(利水・電源開発)", "大鳥ダム(利水・電源開発)", "上田ダム(利水・東北電力)", "宮下ダム(利水・東北電力)", "柳津ダム(利水・東北電力)", "只見ダム(電源開発)", "日中ダム", "東山ダム", "田島ダム"]
			}
		},
		{
			"ken": "栃木県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/0901/ipDamGaikyo_pc0901_pg1_fw0.html",
				"dam_name": ["塩原ダム", "寺山ダム", "西荒川ダム", "東荒川ダム", "川俣ダム", "川治ダム", "三河沢ダム", "中禅寺ダム", "五十里ダム", "湯西川ダム", "松田川ダム"]
			}
		},
		{
			"ken": "群馬県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/1001/ipDamGaikyo_pc1001_pg1_fw0.html",
				"dam_name": ["四万川ダム", "矢木沢ダム", "藤原ダム", "草木ダム", "八ッ場ダム", "薗原ダム", "相俣ダム", "奈良俣ダム", "桐生川ダム", "塩沢ダム", "道平川ダム", "大仁田ダム", "坂本ダム", "霧積ダム"]
			}
		},
		{
			"ken": "埼玉県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/1101/ipDamGaikyo_pc1101_pg1_fw0.html",
				"dam_name": ["渡良瀬遊水地", "下久保ダム", "二瀬ダム", "荒川第一調節池", "浦山ダム", "滝沢ダム", "有間ダム", "合角ダム"]
			}
		},
		{
			"ken": "千葉県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/1201/ipDamGaikyo_pc1201_pg1_fw0.html",
				"dam_name": ["亀山ダム", "片倉ダム", "高滝ダム", "矢那川ダム"]
			}
		},
		{
			"ken": "神奈川県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/1401/ipDamGaikyo_pc1401_pg1_fw0.html",
				"dam_name": ["城山ダム", "宮ヶ瀬ダム", "宮ヶ瀬副ダム", "三保ダム"]
			}
		},
		{
			"ken": "新潟県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/1501/ipDamGaikyo_pc1501_pg1_fw0.html",
				"dam_name": ["大石ダム", "揚川ダム(利水・東北電力)", "豊実ダム(利水・東北電力)", "鹿瀬ダム(利水・東北電力)", "早出川ダム", "下条川ダム", "刈谷田川ダム", "笠堀ダム", "城川ダム", "破間川ダム", "広神ダム", "三国川ダム", "正善寺ダム", "三面ダム", "奥三面ダム", "胎内川ダム", "奥胎内ダム", "内の倉ダム", "加治川治水ダム", "鯖石川ダム", "久知川ダム", "新保川ダム", "大野川ダム", "柿崎川ダム", "大谷ダム"]
			}
		},
		{
			"ken": "富山県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/1601/ipDamGaikyo_pc1601_pg1_fw0.html",
				"dam_name": ["宇奈月ダム", "室牧ダム", "熊野川ダム", "久婦須川ダム", "和田川ダム", "利賀川ダム", "境川ダム", "刀利ダム", "子撫川ダム", "城端ダム", "臼中ダム", "朝日小川ダム", "角川ダム", "上市川ダム", "上市川第2ダム", "白岩川ダム", "舟川ダム", "布施川ダム", "大谷ダム"]
			}
		},
		{
			"ken": "石川県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/1701/ipDamGaikyo_pc1701_pg1_fw0.html",
				"dam_name": ["手取川ダム", "赤瀬ダム", "犀川ダム", "辰巳ダム", "内川ダム", "新内川ダム", "我谷ダム", "九谷ダム", "小屋ダム", "八ヶ川ダム"]
			}
		},
		{
			"ken": "長野県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/2001/ipDamGaikyo_pc2001_pg1_fw0.html",
				"dam_name": ["浅川ダム", "大町ダム", "松川ダム", "片桐ダム", "小渋ダム", "美和ダム", "高遠ダム", "横川ダム", "味噌川ダム", "牧尾ダム(利水)"]
			}
		},
		{
			"ken": "岐阜県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/2101/ipDamGaikyo_pc2101_pg1_fw0.html",
				"dam_name": ["丹生川ダム", "御母衣ダム(利水)", "小里川ダム", "丸山ダム", "中野方ダム", "阿木川ダム", "岩屋ダム", "大ヶ洞ダム", "横山ダム", "徳山ダム", "阿多岐ダム", "岩村ダム", "打上ダム(利水)"]
			}
		},
		{
			"ken": "静岡県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/2201/ipDamGaikyo_pc2201_pg1_fw0.html",
				"dam_name": ["長島ダム", "佐久間ダム", "秋葉ダム", "船明ダム", "太田川ダム", "奥野ダム", "青野大師ダム"]
			}
		},
		{
			"ken": "愛知県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/2301/ipDamGaikyo_pc2301_pg1_fw0.html",
				"dam_name": ["新豊根ダム", "宇連ダム", "矢作ダム", "木曽川大堰(利水)"]
			}
		},
		{
			"ken": "三重県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/2401/ipDamGaikyo_pc2401_pg1_fw0.html",
				"dam_name": ["君ヶ野ダム", "蓮ダム", "宮川ダム", "三瀬谷ダム(発電)", "安濃ダム(利水)", "比奈知ダム(機構)", "滝川ダム", "青蓮寺ダム(機構)", "小森ダム(電発)"]
			}
		},
		{
			"ken": "福井県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/1801/ipDamGaikyo_pc1801_pg1_fw0.html",
				"dam_name": ["九頭竜ダム", "龍ヶ鼻ダム", "広野ダム", "二ツ屋分水堰", "永平寺ダム", "浄土寺川ダム", "浄土寺川ダム(貯砂ダム)", "笹生川ダム", "真名川ダム", "雲川ダム(利水)", "桝谷ダム", "河内川ダム", "大津呂ダム"]
			}
		},
		{
			"ken": "滋賀県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/2501/ipDamGaikyo_pc2501_pg1_fw0.html",
				"dam_name": ["青土ダム", "日野川ダム", "永源寺ダム(利水)", "宇曽川ダム", "姉川ダム", "余呉湖", "石田川ダム", "天川ダム"]
			}
		},
		{
			"ken": "京都府", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/2601/ipDamGaikyo_pc2601_pg1_fw0.html",
				"dam_name": ["和知ダム(利水)", "大野ダム", "日吉ダム(機構)", "天ヶ瀬ダム", "高山ダム(機構)", "畑川ダム"]
			}
		},
		{
			"ken": "大阪府", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/2701/ipDamGaikyo_pc2701_pg1_fw0.html",
				"dam_name": ["箕面川ダム", "狭山池ダム", "滝畑ダム(利水)"]
			}
		},
		{
			"ken": "兵庫県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/2801/ipDamGaikyo_pc2801_pg1_fw0.html",
				"dam_name": ["三宝ダム", "栗柄ダム", "一庫ダム(機構)", "大路ダム", "与布土ダム", "但東ダム", "権現ダム", "平荘ダム", "川代ダム", "大川瀬ダム", "呑吐ダム", "糀屋ダム", "みくまりダム", "安富ダム", "引原ダム", "青野ダム", "生野ダム", "菅生ダム", "安室ダム", "金出地ダム", "長谷ダム", "石井ダム", "天王ダム", "大日ダム", "分水堰", "牛内ダム", "成相ダム", "北富士ダム", "諭鶴羽ダム"]
			}
		},
		{
			"ken": "奈良県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/2901/ipDamGaikyo_pc2901_pg1_fw0.html",
				"dam_name": ["布目ダム(機構)", "室生ダム(機構)", "初瀬ダム", "大門ダム", "天理ダム", "白川ダム", "岩井川ダム", "大滝ダム", "猿谷ダム(利水)", "九尾ダム(利水)", "川迫ダム(利水)", "二津野ダム(電発)", "風屋ダム(電発)", "池原ダム(電発)", "坂本ダム(電発)"]
			}
		},
		{
			"ken": "和歌山県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/3001/ipDamGaikyo_pc3001_pg1_fw0.html",
				"dam_name": ["七色ダム(電発)", "二川ダム", "椿山ダム", "七川ダム", "広川ダム", "切目川ダム"]
			}
		},
		{
			"ken": "鳥取県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/3101/ipDamGaikyo_pc3101_pg1_fw0.html",
				"dam_name": ["殿ダム", "賀祥ダム", "菅沢ダム"]
			}
		},
		{
			"ken": "島根県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/3201/ipDamGaikyo_pc3201_pg1_fw0.html",
				"dam_name": ["尾原ダム", "布部ダム", "山佐ダム", "志津見ダム", "八戸ダム", "大長見ダム", "御部ダム", "三瓶ダム", "浜田ダム", "第二浜田ダム", "益田川ダム", "嵯峨谷ダム", "笹倉ダム", "大峠ダム", "銚子ダム", "美田ダム", "清瀧ダム", "津田川ダム"]
			}
		},
		{
			"ken": "岡山県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/3301/ipDamGaikyo_pc3301_pg1_fw0.html",
				"dam_name": ["苫田ダム", "八塔寺川ダム", "津川ダム", "旭川ダム", "湯原ダム", "竹谷ダム", "河平ダム", "鳴滝ダム", "河本ダム", "千屋ダム", "新成羽川ダム", "黒鳥ダム", "三室川ダム", "高瀬川ダム", "楢井ダム"]
			}
		},
		{
			"ken": "広島県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/3401/ipDamGaikyo_pc3401_pg1_fw0.html",
				"dam_name": ["土師ダム", "灰塚ダム", "庄原ダム", "三川ダム", "八田原ダム", "野間川ダム", "四川ダム", "御調ダム", "山田川ダム", "温井ダム", "小瀬川ダム", "弥栄ダム", "福富ダム", "椋梨ダム", "魚切ダム", "梶毛ダム", "野呂川ダム", "仁賀ダム"]
			}
		},
		{
			"ken": "山口県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/3501/ipDamGaikyo_pc3501_pg1_fw0.html",
				"dam_name": ["小瀬川ダム", "佐波川ダム", "島地川ダム", "阿武川ダム", "菅野ダム", "向道ダム", "御庄川ダム", "生見川ダム", "中山川ダム", "荒谷ダム", "一の坂ダム", "厚東川ダム", "木屋川ダム", "湯免ダム", "黒杭川ダム", "川上ダム", "末武川ダム", "今富ダム", "大坊ダム", "見島ダム", "屋代ダム", "真締川ダム"]
			}
		},
		{
			"ken": "徳島県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/3601/ipDamGaikyo_pc3601_pg1_fw0.html",
				"dam_name": ["池田ダム(機構)", "宮川内ダム", "川口ダム(利水)", "長安口ダム", "正木ダム", "福井ダム"]
			}
		},
		{
			"ken": "香川県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/3701/ipDamGaikyo_pc3701_pg1_fw0.html",
				"dam_name": ["内場ダム", "五名ダム", "大川ダム", "前山ダム", "長柄ダム", "府中ダム(利水)", "吉田ダム", "門入ダム", "五郷ダム", "粟井ダム", "粟地ダム", "殿川ダム", "千足ダム", "大内ダム", "田万ダム", "内海ダム"]
			}
		},
		{
			"ken": "愛媛県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/3801/ipDamGaikyo_pc3801_pg1_fw0.html",
				"dam_name": ["柳瀬ダム", "新宮ダム(機構)", "富郷ダム(機構)", "銅山川ダム群", "石手川ダム", "野村ダム", "鹿野川ダム", "黒瀬ダム", "鹿森ダム", "玉川ダム", "台ダム", "須賀川ダム", "山財ダム"]
			}
		},
		{
			"ken": "高知県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/3901/ipDamGaikyo_pc3901_pg1_fw0.html",
				"dam_name": ["早明浦ダム(機構)", "永瀬ダム", "大渡ダム", "桐見ダム", "中筋川ダム", "横瀬川ダム", "鏡ダム", "坂本ダム", "鎌井谷ダム", "以布利川ダム"]
			}
		},
		{
			"ken": "福岡県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/4001/ipDamGaikyo_pc4001_pg1_fw0.html",
				"dam_name": ["犬鳴ダム", "力丸ダム", "福智山ダム", "陣屋ダム", "藤波ダム", "江川ダム", "小石原川ダム", "山神ダム", "寺内ダム", "日向神ダム", "油木ダム", "北谷ダム", "ます渕ダム", "鳴淵ダム", "南畑ダム", "瑞梅寺ダム", "猪野ダム", "牛頸ダム"]
			}
		},
		{
			"ken": "佐賀県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/4101/ipDamGaikyo_pc4101_pg1_fw0.html",
				"dam_name": ["平木場ダム", "厳木ダム", "本部ダム", "狩立・日ノ峯ダム", "伊岐佐ダム", "井手口ダム", "矢筈ダム", "嘉瀬川ダム", "都川内ダム", "有田ダム", "竜門ダム", "深浦ダム", "岩屋川内ダム", "横竹ダム", "中木庭ダム"]
			}
		},
		{
			"ken": "熊本県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/4301/ipDamGaikyo_pc4301_pg1_fw0.html",
				"dam_name": ["下筌ダム", "竜門ダム", "緑川ダム", "市房ダム", "石打ダム", "氷川ダム", "上津浦ダム", "亀川ダム", "路木ダム"]
			}
		},
		{
			"ken": "大分県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/4401/ipDamGaikyo_pc4401_pg1_fw0.html",
				"dam_name": ["耶馬溪ダム", "松原ダム", "大山ダム", "ななせダム", "野津ダム", "稲葉ダム", "黒沢ダム", "床木ダム", "安岐ダム", "行入ダム", "青江ダム"]
			}
		},
		{
			"ken": "宮崎県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/4501/ipDamGaikyo_pc4501_pg1_fw0.html",
				"dam_name": ["祝子ダム", "松尾ダム", "渡川ダム", "綾南ダム", "瓜田ダム", "岩瀬ダム", "綾北ダム", "田代八重ダム", "立花ダム", "長谷(補助)ダム", "広渡ダム", "日南ダム", "沖田ダム"]
			}
		},
		{
			"ken": "鹿児島県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/4601/ipDamGaikyo_pc4601_pg1_fw0.html",
				"dam_name": ["鶴田ダム", "川辺ダム", "西之谷ダム", "大和ダム"]
			}
		},
		{
			"ken": "沖縄県", "Children": {
				"url": "https://www.river.go.jp/kawabou/html/list/7/4701/ipDamGaikyo_pc4701_pg1_fw0.html",
				"dam_name": ["福地ダム", "新川ダム", "安波ダム", "普久川ダム", "辺野喜ダム", "漢那ダム", "羽地ダム", "倉敷ダム", "金武ダム", "座間味ダム", "金城ダム", "我喜屋ダム", "大保ダム", "儀間ダム"]
			}
		}
	]

タグ

2021, Children, CSV, go, HP, html, https, jp, kawabou, ken, lis, quot, river, url, www, サーバー, ダム, ため, データ, どこ, ところ, ファン, ブロック, 一部, 中止, , , 以前, 全国, 北海道, , 取得, 可能性, 可視, 各地, 国土交通省, 好評, 構造, 正直, 状況, , 記事, 負荷, 貯水, 追記, 道北, , 高知県,

高知県立足摺海洋館SATOUMIに行ってきた?

2020.10.29

Logging

高知県立足摺海洋館SATOUMIに行ってきましたよ?、逆光で建物の外観を上手く撮影できなかったのですが、サトウミをでっでーんと撮影。中に入るとスタッフさんが体温を測ってきます。体温をパスして、一応おとな・なので1200円支払って中に入ると、予想よりは、しょぼくなかったのが第一印象です。もっとしょぼいかなと想像していたのだけど思っていた以上になんかオシャレだな・・・と。

中に入っていろいろパシャパシャ撮影したけど、全部公開すると行ったときに楽しみがなくなるので一部の写真と動画を公開します。

足摺海洋館 SATOUMI

最終的な高知県立足摺海洋館SATOUMIの感想はコンパクトな今どきな水族館ですね。お子さんを連れて行くと子供は喜ぶと思います。実際、お子さん連れの子供は喜んでいました。高知市や東部の方は足摺までは結構な距離がありますが一度は行ってみるのも良いじゃないでしょうか?

因みに、高知県立足摺海洋館SATOUMIに45分ぐらい滞在していました。お土産屋さんでお土産を選ぶともっと時間がかかるかと思います。

タグ

1200, SATOUMI, いろいろ, オトナ, お子さん, コンパクト, サトウミ, スタッフ, とき, パシャ, パス, , 一度, 一部, , 予想, 今どき, 以上, 体温, 全部, 公開, 写真, 動画, 印象, 外観, 子供, 実際, 建物, 想像, 感想, 撮影, , 東部, 楽しみ, 水族館, 海洋館, 県立, 結構, 足摺, 距離, 逆光, 高知, 高知市,

プログラミングは世界共通語なのかも。

2020.10.26

Logging

JavaScript ES6 Modules

英語がわからない方でもプログラミングコードを見れば何を書いているのか、わかってしまうのでそういう意味でプログラミングは世界共通語なのかもしれないなと思います。プログラミングで会話ができるそんなプログラミング言語ができたら、それはITエンジニアにとってかなり朗報なのかもしれないなとふと思いました。

そうなればバグの指摘なども簡単になるし、意思疎通も簡単に。これからITエンジニアになりたい方は英語は必須ですね。英語がわかれば海外からの仕事もうけれるし会社に雇われないフリーランスの仕事も軌道に乗りやすいかと思います。クラウドワークスやランサーズなどでは中々厳しいですね…。それで生活ができる人はほんの一部のひとだと思います。

お小遣い稼ぎならクラウドワークスやランサーズで出来るかと思いますが、生計を立てる事はほとんどの人が出来ないでしょう、なのでもしクラウドワークスやランサーズのような仕事の請負を行って生活していくには海外でも同じような活動を行っていかなければならいでしょう。

そういう意味でも英語は必須。新たな世界共通語を秀才なITエンジニアが開発してくれれば話は変わりますが、今の処、英語ができれば海外から仕事が取れます。因みに翻訳に頼らない日常の英会話ができると尚良いと。トイウコトデ、それらが出来ない方は、自分も含め学ばなければなりません。

地球語を読んで想像したことでした。

タグ

IT, エンジニア, お小遣い, かなり, クラウド, コード, これ, それ, バグ, ひと, フリー, プログラミング, ほとんど, ランサーズ, ランス, ワークス, 一部, 世界, , , 仕事, 会社, 会話, , 共通語, 必須, 意味, 意思, 指摘, , 朗報, 海外, 生活, 生計, 疎通, 簡単, 英語, 言語, 請負, 軌道,

空気を読むよりもガンガンいこうぜの時代になったな。

2020.06.07

Logging

空気を読むよりもガンガンいこうぜの時代になったなと思います。after567の事をいろいろな人がこうなるよ的な発言しているけど、たぶん自分はあまり変わらないなと思います。一部変わるとは思うけれど世の中、生活習慣がいきなり激減することは無いだろうと。ただ、SNSが結構なところで認知されてきている気がします。

昔よりもSNS発言や発信するという事をする普通の人達が567の影響で増えたと思います。実際、Twitter社はかなりユーザーが増えているとのことです。567で変わったことって今までデジタルを使用しなかった人達が使う機会が増えたということだと。

SNSは普通に使う道具に変わっていくだろうと思います。今まで使わなかったひとが問題点や良い点を客観的に使用して分かっていくだろうと思います。若い世代よりも使わなかった世代の方が社会には影響が大きいと思います。なので567で変わったことっていうのは、デジタルへ社会的にシフトしたということだと思います。リアルが良いという人達がデジタルな媒体を使って理解するというキッカケが生まれた事がとても良いかなと…。

それで世の中がいきなりガラリと変わるわけでもないですが・・・。アナログな人達がデジタルの道具を使いだしたということは、デジタルで出来ることはデジタルへ置き換わっていくということ、仕事ではデジタルで効率的に出来ることはシフトするだろうということは確実かなと・・・。

なので、一部分は効率的になり仕事がなくなっていくだろうと、今回のことで痛手を負ったのは事務員さん達だと思います。たぶん事務員はデジタルにシフトされていくだろうと。情もあるのでいきなり変わることはないかもしれないが、事務員は消えていく可能性が高いかも。事務だけじゃなくプラスアルファの仕事の事務員は消えないだろうけど、、、ドンピシャな事務員は消えていくと思います。

タグ

567, AFTER, SNS, Twitter, いろいろ, かなり, こと, シフト, デジタル, ところ, ひと, ユーザー, 一部, , 世代, , , , 使用, 問題点, 実際, 影響, , , 時代, 普通, 機会, , 激減, , 生活, 発信, 発言, , 社会, 社会的, 空気, 結構, 習慣, 自分, 認知, 道具,

特に何者にならなくても良い時代だと思う。

2019.12.25

Logging

中田ヤスタカ – NANIMONO (feat.米津玄師) MV

特に何者にならなくても良い時代だと思う。
特に安定した職業に付かなくても何とかなる時代に成りつつある。

いろいろな収入の得方が増えてきている気がする。
数年前までYOUTUBEで収入が得れるのは一部の人気YOUTUBERだけ
だと、社会(中高年層や高齢者層) は思っていたが
実際は違っていて底辺YOUTUBERでも生きていける収益が
毎月のように銀行に振り込まれる。

中田ヤスタカ – White Cube [MV]

ちなみにこれから先は多様な生き方に変わっていくと思う。
また、お金持ちより時間の自由だったり、自分が面白いと感じることに
割り振る時間が大切だと思う価値観に変わっていくのではないかなと。

近い将来、大震災などがあれば、そんな価値観は今以上に
浸透するのではないかなと思っています。

ただ、じぶんはどちらかと言えば、安定志向派です。

タグ

youtube, YOUTUBER, いろいろ, お金持ち, こと, これ, じぶん, どちらか, 一部, 中高年層, 人気, , 何者, 価値観, , 収入, 収益, 多様, 大切, 大震災, 安定, 実際, 将来, , 底辺, , 志向, , 時代, 時間, 毎月, , 浸透, 生き方, 社会, 職業, 自分, 自由, 銀行, 高齢者,

windows10 1809 不具合 Chromeが繋がらない(タイムアウト)

2019.02.02

Logging

windows10アップデート後(1809) 不具合 :Chromeが繋がらない
(タイムアウト)の対応策。
初期化して再度OSを入れ直すのもアレなんで対応策として
スタートアップ時にBatを走らせる事にした。
管理者権限にするBatとネットワークサービスを再起動するBatで
なんとか次期OSのアップデートかGさんが解決してくれる事を
期待しています。
それまでコンピュータ管理のサービスとかも停止せず待っときます。
Batは下記になります。
追記:
累積アップデートで直りましたと言いたいところだけど
一度、累積アップデートの一部を削除して再度、累積アップデートを
適応したら直りました・・・。

net stop CryptSvc
net start CryptSvc
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "Start-Process (管理者)ネットが繋がらないよ.bat -Verb runas"

タグ

-ExecutionPolicy, -NoProfile, 10, 1809, Bat, Chrome, CryptSvc, net, OS, powershell, start, stop, unres, Windows, アップ, アップデート, あれ, コンピュータ, サービス, スタート, それまで, タイムアウト, ところ, ネットワーク, 一度, 一部, 下記, 不具合, , 停止, 再度, 再起動, 初期, 削除, 対応策, 期待, 権限, 次期, 管理, 管理者, 累積, 解決, 追記, 適応,

3%の人のために今まで踊らされていた?

2017.09.23

Logging


炎上を行っているのは国民の3%。
その人のためにCMなど停止したり芸能人を引退に追いやったり、
法律の改正されていたと思うとやるせない気持ちなります。
自分が当初から言っていたことは
やはり正しかったのだなとも思えたのですけど・・やはり
この事をもっと早く国民に知らせるべきことかなと思いましたね。
これからは企業もネットで炎上しようが
CMを続けるべきだとじぶんは思います、一部の過敏な人たちの為に
CMを停止するなどする必要はないかと思います。
ネットの炎上により法律が変わっていき
規制規制で生きにくい社会になる一歩手前で
このような調査結果が文化庁から出たこと良いことかなと思いますが
逆に言えば今までそれ上手く使って法改正していた安倍政権。
地方置き去りの弱者に対する改正法案がかなりあるなと感じます。
都心では何とか成ることでも地方では何ともならないことがある事を理解しないと
今後、国がめちゃくちゃになる気がします。
地方置き去りの政治は危ういと思います。
たぶんオリンピックが終わった後から、景気は失速すると
その保険にJA改革があるだろうけれど、どうなることやら・・・。
安倍政権はおそらくオバマ政権と同じで
国民ビックデータの情報を駆使して国民の不満を操作しているので
何とかなっているだろう。また国民に対してネット広告やLINEなどを使い情報発信を
行っているのは、ある意味、洗脳。
じぶんが賢いと思っている人はやられる、
逆に自分は馬鹿だと思っているひとの方がよほど賢明だと思います。
他人に馬鹿にされている人が言っている事が正解だったということは
良くあることです。
主張する3%の国民と主張しない97%の国民。
どちらが正しいわけではないと自分は思っていますが、ただ過敏に
反応する事もないのではないかなとも思っています。3%の意見が正しくない
わけでもないですが、この頃、数と勢いだけで議論もせず改正法案が
可決されるのは後々、しっぺ返しが来るだろうと。

タグ

, CM, かなり, こと, これ, じぶん, それ, ため, ネット, , 一部, , , 今後, 企業, , 停止, , 国民, 地方, 安倍, 引退, 弱者, 当初, 必要, 手前, 改正, 政権, 文化庁, , 気持ち, 法律, 法改正, 法案, 炎上, , 理解, 社会, 結果, 置き去り, 自分, 芸能人, 規制, 調査, , 過敏, 都心,

土日にWebで何か作ります!!

2016.11.18

Logging


土日にWebで何か作ります!!
何を作るかは秘密・・・・・・・・・・・・・・・!?
何を作るかって?
会社で作っていた一部の機能は今のところ
使うことがなくなったので、その機能部分を再現して
その機能を用いてゴニョゴニョと勉強のため
作ることにします。
ちなみに一部の機能ですが、
WEBに落ちていたソースコードを元に
しているので、それほど時間がかからずに制作できそうです。

タグ

B00FPFL8LU, jp, web, ゴニョゴニョ, ソースコード, チーム, ところ, 一部, , 勉強, 土日, 時間, 機能, 機能部分,

最低賃金が上がるらしい。良いのかそれで??

2016.07.30

Logging


これを書いているのは木曜日だったりします。
この頃、お金のことに関心を持ちだした自分がいます。今日のお題は「最低賃金が上がるらしい。良いのかそれで??」です。先日、ニュースで全国的に最低賃金が上がると聞きましたが、本当にそれで良いのだろうかという疑問があります。
確かに賃金が少ないと生活するのに厳しいことも確かだと思うのですが、会社が潰れたら元も子もないような気がするのです。
生活保護を受けるより・・・少ない月給で働いている人は世の中に沢山いると思うと賃上げは朗報かもと思ってしまいますが、企業側はその分、営業利益が下がるわけです。この補填は国がしてくれるのだろうか?
そうではないとバタバタを倒産する企業がでてくるかなと思うわけですね。美しい日本を掲げている安倍首相はなかなか、したたかに日本経済を変化させていっている様に感じます。何だかんだでアベノミクスが続いている理由は恐らく、アベノミクスに恩恵を受ける一部の層があるだと思います。
ここ数年、格差は広がっていっているですね。
賃上げするよりもお金の流れが上手く循環する様にすることが大事なんではと素人は考えてしまいます。
派遣切りにあった一人として、そう思う次第です。

タグ

アベノミクス, お金, ここ, こと, これ, それ, ニュース, 一部, , , , 今日, 企業, 会社, 保護, 倒産, , 先日, , 利益, 営業, , 変化, , 安倍, , 恩恵, , 日本, 最低賃金, 月給, 朗報, 木曜日, 本当, 格差, , 沢山, 理由, 生活, 疑問, 経済, 自分, 補填, 賃上げ, 賃金, 関心, , , 首相,

FuelPHPをサクラレンタルサーバー共有で動かすには?

2016.07.14

Logging

FuelPHPをサクラレンタルサーバー共有で動かすには?
どうしたら良いのかを記述しときます。
\fuel\app\config\config.phpに記述されている’base_url’の所を
base_url’ ?=>’http://任意.com/’,かbase_url’ ?=>’任意の階層’にします。
オプションでいろいろと変更できる点はありますが、今回はスルーします。
FuelPHPの日本公式サイトを参照
次にルートの直下に.htaccessを作成し下記の内容を記述しアップロードを行なってください。

RewriteEngine on 
RewriteBase /public 
RewriteRule (.*) /public/$1

この段階ではルートにアクセスしても表示されません。表示させるためには
\public.htaccessの.htaccessファイルを一部変更してあげる必要があります。
まず、RewriteBase /publicを追加しOptions +FollowSymLinks -Indexesと
記載されている部分をコメントアウトする必要があります。
これらの事をするとルートURLでFuelPHPの初期の表示がされるようになります。

いろいろなサイトを拝見しましたが、結構設定を変更しないといけないよと書かれていますが、実際はコレだけの設定変更で表示することは可能です。ちなみに余談ですがオプション値のココだけは変更したら良いかなという
所を記載します。

	/**
	 * Localization & internationalization settings
	 */
	 'language'           => 'ja', // Default language
	 'language_fallback'  => 'ja', // Fallback language when file isn't available for default language
	 'locale'             => 'ja_JP.UTF-8', // PHP set_locale() setting, null to not set
	/**
	 * Internal string encoding charset
	 */
	 'encoding'  => 'UTF-8',
	/**
	 * DateTime settings
	 *
	 * server_gmt_offset	in seconds the server offset from gmt timestamp when time() is used
	 * default_timezone		optional, if you want to change the server's default timezone
	 */
	 'server_gmt_offset'  => 0,
	 'default_timezone'   => 'Asia/Tokyo',

タグ

, App, base, com, config, fuel, FuelPHP, htaccess, http, ON, php, public, Rewrite, RewriteBase, RewriteEngine, RewriteRule, url, アクセス, アップロード, いろいろ, オプション, サーバー, サイト, さくら, スルー, ため, ファイル, ルート, レンタル, 一部, 下記, 今回, 任意, 作成, 公式, 共有, 内容, 参照, 変更, 必要, , 日本, 段階, , 直下, 表示, 記述, 階層,

VRは直ぐには流行らない予感。起爆剤はやはりゲーム!?

2016.01.07

Logging


VR直ぐには流行らない予感。特にゲームのVRは・・・流行らない予感が強い。
余程、良質なゲームでもない限りVRは流行らない予感がします。
体験が売りなVR(仮想現実)です、直ぐには流行らない、火が付いたら
じわじわとVRが盛り上がってきそうな気がしますが、おそらく3Dディスプレイと同じ運命になる予感がします。それなりに定着はするけどっていう感じで浸透はしないと自分は考えています。
VRゲームの初期タイトルの映像を見てもプレイしてみたいものがないのが現状です。
唯一、Rezはアメリカでは受けが良さそうな気がします。ただ、Rezを知っているユーザーはどう思うかは、クエッションマークです。サマーレッスンに関して一部のコアユーザーには支持されている模様ですが、TGSなどでは酷評だったみたいです。
ただ、英語の勉強には持って来いだったらそれなりに良いかもしれないなと思う反面、おそらくそれもイマイチ感が強そうです。
発売未定ですので、Rezにしてもサマーレッスンにしても新鮮な驚きや感動があればVRヒットするかもしれません。おそらくVRは自身が体験してみないことには分からないモノだと。
なので、ユーザーが体験できる機会を増やすことこそがヒットする要(かなめ)になると思います。

“PlayStation VR” トレーラー「体験者の声」篇
PlayStation Experience 2015: Rez Infinite – Live Debut | PS VR
Summer Lesson – VR Tech Demo – E3 2015

タグ

, Rez, TGS, Vr, アメリカ, いまいち, クエッション, ゲーム, コア, サマーレ, サマーレッスン, それ, タイトル, ディスプレイ, プレイ, マーク, もの, ユーザー, 一部, 予感, 仮想, 体験, 初期, 勉強, 反面, 唯一, 売り, 定着, , 感じ, 持って来い, 支持, 映像, 未定, 模様, , 浸透, , 現実, 現状, 発売, 直ぐ, 自分, 良質, 英語, 起爆剤, 運命, 酷評, 限り,