文字数カウントは奥が深いよ。日本語より𓅇エジプト😇 #javascript #code #プログラミング #unicode

2022.10.05

Logging

おはようございます、先日(日曜日のこと)は久しぶりに本屋さん巡りしていました😋。本屋📖は良いですね落ち着きます。

さて、文字コードのカウントは奥が深いなって話を記載していきます。人目線からすれば文字をカウントするという至って簡単な話にですが、PC(コンピューター)にとっては奥が深いです・・・日本語漢字も面倒だけどエジプト系の象形文字系(unicode)は本当に面倒そうです。まだ、作りかけですがツイッターの用な文字コードのカウントするjavascriptコードを書きましたのでサンプルコードとしてご使用ください

※WindowsOSの環境下でChromeブラウザ動作させ検証しました。コピペ文字には対応していません😇。UTF-8 ではない違う文字コードを貼り付けてみてください、変なことになると思います😂。例えばEUC文字コードだとか・・・。

動作サイトはこちらです。

        function moji(o) {
            let m = o.nextElementSibling;
            //ads
            let h = ((o) => {
                let l = o.value.match(/(https?:\/\/[a-z|A-Z|0-9|\-|_|%|\.|\/]{0,})/giu);
                let ml = l ? ((l) => {
                    return sum = l.reduce((s, e) => {
                        return s + e.length;
                    }, 0);
                })(l) : 0;
                return l ? {
                    len: (l.length * 23),
                    mlen: ml
                } : {
                    len: 0,
                    mlen: ml
                };
            })(o);
            //zenkaku            
            let k = ((o) => {
                let l = o.value.match(/[^\x20-\x7e]/giu);
                let ml = l ? ((l) => {
                    return sum = l.reduce((s, e) => {
                        return s + e.length;
                    }, 0);
                })(l) : 0;
                return l ? {
                    len: (l.length * 2),
                    mlen: l.length
                } : {
                    len: 0,
                    mlen: ml
                };
            })(o);
            m.innerHTML = "【 " + (o.value.length + h.len - h.mlen + k.len - k.mlen) + "文字{半角/280} 】";
            if ((o.value.length + h.len - h.mlen + k.len - k.mlen) >= 280) {
                m.innerHTML = "<span class='text-danger'>【 " + (o.value.length + h.len - h.mlen + k.len - k.mlen) + "文字{半角/280} 】</span>";
            }
        }
                    <label for="my-textarea" class="h3">文字を入力してください。</label>
                    <textarea id="my-textarea" class="form-control" oninput="moji(this);" name="" rows="3"></textarea>
                    <span class="h3"></span>

尚、サンプルコードは1バイトを一文字としてカウントしていきます、そしてURL文字はどんなに長くても23文字にカウントされます、これはTwitter社の仕様と合わしています。URL文字はURL短縮が行われ23文字の短縮URLが生成されるからその様にカウントしているのですが、なんか本物と違うですよね挙動が・・・🙇‍♂。因みに絵文字がどのようにカウントされるかは確認していません。

UTF8では絵文字(unicode)を3バイトで表記させているそうです。昔、UTF-8は2バイトで表現しているとか習っていたのですが、それはカナリ古い知識だったみたいです😇。

タグ

8, Chrome, Code, EUC, javascript, PC, Unicode, UTF-, WindowsOS, エジプト, カウント, コード, こと, コピペ, コンピューター, サンプル, ツイッター, ブラウザ, プログラミング, 久しぶり, 人目, 使用, 先日, 動作, , , 対応, , 文字, 日曜日, 日本語, 本屋, 本当, 検証, 漢字, 環境, , 簡単, 記載, , 象形, 面倒,

Twitter創業者ジャック・ドーシーだけど質問ある?WIREDの動画。

2022.07.04

Logging

おはようございます。

Twitter創業者ジャック・ドーシーだけど質問ある?」WIREDの動画が結構、良質だな。とは言ってもイーロン・マスク氏の買収提案でジャック・ドーシー氏、会長を退いたからこれから、Twitterの開発に指示は出せないだろうけど、いろいろな機能はそのうち、リリースされそうですね。

Twitter創業者だけど質問ある? | Tech Support | WIRED.jp

エモーション(感情)の表現が豊かになるにはフェイスブックの用にエモーションアイコンが必要だろうきっと、その方が情報分別しやくなるし、利益とも結びやすくなるじゃないかなって思います。ツイ廃の人には今後、どんな機能が実装されるかわかるのでWIREDの動画は価値あると感じました。

タグ

