きたる2038年問題
MySQLを利用してる方はTIMESTAMP型が2038-01-09 03:14:07(UTC)までしか対応していないことに気づくでしょう
この値が意味するところは2038年の01月09 03時14分07秒がTIMESTAMP型の最大値ということです
その時間が過ぎてしまうと時間的なバグが起こるとされています
MySQLにてタイムゾーンを考慮できるTIMESTAMP型はコメント機能などのあらゆる面で利用されるため
この問題はかなり深刻だと考えています
実際あと21年しかないわけです
21年後になるまでにはMySQLが対策されているのか、もしくは別なSQL(PostgreSQLなど)に乗り換えなければならないでしょう。
恐ろしや恐ろしや
JSONにおけるセッション利用
JSONにて外部PHPファイルへの受け渡しにセッションを利用する方法です。
$.ajax({ type: "POST",//POST送信します url: "XXX.php",//XXX.phpというファイルに data: XXX,//XXXというデータで beforeSend: function(xhr) { xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content')); },//送信する際にGET以外での送信時&セキュアに必要なCSRFトークンを発行 success: function(html) {}//成功時のイベント });
PHP側は特に何もしません。
何でもかんでもセッションに入れない
セキュアなページを作る上でセッションの扱い方についてです。
最近、セッションにユーザーの個人情報をそのまま入れる方がいました。
そうではなく、※1.ユーザーを特定する個人情報には当たらないものだけをセッションに保存し、
その都度データベースから必要情報を持ってきたほうがいいです。
そのほうがセキュアです。
※1
例えばですがユーザーそれぞれに対し、文字列15個ほどの乱数を設定するなどしてもいいかもしれません。
「IDじゃだめ?」と思う方もいるかもしれません。私の考えでは「番号」という情報が判明していることもセキュアではないページの原因になると考えているのでNGです。
Markdownありました!
HATENAにMarkdownがありましたので今後それで行きます。
近頃あらゆる資料をMarkdownで作ること多くなってきました。
練習がてらいろいろやってみます。
システム開発の人数とは
個人という観点からしてみると、自身で何かシステムを作るとき友人とタッグを組んでやる場合などあります。 私はまだ常駐仲間とかいませんので、基本一人ですが、伝え方って難しいですよね。
いくつかコツを書きたいと思います。
開発における伝え方
一番べストなのは設計書を作ることです。 単純に
前置き
- どのようなシステムか
- 何のためのシステムか
- 設計期間
- ETC
は大前提として、
設計
どこをだれが担当するのか
- コーディング
- DB設計
- できれば監督も
上記の役割における人数
デザイン概要のモック
基幹システムの経路一覧(樹形図のような図式)
大まかにはこれだけ伝えれば設計自体はできます。 最後に基幹となるデザイン案を取り揃えれば完璧です。
あとは初期の段階(1~2週間の間)はお互いに途中経過を詳しく比較し、ブレがないかを確認していく。
このブログのデザイン
正直このブログのデザインは見やすさのみを重視しています。
職業柄、目の悪い方もいるかと思います。
そんな時は是非申しつけ頂ければ改善します。
何卒宜しくお願い致します。
コーディングもスピードアップ
割とコードを書き始めた方に多い、スピードの遅さ。
その原因は意外と解決しやすかったりします。
私が考えうる原因の一つに、エディタです。
おそらくもっともシェアが高いのはADOBE制のDWとかでしょう。
私も数年前まで使用していました。
その理由はコーディングしながらリアルタイムチェックが可能だからです。
ですが、しばらくコーディングをして慣れてくるとそのようなものは不要になります。
適当に500行くらい書いて一発でコーディング完了!!ともできるようになってくるわけです。
そんな時におすすめなのは「SUBLIME」または「ATOM」というエディタです。
SUBLIME: https://www.sublimetext.com/
双方のメリットを言いますと。
動作がものすごく軽快。
「遊び」感覚の拡張機能が多い(キーを打つたびに画面爆発)
少し重い
なくらいです。
どちらもシェアが高いのでおすすめです。
Dreamweaverはどうなのっと思う方多いかもしれませんが、
私はお勧めしません。
機能が単純化されてたほうがいいことと、動作が重いことがネックですので。
ちなみに私はSUBLIME
鉄板です
初めてのブログ、まずはデザインから
私にとっても初めてのブログです。
いままでプログラミングはやってて掲示板とかよく作ってても自分で利用することは一切ありませんでした。
さて、cssですが自分はこのようになってます。
/**/ @import "/css/theme/life/life.css"; /* */ /**/ body{ background-image: url('https://cdn-ak.f.st-hatena.com/images/fotolife/F/Flopper/20170808/20170808010053.jpg'); background-repeat: no-repeat; background-color:transparent; background-attachment: fixed; background-position: center top;} #container-inner{ max-width:640px; margin:0 auto; } #container{ background:none; } #content{ padding:0!important; } .entry-date{ text-align:left!important; font-weight: bold; } .entry-title{ font-size:35px; color:rgba(0,0,0,0.9); text-align:left!important; font-weight:bold; padding:30px 0; } #title{ padding:20px 0 0 0; font-size:13px!important; text-align:left; color:#2196f3; } #blog-title{ padding:0!important; } .entry-content{ border-top:1px solid rgba(0,0,0,0.2); padding:30px 0 100px 0; } @media screen and (min-width:480px) { #container-inner{ max-width:640px; margin:0 auto; } #container{ background:none; } #content{ padding:0!important; } .entry-date{ text-align:left!important; font-weight: bold; } .entry-title{ font-size:45px; color:rgba(0,0,0,0.9); text-align:left!important; font-weight:bold; padding:30px 0; } #title{ font-size:15px!important; text-align:left; color:#2196f3; } #blog-title{ padding:0!important; } .entry-content{ border-top:1px solid rgba(0,0,0,0.2); padding:30px 0 100px 0; } } /* */
1分くらいで作ったコードなので整形も何もしていません。
本来であれば、他人に見せるコードは整形しておくことが吉です。
上記の例でいえば、同じcss名がいくつか書かれてますね。
原因としてはメディアクエリ(スマホ用レイアウト)のため、コピペしただけです。
@media screen and (min-width:480px) { //スマホ用CSS }
上記のように記載することでスマホ用レイアウトと仕訳することができます。
この状態でブラウザを伸ばしたりしてみてください。
ちなみにこれは「480px以下から」を示しています。
仲間を探します。
私は常にプログラミングしかしていないのですが、個人的な範囲でプログラミング仲間を集めるために有効な情報とか流していけたらと思っています。
私のブログを見てくれた方、もしよろしければフォローして下さい。
もちろんフォロバは欠かしませんよ!!
ブログというものを初めて使ってみます
これから少しずつ投稿していきます。
主にプログラミングを中心にお話しします。