WEBの走り。

2020.06.24

Logging

23年ぐらいまえにWEBに中村勇吾さんに憧れてWEBという物を自分ではじめて自分でいろいろ作り始めた、そしていろいろなIT業界で働いた。今、高知県のIT業界の殆ど受けていて、内定をもらった所もあるし、手を貸してあげたいなと思う人もいたが就活中のままです。お金に苦労することがなければ恐らく手を貸してあげたいなと思った所がある、そんなもので、あまりお金には関心がない。投資信託などをしているのはお金持ちになりたくてしているわけではなく。老後が心配だからそのためにしている。

DROPCLOCK

正直な所、いまは自分の先が見えない。何でも良いので仕事をしたほうが良いのか、それともじっくり構えて仕事を探したほうが良いのか?フリーランスとして働くべきなのかなど、いろいろ思うことがある。フリーランスとしての活動はほぼしていないが問い合わせサイト等は作っています。ただ乗り気ではない。仕事はできるけどいろいろな仕事に付随する仕事をこなすのが自分にとってかなり疲労するのだ。疲労しない精神があれば良いのだが、自分はそこが弱っているので凄く疲労する。昔みたいに疲労しない精神に戻りたいがこればかりは神のみぞ知るところです。そんな事もあり乗り気ではないのです。

そして自分はいま迷走しているだと思う。
そんな事もあり原点回帰で中村勇吾さんが作ったものを見ている。昔のような情熱を取り戻してみたい。あの頃は何もかもが面白かったし喜びがあった。

因みにこの記事にサブタイトルを付けると『他人のふり見て我が振りなおせ』ですね?

タグ

23, IT, web, いま, いろいろ, お金, お金持ち, かなり, こと, サイト, ため, フリー, まえ, まま, もの, ランス, わけ, 中村, 乗り気, , , 仕事, 付随, , 内定, 勇吾, 問い合わせ, 就活, , , 投資信託, 業界, 正直, 殆ど, 活動, , 疲労, 精神, 老後, 自分, 苦労, 関心, 高知県,

ちょっとしたツール。

2020.05.11

Logging

サイト内の検索をするためのURLを生成してくれるツールを作りました。
ドメインを入力するとあらかじめ登録しているURLの候補が表示されます。
なお、プログラムでドキュメント検索する場合などに最適かなと思います、URLもプログラム関係のサイト(ドメイン)を登録しています。

因みにこれを作った経緯は単なる自分が使用するために作りました、そのお裾分けですので機能追加などは自分の判断で追加いたします(問い合わせなどは受け付けておりません)。

最後にリンクを貼っときます。
https://zip358.com/tool/site_search/ (サイト内検索URL生成)

タグ

358, com, https, search, site, tool, url, zip, お裾分け, これ, サイト, ため, ツール, ドキュメント, ドメイン, プログラム, リンク, 使用, 候補, 入力, 判断, 問い合わせ, 場合, 最後, 最適, 検索, 機能, 生成, 登録, 経緯, 自分, 表示, 追加, 関係,

世界成長がある限り。

2020.02.17

Logging

「世界成長がある限り、投資信託は長期的に見るとプラスです。ですが日本が大震災、そう南海トラフ巨大地震や首都直下型地震が発生したら暴落するのでしょうか?そのとき、自分が投資信託している投資信託の人工知能さまは円を全部売り捨てドルやユーローをお買いくださるのか…所々不安です。

投資信託、運用会社はこの事は確実に考えているだろうから、それに手を打っているはず、こういうの問い合わせしても定型文しか恐らく返信してこないからわからないけど、たぶんしていると思います。自分がしている投資信託は海外株や鉱物とかお買いくださるので、あまり円で日頃からお持ちにならないようです。なのでトランプ氏が弾劾されていただければ、とても嬉しい限りです。トランプ氏が景気回復にはあまり貢献できていないらしいので、次期大統領が決まればいろいろと経済効果はあると思います。ちなみに投資信託の人工知能さまのおかげでご利益が約?0万ほど出ています。「ありがたや?ありがたや?」月にコレぐらい稼いでくれるわけではありません。1年間で?0万円です。でもまぁ…いま働いていなくて含み益が出ているだから。1千万円貯めれば月に10万円ぐらいお金が働いてくれてお金を得る事が出来るのではないかと思っております。

