11月社内コンテスト告知!!

当社では、毎年11月に各ユニットごとに年間の活動内容の報告会を実施しています。

各ユニットごとに評価項目を設定し報告を行い、各ユニットメンバーと代表により
採点が行われます。

各ユニットの目標は下記となっています。

第0ユニット

・Webトレンド調査
・コーポレートサイト、リクルートサイト運用
・社内開発アプリについて(第3ユニットと共同)

第1ユニット

・Luckyboxブログ
・ハローワールドWeb版
・お菓子認証アプリ
・勤怠入力API(第2ユニットと共同)

第2ユニット

・OutSystemsを利用した社内勤怠管理システムの構築
・スマホアプリでの勤怠簡易登録機能の構築

第3ユニット

・社内サーバー構築
・セキュリティ対応

前回の発表の様子

今年の活動内容を全メンバーにアピールできる絶好の機会です。
各ユニット内で発表の準備をしっかり行い、惜しみなく発表してください!

報告会の内容は、後日お届けさせていただきます。

お楽しみに!!

Engineer’s Blog – Let’s classify images with TensorFlow

For this engineer’s blog, I would like to introduce the learning content that I am working on on a daily basis. I am from the first unit working with themes such as AI and big data. This time, I will introduce a simple model for classifying images using TensorFlow.

TensorFlow is an open-source machine learning library widely used for machine learning and deep learning. It can be used for various tasks such as image classification.

To classify images with TensorFlow using the Python language, follow these steps:

1. Install TensorFlow

2. Load the dataset

This example uses the MNIST dataset. The MNIST dataset contains 60,000 training images and 10,000 test images of handwritten digits.

To load the MNIST dataset, use the following code:

This code reads the MNIST dataset and splits it into training and test images.

3. Preprocess the data

MNIST images are grayscale images and are all 28×28 pixels in size. Before training the model, we need to normalize the images.

To normalize the image, use the following code:

This code normalizes the value of each pixel in the image to a range of 0 to 1.

4. Define the model

This example uses a simple model. The model has two layers: a convolutional layer and a fully connected layer.

The convolutional layer extracts features from images. The fully connected layer classifies the image based on the features extracted by the convolutional layer.

Use the following code to define the model:

This code defines a model with four layers:

  • The first layer is a convolutional layer. This layer extracts a 28x28x32 feature map from the image.
  • The second layer is the max pooling layer. This layer reduces the size of the feature map by half.
  • The third layer is a planarization layer. This layer converts the feature map into a one-dimensional vector.
  • The fourth layer is a fully connected layer. This layer classifies images based on feature vectors.

5. Compile the model

To compile the model, you need to specify the loss function, the optimizer, and metrics.

The loss function is used to measure how well the model performs on the training data. The optimizer is used to update the weights of the model to minimize the loss function. Metrics are used to evaluate model performance on training and testing data.

Use the following code to compile the model:

This code uses “sparse_categorical_crossentropy” for the loss function, “adam” for the optimizer, and “accuracy” for the metric.

6. Train the model

To train the model, run the code below:

This code trains the model for 10 epochs (iterations).

7. Evaluate the model

To evaluate the model, run the code below:

This code calculates the model’s accuracy on the test data.

8. Make predictions

To make predictions on a new image, run the code below:

This code outputs the predictions the model made on the test image.

This was the first step toward image recognition. In this blog, I introduced the basic steps for training a model for image classification using TensorFlow.

技術者ブログ – TensorFlowで画像を分類しよう

技術者ブログとして日ごろ取り組んでいる学習内容をご紹介します。今回はAI、ビッグデータをテーマにしている第1ユニットです。 今回のテーマはTensorFlowで画像を分類のための簡単なモデルの学習です。

TensorFlowは、機械学習やディープラーニングに広く使用されているオープンソースの機械学習ライブラリです。画像分類などのさまざまなタスクに使用できます。

Python言語を利用したTensorFlowで画像を分類するには、以下の手順を実行します。

  1. TensorFlowをインストールする
pip install tensorflow
  1. データセットを読み込む

この例では、MNISTデータセットを使用します。MNISTデータセットには、手書き数字の60,000枚のトレーニング画像と10,000枚のテスト画像が含まれています。

MNISTデータセットを読み込むには、次のコードを使用します。

import tensorflow as tf

(train_images, train_labels), (test_images, test_labels) = tf.keras.datasets.mnist.load_data()

このコードは、MNISTデータセットを読み込み、トレーニング画像とテスト画像に分割します。

  1. データを前処理する

