jsのincludesっていう関数。

2024.03.13

Logging

おはようございます、jsのincludesっていう関数をつい最近しりました…。遅っ。こういう関数あるだろうなっては思っていたのですが調べようともせずバニラJsを使っていましたが、これからは便利なincludesという関数を使用していきたいと思っています。

Black abstract art, white background

includesの説明はchatGPTにしてもらいましたので、それをそのまま引用する形になります。includesとは特定の値が配列に存在するかどうかを判定するために使用されます。このメソッドは真偽値(trueまたはfalse)を返します。以下に、includesメソッドの基本的な説明と例を示します。

例えばこんな感じにコードを記載します。

const fruits = ['apple', 'banana', 'orange'];

const hasBanana = fruits.includes('banana');
console.log(hasBanana); // true

const hasGrape = fruits.includes('grape');
console.log(hasGrape); // false

これどんなときに使用するか?例えばmap関数でデータをチェックし一つでもtrueが存在する場合は後続処理を行わせたいなど、いちいち配列の中を廻さなくても一行書で判断することが可能になり、とても便利かなと個人的には思います。

明日へ続く。

タグ

ChatGPT, console.log, const fruits, const hasBanana, const hasGrape, false, fruits.includes, hasBanana, hasGrape, includes, includesメソッド, JS, map関数, true, バニラJs, メソッド, 後続処理, 真偽値, 配列, 関数,

laravelの技術ネタ。こういうのを有ることを。

2023.10.03

Logging

おはようございます、laravelの技術ネタです。Laravelにはこういうメソッドが用意されています。下記のリンクを参照ください。

https://readouble.com/laravel/8.x/ja/collections.html

こんな機能が有ることを覚えて置くと良いです。なので、わざわざ自分でコードを書かなくても便利な機能があります。覚えて置くと良いです。

この頃の学びはPHPに文字の置き換えする事。いやいや文字の置き換えなんて初歩の初歩でしょって思うかも知れません。自分もそう思っていましたけど、PHPにはいろいろな文字の置き換えができるメソッドがあります。その中でこれは便利だなっていう文字の置き換えはこれ!!

文字の位置を指定して、その部分だけを文字を置き換えることが出来るメソッドです。

substr_replace

明日へつづく

タグ

Laravel, php, substr_replace, いやいや文字, コード, メソッド, リンク, わざわざ自分, 下記, 位置, 初歩, 技術ネタ, 文字, 機能, 自分, 部分,

chatGPT3.5を先行的に使っている。

2023.09.21

Logging

おはようございます、chatGPT3.5を先行的に使っている。みんなが使えるわけではないようだけど、恐らくヘビーユーザーなのでアルファ版の先行に選ばれました。便利ですよねぇとは言わないけど困ったときに多少なりとも助けになることは間違いないです。

そうそうMysqlに複数の値を比較してある値を抽出するというメソッド?があることを最近知りました。簡単に言えば三項演算子みたいなものかなぁ・・・違うなぁ。ここらへんをchatGPT3.5に解説してもらいます。

COALESCE 関数は、SQLで複数の値を比較し、最初に NULL 以外の値が見つかった場合にそれを返す関数です。以下は COALESCE 関数の使用例です

SELECT COALESCE(列1, 列2, 列3, 列4) AS 選択された列
FROM テーブル名;

このクエリは、列1から列4までの値を比較し、最初に NULL 以外の値が見つかった場合にそれを 選択された列 として返します。

例えば、価格を比較して最初に NULL 以外の価格を選択するSQLクエリは次のようになります:

SELECT COALESCE(price1, price2) AS 選択された価格
FROM products;

このクエリは、products テーブル内の各行に対して、price1price2 を比較し、最初に NULL 以外の価格を 選択された価格 として返します。

COALESCE 関数は、複数の値から最初の非 NULL 値を取得するために便利です。

タグ

as, COALESCE, FROM products, MYSQL, null, price1, price2, products, SELECT COALESCE, SQL, SQLクエリ, アルファ版, クエリ, ヘビーユーザー, メソッド, 先行, , 列 FROM, 多少なり, 関数,

#laravelは独自のCommand対応しているだって😂。

2023.04.05

Logging

おはようございます。LaravelはCommand対応しているだってさ。そんな事も知らないなんて言わせない😂。やり方に関しては割愛しますがchatGPT様に出来るかどうかを問おうてみました。結果はこんな感じです。

はい、Laravelのartisanコマンドは、開発者が独自のコマンドを作成するためのフレームワークを提供しています。独自のコマンドを作成することで、LaravelのCLIツールをさらに活用することができます。

artisanコマンドを作成するには、make:command artisanコマンドを使用します。以下は、example:commandという名前の独自のartisanコマンドを作成する例です。

php artisan make:command ExampleCommand

これにより、app/Console/CommandsディレクトリにExampleCommand.phpファイルが作成されます。このファイルには、独自のコマンドの処理を定義するためのテンプレートが含まれています。

