SQLの窓 イラストAC フリー素材

2018年10月13日

Google プラス が 2019 年 8 月に終了するので、Facebook でグループ作ったら、新しいアカウントが『使えません』という症例が多々発生

Google +は、確かにたいして役に立っていたわけでは無いんですが、授業中の情報の共有や、遅刻・欠席の連絡方法としてスマホから簡単にアクセスできる方法の一つとして使ってたわけです。だから来年に無くなるんならグズグズ今使う意味は全くないのです。

要するに、クローズドのコミュニティとして利用していたので、Facebook にある『グループ』を利用してみようかと試したんですが、たった一日で玉砕しました。

そもそも Facebook はプログラマ向きでは無い

まあ文面だけの意味というよりも、正直我々は『使わない・使う必要性を感じない』です。自分としては、あんなにも知らない人々の顔がはっきり出回る世界に寒気がします。あと、言えないけどいろいろ Facebook のシステム的にも頭に来てます。大人の世界の『世間』としての交流には意味あるのは理解していますが、別に広報でもなけりゃ、広告塔でも無いので使いみちがさっぱりです。

で、グループ作ったらアカウント持って無い学生が新しく作って登録したら、1日経ったら『使えません』というアウントに成り下がります。以前から持っていたアカウントでも、久しぶりに使うとそうなるような感じのものもありました。とにかく、2回もアカウントが使えなくなる学生が発生した時点でやめました。

アホらしい。

で、その学生の希望で Slack に変えたわけですが...


初めて使った日から、Windows Update でトラブル

おいおい。先月救急車で入院して1日に退院したばかりなのに。なんで次から次から良くわからん事で授業が邪魔されるんだろう。

Windows 10 Update (1803/1809) + HP製のPCで HpqKbFiltr.sys が原因で WDF_VIOLATION が起こり、BSOD(ブルースクリーン)が発生する深刻な不具合の対処方法

この対応ログを Slack に書いたりして、まあ、スニペットでソースが書けるしこれでなんとかなるとは思うのですが、スマホがアプリでしかスレッド見れなかったので、実運用はこれから確認して行きます。

ちなみに、最初に作られてて消せないチャンネル名は、最後に表示したいので『鸞らん』としました。


あと、どうでもいいアクティビティを削除するのが面倒です。







posted by at 2018-10-13 19:15 | Google | このブログの読者になる | 更新情報をチェックする

2015年11月06日

ブログが国別の URL にリダイレクトされる

ブログが国別の URL にリダイレクトされる

Blogger のヘルプにこんなのがありますが、全くヘルプになってないような。殆ど使って無いブログだけれど、確かに調査すると、最後のドメインが .ie で表示された形跡がありました。アドレスバーに入力すると、確かに表示される。

調べてみると、3年くらい前に .com が .jp にリダイレクトされるとして問題になってたらしいですね。とりあえず、今やってみると .com でも .jp でも .ie でも表示されます。

というか、.ie(アイルランド) というドメインがあるのを初めて知りました。Microsoft が喜びそうですね、単純に。

おっと

いろいろ確かめないと解らないものです。Blogger で二つテストブログがあるのですが、片方は .jp にリダイレクトされて、片方は .com のままで表示されます。タイトルが日本語かそうでないかぐらいしか違い無いんですけど・・・。

それと、.ie でアクセスするこんなの表示されます
このサイトでは、サービスの配信、広告のカスタマイズ、トラフィックの分析に Google の Cookie を使用しています。サイトの使用状況に関する情報は Google と共有されます。このサイトを使用すると、Cookie の使用に同意することになります。
ほんと、何の役にも立たないですね
posted by at 2015-11-06 13:28 | Google | このブログの読者になる | 更新情報をチェックする

お客様の広告コードは過去 7 日間で、承認していないウェブサイトに何度も表示されました。うーーん。何で最近急に。

Microsoft と言い、Google と言い、内容の把握には苦労します。たしかに、ありえる事なのでそのたびにいろいろチェックしてたのですが、最初から提示してたのですね?

気がつきませんでした。自分で設定したとばかり思い込んでましたが、よくよく見ると『webcaches』とあるではありませんか。たぶん最近自信を付けてきて、「無効なものは僕らが判断するから安心して許可しなさい」と言われているんだろうな・・・とは思います。パンダやペンギンは表に見える一部の事実なんですよね、そうですよね、解ります。

