技術者ブログ – Reactの紹介

技術者ブログと題して社員が日ごろ取り組んでいる学習内容を紹介します。
今回はWEBデザインをテーマにしている第0ユニットです。
本記事では、第0ユニットが注目している「React」についてご紹介をします。

Reactとは?

Facebook社が開発したWebサイト上のUIパーツを構築するためのJavaScriptライブラリです。React.jsやReact.JSと呼ばれることもあります。よくAngularJSやjQueryと比較されますが、React自体はフレームワークでなく、あくまでもUIを構築するだけのライブラリです。

投稿者もこの記事を書く上で、調べるまで前者の人間でした。
実際、第0ユニットで利用しているMonaca上で、フレームワークを使用したテンプレートを作成する際、ReactやAngularJSが選べるため、わりと勘違いすることが多いかもしれないです。

Reactは、開発元の「Facebook」をはじめ、「Instagram」はもちろん、「Yahoo!」「Netflix」など、世界中で数多く採用されているみたいです。

特徴

・宣言的なView
・コンポーネントベース

宣言的なView

Reactは、Webアプリの各部分のView(見た目)を、「こういう表示にしたい」と宣言的に記述できます。
記述について触れましたが、ReactのViewの記述にはJSXという構文を使用します※1。
JSXは、HTMLとほぼ同じ構文で記述でき、JavaScriptの処理も組み合わせた記述も可能です。JSXを使うことで、HTMLのようにシンプルでわかりやすい宣言的なコードが書けます。
JSXの書き方について、投稿者の所感では、人によっては違和感を拭うのに時間がかかるかもしれないです。
※1…Reactを使う際にJSXを必ず使わなくてはいけないわけではないようです。

コンポーネントベース

Reactでは、WebアプリのUIをコンポーネントと呼ばれる部品に分割して管理します。コンポーネントは、単独で機能する再利用可能な部品です。大規模なJavaScriptコードも部品化させることで保守性を高め、既存のReactコンポーネントを再利用することで、開発工数を減らすことができます。

さて、ここまでの特徴のイメージを持ってもらうために、サンプルコード(中身部分)を用意しました。

JSXの書き方として、文字列以外の値(数字、boolean、変数など)を HTML タグの属性に代入する際には {} を使う特徴があります。※2
※2…他にも沢山特徴はありますが、今回は割愛させて頂きます。

例として、37行目を見ると{this.onInput}と書かれていることが確認できるかと思います。
ここでは、onInput(<input> 要素の値が変更)の際に、定義しているonInputを呼び出し、setStateによってnameの状態をイベントから取得した際の値で変更しています。
このようにコンポーネント(この例ではテキストボックス)毎に分割してWebアプリのUIを作っていきます。

  1. import React, { Component } from 'react';
  2. export default class Todo extends Component {
  3.     constructor(props) {
  4.         super(props);
  5.         this.state = {
  6.           todos: [],
  7.           name: ''
  8.         };
  9.       }
  10.       //テキストフィールドに入力された値を name として state に保存
  11.       onInput = (e) => {
  12.         this.setState({
  13.           name: e.target.value
  14.         });
  15.       }
  16.       //登録ボタン処理
  17.       addTodo = () => {
  18.         const { todos, name } = this.state;
  19.         this.setState({
  20.           todos: [...todos, name]
  21.         });
  22.       }
  23.       //削除ボタン処理
  24.       removeTodo = (index) => {
  25.         const { todos, name } = this.state;
  26.         this.setState({
  27.           todos: [...todos.slice(0, index), ...todos.slice(index + 1)]
  28.         });
  29.       }
  30.       render() {
  31.         const { todos } = this.state;
  32.         
  33.         return (<div>
  34.         超簡易版ToDoりすと<br/>
  35.           <input type="text" onInput={this.onInput} />
  36.           <button onClick={this.addTodo} >登録</button>
  37.           <ul>
  38.             {todos.map((todo, index) => <li key={index}>
  39.                 {todo}
  40.           <button onClick={() => { this.removeTodo(index) }}> 削除</button>
  41.             </li>)}
  42.           </ul>
  43.         </div>);
  44.       }
  45. }


上記ソースコードを環境整えた後にブラウザで表示してみました。
テキスト入力欄にデータを入れて、登録ボタンを押すと
画面上のリストが更新されたのが確認できます。
このように、データをどのように配置するかを定義しておくだけで、データの変更を検知し、自動的に表示を更新する。といった点もReactならではの特徴です。

今回はReactについて紹介しました。
次回の第0ユニットの技術者ブログもお楽しみに!

