2020-01-01から1年間の記事一覧

[Quora] ゲーム開発者は徹夜ばかりしているの?

Quora回答シリーズです。 質問 ゲームプログラマーは徹夜ばかりしてるイメージです。新人の頃などは特にそんなイメージです。実際はどうですか? https://qr.ae/pNsn7B 最近はそんなに出来ないんですよね。いわゆるブラックな環境であればあるほど新人が入っ…

[Quora] Babelは絶対に使わないといけないの?

Quora回答シリーズです。 質問 フロントエンドの開発でBabelというツールは必須の位置づけなのでしょうか?Babelが不要な環境があれば教えて頂けませんか? https://qr.ae/pNsn74 むしろ今後どんどん使われなくなっていくのではないでしょうか。 babeljs.io

[MySQL] テーブルにカラムを追加/変更/削除する - ALTER TABLE

MySQLでテーブルのカラム(列)の変更を行うにはALTER TABLEを利用します。ALTER TABLEはカラム以外にもテーブルのあらゆる変更が行える万能選手ですが今回はカラムの追加,変更,削除に特化して見ていきます。 カラムを追加する -- テーブルの末尾に追加 ALTER …

AdBlockを有効にしているブラウザへの対策あれこれ

白状すると私も日常的に広告ブロックツールを使ってますw PC版のChromeではAdBlockPlusの機能拡張を入れ、iOSのSafariでは最近AdGuardを利用しています。正直快適でもう手放せませんw ただこれがサイト運営者の収益を削っているのも事実。せめてサーバ代く…

[PHP] MySQLをPDOで操作する – 入門編 その3「モデル編」

※この記事は専門学校の講義用に作成されたものです PDOはデータベースへのアクセスを抽象化してくれる非常に便利なライブラリですが、ある程度の規模のシステムになってくるとメンテナンス性を向上したくなりもう一段階、抽象化したくなる物です。最近人気の…

[Node.js] expressで作るHTTPサーバ - 入門編 その3「非同期処理とファイル」

※この記事は専門学校の講義用に作成されたものです Node.js+expressでHTTPサーバを作成する第3段。今回は最終的にファイル処理について取り上げるのですが、その前に知っておかないとグローバル変数以上のハマりどころである「非同期処理」についても説明し…

[Node.js] expressで作るHTTPサーバ - 入門編 その2「グローバル変数の生存戦略編」

※この記事は専門学校の講義用に作成されたものです Node.js+expressでHTTPサーバを作成する第2段。今回は「罠」にも「武器」にもなるポイントについてお話します。 PHPでサーバサイドを実装する際には、Webサーバとしての機能はApacheが受け持つパターンが多…

[GitHub] SSHの鍵を登録しパスワード入力を不要にする

GitHubを利用している際に、HTTPSでリポジトリをcloneしているとpushやpullをする際に毎回IDとパスワードの入力を求められます。一時的にメモリ上などにキャッシュすることも出来るのですが、一定期間が経過すると再び入力する必要があるため根本的な解決に…

[Node.js] expressで作るHTTPサーバ - 入門編 その1

※この記事は専門学校の講義用に作成されたものです Node.jsでHTTPサーバを作成します。 以前からNode.jsはサーバを作るための言語であるという誤解している方が結構いらっしゃるのですが、標準モジュールだけでも非常に気軽にHTTPサーバをポンッと作成して立…

[PHP] MySQLをPDOで操作する – 入門編 その2 「トランザクション」

※この記事は専門学校の講義用に作成されたものです 前回に引き続きPHPからMySQLを操作します。今回のテーマは「トランザクション」への対応です。トランザクションをマスターすれば、2つ以上のSQLを実行した際にいずれかの実行が失敗した場合でも、そのすべ…

[PHP] MySQLをPDOで操作する - 入門編 その1

※この記事は専門学校の講義用に作成されたものです 今回はPHPからMySQLへ接続しデータの取得と追加の練習を行います。 データベースとのやり取りには様々な罠が待ち構えており、ちょっと書き損じた(設定を忘れた)だけでサービスが崩壊することもよくあります…

[初心者] 最近のJavaScriptの文法をおさらいする

※この記事は専門学校の講義用に書いたものです JavaScriptはもともとWebブラウザの上で動作するちょっとした処理を行うために登場しました。その後JavaScritの重要性が高まるにつれ、最近の言語に搭載されている機能が無いことに開発者の不満が募ります。そ…

[PHP] アクセスカウンター用のRESTfulAPIを作成する - その2 DB版

前回作成した「アクセスカウンター」を、今度はデータベースに対応させてみます。裏側を変更するだけなので、表示はまったく同じです。 作戦としてはPHPにリクエストがある度にテーブルに1レコードずつ追加されていき、現在の値はレコード数を集計することで…

[PHP] アクセスカウンター用のRESTfulAPIを作成する - その1 ファイル版

PHPの練習用にアクセスカウンター用のREST APIをPHPで作成します。 最終的に以下のような画面になります。ここで再読み込みを行うと数値がどんどん加算されていきます。 ※この記事は専門学校の講義用に作成した物です。

[Node.js] Windows10にNode.jsをインストールする

諸般の事情により、Windows10にNode.jsをインストールする手順をまとめます。 とは言ってもインストーラーをダウンロードしたら、次へボタンを連打するだけで入ります。かんたん!