解るけど、許可しない

わたくしは、曲がりなりにもウェブマスターですし。


posted by at 2015-11-06 13:17 | Google | このブログの読者になる | 更新情報をチェックする

2014年07月04日

Google の検索結果での著者の写真表示を中止すると発表したらしい

そういや、表示されていない。

Google、検索結果画面での著者写真とフォロワー数の表示を停止

ネタ元は、Google関係者の Google+ 内での投稿ですが、基本的に良好な反応のよう見えます。 
実際の写真か、それに近いイラスト等が表示されるシステムで、見事な顔出しなんで自分は敬遠してましたが、なんか無くなってホっとしたのは正直な感想。平気で自分の顔を、未来永劫消えないデータとして電子世界へ放つのはとても勇気が居る事ですし、そんな判断を将来しなければならないと思うと憂鬱だったんで。 よかった、よかった。 今は、自分の表示している画面にのみちょいちょいロゴ表示されますけれど。


タグ:google
posted by at 2014-07-04 23:11 | Google | このブログの読者になる | 更新情報をチェックする

2014年03月02日

Google ドライブに Three.js の JSONLoder のサンプルを作成しました

▼ Google ドライブ環境の前提条件はこちらから
Google ドライブに HTML を置いて WEBページが作れる詳細 / Drive Notepad / Neutron Drive( FTPが使えるファイラ )

短縮サービスで URL 取得したので以下のようになっています

http://gdriv.es/three/WebGL_JSONLoader.htm



確認事項

● 外部の JavaScript は、外部も https でないとエラーになります。
● 日本語は UTF-8 ですが、Google のドライブビュアーでは化けます
● Three.js は r66 を使っています。どのバージョンからかは確認していませんが、表示エリアの背景色は、レンダラーで指定します( renderer.setClearColor( 0xffffff ); )
● 古いコードがエラーになっていた、JSONLoder の load メソッド内の対応として function ( geometry, mt ) として、マテリアルを追加して内部で利用しました。このあたりは処理の違いで必ずしも必要あるかどうかは解りませんが、このサンプルではデータも相当古くて、上下反転して正しく表示させました。

最終調整は、Neutron Drive で行いましたが、とても便利でした。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>WebGL : JSONLoader のサンプル ( Three.js r66 )</title>
<style>

* {
    font-family: Arial, Helvetica, Verdana, "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "MS Pゴシック", sans-serif
}

body {
	margin: 0;
	background-color: #c0c0c0;
}

.top {
	background: url(http://winofsql.jp/image/top_1.png) repeat-x 0px 0px;
	border: 0px solid red;
	height: 22px;
	margin-bottom:3px;
	color:white;
	padding: 2px 0 2px 5px;
}

#container_three {
    margin-left:20px;    
}

#container_three canvas {
    border:solid 1px #000000;
	border-radius: 10px;
	box-shadow: 0 15px 10px -10px rgba(0, 0, 0, 0.5), 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
}

    
</style>

<script src="https://secure624.sakura.ne.jp/fire30.winofsql.jp/three.min66.js"></script>
</head>
<body>
<div class="top"></div>

<div id="container_three"></div>

<div style='padding:20px 0px 0px 50px;'><br />
素材 Credit : <a href="http://www.geocities.jp/lab_no2/index.html" target="_blank" style='color:navy;'>光陰像型</a><br />
<img src="https://lh4.googleusercontent.com/-l9OgYV58Um0/T1Tgp2I8wnI/AAAAAAAAE7I/ntYKTmra3Xw/s200/_img.png" style="border: solid 0px #000000;margin-top:3px;" /><br />
</div>