社員紹介

ご覧いただきありがとうございます。

はじめまして、今年4月ダンデライオンズに入社した中国出身の「チェン」です。

経歴

来日前、中国で理系の大学を卒業し、そのまま機械エンジニアとして3年間働きました。日本のアニメや文化に興味があるために、独学で日本語をN1まで勉強していました。そして、日本に留学することを決意しました。

来日後、日本の文系大学院に入学しました。去年の9月大学院を卒業し、今年の4月にダンデライオンズに入社しました。今は第1ユニットに所属しています。

現在の活動

入社してから基本的なIT知識の研修を受けました。プログラム言語はもちろん、社会人にとって必要なビジネスマナーもしっかり学んでいきました。研修期間中にITパスポート資格を取得し、現在は基本情報技術者資格に向けて勉強しています。また、8月からプロジェクトに参画することになり、学ぶことたくさんあってなかなか難しいですが、先輩たちがいつも助けて頂いたおかげで、だんだん慣れてきました。これからもっと頑張りたいと思います。そして、一日のスケジュールも紹介したいと思います。

8:45  出勤

9:00 作業開始(メールとスケジュールをチェックしてから作業します)

12:00 昼休み(基本的にお弁当を持って行きます)

13:00 作業再開

16:30 夕会(情報共有、進捗状況の報告など)

18:00 退勤

興味

激辛料理大好きです!激辛料理に挑戦することが好きです。それでは、最近食べた激辛料を紹介させていただきます。

まず一つ目はこちら、COCO壱番屋の激辛料理です。ご存知かもしれませんが、COCO壱番屋では、カレーの辛さを選択することが可能です。1辛の32倍と言われる一番辛い15辛カレーです。すごく美味しく頂きました!

coco壱番屋15辛カレー

二つ目は、名古屋ですごく有名な中国料理「味仙」の台湾ラーメンです。台湾ラーメンがそもそも辛いですが、普通の台湾ラーメンで満足できない自分は、いつも一番辛い5辛のラーメンを食べます。

台湾ラーメン1~5辛

また最近は、キャンプにはまっています。美しい夕日を楽しみながら、美味しいキャンプ飯を食べるのは最高でした!

以上になります。

次回の社員紹介をお楽しみに!

技術者ブログ – UTMによるWebフィルタ

技術者ブログとして日ごろ取り組んでいる学習内容をご紹介します。
今回はインフラをテーマにしている第3ユニットです。

第3ユニットでは、ダンデライオンズ社内のインフラ管理をしております。

今回は、社内ネットワークの強化のために導入したUTMについてお話します。
導入したUTM機器は、FortiGateというもので、世界で最も導入されているUTMの1つです。

次世代ファイアウォール(NGFW)FortiGate

UTM(FortiGate)とは

UTM(FortiGate)は、以下に挙げるような複数のセキュリティ機能を1台のきょう体に統合している機器です。

・アンチウイルス(アンチスパイウェアを含む)
・Webコンテンツフィルタリング
・SSL-VPN、IPSec-VPN
・ファイアウォール
・IPS(不正侵入制御)
・アンチボットネット
・アンチスパム
・アプリケーション制御

Webフィルターの設定

業務外のインターネット利用をブロックする仕組みです
FortiGateのWebフィルタは「カテゴリ単位のフィルタリング」「URLでのフィルタリング」が設定できます。
Webフィルタを適用することにより、ユーザーのWebアクセスをブロックしたり、監視することが可能です。
今回は、「カテゴリ単位のフィルタリング」を実施しました。

新規Webフィルタの作成

「FortieGuardカテゴリベースのフィルタ」をONにし、
その下の、カテゴリ毎に、ブロックするかログに残すのみ(モニタ)か設定します。

ファイアウォールポリシーにWebフィルタを設定

社内ネットワークのファイアウォールポリシーに作成したWebフィルタを設定します。

指定したカテゴリが機能しているか確認

実際に閲覧を禁止しているカテゴリのWebページを表示すると以下のように表示されることが確認できました。

以上となります。

FortieGateは、他にも様々なセキュリティ対策が行えますので、随時設定を行いたいと思っています。

次回の技術者ブログをお楽しみに。

社員紹介(29-2)

皆さん、こんにちは!

イエンです。ダンデライオンズに入社して2年目になりました。

現在の活動

去年の10月からJava AppletからTypecriptへ変換するというプロジェクトに参画しています。