トイウコトで大震災が発生したらどうするか?いろいろと考えております。住む所はどうなるだろうとか、いろいろ考えております。ちなみに予兆があれば国が事前にお知らせしてくれるそうです。それはそうだよな。凄い被害になるらしいから」と呟いてみました。

タグ

0, ありがたや, いろいろ, おかげ, お持ち, コレ, ご利益, それ, とき, トラフ, トランプ, ドル, パス, ユー, ロー, , 不安, 世界, , 人工, 信託, , 効果, 南海, 問い合わせ, 地震, 大統領, 大震災, 定型, 弾劾, 成長, 所々, , 投資, 投資信託, , 日本, 日頃, 景気回復, 暴落, , 次期, 海外株, 発生, 直下, 知能, , 経済, 自分, 貢献, 返信, 運用, 鉱物, 限り, 首都,

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

2020.01.06

Logging

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

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

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


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

タグ

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

画像をタイル状に分離して一括ダウンロードさせるジェネレーター

2019.09.07

Logging

画像をタイル状に分離して一括ダウンロードさせるジェネレーターを
作ってみました。画像は自動的に削除されます?
あることをすれば他人の画像がアップした画像も削除されます。
ちなみに一括ダウンロードbuttonを押すと画像がサーバー上に保存され
強制ダウンロードが始まります。
動作はブラウザChromeオンリーです。
また一括ダウンロードを押すと複数のファイルを一括ダウンロードするか
どうかの問い合わせが表示されますので「はい」を
選択してください。尚、30秒以内に保存されていないファイルは
次々と削除されます。
サイトはこちらから
https://zip358.com/tool/demo5/index-14.html
ソースコードは下記になります。
ページ(base64生成+画像ダウンロード処理)

追記:zipファイルにより格納するように処理を変更しました。
参考にしたサイト:https://ex1.m-yabe.com/archives/4215

<!DOCTYPE html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>画像分離してダウンロード:画像分離ジェネレーター</title>
        <meta name="description" content="画像分離してダウンロード:画像分離ジェネレーター">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <script src="../jquery/jquery-3.4.1.js"></script>
        <link rel="stylesheet" href="../bootstrap/css/bootstrap.css">
        <!-- Global site tag (gtag.js) - Google Analytics -->
        <script async src="https://www.googletagmanager.com/gtag/js?id=UA-71682075-1"></script>
        <script>
        window.dataLayer = window.dataLayer || [];
        function gtag(){dataLayer.push(arguments);}
        gtag('js', new Date());

        gtag('config', 'UA-71682075-1');
        </script>        
        <style>
            body{
                background-color: black;
                color: antiquewhite;
            }
            img{
                margin:10!important;
                padding:10!important;
            }       
            #container{
                width: 100%;
            }
            #container img{
                margin:10px;   
            }       
        </style>    
    </head>
    <body>
        <span id="bat"></span><a id="dl"></a>
        <input class="form-control" type="file"></input>
        <div id="container"></div>
        <script>
            $(function(){
                $("[type=file]").on("change",function(){
                    $('#container').html("");
                    $("#bat").html("");
                    console.log($(this));
                    if(!$(this).prop('files')[0].type.match(/[png|jpg|jpge|gif]/)){
                        alert("ファイル形式エラー");
                        return false;
                    }                        
                    var canvas = document.createElement('canvas');
                    var reader = new FileReader();
                    reader.onload = function(event) {
                        var image = new Image();
                        image.onload = function() {
                            sprite = {width:50,height:50};
                            canvas.width = sprite.width;
                            canvas.height = sprite.height;
                            var ctx = canvas.getContext("2d");                            
                            var x = 0;
                            for(var i=0; i*sprite.height<image.height; i++){
                                for(var j=0; j*sprite.width<image.width; j++){
                                    ctx.drawImage(
                                    image,j*sprite.width,i*sprite.height,
                                    sprite.width,sprite.height,
                                    0,0,
                                    sprite.width,sprite.height
                                    );

                                    var spriteElement = new Image;
                                    spriteElement.src= canvas.toDataURL();
                                    $('#container').append(spriteElement);
                                }
                            }
                            $("#bat").html("<input type='button' value='一括ダウンロード' onclick='bat_img()'>");
                        }
                        image.src = event.target.result;                       
                    }
                    reader.readAsDataURL($(this).prop('files')[0]);
                    
                });
            });

            function bat_img(){
                var data = [];
                for(var i=0; i< $("img").length;i++){
                    data.push({"base64":$("img").eq(i).attr("src"),"no":i});
                }
                $.ajax({
                    type: 'POST',
                    url: 'bat_img.php',
                    data:{"obj":data},
                    dataType: 'json'
                }).done(function(obj){

                    if(obj[obj.length - 1 ].chk=="ok"){

                        var link = document.getElementById("dl");
                        link.href = obj[obj.length - 1].zippath;
                        link.download = "zipimg.zip";
                        link.click();

                        var data2 = [];
                        for(var i = 0 ; i < obj.length ; i++){
                            if(i==0){
                                data2.push({Path:obj.path,no:obj.no,t:obj.t,"zipimgpath":obj[obj.length - 1].zippath});
                            }else{
                                data2.push({Path:obj.path,no:obj.no,t:obj.t});
                            }
                            
                        }

                       var del = function(){
                            $.ajax({
                                type: 'POST',
                                url: './bat_del.php',
                                data:{"obj":data2},
                                dataType: 'json'
                            });
                        };
                        del();
                    }
                    });
                }
        </script>
    </body>
