社員紹介(27-2)

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

現在の状況

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

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

最近のお気に入り

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

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

自然の美しさと静けさ

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

桜ワンダーランド

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


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

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

新入社員歓迎会で盛り上がった「栄養当てゲーム」

皆さん、こんにちは!新入社員歓迎会の様子をお伝えします。今年は3名の新入社員を迎え、オフィス近くの韓国料理店で楽しいひと時を過ごしました。

まずは、健康診断が終わった後の食べ放題&飲み放題。韓国料理の代表的なメニューである「サムギョプサル」と「チジミ」など、美味しい料理をたっぷり楽しみました。

新入社員のユーモラスな挨拶も終わり、次はレクリエーションの時間です。今回は「栄養当てゲーム」を開催しました。参加者はチームに分かれ、あらかじめ取り分けた料理の栄養素を当てるという面白いゲームです。

当てるのは以下の5つの食材と5つの栄養素です。

食材:

・キムチ

・フライドポテト

・チジミ

・枝豆

・ヤンニョムチキン

栄養素:

・カロリー

・タンパク質

・炭水化物

・脂質

・グラム数

各チームは短い時間で回答を出しました。そして、結果は…

5位: フライドポテトチーム

4位:チジミチーム

3位:枝豆チーム

2位: ヤンニョムチキンチーム

1位:キムチチーム

最終的にはキムチチームが勝利しました!おめでとうございます!

主催者として、このイベントを開催した感想を一言お伝えします。社員一同、久しぶりの飲み会とあって、とても盛り上がりました。

笑顔がたくさん詰まっています。

今後も楽しい企画をご用意し、さらなる盛り上がりを目指していきます。次回のイベントもお楽しみに!

以上、新入社員歓迎会で行われた「栄養当てゲーム」の様子をご紹介しました。皆さんとの素敵な時間を共有できたこと、心から感謝しています。引き続き、より一層のチームワークを築いていきましょう!

SpringBoot3 組み込みJettyで動かしてみた

こんにちは第0ユニットのチキンキウイです。
SpringBoot3がリリースされていたので、今回は組み込みサーバーを変更して
動かしてみようと思います。

環境

  • SpringBoot3.0.6
  • Java17
  • Gradle 7.6.1

設定内容

SpringBoot3を組み込みJettyで動作させるには「build.gradle」に以下に設定を追加すことで実現できます。

ext['jakarta-servlet.version'] = '5.0.0'

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    modules {
        module("org.springframework.boot:spring-boot-starter-tomcat") {
            replacedBy("org.springframework.boot:spring-boot-starter-jetty", "Use jetty instead of tomcat")
        }
    }
    implementation 'org.springframework.boot:spring-boot-starter-jetty'
    providedRuntime 'org.springframework.boot:spring-boot-starter-jetty'
}

動かしてみた

ここからは実際にプロジェクトを作成し実際に動かしていきます。

SpringBootプロジェクトの作成

[ファイル>新規作成>その他]からウィザードを開き
新規のspringスタータープロジェクトを作成します。

build.gradleの変更

プロジェクトを作成したら「build.gradle」を開きJettyの変更を追加します。

「build.gradle」変更後は「Gradleプロジェクトのリフレッシュ」を実行してください。

動かしてみた

プロジェクトのリフレッシュが完了したらプロジェクトを実行してみます。
実行してログに「Jetty started」が表示されていればJettyで起動しています。

画像に alt 属性が指定されていません。ファイル名: image-3-1024x401.png

まとめ

今回はSprinngBoot3でJettyサーバーを動かしてみました。
SpringBoot3の情報はまだまだ少ないので、参考の一つにでもなれば幸いです。

参考

GitHub Document how to downgrade dependencies to use embedded Jetty 11
https://github.com/spring-projects/spring-boot/issues/33044#issuecomment-1326332014

社員紹介(28-2)

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

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

最近食べた物

まずはこちら!!

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

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

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

続いてはこちら!

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

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

映画鑑賞

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

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

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

バーベキュー

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

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

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

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

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


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

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

次回もお楽しみに!!

2023年2月インターンシップ体験談①

※2月に当社でインターンシップを行い、日本人大学生の方1名、外国人留学生の方3名に参加していただきました。当記事では、参加者の方の体験談を紹介していきます。