MNIST画像はグレースケールで、すべて28×28ピクセルのサイズです。モデルをトレーニングする前に、画像を正規化する必要があります。

画像を正規化するには、次のコードを使用します。

train_images = train_images / 255.0
test_images = test_images / 255.0

このコードは、画像の各ピクセルの値を0から1の範囲に正規化します。

  1. モデルを定義する

この例では、シンプルなモデルを使用します。モデルには、畳み込み層と全結合層の2つの層があります。

畳み込み層は、画像から特徴を抽出します。全結合層は、畳み込み層で抽出された特徴に基づいて画像を分類します。

モデルを定義するには、次のコードを使用します。

model = tf.keras.models.Sequential([
  tf.keras.layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),
  tf.keras.layers.MaxPooling2D((2, 2)),
  tf.keras.layers.Flatten(),
  tf.keras.layers.Dense(10, activation='softmax')
])

このコードは、4層からなるモデルを定義します。

  • 最初の層は畳み込み層です。この層は、画像から28x28x32の特徴マップを抽出します。
  • 2番目の層は最大プーリング層です。この層は、特徴マップのサイズを半分に縮小します。
  • 3番目の層は平坦化層です。この層は、特徴マップを1次元のベクトルに変換します。
  • 4番目の層は全結合層です。この層は、特徴ベクトルに基づいて画像を分類します。
  1. モデルをコンパイルする

モデルをコンパイルするには、損失関数、オプティマイザー、指標を指定する必要があります。

損失関数は、モデルがトレーニングデータに対してどれくらいうまく機能しているかを測定するために使用されます。オプティマイザーは、損失関数を最小化するためにモデルの重みを更新するために使用されます。指標は、トレーニングデータとテストデータに対するモデルのパフォーマンスを評価するために使用されます。

モデルをコンパイルするには、次のコードを使用します。

model.compile(loss='sparse_categorical_crossentropy',
              optimizer='adam',
              metrics=['accuracy'])

このコードは、損失関数に「sparse_categorical_crossentropy」を、オプティマイザーに「adam」を、指標に「accuracy」を使用します。

  1. モデルをトレーニングする

モデルをトレーニングするには、以下のコードを実行します。

model.fit(train_images, train_labels, epochs=10)

このコードは、モデルを10エポック(繰り返し)トレーニングします。

  1. モデルを評価する

モデルを評価するには、以下のコードを実行します。

test_loss, test_accuracy = model.evaluate(test_images, test_labels)

print('Test loss:', test_loss)
print('Test accuracy:', test_accuracy)

このコードは、モデルのテストデータに対する精度を計算します。

  1. 予測を行う

新しい画像に対して予測を行うには、以下のコードを実行します。

predictions = model.predict(test_images)

# Print the predictions
print(predictions)

このコードは、モデルがテスト画像に対して行った予測を出力します。

以上、画像認識への第一歩でした。このブログ記事では、TensorFlowを使用した画像分類のモデル学習の基本的な手順をご紹介しました。

Employee Introduction

Hi, I am “Jitsuharan” who belongs to the 2nd unit.
I joined Dandelions in April of this year!

Career History

I am from Nagano Prefecture and I attended a science related university in Nagoya. Before joining the company, I had very little knowledge and no experience in the field of IT, but after joining Dandelions, I received an IT training and I was able to obtain the “IT Passport” qualification. Currently, I am studying hard to obtain other qualifications!

Current work

After doing a 3 months IT training, I started in July working on my current project. I am creating a design document for an application management system using Outsystems. At first, they were a lot of things that I did not understand and it was quite difficult. However, and thanks to the support of my senior colleagues and fellow project members, I gradually got used to the work. I think it is important to ask my seniors about things I do not understand or have questions about, and it helps me take actions and progress. I will continue to learn a lot from my seniors!


Now I will introduce my daily schedule.
8:40 AM: I go to work
9:00 AM: I start working
9:30 AM: Morning meeting (with my coworkers, we confirm the day’s work and share information)
12:15 PM: Lunch break (I often eat lunch with my project members at the cafeteria)
13:15 PM: I restart working
16:00 PM: I write on my “progress report” today’s work
18:00 PM: I leave work

Self-introduction

I grew up in a small town called Achimura in Nagano Prefecture. Compared to Nagoya, it is very rural and empty! I still have fond memories when I was in high school of walking an hour to the closest bus stop to hang out with friends. They are not many things to do here, but Achimura also has some famous tourist spots! It is becoming a hot topic lately, but it is the place with the most beautiful starry sky in Japan! You cannot see many stars in Nagoya, but every time I step outside my family’s house, the starry sky is as beautiful as if it was a planetarium! I love this starry sky and I often go back to my hometown to look at the stars. (There is a high probability that it will be cloudy on the day I return home.)