独自のコマンドを実装するためには、handleメソッドを実装する必要があります。このメソッドは、コマンドが実行されたときに実行されるコードを記述します。

後はこちらのページを参考にしてみてください。コマンドから独自の処理が実行されたことがわかるかと思います。

https://migisanblog.com/laravel-artisan-command/

これで定期的に実行したい処理を実行することが可能になります👍。

タグ

-Command, App, artisanコマンド, chatGPT様, CLIツール, command Artisanコマンド, command ExampleCommand, Commandsディレクトリ, console, example, ExampleCommand.phpファイル, handleメソッド, Laravel, Make, php artisan make, コマンド, テンプレート, フレームワーク, メソッド,

laravel入門書コンプリートしたけどなんか😅。 #laravel

2022.12.27

Logging

おはようございます、クリスマス・イブは普段と変わりない日常でした。彼女は引き続き募集しています😧(冗談w)。

さて、Laravel入門書は一通り走らせてみました。すべての機能を覚えた訳でもないけどこういう事が出来るだということは頭の片隅に残っています。後半のデータベースの内容になってデータベースの設計も大事なんだな。特に名前付けが大事になるとはある程度知っていたけど、ここまで尾を引く感じになっているものとは驚きでしたね。

今まで独自フレームワークで開発していたので、こういう所が緩かった気がします。Laravelの良さを引き出すにはこういう所(テーブル名の命名やフィールド名の命名)も大事になるだろうな。

ただ、先日呟いたhasOneとhasManyに関しては使用しづらいって感じがあります。そもそもメソッドを使用してSQL文を発行するのが、非情にやりづらさを感じるので出来れば、DB::row(…)->setBindings(※1)でなんとかしたいなという気持ちがあります。もしくはDB::table(…)->get()とかで・・・。

※(※1)を使用する場合は疑問符プレースホルダーで使用しましょう。名前付きプレースホルダーは使用できないみたい_(:3」∠)_。

タグ

db, GET, gt, hasMany, hasOne, Laravel, Laravel入門書, row, setBindings, SQL文, TABLE, イブ, データベース, フレームワーク, メソッド, 一通り, 名前付きプレースホルダー, 命名, 片隅, 疑問符プレースホルダー,

Laravelの再学習をはじめて一日目。 #laravel #phpcode

2022.12.19

Logging

おはようございます、来月の引き落としは結構な額です🥺。

先日からLaravelを再学習をしています、昔、購入した参考書を基準に勉強しています。今までググって必要なものだけを使用して書いてきたもので、色々な機能がある事を改めて痛感しています。

全部の知識を覚えるというのは、この短期間では無謀なのでこういう機能があるということを頭の片隅に置いとく勉強方法になります。

勉強方法としては実際にlocalhostを立ち上げその中にLaravelをインストールし参考書に書かれている内容を試していくという作業になります。参考書だけ読んでいるだけだと身につかない部分があると思います、例えば頻繁に出てくるメソッドなんかも肌感覚で分かるようになります。

因みに、今までローカル環境でもlocalhostのドメインなんて使用しなかったのだけど、そこの環境も似せてます。

尚、開発環境ではSSL環境が多いかと思います。その際にオレオレ認証(オレオレSSL)を作る方がいます、自分もオレオレ認証を今まで何度か作っていたけどChromeのバージョンが上がると動作しなくなったりします。なので、今はこの方法でSSLの壁を乗り越えています。Chrome83以降の動作させる際にページ内で下記のキーを入力します。

thisisunsafeエンター

解除したい場合はリンクバナーをクリック(保護されていない通信)して、警告をオンにするをクリックで元に戻ります。

タグ

Chrome, Laravel, localhost, SSL, SSL環境, thisisunsafeエンター, オレオレSSL, オレオレ認証, オン, キー, ドメイン, バージョン, メソッド, リンクバナー, ローカル環境, 基準, , 片隅, 肌感覚, 警告,

アルゴリズム実技検定のT消しを解いてみた感想。意外にも!?

2022.03.26

Logging

おはよう御座います。
土曜日ですね😌ですね😌。

先週の土曜日の早朝にアルゴリズム実技検定の過去問題を解いてみたので感想だけ残しときます。コードは何やら書いたら駄目みたいなので公開しませんが、一応、この問題でも自分で手を動かさないと解けない問題になっている。

転がっているメソッドだけで解けそうと思ったのは甘かった、問題的には難易度はそう高くない問題だとは思いますが!ですがJS(node)で書いてみて本体部分だけ16行ぐらいのコードになりました。それが短いかどうか分からないものの、最初は5行ぐらいで書けるしょって思っていたので、そう思うと長いかなって思います。

因みにプログラミングスキルチェックのpaiza[パイザ]を昔よく解いていました。いまは全然ですがB級ランクをふらふらしています。この頃、頭の体操をしていなかったのでAtCoderを解いてみてよかったです。

タグ

