信頼はずっと、挑戦はもっと。

お問い合わせ
TEL:03-3496-3888

BLOG コアテックの社員ブログ (毎週月曜~金曜更新中)

LIST OF ARTICLES

記事一覧

  • テクログ

    IT業界で長年やってるのに、なんなのか答えられない単語について語る

    こんにちわ。パグです。私はスタンドアロン型のシステムのSEを7年。WEBシステムで7年。ほぼ15年IT業界にいるわけなんですけど、探究心がほんとないんですよね。でも、IT業界って探究心がなくても意外と仕事ができちゃったりするんですよ。でも結局は表面上の理解しかしてないわけなので、設計する時にめちゃくちゃ考えるんですよ。なので、今回は、ねえ、それってなんのこと?って聞かれた時に、ドヤ顔で答えられるほど自分で理解したことについて書きます。今日は「プロトコル」についてです。プロトコルってわかりますか?IPとTCPとかFTPとかPOPとか色々種類があるあれですよ。じゃあさ、プロトコルってなに?って言えますか?プロトコルってなんですか?って新人に聞かれた時に、最もわかりやすいな、と私が思った回答はこれです。プロトコルとは、規約のこと。規約とは、なんの規約なのか。コンピュータ同士が通信を行うための規約のこと。なんでそれが必要なのか?例えば、コンピューターって、出たての頃は、各メーカーで規約が異なったわけなんですよ。すると、送信元と受信先で同じ端末を持ってないと、通信できないじゃないですか。それじゃ不便だよねってなって、世界的に標準的な規約が決まりました。これがRFCという形式で技術仕様が公開されていて、その通りに製品を作ると異なるメーカー同士でのやり取りが可能になるわけです。RFC準拠しないとどうなるか?別に怒られたりはしません。RFCに準拠しない場合、通信ができなくなります。名指しするとあれなので、わかるように最近困ったRFC準拠してない事例を挙げるととある携帯キャリアがメールアドレスの作成仕様をRFC準拠してない形で許可していました。これはすごく昔、もう10年以上とか前に独自で出していたもので、キャリアメールとは、機種変更をしても大抵引き継がれるので、このせいで、この頃にRFC準拠してない形式で作られたメールアドレスに対して送信ができないという事象が発生しました。メールサーバー側で、RFC準拠してないメールアドレスをリジェクトしていたためです。この時、対策としては、メールアドレスの前後にクオートを入れて、文字列として認識させることで、送信できるようになったのですが、エンドユーザーに、そのメールアドレス変えてよ。なんてなかなか言えないので大変に困ったのを覚えています。ね。RFC守らないと困るでしょ。なので、現在のコンピュータ、ミドルウェア、ソフトウェアのほとんどがこの規約を遵守して作られています。さて、最初の話に戻ります。つまりプロトコルとは、ルールのことです。こういう風に送ってね。こういう風に解析してね。というルールのこと。ちなみにHTTPもWEBのプロトコルになります。プロトコルは、単語じゃなくて略称なので、全て語尾にPがついています。HTTP(HyperText Transfer Protocol)FTP(File Transfer Protocol)IP(Internet Protocol )SMTP(Simple Mail Transfer Protocol)はい。今日はここまでです。バイバイ〜
  • テクログ

    gitの仕組みとかよくわからないけど、とりあえず使ってみる人用

    はじめにこれまで、gitってあまり触れてこなかったんですが、codecommitにlambdaコードを管理してるので、デプロイとかいろいろ便利なのでやってみました。gitってしっかり使いこなそうと思うと結構複雑なんだなとー理解はあとでいいから、とにかく使う!というところを書いて行きます。登場人物codecommitjenkins(デプロイでつかう。今回はほとんど登場しないです)sourcetree使った流れcodecommit(AWS)に、リポジトリを作って、ブランチを切ります。↓sourcetreeというgitを使うためのツールを使って、そのブランチにコードを置きます。↓jenkinsに作ったジョブでデプロイをします。という流れでつかいました。今回は、gitコマンドを中心にしていきます。他のツールは説明に必要な部分だけ使いかたとか書きます。細かく知りたい方は他のページをご参考に実際にやったことcodecommitでリポジトリを作る(これは、ブランチを入れるための箱のようなものです。)その中で、ブランチを作成。(これは、コードの置き場と作業場所のようなものです。と今は思っていただければいいかと思います。)sourcetreeを使って、リポジトリを自分のローカルに持ってきます。(ツールはgitが使えて、codecommitに繋げればなんでもいいかと)で、sourcetreeのホーム画面の右上にある、端末を使います。すると、黒い画面(CUI)が出ます。GUIよりも実はとっつきやすかったりしますよ。こういうやつここで、git checkout -b 新しいブランチ名 :新しいブランチを作成して、そのブランチに移動します。 masterという名前のブランチがあると思いますが、基本そこには何も置かないし作業もしないと思ってもらえればいいと思います。(運用の仕方にもよるので一概には言えないですが、基本的にはということで)git branch -a : リモートとローカルブランチの両方のあるなしが確認できます。あと、自分が今いるブランチの場所を*で教えてくれます。 ざっくり、リモートブランチは、codecommitにあるブランチローカルブランチは自分のPCにあるという感じのイメージです。ローカルブランチにcodecommitに置きたいファイルなどを持ってきます。たとえば、ファイルダウンロードして、そのディレクトリから、ローカルブランチにコピーとかで持ってきます。そしたら、git add . します。これは、今自分がいる階層にあるファイルをaddするよって意味です。git commit -m "最初のコミット" これで、コミット(確定させるみたい感じの意味です)して、これはなにをしたのかを -mオプションをつけて書いておきます。他の人が見た時に概要が掴めるようにです。git push -n :実際にpushするときは -nを取って実行する。 最後にpushします。-nはdry-run(実際にはpushしないで、もししたらどうなるかの結果を表示してくれます)これで、codecommit上に、自分が更新、作成をしたファイルを置くことができます。そしたら、デプロイしましょう。まとめリポジトリ作成↓リポジトリクローン↓ブランチ作成↓git add↓git commit↓git push↓デプロイ現場からは以上です。
  • テクログ

    dockerでwordpressを簡単に構築する

    WordPressの環境が必要になったので、さくっと作って見ました。予めdocker-composeが使える前提です①適当なディレクトリを用意するmkdir wordpress_test cd wordpress_test ②docker-compose.ymlを作成vi docker-compose.yml 以下の通りに設定します。注意としては、mysqlのバージョンを新しくするとwordpressでは動かないので、5.7程度のものを指定するようにしてくださいversion: '3.3' services:    wordpress:      image: wordpress:latest      depends_on:        - db      ports:        - "8000:80"      restart: always      environment:        WORDPRESS_DB_HOST: db:3306        WORDPRESS_DB_USER: wordpress        WORDPRESS_DB_PASSWORD: wordpress        WORDPRESS_DB_NAME: wordpress      volumes:        - ./html:/var/www/html    db:      image: mysql:5.7      volumes:        - db_data:/var/lib/mysql      restart: always      environment:        MYSQL_ROOT_PASSWORD: root        MYSQL_DATABASE: wordpress        MYSQL_USER: wordpress        MYSQL_PASSWORD: wordpress volumes:     db_data: ③コンテナを起動しますdocker-compose up -d ④サイトにアクセスブラウザで「localhost:8000/」にアクセスしましょうwordpressの初期設定画面が表示されるはずなので、言語を選択し、サイト名やアイパスを設定しましょう。以上です!とっても簡単でした。
  • テクログ

    素敵だら! Linux コマンド ~基本編 その3~

    こんにちはうなぎです。IT開発者にとって避けては通れない数ある Linux コマンドのうちから、厳選してご紹介する不定期コーナー“素敵だら! Linux コマンド”。今回も前回に引き続き「~基本編 その3~」です。■find私の一番好きなコマンド find。その名前からもわかる通り、ファイルやディレクトリなどを探すコマンドです。まずは基本的な使い方から。今いるディレクトリの中から admin ユーザーが作成した、test_{日付}.txt ファイルってどこにあったっけ?を調べるときはfind ./ -user admin -type f -name test*.txt のようにします。`-name` は探す対象の名前を指定するオプションで、ワイルドカードが使用できます。※ `-regex` を使えば正規表現も可能です`-type` は探す対象の種類を指定します。種類は以下の通りです。ファイル `f`ディレクトリ `d`シンボリックリンク `l`これだけでも結構便利なんですが、 `find` コマンドの肝はなんといっても `-exec` オプション。これを使えば検索した結果に対して、コマンドを実行できます。例えば先ほどの test.txt をすべて削除したいときは、find ./ -user admin -type f -name test*.txt -exec rm {} \; といった具合です。この例でいうと、 `{}` に検索結果のファイルが一つずつ置き換わり、 `rm` によって削除されます。末尾についている `\;` は何かというと、セミコロンが `-exec` オプションの終了を意味し、バックスラッシュはエスケープだそうです。   参考: https://stackoverflow.com/questions/20913198/why-are-the-backslash-and-semicolon-required-with-the-find-commands-exec-optio`\;` の代わりに `+` を使用することで、コマンドに渡していた検索結果を、一つずつではなく、まとめた形で渡すことができます。上記の例でいえば、 `\;` はrm test1.txt rm test2.txt rm test3.txt となり、`+` はrm test1.txt test2.txt test3.txt となります。他にも検索するディレクトリの階層の深さを指定する `-mindepth` `-maxdepth`特定のディレクトリ検索対象から除外する `-prune`更新日からファイルを探す `-mtime`など、機能がとても充実しています。以上、細かい要望にも応えてくれる素敵な `find` コマンドでした。
  • テクログ

    スプレッド演算子

    スプレッド演算子(可変長引数)【...】←この三点リーダーみたいなやつのこと読んで字のごとくですが、関数に渡す引数を任意の個数渡すことが出来ます。悩んでたんです、既に用意されている(実態がない)関数の引数が可変長だったのです。。。それをどのようにすれば、可変で引数を渡せるのか。その時に出会いました!!使用する機会が最近ありましたので、簡単な例を載せてご紹介いたします!<?php // [...]引数が過変数で受け取ることが可能 public function my_method (int ...$nums) {   // init   $sum = 0;   foreach ($nums as $num)   {     $sum += $num;   }   return $sum; } my_method(1,2,3,4,5);  // output = 15(引数が5つ) my_method(10,20,30);   // output = 60(引数が3つ) ...のように引数の数を可変で渡せる これは、かなり便利!!そうそう使う機会は多くはないとは思いますが、是非!「ここだ!」と思うタイミングで使ってみては?それでは、これにてm(_ _)m
  • テクログ

    AWS【S3】再入門

    こちらからご覧ください↓https://qiita.com/s-yanada/items/f5b008cb11df85f0201b