中国人大学生(男性)

この度、ダンテライオンズのインターンシップに参加させていただきました。

初めてインターンシップに参加したので、最初の時は、不安でした。初日は、マインドマップを使って自己紹介を作ってみました。午後からインターンシップ生の皆と意見を交換し、ペルソナを作成し、4か国語でスタンプのフレーズの意味を決めました。チームワークを通してミッションをクリアしたことで強い達成感を感じました。そして、最初の不安感が解消され、せっかくのインターンシップなので、楽しく過ごしましょうと思いました。

二日目は、初日に作った自己紹介が名刺に載せられました。初めての名刺なので、新鮮味を感じつつ、三日目で本番な名刺交換があると聞くと、ちょっと緊張してきました。午後からテスト体験に参加しました。テスト体験を通して、エビデンスを全部とるのはちょっと手数がかかりましたが、トラブルを避けることやプログラムが手順通りに動けるためには、テストが不可欠な作業であることを改めて感じました。

三日目は、名刺交換の練習し、そしていよいよ本番の名刺交換を行いました。やっぱり緊張してきましたが、無事に乗り越えて嬉しかったです。午後からECウェブサイトデザイン体験に参加しました。ウェブサイトデザインの目的は、かっこよく、可愛く見せるためじゃなくて、伝えやすいためであることを勉強しました。そして、インターンシップ生の皆とデスカッションし、ウェブサイトのコンテンツを洗い出し、サイトマップを作成しました。

四日目は、最後のプレゼンテーションの発表に向けて原稿を作成しました。発表がうまくいくといいなと思いました。

短い時間ですが、インターンシップに参加できて本当にいい体験だったと思います。ありがとうございました。

日本人大学生(男性)

この度、株式会社ダンデライオンズのインターンシップに参加させていただきました。

初めは自分以外日本人ではなかったためとても驚きました。コミュニケーションをとれるかとても心配でしたが、みんなユーモアあふれる方で、とても楽しく過ごせました。

体験した内容は、まずSNSスタンプのフレーズ決めをしました。いきなりのグループディスカッションでとても緊張しました。ですが、みんな積極的に話しかけてくれ、すぐに仲良くなることができました。どんな人がこのスタンプを使うのかを想像しながら考えるのが大事だと学びました。フレーズを決める際、自分では思いつかないような意見などがあり、新たな発見をすることができました。その後、決めたフレーズをそれぞれの国の言葉に変更しました。僕たちは全員違う国出身だったため、様々な言葉を知ることができ楽しかったです。

次の日にはテスト体験をしました。一つ一つエラーがないか確認する作業はとても大変でした。普段自分が使っているウェブサイトはこの作業のおかげでエラーがなく使えていると実感しました。証拠を残すためのエビデンスをとる作業では、とるのを忘れたり、エビデンスをとっただけで、結果を確認するのを忘れてしまうことがあり、慣れない作業で大変でした。

別の日にはウェブデザインの体験をしました。僕たちの制作するウェブサイトのテーマは、アニメや漫画など日本のサブカルチャーに興味がある人が使用する、アメリカのショッピングサイトの制作でした。自分が住んでいない地域のウェブサイトのため設定するのが難しかったですが、メンバーと知識を共有することで完成させることができました。

このインターンでは様々なことが体験でき、とてもいい経験になりました。何より最高のメンバーだったのでとても楽しい時間を過ごせました。ありがとうございました。

技術者ブログ:Oracle Databaseのアップグレード

技術者ブログとして日ごろ取り組んでいる学習内容をご紹介します。

インフラをテーマにしている第3ユニットです。

今回は、Oracle Databaseのアップグレードについて

あるシステムの全面的な更新の一環として、Oracle Databaseのアップグレードを担当しました。具体的には、古くなった12cのデータベースからメタデータ(表を始めとした、DB上のオブジェクトの定義)と行データ(各表で登録されている項目)をエクスポートして、同じ状態の19cのデータベースを作成することになりました。

開発環境が用意されていたため、新しいDBの構築は複数回リハーサルできましたが、12cのDBからのエクスポートは、DBに余計な影響を与えないために、回数を抑えることにしました。