Starry sky☆

The flowers of the peach trees of Achimura are also famous. During the blossom season, many tourists come to Achimura to see them. I went to see them this spring too and it was so beautiful! As you can see on the picture, the entire area is colored with red, white, and pink flowers, which is amazing! The day this place will become an Instagrammable spot is near… The place where you can see the peach flowers is close to the place where you can take a starry sky tour, so I think it is a good idea to visit both places! There are also various tourist spots such as hot springs and glamping facilities, as well as delicious food, so please come and visit my hometown, Achimura!

“Hanamomo no Sato” in Achimura

That is all for now.
Please look forward to the next employee introduction!

社員紹介

ご覧いただきありがとうございます。
第2ユニット所属の「じつはらーん」です。
新入社員として、今年の4月に入社しました!

経歴

長野県出身で、名古屋の理系の大学に通っていました。入社まではITに関しての知識がほぼなく未経験でしたが、入社してからはITに関しての研修を受け、ITパスポートの資格を取ることが出来ました。現在は他の資格取得に向け勉強を頑張っています!!

現在の業務

3ヶ月の研修を受け7月から現在のプロジェクトに参画しています。現在はOutsystemsを使用した申請管理のシステムの設計書を作成しています。初めての業務はわからないことがたくさんあり大変です。ですが、周りの先輩や同じプロジェクトメンバーのサポートのおかげで少しづつですが業務に慣れてきました。わからないことや疑問に思ったことなどは先輩に聞き、自分ができることは何かを考え行動することが大事だと思いました。今後も先輩方の行動を見てたくさん学んでいこうと思います!!ここで私の一日のスケジュールを紹介します。


8:40  出勤
9:00  作業開始
9:30  朝会 (一日の作業確認、情報共有)
12:15  昼休み (食堂でプロジェクトメンバーと昼食を食べています)
13:15  作業再開
16:00  進捗報告 (一日の作業を報告)
18:00  退勤

自己PR

私の出身は長野県の阿智村という場所です。名古屋に比べるととても田舎で何もないです!高校生の時、遊びに行くのにバス停まで歩いて一時間かけて行っていたのは今でもいい思い出です。それほど何もない場所です! そんな阿智村ですが、有名な観光スポットもあります。最近は少しずつ話題になっていますが、日本一星空が綺麗な場所なんです!!名古屋ではあまり見られない星も実家の外に出ればプラネタリウムくらいきれいな星空が広がっています!!この星空が私は大好きで星を見に帰省したりしています。(帰省する日は高確率で曇りです泣)

星空☆

ほかにも阿智の花桃が有名です。シーズンになるととても多くの観光客が花桃を見に阿智村にやってきます。今年の春に私も見に行きましたがとてもきれいでした!!見渡す一面が、赤、白、ピンクなどの花桃で彩られており最高です!!!ここがインスタ映えスポットになる日も近いでしょう…花桃が見られる場所は星空のツアーを行っている場所と近いので両方を見に訪れるのがいいと思います!ほかにも温泉やグランピング施設など様々な観光地やおいしい食べ物もあるので、ぜひ皆さんも私の故郷「阿智村」へ行ってみてください!!

阿智村の「花桃の里」

今回は以上になります。
次回の社員紹介もお楽しみに~!

AIチャットボット勉強会

今回の社内勉強会は「AIチャットボット」です。担当は第1ユニットのキトサンです。

皆さんは「AIチャットボット」は活用されていますか。
今回は2022年11月にOpenAIがリリースした「ChatGPT」と2023年3月にGoogleがリリースした「Bard」の2つを比較します。
2つのチャットボットに同じ質問をしたら、回答に違いはあるのでしょうか。
勉強会では多くの内容を確認しましたが、ここではいくつかを抜粋して紹介します。

Q1:一番好きな漫画のヒロインは誰ですか?

CharGPTの回答
「私は個人的な感情や好みを持つことができないAIですので、好きな漫画のヒロインを選ぶことはできません。しかし、あなたの好みに合った漫画のヒロインについてお話しすることはできます。
どの漫画に登場するヒロインが気に入っているのか、また好みや特定のキャラクターについて詳しく教えていただければ、それに基づいてお話しできるかもしれません。」