</html>
<?php
$i=0;
foreach($_POST["obj"] as $key=>$val){
    $b64 = base64_decode(str_replace("data:image/png;base64,","",$val["base64"]));
    $no = (int)$val["no"];
    $t = time();
    $Path = "./bat_img/tmp/$t-$no.png";
    $re = @file_put_contents($Path,$b64);
    if($re){
        $obj[$i]["chk"] = $re?"ok":"ng";
        $obj[$i]["name"] = "$t-$no.png";
        $obj[$i]["path"] = $Path;
        $obj[$i]["no"] = $no;
        $obj[$i]["t"] = $t;
        $i++;
    }
}
$obj[--$i]["zippath"] = zipfile($obj);

print json_encode($obj);


function zipfile($obj){
    $ZipFiles = function($obj){
        foreach($obj as $key=>$val){
           $path[] = $val["path"];
        }
        return $path;
    };
    $Zip_Files = $ZipFiles($obj);
    $zipFileName = time().'_zipimg.zip';

    set_time_limit(0);
    $zip = new ZipArchive();
    $zipTmpDir = './tmp/zip/';
    $result = $zip->open($zipTmpDir.$zipFileName, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE);
    if( $result !== true ){ //エラー処理
      echo 'error!';
      exit();
    }
    foreach ($Zip_Files as $key=>$filepath) {
      $filename=basename($filepath);
    // ZIP圧縮するファイルを追加
    // ファイルパス・ファイル名としないと圧縮ファイルを解凍するとフルパスになる
      $zip->addFile($filepath,$filename); 
    }
    //ZIP 出力
    $zip->close();

    return $zipTmpDir.$zipFileName;
}
<?php

unlink($_POST["obj"][0]["zipimgpath"]);
foreach($_POST["obj"] as $key=>$val){
    $Path = $val["Path"];
    $no = (int)$val["no"];
    $t = (int)$val["t"];
    
    $cmd = function(){
        foreach(glob("./bat_img/tmp/*") as $file_name){
            $command = "rm -rf " . realpath($file_name);
            exec($command);
        }    
    };
    
    if(pathinfo($Path)["extension"]=="png" and preg_match("/bat_img\/tmp/",$Path)){
        if(is_file($Path)){
            sleep(30);
            unlink($Path);
        }else{
            $cmd();
        }
    }else{
        $cmd();
    }

}

タグ

, 14, 30, 358, 4, 5, 64, archives, base, button, Chrome, com, demo, ex, html, https, index, m-yabe, tool, www, zip, アップ, オンリー, コード, こちら, こと, サーバー, サイト, ジェネレーター, ソース, タイル, ダウンロード, はい, ファイル, ブラウザ, ページ, 一括, 下記, 他人, 保存, 処理, 分離, 削除, 動作, 参考, 問い合わせ, 変更, 強制, 格納, 生成, 画像, 表示, 複数, 追記, 選択,

なんか炎上みたい、サーバ集中負荷。

2018.07.21

Logging