[AWS] Serverless FrameworkでRESTfulAPIを作成する (S3編)

今回はServerless FrameworkでRESTfulAPIを介しS3からデータを取得したり保存したりします。 DynamoDBの回と同様に、プロジェクトの設定ファイルであるserverless.ymlにCloud Formationの書式でS3の設定からIAM周りまで一元管理できます。分かってくると楽し…

[Quora] プログラマーって仕事中に何を飲むの?

Quora回答シリーズです。 質問 プログラマやエンジニア、デスクワークをされている方に質問です。仕事中な何を飲まれていますか?やはりコーヒーですか?コーヒー以外におすすめはありますか? https://qr.ae/pNy6J9 酒ですね! 時代はアルコール駆動開発で…

[Quora] Macでおすすめの動画編集ソフトは?

Quora回答シリーズです。 質問 Macで使えるお勧め動画編集ソフト教えて下さい Mac初心者です。目的はビデオ編集です。 有償でもかまいませんので、ソフトを教えて下さい。 出来れば、日本語対応でユーザーが多いソフトをお願いします https://qr.ae/pNy6MP…

[Quora] 最近はWebサーバのログをローカルに保存しないの?

Quora回答シリーズです。 質問 今どきはWebサーバー毎にアクセスログやエラーログを保存せずに共通の別サーバーに保存するのが主流ですか? https://qr.ae/pNy6HG 一定規模以上のサービスだとよくやるやつですね。

[Quora] サーバ2台構成の場合、PHPのセッションの保存先はどうすれば良いの?

Quora回答シリーズです。 質問 Webサーバー2台でPHPのセッションを使いたいのですが、2台が共通で参照できる領域がありません。DBは負荷の懸念があるので避けたいのですが他に何か方法はありませんか? https://qr.ae/pNy6h8 回答には書きませんでしたが、以…

[Quora] 高校生をプログラマーとしてアルバイト雇用することは問題ない?

Quora回答シリーズです。 質問 高校生にプログラミングの仕事をアルバイトで委託することは法律上、問題ありませんか? https://qr.ae/pNy6GX 地方毎に何らかの条例がある可能性もありますが、一般的には高校生というより年齢による制限があります。

[AWS] Serverless FrameworkでRESTfulAPIを作成する (DynamoDB編)

今回はServerless FrameworkでRESTfulAPIを介しDynamoDBを触ります。 プロジェクトの設定ファイルであるserverless.ymlにCloud Formationの書式でいろいろ定義できるのでテーブルの作成やIAM周りの設定もすべて一元管理できます。テキストファイルでほとんど…

[AWS] Serverless FrameworkでRESTfulAPIを作成する (外部サーバと通信編)

Lambdaから外部のサーバとHTTPによる通信を行ってみます。 とは言っても特別な制約はありませんので基本的に自由行うことができますが、実行時間によって課金される点に注意が必要です。相手方のサーバからレスポンスが中々返って来ないとその時間分だけ課金…

[AWS] Serverless FrameworkでRESTfulAPIを作成する (クエリー編)

AWSにServerless Frameworkを利用してRESTfulAPIを作成する際、クエリー文字列などの引数を取得する方法についてメモします。今回はAPI Gatewayのテンプレート関連の機能は使わず、Lambda側ですべて処理します。利用する言語はNode.jsです。

[Quora] GitHubでスターをもらったら自慢したくならないの?

Quora回答シリーズです。 質問 同僚のプログラマーで目立つ存在でもない人のGitHubを見つけたところ、スター100以上のEmacs Packageを開発していました。私なら自慢したくなるものの、プログラマーは爪を隠すのでしょうか? https://qr.ae/pNyMyU 後述します…

[Quora] AWSを使った受託開発はクライアントにAWSアカウントを作ってもらうべき?

Quora回答シリーズです。 質問 AWS (EC2) を使った受託開発は、納品時にインスタンスを移管することができないので、開発開始時にクライアントにAWSアカウントを作ってもらう必要がありますか? https://qr.ae/pNyMrE この質問には以下の参考URLが添えられて…

[Quora] プログラマーはフリーランスを目指すべき?

Quora回答シリーズです。 質問 これからの時代、プログラマーはフリーランスを目指すべきですか? https://qr.ae/pNyMvz 「会社員」という仕組みはは先人が苦労して積み上げてきた物なので実は多大なメリットがあったりします。そのメリットを捨てるだけの勝…

[Quora] JavaScriptのconstとletの使い分け

Quora回答シリーズです。 質問 JavaScriptのconstとletの使い分けについてですが、皆様はどのようにされていますか? https://qr.ae/pNyMvh 8割くらいはconstで用が足りるんですよね。

[Linux] bashで超簡易的な改ざん検知を行いSlackに投げる

小ネタが続いてますが、今回も小ネタですw Webサイトの改ざん検知を手軽にパパッと行いたい場合、単純にcurlなどで取得したファイルをdiffで比較するだけでも実現できます。 というわけで以下がコード。ここでは最終的にSlackに通知しています。 #!/bin/bas…

[Node.js] JSONをCSV形式でファイルに書き込む - csv-writer

小ネタです。 csv-writerモジュールを使うとJSON的なデータをCSV形式でかんたんに保存することができます。 // CSVにしたいデータ(オブジェクト) const data = [ {id:1, title:"吾輩は猫である", view:123}, {id:2, title:"坊っちゃん", view:456}, {id:3, t…