deha magazine / オフショア開発
オフショア開発
ベトナムで圧倒的人気!JavaでのWeb開発に便利なSpring Bootとは?
JavaのフレームワークSpring Bootはテックスタックのランキングで1位を獲得するほど、ベトナム人エンジニアに人気があります。 今まで大変だった環境設定や機能の使いわけを簡単にするフレームワークで、注目度も高くなっています。 この記事ではそんなベトナムで人気のSpring Bootについて、どんな特徴があるのか、メリットは何なのかなど徹底解説していきます。 これらに当てはまる方におすすめの記事となっています。これを読めばSpring Bootの特徴がまるわかりですよ。 Spring Bootとは Spring BootはJavaのフレームワークのSpring Frameworkのうちの1つで、アプリケーション開発を効率化したり、Spring Frameworkの環境設定を簡単に行うことができるようになります。 Spring Bootは、ベトナム人エンジニアの利用するテックスタックのランキングのうち、Java部門で1位となるくらい人気のフレームワークです。ランキングによると半数近くの人が利用しているのは驚くべき結果ですね。 1 Spring Boot 45.92% 2 Spring 43.37% 3 Hibernate 14.03% 4 Struts 11.17% 5 Vaadin 3.87% 出典:Vietnam IT Market Report – Tech Hiring 2022 Spring Frameworkは複数のフレームワークで構成されています。そのためさまざまな開発に活用することができますが、特にWebアプリケーションの開発を効率化する機能が豊富にあります。 Spring Frameworkとは Spring Frameworkは2004年にリリースされたオープンソースのフレームワークです。汎用性が高く、さまざまな開発に利用されています。 このSpring Frameworkは言わばフレームワークの集合体で、機能に応じた多数のフレームワークがあります。そのため機能の使い分けや環境設定が難しい面があります。 そんなSpring Frameworkを説明する上でDI(依存性注入)やAOP(アスペクト指向プログラミング)は欠かせません。それぞれ解説します。 Spring Frameworkの特徴①DI(依存性注入) DI(依存性注入)とはオブジェクトが成立するための情報を外部設定に分離することで、コンポーネントの集合としてアプリケーションを組み立てるデザインパターンのことです。 Spring FrameworkにはDIを実装した「DIコンテナ」がSpringCoreとして実装されています。 Spring […]
続きを読む >>
【2022年版】ベトナム人エンジニアの技術への興味関心について
ベトナム人エンジニアは最新技術への興味関心が高いと言われています。 この記事では「Vietnam IT Market Report – Tech Hiring 2022」を参考にベトナム人エンジニアが興味関心を抱いている言語、サービス、技術が何なのかを解説していきます。 これらに当てはまる方におすすめの記事となっています。これを読めばベトナム人エンジニアがどんなことに興味を持っているのか、どんなことに関心があるのかが丸わかりですよ。 ベトナム人エンジニアのテックスタック ベトナム人エンジニアが持っているスキルやテクノロジーはどんなものがあるのでしょうか。 JavaScript 1 React 32.20% 2 Node.js 32.17% 3 Angular 27.08% 4 Vue 16.26% 5 Typescript 10.82% 出典:Vietnam IT Market Report – Tech Hiring 2022 ※以下すべて同じ フロントエンド、バックエンド、ネイティブアプリなどさまざまな開発ができるJavaScriptは同レポートで、ベトナム人に最も人気の言語だと言われています。 その中でも3割以上のシェアなのがReactとNode.js。 Reactは、Facebookが提供するライブラリで、UI開発に強く、コミュニティが大きいことで有名。Reactのコンセプトは、Declarative(宣言的)、Component-Based(コンポーネント志向)、Learn Once, Write Anywhere(一度の学習でどこでも使える)の3つ。 Declarative(宣言的)とは、UIのパーツごとに、「内部の状態がこうなったら、高表示する」と明示的に宣言していくことを指しています。 これにより、論理的・明示的にコードが書かれるため、可読性の高いコードを書けます。 Component-Based(コンポーネント志向)とは、プログラムをいくつかの部品(コンポーネント)に分け、それらの部品を組み合わせることで全体を作るという考え方です。これにより、コードの再利用がしやすくなります。 Learn Once, Write Anywhere(一度の学習でどこでも使える)は、Reactで学習したことを他の場所でも活用することができるという意味です。 一方、Node.jsはJavaScript実行環境の1つで、サーバーサイドでJavaScriptを動かすことができます。 ApacheやNginxといったウェブサーバーなしに動作することができ、大量の同時アクセスを捌くことができるため、素早いレスポンスを返すシステムを作りたい場合に重宝されます。 合わせて読みたい>>2022年版 JavaScriptのフレームワーク5選!開発者向けにご紹介 Java 1 Spring […]
続きを読む >>
Java Webアプリケーション開発におすすめのフレームワークとは
JavaでWebアプリケーション開発を行う際、フレームワークを活用することで、作業効率のアップやセキュリティ対策が可能になります。 この記事ではそんなJavaのWebアプリケーション開発に役立つフレームワークを4つご紹介していきます。 これらに当てはまる方におすすめの記事となっています。これを読めばJavaのフレームワークでWebアプリケーション開発を効率よく行う方法がわかりますよ。 フレームワークとは フレームワークとは特定のプログラミング言語も用いて作られた半完成品のソフトウェアです。 大規模なWebサイトやアプリケーションの開発には、膨大な量のプログラムを書く必要があります。しかしフレームワークでは雛形や機能が携わっているため、これに開発者が機能を追加すれば、開発を効率化することができるのです。 フレームワークを利用するメリット 統一性や品質が保たれる フレームワークには、大抵の場合コーディング規約、つまり書き方のルールが準備されています。 開発者がそれぞれの好みや書き方で開発すると、後々の引継ぎやメンテナンスが非常に困難になりますが、フレームワークならルールに従いコーディングを行うので、誰が開発しても同じコードに収まり、統一性や品質が保たれます。 そのため、プロダクト開発後も、保守運用の局面でスムーズな対応が可能となります。 セキュアプログラミングが可能 Webアプリケーションには開発者が想定していないようなセキュリティ上の脅威が多くあります。例えば、罠が仕掛けられたWebサイトを閲覧してしまったユーザーに対して、意図しない掲示板への買い込みや商品購入をさせる「リクエスト強要」など。 しかしフレームワークには、こういった脅威を回避するためのセキュアプログラミングの機能を備えているものもあるので、うまく活用してセキュリティ対策を行うことが可能なのです。 Java Webアプリケーション開発におすすめのフレームワークとは JSF(JavaServer Faces) JSF(JavaServer Faces)はJava EEに搭載されたJava言語におけるフレームワークの一種です。 Javaを用いた企業向けのWebアプリケーション開発用のプラットフォームであるJava EEに搭載されているので、元々Java EEを利用している人は利用へのハードルが高くありません。 WebアプリケーションのUI(ユーザーインターフェース)作成のために設計されているため、コンポーネントベースで開発が可能です。扱いが簡単なので、開発へのハードルが大幅に改善されるでしょう。 Spring Framework Spring FrameworkはAOPとDIで構築されているフレームワークです。 AOPとは「Aspect Orientation Programming」の頭文字のことで、システム内で行われる処理を抽出して集約を行うプログラミング手法のこと。プログラムをシンプルにまとめることができるため、コードを見やすく修正も容易に行うことができるようになるという特徴があります。 DIとは「Dependency Injection」の頭文字で、オブジェクトの成立に必要なコードを分離し、プログラムの実行時に注入することができます。 普通一つのクラスが完成していて、もう一つのクラスが完成していない場合は、単体をテストすることができません。しかし、このDIによって、クラスの依存関係が解消するため、完成しているクラスをテストすることができるようになるのです。 これによりシステム開発効率や改修スピードを上げることが可能になるのです。 Play Framework Play FrameworkはJavaとScalaで作られたフレームワークです。有名なWEBフレームワークである、Rubyの「Ruby on Rails」やPythonの「Django」などからも影響を受けているので似た部分が多く、それらを扱ったことがある方にはおすすめのフレームワークと言えます。 Play FrameWorkは、軽量で動作も速く、コンパイルも自動でされるため自分でコンパイルする必要はありません。 Apache Struts(アパッチ・ストラッツ) Apache Struts(アパッチ・ストラッツ)とはMVCベースのオープンソースのフレームワークです。ソフトウェアの挙動の多くをXMLベースの設定ファイルに記述することができるため、Javaプログラムのコーディングの時間や負担を削減することができます。 2000年代に広く普及し、当時複雑化していたJ2EEベースのWebアプリケーション開発を容易にしたため大きな注目を浴びました。しかし、その後技術的な欠点などが指摘されるようになったため、2007年にStruts 2がリリース。 それまでの仕組みから一新し、WebWork 2をベースとしたものに置き換えられています。そのためStruts 1とStruts 2には互換性がありません。 まとめ […]
続きを読む >>
今更聞けないJavaの特徴とは?メリット・デメリットも解説
プログラミング言語のJavaは、一度は聞いたことがあるのではないでしょうか。 しかしどんな言語か、どんなものに利用されているのかわからない方も多いことでしょう。 そこでこの記事では今更聞けないJavaに関して、どんな言語なのか、どんな特徴があるのかなど徹底解説していきます。 これらに当てはまる方におすすめの記事となっています。これを読めばJavaの特徴はもちろん、メリット・デメリットなども丸わかりですよ。 Javaとは? JavaとはC言語をベースに開発されたプログラミング言語で、Googleが開発に用いる三大言語(Java、C++、Python)の1つとしても知られています。 OSや機器に依存せず、さまざまなコンピュータ上で動作することが可能。多くのプログラミング言語はWindows向け、Linux向けなどOSごとに利用されますが、Javaはその制限なく開発が行えるのです。 Javaの特徴とは? オブジェクト指向 オブジェクト指向とはもの同士を関係させて、組み立ていくプログラミングの考え方のことを指します。このオブジェクト指向によって、Javaには効率よく開発を行えるという特徴があります。 Java仮想マシン Java仮想マシンとはJavaのために擬似的に作り出されたマシンのことです。このJava仮想マシンがあるコンピュータならどんなコンピュータ上でも利用することができ、OSに囚われることなく、どんな環境でも動作することが可能なのです。 Javaの活用例 Javaはありとあらゆるものに使用されています。COBOLが主流だった金融機関の基幹システムも、多くがJavaに移行されています。ここではそんなJavaの活用例をご紹介します。 Androidアプリ Androidアプリの多くがJavaを利用しています。Javaは汎用性があるため、実装経験者が活用しやすいためだと考えられます。 デスクトップアプリ デスクトップアプリはインストールが必要なアプリのことを指しますが、これらもJavaで多くのものが構築されています。 組み込み系システム そもそもJavaは家電に組み込むプログラム言語として誕生しました。そのため組み込み系システムは得意分野と言えるでしょう。 ゲーム Javaはゲームの開発も可能です。有名なもので言うと「Minecraft」などがあげられます。その他、対戦型やRPGなどさまざまなジャンルのゲームも開発可能です。 業務系システム/ECサイト 企業の業務系システムやECサイトなどシステム停止などがあってはならない分野においてもJavaが活用されています。 処理スピードが速いこと、安定していることなどがその理由としてあげられます。 Webサービス Javaはサーバーで動作するアプリケーション開発に向いているため、WebサービスにはJavaで作成したWebアプリを動作させているものが多くあります。 大規模システムとなるWebサービスも、Javaなら処理スピードが速いため向いていると言えるでしょう。 Webサイト Webサイトはサーバー側でプログラムの実行がされますが、サーバープログラムでJavaが多く活用されているのです。 Javaのメリット 処理スピードが速い Javaはコンパイル言語であるため、処理スピードが速いという特徴があります。実行前に機械語に翻訳をするため、実行処理が速くなるのです。 安定している Javaはすでに世界中で広く利用されている言語のため、バグが起こっても修正されやすく安定しています。 またセキュリティに考慮した設計のため、他のプログラミング言語に比べると安定性が高く、銀行などの大規模システムにも活用されています。 ライブラリが豊富 Javaは無料で公開されているライブラリが豊富なため、「これがしたい」と思いついたことは複雑な処理が必要だったとしても、ライブラリを参考にすることができます。 ライブラリを活用すればさらに効率よく開発していくことも可能なのです。 Javaのデメリット 環境構築が大変 Javaはインストールするツールが多かったり、利用しているOSによってインストールするものが異なるなど環境構築でつまずく人が多くいます。 また、Java仮想マシンが実装されていないパソコンではJavaを動かすことはできません。 環境構築の際には一つ一つ整理をしたり、ツールを活用するなどしていくことをおすすめします。 学習コストが発生する Javaは高性能な分、コーディングに関するルールや難しい記述が多く、難易度が高い言語の1つです。C++やC#などは構文の構造が似ているため、そういった言語を既に取得している方は向いています。 まとめ いかがでしたか。本日は世界中で多くの人が利用しているJavaに関して、その特徴やメリット・デメリットなどを解説していきました。 Javaは処理スピードも速く、安定していて、さまざまな開発に使える言語だということがわかりましたね。 その一方で、初心者が扱うには難しい言語とも言えます。 そこでJavaで開発を行う際は、開発会社に委託をするのをおすすめします。 DEHAソリューションズでは5年以上にわたり、ベトナムオフショアでの開発実績があります。日本語を習得し、数多くの日本企業との開発実務経験を積んだ優秀なエンジニアと円滑に開発をすすめることが可能です。 Javaでの開発を行いたい方、社内のDX化を進めたい方など、気になった方はぜひお気軽にお問い合わせください。
続きを読む >>
Hubspotと他サービスをAPI連携して業務効率化しよう
インバウンドマーケティングのプラットフォームであるHubSpotはAPIで他サービスと連携を行うことが可能です。 API連携を行うことで業務効率化が可能。 この記事はそんなHubSpotのAPI連携に関して、そのメリットや連携方法を紹介していきます。 これらに当てはまる方におすすめの記事となっています。これを読めばHubspotと他サービスのAPI連携に関して、その方法や特徴などが丸わかりですよ。 Hubspotとは Hubspotとは2005年にアメリカで開発されたインバウンドマーケティングのプラットフォームです。世界120か国以上の12万社以上の企業で利用されています。 インバウンドマーケティングはこれまでのアウトバウンド型とは異なり、企業は最終的な購入の段階を「待ちの姿勢」で臨むという特徴があります。SEO対策をしてブログやSNSでコンテンツを配信、適切なサポートによって顧客獲得をしていく手法です。 Hubspotは無料のCRMで、マーケティングやセールスカスタマーサービスを支援する3つの製品で構成されています。低コストでツールを使い始めることができ、マーケティング施策の内容や規模に応じて機能拡張することも可能です。 HubspotとAPI連携 HubspotはAPI連携を行うことが可能です。HubspotとAPI連携を連携させることで、会計システムやWeb会議システム、グループウェアなどさまざまなサービスと連携していくことが可能です。 Hubspotの公式発表によると平均7個のアプリをデータ連携して活用しているとのこと。さらに10個以上のアプリを連携しているユーザーは全体の4分の1にも及ぶそうです。 それだけAPIが身近なものになっているのですね。 そもそもAPI連携とは AP Iとは「Application Programming Interface」のことで、2つのアプリケーションやソフトウェア同士の情報のやり取りの際に、プログラミング上で窓口になる場所のことを指します。 ソフトウェアの一部をWEB上に公開し、それを外部の人が利用することで、自分のソフトウェアに他のソフトウェアの機能を埋め込むことが可能になります。 API自体はWEB上に公開されているので、誰でも無料で利用することが可能。 外部のソフトウェアの機能を利用するといっても、内部のコードまでは公開していません。つまり外部からは機能の使い方がわからないため、使い方やルールもあわせて公開されているのが一般的です。 HubSpotとAPIの連携方法 HubSpotとAPIの連携方法に関して4つの方法を紹介します。 HubSpot App Marketplaceを使用する HubSpot App MarketplaceはHubSpotの公式審査を通過した連携アプリのことです。 ユーザーにとって質の高いアプリが選ばれているので初心者の方でも安心して利用することが可能です。 その数は1,000件以上!連携したいサービスがしっかり見つかります。 もちろん、すべてのサービスが対応しているわけではないので、HubSpot App Marketplace上にない場合は、他の方法を検討しましょう。 自動化ツールを利用する HubSpot App Marketplaceにほしいサービスがない場合はBizteX ConnectやZapierなどの自動化ツールを利用しましょう。 どちらもプログラミング不要で、さまざまなサービスとの連携ができます。 ZapierではGoogle スプレッドシートや、コンタクト作成ツールの「Gravity Forms」との連携が有名。その他にも1,000以上のアプリとの連携が可能です。 どちらのサービスも無料で利用ができますが、機能に制限があるため容量を増加したい場合などは有料版の導入を検討しましょう。 自分でコード入力する APIを呼び出すコードはJavaScript、HTML5、CSS、PHP、Python、Node.jsなど。 1からコードを作成するのは大変であり、膨大なリソースがかかってしまいます。 連携したいサービスがHubSpot App Marketplaceや自動化ツールを使った連携に対応しているのであれば、それらを活用するのをおすすめします。 API連携を外部委託する API連携の支援をしている会社に委託するという方法もあります。 作業を委託することで業務負担をかけずに効率よく作業が可能です。 HubSpotのAPI連携のメリット 業務効率化 API連携により、データ入力といった業務を短縮化することができます。 1からプログラミングをする必要はなく、専門知識も不要。工数を大幅に減らすことができるのです。 […]
続きを読む >>
【機能拡張】SalesforceのAPIで何ができる??
ローコード開発でさまざまな営業管理が行えるSalesforceにはさまざまなAPIが存在しています。 APIを利用することで、機能を拡張したりデータの連携をすることが可能。 この記事ではそんなSalesforceのAPIに関して、どんな種類があるのか徹底解説していきます。 これらに当てはまる方におすすめの記事となっています。これを読めばSalesforceのAPIにはどんなものがあるのか、どんなことができるのかなどが丸わかりですよ。 SalesforceのAPIとは Salesforce のAPIはSalesforceには備わっていない機能を拡張するために用いられます。 Salesforceを利用していると、初期データの移行や基幹システムとのデータ同期、他システムやクラウドとのSOAなどデータ連携はさまざまなシーンで必要となるでしょう。 そのため、SalesforceではさまざまなAPIが公開されているのです。 合わせて読みたい>>世界シェアNo.1の営業支援ツール『Salesforce』で何ができる? そもそもAPIとは AP Iとは「Application Programming Interface」のことで、2つのアプリケーションやソフトウェア同士の情報のやり取りの際に、プログラミング上で窓口になる場所のことを指します。 ソフトウェアの一部をWEB上に公開し、それを外部の人が利用することで、自分のソフトウェアに他のソフトウェアの機能を埋め込むことが可能になります。 API自体はWEB上に公開されているので、誰でも無料で利用することができます。 合わせて読みたい>>開発効率アップ!APIを活用したシステム開発とは? SalesforceのAPIの種類 SalesforceにはさまざまなAPIが存在します。ここでは代表的なAPIを紹介します。 SOAP API SOAP APIはメッセージを記述する際にXMLを使用、データの伝送にHTTPを利用し、Webサービスの提供を行います。 レコードの操作や定義された大容量のメタデータを取得、ユーザーパスワードの変更なども行えます。 SOAP APIは拡張性の高さが特徴です。組織のカスタマイズ機能に対して、サポートされていないビジネスプロセスを組み込む際に利用されます。 REST API REST APIを使用することで、Salesforce のユーザインターフェースを使用することなく Salesforce データにアクセスすることが可能になります。 Salesforce のエンドポイントに HTTP 要求を送信することで、Salesforce のデータを作成、操作、および検索が可能。 Bulk API Bulk APIを利用することで、データを素早くSalesforceに読み込むことができます。 1,000件~百万件単位のレコードを処理することが可能。 Bulk API を使用して複数のバッチを送信することにより、多数のレコードを非同期でクエリ、query All、挿入、更新、更新/挿入または削除を行うことができます。 Metadata API Metadata APIでは、開発プロセス中に Salesforce の組織間でメタデータを移動することが可能です。 Metadata APIは、メタデータ型やメタコンポーネントと共同で動作。 カスタムオブジェクト定義やページレイアウトなどのカスタマイズ情報をリリース、取得、作成、更新、または削除します。 Streaming API Streaming APIではプッシュ技術を使用してイベントのストリーミングを行い、ほぼリアルタイムでイベントを受信する登録メカニズムを提供することが可能。 この登録メカニズムには、PushTopic イベント、汎用イベント、プラットフォームイベント、変更データキャプチャイベントなどが含まれます。 Apex SOAP API Apex […]
続きを読む >>
今からでも遅くない!!AIって結局何なの?【仕組み・歴史を徹底解説】
近年我々の生活にも身近なものになっているAI。AI=人工知能だというのは知っているものの具体的に何なのかを知らない方も多いのではないでしょうか。 この記事では今大注目のAIについて、初心者の方にもわかりやすくその仕組みを紹介していきます。 これらに当てはまる方におすすめの記事になっています。これを読めばAIがどんな仕組みなのか、その歴史は何なのかなど丸わかりですよ。 AIとは 「Artificial Intelligence」の頭文字であるAIは人工知能の名の通り、人工的に作られた人間の知能を持った脳のようなものです。 その名前が初めて用いられたのは1956年。アメリカのダートマス大学で行われたダートマス会議で、計算機科学者・認知科学者のジョン・マッカーシー教授によって提唱されました。 機械学習をはじめとしたAI技術により、翻訳や自動運転、医療画像診断など広く活用されるようになりました。 現在のAIでは人間の認識能力や常識、感情など全てを理解することはできておらず、何でもできる存在にはなっていません。 あらゆる課題に対応できる汎用的なAIを実現することを目指して様々なアイデアが提唱されている発展途上の分野なのです。 ロボットとの違い ロボットとAIが混同してしまう方は多いと思います。 ロボットはあらかじめプログラムされたものをその通りに処理をしていくものです。一方、AIは外部からの命令がない限りは動くこともありません。 またAIは人間のように自ら考え学習し、どんどん人の言葉や行動を吸収することができるという特徴があります。学習して処理をするという部分に関しては人間を逸脱しています。 これらを踏まえると、ドラえもんやpepperは人工知能ロボットであると言えます。 AIの具体例 今やAIは様々な分野で活用されています。例えば以下のような分野で利用されています。 カテゴリー 活用領域の一例 コンピュータービジョン 画像分類・画像生成・オブジェクト検出 自然言語処理 機械翻訳・言語モデリング・質問への回答 医療 医療用画像セグメンテーション 方法論 分散表現(単語の埋め込み)・表現学習 ゲーム ビデオゲーム・ボードゲーム グラフ リンク予測・ノード分類 スピーチ 音声認識・音声合成 時系列 時系列分類・代入 オーディオ 音楽生成・オーディオ分類 ロボット キャリブレーション・自己位置認識 音楽 音楽情報検索・音楽モデリング コンピューターコード 次元削減・プログラム合成 推論 意思決定・常識的推論 知識ベース ナレッジグラフ・因果発見 敵対性 攻撃・防御・敵対テキスト その他 レコメンデーション・トピックモデル また、身近な分野でもAIは広がりを見せています。例えばApple製品の多くは「Siri」が搭載されています。音声アシスタントは「Googleアシスタント」なども身近なものになってますよね。 最近では人を感知できるセンターを搭載したエアコンが普及しています。人間がリモコンを操作しなくて良いのはAIが自動化してくれているからなのです。 また「ルンバ」が代表的なお掃除ロボットもAIで部屋の大きさや障害物の情報を収集しています。 AI研究の歴史 […]
続きを読む >>
DEHAは、11/26-27日にて開催された「在日ベトナム人学術ネットワーク会議2022」のスポンサーとして協賛
※会議のタイトル:「共生社会のための多様性」 ※開催日時: 2022年11月26-27日 9:00~17:00 (土日) ※開催方法: 対面 (東京大学 本郷キャンパス)、オンライン ( Zoom/Slack) 新型コロナウイルスの影響を3年間受けた後、全世界がニューノーマルに適応するため、重要な進歩を遂 げました。各国は徐々に国境を緩め、経済を開放し、より包括的な未来を構築するための準備を整えてい ます。その発展を加速するにあたって、様々な原点を持つあらゆる階層の人々の貢献が必要とされていま す。共生社会は、一人一人の力が科学技術・経済・政治活動などに最大限に発揮できる最も重要な条件を 作り出すことを目指しています。 海外在住ベトナム人もその未来に積極的に貢献しているとみられます。ベトナム人の数は、在日外国人の 中、2番目となっています。 日本で活動しているベトナム人の数は約50万人で、そのうち多くの人は、科 学者や研究者であり、大学・研究機関・大手企業等に勤務しています。ベトナム人コミュニティ全体の成 長に伴い、研究者や専門家を含む学術コミュニティは、ベトナムと日本の発展、および日越関係に積極的 に貢献してきました。 在日ベトナム人学術ネットワーク (英語名: Vietnam Academic Network in Japan, VANJ) は、2016 年に設立され、日本に滞在しているベトナム人の学術者達のつながりを創り、学術交流を促進することを 目指している組織です。 2018年をはじめとして、毎年VANJは国際科学会議を開催し、日本とベトナムの みならず、世界中に知識の価値を広め、結びつけ、喫緊の社会問題を解決することを目的としています。 VANJ2018-2021の成功を受けて、パートナーであるベトナム青年獣医ネットワーク(VYVN)と生物医科 学コミュニティ(VBMC)と協力して、VANJとスピントロニクス学術連携研究教育センター(東京大学) は、「共生社会のための多様性」をテーマに、VANJ会議 2022(VANJ 2022)を開催します。 VANJ 2022 は、ベトナム、日本、および他の国々から来た様々な分野に活躍している科学者・研究者・ 企業が参加する学際的な会議です。VANJ 2022 は、各国の強みと発展を生み出すために向けて、多分野 における研究・連携の重要性を強調しています。本会議では、先端研究を共有し、ベトナムと日本との積 極的な研究協力を促進することを目的としています。 VANJ 2022 に参加される基調講演者・講演者は、大学・研究機関・国家機関・国際機関で働いている専 門家・教授・博士です。これらの機関は、両国の研究・管理・政策コンサルティングのリーダーです。 本 会議は、2022 年 […]
続きを読む >>
Googleツールの効率化!GASとは【特徴・メリット・やり方まで】
GASとは「Google Apps Script」のことで、Googleの他のサービスに様々な便利な機能を追加することが可能です。 この記事ではそんなGASに関して、どんなサービスなのか、どんなメリット・デメリットがあるのかなど徹底解説していきます。 GASに興味がある方 Googleのサービスを日常的に利用している方 簡単なWebサービスを構築したいと思っている方 これらに当てはまる方におすすめの記事となっています。これを読めばGASとはどんなサービスなのか、どうやって構築するのかまで丸わかりですよ。 GASとは GASとは「Google Apps Script」のことで、Googleが提供する各種サービスの自動化を図ったローコード開発ツールです。 JavaScriptをベースに作成されているため、JavaScriptを日々学んでいる方は比較的容易に習得できるようになっています。 GoogleにはGoogleドライブ・Google スプレッドシート・Gmail・Google フォーム・Google カレンダーなど様々なサービスがありますよね。 GASを利用することで、これらをより便利に扱うことができるのです。 例えばGoogleスプレッドシート上に設置したボタンをクリックすることで一括変換をしたり、GoogleスプレッドシートのデータをGmailに取り込んで自動作成や送信することなどが可能です。 また各サービスが提供しているAPIを利用することで、Google以外のツールとの連携も可能。例えば特定の相手からのGmailをチャットツールで通知するなど。 GASはよくExcelなどのMicrosoft社が提供するOffice製品で用いられているVBAと同じように考えられがちですが、その実態は異なります。 VBAはオフラインでのローカルPCでの利用がメインであるのに対してGASはウェブ開発を中心に幅広く利用されているJavaScriptをベースにしているためクラウド上での利用が可能なのです。 GASでできること Googleサービス上での処理を自動化 何度も言っているようにGASではGoogleサービスの様々な処理を自動化することができます。 スプレッドシートであれば、ExcelのVBAのように、マクロを作成して色々な動作を自動で繰り返し実行させることができます。 またGmailであれば、決まった時間に毎日メールを送る、特定の件名のメールを自動で転送するなど。 さらにツールを組みあわせると、ファイルの共有管理なども可能です。 例えばチームで仕事をしていて、Gmailに届いた添付ファイルをGoogleドライブに共有しなければならないというケースであれば、Google Apps Scriptを利用、Gmailに届いたメールの添付ファイルを自動で共有フォルダにアップロードする設定ができます。 外部サービスとの連携 GASはGoogle以外のサービスとも連携が可能です。例えばChatworkと連携することで、Googleカレンダーの情報をChatworkで通知するといったような使い方が実現できます。 Webアプリケーションの開発 Google Apps Scriptには、作成したツール連携や機能をWebサイトとして公開する機能が備わっているため、簡単なWebものであればGASで開発が可能。 Google Apps Scriptの実行はGoogleのサーバーで行われるため、レンタルサーバーなどを用意する必要もありません。 基本的にGASで作成する場合は、ブラウザに表示されるHTMLファイルと裏で処理を行うGASのスクリプトファイルがセットになるかと思います。 HTMLを作成するにはメニューバーから「ファイル」>「新規作成」>「HTMLファイル」を選択すればOKです。 また公開にはメニューの「公開」から「ウェブアプリケーションとして導入…」をクリックします。 アプリケーションにアクセスできるユーザーを「自分だけ」にすれば、テスト用に表示をさせることができますよ。公開が完了するとUR Lが表示されるので、それにアクセスするだけです。 GASの開発方式 GASの開発方式にはコンテナバインド型、スタンドアロン型の2種類があります。 コンテナバインド型 GoogleスプレットシートやGoogleフォームなど他のGoogle サービスと連携する場合に利用されるスプリクトのことです。 業務フロー全体での効率化を図りたい場合は、コンテナバインド型がおすすめです。 一方、実装にかかる手間や工数が発生してしまうため、社内でのリソースが足りない場合は注意しましょう。 スタンドアロン型 スタンドアロン型は単体で動作するスプリクトのこと。GoogleスプレットシートやGoogleフォームなど他のGoogle サービスと連携をする必要がない場合に利用します。 他のサービスとの連携が発生しない分、工数や実装の手間が少ないのが特徴です。 GASの手順 ここからはコンテナバインド型、スタンドアロン型それぞれの開発の手順を紹介していきます。 コンテナバインド型 AppScriptを開く […]
続きを読む >>
開発効率アップ!APIを活用したシステム開発とは?
AP Iとは、2つのアプリケーションやソフトウェア同士の情報のやり取りの際に、プログラミング上で窓口になる場所のこと。 APIを活用することで既存の機能を自社システムに取り入れることができ、その分を1から開発する必要がなく、データ収集も不要。 開発効率を大きく上げることができるのです。 この記事ではそんなAPIに関してどんな仕組みなのか、どんなサービスがあるのかなど徹底解説していきたいと思います。 これらに当てはまる方におすすめの記事となっています。これを読めばAPIがどんな仕組みなのかはもちろん、そのメリットやデメリットまで丸わかりですよ。 AP Iとは AP Iとは「Application Programming Interface」のことで、2つのアプリケーションやソフトウェア同士の情報のやり取りの際に、プログラミング上で窓口になる場所のことを指します。 ソフトウェアの一部をWEB上に公開し、それを外部の人が利用することで、自分のソフトウェアに他のソフトウェアの機能を埋め込むことが可能になります。 API自体はWEB上に公開されているので、誰でも無料で利用することができます。 外部のソフトウェアの機能を利用するといっても、内部のコードまでは公開していません。つまり外部からは機能の使い方がわからないため、使い方やルールもあわせて公開されているのが一般的です。 APIの仕組み APIサービスを利用する人は事前に定められた形式に従って、使いたい機能や情報をリクエスト(要求)します。するとサービス側はリクエストを受け取り、送信された条件を処理してレスポンス(応答)を行います。 リクエストの内容はAPIサービスの提供者が情報をまとめて定義し、利用者に提示します。 APIの種類 WEB API APIのうち、多くがインターネットを経由してやりとりが行われます。これをWEB APIと呼びます。広く利用されているため、ネット上の記事ではAPI=WEB APIとして取り扱っているものも多く存在します。 WEB APIはインターネット上で情報のやり取りに使われるHTTP/HTTPSを使用して、アプリケーション同士の連携を行います。 使用されるプログラミング言語の仕様にとらわれずに利用できるのが魅力です。 OSのAPI APIの中にはOS上でプログラミングを行うために用意されているAPIも存在します。 例えばWindowsAPI。WindowsAPIはその名の通り、Windows上でプログラミングをするために用意されたAPIです。 具体的には、様々なアプリケーションソフトが共通して使える機能を提供します。例えばウィンドウやフォントなど共通した機能を提供することで各種アプリケーションソフトの製作者は、全ての機能を作り込む作業から解放されます。 ランタイムのAPI プログラムを動かす環境であるランタイムが提供するAPIも存在します。例えばプログラミング言語のJavaはアプリケーションの開発に必要な標準機能がAPIとして提供されています。 このAPIがあればJavaでより効率的に作業をすることが可能です。Java SE APIの仕様については、Javaの開発を行なっているアメリカのオラクル社が提供する開発者ガイドの中で詳しく紹介されています。 Java学習者はAPIのドキュメントの構造や読み方を確認しておくと良いでしょう。 APIの活用事例 Facebook API Facebook APIはFacebookが提供しているAPIです。インスタグラムなどで利用されています。Facebook APIを利用することで、Facebookの友達がインスタグラムに登録した際に、通知がきたり、投稿のお知らせを送ることができます。 LINE API LINE APIはチャットボットの開発や、LINEでのログイン機能、IoT開発、音声アシスタント、LINE決済機能、ソーシャルボタン・通知機能などと言った機能を利用することができます。 このようにLINEは、Web開発に使えるものだけでなく、IoT開発など幅広い機能を公開しています。 特にチャットボット機能はLINEのトーク画面を利用して、ユーザーの反応に応じてあらかじめプログラムしておいた処理が可能というもの。 多くのサイトで利用されていて、使い方によってはお客様サポートの効率化に繋がります。 YouTube API YouTube APIでは動画の効果測定や制御、チャンネルデータの一括取得などと言った利用が可能です。 特にチャンネルデータの一括取得では、動画のタイトル、再生回数、いいね数などはもちろん、チャンネルの登録者数、チャンネルの再生リストなどの情報を取得することができます。 […]