96, com, https, t-vRqhtI, Twitter, watch, WIRED, www, youtube, アイコン, イーロン, いろいろ, うち, エモーション, これ, ジャック, つい, ドーシー, なるし, フェイスブック, マスク, やく, リリース, , 今後, 会長, 価値, 分別, 利益, 創業者, 動画, 実装, 必要, 情報, 感情, 指示, 提案, , 機能, , 良質, 表現, 買収, 質問, 開発,

欲しい物リスト。

2020.06.22

Logging

マックブックプロ(MacBook Pro)です、アプリ開発するときにios用のアプリをリリースさせる方法の最短なルートはアップル製品を手元に持つことだと思います。そういう事もあってこれが欲しい。SSD1Tバイトすると20万円します。これにWINDOWSのOSも入れる事が可能なのでこれで良い感じです。

次に曲面ディスプレイです、これともうひとつ、ディスプレイを添えれば自宅で作業するときは十分かと思います。この利点は動画編集するときに良さが出るらしい(タイムライン?が見やすくなる)

これも欲しい昇降デスクです、この頃長時間、デスクの前に座るとお腰が痛くなり始めたのでやはりデスクの高さが自動で調整できるデスクは良いなと思います。これがあれば立った状態でも作業ができるみたいなのでその日の気分によって調整できるのは良いですねということです。

そしてこれもデスクトップ周りだけど、これも欲しいものです。デスクトップをスッキリさせるにはこれが必要ですね。

あと自分は新しいマックブックプロを購入したら自宅で作業するときはWINDOWS10と切り替えて作業することがあるのでこれが必要ですね。これが2個(ディスプレイが2つの場合)必要になるけどね。

上記のものを全て揃えたいというのが目標だったりします。これがあればかなり快適な作業ができると思います。全て揃えたら30万円超になります。まぁ揃えるつもりですけど・・・。

タグ

, 20, iOS, MacBook, OS, Pro, SSD, Windows, アップル, アプリ, こと, これ, タイムライン, ディスプレイ, デスク, デスクトップ, とき, バイド, プロ, マックブック, もうひとつ, もの, リスト, リリース, ルート, , , 作業, 利点, , 動画, 可能, 周り, 感じ, 手元, 方法, , 昇降, 曲面, 最短, 気分, , 状態, , 編集, , 自動, 自宅, 製品, 調整, 長時間, 開発, ,

js初心者さんのお勉強:思いつき写経。

2020.06.01

Logging

js初心者さんのお勉強をvlogとして昨日撮りました。もっと簡略化できることはあるのだが、敢えてやらない自分がいます。自分のモットーに初心者さんでもわかるコードをという考えがあります。初心者さんに分かりやすいと言うことは馬鹿な自分にも分かりやすいという事です。ぱっと見て読みやすければ良いという事です。javascriptを本当に1から勉強中なんですね。本当に右も左も分からないのでググりながらお勉強しています。知らないと言ってもプログラミングの基本は知っているのでJS用の書き方やお作法を覚えているというような感じです。

https://www.youtube.com/watch?v=9q6gd5FDelQ

ソースコードはこちら

let btn1 = function (e) {
	//btn2
	console.clear();
	console.log("btn1");
	let p = document.getElementsByTagName("p");
	let style1 = [["backgroundColor", "fontSize", "color"], ["#000000", "20px", "#ffffff"]];
	for (const key in p) {
		if (p.hasOwnProperty(key)) {
			const element = p[key];
			for (var i = 0; i < style1[0].length; i++) {
				element.style[style1[0][i]] = style1[1][i];
			}
		}
	}
};
let btn2 = function (e) {
	//btn2
	console.clear();
	console.log("btn2");
	let p = document.getElementsByTagName("p");
	let style2 = {
		backgroundColor: "#ffffff",
		fontSize: "20px",
		color: "#000000"
	};
	for (const key in p) {
		if (p.hasOwnProperty(key)) {
			const element = p[key];
			for (const key2 in style2) {
				element.style[key2] = style2[key2];
			}
		}
	}
};
document.body.style.backgroundColor = "#0b222b";
document.getElementById("btn1").addEventListener("click",btn1);
document.getElementById("btn2").addEventListener("click",btn2);

デモページ
https://zip358.com/tool/demo17/

タグ

, 2, btn, Clear, console, document, function, getElementsByTagName, javascript, JS, let, log, quot, Vlog, お勉強, コード, こちら, こと, ソース, プログラミング, モットー, , 作法, 写経, 初心者, 勉強, , 基本, , 思いつき, 感じ, 昨日, 書き方, 本当, , 簡略, 自分, 馬鹿,

R-PlayアプリでPS4用リモートプレイが外出先でも出来ちゃう神アプリ!

2020.01.21