<script>

	var container, stats;
	var camera, scene, renderer;
	var mesh;
	var mouseX = 0, mouseY = 0;

	var windowHalfX = window.innerWidth / 2;
	var windowHalfY = window.innerHeight / 2;

	init();
	animate();

	function init() {

		container = document.getElementById( 'container_three' );

		scene = new THREE.Scene();
		scene.position.y = 200;

		var directionalLight = new THREE.DirectionalLight( 0xffffff, 1 );
		directionalLight.position.set( 0, 200, 650 ).normalize();
		scene.add( directionalLight );

		camera = new THREE.PerspectiveCamera( 50, window.innerWidth / window.innerHeight, 1, 10000 );
		camera.position.set( 0, -200, 650 );
		scene.add( camera );

		loader = new THREE.JSONLoader();
		loader.load('kabotya2.js', function ( geometry, mt ) {

			mesh = new THREE.Mesh( geometry, new THREE.MeshFaceMaterial( mt ));

			mesh.scale.x = 150;
			mesh.scale.y = 150;
			mesh.scale.z = 150;
			scene.add( mesh );

		}, '' );

		renderer = new THREE.WebGLRenderer( );
		renderer.setClearColor( 0xffffff );  // 背景色
		renderer.setSize( 800, 700 );

		container.appendChild( renderer.domElement );

		document.addEventListener( 'mousemove', onDocumentMouseMove, false );

	}

	function onDocumentMouseMove( event ) {

		mouseX = ( event.clientX - windowHalfX );
		mouseY = ( event.clientY - windowHalfY );

	}

	function animate() {

		requestAnimationFrame( animate );

		render();

	}

	function render() {

		camera.position.x += ( mouseX - camera.position.x ) * 0.05+15;
		camera.position.y += ( - mouseY - camera.position.y + 400 ) * 0.05;
		camera.lookAt( scene.position );

		if ( mesh ) {
			mesh.rotation.y -= 0.01;
		}

		renderer.render( scene, camera );

	}

</script>

</html>



posted by at 2014-03-02 18:11 | Google | このブログの読者になる | 更新情報をチェックする

2014年01月23日

最近の Google・・・。AdSense の広告に韓国ドメインの広告があって、その URL を開こうとすると、Google Chrome にブロックされる。いろいろ怖いぞ。

▼ URL はこれ
www.hackers.co.kr

▼ こうなる


もう、何がなんだか。

あと、com.au という海外 URL の広告が表示されます。AdSense 的には パッと見 .com なんで見逃す可能性ありますが、オーストラリアの商業ドメインなんで、日本国内で表示されても・・・と思うのですが。



posted by at 2014-01-23 18:23 | Google | このブログの読者になる | 更新情報をチェックする

2013年10月03日

今日(そして最近)解った、Google(ネットワーク)関連のちょっと解りにくい情報



★ ZIP 書庫内に実行可能な拡張子を持ったファイルがあると、Gmail に添付して送れない。
▼ 公式の詳細
一部のファイル形式がブロックされる



★ Google Chrome で、ZIP 書庫をアップロードすると、MIME は application/x-zip-compressed

これは、ZIP 書庫をメール送信(添付)するにあたって、Google Chrome でファイルアップロードして PHP でその MIME 情報を使うというプロセスの一部です。



★ MIMEが application/zip でフォントの入った書庫を Google Chrome の 内臓 Flash がダウンロードさせてくれない。
上記のような状態になっていたサイトの方に修正対応していただいて、現在動作しているので原因が何かはこちらでは解っていません。
と、思ったら、Google Chrome が  30.0.1599.66 m になったのが理由で正しく動くようになったようです・・・・



試行錯誤あったみたいなんですが、『アプリ』アイコンから、以前の『新しいタブ』の表示になったようで、その『新しいタブ』は、検索(但し入力するとアドレスバーへ移動) + 履歴で、本家の検索画面の右上『グレーのアプリアイコン』が、以前のサービスメニューのようになってます。



前の『黒いバーメニュー』は、右上グレーのアプリアイコンから、『もっと見る』で、翻訳あたりを表示するとまだ使えるようです。



一般では、『ソースマップ』はいらないでしょ?



開発者ツールのさらに右下の設定アイコンから開いた英文の設定の中の一つです。通常は問題無いとは思いますが、URL の読みこみエラーの原因となる事があります。

ソースマップは、圧縮されて難読化してしまった JavaScript のデバッグを、別のマップファイルで補おうというもので、そもそも一般には必要ありません。なんで、無駄にページの読みこみが遅くなる迷惑設定になるおそれがあります。

マップは、コメントとして マップ位置の URL をどこかに記述してあるらしいですが、そこのサーバが落ちてしまうとそのような『迷惑設定』になり果ててしまいます。

