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

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

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

LIST OF ARTICLES

記事一覧

  • 画像:ブログサムネイル

    テクログ

    競技プログラミングを体験しました

    今日はAtCoderという競技プログラミングができるサイトの話です先輩上司がAtCoderをやっていることから以前からAtCoder存在は知っていたのですが、どこか難しいイメージがしていて、今までノータッチでした。ある日、たまたまYoutubeで特集されている動画を見つけました。https://www.youtube.com/watch?v=WGNQrH0AV2k内容としては、『プログラミング初心者の人がやってみた』という内容です。AtCoderにはBeginner Contest なるものがあり、プログラム上級者でなくても受験しやすいコンテストがあることを、そこで知りました。入社から1年たったし、力試しでやってみるか!とBeginner Contestを受けてみました(言語はPHPを選択しました)結果は以下の通りです。A問題B問題は簡単に解けましたがC問題で苦戦しました。C問題も4割ほど正解できたのですが、そこでタイムアップでした(画像ではC問題を提出したかったのに間違ってA問題として提出してしまってます。終わってから気付きました、、w )Youtubeの人はC問題まで解けたいたようなので、「ぐぬぬ、初心者に負けてしまった」と悔しい内容となりました。また受けてみようと思います

  • テクログ

    PHP技術者認定試験奮闘記

    お久しぶりです。JSです。コアテックにはテックリードという役割がありますが、この役割に就くには資格が必須となります。将来的にはテックリードを目指すために、PHP技術者認定試験に挑戦することにしました。ちなみに資格試験を受けるのは8年前位の基本情報技術者試験以来です。PHP5技術者認定上級・準上級試験の基本事項について説明します。問題数は60問で試験時間は2時間で、選択式です。5割以上から7割未満の正解で準上級合格、7割以上の正解で上級合格になります。準上級がITスキル標準(ITSS)のレベル2(基本情報技術者試験と同レベル)、上級がレベル3(応用情報技術者試験と同レベル)で、上級の合格率は10%以下です。合格率は10%と難しそうですが、自分のスペックです。・文系で未経験でこの業界に入る・運転免許の筆記試験に1回落ち、2回目で合格・基本情報技術者試験は就職してから2年目に受け1回落ち、2回目で合格・漢検2級は高校時代に一発合格諦めの悪さと運だけで10年この業界で働いているので、スペックは低いエンジニアです。PHPの経験は7~8年ですが、このスペックで上級試験に合格できるのでしょうか。年末にこの2冊の本を買い、勉強を開始しました。・徹底攻略 PHP5 技術者認定 [上級] 試験問題集 [PJ0-200]対応 (日本語)https://www.amazon.co.jp/exec/obidos/ASIN/4844334670/atopinn-22/・プログラミングPHP 第3版https://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0PHP-%E7%AC%AC3%E7%89%88-Kevin-Tatroe/dp/48731166862月下旬に試験を受けますが、それまでに勉強したことです。・過去問を解き、解答の解説をテキストにまとめる・一通り過去問を解き終わったら、毎日解解答の解説をテキストにまとめたものを読み、その後過去問を解く2月下旬に試験を受けるまで、過去問を解いた回数は2回です。一発で上級に合格は難しいと考えていたので、2月下旬の試験は準上級合格が目標でした。試験を終えたときの感触は5割から6割程度は正解してそうな感じでした。結果は60問中35問の正解し、約6割程度の正解率で準上級に合格できました。感想としては知らない言葉が結構出てくる、正しいものを選ぶより間違っているものを選ぶ問題が多いという印象でした。上級に合格にするには後7問正解数を増やさないといけないので、どうするか考えました。・過去問と似たような問題があったが、曖昧に覚えていたため3~4問間違えているので、過去問の類似問題は間違えないようにする・プログラミングPHPに載っているソースコードが出ているので、プログラミングPHPを読む必要がある・試験で出てきた知らない言葉は調べる3月下旬に試験を受けますが、1回目の試験後から3月下旬の試験までに勉強したことです。・試験で出てきた知らない言葉は調べ、テキストにまとめる・毎日解解答の解説をテキストにまとめたものを読み、その後プログラミングPHPを読む・直前に過去問を解くプログラミングPHPは2回読み、過去問を解いた回数は1回です。3月下旬に試験を受けましたが、結果は60問中42問正解し、ちょうど7割正解で上級に合格できました。PHP技術者認定試験には「この問題を後で見直す」機能があり、今回は恐らく不正解の問題にはこれにチェックを入れ、何問程度間違っているか確認してました。解答提出直前には恐らく不正解の数が20~21問でしたので、その通りだと惜しくも不合格、運がよければ合格という状況でした。不合格だと思っていたので、合格したときは驚きました。最後は運の良さで上級に合格できましたが、在宅勤務で通勤がなくなり、それにより勉強時間が確保できたことが一番大きかったと思います。在宅勤務を導入した会社の方々にはこの場をお借りして感謝申し上げます。ちなみに2021年の秋からPHP8技術者認定上級試験が始まるそうです。皆さんも、是非資格試験に挑戦してみてください。

  • 画像:ブログサムネイル

    テクログ

    簡単にわかるUXとUIの違いと関係性。

    Web制作の現場では日々「UI/UX的に~」という言葉がよく一緒になって使われていますが、それは本当にUI/UX的なのでしょうか。UXの観点かと思って話を進めていたら、「あれ?それUIの話じゃない?」と思う時はないでしょうか。先ず、一般的に提唱されているUXとUIは以下の通り。UXとはユーザーエクスペリエンス(英: user experience)とは、人工物(製品、システム、サービスなど)の利用を通じてユーザーが得る経験である。しばしば「UX」と略される[1]。「ユーザー経験」「ユーザー体験」などと訳される。ユーザーエクスペリエンス - WikipediaUIとはユーザインタフェース(英: User Interface、 UI)または使用者インタフェースは、機械、特にコンピュータとその機械の利用者(通常は人間)の間での情報をやりとりするためのインタフェースである。ユーザインタフェース - Wikipediaなんか、どちらもちょっと似ていませんか?製品、システム、サービスとの間で情報をやりとりし、それらの利用を通じて得られる体験がすなわちUI/UX???UXの定義はなに?このUI/UXの理解について混乱をまねいているのは、UXの定義に諸説があるからです。中でも、今までに私が同業仲間とUXの話をしていた際、UXの焦点が製品・サービス内なのか、潜在的ユーザーが誕生する仮説の時点からなのか?といった、広義的か狭義的かの範囲の相違が大半でした。ブランディング = ロゴデザインと思ってしまいがちなのと似ています。いずれにしても、UIはUXに包括されており、大げさな例ですが下記の図式が基本的なUXとUIの位置付けになります。潜在ユーザーが目的を持った瞬間から目的を達成するまでを、ペルソナやカスタマージャーニーマップを作成して体験をデザインするのがUXデザイン。その中でWeb制作に切っては切れない関係のスマホは「タッチポイント」と呼ばれ、ユーザーがどういった感情や状況化で利用するのかを調べます。余談ですが、CX(顧客体験)はUXのBtoB版なのでデザインの方法は同じです。一方で、ユーザーが目的達成までに接触するものがUIとなります。したがって、スマホ自体、Webサイト自体、Webサイト内のボタン一つひとつまでもがUI。UXデザイン上で浮上したユーザー(ペルソナ)がWebサイト内でいかに理想の行動をとってくれるかを研究します。※予算によっては被験者を呼び、ユーザビリティテストを行います。こういったUXとUIの違い、関係性を理解しておけば、例えばディレクターはその要望(目的)にWebサイト自体が必要であるかどうかを判断もしやすくなりますし、プロジェクトメンバー間でUI/UXについて相違があってもお互いに立ち返れるようになると思います。

  • テクログ

    Resource Hintsを使いこなしたい

    今対応している案件でHTMLレンダリングを高速化できないかと考えておりまして、今までバックエンド側の対策を中心に考えていたのですが、フロントも何か解決策はないかと思い調べていたらResource Hintsなるものに出会いました。ざっくり言うと遷移前のページで遷移先の情報を事前取得することで遷移先のレンダリングを早くするという手法です。実用例としては以下の様にユーザーが次に移動すると考えられるページURLを指定します。・フォームの入力画面→確認画面・ブログの一覧・詳細→トップページHTMLに属性を追加するだけで簡単に実現できるので試していこうと思います。

  • テクログ

    Googleアナリティクス4(GA4)の備忘録

    業務でGoogleアナリティクスを使用する機会があり、少し見ないうちに変更されている点が多くありましたので、自分用として調査しました。2種類のバージョンの存在GAには、ユニバーサル アナリティクス(UA)と次世代のGoogle アナリティクス4(GA4)があり、設定次第で両方の画面を確認できます。これまでのUAでは「マイレポート機能」が便利だったのですがGA4では削除され、大きくアプリ寄りになっている印象を受けました。以下の「データストリーム」という設定項目からもわかる通り、順番も「iOS」と「Android」がウェブに先んじています。※GA4は「アプリ + ウェブ」という名称で開発を進められていた経緯があります。GA4の売りについてAI(機械学習)による行動予測機能がセールスポイントです。(1)購入の可能性アプリ/ウェブを訪問したユーザーが、今後7日以内に商品購入に至る可能性を予測する指標。(2)離脱の可能性アプリ/ウェブを訪問したユーザーが、今後7日以内に利用しなくなる可能性を予測する指標。上記機能を試したのですが、残念ながら該当サイトではデータが思うようにまだ蓄積されておらず、AIによる候補表示がうまく機能しませんでした。これからの機能という印象でした(ビッグデータがないと統計的にも有意にならないため)。特にゲームアプリの場合は、月額課金(サブスクリプション)の継続率が重要になるので、離脱予測による事前対策も一考だと思います。便利に感じた機能について分析を開始するに当たって、どのような項目から始めたらよいかを、質門形式で教えてくれます。これは「アナリティクス インテリジェンス」と呼ばれる機能です。質問形式の選択肢は、ユーザーフレンドリーなインターフェイスといえます。データ分析に答えはありませんが、始めにこうした機能が提示されることで、とても扱いやすく感じました。*実際の分析データなども社内資料としては作成したのですが、データは繊細な面があるのでここでの掲載は行いません。今後も最新のGA機能をテストしていきたいと思います。

  • テクログ

    MySQLの最大行サイズは65,535 バイトらしいです

    ## 試した環境* XAMPP v3.2.3  * mysql Ver 15.1 Distrib 10.1.38-MariaDB, for Win64 (AMD64)mariaDBなので厳密にはMySQLではないと思いますが無視しています。MySQLであると思っています。## 最大行サイズMySQLの最大行サイズは **65,535 バイト**らしいですテーブルの内部表現の最大行サイズは 65,535 バイトであり、ストレージエンジンがこれ以上のサイズの行をサポートできる場合でもこのサイズになります。BLOB または TEXT カラムはこのサイズに 9 から 12 バイトしか関与しないので、これらのカラムはこのサイズに含まれません。https://dev.mysql.com/doc/refman/5.6/ja/storage-requirements.html## 試す以下の状況だとエラーにはならない* varchar => 文字コードの1文字に使われるバイト数×長さ のバイトが確保される  * utf8 は1文字あたり3バイト使われる* MySQLの最大行サイズは **65,535 バイト*** int で**4バイト**確保される* のこり使えるバイト数 65535 - 4 = **65531バイトのはず*** utf8のvarcharで 65531 / 3 = 21843.666....  * 21843 文字は使えそうですが**実際にはエラーになりました**  * 21842 文字は大丈夫でした## 実際に使用されるデータ量を計算してみる### 前提として varchar は長さを格納するために 2バイト 使用します> 可変長カラムのストレージには長さバイトが含まれ、これには行サイズに対して評価されます。たとえば、VARCHAR(255) CHARACTER SET utf8 カラムは、値の長さを格納するために 2 バイトを使用するので、それぞれの値は最大 767 バイトを使用できます。https://dev.mysql.com/doc/refman/5.6/ja/column-count-limit.htmlvarcharだと**2バイト**は値の長さを格納するのに使うらしいです。### 踏まえて計算してみる* 21843 文字の場合、使用されるバイト数は 21843 * 3 + 2 = 65,531バイト  * int型の4バイトを足すと **65,535 バイト** になります。最大行サイズと一致しますが、65,535 バイトは駄目っていうことですかね。それとも別のデータを格納しているから駄目とか。* 21842 文字の場合、使用されるバイト数は 21842 * 3 + 2 = 65,528バイト  * int型の4バイトを足すと **65,532 バイト** になります。最大行サイズより 3バイト 少ないデータ量なので問題ないのは納得です。## 最大行サイズぴったりだとアウトなんですかね不明です。このブログ投稿のエディタには太字がないのか。