プロジェクトに入って、要件から設計、製造、システムテストまで作っていきました。現在は性能改善に苦労しています。プロジェクトの参画中に重要な経験を蓄積でき、スキルもだんだんアップしていきます。初めての案件なので、分からなかったことがたくさんありますが、他のメンバーに積極的に教えて頂いた為、順調に作業を進めていました。

今回のブログで1日の仕事の流れをシェアしたいと思います。
8:50 出勤
9:00 仕事開始
9:30 朝会(共有情報展開)
朝会が終わったら、作業再開
12:00 – 13:00 お昼休み
17:30 夕会(本日の状況と明日の予定を報告する)
18:00 退勤

案件以外はユニットの活動をしています。OutSystemで勤怠システムのAPIを作っています。勤怠システム作成のため、OutSystem、APIについて、勉強しました。それによって、新しい分野を学ぶことができ、自分のスキルの幅が広がりました。

勤怠システムAPIとして下記の4機能を制作しました。
①今年度年休数を取得、対象日付を本日に設定
②デフォルト設定の開始時間/終了時間を設定
③対象日付に年休登録
④対象日付に出勤時間と退勤時間を登録

勤怠登録システムの初期表示(開発中画面)

趣味

前回の社員紹介で書いた通り、私の趣味は旅行することです。

連休の時にはあちこち旅行します。新しい地域へ行くたび、素晴らしいな景色を見物でき、面白いことを体験しました。

岐阜県の雪節
京都府にある海岸

今年の行ってきた場所でした。

以上になります。

次回の社員紹介をお楽しみに!

社員紹介(26‐2)

ご閲覧いただきありがとうございます。2度目の社員紹介記事を担当いたします、第3ユニット所属の「じょーじ」です。チェコ出身です。

現在の活動

私の最初の社員紹介からもう1年間以上経っているのは、なかなか信じがたいです。昨年の7月にプロジェクトに入り、データベース関連の作業をしていましたが、11月から現在までは、ローコード開発環境のOutsystemsで開発を行っています。もちろん、ローコードとはいえ、プログラムの動きやデータの流れを把握する必要があり、カスタムな処理を実装する際にJavaScriptのコードを書くことがあります。

趣味

前回は、散歩の面白さについて書きましたが、今回はゲームについて紹介したいと思います。

最近は、話題作になっている「ゼルダの伝説 ティアーズオブザキングダム」をプレイしています。自由度の極めて高いアクションアドベンチャーゲームであり、プレイヤーがゲームの世界を好きなように探索し、コンテンツを攻略していけます。ちなみに、一度攻略したコンテンツは、いつでも瞬間移動可能なスポットになります。結果として、しばらくプレイしたら、ゲームの世界を覆う瞬間移動スポットの網ができます。

ところが、私の好みのプレイスタイルは、瞬間移動機能をできるだけ使わないで、馬に乗って世界を旅することです。旅の途中、出遭った敵を倒したり、洞窟を探索したり、新しいクエストを発見したりしますので、強い「冒険感」を味わえます。そしてその「冒険感」こそが「ティアーズオブザキングダム」の醍醐味なのではないかと思います。

次回の社員紹介をお楽しみに!

愛馬の「ソーダちゃん」です。
「旅人の手綱」と「旅人のくら」をつけています。

社員紹介(27-2)

ご閲覧いただきありがとうございます。
二度目の社員紹介記事を担当いたします、第2ユニット所属の「オセドゥム」です。
ナイジェリア出身です。

現在の状況

ダンデライオンズに入社して今年で 2 年目になります。
昨年の12月より実際の案件に携わらせていただいております。
プロジェクトチームで働くのは素晴らしい時間であり、新しいことを学ぶことができます。

私は仕事が速いわけではありませんが、スピードと仕事のスキルを向上させるために最善を尽くします。また、職場でチームとうまくコミュニケーションできるよう、日本語スキルも学んでいますので、日々上達することを考えています。

最近のお気に入り

最近は栄千種周辺とお気に入りの鶴舞公園を散歩するのが好きです。 鶴舞公園は私が名古屋で見た中で最も美しい公園の一つで、素晴らしい景色が楽しめます。3つの公園は緑が多く、鶴舞公園の自然はとても素晴らしいです。

鶴舞公園は、都会の喧騒から離れて休息できる静かな隠れ家として佇んでいます。 緑、静かな池、鮮やかな桜の木があるこの絵のように美しい公園は、地元の人々にも観光客にも同様に愛される場所となっています。 このブログでは、鶴舞公園の美しさだけでなく、名古屋の必見の目的地となっているさまざまな魅力について探っていきます。

自然の美しさと静けさ

