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

  • Pythonの独学を支える教科書づくりの裏側、京都大学の喜多教授が授業に込めた思いとは?

    Pythonユーザのためのグローバルイベント「PyCon APAC 2023」が2023年10月27日と28日に、TOC有明コンベンションホールで開催された。1日目の基調講演に登壇したのは、京都大学国際高等教育院の喜多一教授。「Why University Teachers Wrote a Python Textbook?」と題し、大学の授業のために書き下ろされたPythonの教科書執筆の背景を紹介した。プログラミング初心者のつまずきポイントを理解しているからこそ、オリジナルの教科書を作ったという喜多教授。はじめてプログラミングに触れる学生向けの授業と教科書に込めた思いを語った。 Pythonを学び、学生は興味をひろげてゆく 喜多教授がPythonを教えるワケ 京都大学の国際高等教育院で教養教育、特に新入生向けの教育を担っている喜多教授。自身のプログラミングとの出会いは、学生時代の1978

    Pythonの独学を支える教科書づくりの裏側、京都大学の喜多教授が授業に込めた思いとは?
    tidei
    tidei 2023/12/15
  • 生のポインタは使わないで! Modern C++のメモリ管理

    連載では、Modern C++と称されるC++について、Modern C++らしい言語仕様をピックアップし紹介していきます。第3回は、スマートポインタについて紹介します。高度なメモリ管理には生のポインタの使いこなしが必須という古い常識はもはや通用しません。メモリを効率よく、しかも安全に使うことを実現しているスマートポインタについて理解を深めます。 はじめに C言語から派生したオブジェクト指向プログラミング言語であるC++は、21世紀に入ってまったく別物とも言えるプログラミング言語に成長していきました。それは、Modern C++と称されています。1990年代にC++を触っていたプログラマが現在の仕様を知れば、隔世感に苛まれるのではないでしょうか。連載では、かつてはC++をたしなんでいたという方、今からC++言語を始めるという方に向けて、Modern C++らしい言語仕様をピックアップし

    生のポインタは使わないで! Modern C++のメモリ管理
    tidei
    tidei 2023/10/21
  • VSCodeをWebサイト開発用ツールに ―HTML/CSS/JavaScriptエディタとして強化しよう!

    はじめに Microsoftの提供するVisual Studio Code(VSCode)は、2015年の最初のリリースから、今では開発用エディタの定番の座を占めるまでになりました。これには、無償で使えることも大きいですが、何よりエディタとしての使いやすさ、そしてさまざまな拡張機能によっていくらでも使い勝手を向上させたり、利用の領域を拡げられたりすることも大きいでしょう。連載では、このVSCodeにフォーカスし、基的な使い方から拡張機能の活用、そして格的な開発現場での利用を想定した高度な機能までを紹介していくことで、読者がVSCodeマスターになるお手伝いをします。 対象読者 テキストエディタメインで開発してきた方 Visual Studioより軽い環境が欲しいと考えている方 Visual Sudio Codeをもっと使いこなしたい方 必要な環境 記事の内容は、以下の環境で動作を確

    VSCodeをWebサイト開発用ツールに ―HTML/CSS/JavaScriptエディタとして強化しよう!
    tidei
    tidei 2023/08/01
  • AWS、全世界から利用できるNTPサーバーを公開

    Amazon Web Servicesは、全世界から利用できるNTP(Network Time Protocol)サーバーを11月10日(現地時間)に公開した。同社は「Amazon Time Sync」という名称でEC2(Elastic Compute Cloud)インスタンスに時刻情報を送信するサービスを提供しているが、今回は時刻情報を送信する対象を全世界のコンピューターに拡大した。 AWSが提供を開始したNTPサーバーを利用するには、コンピューターの時刻設定で「time.aws.com」というNTPサーバーを参照するように設定すればよい。料金は発生しない。AWSはIoT端末や、オンプレミスのサーバーなど、AWSサービスと連携している端末で使用することで、AWSサービスと共通の時刻で運用できる利点があるとしている。 Amazon Time Syncは、衛星につながった原子時計を使用した

    AWS、全世界から利用できるNTPサーバーを公開
    tidei
    tidei 2022/11/16
  • Visual Studio CodeへのJavaScriptデバッガ統合でブラウザでのデバッグが容易に

    Visual Studio CodeにJavaScriptデバッガが組み込まれたことで、従来Visual Studio CodeでのJavaScriptデバッグで用いられていた、ChromeデバッガまたはMicrosoft Edgeデバッガ拡張機能が不要になる。 さらに、Google ChromeまたはMicrosoft Edgeでプロジェクトをデバッグするには、「F5」キーを押すか、メニューバーのデバッグアイコンをアクティブにして「Run and Debug」を選んでセッションを始められるほか、「Debug: Open Link」コマンドを実行することで、拡張機能をインストールすることなく、Google ChromeMicrosoft Edge、またはNode.jsでのデバッグを選べる。 なお、ブラウザ開発ツールのコンソールと同じように、エディタのデバッグコンソールからブラウザのドキュ

    Visual Studio CodeへのJavaScriptデバッガ統合でブラウザでのデバッグが容易に
    tidei
    tidei 2021/08/01
  • 開発者におすすめ! プログラマブルな最新のネットワークが学べる「Cisco DevNet」の歩き方

    ネットワークのテクノロジーはSDNやSD-WAN、Infrastructure as Codeの流れがあり、ソフトウェアに近づいてきている。APIでアクセスすることで操作の自由度を高めたり、通信情報をセキュリティに役立てたりしている。コーディングに慣れたアプリケーション開発者にとってネットワークは遠い世界ではなく、これまでのスキルを活かせる場になるかもしれない。その足がかりとなりそうなのがCisco DevNetだ。 プログラマブルに操作できる、今ネットワークに注目が集まるワケ シスコといえば、スイッチやルーターなどネットワーク機器のイメージがある。アプリケーション開発者から見たら、こうしたネットワークの領域は「自分とは遠い世界」と思いがちではないだろうか。 しかし、そうしたイメージは払拭したほうがいいだろう。かつてネットワーク機器の操作はコマンドラインだったが、今の管理画面はGUI操作も

    開発者におすすめ! プログラマブルな最新のネットワークが学べる「Cisco DevNet」の歩き方
    tidei
    tidei 2020/08/09
  • 京都大学、Pythonによるプログラミング演習教材を無料公開

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

    京都大学、Pythonによるプログラミング演習教材を無料公開
  • Linuxカーネルの開発ツリーに次世代VPN・WireGuardがマージ

    WireGuardは、Linuxプロジェクトとして開発がスタートしたオープンソースのレイヤ3VPNで、他のVPNと比較してコードがシンプルで、高速かつ組み込みやすい。現在はLinuxだけでなく、WindowsmacOS、BSD、iOS、Androidでも利用できる。 UDPを介してIPパケットをカプセル化することでVPNを実現しており、秘密鍵と公開鍵を使用して認証を行う。前述のように、既存のVPNと比較して高速であり、Noiseプロトコルフレームワーク、Curve25519、ChaCha20、Poly1305、BLAKE2、SipHash24、HKDFといった暗号化技術をサポートしている。 Linuxでの利用にあたっては、WireGuardの中心的な開発者であるJason Donenfeld氏がLinuxに組み込まれている暗号化サブシステムを嫌い、新たな暗号化サブシステムとしてZinc

    Linuxカーネルの開発ツリーに次世代VPN・WireGuardがマージ
    tidei
    tidei 2020/02/01
  • 「Java 8はいつまで使い続けていいんですか?」Georges Saab氏に聞いたJavaのこの先【Oracle Code One 2018】 (1/2):CodeZine(コードジン)

    JavaOneから改称し、ディベロッパー向けの総合技術イベントとして開催された「Oracle Code One 2018」。今回は、そのキーノートでモデレーターを務めたGeorges Saab氏への特別インタビューの内容をお届けします。講演をあのような構成にした意図は? Java 8はいつまで使い続けていい? AdoptOpenJDKやJakarta EEを正直どう思っている? などなど、空気を読まずに質問をぶつけた結果をお楽しみください。 記事はOracle Code Oneレポートの第2回ですが、単体で読める構成にしています。なお、初日のJavaキーノートの詳報をお伝えした第1回のレポートはこちらから参照ください。 Georges Saab氏:大変きさくなGeorges氏(VP Oracle Java Platform Group Chair OpenJDK Governing Bo

    「Java 8はいつまで使い続けていいんですか?」Georges Saab氏に聞いたJavaのこの先【Oracle Code One 2018】 (1/2):CodeZine(コードジン)
  • AWSネットワーク構成図の手動更新がつらい? よろしい、ならばCloudMapperだ (1/3):CodeZine(コードジン)

    連載では、株式会社ビズリーチのエンジニアが、急成長を続ける事業の中で得られた実践的なノウハウをつづります。第3回となる今回は、6月に始めたエンジニアブログ「BizReach Tech Blog」で反響が大きかった記事を加筆修正して掲載します。テーマは「AWSネットワーク構成図の手動更新がつらい? よろしい、ならばCloudMapperだ」です。CloudMapperの紹介と、全自動でネットワーク構成図を作成するための方法をご紹介します。 BizReach Tech Blog はじめに 株式会社ビズリーチで、SREエンジニアとして勤務しているmassです。2017年4月に入社してから、HRMOS(ハーモス)採用管理というサービスのAWSのインフラを管理したり、アーキテクチャの設計・構築をしたりしています。 今回は、入社してから半年経ったら、いつのまにかサービスのネットワーク管理者になってい

    AWSネットワーク構成図の手動更新がつらい? よろしい、ならばCloudMapperだ (1/3):CodeZine(コードジン)
    tidei
    tidei 2018/10/06
  • IoTのセキュリティ設計って、どこから学んだらいいの?

    「IoT(Internet of Things:モノのインターネット)」は注目度が高いものの、全体的に未成熟な分野だと言われています。利用者にとって、また事業者にとっても、想定される脅威に対応したセキュアなIoT製品を開発することが課題であり、そのための情報、ガイドライン、あるいはその教材の需要は高いと考えられます。 そこで稿では、独立行政法人情報処理推進機構(IPA)より公開された、「IoT開発におけるセキュリティ設計の手引き」(以下、ガイドライン)について紹介します。このガイドラインの初版は、2016年5月12日に公開されたもので、IoT開発においてセキュリティ設計を担当している技術者を主な対象として作成されています。 IPA「IoT開発におけるセキュリティ設計の手引き」 このガイドラインは、高い頻度で更新されており、さまざまなIoT製品に言及した体系的な文書となっています。当然なが

    IoTのセキュリティ設計って、どこから学んだらいいの?
    tidei
    tidei 2017/03/31
  • ソフトウェア開発を取り巻く自動化ツールの現況と導入のポイント

    ソフトウェアを提供している組織では、テクノロジーの発展とともにその組織内における自動化の可能性がどんどん広がってきました。もちろん、なにを自動化しているかは組織によって異なります。稿では、自動化するためのツールやサービスをソフトウェア開発に焦点をあてて整理し、それらを導入するための戦略を紹介します。 自動化ツールの概要 筆者が自動化するという言葉をソフトウェア開発で初めて聞いたのは、Webブラウザを自動操作したり、ドキュメントを生成したりするものでした。そこからソースコードをバージョン管理、テスト自動化、デプロイ自動化、環境構築自動化と、どんどんいろんなものを自動化できるようになりました。現在ではクラウド環境を利用することで高速に大量のソフトウェアを提供したり、自動化の基盤として利用したりできます。 さまざまなものが自動化できるようになり、それらの自動化の方法はいくつかありますが、現在は

    ソフトウェア開発を取り巻く自動化ツールの現況と導入のポイント
    tidei
    tidei 2016/12/02
  • ページランクのアルゴリズムをC++で試してみる

    前回Google Mockを紹介したこともあって、Googleがらみのトピックを探していたところ、"How Google Finds Your Needle in the Web's Haystack:GoogleはどうやってWebの干草の山から針を見つけ出すのか"というタイトルの解説記事に辿り着きました。Googleでの検索結果は有用な(あるいは人気のある)ページが検索リストの上位に並びます(広告云々は別として)。各ページの有用さの度合いを計算し、それをキーに並び替えを行っているのでしょう。この記事では"有用さの度合い"をどうやって算出しているのかを解説していました。今回はこの記事をさらに噛み砕き、C++コードで実際に算出しながらの解説を試みます。 前回の記事『Google Mock:はじめの一歩』 『How Google Finds Your Needle in the Web's H

    ページランクのアルゴリズムをC++で試してみる
    tidei
    tidei 2016/12/02
  • IoTプロトタイプの無線化におすすめ! 無線通信規格ZigBeeに対応した小型モジュール「XBee」を使ってみよう

    こんにちは、dotstudio株式会社でエンジニアリングを担当しているうこ(@harmoniko)です。 IoTは「あらゆるモノがインターネットにつながる」という意味のワードですが、もしもほとんどのモノが有線でインターネットに繋がるようになったら、ケーブルだらけで大変なことになりそうですよね。できることなら無線を使いたいですが、無線通信をどのように始めたらいいのかわからない、というエンジニアの方は少なくないと思います。 そんな今回紹介するのは「XBee(エックスビー)」と言われる無線用の小型モジュールです。「ZigBee(ジグビー)」規格を用いて無線通信をおこなえます。 XBeeとは XBeeは、ZigBee規格に対応した無線モジュールのひとつで、米国Digi International社の製品です。日で利用できるもの(技適取得済製品)は、Wi-FiBluetoothと同じ2.4GHz

    IoTプロトタイプの無線化におすすめ! 無線通信規格ZigBeeに対応した小型モジュール「XBee」を使ってみよう
    tidei
    tidei 2016/12/01
  • AWSネットワークの論理的な側面 ~ AWSのバックボーンネットワークに関するDeepな話(2)

    こんにちは。アマゾンウェブサービス(AWS)サポートの有賀と申します。好きなサービスはAmazon Virtual Private Cloud(VPC)です。これからAWSサポートの各メンバーがそれぞれ「今一番AWSユーザーに伝えたいこと」を連載の形でお届けしていきます。筆者の担当する稿では、AWSの「ネットワーク」について見ていきたいと思います。今回は、ネットワークの「論理設計」について解説します。 稿でお伝えするのは下記の第2回の内容です。全3回に渡って解説していきます。 AWSのネットワークの物理的な側面 ⇒ 第1回 AWSのネットワークの論理的な側面 ⇒ 第2回 AWSのネットワークにおけるベストプラクティス ⇒ 第3回 AWSのネットワークにおいて過去に発生した問題の事例 ⇒ 第3回 必ずしもAWSの使い方といった内容ではないので、今日すぐに使える知識にはならないかもしれませ

    AWSネットワークの論理的な側面 ~ AWSのバックボーンネットワークに関するDeepな話(2)
    tidei
    tidei 2016/11/29
  • ブロックチェーンアプリを実際に動かしてみよう!

    IBM Bluemixは、PaaS(Platform as a Service)として皆さんに最強の開発環境を提供します。Bluemixの特徴として、開発基盤だけではなく、100を超えるサービス「IBM Watson、ランタイム、IoT、Storage(DB)、アナリティクス、モバイル」など、豊富な開発環境やAPIがシンプルな形で提供されており、より素早くアプリケーションを構築&運用することが可能です。「IBM Bluemix User Group(BMXUG)リレー寄稿」では、コミュニティの皆さんが最近もっとも注目しているBluemixのサービスを、順番に紹介していきます。今回はブロックチェーンを利用したアプリケーションを取り上げます。 はじめに 最近何かとブロックチェーン(Blockchain)が話題に上ることが増えてきましたが、稿では、Blockchainについてあまり知らない方を

    ブロックチェーンアプリを実際に動かしてみよう!
    tidei
    tidei 2016/10/17
  • 量子コンピュータができること、できないことをできるだけ分かりやすく聞いてみた――量子情報勉強会 宇津木健さん

    CodeZineがお届けするPodcast「かまぷとゆうこのデベロッパーズ☆ラジオ」略して「デブ☆ラジ」。この番組では、USP研究所のかまたひろこと、CodeZine編集部の近藤佑子が、ソフトウェアデベロッパーのみなさんに向けて、IT技術に関するちょっといい話をお送りします。音声に加えて、ダイジェスト版の記事もお届け。第2回のゲストは、CodeZineで量子コンピュータについての解説記事を執筆いただいている、量子情報勉強会の宇津木健さんです。 iTunesからの視聴はこちら! 近藤佑子(以下、ゆうこ) 前回の感想、「#デブラジ」のハッシュタグで追ってみると面白いですね。 かまたひろこ(以下、かまぷ) そう、おもむろに乾杯するのがウケる、とか。 ゆうこ プシュッってね。今回もありますんで、引かないで下さいね。 かまぷ 「そこは違う」みたいなコメントもあって。ぜひみなさんにもどんどんツッコミを

    量子コンピュータができること、できないことをできるだけ分かりやすく聞いてみた――量子情報勉強会 宇津木健さん
    tidei
    tidei 2016/07/27
  • Swiftから透けて見えるAppleのコンパイラ技術

    連載は、はてなエンジニアが、はてなのサービスを支えている技術や日頃注目している技術について解説するものです。Appleは毎年WWDCでいくつもの新規技術を発表していますが、筆者はその中でもObjective-Cの進化に特に注目していました。新たに追加されるAPIやサービスの前では、Objective-Cの進化はあまり注目されてきませんでしたが、実はここ数年の間も進化し続けていました。これにはAppleがコンパイラ技術にコミットしてきたことが大きく影響しています。今回は、Appleのコンパイラ関連技術を振り返り、Swiftにどう繋がるのかを解説します。 はじめに SwiftAppleによって開発された全く新しいプログラミング言語です。WWDC 2014で稲のように現れたこのプログラミング言語は、またたく間に世界中のモバイルアプリ開発者の注目を集めました。 Swiftは衝撃的な登場だった

    Swiftから透けて見えるAppleのコンパイラ技術
    tidei
    tidei 2016/07/25
  • IoTセンサーデータを使ったD3.jsによるグラフ化と機械学習モデルによる故障予測

    IoT(Internet of Things:モノのインターネット)のセンサーで取得したデータをクラウド上のデータベースに蓄積し、分析・活用するアプリケーションを手軽に始めてみる連載の第3回です。今回は、IBMのPaaS「Bluemix」が提供するIoTデバイス接続サービス「IBM Watson IoT Platform」を経由して受信した温度・湿度データを、DBaaS(Database as a Service)の「IBM Cloudant」へ蓄積し、グラフとして可視化するとともに、「IBM Predictive Analytics」サービスで生成した機械学習モデルを用いて故障予測を行うアプリケーションを作成します。 サンプルアプリケーションの概要 今回作成するアプリケーションは、以下の3つのアプリケーション(サブ機能)で構成されます。 ① 「IoTデバイスのデータを受信してデータベース

    IoTセンサーデータを使ったD3.jsによるグラフ化と機械学習モデルによる故障予測
    tidei
    tidei 2016/05/02
  • NVIDIA、ドローンなどのマシンに画像認識機能などを提供する、GPU搭載の組み込みコンピュータ「Jetson TX1」を国内販売開始へ

    エヌビディア(NVIDIA)は、ディープラーニングにより画像をはじめとするオブジェクト認識や情報解釈が可能な組み込みコンピュータ「NVIDIA Jetson TX1」を日国内で提供開始することを発表した。まず開発キット(Jetson TX1モジュールと開発用キャリアボードおよびSDK)が3月中旬から出荷開始。価格は9万3798円(税込み)。 Jetson TX1は名刺大のプリント基板上に、1テラフロップスの処理性能と256個のCUDAコアをもつMaxwellアーキテクチャのGPUと、4ビットARMアーキテクチャCPUや4GBのメモリなどを搭載したモジュールとして設計されており、ドローンなどの機器に搭載して使用する。4kビデオのエンコード/デコード、1400メガピクセル/秒をサポート。16GBのフラッシュストレージや802.11ac規格対応のWi-FiBluetooth、10/100/1

    NVIDIA、ドローンなどのマシンに画像認識機能などを提供する、GPU搭載の組み込みコンピュータ「Jetson TX1」を国内販売開始へ
    tidei
    tidei 2016/03/08