Laravelでenvの情報をvueとかに共有する時の落とし穴。

2023.06.30

Logging

おはようございます、LaravelにはLaravel-Mixというものが入っていてこれを使用するとenvの値をVue.jsなんかと共有出来るのだけど、自分の知る限り値は全て文字列になるということ、例えばfalseという値を渡しても文字列になってしまいtrueと判断されてしまうのです。

これが落とし穴ですね、普通にfalseが入っているものだと思い込んでいて先日、数分悩んでおりました。

皆さんも思い込みの落とし穴には注意しましょうということです。あとlaravel Mixを使用する場合、envの頭文字にはMIX_と書かないとデータは渡されませんのでご注意を。

MIX_HOGEHOGE=false

思い込みはやばい。そう思い込んでいるとそこから抜け出せない事があると思います、人の話を鵜呑みにしないようにはよく聞くと思いますが。TVの話を鵜呑みにしないようにとか、ネットの話を鵜呑みにしないようにとかを注意がけている人はあまりいないじゃないかな?、ついついあぁそうなんだと聞き入れている人がいると思いますが、本当にそうなのかと疑問を持つことは大事。

トイウコトデ、思い込みはやばいでした?

タグ

env, false, Laravel, Laravel-Mix, MIX, MIX_HOGEHOGE, TV, vue.js, データ, トイウコトデ, , 全て文字列, 文字列, 疑問, 皆さん, 落とし穴, 限り値, 頭文字, 鵜呑み,

先週は予約投稿ではなくリアルな投稿でした。#ムビチケ

2023.05.21

Logging

おはようございます、先週は予約投稿ではなくリアルな投稿でした。今週は予約投稿です。

先週、予約投稿だったのには訳があって休日に熱を出していたので予約投稿を書く暇がなかったのです、今週からまた、基本的に予約投稿で書いていきます。

今月、翌月から8月までいろいろと観たい映画があって結構楽しみです。どれも気になる作品ばかりですが、6月から映画のチケット代が上がってしまって2000円になりました、1800円の時も高いなと思っていたのですが、2000円は高いぞ。そういう訳もあってムビチケで映画のチケットを購入するようになってます。ムビチケで購入すると1500円で映画のチケットが大体購入出来ます。

但し上映している映画を全て取り扱っている訳では無いので、たまに2000円払わないといけない物もあるので注意が必要です。でも、CMや広告を出している映画はムビチケで購入出来ます。

今のところ、6月になっても値は上がらないようです。

タグ

1800円, 2000円, CM, チケット, チケット代, ところ, ムビチケ, 予約投稿, 休日, 作品, , 全て, 広告, 映画, , 注意, , , 翌月, ,

Laravelでの.envファイルの重要性。 #重宝

2023.02.09

Logging

おはようございます、laravel使っていますか?

Laravelでのenvファイルの重要性というタイトルに釣られた方、スミマセン🙇。

envファイルを使用すると、機能のONOFFなどに使用することも出来たりデフォルトで使われている通りDBの接続設定などにも使用されていますよね。

envの良い所はバックエンド側、フロント側ともどちらでも呼び出しが簡単なところです。下記の関数を呼び出せば値を取得することが出来ます。

config('app.name')

詳しく知りたい方はググるといろいろな説明が出てきます。たぶん、これがわかり易いかもということでリンクを一つ貼っときます。

タグ

app.name&#39, config, env, envファイル, Laravel, onoff, スミマセン, タイトル, デフォルト, バックエンド側, フロント側, 下記, , 接続設定, 機能, 説明, 通りDB, 重要性, 関数,

E_ERROR | E_WARNING | E_PARSE🐸

2022.06.15

Logging

おはようございます。果報は寝て待て😌。果報(かほう)を家宝だと思い込んでいました・・思い込みって怖いですね。

先日、記載した「更新に失敗しました。 返答が正しい JSON レスポンスではありません。」ですがphp.iniのワーニング(警告表示)が問題でした。そこをE_ERROR | E_WARNING | E_PARSEに修正してあげることで難無く解決済みです。JSONの返却の際に警告表示も返却され正しい値が取得出来ていなかったことに問題があったようです。