16, 5, AtCoder, JS, node, paiza, アルゴリズム, いま, コード, スキル, それ, チェック, パイザ, プログラミング, メソッド, ランク, 体操, 先週, 公開, 問題, 土曜日, 実技, 感想, , 早朝, , 最初, 本体, 検定, , 自分, 過去, 部分, 難易, , , 駄目,

WPの記事を検索し一括カテゴリ変更する方法。

2020.05.25

Logging

WPの記事を検索し一括カテゴリ変更する方法は下記になります。ワードプレスのwp-load.phpを読み込み、下記のようなソースコードのファイルをcommandで実行すると、カテゴリが任意のカテゴリに変更されます。

重要点はwp_set_post_categoriesの引数です。arrayの配列の数値ですが、この数値をカテゴリIDのナンバーに変更することによってカテゴリが更新されます。

企業でご使用する場合はカテゴリ更新部分を一度、コメントアウトしCSVか何かでうまく記事が抽出できているか確認した後に、更新するようにお願い致します、当然ながら不具合等の苦情は受け付けません。自己責任でご使用くださいな。

尚、この下記のコードの意味がわからないという方は下記のURLからそれぞれのワードプレスようのメソッドが何を意味しているか調べてくださいね。
https://elearn.jp/wpman/

<?php
require_once(__DIR__ . '/../wp-load.php');
if ($argv[0]) {
    $args = array(
        'post_type ' => 'post',
        'posts_per_page' =>-1,
        's' => '映画'
    );
    $posts = get_posts($args);
    foreach ($posts as $val) {
        $href =  get_permalink($val->ID);
		$title = get_the_title($val->ID);
		$cnt++;
		echo $cnt.":".$title."\n".$href."\n";
		wp_set_post_categories($val->ID,array(1,2,3));
    }
}

タグ

-Command, 39, array, categories, CSV, DIR, ID, lt, once, php, POST, require, set, url, wp, wp-load, アウト, お願い, カテゴリ, コード, こと, コメント, ご使用, ソース, それぞれ, ナンバー, ファイル, プレス, メソッド, ワード, 一度, 一括, 下記, 不具合, 任意, 企業, , 何か, 使用, 場合, 変更, 実行, 引数, 当然, , 意味, 抽出, 数値, , 方法, 更新, 検索, 確認, 自己, 苦情, 記事, 責任, 部分, 配列, 重要点,

Gさんのリアルタイム検索トレンドを抽出するPHPライブラリ

2020.04.15

Logging

Composerをインストールしていること前提条件として書いていきます。まずはライブラリーを入れます。

こんな感じに

composer require x-fran/g-trends

そして次にこんな感じのPHPコードを書きます、これだけでGさん(グーグルさん)のリアルタイム検索トレンドが表示することが可能となります。ちなみにJSONで返す処理として書いています。ライブラリーがしっかりしているので、あとはメソッドを呼び出すだけで簡単に検索のリアルタイムのトレンドが表示できてしまう。

ライブラリーコードは下記から参照できます。
https://github.com/x-fran/g-trends

<?php
include_once "../../vendor/autoload.php";
use XFran\GTrends\GTrends;
$options = [
    'hl' => 'ja-JP',
    'tz' => -540,
    'geo' => 'JP',
];
if((int)$_POST["p"]==1234){
    $gt =  new GTrends($options);
    $ret = $gt->getRealTimeSearchTrends();
    if(is_array($ret["storySummaries"]["trendingStories"])){
        $jsn = json_encode($ret["storySummaries"]["trendingStories"]);
        print $jsn;
    }
}

尚、ajaxで表示している部分は割愛します。
https://zip358.com/tool/demo14/ demo14を検証ください。

タグ

autoload, com, Composer, g-trends, github, GTrends, https, include, json, lt, once, options, php, quot, require, use, vendor, x-fran, XFran, あと, インストール, グーグル, コード, こと, これだけ, トレンド, メソッド, ライブラリ, ライブラリー, リアルタイム, 下記, 処理, 前提, 参照, 可能, 感じ, 抽出, 条件, 検索, 簡単, 表示,

オレオレ無名関数の再帰処理。

2019.10.26

Logging

無名関数はよく使います。ちょっとしたモノを書きたい時、
オレオレ無名関数を書いて済ますことが多くなりました。
無名関数の良いところは無名関数を使用する手間にメソッドがあるので
確認しやすいというところですね。
 

<?php
$mumei = function ($tasu=0) use(&$mumei){
    if($tasu<=150){
        $tasu = $tasu + 5;
        print $tasu."n";
        return $mumei($tasu);
    }
    return $tasu;
};
//オレオレ無名関数の使い方は…小道具ぐらい程度のもの。
print $mumei();
// 5
// 10
// 15
// 20
// 25
// 30
// 35
// 40
// 45
// 50
// 55

タグ