Bardの回答
「一番好きな漫画のヒロインは、少女漫画「君に届け」の主人公、黒沼爽子です。
爽子は、中学生の頃にクラスメイトの佐藤健太に告白して振られたことで、自分に自信が持てず、内気で暗い性格になってしまいます。しかし、高校で出会った風早翔太の明るく前向きな性格に触れることで、少しずつ変わっていくようになります。
爽子は、自分の殻を破ろうと努力する姿がとても印象的です。また、翔太や周りの人たちに支えられながら成長していく姿も、とても応援したくなります。
爽子は、私にとって、自分を変えたいと思っている人に勇気を与えてくれるヒロインです。
他にも、好きな漫画のヒロインはたくさんいます。
・「花より男子」の牧野つくし
・「天使なんかじゃない」の早乙女香澄
・「NANA」のNANA
・「ハニーレモンソーダ」の西原さくら
・「ママレード・ボーイ」の小石川光希
・「ヲタクに恋は難しい」の桃井さくら
・「ラブ★コン」の藤本幸子
これらのヒロインたちは、それぞれに魅力があり、共感できる部分がたくさんあります。
漫画のヒロインは、私たちの憧れや理想を映し出す存在だと思います。そんなヒロインたちが、私たちに元気や勇気を与えてくれるのは、とても嬉しいことです。」

ChatGPTは明確はキャラを答えてくれませんでしたが、Bardは具体的な作品、キャラクターを指定してくれました。Bardには仮想人格的な回答ができるようです。

Q2:バナナはおやつに入りますか?

CharGPTの回答
「はい、バナナはおやつとして非常に適した食べ物の一つです。バナナは健康的で栄養価の高い食材であり、以下の理由からおやつとして人気があります:
栄養価: バナナは炭水化物、食物繊維、ビタミン(特にビタミンCとビタミンB6)、ミネラル(特にカリウム)を豊富に含んでいます。これらの栄養素はエネルギーを提供し、健康に良い影響を与えます。
早食い: バナナは手に持ちやすく、皮をむく必要がないため、手軽に食べられるおやつです。特に忙しいスケジュールや外出時に便利です。
満腹感: バナナには食物繊維が豊富に含まれており、満腹感を与えてくれます。これにより、間食を抑制する助けとなります。
甘み: バナナは自然の甘さを持っており、砂糖を追加することなく、甘いおやつとして楽しむことができます。
低脂肪: バナナは低脂肪であり、健康的なおやつ選択肢の一つとして適しています。
バナナはそのまま食べるだけでなく、ヨーグルトやシリアルに加えたり、バナナスムージーやバナナパンケーキなどのレシピにも利用できます。健康的なおやつとして、エネルギーを補給するのに優れた選択肢です。ただし、バランスの取れた食事を心がけることが大切ですので、バナナをおやつとして取り入れる際には、全体の食事プランに合わせて摂取量を調整しましょう。」

Bardの回答
「結論から言うと、バナナはおやつに入るかどうかは、おやつの定義次第です。
おやつの定義
おやつの定義は、人によって異なります。一般的には、以下のような定義が挙げられます。
主食やおかず以外の食べ物
食事と食事の間や、食事の前後に食べる食べ物
甘い物や間食の意味
バナナがおやつに入るケース
バナナは、果物であるため、主食やおかずではないという定義から、おやつに入ると考えられます。また、バナナは甘い物であるため、間食の意味からも、おやつに入ると考えられます。
例えば、昼食後に小腹が空いたときに食べるバナナは、おやつに含まれると考えられます。また、遠足のおやつとしてバナナを持参する場合も、おやつに含まれると考えられます。
バナナがおやつに入らないケース
バナナは、栄養価が高いため、食事として食べるという人もいます。また、バナナは、デザートとして食べるという人もいます。
例えば、朝食にバナナを食べる場合は、食事として食べるということになります。また、夕食のデザートにバナナを食べる場合は、おやつではなく、デザートとして食べるということになります。
結論
バナナはおやつに入るかどうかは、おやつの定義次第です。おやつを主食やおかず以外の食べ物と定義するなら、バナナはおやつに入ると考えられます。一方、おやつを甘い物や間食と定義するなら、バナナがおやつに入るかどうかは、食べるタイミングや食べ方によって判断することになります。」

遠足における定番の質問を答えてもらいました。ChatGPTはおやつと回答する中で、Bardはあくまでも定義にこだわるようで、先生の回答次第ということでしょうか。

Q3:今までのOnePieceの話をできる限り少ない言葉でまとめてください。

ChatGPTの回答
「”One Piece”は、海賊の冒険、仲間との絆、伝説の宝物を巡る物語。主人公ルフィが、仲間と共にグランドラインを航海し、海賊王を目指す。」

