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

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

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

LIST OF ARTICLES

記事一覧

  • テクログ

    男心をくすぐる演算子

    ついこの間、以下のようなコードを見かけたのですが、$sample = $_GET['test'] ?? null;あれ、この書き方ってなんていうやつだったっけと思い聞いたところ、「Null合体演算子」ということがわかりました。そうそうそのなんかカッコいい名前のやつだと思い、公式サイトで見てみることに。(公式サイトより抜粋)なるほど、isset等で書くよりも簡略化できていいかも、!と思っていたところ、ふとページの下の方を見ると...う、宇宙船.....!!!なんですかその男心をくすぐるような名前は、!カッコいいじゃないですか!どれどれどんな働きをしてくれるんだと見てみると、(公式サイトより抜粋)あ、これ知ってました。けど名前までは知りませんでした(笑)この「<=>」って形が宇宙船っぽいからこう命名したんですかね。案外ふわっとしたイメージで名前が付けられているものが他にもあるのかも知れませんね。結構面白いなぁと思ったじゅんすでした!ではまたっ!
  • テクログ

    410からの〜お知らせページ表示〜

    内部的に「Lambdaとはなにか会」をやったり「単体テストを普及させて幸せになりたい」なって思っていろいろやったりしてる昨今、いかがおすごしですか。さて、突然ですがステータスコード404ってのはよく見かけますが、410ってあんまりピンと来ないですよね。簡単に言うと404は意図的なのか、単に今みれないのかわからないけど、なんかページがない、410は意図的になくなりました!という、みたいな違いらしいです。参考ページ:https://www.seo-ch.jp/news/470で、特集ページなどをhttps:/サイトドメイン/hogehoge/などで作っていて、特集が終わったりして、『無くなったよ!』と伝えたい気持ちが高まった場合、どうするんでしょうか。(+で、このページはなくなったんです、というお知らせも表示したい気持ちもあります)こうします!ErrorDocument 410 /hogehoge/index.html <IfModule mod_rewrite.c>   RewriteEngine On   RewriteCond %{REQUEST_URI} ^/hogehoge/index.html$   RewriteRule ^.*$ index.html [L]   RewriteCond %{REQUEST_URI} ^/hogehoge/$   RewriteRule ^.*$ index.html [L]   RewriteRule .* - [G] </IfModule> /hogehoge/index.htmlが告知ページです。ルートの場合/またはindex.htmlへのアクセス以外は、一番下の  RewriteRule .* - [G] で410へ飛ばします。それだけだと410エラーが表示されますので、もしも410エラーのときにはindex.htmlを出す、ということを1行目でかいています。これで410を出したい気持ちを解消することができましたね!めでたしめでたし。以下は開催したLambdaとはなにか会のスライドの端っこです。見栄えのためです。
  • テクログ

    Aurora Serverless が遂に登場!

    マスオです。Aurora Serverless MySQL の一般利用が開始※画像も上記から引用以前のAWSイベントで発表され限定プレビューだったサーバレス版についてこのほど遂に一般利用が解禁となりました!東京リージョンでも利用可能となったので早速さわってみたのですが、現状での制限が与えた影響などを書いていきたいと思います。パブリックアクセスができない通常はパブリックアクセスするしないを選べますが、そもそも設定できないローカル環境からつながらない!とか言われたので EC2 からつなぐようにしてもらったレプリカ機能がないアプリからのDB接続を Writer/Reader に分散しているが、エンドポイントが一つになる分散していない環境から試し始めたインスタンス型からサーバレス型に切り替えるにはスナップショット経由のみ作成に結構かかった。2~3時間くらいテスト環境とかから試し始めた。本番を切り替える場合どうしようかな。暗号化が必須特に影響なかった「すぐに適用」機能がコンソール上から使えないクラスター名の変更などメンテナンスウィンドウで変更となるCLI からのみ対応可能取り急ぎ再作成とかしたんで、メンテナンスウィンドウもコンソール上から変更できないサポートに聞いたらバックアップウィンドウと共に変更不可との事適応するしかないかサクッと試しただけでも色々と出ました。現状では ACU に上限がありますし、スケールアウト用のレプリカ機能もないのでオートスケール感度によっては本番に適用するのは難しい環境もありそうです。ただ、用途や制限を踏まえてマッチする環境であれば積極的にサーバレス版に切り替えていくべきアップデートかと感じました!皆さんもサーバレス推進するために本機能をガンガン使っていきましょー。それでは、また。
  • テクログ

    Vuejsって聞いたことある?

    こんちわ!新納です。突然ですが皆さんVue.jsって知ってます?読み方はビュージェーエスです。JSではいろんなライブラリが出ていますよね。その中でもjQueryは特に有名で使いやすいライブラリだと思います。個人的にも、jQuery大好きです。(簡単にかけるので)ですが、jQueryも簡単は書きやすい反面ミニマムな機能実装にはおすすめですが大規模、且つ複数のJSファイルに分かれるような状態になると中々メンテが大変な事になってきます。更に、あまり良いこととは言えませんがjQueryでは階層指定でバインドしている場合も多々あると思うので、うかつにHTMLをいじると既存処理が動かなくなったよーなんてことになったりします。.parent().parent.().children()……とかやっていると少しHTMLいじっただけで死ねますよねwまあ双方向バインディングとかVirtualDOMとかいろいろ特徴があるのでとくとくと説明していきたいところですが、今回はあまり概念には触れず超簡単なサンプルを使ってjQueryとの書き方の違いを比較したいと思います。コピペのまま動くようにしたいので今回はどちらのライブラリもCDNからロードしています。★やりたいこと痩せるためにはボタンを押したらリストの2番めの要素の文言を『昼はぬいてダイエット』に変える◆jQueryの場合-----------------------------------test_jquery.html<html lang="ja"> <head> <meta charset="UTF-8"> <title>てすと</title> </head> <body> <div id="content"> <input type="button" value="痩せるためには"> <ul> <li>朝ごはん</li> <li>昼ごはん</li> <li>晩ごはん</li> </ul> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script src="./test_jquery.js"></script> </body> </html> test_jquery.js$(function(){ $("#content input").on("click",function(){ $("#content ul li").eq(1).text("昼は抜いてダイエット"); }); }); -----------------------------------------------------------------------◆Vuejsの場合------------------------------test_vue.html<html lang="ja"> <head> <meta charset="UTF-8" /> <title>てすと</title> </head> <body> <div id="content"> <form> <input type="button" value="痩せるためには" v-on:click="ibentohakka" /> </form> <ul> <li v-for="gohan in list">{{ gohan }}</li> </ul> </div> <script src="https://cdn.jsdelivr.net/npm/vue@2.5.13/dist/vue.js"></script> <script src="./test_vue.js"></script> </body> </html> test_vue.jsvar app = new Vue({ el: '#content', data: { list: [ '朝ごはん', '昼ごはん', '晩ごはん' ] }, methods: {  ibentohakka: function() { Vue.set(this.list, 1, '昼は抜いてダイエット'); } } }); ---------------------------------------------------------…どうすか?画面で見ると結果は全く同じです。『jQueryの方が記述短いじゃねーかいい加減にしろ!』とお怒りの方。ごもっともです…Vueは特徴的なところが何点かありますね。<input type="button" value="痩せるためには" v-on:click="ibentohakka" />これは、jQueryのonclickと似ています。これが押されたらjsに書いてあるmethodsのibentohakkaが発火し中の処理Vue.set(this.list, 1, '昼は抜いてダイエット’);が実行されます。<li v-for="gohan in list">{{ gohan }}</li>jQueryではHTMLに直接リストを記述しましたが、Vueはリストの部分にこれしかありません。これは、gohan in listの部分でデータ・セットの部分data: { list: [ '朝ごはん', '昼ごはん', '晩ごはん' ]},のリストをループして出力します。jQueryだと$("#content ul li").eq(1).text("昼は抜いてダイエット”);でdomを指定して値を書き換えていますが、これだと例えばulの要素が1つ上に追加されたら想定外の部分が書き換わってしまいます。ですが、Vueであれば<li v-for="gohan in list">{{ gohan }}</li>で作り出したものに対してVue.set(this.list, 1, '昼は抜いてダイエット');としているので、仮にHTMLの階層が変わってしまっても変更したい要素がうまく切り替わってくれます。この短いコードではあまりメリットを感じられないかもしれません。が、プロジェクト規模が大きくなり、HTMLの改修が増えるほどVueのメリットは大きくなってくると思っています。ライブラリを読むだけで使えるしjQueryとの共存もできるのでいきなり全書換は嫌だけど簡単な部分だけでもVueで記述していったらいつか良さに気づく日もくるんじゃないでしょうか。ではまた!
  • テクログ

    オフィスが急に落ちる現象が多発するPCがある。

    windows7 64bitメモリ 16GBオフィス2013home&business最近変えたPCで以前使っていたPCで作ったエクセルファイルを開いて作業すると突然落ちてします。作業内容は、 ・セルに書き込む ・セルをコピーする上記を行うとすぐに落ちてしまう。VBAは使っていないし、プラグインも入れていない。エクセルの入れなおしも検討したが、以前のPCでも同じような現象が確認されたと聞いたので他の処理を優先することに。調べた結果、「マルチスレッドを無効にする」という記事を試したがあまり効果がない様子。新しいPCで新規にエクセルファイルを作り問題の作業をしてみたが、エラーは確認されなかった。上記のテストの結果エクセルファイル自体に問題がある可能性が高いと思い、エクセルをセーフモードで起動し新しいエクセルに全てのデータをコピーした。セルをコピーするとエラーが発生する為エクセルのセーフモードは必須。新しいエクセルでの作業を1週間程度使用してもらったが、今のところ現象の再発はない。かならずしも上記の作業で直るとは限らないが、困ったときはエクセルファイルを作り直してみては?
  • テクログ

    基本中の基本のif文で知らなかったこと

    はじめまして!今年4月入社のkaiです。入社してから早3ヶ月、といっても研修で2ヶ月いなかったのでまだまだ慣れないことがたくさんありますが、徐々にそれが出来ていくのが楽しくもありますよね。さて、今回は研修の主軸にあったPHPに関して最近気になって調べたことを書いていこうと思います。私は元々CやJavaでプログラムを書いていたのですが、新たにPHPの学習を進めていく中で、if文に微妙な違いがあることに気づきました。C言語などでif文を記載するときは、のように記述しますが、PHPでは、のように記述します。当初よく考えないでC言語の記述方法で記述していたのですが、動作上には何の問題もなく、ふと参考書を見返してこのことに気づきました。(危なかった…)どういうことだろうと調べてみると、PHPの`elseif`はPHP側で用意された式で`else if`と記述するのとは文法的な意味はやや異なるものの最終的な結果は同じになるようです。後者の`else if`は、if文やfor文で処理が一つのみの時に波括弧を省略できることを利用した記述方法でした。この`else if`を別の書き方をすると、のようになります。ちなみにC言語などもこの仕様だったようで驚きました!ただ、この`else if`は、PHPで利用できる波括弧を「:」で置き換える記述には利用できないので注意が必要です。いかがだったでしょうか。個人的にはPHPのみならずC言語にも`else if`という式が用意されていなかったということが衝撃でした!役に立つかと言われれば微妙な気もしますが、これからも色々と調べていきたいと思います!・参考リンクPHPマニュアル - elseif/else if