Logging

R-PlayアプリでPS4用リモートプレイが外出先でも出来ちゃう神アプリがios用にあります。これはとても良い感じがしますがセキュリティの事が心配という方は公式アプリが外出先に対応するまで待つかプレイステーションVITAを購入してそれを使いプレイする方が良いかと思います。

iphoneでPS4のゲームをしよう!!R-playの使い方とコントローラーの設定の仕方解説!!

ちなみに外出先からプレイするためにはDMZ(非武装地帯)の設定が必要になります(厳密にはポート開放じゃないだけどね)。そしてモデム兼ルーター機能のあるものにルーターを繋いでいる場合は、ルーターをブリッジモードに変更する必要があります。変更しすると今までIPアドレスが変わるため固定IPアドレスで設定していた機器は再設定が必要になります。ネットワークに詳しい人に設定してもらう事をオススメします。

たった3分で出来るポート開放!!実践編

尚、 R-Playアプリは有料アプリで1400円します、VITAを購入するよりは安いですよね。ちなみに中古のVITAは8000円?9000円します。ちなみに自分はこの神アプリを昨日、知りました。

【VITA×PS4リモートプレイ】外出先の無線Wi-Fiでリモートプレイが遊べるのか!?

R-PLAYアプリは下記を参照ください。

※注意:外出先で2時間40分ぐらいプレイすると1G(ギガ)ほど通信量が発生するそうですよ。使い放題のパケじゃないと厳しいかも気をつけましょう。

https://apps.apple.com/jp/app/r-play-ps4%E7%94%A8%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%83%97%E3%83%AC%E3%82%A4/id1222889057

追記:iosでもPSの純正アプリでリモートプレイ出来るようになりました。

https://www.playstation.com/ja-jp/remote-play/

タグ

1400, 4, DMZ, iOS, IP, PS, R-Play, VITA, アドレス, アプリ, おすすめ, これ, セキュリティ, それ, ため, ネットワーク, ブリッジ, プレイ, プレイステーション, ポート, モード, モデム, もの, リモート, ルーター, 中古, , , 公式, , 固定, 地帯, 場合, 変更, 外出, 対応, 心配, 必要, 感じ, , 有料, 機器, 機能, 武装, , , 設定, 購入, 開放,

動画を無音声に変換するバッチ

2019.09.28

Logging

こらからプログラムしている所のVlogを撮ろうと
月曜日に、WEBカメラを新調しました。
いざ撮影してみると部屋の雑音などが入ってしまうので
音声カットする方法は無いのかなと
フリー編集ソフトをググっていたのだけど
フリーの動画編集ソフトは動画の最初に開発会社のロゴが
表示されるものが多くて何だかやだなーと思い
断念、よくよく考えると自分プログラマーじゃないかということを
思い出しffmpegの存在を思い出して、、、。
ffmpegで無音声で検索すると音の切り離しができる事を知り
バッチを作る事が出来たのでその方法をおすそ分け。
Windows用のffmpeg(解凍したフォルダffmpeg)がC:の直下に入っているとした場合の
バッチです、尚、解凍したフォルダはffmpegに名前変更済とします。
下記のコードをテキストファイルにコピーしてその後、拡張子をbatと変更し
お使いください。動かない場合、下記のプログラムを正しく理解するか
知り合いのIT関係者にヘルプしたら大体の方はわかると思います。
※環境変数には登録していないのでexeにパラメータを渡します。

@echo off
set /P INMP4="動画ファイル名(絶対パス)を入力ください"
set /P OUTMP4="出力動画ファイル名(絶対パス)を入力ください"
cd C:ffmpegbin & ffmpeg.exe -i "%INMP4%" -vcodec copy -an "%OUTMP4%"
echo "complete"

 
無事、無音声の動画に音楽をYOUTUBEで付与することが出来ました。
https://www.youtube.com/watch?v=0-0FH3iaEP4

タグ

Bat, ffmpeg, Vlog, web, Windows, おすそ分け, お使い, カット, カメラ, コード, こと, コピー, ソフト, だなー, テキスト, バッチ, , ファイル, フォルダ, フリー, プログラマー, プログラム, もの, ロゴ, 下記, , 動画, 名前, 場合, 変換, 変更, 存在, , , 拡張子, 撮影, 断念, 新調, 方法, 最初, 月曜日, 検索, , 直下, 編集, 自分, 表示, 解凍, 部屋, 開発, 雑音, , 音声,

自動運転車のブレイクスルーは必ず起きる。

2017.09.07

Logging