0, 10, 15, 150, 20, 25, 30, 35, 40, 45, 5, amp, function, if, lt, mumei, nbsp, php, print, return, tasu, use, オレオレ, こと, ところ, メソッド, もの, 使い方, 使用, 再帰, 処理, 小道具, 手間, , , 無名, 確認, 程度, 関数,

PHPのインターフェイスとやら簡単に言えば。

2019.02.16

Logging

インターフェイスとはなんぞや?
簡単に言えばこのメソッド名は必ず使えです。
無ければエラーになります。
大規模な開発から中規模な開発時には一応必要かな?
 

<?php
interface  test1{
    public function test_11(int $val=1);
    public function test_12(string $val="000");
}
class demo implements test1{
    public function demo1(int $val=0){
        return $this->test_11($val);
    }
    public function test_11(int $val=1){
        return $val;
    }
    public function test_12(string $val=""){
        return $val;
    }
}
$demo = new demo();
print $demo->demo1(111);

 

タグ

0, 000, , 11, class, demo, function, gt, implements, int, interface, lt, nbsp, php, public, return, string, test, this, val, インターフェイス, エラー, メソッド, 大規模, 必要, 簡単, 規模, 開発,

何故・・・C#何だろうか。

2017.09.18

Logging


大体、C#を使っていたら損はないぐらいに思っていた時もありましたが
いまはC#の勉強必須だなと思っています。
何故・・・VisualBasic(ビジュアルベーシック)だと駄目なのか?
まず、C#は結構人気の高い開発言語です、これは結構重要な事です。
そして何より、JavaとC言語の良い事取りなのが理由じゃないのかなと・・・。
マイクロソフト独自に開発したC#という言語はこれから先も進化していくだろうなと
思っています、それと同時にVC++何だか息を吹き返しそうです。
やはりVC++はC言語と仲良し感があるので、まだまだ重宝される存在じゃないのかなと。
ともあれ、勤めている会社ではC#でも開発してたりします。
自分はC#、この頃触っていないので何とも言えないのですがコチラは
家でまた使用して何か作ろうかなと思っています。
やはり概念しか覚えていないので、使用する機会が少なくなると
メソッドや便利機能、構文を綺麗さっぱり忘れてしまうのは
危ういかなとか感じます。

タグ

C言語, java, VC++何だか息, VisualBasic, コチラ, マイクロソフト, メソッド, 仲良し感, 便利機能, 勉強必須, 危ういかな, 概念, 構文, 機会, 独習C, 良い事取り, 高い開発言語,

忙しいときは冷静になり、暇な時には情熱を持つ。

2017.03.01

Logging


忙しいときは冷静になり、暇な時には情熱を持つ。
インターネットに溺れるなかれ、インターネットの情報は
欲しい情報が瞬時に出てきますが、瞬時にでてくる情報ほど
大した事ない。結局、ネットに掲載されている情報はある一定のレベル
までしか普通はたどり着けない。
実は検索されないようなサイトでも重要な内容を
公表しているところはある。ただ、たどり着くには専門用語を
知っていないといけないというオチがある。
自分はメソッドを覚えていないので結構、ググることが多い。
ググればメソッドなので簡単に出てくる。そんな事をしているとググり
ばかりで頭に記憶されない。この頃、記憶しないのは時間のロスだと
思い始めた。じぶんの場合、ひとつの言語を長く使用した経験がなく
コレまでは、それで良かったのだけど、この頃このまま
覚えないのはまずいなと思い。C#、PHP、jqueryのメソッドや宣言などは
ググらなくとも書けるようにしようと思っています。
特にPHPはよく使うので、そろそろがっつり覚えないと
駄目な気がする。
英単語を覚えるみたいに、、、メソッドを覚える
問形式のサイトを誰かつくっていないだろうか?

タグ

B00V4DYCPG, jquery, PHPポケットリファレンス, インターネット, オチ, サイト, じぶん, メソッド, 一定, 問形式, 専門用語, 忙しいとき, 情熱, 改訂, 瞬時, 英単語, 言語,

PHPで自前の関数をガッと放り込むとjquery…!!

2017.02.16

Logging


デモサイトはこちらから。
https://zip358.com/tool/kansuu.php
実際、関数を引数に放り込む機会はあまりないかなと思いますが
こういう使い方もできると言う事を覚えておくと便利かなと思います。
この頃jQueryを使うことが多くなってきているのですが
使っているうちにライブラリの作り方がなんとなく理解してきましたので
オリジナルライブラリ(プラグイン)を作ってみようかなと思います。
ちなみにプラグインの作り方を紹介しているサイトがググると
結構あります。たとえば、こちらガッツリと解説しているので
こちらを参考に皆さんもオリジナルプラグインを提供してみてはどうでしょうか?
http://qiita.com/k4zzk/items/11e5dbd53cb93edb8b4d
jqueryは結構好きですが全然というほど書き方やメソッドをしらないですね。
一度、どこかでメソッドに関してはリファレンスなどに目を通しておかないと
いけないなと思う今日このごろです。
リファレンスはこちらから。
http://semooh.jp/jquery/

