社員紹介(26‐2)

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

現在の活動

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

趣味

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

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

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

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

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

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

前回の勉強会の様子 – 要件定義について

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

前回は「要件定義」をテーマとして勉強会が開催されました。
今回はその内容を基に後日実施した勉強会の様子の紹介です。

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

①前回「要件定義」を振り返り

②ヒアリング内容を整理するため、業務フローの作成

③振り返り、まとめ


今回の勉強会では、前回勉強会のヒアリング内容を基に、
•要求をかみ砕き、細分化することで実装すべきか内容を洗い出す
•必要な機能、性能などを書き起こす
ということを実施しました。

ヒアリング内容を整理するため、業務フローの作成にチャレンジしていきます。

業務フローとは?

特定の業務に対する作業の流れを示すフロー図のことを指します。. 業務の始まりから終わりまでの間に、誰(どの部署)が何をやるのか、その時に利用するシステムは何か。
そして、その作業順番を図にすることで、それぞれのつながりを示し、業務プロセスを可視化するための図です。

ということで、業務の内容や課題を共有していきます。

こちらが業務フローを実際に作成している様子です。
ホワイトボードに内容を書いていき、
それに対して意見を交えながら業務の流れをまとめました。

業務フローを作成する人は場面ごとに交代で実施しました。
ここでは、サービスに登録するためのお店情報を
どうやって編集するかを整理しようとしているところです。

まとめ

今回の勉強会では業務フローを作成することで、
業務の内容や課題を整理しました。
突然ですが、皆さんは

「QRコードの読み込みをPayPayみたいにピッと支払いをするイメージで」
と聞いてどんなイメージをするでしょうか?

この一言を基に内容を整理した際、
「QRをお店が読むのか、利用者が読むのか」
が結局のところ分からなく、再度確認をする場面がありました。

実際の業務でも今回の勉強会の内容を生かして
整理することでクライアントとの認識齟齬をなくしていき、
クライアントとのレビューに臨んでいきたいですね。(´ºωº`)

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

プログラミング言語「TypeScript」

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

今回はプログラミング言語の紹介です。2023年の人気のある Web プログラミング言語のTOP3は下記となっています。
 ・JavaScript
 ・Python
 ・C#
あれ、今回紹介するTypeScriptはランクインされていないし、AIで活用されることが多いPythonじゃないの?と思われると思います。確かにそうなのですが、業務Webアプリ開発では注目されている言語、それがTypeScriptなのです。

https://www.typescriptlang.org/

「TypeScript」は、JavaScriptを拡張した新しいプログラミング言語であり、2012年10月にMicrosoftが公開しました。その後、2017年にGoogleの標準言語にも認定されています。TypeScriptで書いたコードをコンパイルするとJavaScriptのコードへと変換されるため、JavaScriptの開発環境や実行環境があればすぐに使えます。

紹介するに至った経緯としまして、顧客向けの業務で活用しているからです。このプロジェクトでは、20年ほど前に開発され、老朽化したシステムの更新業務を行います。このシステムは開発当時に主流であったクライアントで動作するJavaAppletが使われており、InternetExplorerで動作するものでした。時代は変化し、InternetExplorerはEdge上で互換モードで動作させ、JavaAppletもサポート余命が残り少なくなっていました。そんな状況でもシステムは使い続けたい、最小限のコストで新しいシステムへ更新したいということで登場するのが今回紹介する「Typescript」なのです。

Typescriptの最大の特徴は、コンパイルすることでJavascriptのソースコードに変換される点にあります。それなら普通にJavaScriptで良いのではと思われるかもしれません。TypeScript は型の宣言ができたり、コンパイル時にエラーが出ます。入力される型が不明であったり、実行するまでエラーを検知することができなかったJavaScriptと比較すると、大幅に制作効率の向上となっています。また、開発環境構築の容易さも魅力の一つです。Microsoft社が無料の開発ツール「Visual Studio Code」を提供しているため、これを導入するだけです。追加で様々なプラグイン用意され、用途に応じて使い分けることが可能となっています。

その他、以下のようなメリットが挙げられます。
 ・大規模開発に耐え、メンテナンス性が高い
 ・インターフェイス、クラスが利用できる
 ・記述量が少なく、可読性が高い
 ・JavaScriptへの変換により、動作速度が変わらない
 ・JavaScriptの上位互換により、他の言語より学習コストが低い

Typescriptは、まだ歴史が浅い言語です。しかし、Javascriptの後継としての立場はもちろんのこと、React Nativeの開発言語としても利用できるため、活躍の場がどんどん広がっていくことが期待できます。社内のアプリ開発でも利用しており、これからも利用を推進していきたいと思います。

今回は業務で使っているプログラミング言語「TypeScript 」の紹介でした。

社員紹介(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か月以上住んだことがあるのは、東京都・神奈川県・山梨県・静岡県・愛知県・三重県・京都府・大阪府・岡山県・広島県・福岡県です。

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

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

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