因みにこの頃は警告表示も意識してコードを書く機会が多くなりました。その理由はそちらの方がスマートかなって思うからです。数式が美しいと思うように綺麗なコードというものはあります。まだまだ、プログラムのコードは美しく書けませんが意識することによりそれに近づける事は大事になると思っています。

尚、php.iniは大体、/etc/php.iniにあります?、無ければコマンドラインからかコードに下記のように記載してphp.iniは何処に保存しているか調べてみてください。

php -r "echo phpinfo();" | grep "php.ini"
<?php
echo phpinfo();

タグ

Error, etc, ini, json, parse, php, WARNING, かほう, コード, こと, スマート, そこ, そちら, それ, プログラム, もの, レスポンス, ワーニング, , 修正, , 先日, 取得, 問題, 大事, 大体, 失敗, 家宝, 意識, 数式, , 更新, 果報, 機会, 理由, 綺麗, 表示, 解決済み, 記載, 警告, 返却, 返答, , ,

3日坊主が良いとか悪いとか。損切り出来る人は実は3日坊主かも。

2022.01.19

Logging

ANAとJALの株は危険!その理由とは!?

損切り出来る人は3日坊主の人が多そうです、株とかしていると損切りのタイミングはいつなのか、最小限の損でと思う方もいると思うけど、基本的に先の相場は読めない、だから自分が損切りしようと思った時に損切りするのが正解なのです。

自分はANAの株を去年保有していたのですが、去年のうちに全て売却しました。本当は買ってすぐに売ろうと思っていたのですが、欲が出てしまいちょっと保有していたらデルタ株が蔓延して売るに売れない状態に陥ってしまいました。要するに損切り出来ない状態になりいわゆる塩漬け株になってしまいました。

自分の場合、その状態からプラスにかえったので直様、ANAの株は手放したのですが手放していなかったらカナリの損失を被っていたことは間違いありません。

因みに今、ANAやJALの株を買う人はこれから、コロナ終息することで値が上がる事を考えて買おうと思っている人が殆どだと思います。自分もそういう考えでANAの株を保有していたのですが、よくよく考えると以前と同じ価格には戻らないという考えに至りました。その理由はメタバースやリモートワークの普及によってコロナ以前には戻らないなという事です。日本だけを考えるとそうでもない気が今はしますが、世界的にはリモートワークやメタバースなどが熱くなってきています。

なので・・・ANAやJALの株を持つのは少々危険な気がしますよね、そう言っても買う人買うし買わない人は買わないですからね😌。

タグ

, ANA, JAL, いつ, うち, こと, これ, コロナ, タイミング, デルタ, , , , 保有, , , 全て, 去年, 坊主, 場合, 塩漬け, 売却, , 損切り, 損失, , , 最小限, 本当, , , 正解, 殆ど, 状態, 相場, 終息, 自分, 蔓延,

ANAの優待券を持っているのですが売るのもアレな具合の価格なんですが売りました。

2021.11.05

Logging

ANAの優待券を持っているのですが、コロナが影響してあまり株価が上がらないので先日、売りました。売って利益は多少入りましたが旅行関係の株は正直なところ、今持っておくのは危険だなと思っています。これから先に急激に上がるとは思えない。コロナが終息しても中々、黒字化は難しいじゃないのかと・・・それより、今伸びている株でコロナが終息しても伸びていくだろうという株を買っておいたほうが無難かなと思っています。

それは医療機器製造会社だったりオンラインショッピングの運営会社だったりするかもしれないですが、マスクを製造する会社ではないことは確かです。マスクはコロナが終息したら直ぐに値が下がると思っています。

これからワクチン接種を毎年のように打ち続けていく世界になるとは自分は思っていないですね。あるタイミングで恐らくクリスパー・キャス9のような技術を使用して、遺伝子組み換えを行いコロナを永遠に感染しないようになるのではないかなと思っています。

その理由は国々の経済的な負担が大きからです。そうなるのは、おそらく数年後の話になると思っています。数年後にはコロナを何らかの方法でウィルスを根絶させることが出来ているかもしれませんが・・・。

なかなか、今の技術では難しいじゃないのかと思います。今ある技術で出来そうなこととは、クリスパーキャスナインが有力じゃないかと・・・・。