ちなみに、その下に CSS のソースマップとあって、そちらも同様だと思うのですが、こちらはデフォルトで Enable になっている可能性があるような気がします(未確認)

どちらかだったかは忘れましたが、一度読みこみの弊害となった経験があります


posted by at 2013-10-03 03:40 | Google | このブログの読者になる | 更新情報をチェックする

2013年08月16日

Google のクローラに ...00551.htm%3E が無いとか言われて、さて。

経験からして、他人様がリンクを貼る時または、リンクを貼ろうとしたシステムに問題があって、Google のクローラからはそう見えてリンク切れになる・・・という考察。

仕方無いので、実際にそのファイルを作りました

Windows ではそのような記号をファイル名に与えれないので、FTP クライアントで直接 .html> という拡張子にして、.htaccess で

AddType "text/html; charset=shift_jis" .htm .htm>
などという非常事態になりました。でも、これで表示されるんですよね、おどろいた。 http://winofsql.jp/VA003334/dnettool091012200551.htm%3E
posted by at 2013-08-16 22:49 | Google | このブログの読者になる | 更新情報をチェックする

2012年07月31日

Google ドライブに .xls を変換せずにアップロード

印刷プレビューみたいになります(Twitterの埋め込みのほうの画像です)が、変換するとモロ Excel になります(この下の画像です)。


全般、操作法や表現方法は Microsoft の Office とほぼ同じと考えて良いので、複雑なものを必要としない人にとっては使いやすいと思います。
※ 変換しなければ、ダウンロードする時はそのまま .xls でダウンロードです。


posted by at 2012-07-31 01:31 | Google | このブログの読者になる | 更新情報をチェックする

2012年05月12日

Google+ API の使い方完全版(日本語)がありました / Google Chrome の拡張で実装説明されています

まだ全部読んでいませんが、本家の API マニュアルよりはるかに詳しいです。

Google+ APIの体験とHangoutsの紹介

とりあえず、Google の API ページのサンプルを動かしてみました(localhsot で必要なのは HTMLファイルのみ)が、ユーザーの画像(この場合は自分)と表示名は表示されました。注意点は以下のようなもの。

Google APIs Console で、Client ID を作成する( 使用するのは数字部分 )
そこで登録する URL で HTML を作成してテストする( localhost で行いました )
Google APIs Console で、Google+ API のステータスを on にする
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=euc-jp">
<link rel="shortcut icon" href="http://winofsql.jp/WinOfSql.ico" />
</head>
<body>
    <!--Add a button for the user to click to initiate auth sequence -->
    <button id="authorize-button" style="visibility: hidden">Authorize</button>
    <script type="text/javascript">
      var clientId = '数字';

      var apiKey = '文字列';

      // To enter one or more authentication scopes, refer to the documentation for the API.
      var scopes = 'https://www.googleapis.com/auth/plus.me';

      // Use a button to handle authentication the first time.
      function handleClientLoad() {
        gapi.client.setApiKey(apiKey);
        window.setTimeout(checkAuth,1);
      }

      function checkAuth() {
        gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: true}, handleAuthResult);
      }


      function handleAuthResult(authResult) {
        var authorizeButton = document.getElementById('authorize-button');
        if (authResult) {
          authorizeButton.style.visibility = 'hidden';
          makeApiCall();
        } else {
          authorizeButton.style.visibility = '';
          authorizeButton.onclick = handleAuthClick;
        }
      }

      function handleAuthClick(event) {
        gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: false}, handleAuthResult);
        return false;
      }

      // Load the API and make an API call.  Display the results on the screen.
      function makeApiCall() {
        gapi.client.load('plus', 'v1', function() {
          var request = gapi.client.plus.people.get({
            'userId': 'me'
          });
          request.execute(function(resp) {

            document.getElementById("result").innerHTML = JSON.stringify(resp,null,'    ');

            var heading = document.createElement('h4');
            var image = document.createElement('img');
            image.src = resp.image.url;
            heading.appendChild(image);
            heading.appendChild(document.createTextNode(resp.displayName));

            document.getElementById('content').appendChild(heading);
          });
        });
      }
    </script>
    <script src="https://apis.google.com/js/client.js?onload=handleClientLoad"></script>
    <div id="content"></div>
    <p>Retrieves your profile name using the Google Plus API.</p>
    <pre id="result"></pre>