<?php
function kansuu(){
    return "un!<br>";
}
function ui($f){
  echo $f;
  echo $f;
}
echo 'ui(kansuu());<br>';
ui(kansuu());
class un{
    function kansuu(){
        return "un!<br>";
    }
    function ui($f){
        echo $f;
        echo $f;
    }
    function d($f){
        echo $f->kansuu();
    }
}
$un = new un();
echo '$un->ui($un->kansuu());<br>';
$un->ui($un->kansuu());
echo '$un->d($un);<br>';
$un->d($un);

タグ

AM, br&gt, class un, echo, function d, function kansuu, function ui, jquery, new un, return, UI, un, オリジナルプラグイン, オリジナルライブラリ, プラグイン, メソッド, リファレンス, 今日このごろ, 作り方, 関数,

WordPressテンプレートのSSL対応の勘所を教えます。

2016.07.25

Logging


全国的にかわかりませんが、花火大会やお祭りって7月の終わりから
8月の中頃までしかないですよね。高知県はそんな感じです。
(自分が学生の頃、8月の終わりごろに有れば良いのにと思ってました。)
今日のお題は「WordPressテンプレートのSSL対応の勘所を教えます。」です。
この頃、有料テンプレートに変えたのですが、そのままでは
デザインが崩れて全然使いものにならないので、自分で対応を行いました。
勘所はこれだけ、URLの出力する所を抑えるべしです。
なので、例えば下記のような記述が書かれている所などを
書き換えを行います。
※メソッドにはパターン2つあって、echoなどで既に出力されているメソッドと
文字列を返却してくれるメソッドです。それにより置き換え方法が変わります。

<?php
//パターン? get_sidebar();
        ob_start();
        get_sidebar();
        $get_sidebar = ob_get_clean();
        $get_sidebar = str_replace('http://', '//',$get_sidebar);
        echo($get_sidebar);
//パターン?,home_url()
        $str = "<a href="'. str_replace('http://', '//',home_url()) .'/">";
        echo str_replace('http://', '//',home_url());
?>

上記のようにすることで、SSLで対応は行えます。
SSL未対応のワードプレスをSSL対応にする場合は
まずはじめに、いままでの自サイトURL、全てのデータを
SSL化しないと駄目なので、MYSQLで文字の置換を
行なってください。もしくは、データを一度、エクスポートして
テキストエディタで置換し再度、インポートして
あげる事でも対応可能です。エクスポートする際は
UPDATE形式でエクスポートすることをお忘れなく。
後は、テンプレート側にSSL対応するだけで
ほぼ見栄え良く見えるはずです。
管理画面へログイン出来なくなると言った事象が
起こる場合は、若干、WordPressの設定を
修正しないといけなくなります。

タグ

$get_sidebar, a href, AM, echo str_replace, home_url, PHP 7+MySQL, SSL対応, UPDATE形式, WordPressテンプレート, データ, テキストエディタ, テンプレート側, パターン, メソッド, ワードプレス, 使いもの, 勘所, 書き換え, 有料テンプレート, 置換,

OK Google?からOK human?に。

2016.07.17

Logging


土曜日は雨だと言っていたのですが、土曜日の朝は
上天気でしたね。来週の後半は雨が降る模様です。雨が降るのを
期待しているわけではないのです。ただ、雨が降ると
過ごしやすいなと感じたりします。
今日のお題は「OK Google?からOK human?に。」です。
コードを書くことが仕事な自分ですが、結構な頻度で検索に頼ってます。
検索に頼りきっているわけでもないのですが、やはりメソッド名ぐらいは
覚えておいたほうが良いなと思います。自分の場合、いろいろな
言語にまたがって仕事や私用でコードを書くことがあるので
あやふや化している所があるのですが、仕事で使う言語ぐらい
覚えておいたほうが良いなと感じだしました。
検索って仕事をする中では非効率な作業の中に
入ると自分は思っています。そういう観点からもやはりいつも
使用するPHP言語は覚えておいて損はない気がします。
ちなみに良く使うメソッドでexplodeとimplodeがあります。
このメッソドは下記のような機能になりますが、
いままで、どちらがどの機能だったのかが曖昧でしたが
この頃、英語の意味から覚えたほうが早いと思い
片方を覚えたら、もう片方も覚えた次第です。
良く使うものから、徐々に検索離れをしようと思います。
どうなることか・・・。
(文字列を配列を分解する機能と配列を文字列化する機能)

タグ

B00D3SKT0W, DVD BOX X, explode, implode, OK Google, OK human, コード, なるこ, メソッド, メッソド, 上天気, 土曜日, 文字列, 検索, 機能, 片方, 言語, 配列,

WEBセキュリティと人為的なバグ。

2015.12.06

Logging


