タグ

ブックマーク / codezine.jp (91)

  • 関数型言語のコンパイラバックエンド「SaberVM」が発表

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    関数型言語のコンパイラバックエンド「SaberVM」が発表
    tinsep19
    tinsep19 2024/01/26
  • 『ソフトウェアアーキテクチャの基礎』島田浩二氏が語る、エンジニアが最初に知っておくべきアーキテクチャリテラシー

    ソフトウェアアーキテクチャはシステムの成功に不可欠な要素であり、ソフトウェア開発者にはこの分野における効果的なスキルが求められる。しかし、その学習資料はまだ十分ではないのが現実である。株式会社えにしテックの代表取締役 島田浩二氏は、ソフトウェアアーキテクチャに関する書籍を多数翻訳している。Developers Summit 2023 Summerに登壇した島田氏は、数々の書籍から学んだソフトウェアアーキテクチャの重要なエッセンスを紹介した。 ソフトウェアアーキテクチャとは? 3つの定義を紹介 島田氏は2009年に株式会社えにしテックを設立。2011年からは一般社団法人日Rubyの会の理事を務めている。島田氏が翻訳に携わった書籍には、『進化的アーキテクチャ』『ソフトウェアアーキテクチャハードパーツ』、『ソフトウェアアーキテクチャの基礎』『Design It!』(いずれもオライリージャパン)

    『ソフトウェアアーキテクチャの基礎』島田浩二氏が語る、エンジニアが最初に知っておくべきアーキテクチャリテラシー
    tinsep19
    tinsep19 2024/01/10
  • TypeScriptの変更点まとめ ──新しい演算子・トップレベルawait・usingについて

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    TypeScriptの変更点まとめ ──新しい演算子・トップレベルawait・usingについて
    tinsep19
    tinsep19 2023/12/23
  • Ruby on Railsの作者がコンテナ・デプロイ・ツール「Kamal 1.0」を公開

    Ruby on Railsの作者として知られるDavid Heinemeier Hansson氏は、コンテナ・デプロイ・ツール「Kamal 1.0」を9月19日(現地時間)に公開した。同氏は開発したWebサービスをクラウド・プロバイダーから自前のサーバーに移行する手続きを進めており、Kamalはその手続きの中で生まれたという。KamalはMITライセンスで公開しているオープンソース・ソフトウェア。 Kamalは、Dockerでコンテナ化したアプリケーションを配備するツール。設定ファイルに外部の公開IPアドレスを記入して起動すれば、Linuxが動作するコンテナが動き出す。このコンテナにはSSHで接続することも可能だ。 Hansson氏はKamalをWebアプリケーションをクラウドから自前のサーバーに移す目的で使用しているが、クラウド間での移動など、ほかの目的にも利用できる。Kamalを利用す

    Ruby on Railsの作者がコンテナ・デプロイ・ツール「Kamal 1.0」を公開
    tinsep19
    tinsep19 2023/10/02
  • Rust向けGUIツールキット「KAS」の作者が、RustのGUI対応状況を振り返る

    Rust向けGUIツールキット「KAS」の作者が、自身のブログでRust言語で使用できるGUI関連ライブラリの発展具合を振り返った。KASはApache License 2.0で公開しているオープンソース・ソフトウェアだが、少人数で開発しているためバージョンアップのペースは遅く、当初の目標としている機能をすべて実装できているわけではない。現時点での最新バージョンは0.12.0と、バージョン1にも到達していない。 今回のブログ投稿は、Rust向けのGUIツールキットやライブラリの開発が進んでいないのではないかと疑問を投げかける他者のブログ投稿に答えるものだ。ほかのWebサイトには、RustGUIアプリケーションを作ることはできるが、その方法はElectronを入れてHTMLで記述するか、ラッパーを通してOSのAPIを操作するしかない。Rustの言語仕様をもってすれば、複雑なGUIも記述でき

    Rust向けGUIツールキット「KAS」の作者が、RustのGUI対応状況を振り返る
    tinsep19
    tinsep19 2022/12/17
  • ソフトウェアの自動テストはこれからどう変わるのか――これまでの10年から考える【デブサミ2022】

    近年、ソフトウェアテストの自動化が一般的になり、多くの企業で導入が進んでいる。自動テストなしではもう、ソフトウェア開発は成り立たないと言ってもいいだろう。では10年後、テスト自動化はどのような進歩を遂げていくのだろうか。ソフトウェアテスト専門会社であるヒューマンクレストの取締役 浅黄友隆氏は、テスト自動化がこの10年間でどのように変わっていったのか、そして10年前と変わらなかったことを中心に語り、今後の自動テストについて語った。 株式会社ヒューマンクレスト 取締役 浅黄友隆氏 10年前といまではソフトウェアテスト自動化の認識が変わってきている ソフトウェア開発で欠かせないのがソフトウェアテストだ。10年前は、まず手動テストをつくり、それをいかに自動化するのかがソフトウェアテストの自動化だと考えられていた。浅黄氏が10年前に抱いていた自動テストのイメージも「人間の手で操作しているテストを自動

    ソフトウェアの自動テストはこれからどう変わるのか――これまでの10年から考える【デブサミ2022】
    tinsep19
    tinsep19 2022/03/24
  • そのテスト、正しく設計できていますか? テスト技法ツール「GIHOZ」を活用したAPIテスト設計【デブサミ2022】

    マイクロサービスアーキテクチャの普及や、Webブラウザのほかモバイルやスマートスピーカーなどクライアントチャネルの多様化もあって、Web APIを前提としたシステムが増加している。当然、Web APIのテストも現場では大きな課題になってくるが、株式会社ベリサーブの朱峰錦司氏は「なぜ、そのテストを実行するのか、全員で共有できているチームはどれほどあるだろうか」と疑問を抱く。そして正しいテスト技法を少し覚えるだけでも、個々のテストに対する理解はぐっと深まるという。テスト技法の初歩を、実演も交えて解説してくれた。 株式会社ベリサーブ 研究企画開発部 サービス開発課 課長 朱峰錦司氏 テスト作りの過程を言語化するツールがテスト技法 朱峰氏は「今はソフトウェアプロダクトを1回作って終わりという時代ではない。プロダクトをどんどん進化、変化させていく時代だ」と指摘し、この状況に対応するために書いたテスト

    そのテスト、正しく設計できていますか? テスト技法ツール「GIHOZ」を活用したAPIテスト設計【デブサミ2022】
    tinsep19
    tinsep19 2022/03/16
  • マイナンバーカードの仕組みはどうなっている? RustでAndroidアプリを作ってみて分かったこと【デブスト2021】

    2020年コロナ禍の特別定額給付金では、マイナンバーカードがあればオンライン申請できて早めに給付金を受け取ることができた。少しずつマイナンバーカードを持つメリットが増えてきた。将来的には健康保険証や運転免許証の代替として利用できるという話もある。しかしもっと大きなメリットがあるという。ゆめみ 池口直希氏がRustを使ったマイナンバーカードを操作するアプリの作成を通して解説する。 株式会社ゆめみ マーケティングソリューション事業部 サーバーサイドエンジニア 池口 直希氏 マイナンバーカードの仕組みはどうなっている? 国立豊田高専を中退し、2021年4月にゆめみに入社した池口直希氏。サーバーサイドエンジニアPHPTypeScript、C#、GoRustといった言語のほか、AWSTerraformDockerなどを使う。「なんでも屋なので、フロントエンドにも手を出したりもしています」と

    マイナンバーカードの仕組みはどうなっている? RustでAndroidアプリを作ってみて分かったこと【デブスト2021】
    tinsep19
    tinsep19 2022/03/06
    マイナンバーカードを作る最大のメリットは日本の公的な公開鍵基盤が発行した証明書が手に入ること
  • Rust、Androidのシステム開発に対応

    Androidアプリ開発でよく用いられているJavaKotlinは、アプリケーションの開発には適しているものの、OSの下位層における開発では、CやC++Rustといったシステムプログラミング言語が必要となる。 これらのシステムプログラミング言語は、低レベルのシステムリソースとハードウェアへのアクセスが可能で、より少ないリソースで、より予測可能なパフォーマンス特性を備える一方で、CとC++ではメモリの有効期間を管理する必要があり、とりわけ複雑なマルチスレッドのコードベースでは、誤りを犯しやすい。 しかし、Rustならコンパイル時のチェックでオブジェクトの存続期間/所有権を制限し、ランタイムチェックでメモリアクセスが有効であることを確認するという組み合わせで、メモリの安全性を保証している。 また、コードがC/C++で記述されており、信頼できない入力を解析する場合、Androidでは厳しく制

    Rust、Androidのシステム開発に対応
    tinsep19
    tinsep19 2021/04/11
  • 米AWS、サーバレス時系列データベースサービス「Amazon Timestream」の提供を開始

    Amazon Timestreamは、高速でスケーラブルなサーバレス時系列データベースサービスであり、1日あたり数兆もの時系列イベントを最大1000倍高速に、リレーショナルデータベースの10分の1のコストで簡単に収集、保存、処理できる。 すべてのデータは、同じAWSリージョン内の複数のアベイラビリティゾーン(AZ)に常に複製され、新たなデータはメモリストアに書き込まれ、操作の成功を返す前に3つのAZ間でデータが複製される。 データレプリケーションは、クォーラムベースなのでノードまたはAZ全体が失われても、耐久性や可用性は損なわれない。また、メモリストア内のデータは、追加の予防措置としてAmazon Simple Storage Service(S3)へ、継続的にバックアップされる。 クエリは、保存場所を指定することなく、階層全体の最近のデータと履歴データに自動でアクセスして結合し、時系列固

    米AWS、サーバレス時系列データベースサービス「Amazon Timestream」の提供を開始
    tinsep19
    tinsep19 2020/10/04
  • 京都大学、Pythonによるプログラミング演習教材を無料公開

    プログラミング演習の教材は、プログラミングの初学者を対象にPythonを用いたプログラミングを演習方式で学ぶもので、京都大学学術情報リポジトリ(KURENAI)で公開されている。編のほか、横道にそれる話題をまとめたコラム編の2つの教材がある。著者は国際高等教育院 教授の喜多一氏。 教材は、2018年度に全学共通科目として実施された授業を元に構成されたもので、到達目標としては以下の3つを挙げている。 Pythonによるプログラムの実行についての基操作ができるようになる。 Pythonプログラムを構成する基的要素の機能と書式について説明し、例題を用いて実行例を構成できるようになる。 Pythonを用いて簡単なプログラムを自ら設計、実装、テストできるようになる。 著者は、教材のまえがきにおいて、多くの解説書がプログラミング言語の紹介に終始しがちななか、Pythonというプログラミング言

    京都大学、Pythonによるプログラミング演習教材を無料公開
    tinsep19
    tinsep19 2020/02/22
  • Microsoft、ソースコード解析ツール「Microsoft Application Inspector」をオープンソースで公開

    Microsoft Application Inspector」は、ソースコードにおける暗号化やリモートのエンティティへの接続、実行されるプラットフォームといった挙動を見つけられるツールで、複雑なプログラミング手法の検出や、人間では見つけにくいプログラムの挙動を特定できる。 大規模なプログラムの解析も可能で、複数の異なるプログラミング言語によって構成された、数百万行にも及ぶソースコードの解析にも対応している。 「Microsoft Application Inspector」を使用すれば、コンポーネントのバージョン間での機能変更も識別できるため、バックドアの検出に役立つ。さらに、リスクの高いコンポーネントや、追加の精査が必要なコンポーネントの特定にも使える。 検査結果は、JSONやインタラクティブHTMLを含む複数の形式でレポートを生成可能で、ソースコードから特定された機能が一覧表示され

    Microsoft、ソースコード解析ツール「Microsoft Application Inspector」をオープンソースで公開
    tinsep19
    tinsep19 2020/01/22
  • Linuxカーネル開発者を目指す人のための無料オンラインコースが提供開始

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    Linuxカーネル開発者を目指す人のための無料オンラインコースが提供開始
    tinsep19
    tinsep19 2019/10/23
  • Java 11の変更点を押さえよう! 標準機能になったHTTP Client API (1/3):CodeZine(コードジン)

    Java 9、Java 10と6カ月ごとのリリースを終え、予定通り9月にJava 11がリリースされます。Java 10の連載でも紹介しましたが、Java 11ではサポート面の変更や既存モジュールの一部廃止などが行われます。また、Java 11はLTS版(長期サポート)であり、格的に利用を始めようと思う方も多いのではないでしょうか。実は筆者もJava 11の状況を見てから現行で動いているシステムの移行対応をしようと思っています。特にJava 8以前の資産を維持しなければいけない開発者にとっては、影響がどのくらい生じるのか興味があるでしょう。また、新しいAPI面では、Java 9から長く待たされているHTTP関連のAPIが大きな変更点です。今回はJava 11での主な変更点の紹介と標準機能になったHTTP Client APIを中心に紹介します。 初めての6カ月定期アップデートで変わったJ

    Java 11の変更点を押さえよう! 標準機能になったHTTP Client API (1/3):CodeZine(コードジン)
    tinsep19
    tinsep19 2019/04/18
  • Android 8.0とAndroid Studio 3.0で始めるReactive Extensionsを用いたアプリ開発

    BizReach Tech Blog はじめに 昨今、リアクティブプログラミングが注目されています。GUIにおけるインタラクションや、時間経過と共に変化するアニメーションなどに適したパラダイムであると言われており、もちろんAndroidアプリケーション開発にも取り入れていくことが可能です。 記事では、2018年1月時点における最新のAndroid開発環境であるAndroid Studio 3.0.1とAndroid SDK Build Tool 26.0.2(Android 8.0)と、Reactive Extensions(RxJava2)を使ったアプリ開発方法について、チャットアプリケーションを題材として紹介します。 対象読者 Androidアプリケーション開発に携わるエンジニア Androidでリアクティブプログラミング未経験者 Android 8.0、Android Studio

    Android 8.0とAndroid Studio 3.0で始めるReactive Extensionsを用いたアプリ開発
    tinsep19
    tinsep19 2019/03/07
  • 多様化するJavaのフレームワーク問題を解決する、「Spring Boot」とは?

    Springとは Spring Bootを紹介する前に、Spring Bootの基盤技術でもあるSpring Frameworkについて簡単に紹介します。 Javaを以前から使っているならば、Springという言葉を聞いたことがある方も多いはずです。Strutsなどが全盛期の頃は、Springと言えば現在のSpring Frameworkを指していました。そのため、現在でもSpring Frameworkのことを単にSpringと呼ぶ方もいます。 Spring "Framework"と呼ばれてはいますが、開発者にとってはフレームワークというよりも、DI(依存性注入)やAOP(アスペクト指向プログラミング)といったスタイルを実現するためのライブラリに近い位置づけかと思います。 そのため、Spring Frameworkはどのようなフレームワークを選んでいても、よく一緒に使われてきました。 現

    多様化するJavaのフレームワーク問題を解決する、「Spring Boot」とは?
    tinsep19
    tinsep19 2019/01/24
  • AIが既存企業のノウハウを破壊する――ディープラーニング開発の「ハイウェイ」となるソニーの独自フレームワークとは【デブサミ2018 夏】

    ディープラーニングを始めとするAI関連技術は、あらゆる企業に浸透し、世の企業の価値基準を「ノウハウの保有量」から「データの保有量」に変革していく。そんな時代予測のもとに打ち出されたソニーのディープラーニング開発用フレームワーク「Neural Network Libraries」と、学習用GUIツール「Neural Network Console」。ソニーの成平拓也氏は、それらを「入門から研究・実用までを幅広くカバーするソフトウェア」と紹介し、変革の時代に対応する手立てとして提案した。ソニーグループ内の具体的な活用事例とともに、その機能をご確認いただきたい。 ソニー株式会社 AIコア技術開発部 マシンラーニングリサーチエンジニア 成平拓也氏 ディープラーニングがシステム開発の現場に起こす「相転移」 社内制度によってソニーに勤務しながらUCバークレーに研究留学し、オープンソースのディープラーニ

    AIが既存企業のノウハウを破壊する――ディープラーニング開発の「ハイウェイ」となるソニーの独自フレームワークとは【デブサミ2018 夏】
    tinsep19
    tinsep19 2018/10/11
  • 「アジャイル開発はあくまでゴール達成のための手段」――Yahoo!カード天神チームがたどり着いた開発スタイルと技術【デブサミ2018 福岡】 (1/2):CodeZine(コードジン)

    今年春に開所したヤフーの天神オフィス(福岡市)。同所ではYahoo! JAPANの各サービスを支える基盤システムやプラットフォームの開発を担当している。そのうちの1つ、Yahoo!カードアプリケーションの開発プロジェクトでは、東京チームと天神チームが連携してシステム開発を行っている。Yahoo!カードアプリケーション開発プロジェクトの概要、およびチームの立ち上げ方、アジャイル開発などについて、ヤフー株式会社 コマースカンパニー 決済金融統括部 山崎勝平氏が解説した。 講演資料:Yahoo!カード天神チームの立ち上げからこれまで ヤフー株式会社 コマースカンパニー 決済金融統括部 山崎勝平氏 開発チームをゼロから立ち上げ、混乱期を乗り越え機能期に導く 山崎氏がヤフーに入社したのは、昨年の10月。「天神オフィスの立ち上げメンバーとして入社した」と言う。以来、Yahoo! JAPANのクレジ

    「アジャイル開発はあくまでゴール達成のための手段」――Yahoo!カード天神チームがたどり着いた開発スタイルと技術【デブサミ2018 福岡】 (1/2):CodeZine(コードジン)
    tinsep19
    tinsep19 2018/10/02
  • APIを利用したエコシステムの構築を阻む壁は何か?

    2016~2017年に静かなバズワードとして認知度を上げてきた「Web API(Application Programming Interface)」。もしくは単純にAPIとも呼ばれますが、これはインターネットでも利用されている通信プロトコルであるHTTP/HTTPSの技術を利用して、アプリケーションからサーバーに要求を出し、結果を画面ではなく、JSON形式などのデータで受け取る仕組みです。ソフトウェアエンジニアであれば、すでに10年以上も使ってきたAPIですが、近年ではSalesforceGoogleをはじめとして数多く出てきているSaaS(Software as a Service)型の業務アプリケーションでのデータ連携のため、そしてFintechをはじめとするX-Tech、IoT、AIを含むビッグデータ活用などの文脈でビジネスを繋ぐ要素としてAPIが語られることが増えています。 こ

    APIを利用したエコシステムの構築を阻む壁は何か?
    tinsep19
    tinsep19 2018/08/01
  • データ収集だけ解説しても意味がない―『Pythonによるクローラー&スクレイピング入門』インタビュー

    経験がないのに突然クローラー開発を任された――そんな人が頼りたいのは入門書。データ収集のノウハウだけでなく、データ活用までトータルで解説したのが『Pythonによるクローラー&スクレイピング入門』です。今回、クローラー開発に関心がある方に向けて、書の著者である横山裕季さんと加藤勝也さんに、書やPythonの魅力についてうかがいました。 データ収集のニーズが拡大 ――書『Pythonによるクローラー&スクレイピング入門』はデータ収集の需要に応える形で書かれた解説書ですが、実際にお二人は需要が増していると体感されていますか? 横山:自分自身は業務でクローリングに携わっているので身近ですが、ネットでもそういう声を見かけることが増えました。その理由として、機械学習ブームが大きい気がします。たとえば自然言語処理でも、Twitterのツイートを収集してデータ分析するのが有効ですからね。 加藤:機

    データ収集だけ解説しても意味がない―『Pythonによるクローラー&スクレイピング入門』インタビュー
    tinsep19
    tinsep19 2017/10/30