なんか炎上みたい、サーバ集中負荷が起きていた。
貧弱なサーバなのですぐに落ちる。
正確にはSQLサーバの問い合わせによって落ちたのだろうけど・・・。
貧弱なSQLサーバめ!!
どうも震源地は大阪ぽっい、そこからSNSか何かの
拡散で大きく広がったぽっいけど、今回のことを踏まえて
サーバ上にも生ログ取ることにしようと思いますって取ってた。
ある意味、営業妨害みたいなものですからね、
今回、この中から震源地を特定するのは無理だと思います。
なので、情報提供を求めることにします。
今回、どこから情報をもらい
アクセスされたか知りたいのでTwitterのダイレクトへ連絡ください。
https://twitter.com/zip358com
 

タグ

SNS, SQLサーバ, SQLサーバめ, Twitter, サーバ上, サーバ集中負荷, 問い合わせ, 営業妨害, 大阪, 情報提供, 意味, 拡散, 炎上, 生ログ取ること, 震源地,

GCPを辞めました。また合う日まで・・・。

2018.05.28

Logging


GCPを辞めました。
理由は金銭的なことです、3日で1000円ぐらい消費したので
これはやばいなと思い、昨日からサーバ移行を
朝から晩まで行っていました。
設定等はお昼過ぎにはすべて移行が整っていたのですが
ZIPファイルをダウンロードするのに半日以上費やして、
本日の朝方まで消費しました。
うちの回線が非常に遅いことが
明確にわかったので今週か来週あたりにプロバイダに
問い合わせを行うつもりです。
下りがADSL状態なんです、明らかに遅いので
問い合わせを行い改善してもらうつもりでいます。
トイウコトデ、休日の一日をサーバ移行に
費やしてしまったのは痛い。
 

タグ

1000円, ADSL状態, GCP, zipファイル, うち, ウチ, お昼過ぎ, サーバ移行, すべて移行, トイウコトデ, プロバイダ, 下り, 休日, 半日以上, 問い合わせ, 回線, 朝方, 本日, 理由, 設定, 遅いこと,

通信の疎通よりも。

2018.01.24

Logging


pingとは疎通しているかどうかを確認すること。
ひとも疎通確認ができればなんて楽なんだろうかと思います。
この頃、ある企業へ問い合わせを行ったけど
たらい回しされやっと開発部門へ問い合わせする
事ができて、あっという間に問題解決したという事があった。
問題なのは基本的に自分の言い回しなのだけど
通じる通じないはその人の理解度かなと思っています。
自分の宇宙語が理解できる人は、それなりにその分野を理解している
人です。理解できない人は普通の人なのだと思っています。
なにせ、説明が自分で言うのも何ですが下手です。
ちなみに専門用語は覚えているのですが、アスタリスクやハイフンなど
普通の人でも読み方を知っている言葉を覚えていなく。
バックスラッシュなどは覚えている始末・・・。
ある意味、飛んでいるのかもしれない。

タグ

B00G35I170, ping, アスタリスク, あっという間, ハイフン, バックスラッシュ, 問い合わせ, 問題, 字幕版, 宇宙人ポール, 宇宙語, 専門用語, 理解度, 疎通, 疎通確認, 言い回し, 説明, 読み方, 開発部門,

踏んじゃった。明日から普通のブログに戻ります。

2015.07.03

Logging


ウォーキング中に、カタツムリの子供みたいなものを踏んづけてしまいます。踏んづけてしまうと何だか、罪悪感が芽生えるのです。小さな生き物を不本意で傷つけたりすると・・凹んでしまいます。この度、普通のブログに戻ります、毎日、絵を書くのは、やはり大変です。昔、よく続けられていたなと、それぐらい今は頭が硬くなってきているのだと思います。ちなみに今日は半日あがりでした。昼から銀行とかいろいろな手続ものを行っていました。なぜ、平日だけしか、こういう事ができないのか・・・。コールセンターとかも大体、PM7時には受け付け終わってます。早い所は5時には終わっているところもあり、仕事が平日休みじゃないかぎり、メールでの問い合わせだけになってしまいますと愚痴をはいて、文章を稼いでいるわけですけど、この長々とした文章が検索にヒットするために長々書いているだけで、リアルでは口数少ない自分です(´Д`)
トイウコトデ、明日から普通のブログに戻ります(前のような)。
 
 

タグ

ウォーキング中, かぎり, カタツムリ, コールセンター, それぐらい今, トイウコトデ, ブログ, メール, 半日, 受け付け, 口数少ない自分, 問い合わせ, 平日, 愚痴, 手続もの, 文章, 早い所, 生き物, 罪悪感, 銀行,