まぁ・・・・そういう事でANAの話からクリスパーキャス9に変わりましたがANAの優待券の金券ショップの相場は1500円ぐらいのものです(2021年)、先を見通す力が欲しいこのごろです。。。

以上、現場からでした。

タグ

, ANA, アレ, オンライン, キャス, クリ, こと, これ, コロナ, ショッピング, スパー, それ, タイミング, ところ, マスク, ワクチン, 世界, 中々, , 会社, 使用, 価格, , 優待券, 先日, 具合, 利益, 医療, 危険, 影響, 感染, 技術, 接種, 旅行, , 株価, 機器, 正直, 毎年, 永遠, 無難, 終息, 自分, 製造, 運営, 遺伝子組み換え, 関係, 黒字,

クラウドワークス・ランサーズは稼げないは本当!?嘘!?

2021.04.28

Logging

クラウドワークスランサーズは稼げないは本当です。じゃ何故稼げないか?
安い単価を提案すれば仕事は取れますが、消耗するだけなので辞めておいた方が無難です。マトモな案件には募集する人も多く30?100人の中での競争になります、そうなると実績のない人は単価を安くしようと思って値を下げて何とか仕事を取ろうとします。そして結局仕事を取れても割りに合わない仕事になり、「何をやっているのだろうか」という事になりがちです。因みに自分はクラウドワークス・ランサーズとも案件を一つずつ仕事をして辞めました。辞めた理由は割りに合わないと強く思ったからです。副業の収入としては良いかもしれないですが、これを本業にするのは正直なところかなりの努力とメンタルが必要になります。

【クラウドソーシング】消耗せずに稼ぐための5つのポイント【失敗から学ぶ】

サイトウさんが解説している通り、クラウドソーシング利益の本柱しない事がオススメです。
ITエンジニアを目指している方へ
ITエンジニアを目指している方もそうですが、ITエンジニアって好きじゃないと恐らく続かない職業かと思います。この業界は日進月歩です、技術の進化をすごく影響を受ける職業です。なので、流行っているからITエンジニア目指している方はオススメしません。いま起きていることはあんまささんが個人開発アプリで稼いだ時の状態と同じです。いま現場がほしいのは経験豊富な技術者です。だから、中途未経エンジニアは大手企業も雇わなくなってきていますし、中小企業はそこらへんもっと厳しいと思っておいたほうが良いでしょう。

「個人でアプリを開発して稼ぐ」はもう無理ゲー

フルリモートが進むとコミュニケーション能力より技術があるかないかで判断されるようになると思います。これはIT業界だけの話です。他の業界がどうなるかはわからないですがIT業界は在宅ワークが進めばそうなると思います。またクラウドワークス・ランサーズはもう飽和状態ですので辞めた方が賢明です。逆に依頼する方は良いかなと思います。

追記:たまに小遣い稼ぎしています。

タグ

100, 30, IT, エンジ, エンジニア, おすすめ, かなり, クラウド, これ, サイトウ, ソーシング, ところ, まとも, メンタル, ランサーズ, ワークス, 一つ, , , , 仕事, , , 利益, 副業, 努力, 募集, 単価, 収入, , 多く, 実績, 必要, 提案, , , 本当, 本業, , 案件, 正直, 消耗, 無難, 理由, 競争, 自分, 解説, 通り,

Proofreading(校正)というリクルートが開発したAPIを使って。

2021.04.27

Logging

Proofreading(校正)というリクルートが開発したAPIを使って、今まで投稿した記事に誤字がないかを判別してもらった。因みに1000文字を超える文章は対象にならないのでワードプレスで取得した記事を900文字程度で切って判断してもらうことにしています。誤字があった場合、1を最大値として値が渡されるので、その平均値を取ればその文章の誤字率が判定できる。今回は平均値を取らず、最大値を判断材料として文章をスコア化しました。一応、判断した値をCSVで出力するプログラムをちょこちょこと制作したので参考にして頂ければ幸いです。正直なところ、ProofreadingのAPIが制度が良いのか疑わしいものがあるがAPIを取り扱うのが始めてという人は勉強になると思います?。

AI・機械学習と創る未来 – A3RT

ソースコードはこちらになります。

<?php
require "../../wp-load.php";
global $wpdb;