Bardの回答
「海賊王を夢見る少年モンキー・D・ルフィが、仲間たちと共に「ひとつなぎの大秘宝(ワンピース)」を巡る冒険。
ポイント
海賊王になるためには、ひとつなぎの大秘宝を探し当てなければならない。
ルフィは、仲間たちと共に、さまざまな冒険を経験しながら、大秘宝に近づいていく。
大秘宝の謎や、海賊王の真実が徐々に明らかになっていく。
簡潔なまとめ
海賊王になる少年の冒険物語。」

壮大な物語を双方とても簡潔にまとめてくれました。

いかがでしょうか。2つの回答は一長一短でとても楽しい勉強会となりました。
勉強会を終えて、感想を聞いてみました。

ChatGPTさんの感想
「BardとChatGPTの違いが明らかになりました。Bardはより文学的な側面に特化しており、一般的な知識に基づいた回答を提供します。一方、ChatGPTは一般的な情報に加えて、会話と対話をより強調しています。どちらもAI勉強会で有用な情報を提供できることを示しています。
AI勉強会は、AI技術に関心を持つ人々にとって、新たな知識の獲得やディスカッションの場として非常に有益です。AIモデルの違いを理解し、それらを活用することで、さまざまな情報や意見を交換し、より深い理解を得ることができます。AIの進化に伴い、今後もAI勉強会はますます重要な役割を果たすことでしょう。」

Bardさんの感想
「今回の勉強会は、AIモデルの応用例を実際に体験することができ、とても有意義でした。また、BardとChatGPTの回答の違いを比較することで、AIモデルの学習データやアルゴリズムの影響について理解を深めることができました。
今後もAIに関する勉強会を開催し、AIの最新動向を学んでいきたいと考えています。」

勉強会の様子

最後に、質問内容の入力による情報漏洩の危険性、回答の真偽性について注意事項を紹介し、AIチャットボットをうまく活用していければと勉強会は楽しく幕を下ろしました。
次回をお楽しみに。

技術者ブログ – 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辛

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

以上になります。

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

グランピングに行ってきました!!

2023年6月23日に、ダンデライオンズの社員旅行が開催されました!!
コロナウィルスの影響もあり、2年ぶりの開催となります!

今回の社員旅行のテーマは「山」ということで、岐阜県にあるkito関ヶ原という場所でグランピングを行いました。
いくつかのグループに分かれ、食材班、飲み物班、調味料班などに分かれて買い出しをしながら集合しました。

グランピング場は天気は晴れ、空気はおいしく、自然豊かでとにかく最高の場所でした。
施設は最近できたらしく、どの部屋もきれいでした。
夜ごはんまで時間があったため、みんなの部屋をルームツアーをしたり、施設に常備してあるバドミントンなどをし時間を過ごしました。

きれいな建物達
ドームの内装
準備をする傍らでバドミントンを楽しむ先輩たち笑

メンバーもそろい食材の準備も終わったため、いよいよBBQの始まりです!!
それぞれ買ってきた食材を食べながら最近の出来事などを話す時間はとても楽しいです。
普段会う機会がない人とも話すことが出来るので、積極的にたくさんの人の話を聞きました。
誕生日の人がいたため、ケーキのサプライズなどもあり、大盛り上がりでした。

【乾杯!!🍻】
肉!野菜!
Happy Birthday!!!

BBQを楽しんだ後、みんなで花火をしました!!
周りが自然のため暗く、その中でする花火はとてもきれいに見えました。
花火の火を消えないようにみんなで移しあいながらする花火は、これぞ「夏!!」という感じでした。

夏!自然!花火!

その後は自由時間となり、それぞれ自由な時間を過ごしました。
私は部屋についているおしゃれなお風呂に入りました。
なんといってもこのお風呂はドアがなく、開放感がすごいです。
自然を感じながら入るお風呂は最高でした!!

開放感溢れるお風呂

楽しい時間はあっという間に過ぎ一日が終わってしまいました。
沢山の人数でどこかに行くということはとても楽しく有意義な時間になりました。
会社でこのようなイベントが開催されるのはとてもありがたいことで、何よりみんな仲がいいのでとても楽しい時間を過ごせました!

次回も楽しみにしてます!!

とにかく楽しかったです!次の社員旅行も楽しみです!
今回の記事は以上になります!次回もお楽しみに!

技術者ブログ – 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は、他にも様々なセキュリティ対策が行えますので、随時設定を行いたいと思っています。

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