CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。
![TypeScriptの変更点まとめ、要素数と各要素のデータ型を指定した配列「タプル」を解説](https://cdn-ak-scissors.b.st-hatena.com/image/square/d894140270f5c2a7516eab6194efb85ce3914210/height=288;version=1;width=512/https%3A%2F%2Fcodezine.jp%2Fstatic%2Fimages%2Farticle%2F19110%2F18805_ogp.png)
先述の通り、新しいバージョン番号は、Android Studioの元となるIntelliJ IDEAのリリースに合わせることになっています。それが、表1のバージョン番号に表されています。このバージョン番号のうち、.(ドット)で区切られた最初の数字は「IntelliJ IDEAのリリース年」、次の数字は「IntelliJ IDEAのバージョン番号」、最後の数字は「Android Studioのメジャーバージョン番号」を表します。そして、このIntelliJ IDEAに関する数字が変更されるたびに、Android Studioがメジャーアップデートされるようになっています。 また、Android Studioのメジャーアップデートごとに、アルファベット順にそのアルファベットから始まる動物の名前がバージョン名として割り当てられるようになっています。その最初のバージョンがArctic Foxであり
進化を続ける生成AIの最前線、ChatGPT。既に多くの業界で注目される中、まだこの革命的な技術を手にしていないあなたへ。本連載では、具体的なコードを交えながら、ChatGPT APIの可能性とその活用法を徹底解説します。今回は、チャットBot以外の様々な利用目的で組み込むノウハウについて紹介します。 はじめに 前々回、前回の記事ではChatGPTの最もオーソドックスな使い方として、ユーザーとの会話を主軸とするチャットBotの開発に焦点を当てて解説してきました。しかしながら、ChatGPTの活用方法について未だイメージを掴めていない方々の中には、ChatGPTの活用方法で迷っているというよりも、チャットというインターフェースを取り入れるイメージが沸かないという方も少なくないのではないでしょうか。もしもこのケースに当てはまる場合は、「ChatGPTは会話をするもの」という先入観を捨て、システ
はじめに 連載の第2回となる今回は、Python 3.10以降の新機能のうち、Python 3.11で導入された可変長ジェネリクス、Self型、改良されたTypedDict、文字列リテラル型、データクラス変換を紹介します。 対象読者 Pythonの最新の機能を把握したい方 Pythonの経験者で、Pythonに改めて入門したい方 プログラミング言語の最新パラダイムに関心のある方 必要な環境 本記事のサンプルコードは、以下の環境で動作を確認しています。 macOS Ventura Python(3.11.4) Visual Studio Code 1.82(Python v2023.16.0、Pylance v2023.9.10) mypy(1.5.1) サンプルの実行 掲載サンプルは、それぞれの.pyファイルに記述されています。動作確認は、Python 3.11をHomebrewでインスト
Biomeはコードのフォーマット統一や静的解析の機能を併せ持つツール。JavaScript/TypeScript、JSON、CSSに対応する。JavaScript/TypeScriptを使ったアプリケーション開発では、Babel(トランスパイラ)、ESLint(静的解析ツール)、webpack(モジュールバンドラ)、Prettier(フォーマット統一ツール)、Jest(結合テスト・ツール)など、それぞれ異なる機能を持つ別々のツールをかき集めて、適切に使い分ける必要があるが、必要なツールを集めて環境を作るだけでも開発者にとっては大きな負担となっている。 そこで、単一のツールで上記のような機能をすべて提供しようという考えからFacebook(現Meta Platforms)で2020年に開発が始まったのが「Rome」だ。その後RomeはFacebookの手を離れ、開発を主導していたSebast
本連載では、AWSに関して、なかなか時間がとれず最新のアップデートを追えていない方や、これからAWSを利用したいと考えている方に向けて、AWSから発表される数多あるサービスアップデートのうち、NTTデータのITスペシャリスト達がこれだけは押さえておくべきと厳選した内容を定期的に紹介します。第12回では、AWSリソースをモニタリングできるサービスであるCloudWatchの、2022年1月から2023年5月までに実施された主要なアップデートをご紹介します。 CloudWatchとは まず、CloudWatchというサービスについてご紹介します。CloudWatchは、AWSリソースやAWS上で稼働しているアプリケーションなどをリアルタイムでモニタリングできるサービスです。 CloudWatchにはいくつか機能があり、ここでは4つの主要な機能についてご紹介します。 1つ目はCloudWatch
このように、(1)(2)と「vector<int>」を2回も書かなければなりません。特に(2)では、右辺の型は分かっているんだから、左辺はそれに合わせてよ! という文句が出そうです。 初期化漏れを防止する このように、同じ意味の型を何回も書くのはかったるいな! というときに型推論は役立つわけですが、もっと切実な理由があります。それは、変数の初期化漏れの防止です。JavaでもRustでもそうなんですが、変数は宣言しっぱなしでOKです。宣言しっぱなしというのは、明確な初期化が行われていないという意味です。こうなると、その変数を参照しようとするといろいろとまずいことが起きてきます。 基本データ型とかなら、どんな値か分からない ポインタ型とかなら、どこを指しているか分からない(ダングリングポインタ) なので、実行時にプログラムが不可解な動作をしたり、いきなり落ちたりするわけです。しかし、コンパイラ
CodeZineの連載「Android Studio2で始めるアプリ開発入門」が終了してから約1年後、Android Jetpackがリリースされ、一歩進んだAndroidアプリ開発が可能になりました。しかし、連載をもとに内容をアップデートした『Androidアプリ開発の教科書』では、入門書という位置付けのため、Jetpackの内容までは踏み込んでいません。本連載は、「Android Studio2で始めるアプリ開発入門」連載、および『Androidアプリ開発の教科書』の続編にあたる内容として、Jetpackを取り上げていきます。前回は、RoomとViewModelを組み合わせる方法とともに、リポジトリを紹介しました。今回は、データの更新を非同期でUIに反映できるLiveDataを紹介します。 LiveDataとは 今回のテーマはLiveDataです。まずは、そのLiveDataがどのよう
本連載では、ソフトウェアエンジニアがFigmaというデザインツールを通してデザインのことを学んでみたくなる、Figmaを使って日々の業務の効率化や、楽しくするきっかけを得られるものとなっています。第2回では、エンジニアにとって最もベーシックなFigmaのユースケースであろうコーディングする際のデザインのデータの見方について解説していきます。 はじめに 今回はエンジニアにとって最も基本的なFigmaのユースケースであろう「コーディングする際のデザインのデータの見方」について解説していきます。 本編に入る前に、まずはサラッとFigmaのプロジェクトやファイルの構造について触れていきます。 Figmaの基本「プロジェクト/ファイル」とは? Figmaではまずチームという概念があり、ここにアカウントが紐づきます。そしてこのチームに対してプロジェクトを複数作ることができ、そのプロジェクトの中にファイ
新しい技術を採用するとき、社内の理解を得るのは簡単ではない。次々と新しい技術が登場し、大きなインパクトを与えているのを見ると、保守的な組織やプロジェクトで「もっと良い手段があるのに」と感じるエンジニアも少なくない。ソフトウェアエンジニアは、そんな時どのような動きをすれば良いのだろうか? このセッションでは、ニフティニュースで深層学習による記事要約を実現したニフティ株式会社の中村伊吹氏が、新しい技術を実現してきたステップを具体的に解説した。社内で新しいことに向けて先陣を切って挑戦する、いわゆる「ファーストペンギン」でありたいと考えるエンジニアが前向きになれるセッションだ。 深層学習のインパクトで始めた好奇心駆動開発 中村氏ははじめに、機械学習について衝撃を受けた最初の出来事を話し始めた。 「それは2006年に登場した将棋ソフト『Bonanza』でした。機械学習を活用した思考ルーチンを持ち、世
マイクロサービスのメリットはよく語られているが、全ての環境に向いているとは言いがたい。特にまだプロダクトが小さい初期段階だと、マイクロサービス化することでかえってオーバーヘッドが増えてしまう。しかし順調にプロダクトが成長したら、どこかのタイミングでマイクロサービスに移行するというチャレンジに直面することになるだろう。コドモンがマイクロサービスへの挑戦の経緯を語る。 サービスの拡大で「早くたくさん機能を作る」から目標を転換 コドモンは「子どもを取り巻く環境をテクノロジーの力でよりよいものに」をミッションに、主に保育・教育施設職員の業務を支援するWebアプリケーションを開発している。他にも保護者と施設のやりとりを支えるモバイルアプリケーション、施設職員向けモバイルアプリケーション、外部サービスと連携するAPIなども開発している。 2015年のリリース以来、加速的に利用者が増え、現在では1万40
言語を指定せずに求人を出したら、応募が殺到 森氏はまず、「技術選定」という言葉の意味を再確認した。プロジェクトで効率よく、そして効果的に開発実装を進めるために、適切な技術(言語、データベース、クラウド・サービスなど)を選ぶことといった意味になる。しかし森氏は現実には別の条件も付くと言う。 「社内で作った既存のライブラリを使用すること」「社内事情のため、OSはWindows Serverにすること」「開発ベンダーを代えることはできないので、工数を確保できる言語を選ぶこと」など、過去のしがらみや技術的負債に引っ張られてしまうのが現実だ。そして、開発後の保守などを考えれば、それは仕方のないことだともいう。 現実の技術選定はどうしても過去のしがらみや技術的負債に引っ張られてしまう ペイルドは4年前に、新事業で提供するWebサービスのサーバー・サイドの開発言語としてRustを選んだ。Rustを選んだ
Webアプリケーションのセキュリティを考えるとき、フロントエンドエンジニアにも攻撃への対策が求められます。脆弱性を狙う受動的攻撃の1つ「XSS(クロスサイトスクリプティング))」の中でも「DOM-based XSS」は特にフロントエンドとの関連が強く、情報漏洩やWebページ改竄などの脅威について知っておく必要があります。今回は『フロントエンド開発のためのセキュリティ入門』(翔泳社)から、XSSとDOM-based XSSの仕組みを解説します。実際の対策方法については本書を参考にしてください。 本記事は『フロントエンド開発のためのセキュリティ入門 知らなかったでは済まされない脆弱性対策の必須知識』(著者:平野昌士、監修:はせがわようすけ)の「第5章 XSS」から一部を抜粋したものです。掲載にあたって一部を編集しています。 能動的攻撃と受動的攻撃 Webアプリケーションへの攻撃には2つのパター
groovesは、同社の運営するITエンジニアに特化した転職支援プラットフォーム「Forkwell(フォークウェル)」に登録している、20~60代のエンジニア300名を対象に実施した、「ITエンジニアの男女間賃金格差」に関する調査結果を2月8日に発表した。同調査は、2022年11月2日~4日の期間に行われ、260名から有効回答を得ている。 調査対象者の年収を、一般的に高給とされる800万円をベースにみると、年収800万以上の男性は23%なのに対して、女性は4%に留まった。女性の半数超が年収500万円以下であるのに対して、男性のボリュームゾーンは500万円~800万円となっている。 転職時の昇給幅は、男性が平均139万円(中央値:100万円)なのに対して、女性は平均85万円(中央値:50万円)だった。 転職時の昇給額を、60万円を境にみてみると、男性の62%が60万円以上の昇給を実現している
本調査は、2022年12月23日〜12月26日にインターネット上で実施され、全国のITエンジニア採用決裁者100名から有効回答を得ている。 ITエンジニア採用決裁者に「中途採用時の評価点」について聞くと、60.0%が「コミュニケーションスキル」と回答し、次いで多かった「顧客の立場に立った考え方(29.0%)」 「マネジメント経験(26.0%)」「プロジェクトマネジメント経験(25.0%)」などの2倍以上の結果となった。 また「ITエンジニアに求めたい定性要素」としては、「コミュニケーションスキル(36.0%)」に加えて「ビジネスマナー(34.0%)」「協調性(26.0%)」が高く、会社で共に働くためのヒューマンスキルを求めている傾向がわかった。 次に、「採用条件となる言語」について聞いたところ、半数近くの47.0%が「Java」と回答した。また、「JavaScript(27.0%)」「C/
「あれ?コード書くほうが楽しくないか?」と気づき、ITエンジニアへの転職を決意した宮城 浩克氏。現在は、株式会社Works Human Intelligenceでシステム開発者として活躍しているものの、当時は全くの未経験だったという。キャリアチェンジの大きな第一歩となったプログラミングとの出会い、コードを書くことが楽しいと感じた経緯、そしてエンジニアとして転職を決意した理由など、「”はたらく”が楽しくなるまで」の物語を紹介する。 たまたま出会ったプログラミングで「面倒なことを楽にする」喜びを体験 新卒で入社した会社でプラントの耐震業務を6年間経験し、VBAに触れる機会があったことでプログラミングに興味を持つようになった宮城氏。未経験ながらITエンジニアへの転職を決意し、プログラミングスクールでの学習期間を経て2022年3月にWorks Human Intelligence(WHI)に入社し
本記事は様々なITプロジェクトやシステム開発に携わってきた西村泰洋さん、相川正昭さん、蓮沼潤一さんによる著書『図解まるわかり 要件定義のきほん』の「第1章 要件定義の基本~特徴と機能、RDの位置づけ~」から、内容の一部を抜粋して編集したものです。 1-1 要件定義の基本的な考え方 システム開発における要件定義 要件定義は、Requirements Definition、または省略されて「RD」と呼ばれています。情報システムで必要とするものを「要件」として定義し、要件定義書にまとめることです。RDを実施する工程をRD工程といいます。 要件定義書は、情報システム開発プロジェクト(以下、「ITプロジェクト」の目的に照らして各ステークホルダーが、情報システムで必要とするものを合意するための文書となります。図1-1では要件定義書とステークホルダーとの関係を示しています。 図1-1 要件定義書とステー
顧客企業の課題を解決するために、コンサルタント教育を実施 Adecco Groupの一員として、ITやR&D領域のエンジニア派遣・請負・およびコンサルティング事業を手掛けるModis。「人財の創造と輩出を通じて、人と社会の幸せと可能性の最大化を追求する。」を理念に掲げ、IT・情報システムやメカトロニクス、エレクトロニクス、バイオ・ケミストリーと領域を絞らず多彩なテクノロジーソリューション事業を展開する、エンジニアにおけるスペシャリスト集団だ。①基礎技術の向上、②コア技術のマルチ化、③先端技術の習得を育成方針とし、エンジニアスキルに応じてセキュリティ、ネットワーク、サーバ、ソフトウェア、データサイエンス等、さまざまな技術領域における研修を提供している。 そんなModisには、コンサルティング力と技術力を備えたエンジニアが問題を解決する「バリューチェーン・イノベーター」というユニークなサービス
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く