鶴舞公園は 25 ヘクタール以上の広さがあり、自然の美しさで有名です。 訪問者が公園に入ると、木々の天蓋と周囲を包み込む静寂な雰囲気が迎えてくれます。 公園の目玉は、美しいスイレンで飾られ、優雅な白鳥やアヒルが生息する大きな池です。 池の周りを蛇行する遊歩道は、ゆっくりとした散歩、ジョギング、サイクリングに最適な環境で、訪問者は自然の恵みに浸ることができます。

桜ワンダーランド

春になると、鶴舞公園は桜のワンダーランドに変わります。 500~1000本を超える桜が満開になり、繊細なピンク色の花びらが息を呑むような光景を作り出します。 この公園は花見の人気スポットとなり、友人や家族が木の下に集まり、ピクニックを楽しんだり、花の儚い美しさを鑑賞したりすることができます。 静かな雰囲気の公園を背景に咲く花々はまさに圧巻です。


鶴舞公園は、緑地を保護し、住民と観光客の両方に安らぎの場所を提供するという名古屋の取り組みの証です。 名古屋を訪れたら、美しい鶴舞公園で静かな雰囲気に浸る機会をお見逃しなく。

今回は以上になります。
次回の社員紹介もお楽しみにして頂けると幸いです!

社員紹介(28-2)

