カテゴリー: SEノウハウ

MySQL, SEノウハウ

MySQL 外部キー制約のデッドロック

外部キー制約に伴うロックの小話 from ichirin2501   外部キー(FOREIGN KEY)制約を利用している場合、 子テーブルに追加、更新や削除を行う時は、必ず親テーブルの対象のidに対して排他ロックを行ってから、更新や削除、追加を行う。 親テーブルの該当idに対して排他ロックを取る 子テーブルの該当行に対して追加、更新、削除等を行う これならロックは起こらない。   &n …

SEノウハウ

ネイキッドドメインをWEBに使うべきか?

  使うべきではない。   WEBでなくても、サブドメインを利用して設定しよう。   正: www.yuulinux.tokyo 誤: yuulinux.tokyo   理由 CNAMEを利用しようとした時に問題が起こるから。 CDNを利用したいとなった時にネイキッドドメインを利用していると実装出来ない 理由として、 CDNを利用する場合にCNAMEを設定する必要があ …

メール, SEノウハウ

ドメインのWhois情報公開すべきか代理公開か?

私の考え方 メールで広告配信するならちゃんとWhois情報を公開し、広告配信しないなら代理公開で良いかな。 広告配信するドメインと通常のコーポレイト用のメールドメインを分ける     法人ドメインの場合 法人情報でWhois情報を公開した方が良い 法人ドメインとしての正当性を主張できる 広告配信などを行う場合は必須 擬陽性のスパム判定を行われると代理公開を行っている場合は即時停止されます …

SEノウハウ

1時間で作る提案書

  30分で調査や何をやれるか考えをおおざっぱに設計して パワポ書類自体は長くても1時間以内に作らないといけない。 確度や期待値の高いものは時間をかけるけれど、相見積もりが激しそうなものは要点を抑えて、効率的に。   簡潔に、堅い表現にならずにわかりやすく、大事なところを強調(2度繰り返す) 書き飛ばすけど、最低限の部分を抑える。 1時間以内で作る提案書の書き方 ○1ページ目 …

メール, Linux, SEノウハウ

メール送信も行うWEBサーバでの必須設定

ホスト名の設定 Postfixなどのメールサービスにホスト名を設定しよう そのホスト名はきちんとDNSの正引きが出来るようにしておくこと。 localhostになっていたらダメだよ!   逆引き IPから正引きで参照されるホスト名と一致させる 結構設定されていないサーバが多い。スパムフィルタで受信拒否されるのできちんと対応するようにしよう。     SPF認証 送信サーバのドメ …

SEノウハウ

MIT, Apache, BSD, GPLライセンス

  商業利用ゆるゆる   MIT License ソースコードに著作権表示が必要   Apache License 頒布、修正、派生版の頒布、ライセンスの継承に関して制限なし クレジットに下記を表記する This software includes the work that is distributed in the Apache License 2.0 &nbsp …

SEノウハウ

データをファイルベース管理しない方が良いわけ

使うべきでない理由 行単位のロックが出来ない 排他制御、トランザクションが貧弱 壊れる、リペアがない// あったらすまん RDSやNoSQLを利用しましょ~。     使っても良い場面 キャッシュ 壊れても良いデータ // ファイルベースのデータは壊れます データを書き込みするユーザが1人 // メモ帳や付箋アプリ プログラムのテスト CSVとしての出力、入力 クライアントからの熱い需要 …

SEノウハウ

おすすめのドメイン 更新料から考えるよ

結論 おすすめは.com, .netですね! 普通すぎですね、ごめんなさい。 お客様の要望がある場合はそれに従うとして、こちらにお任せ!な時は初期費用と更新費用が安いドメインを選択するのがお客様の為かなと考えています。     ドメインの更新料 .com 1,280円 .net 1,480円 .tokyo 920円 .work 990円 検証用ドメインを考えると、.tokyoが良いですね …

Linux, SEノウハウ

Puttyで作成したSSH鍵でGitHubにPushする

Puttyで作成したppk形式の秘密鍵でLinuxのクライアントからSSH接続することはできません。 OpenSSHのpem形式に変換しましょう。   SSHの秘密鍵には形式がある SSHのクライアントに合わせて秘密鍵を変換する必要があります。   ppk形式 PuTTY Key Generatorで作成した鍵 Sourcetree, WinSCPからサーバにSSH接続する際に …

SEノウハウ

UML クラス図

  UMLの目的 複雑なクラスやオブジェクトの関係を図で示すことで開発者や関係者で共有する為 UMLはメンバ変数やメソッドといったすべてを記述する必要はない。 注目させたい箇所を目出せたい場合は、あえて必要情報しか記述しないケースもある     クラス図 クラス名 メンバ変数名 メソッド名 3つの項目で構成される   継承とインターフェイスの実装 関係   …

SEノウハウ

小さな会社のGit開発環境(開発者5~6人規模)

ぽいんと 矢印の流れを厳守する pullしかしないサーバはpullしかしてはいけない // 検証サーバからpushとかしちゃだめです。 複雑なことはしない 少数でのGit開発ではbranchは切らない // 10人以上だと必要 タスク管理はREDMINE gitのコメントはタスク番号と合わせる テストサーバ、検証サーバを作る ・テストサーバ: 動作確認 ・検証サーバ: 本番環境同様環境で動作、パフ …

SEノウハウ

MVCの役割

      コントローラ Controller ディスパッチャー機能 最前面に出てすべての仲介を行う /クラス名/メソッド名/ URLのリクエスト情報からクラスとメソッド名を受ける処理の起点、リクエストをモデルに渡す。モデルは処理結果をコントローラに渡し、コントローラはビューに渡すことで表示を出す。 モデルとビューを制御する ビューとビジネスロジックを分離させる ビュ …