$proofreading = function($text=""){
	$url = "https://api.a3rt.recruit-tech.co.jp/proofreading/v2/typo";

	$params = [
		'apikey' => '取得したAPIKEY',
		'sentence'=>"$text",
		'sensitivity'=>"high"
	];
	$curl = curl_init($url);
	curl_setopt($curl, CURLOPT_POST, TRUE);
	curl_setopt($curl, CURLOPT_POSTFIELDS, $params);
	curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
	curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
	$response = curl_exec($curl);
	curl_close($curl);
	$obj = (object)json_decode($response);
	$score = 100;
	if($obj->alerts){
		$max = 0;
		foreach($obj->alerts as $key=>$val){
			$max = $max<$val->score?$val->score:$max;
		}
		$score = 100 - ($max * 100);
	}
	return $score;
};

if($argv[0]){
	file_put_contents("blogscore.csv","");
	$query = "SELECT * FROM $wpdb->posts WHERE post_status = 'publish' and post_type = 'post'";
	$results = $wpdb->get_results( $wpdb->prepare($query));
	foreach($results as $row) {
	   $id = $row->ID;
	   $title = $row->post_title;
	   $score = $proofreading(mb_strimwidth(preg_replace("/[\r|\n]/","",strip_tags($row->post_content)),0,900,"…"));
	   $str = "'$id'".",'".$title."',"."'$score'";
	   print $str.PHP_EOL;
	   file_put_contents("blogscore.csv",mb_convert_encoding($str."\n","SJIS","UTF-8"),FILE_APPEND);
	}
}

タグ

, 1000, 900, API, CSV, lt, php, Proofreading, quot, require, wp-load, コード, こちら, こと, スコア, ソース, ところ, プレス, プログラム, もの, リクルート, ワード, , 今回, , 出力, 判別, 判定, 判断, 制作, 制度, 勉強, 参考, 取得, 場合, 対象, 平均, 投稿, 文章, 最大, 材料, 校正, 正直, 記事, 誤字, 開発,

サブドメインをワイルドカードで割り付ける方法:熨斗(のし)

2020.11.15

Logging

サブドメインをワイルドカードで割り付ける方法を記載します。まず初期の設定としてAレコードを下記のように設定します。ドメイン名はご自分のドメイン名に変更ください。バリューも任意に設定ください。

*.example.com 123.123.123.123

次にVirtualhostsを下記のように設定します。%1の部分がサブドメインの値が入ってきます。これで出来上がりです。因みにSSL認証はどうするれば良いのかという人にヒントを記載します。「ワイルドカードSSL認証」などとググると方法が記載されているHPに行き当たると思います。そちらを試すと容易にワイルドカードのSSLも出来ちゃうですね?

<VirtualHost *:80>
  ServerName www.example.com
  DocumentRoot "/var/www/html/example.com"
  ErrorLog /var/log/httpd/example.com_error_log
  <Directory "/var/www/html/example.com">
    AllowOverride All
  </Directory>
</VirtualHost>
<VirtualHost *:80>
  ServerName example.com
  ServerAlias *.example.com
  VirtualDocumentRoot "/var/www/html/subdomain/%1"
  ErrorLog /var/log/httpd/sub.example.com_error_log
</VirtualHost>

案外簡単で拍子抜けひともいるかも知れないですが、これで何かのサービスを作ることは可能かと思いますよ。どうぞお試しあれ。

因みにexample.comというドメインは存在します、参考書や参考サイトなどで使われる「例えばサイト」は存在します。玄人志向の方はtestなどのドメイン名を使わずに上記のドメイン名を使用します。それには理由があるのです、察しがいい人は分かるかと思いますが、安全でないサイトへ飛んでしまったりする人がいるためです。あとダミー画像を生成したいのなら、Placehold.jpを使用すると良いですよ。運用しているのはソフテルという日本の会社です?

追記でSSL認証も書いときますね。Let’s Encryptでワイルドカード証明書の場合はこんな感じです。まず、certbotが入っているということが前提としてあります、無い場合はインストールしてください。まず最初に下記のコマンドを打ちます。ドメイン名は自分用に変えてください。

certbot certonly --manual \
-d *.example.com -m mail@example.com --agree-tos --manual-public-ip-logging-ok \
--preferred-challenges dns \