そのため、一回エクスポートしたら、何回も使えるDMPファイルを出力するOracle Data Pump(データポンプ)というツールを使いました。

作業の流れ

各ステップを個別の監視できるために、アップグレードを以下のような流れで行いました。

  • データポンプで12cのDBからメタデータと行データをエクスポート
  • 12cの設定を確認しながら、同じ設定の19cの空っぽのDBを作成
  • 19cのDBにエクスポートしたメタデータと行データをインポート
  • 19cのDBの全体的な確認

上記の流れで、アップグレードできましたが、リハーサルの中で幾つかの問題に遭遇して、解決・回避の方法を調査することになりました。その問題を一つ、以下に紹介したいと思います。

シークエンス問題とその回避

データベースに登録される行の自動採番を使う表がある場合、そのシークエンス(順序)の状態(次に割り振られる番号)をそのまま継続する必要があります。そうしないと、データベースが同じ番号を再び割り振ろうとして、エラーが生じる恐れがあります。

自動採番を使う表の存在を、SQL Developerなどで確認できます。表作成のSQLを参照すると、「GENERATED ALWAYS/ BY DEFAULT AS IDENTITY」という定義が見られます。

自動採番が設定されているテーブル 
引用:https://stackoverflow.com/questions/49239177/sequences-vs-identity-columns-in-oracle

新しいDBへインポートする際に、メタデータと行データを同時にインポートすると、シークエンスが自動的に継続されますが、メタデータと行データを別々にインポートすれば、シークエンスが「1」からリスタートされて、手動で調整しなければならなくなります。

そのために、メタデータと行データの同時インポートをお勧めします。

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

社員紹介(31)

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

会社では

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

私的には

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

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

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

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

テーブルマナー研修

今回、ダンデライオンズは、「テーブルマナー研修」を受けました。