先日、人為的なミス(コードミス)のため、何度かテスト用のファイルなどが
WEB上から吹っ飛んで消えちゃったっていう事象が発生した。
原因は自分のコードの書き方のミスだった・・・。
それに気付くまで謎の事象だった。
最初に自分がまず疑ったのがハッキングだったが
サーバ会社からの返答は侵入した痕跡がないとの事で
疑わしきは実行ファイルということだった。
結果、調べていくと実行ファイルのメソッドに
値が入っていなかったため一部のディレクトリを
消して良い所を全部ディレクトリが一括で消していた。
書いたのは自分です。
大体、バグっていうのは書いた本人は気づきにくいもの。
特にエラーがないバグはテストを行った時に出現したりして
そのバグ取りに大体、必死になることが多い。
結局、原因を見つけたのは社長だったという話ですが
今回のことで自社のサーバを持つことになったのが
何とも言えないのだ。
今回の原因は過信と浅いネットワーク知識やWEB知識が
問題になったんだろうと思う。そういう事もあって
WEBセキュリティ教室という本を購入したが・・・
これが今までのsqlインジェクションとかよりも深い内容の
攻撃手法が書かれていて正直、いまの自分には
半分程度の理解しか得れなかった。
 

タグ

sqlインジェクション, Webセキュリティ教室, エラー, サーバ, サーバ会社, バグ, バグ取り, メソッド, 事象, 何度かテスト用, 全部ディレクトリ, 原因, 実行ファイル, 徳丸浩, 書き方, 浅いネットワーク知識, 痕跡, 過信,

人が寝てるときに起きて何するぞ。

2015.12.05

Logging


自分の部屋には技術書(参考書)があふれている。
あふれているけど、結局役に立つ本は少ない。
殆どの本はインターネットで検索すればでてくるような事を
わかりやすく解説しているだけの本だと
自分は思います。
ひとつ言える事はネットと違い
技術書(参考書)は間違いが少ないということ
徐々に簡単な本からコードな本に移り変わっていっています。
自分はこの頃、ろくにコードを書く機会がないので
メソッドを覚えていない。
いま、仕事でしている作業も
既存のパッケージに追加機能や修正を行うことが
大半なので一からコードを書く機会が無いのだ。
そんな事もあってロクにコードを覚えていない。
書く機会が無いと忘れたりする。
必要に差し迫らないと勉強をしなかったり・・。
しないと人って楽な方へ進みがちだ。
じぶんはPGは好きな方です。
決して嫌いな方ではないのだけど、どうも仕事をして行く中で
OFFかONなのかが分からなくなる・・・変な錯覚に落ちる時がある。
簡単にいえば苦ではないのだ、疲れるが苦ではない。
違いは責任をもってやらなければならないという事が
ONにはついてまわるという事。
それ以外にはOFFとONの違いはない。
どんな仕事でも自分に身についてしまうと
苦ではないものに変わってしまうと自分は思う。
その時に大事なのは改善することを
改善するかしないかだと自分は思っています。
プログラムって改善すればするほど
改善できたりする。だた、納期だので、何処かで
妥協しないといけない。
おそらく、ソコをどうするかだと。
勉強(改善)と日常ってそういうもので学生時代は
日常に勉強というものがあるが
社会人になれば勉強というものがある意味、
非日常になる。そこで何処で時間を割いて
勉強するかで差がでると自分は思っています。
自分は全然ですけどね(´Д`)。

タグ

インターネット, コード, じぶん, ソコ, パッケージ, プログラム, メソッド, 何処か, 勉強, 参考書, 技術書, 方法論, , 機会, 社会人, 納期, ,

(´ι _` )アッそうなんだそうなんだPHP fileメソッド

2015.11.09

Logging


PHPのfileメソッドっていうのが便利です。
ファイルを配列として引っこ抜いてくれる。こんな関数便利だなと
おそらく他の言語でも常識的にある関数なんだろうけど
自分はあまり知らなかったので便利だなと。
もうひとつ便利な関数は配列の中に空の値があったりすると
その配列を削除してくれるarray_filterとかいうものです。
これは便利・・・何故かってPHP、配列の中が空でも
値があるよって判断するです。そういう時に少し便利です。
emptyは使えないので・・・。もし配列が空でも必要な場合は
strlenとかでバイト数を数えるなどで対応するしか無いですね。
そういう事でメモがてらに残しときます。

$hoge = file("hoge.txt");
for($i=0;$i<sizeof($hoge);$i++){
echo hoge[$i]."<br>\n";
}
print($hoge);
$hoge2 = array_filter($hoge);
print($hoge2);

タグ

0, 2, array, br, echo, empty, file, filter, For, gt, hoge, lt, php, print, sizeof, strlen, txt, アッ, これ, バイド, ファイル, メソッド, メモ, もうひとつ, もの, , , , 便利, , 判断, 削除, 場合, 対応, 少し, 必要, , , 自分, 言語, 配列, 関数,

自作テンプレートを作ってみて。

2015.07.11

Logging