このような内容が表示されますので、TXTレコードの設定を行います。英語が分からなければコピペして翻訳アプリにかけてください。

_acme-challenge.example.com XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

TXTレコードが設定されたどうかの確認はMSDOSなどで下記のコマンドを打ちます。設定が完了された場合はVALUEの値が返ってきます。

nslookup -type=TXT _acme-challenge.example.com 8.8.8.8

上手く通ったあと、エンターを打ち次に進みます。上手くいくとpemが生成されましたよというメッセージが出るのでその階層をコピーします。コピーしたものを元にApacheのVirtualhostのconfigの設定を行います。こんな感じです。

<VirtualHost *:443>
  ServerName www.example.com
  DocumentRoot "/var/www/html/example.com"
  ErrorLog /var/log/httpd/example.com_error_log
  <Directory "/var/www/html/example.com">
    AllowOverride All
  </Directory>
  SSLEngine on
  SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
</VirtualHost>
<VirtualHost *:443>
  ServerName example.com
  ServerAlias *.example.com
  VirtualDocumentRoot "/var/www/html/subtaxi/%1"
  SSLEngine on
  SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
  ErrorLog /var/log/httpd/example.com_error_log
</VirtualHost>

タグ

, 123.123.123.123, 80, com, DocumentRoot, Error, example, gt, HP, html, lt, quot, servername, SSL, var, VirtualHost, Virtualhosts, www, カード, これ, ご自分, サブ, そちら, ドメイン, ドメイン名, のし, バリュー, ヒント, レコード, ワイルド, 下記, , 任意, , 初期, 変更, 容易, 方法, , 熨斗, 記載, 設定, 認証, 部分,

Twitterの名前、記号部分を天気予報のアイコン、夜は月のアイコンへと変更する。

2020.11.06

Logging

Twitterの名前の特定の記号部分(■や@部分)を天気予報のアイコン、夜は月のアイコンへと変更する。ある有名エンジニアさんのアイディアを拝借して作りました、autoloadとnamespaceの関係で手詰まり、試行錯誤して解決、その次に命名の間違えで手詰まり。そしてファイルの参照で手詰まりしてやっとリリースしました?、長かった。

使用方法はdefineにそれぞれの値をいれてコマンドから定期的に実行すればよいという品物です。Composerでインストールしている環境で下記のコマンドでパッケージをインストールしてください。

パッケージの開発部分は白紙です、今後、この機能に関してはバージョンアップするつもりはないです。

プログラムに改善の余地はありですが、はじめてパッケージ使ったので疲れました?以上、現場からでした。

https://packagist.org/packages/zip358/tw_name_change
https://github.com/zip358/tw_name_change

defineの補足

  • OPENWEATHERMAPのAPI_IDが必要です(ユーザー登録が必要です)。
  • Twitter API 登録しCONSUMER_KEYなどのキーが必要です。
  • Twitterのユーザー名が必要です(自分)。
  • KENNOは下記のテーブルを参照ください。
  • KIGOUは置き換える文字です。

※正規表現に使われている記号は使用できません。

composer require zip358/tw_name_change
php  Twitter_name_change.php
if($argv[0]){
	require './vendor/autoload.php';
	use zip358\tw_name_change\tw_name_chg;
	define("KIGOU","■");
	define("KENNO","KENNO");
	define("TIME_ZONE","TIME_ZONE");
	define("OPENWEATHERMAP_API_ID","Openweathermap_api_id");
	define("USER_SCREEN_NAME","user_screen_name");
	define("CONSUMER_KEY", "CONSUMER_KEY");
	define("CONSUMER_SECRET", "CONSUMER_SECRET");
	define("ACCESS_TOKEN", "ACCESS_TOKEN");
	define("ACCESS_TOKEN_SECRET", "ACCESS_TOKEN_SECRET");
	$tw_name_change = new tw_name_chg();
	$tw_name_change->main();
}
KENNO県名
0北海道
1青森県
2岩手県
3宮城県
4秋田県
5山形県
6福島県
7茨城県
8栃木県
9群馬県
10埼玉県
11千葉県
12東京都
13神奈川県
14新潟県
15富山県
16石川県
17福井県
18山梨県
19長野県
20岐阜県
21静岡県
22愛知県
23三重県
24滋賀県
25京都府
26大阪府
27兵庫県
28奈良県
29和歌山県
30鳥取県
31島根県
32岡山県
33広島県
34山口県
35徳島県
36香川県
37愛媛県
38高知県
39福岡県
40佐賀県
41長崎県
42熊本県
43大分県
44宮崎県
45鹿児島県
46沖縄県