社員が昼の会席料理をいただく中で、テーブルマナーを教えていただきました。
場所は、名古屋ガーデンパレス(https://hotelgp-nagoya.com/)です。
講師の方は、当ホテルの料理長で、やさしく面白く教えていただきました。
研修の内容を当社ブログに掲載することについて、了承いただきました。感謝いたします。

研修の内容

今日教えていただいたことを忘れないために、
このような資料もご用意いただいていました。
お品書きも書かれています。

まずは、会席、懐石の違いの説明から始まり
椅子の座り方、乾杯の作法
箸の持ち方、箸置きへの置き方など食事前のマナーを教えていただきました。

前菜から始まり、デザートまで
一つ一つの器の持ち方や、蓋の取り方、置き方など
それぞれ意味があって、確かに上品な動作だなと思いました。

そして、なによりも季節の素材を生かした旬の料理で、どれもとてもおいしかったです。

その後、今回の会食以外にも、
魚の食べ方や、上座下座について、
名刺の渡し方などのマナーについても教えていただきました。

研修を受講して

今まであいまいに行っていたマナーの動作ですが、
一つ一つ明確になり、大変ためになりました。
この夜、飲みに行ったのですが、その時も箸使いなど少しやってみました(笑)

社内勉強会:要件定義について

前回の勉強会の様子 – フェイク画像の作り方

今回の勉強会記事を担当する第0ユニットの「みち」です。

我々システムエンジニアの仕事の一つである「要件定義」をテーマとして勉強会が開催されました。今回はその模様についてご紹介します。

勉強会の流れは、以下の通りです。

①「要件定義」とはどういうものか、という基礎知識を深めるための講義を行いました。

②ユーザ役を据え、ユーザ役から要求を聞き出し「要件定義」を実践しました。

③議事録を作成して内容の振り返りを行いました。

講義の様子

講義のあとはいよいよ実践です!

会社代表髙橋をユーザ役に据え、当社が開発予定のアプリについて要求を聞き出し、その内容を議事録に記載していきます!

ユーザから要求をヒアリング

勉強会に参加したメンバーが若手層とベテラン層にバランスよく分かれていたため、ヤングチーム、アダルトチームで分けて、それぞれで議事録を作成し発表することになりました!アダルトチーム側に属していた私は、恥ずかしいものは出せないなとプレッシャーを感じていました><。

アダルトチーム議事録作成の様子

最後に双方の議事録を発表し、振り返りを行いました!

振り返りの様子

ユーザの要求を正しく把握できているか、必要な機能・性能について認識祖語は無いか、ユーザの合意を得られる内容になっているかを確認しました。

議事録を作成することで文書化するスキルの重要性についても改めて理解でき、とても有意義な勉強会となりました!

それでは、次回の勉強会の記事をお楽しみに!

技術者ブログ:(OutSystems)BootStrapによるデータ移行の紹介

技術者ブログとして日ごろ取り組んでいる学習内容をご紹介します。
今回は、ローコード開発をテーマにしている第2ユニットです。

今回のテーマ:『BootStrapによるデータ移行の紹介』

BootStrapとは?

BootStrapとはOutSystemsのExcelファイルからOutSystemのEntityへ取り込みを行うことができる標準機能です。
本機能は難しい手順を踏むことなく実行できるため、お勧めできる機能になっています。
本記事では、ExcelファイルからOutSystemのEntityへデータ取り込みを行う手順をご紹介します。

データ移行準備①:移行先のEntity作成

移行先のEntityを移行したいデータ構成で作成します。
データ構成で気を付けるべき点としては下記となります。
・OutSystem上のIdentiferはサロゲートIDとして必ず作成しておくこと。
・取り込みたいデータタイプをAttributeに設定しておくこと。
※定数などの項目も併せてStaticEntityで作成

データ移行準備②:移行元データ(Excelファイル)の用意

移行したいデータが入力されたExcelファイルを用意します。
その際、以下の注意点に留意してください。
・ファイル名は、全角文字を入力すると取り込み時アンダーバー「_」に置換されるため、半角英数字を入力してください。
・シート名は、移行先のEntity名と一致させてください。
・入力データは、次の画像のように見出し+データの形式で設定し、見出しはデータ準備①で作成したEntityのNameと一致させてください。
・移行先Entityのデータタイプが数値やIdentiferの場合に取込を行う情報にブランクが含まれる場合、強制的にデータタイプが文字列型に変換されてしまう。
※数値型で取込みたい場合はブランクを0に置換してすべて数値に変換してください。

以上で準備は完了となります。

データ取込処理①:移行ロジックの生成

移行先Entity・データ移行元ファイルの準備が完了したら移行ロジックの生成を行います。
移行先Entityを右クリック→Advanced→Create Action to BootStrap Data form Excelの順に選択します。

そしてデータ移行準備②のExcelファイルを選択すると、下記の画面が表示されるので移行元の項目名と移行先のAttributesが一致していることを確認してProceedを選択します。

以上の手順によって移行に必要なオブジェクトが作成されます。

作成されるオブジェクト

〇Timer
・処理の実行タイミングの設定が行われます。
・初期設定ではPublish時に実行されるよう指定されており、月毎・週毎・日毎等選択できます。

〇Logic
・ExcelからEntityへ取り込むLogicが作成されます。
内容については以下の記述がされています。
①移行先のEntityが空かを判断する。
②Entityが空ならExcelの情報を読み込み全件登録を行う。

〇Structure
・Excelファイルの情報を格納するデータ型の入れ物です。

データ取込処理②:Publishを実行

最後にServiceStudioにてPublishを実行します。
Publish完了後データ取り込みが実行され今回準備したEntityへデータが登録されます。

余談・取り込み処理のアレンジ

以下に筆者が本機能を利用するにあたって手を加えた内容を簡単に記載します。

  • Timerでの決まったタイミングでの実行ではなく画面に用意したボタンにLogicを設定して実行する。
    →実装経緯:Publishを実行時以外に動作確認をするために画面上のボタンに割り振れば任意のタイミングで実行できるため実装した。
  • LogicのEntityが空なら実行する判断を全件削除してから実行する処理に変更する。
    →実装経緯:重複登録を避けるための判断だが移行結果を確認したかったため変更を加えた。

まとめ

BootStrapを利用してExcelファイルからOutSystemのEntityへデータの移行を行う手順を紹介いたしました。
データ移行だけでなくExcel出力を行っておけばバックアップとして取り込む場合やテスト時にデータを取り込む場合にも活用できるため有用な機能かと思います。
準備・実行ともに簡易ですので実際に作成してみてはいかがでしょうか?