自作テンプレートを作ってみて、イマイチ感というよりはLightBox2のプラグインが上手く動作しなかったので元のテンプレートに戻しました。恐らく一部のプラグインが動作しなかったのはBootstrapかjqueryの競合が問題かと思われます。自分で作ってみてもっとWordPressのメソッドを知っていればもっと楽々と作れた事は間違いないですが、自分が思っていた以上にWordPressは難しいという感じではないです。cakePHPなどの方がやはり難しい。それに比べれば幾分、考え方は緩いかなと感じます。

タグ

Bootstrap, cakePHP, jquery, LightBox2, WordPress, イマイチ感, プラグイン, メソッド, 一部, , 問題, 幾分, 感じ, 楽々, 競合, 考え方, 自作テンプレート,

プログラムのレベル、自己評価。自己嫌悪。自画自賛。

2015.05.01

Logging


例えば、ExcelVBAはたぶんソコソコ良い感じだと自分で思っています。Accessも基本VBAがベースなので同じくソコソコ良い感じだと思っています。今ままでVBAで本気を出したことはないけれど恐らく( `д´) ッ!となるレベルです。続いてWEB系のperlですが、これは普通ぐらい・・・ここ数年使ったことがありません。PHPですが、まぁこちらも普通レベルですね。仕事としてまぁ難易度高くなければそつなくこなす程度です。続きましてjqueryとかjavascriptですが大好物です。特にDOMが好きです。むかし凝ってましたが今は、かなり忘れてしまってます。WEB系はCMSをバリバリこなして一人前ですが、ググりゃ何とかいけるレベルです。そつなくこなしている程度です、なので一人前かどうかは分かりません。またまた、続いてソフトウェア系の開発言語にいきまして、Java言語、あまりにもこの言語でコードを書いた事がないので、ググりながらメソッドなどを調べたりライブラリを調べたりしないと言う感じで比較的に難しいです。続いてVB2005以上、こちらはまぁ出来るかなぁぐらいです。続いて続いてVC++ですが、VBが理解できれば応用は効きます。それぐらいの知識です、深くなく浅瀬です・・・・。ここまで書いて読者の皆さんは理解したと思いますが自分は総合的なプログラムレベルは言いませんが・・・昔は自分なんて全然駄目だと感じていたのですが、いろいろな人のコードを見てきた結果、どのレベルに自分がいるかこの頃、見えてきました。あと少しで自分の目標に達成しそうな気がします。あとは時間と努力の問題かなと思ってます(どのぐらい多くコードを書いて自分の身になるかだと思ってます)。
今後、この職業で飯を食うかは分かりませんが、副業としては確実に続けていきます。その方が気楽かなと思っています。
 

タグ

, ExcelVBA, javascript, Java言語, jquery, perl, VB2005以上, VC++, コード, ソフトウェア系, それぐらい, プログラム, むかし, メソッド, ライブラリ, 一人前, 基本VBA, 浅瀬, 自己嫌悪, 自画自賛, 難易度,

cronの設定数に制限があるさくらサーバーとかで制限以上に使う方法(´Д`)

2015.01.12

Logging