</body>
</html>

戻された JSON はこんな感じです。
{
    "kind": "plus#person",
    "etag": "\"hwUd3NZiCApZB9vzwRg6mpj9rZg/WL1kyqTWyCT_jl9sj4RVV7i78Qo\"",
    "id": "101280392108947207617",
    "displayName": "night walker Lightbox",
    "name": {
        "familyName": "Lightbox",
        "givenName": "night walker"
    },
    "gender": "male",
    "aboutMe": "絵を描くプログラマ。好きな食べ物は水餃子。手書きブログで描いたり、DAZ3Dで3Dイラストしたり。WEBをこよなく愛する人。画像処理はGIMPです。フリーフォントで簡単ロゴ作成/はんこ画像作成をよろしく http://lightbox.on.coocan.jp/html/fontImage.php",
    "url": "https://plus.google.com/101280392108947207617",
    "image": {
        "url": "https://lh5.googleusercontent.com/-UlDZknXJ9A8/AAAAAAAAAAI/AAAAAAAAAAA/vpJ8OQP0mCU/photo.jpg?sz=50"
    },
    "urls": [
        {
            "value": "http://winofsql.jp/"
        },
        {
            "value": "http://lightbox.on.coocan.jp/html/fontImage.php"
        },
        {
            "value": "http://lightbox.on.coocan.jp/html/fontImage_in.php"
        },
        {
            "value": "http://nurd.seesaa.net/"
        },
        {
            "value": "http://logicalerror.seesaa.net/"
        },
        {
            "value": "http://palette4tegaki.seesaa.net/"
        },
        {
            "value": "http://picasaweb.google.co.jp/winofsql"
        },
        {
            "value": "https://twitter.com/#!/sworc"
        },
        {
            "value": "http://www.youtube.com/user/winofsql"
        },
        {
            "value": "https://plus.google.com/101280392108947207617",
            "type": "profile"
        },
        {
            "value": "https://www.googleapis.com/plus/v1/people/101280392108947207617",
            "type": "json"
        }
    ],
    "result": {
        "kind": "plus#person",
        "etag": "\"hwUd3NZiCApZB9vzwRg6mpj9rZg/WL1kyqTWyCT_jl9sj4RVV7i78Qo\"",
        "id": "101280392108947207617",
        "displayName": "night walker Lightbox",
        "name": {
            "familyName": "Lightbox",
            "givenName": "night walker"
        },
        "gender": "male",
        "aboutMe": "絵を描くプログラマ。好きな食べ物は水餃子。手書きブログで描いたり、DAZ3Dで3Dイラストしたり。WEBをこよなく愛する人。画像処理はGIMPです。フリーフォントで簡単ロゴ作成/はんこ画像作成をよろしく http://lightbox.on.coocan.jp/html/fontImage.php",
        "url": "https://plus.google.com/101280392108947207617",
        "image": {
            "url": "https://lh5.googleusercontent.com/-UlDZknXJ9A8/AAAAAAAAAAI/AAAAAAAAAAA/vpJ8OQP0mCU/photo.jpg?sz=50"
        },
        "urls": [
            {
                "value": "http://winofsql.jp/"
            },
            {
                "value": "http://lightbox.on.coocan.jp/html/fontImage.php"
            },
            {
                "value": "http://lightbox.on.coocan.jp/html/fontImage_in.php"
            },
            {
                "value": "http://nurd.seesaa.net/"
            },
            {
                "value": "http://logicalerror.seesaa.net/"
            },
            {
                "value": "http://palette4tegaki.seesaa.net/"
            },
            {
                "value": "http://picasaweb.google.co.jp/winofsql"
            },
            {
                "value": "https://twitter.com/#!/sworc"
            },
            {
                "value": "http://www.youtube.com/user/winofsql"
            },
            {
                "value": "https://plus.google.com/101280392108947207617",
                "type": "profile"
            },
            {
                "value": "https://www.googleapis.com/plus/v1/people/101280392108947207617",
                "type": "json"
            }
        ]
    }
}
PHP Google API ダウンロード

Google APIs Client Library for PHP


posted by at 2012-05-12 14:22 | Comment(0) | Google | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します