閲覧いただきありがとうございます。
2回目の登場となります。「りん」です。(前回の記事はこちら

今回は最近食べた物やゴールデンウイーク中の出来事などを紹介します。

最近食べた物

まずはこちら!!

ご存知の方はいらっしゃるでしょうか?
袋の中には梅酒の梅の実が入っていて、程よい甘さでとてもおいしいです。
私はそのまま食べるのが好きですが梅酒の中に入れたり料理にも使えるそうです。
おいしくてパクパク食べれてしまうのですが、この商品はアルコール(約12%)を含んでいるのでお酒に強くない私は1粒食べただけで酔っ払ってしまいます。
お酒に強い人がうらやましいなと思います。

梅酒も好きですが、梅干しも大好きでよく食べます。
梅干しはしょっぱい派と甘い派に分かれますが、私は甘いはちみつ梅干し派です。

京都に好きな梅干し屋さんがあるので、いつか紹介できたらと思っています。

続いてはこちら!

ずっと食べてみたかった「ブルダック炒め麺」です。
カルボ味と迷ったのですが、チーズ味をチョイスしました。
初めて食べるので辛さの度合いが分からなかったのですが、中に入っている辛さが調整できるソースは全部投入して作りました。
感想としては、、、辛い。けど、おいしい。でも、辛い!!!!!!!
ふたくち目を躊躇するほど舌に差すような辛味が衝撃的でした。ですが、チーズ味だったのもあってか、辛い中にも甘味が感じられ、おいしく食べることができました。
今回はアレンジをせずにそのままで食べましたが、生卵や追いチーズなどをトッピングしてまた食べようと思います。一緒に食べた友人は、しんどそうでしたね・・・

辛さランキングを見て、同じ味でも「袋麵」か「カップ麺」かで、辛さが違うことを後日知りました。知らなかったので衝撃を受けました。ちなみに私が見たランキングではチーズ味カップ麺タイプは全12種類の内、第6位(上から6番目の辛さ)でした。
辛い物は好きですが、激辛は得意じゃないので、これ以上辛い他の味へのチャレンジはやめておこうと思います。

映画鑑賞

名探偵コナンの最新作「黒鉄の魚影(くろがねのさぶまりん)」を見てきました。
ネタバレになるのであまり言いませんが、最初からそうだったの!?あの人がそんな行動を!?と、とても見応えがあり、面白かったです。

主題歌を歌っているスッピッツも好きなバンドなのでより映画を楽しむことができました。

時間通りに上映されず、ポップコーン売り場が激込みだったから並んでいる人が買えるまで調整しているのかなーと、のんきに待っていたら、実際は機械トラブルが発生していて、40分ほど開始時刻が遅れるという貴重?な経験もできました。
次回作も楽しみです。(次は久しぶりにあの人が登場するようですね!※ネタバレ防止)

バーベキュー

ゴールデンウイークにバーベキューをしました!

友人がコストコに買いに行ってくれたタン

タンは1本丸ごと購入し、血抜きなどの下処理をしておいしくいただきました。
ちなみに、下処理は友人がすべてやってくれました。
(下処理中の光景はパンチが強いので、私は怖くて見れなかった・・)

写真を撮るのを忘れてしまった(友人よ。すまん。)のですが、ロティサリーチキンをリクエストしたら買ってきてくれたので、こちらもおいしくいただきました。

肉や海老など、沢山用意してくれました


調子に乗って食べ過ぎましたが、お酒も飲みつつバトミントンもしつつ・・と、とても充実した日を過ごすことができました。
少しずつ以前の日常を過ごすことができるようになり、こうしてみんなと集まってワイワイすることができてとても嬉しいです。

今回はここまで!
最後までお読みいただきありがとうございました。

次回もお楽しみに!!

社員紹介(31)

ご覧いただきありがとうございます。
ダンデライオンズ最年長の「ふな」です。

会社では

業務管理部に所属してます。
主に営業を中心に契約・請求等、社内業務に関する事を全般に担当しています。
技術者のみなさんのお仕事の相談なども。

私的には

岐阜県出身ですが、社会人となって半分以上は単身赴任で日本各地に行ってました。
3か月以上住んだことがあるのは、東京都・神奈川県・山梨県・静岡県・愛知県・三重県・京都府・大阪府・岡山県・広島県・福岡県です。

趣味のひとつなのですが、お城巡りが好きです。
日本各地に行った際には、近くのお城に立ち寄るようにしています。
北は北海道の五稜郭から南は沖縄の首里城まで足を運びました。
日本を代表するお城は、小田原城・名古屋城・大阪城・熊本城等たくさんありますが、
私は白鷺城(姫路城)が好きです。
みなさんが好きなお城はどのお城ですか。

山登りも好きなので、次回は山について書いていきたいと思います。

以上、ふなでした。
次回の社員紹介もお楽しみに!

社員紹介(22-2)

ご覧いただきありがとうございます。
今回の社員紹介記事を担当します、第2ユニットの「オギ」です!
今回二度目の担当です。(前回はこちら

最近のゆる趣味


前回の記事から1年余、現在も趣味のリアル脱出ゲームに時折行きます。
また、近頃は趣味とまではいきませんが展覧会へ行くようになりました。

名古屋でも美術館や科学館、百貨店などいろんな場所で、さまざまな展覧会が開催されています。
ほとんどが期間限定での開催なので、つい足を運んでみたくなります。
東京や大阪だけの開催でなく、全国巡回で近場にやってくることがあるのも嬉しいところです。

今までに国内外100組のアーティストが出展する国際芸術祭や、絵本作家さんの個展などに行きました。

作者が何故この作品をつくるに至ったのか、その人が何を考えて生きている/生きていたのかなどを、作品や説明から受け取って考えてみながら観るのが面白いです!

また、国際芸術祭では名古屋を離れた街中にも会場が点在していて、行ったことのない街を歩き回って作品鑑賞するのも楽しかったです。

今度は科学館で開催しているような自然科学系の展覧会にも足を運んでみたいと思います!

今回の記事は以上です。
次回の記事もお楽しみに!

社員紹介(23-2)

閲覧いただきありがとうございます。
2度目の社員紹介になります、「xig」です。
前回の記事はコチラです。

前回、様々な趣味があると冒頭に書かせていただきました。
今回は食べ歩きの趣味にフォーカスを当てて、最近食べた美味しいものを紹介させていただこうと思います!

熱々!
焦がしニンニクのスープ×極厚肉ラーメン

1品目に紹介するのは、
静岡県袋井市のIC付近にある麺屋はやたろうで食べた
その名も「厚肉」。
画像ではわかりにくいのですが、
思っているより2.5倍はチャーシューが厚いこちらのラーメン。
なのに、口に入れた一瞬で溶けるそれはまさに角煮のような感覚でした!
(食べた瞬間思わず笑ってしまいましたw)

また、焦がしニンニクが効いたスープは、なめらかだけどパンチのある濃さで、ラーメンを熱々に保ってくれるため、最後の一杯まで楽しむことができました!

禁断の組み合わせ!鰻と牡蠣のカバうな丼!

2品目に紹介するのは、静岡県の浜松市舘山寺にあるうなぎ・和食処 松の家で食べた
元祖牡蠣カバうな丼」(冬限定)です。
メニューを見た瞬間目を疑いましたが、ホントに名前通りの物が出てきましたw
あっさり寄りのタレは、クリーミーな牡蠣と相性が抜群で、
鰻のカリッとした触感が食欲をより一層引き立てます。
食べても飽きが来ないので、値段に目をつむれば無限に食べれちゃうかもです!
ちなみに、このお店は某グルメ系ドラマでも紹介されており、
著名人のサインもいくつか店舗に飾ってありました。
(腹が…減った…)

今回は以上になります。
次回の社員紹介もお楽しみにして頂けると幸いです!