自動運転車のブレイクスルーは必ず起きると自分が予言しても
あまり納得する人はいないかもしれないけれども、これは必ず起きる事です。
おそらく誰かが今の自動車を安価な方法で自動運転車に改造できる
マニュアルをオープンに提供することになるのではないだろうか、もしくは
グーグルが今までの技術をオープンで提供する可能性は無いとはいえない。
グーグルかテスラが完全自動運転を2025年までには実現できるのではないかと
思いますが、この技術をオープンで提供しない限り、急速に自動運転車が普及する事は
ないだろうから、アンドロイドの用にグーグルはオープンでベースの技術を提供するのでは
ないだろうかと思っています。
ちなみに自分のように自動運転車を待ちわびるひとは少ないらしい。
殆どのひとは自動運転車は恐いなどの印象を頂いているそうです、自動運転車になれば
安価な方法で遠出が可能になるということが自分にとっては、かなりお得感があり
今から自動運転車が待ち遠しい。皆が自動運転車に乗るような社会になれば
渋滞モノからは解消されるだろう。もしかしたら信号というものがなくなるかもしれない。
グーグルやテスラがブレイクスルーを起こさなくても
必ず誰かがブレイクスルーを起こすだろうと、その確率はかなり高いと
自分は思っています。
 

タグ

2025, アンドロイド, オープン, お得感, かなり, グーグル, こと, これ, スルー, テスラ, ひと, ひとは, ブレイク, ベース, マニュアル, 予言, , , , 印象, 可能, 可能性, 安価, 完全, 実現, 急速, 技術, 提供, 改造, 方法, 普及, 殆ど, , , 社会, 納得, 自分, 自動, 自動車, 誰か, 運転, 遠出, 限り,

AMP (Accelerated Mobile Pages)HTMLしなさいと勧められる。

2017.07.12

Logging

AMP (Accelerated Mobile Pages)HTMLしなさいと勧められるので
WordPressのAMPを導入しました。
さて、「AMPってなんでですかー?」って事だけど
簡単に言えばグーグルが進めているモバイル(スマホ)の表示速度を
改善させるあらたなHTMLなどの記述を指すみたい。
ちなみにアクセルレイテッド モバイル ページと読むそうですよ。
アクセルレイテッドとは加速を意味するものだとか、、。
ほぼHTMLとCSSだけしか許さないので
当たり前のごとく表示速度は速いですが、javascriptの記述に
制限があるので、殆どのWordPressのプラグインjsは動かないと
言っても良いです。
※ちなみにAMPに広告を表示させたい場合などは
プラグインを若干、編集しないといけない場合があります、
また、そのままJSをコピペで貼っても表示されないので
AMP用の記述などが必要になりますが、恐らくAMPじわじわ浸透していく
だろうなぁと感じます。最終的にJSなどがサーバサイドで動かすように
なるじゃないのかなぁと思っています(今はクライアント側で動いているけど)。

Intro to AMP (Accelerated Mobile Pages)

タグ

Accelerated, amp, css, html, javascript, JS, mobile, Pages, WordPress, アクセル, カー, グーグル, コピペ, じわ, スマホ, テッド, プラグイン, ページ, もの, モバイル, レイ, , 制限, 加速, 場合, 導入, 広告, 当たり前, 必要, 意味, 改善, 殆ど, , 簡単, 編集, 若干, 表示, 記述, 速度,

プレイステーション5というハード(機器)は存在しなくなる?

2016.09.01

Logging


プレイステーション5という機器は存在しなくなると自分は思っています。
2週間前ぐらいにプレイステーション3のソフトをウィンドウズ上でプレイできるようになると発表したソニー、このまま行けばウィンドウズやMac上などで動作する環境を提供する用になるのではないかと。
もしくはPlayStation5が最後のハードになりそうな予感がします。
9月7日の発表によりPlayStation4でハードは終わり(生産終了)になりPlayStation5というハードは、発表されなくなりクラウド上でプレイできるPlayStation Nowが主流になるのではとか言う発表がされると、凄いですけど恐らくそうはならない。
もし、そうなればPlayStation Nowという動作環境下(PS4、3がプレイ可)で月々980円ぐらいでソニーはプレイ場所を提供するか、ソフトのDL販売で行うかなと思っています。あくまでも予想ですので外れる場合があると思いますが、いずれそうなる可能性が高いとも思っています。

タグ

2, , 4, 5, 7, , 980, DL, Mac, Now, PlayStation, PS, ウィンドウズ, クラウド, ソニー, ソフト, パート, プレイ, プレイステーション, , 主流, 予想, 予感, 動作, , 場合, 場所, 存在, 提供, 最後, 月々, 機器, 環境, 生産, , 発表, 終了, 自分, 販売,