cronの設定数に制限があるさくらサーバーとかで制限数以上(cron設定を増やす方法
)に使う方法はないかなと考えた結果、自分はこうしました。
一つのPHPファイル(実行ファイル)から複数のファイルをキックすることに!(´Д`)
こうすれば、処理が遅くないファイルなら複数個でも実行できるのではないかと
思ったわけです。結果的に成功しているぽっいです。
※Shellで作れる人は作れるだろうけど自分には無理(´∀`*)ポッいのでPHPで制作しました。
ちなみにさくらレンタルサーバーの場合、php.iniにタイムゾーン設定を
加えてあげてください(date.timezone = Asia/Tokyo ←追加)。
そうしないと動かない恐れがあります。
作っていて思ったことですが、作る考え方はわかるものの、元々メソッドを覚えていない
人間なのでググってメソッド探しにまずヘタりました( ´Д`)=3。その後、完璧なハズとか
思ってソースを実行させるとエラーは出ないものの。思った通りうごかないという事象に
苦しめられること2時間、何でだろうとか思っていて検証してみた結果、メソッドの使い方が
間違っていたり、変数名が間違っていたりとなんとも言えない無情さに襲われましたが
何とか動作するようになったみたいなのでコードをうっぷします。
ソースコードを記載しときます。動作するとは
思いますが誤作動するかもしれないので保証はしません。なお、いつもながら
ソースにはコメントを記載しておりませんのでトレースしてください。
PHPファイルのDLはこちらから( ´Д`)=3?(最終更新日2015/01/12 11:07)
追記2
改良しました。{*改良版はこちら*}
※このPHPファイルを5分置きにキックしていますΣ(゚∀´(┗┐ヽ(・∀・ )ノ。

<?php
//5分刻みに対して有効な無限クローン 処理が負荷の場合どうなるかは知りません。
date_default_timezone_set('Asia/Tokyo');
class cron{

    public function d_m($obj)
    {
            if($obj->m==="*")return true;
            if(preg_match("/,/",$obj->m))return $this->comma($obj->m,date("m"));
            if((int)$obj->m === (int)date("m"))return true;

            return false;
    }

    public function d_d($obj)
    {
            if($obj->d==="*")return true;
            if(preg_match("/,/",$obj->d))return $this->comma($obj->d,date("d"));
            if((int)$obj->d === (int)date("d"))return true;

            return false;
    }

    public function d_H($obj)
    {
            if(preg_match("/\*\/[0-9]{1,2}/",$obj->H)){
                $H = explode("/",$obj->H);
                if((int)$H[1]>0 && ((int)date("H") % (int)$H[1])===0)return true;
            }else{
                if($obj->H==="*")return true;
                if(preg_match("/,/",$obj->H))return $this->comma($obj->H,date("H"));
                if((int)$obj->H === (int)date("H"))return true;

            }
            return false;
    }

    public function d_i($obj)
    {
            if(preg_match("/\*\/[0-9]{1,2}/",$obj->i)){
                $i = explode("/",$obj->i);
                if((int)$i[1]>0 && ((int)date("i") % (int)$i[1])===0)return true;
            }else{
                if($obj->i==="*")return true;
                if(preg_match("/,/",$obj->i))return $this->comma($obj->i,date("i"));
                if((int)$obj->i === (int)date("i"))return true;

            }
            return false;
    }

    //曜日 0=日曜日 6=土曜日
    public function d_w($obj)
    {
            if((int)$obj->w[date("w")]===1)return true;
            return false;
    }

    public  function comma($c="",$t=""){
        if($c==="")return false;
        if($t==="")return false;
        $flg = false;
        foreach(explode(",",$c) as $cc){
            if((int)$cc===(int)$t)$flg = true;
        }
        return $flg;
    }


    public function d_command($obj){
        if($obj->command){
            exec($obj->command . " > /dev/null &");
        }
        return true;
    }

}
if ($argv[1]) {
   $filename = $argv[1];
    if(is_file($filename)){
        $jsn = json_decode(file_get_contents($filename));
        $cron = new cron();
        try {
            foreach($jsn as $obj){
                if($cron->d_m($obj)){
                    if($cron->d_d($obj)){
                        if($cron->d_H($obj)){
                            if($cron->d_i($obj)){
                                if($cron->d_w($obj)){
                                    $cron->d_command($obj);//波動拳{{{{
                                }
                            }
                        }
                    }
                }
            }
        } catch (\Throwable $th) {
            print $th->getMessage();
        }
    }
}

タグ

, Asia, cron, date, ini, php, shell, timezone, Tokyo, いの, キック, こと, サーバー, さくら, ゾーン, タイム, パス, ファイル, ヘタ, ボツ, メソッド, レンタル, わけ, 一つ, , 人間, 処理, 制作, 制限, 場合, 完璧, 実行, , 成功, 方法, 無理, 結果, 考え方, 自分, 複数, 複数個, 設定, 追加,

Accessを触り始めてつれづれと。

2014.08.30

Logging

Accessを勉強し始めて2週間{まぁ本当は…}たったぐらいです。会社でAccessの制作をしようと思って発案{2ヶ月前}したものの、結局丸投げするような感じになりそうです{退きました}、もしくは頓挫。Accessの方ですが、今ままでDBと言えばCUIの系統ばかり触っていたので自分にはふ?んっていう感じでした。CUIに比べて逆に面倒だなという第一印象です。第二印象はAccessには、元々いろいろな機能が付いていて、それを使えばもっと手が抜けるのだと印象を受けました。そこらへんゴリゴリとコードを書くか、もともと合ったAccessの機能を使用するかは人によると思います。
結論から言えば、もっとGUIの機能を使用してGUIで出来る所はGUIで、コード(クラスやメソッド)で出来る所はコードでと言う風に単純明快に分けることによって、かなり良いコードが書けると思います{見やすいかどうかは人によります}。
みんなが分かるコードを書く{コードの統一}。
みんなが分かるコードを書くというのは非常に難しいですね。プログラムを書くにあたって、人それぞれ考え方が違うのです、統一にはコードというよりも人というものが大事かも。
同じものを作ってもプログラムの場合、シンプルなコードもありますし、長いコードもあります。レベルの違いや考え方の違いです。最終的な問題は人なんですね、プログラムの基本は自分で覚えれるのですが、その後の技{技術}の吸収はどんなに教えても、その人が理解できなければ無理なんです。自分もAccessの機能を、全部覚えたわけではないのですが、ひと通りの事は理解しました{まだDBまわりの機能は理解してないかな}。
まとめ
プログラムは結果と答えが正しければ良いのですが…。

タグ

access, CUI, DBまわり, GUI, かなり良いコード, コード, そこら, ひと通り, プログラム, みんな, メソッド, 人それぞれ考え方, 吸収, 機能, 発案, 系統, 結論, 統一, 長いコード, 頓挫,