タグ

autoload, Composer, define, https, namespace, org, packages, packagist, Twitter, zip, アイコン, アイディア, アップ, インストール, エンジニア, コマンド, それぞれ, つもり, バージョン, パッケージ, ファイル, プログラム, リリース, 下記, 予報, 今後, 余地, 使用, , 参照, 名前, 命名, 品物, 変更, , 天気, 実行, 拝借, 改善, 方法, , 有名, 機能, , 特定, 現場, 環境, 白紙, 解決, 記号, 試行錯誤, 部分, 開発, 関係,

ECサイトのBASEショップを独自ドメインに!

2020.09.21

Logging

ECサイトのBASEショップを独自ドメインにする方法を書いていきます。まずはお名前ドットコムでドメインを取得します。下記の動画で解説していますのでそちらを参照ください。もし動画のリンクが切れていた場合、YOUTUBEで『お名前.com ドメイン取得』などとググってみてください。ドメインの購入方法が説明されている動画があると思います。

お名前.comのドメイン取得方法【Whois情報公開代行に注意】

次にドメインが所得したあと、DNSの設定よりサブドメイン、『wwwか任意の名(shopなど)』ドメインのサーバ住所(在処)をBASEショップのサーバ住所に変更しなくてはならない為、ブルダウンメニューからCNAMEレコードを選択し『cname.thebase.in』と入力する必要があります。また左端の入力部分にはサブドメイン名を入力してください。

下記の画像を参照してください、手順を参考にしてサブドメインとCNAMEの値を設定し設定ボタンを押してください。(設定する値はwwwか任意のサブドメイン名となり、CNAMEの値はcname.thebase.inになります。)

最後にBASEサイトにログインし上記で設定したサブドメイン(wwwか任意の名(shopなど))を下記の動画を見本に申請してみてください。申請後、数時間で独自ドメインがECサイトで表示されている事が確認できると思います。

ECサイトbaseを独自ドメインに!

タグ

base, CNAME, com, DNS, EC, in, shop, thebase, www, youtube, あと, サーバ, サイト, サブ, サブド, ショップ, そちら, ダウン, ドットコム, ドメイン, ドメイン名, プル, ボタン, メニュー, リンク, レコード, 下記, 任意, 住所, , 入力, 動画, 参照, 参考, 取得, , 名前, 在処, 場合, 変更, 左端, 必要, 所得, 手順, 方法, , 画像, 解説, 設定, 説明, 購入, 選択, 部分,

JavaScriptのPromise例えが分からない人のために。

2020.06.06

Logging

自分は『Promiseってなんやねん、わからんわ。』という人でした。皆さん賢いので複雑怪奇なコードで教えてくれていて…わかんない。
Promiseって非同期処理にするための道具です。Promiseって書いてその中に非同期処理の内容を書いてあげる。値を戻したい場合は命名した名前のカッコの中に値を返してあげれば良いが!!、どうも渡せる値は一つだけなのだ。

ちなみにthen(その後)で、非同期処理が終わった後にする処理が書けるですね(´・ω・`)。thenの中に非同期処理の値も返ってくる‥但しひとまとめで、、そんだけの話。またエラーになった時の処理も対応できるってさ…、そしてチェーン(数珠繋ぎ)の様に書くことも可能です、ここではそれらは割愛しますね?。

ちなみに最初、asyncとawaitと混合していて悩んでおりました。asyncとawaitは対になっていると同じような感覚でPromiseとthenは対になっていると考えてください。あまり複雑怪奇に考えずサンプルコードを動かして出来るできないを判断した後に賢い人が書いたリファレンスなどを読むことをオススメします。

最後に単純なソースコードとコンソールの結果を載せときますね。

"use strict";
var a = 0;
const q1 = new Promise((zaru)=>{//zaru...名前付けは何でも良い(予約されているものでなければ
	a++;
	zaru(a + "1..");//データをまとめて返す
});
const q2 = new Promise((zaru)=>{
	a++;
	zaru(a + "2..");
});
const q3 = new Promise((zaru)=>{
	zaru("3~~~~n");
});
const qdaaaaaaaa = new Promise((zaru)=>{
	zaru([1,2,3,"Dahahaha!!"]);
});
Promise.all([q1,q2,q3,qdaaaaaaaa]).then((val)=>{
	console.log(val);
 }
);
qdaaaaaaaa.then((val)=>{
	console.log(val);
});
Array(4) [1, 2, 3, "Dahahaha!!"]
move.js:26
length:4
__proto__:Array(0) [, …]
0:1
1:2
2:3
3:"Dahahaha!!"
Array(4) ["11..", "22..", "3~~~~n", Array(4)]
move.js:21
length:4
__proto__:Array(0) [, …]
0:"11.."
1:"22.."
2:"3~~~~n"
3:Array(4) [1, 2, 3, …]
length:4
__proto__:Array(0) [, …]
0:1
1:2
2:3
3:"Dahahaha!!"

タグ

async, await, javascript, Promise, then, エラー, かっこ, コード, ここ, こと, それら, そん, ため, チェーン, なん, ひとまとめ, 一つ, , , 但し, , 内容, 処理, 割愛, 可能, 同期, 名前, 命名, 場合, , 対応, , 感覚, 数珠繋ぎ, , 最初, 混合, 皆さん, 自分, , 道具,

googleスプレッドシートの値を取得することは可能ですが!

2019.11.24

Logging

googleスプレッドシートの値を取得することは可能ですが動的な値を取得することは不可能です。
動的処理というのはスプレッドシートの関数などで値を表示している情報をPHPなどで外部取得することは不可能です。

【Google神関数】生産性が100倍上がる!スプレッドシート4つの便利関数はこれ!

※方法があるようでしたら、教えて頂ければありがたいです。

なお、PHPからスプレッドシートの値などは変更可能です。
今回は値の取得に関しての方法を記載しております。

手順
1.グーグルさんからグーグルスプレッドシートのAPIKEYを取得する。
2. グーグルスプレッドシートを作成しスプレッドシートのID部分を取得する。
3.サーバ上にComposerをインストールし、下記のコマンドを実行する。

composer require google/apiclient:"^2.0"

下記のソースのAPIキー、スプレッドシートIDの部分を取得した値に置き換える。

<?php
require_once __DIR__ . '/vendor/autoload.php';
//$keyFile = __DIR__. "/credentials.json";
define("APIKEY","APIキー");
define("SPID","スプレッドシートID");
$spreadsheetId = SPID;
$range ="Sheet1!A1:B123";
$client = new Google_Client();
$client->setApplicationName("Spreadsheet");
$client->setDeveloperKey(APIKEY);
$scopes = [Google_Service_Sheets::SPREADSHEETS];
$client->setScopes($scopes);
$service = new Google_Service_Sheets($client);
$response = $service->spreadsheets_values->get($spreadsheetId, $range);
// TODO: Change code below to process the `response` object:
echo '<pre>', var_export($response->getValues()), '</pre>', "n";

結構ハシオッタ説明になりますが、こちらでGoogleスプレッドシートの値を取得または操作が可能となります。

タグ

, 2, 2.0, , 4, 5, A`, apiclient, APIKEY, com, Composer, et, fCs, Google, https, ID, php, quot, require, watch, www, youtube, インストール, グーグル, こと, コマンド, サーバ, シート, スプレッド, ソース, 下記, 不可能, 今回, 作成, , 処理, 取得, 可能, 変更, 外部, 実行, 情報, 手順, 方法, 表示, 記載, 部分, 関数,

内容まで¥r¥nで書かれたCSVコードを整形する簡単な方法。

2019.10.19

Logging

内容まで¥r¥nで書かれたCSVコードを整形する簡単な方法。
CSVの内容まで¥r¥nで書かれているとプログラム(PHP)で読み込みが
とても面倒くさいなので、自分は手っ取り早い方法で整形を行いました。
まずCSV編集専用のソフトか何かでファイルを開いてください。
おそらく正しく読み込まれると思います。次に
列の最後に新たに列を追加しCSVで使用されていないユニークな文字を
記入して行端まで値を入れて再度保存してください。
次にエディターでCSVを開き、全ての¥r¥nを¥nに置き換えます。
次に列の最後につけた、ユニークな文字を¥r¥nに置き換えます。
こうすることにより列の終端を探すなどのコード書かなくても
explodeなどで取り出すことが可能です。
但し容量が多いG(ギガ)単位のCSVファイルには通用しません。
その場合、CSVファイルを分離するか、
プログラムで何とかするかになります。

以上、小技テクニックでした。
 

タグ

CSV, explode, php, エディター, ギガ, コード, こと, ソフト, ファイル, プログラム, ユニーク, 但し, 何か, 使用, 保存, , 全て, 内容, 再度, 分離, , 単位, 可能, 場合, 容量, 専用, 整形, 文字, 方法, 最後, 簡単, 終端, 編集, 自分, 行端, 記入, 追加, 通用,

完全自動運転の車が低価格で発売されたら。

2019.04.07

Logging

 
https://www.youtube.com/watch?v=3XB-ygEJ93A
グーグルはおそらく高級車からの販売は望んでいないだろう。
なぜなら、自動運転車で覇権を握りたいから、なのでおそらく既存の車と
同じぐらいの値で販売されるのではないだろうか?
完全自動運転の車に乗るのが恐いなどと思っている人も
最終的には完全自動運転の運転に乗る時代になるだろう。
自動運転車に乗る人が増えれば増えるほど
事故は起こらなくなる。
当たり前の話だが、事故を引き起こしているのは
車を操縦しているひとが起こしているのだから、ひとが
自分達の決めたルールを守れば事故はいまでも
事故は起こらなくなる。
普及の鍵は低価格だと思っています。
そんなこと誰もが承知なのでですが、企業に体力がないので
ほとんどの企業はそんな低価格の完全自動運転のカーを
販売できないだろうけれど、グローバル企業は
それが出来る体力がある。
 

タグ

, 93, com, nbsp, XB-ygEJ, youtube, いま, カー, グーグル, グローバル, こと, ソレ, ひと, ほとんど, ルール, 事故, , 企業, 体力, 価格, , 完全, 当たり前, 承知, 操縦, 既存, 時代, 普及, 発売, 自分, 自動, 覇権, , , 販売, , 運転, , 高級,

非同期通信の2重ループは素人にはオススメしません。

2016.03.20

Logging

非同期通信の2重ループは素人にはオススメしません。
そして、2重ループでなおかつ、再帰処理だったら・・・
まさにややこしくなる事間違いないのでオススメ度は限りなく低いですね。
ただ、こういう事も出来ることを覚えていると
何かの役に立つことは間違いないです。
ちなみに再帰処理は、いろいろな言語で可能ですので
技として覚えていて損はないです。
再帰処理を追う方法はループせずに見るという
感覚を養うことが大事だと思います。
ようするに再帰処理を抜け出すひとつ前の値で
トレースすることが大事だと思われます(´Д`)。
ちなみに非同期通信の場合、非同期ですので
返ってくる順番はめちゃくちゃです。
何か番号を振って処理しないと、
うまく処理されないという事になるのでそこらへんも注意して組み立ててください。

追記2021:今では古くなったコードになったのでソースコードを削除致しました。
ただ、考えは間違っていませんがJSも進化して非同期処理も簡単に組み込めるようになりました。
これも時代の流れですね。async/await、promiseというキーワードでググってみると非同期処理の説明が書かれたサイトがありますのでそちらを参考に!!

https://qiita.com/_takeshi_24/items/1403727efb3fd86f0bcd

タグ

2, 2021, JS, いろいろ, おすすめ, コード, こと, ソース, そこら, トレース, ひとつ, べん, めちゃくちゃ, ループ, , , 何か, , 再帰, 処理, 削除, 可能, 同期, 場合, 大事, , 感覚, , , 方法, 注意, 番号, 簡単, 素人, 言語, 追記, 通信, 進化, 順番,

(´ι _` )アッそうなんだそうなんだ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, アッ, これ, バイド, ファイル, メソッド, メモ, もうひとつ, もの, , , , 便利, , 判断, 削除, 場合, 対応, 少し, 必要, , , 自分, 言語, 配列, 関数,