Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...
![オープンソースになったGitHub OpenAPI仕様 (ベータ)](https://cdn-ak-scissors.b.st-hatena.com/image/square/10db31156874e9e833eb66eade113fc2b6cec6e2/height=288;version=1;width=512/https%3A%2F%2Fcdn.infoq.com%2Fstatics_s1_20240425073937%2Fstyles%2Fstatic%2Fimages%2Flogo%2Flogo-big.jpg)
はじめに 僕はフィヨルドブートキャンプでメンターをやっています。 その一環として生徒さんが書いたRubyのコードをレビューすることもよくあります。 そんなとき「そこはこんなメソッドが使えますよ」「こう書いた方がシンプルですよ」みたいなコメントを入れると、「なんでそんなにたくさんメソッドを知ってるんですか?」「どうしたら豊富な知識を身につけられるんですか?」という返事が返ってくることがあります。 このエントリではその質問に対する回答をあれこれ書いてみようと思います。 【もくじ】 はじめに 前提として 仕事で毎日コードを書いてるから(コードを書いてる時間が長いから) とことんリファクタリングする リファクタリングに欠かせない、テストコードとgit コードレビューしてもらう / コードレビューする モブプロやペアプロをする 人に教える コラム:自分で自分好みの勉強会を主催してみる 情報をインプッ
LINEが定期的に開催する技術者向けミートアップ「LINE Developer Meetup」。64回目はオンラインで開催され、「開発とテスト」というテーマで、LINEのSET(Software Engineer in Test)である伊藤宏幸氏が、LINEのプロダクト開発の現場で推し進めてきた具体的な取り組みについて紹介します。後半は3つの重要性のうちの2つ目の続きと最後の1つ、そして情報の共有について話しました。 オープンソースのフレームワーク「Karate」 伊藤宏幸氏(以下、伊藤):ここで私たちが取った方法は、もう1回、先ほどのProduct Discoveryを適用してみたんです。ここのChannel Gatewayのチームのみなさんから、いろいろヒアリングしながら「こういったツールを導入したらどう?」といろいろと試していって、結局落ち着いたのがKarateというオープンソースの
最近、開発チームの生産性や健全性をどのように計測したら良いかについて興味を持っている。その中で「LeanとDevOpsの科学」の中に書いてあるようなデプロイの頻度・変更のリードタイム・MTTR・変更失敗率の4指標や、開発チームの生産性・健全性を客観的に知るためにリポジトリ履歴から機械的に可視化するツールを作った - Qiitaに興味を持った。 一方、それらの指標を考えてみた時、以下のような点について悩んでいた。 マイクロサービスなどで複数レポジトリとなり、さらにデプロイ手法がそれぞれ違う状況の場合、変更のリードタイム = コミット〜本番稼働までの時間を計測するのがなかなか難しい コミットという単位だとかなり小さく、個々人のばらつきも大きすぎるように感じるので、もう少し良い単位はないのだろうか このような悩みから、PullRequestの単位で集計することで、生産性や健全性をもう少し測りやす
「現在2密です!できるだけ密になる場所を避け、安全に行動しましょう」――自分がどれくらい密閉・密集・密接、いわゆる“3密”の環境にいるかを判定するスマートフォンアプリがある。愛知県に住む19歳の学生プログラマー・ラビットプログラムさんが2週間で開発した「3密チェッカー」(Android)だ。 3密の測定以外にも、周囲の人がどれくらい新型コロナウイルス感染症の接触確認アプリ「COCOA」をインストールしているかや、東京都や愛知県の新規感染者数なども表示できる。ネットでは「周囲のCOCOAインストール数が分かるのすごい」「よくできている」「便利すぎる。iOS版も欲しい」と評価する声もある。 IT系の専門学校に通うラビットプログラムさんが、時には徹夜しながらリリースにこぎつけ、アップデートを続けているというこのアプリ。開発の意図や経緯を聞いた。 COCOAで感じた物足りなさ、“密”を避ける行動に
時系列モデルを扱う上でデファクトスタンダードになりそうなPythonライブラリが出てきました。 時系列モデルを扱うPythonライブラリは、 scikit-learn のようなデファクトスタンダードなものがありません。そのため時系列モデルを用いて実装を行うためには、様々なライブラリのAPIなどの仕様を理解しつつ、それに合わせてデータ整形を行い、評価する必要があり、これはなかなか辛い作業でした。 スイスの企業 Unit8 が今年(2020年)6月末に公開した Darts はまさにこういった課題を解決するライブラリです。時系列に関する様々なモデルを scikit-learn ベースのAPIで統一的に扱うことができます。 github.com Darts は現在、下記のモデルに対応しています。内側では statsmodels 、 Prophet(stan) 、 Pytorch などを使っていて、
まえがき この記事の目的 意図する対象読者 今回の整理の仕方(記事の見方) 注意 競プロに関係する数学(本題) 言葉(文系でも多分聞いたことはある)編 言葉(文系だと聞いたことないかも)編 言葉(離散数学)編 「式変形」編 「図形っぽいやつ」編 筆者のバックグラウンド 経歴、仕事など まえがき この記事では、競技プログラミングに関係する数学用語・概念と、それがどんな単元(分野)に属するものかを整理(一覧化)します。 競技プログラミングの問題に出てくる用語・概念をはじめ、競技プログラミングの解説記事などに出てくる用語・概念も、思いつく限り挙げています。 「この記事の数学的な部分、どのぐらい信用できるの?」とか、「数学苦手と言ってもどのくらい苦手なの?」といった疑問への参考としては、筆者のバックグラウンドを記事の最後で紹介したので、気になる方は先にそちらを読んでください。 この記事の目的 文系
標的型フィッシングから新たなストーキング方法まで、人工知能(AI)は悪の手に渡ればさまざまな方法で悪用される可能性がある。ある研究者チームが、今後15年の間に起こるであろうAIを用いた犯罪を深刻度に応じて3段階にランク付けした。「危険度高」にはディープフェイクなどが分類されている。 ある人の偽の言動を映像と音声で作り上げることにより、この技術は多様な害を及ぼす可能性があると研究者チームは述べた。ディープフェイクは、世論を操作するために公人の名声を傷つけたり、ビデオ通話で誰かの子供や親戚になりすまして資金を引き出したりすることに悪用できる。 このランキングは、ロンドン大学ユニバーシティカレッジ(UCL)の科学者チームが2日間のセミナーの結果をまとめたものだ。このセミナーでは、チームが学術論文、ニュース、大衆文化に基づいて20種類のAIを使った犯罪をリストアップし、これらの犯罪について数十人の
概要 Google Researchが、言語解釈ツール Language Interpretability Tool (LIT) を紹介する論文を出しました。NLPモデルが期待どおりに動作しない場合に、何が問題かを解明するために役立つツールだと記載されていて、便利そうだと思い試しに動かしてみたので、LITの簡単な紹介を記載します。 [2008.05122] The Language Interpretability Tool: Extensible, Interactive Visualizations and Analysis for NLP Models 概要 LITとは インストール LITの起動 インスタンスの起動 quickstart_sst_demo pretrained_lm_demo インスタンス起動用のスクリプト作成 Datasetクラス Modelクラス 公式ドキュメン
テレワーク時代のデータ共有について考える(後編)---オープンソースソフトウェア・プリザンター(Pleasanter)の紹介 前編では、「テレワーク時代のデータ共有を考える」として、Pleasanterの基本機能(フォルダー作成〜テーブルの作成と項目のカスタマイズまで)を紹介してきた。今回はExcel等の他ソフトからの「レコードの一括追加(インポート機能)」と「権限設定」、「テンプレート」について簡単に紹介し、また導入事例について触れてみたい。 *Pleasanterについてはこちらから https://pleasanter.org/ (1)レコードの一括追加(インポート機能) Pleasanterで作成したテーブルに対して、レコードを一括で追加更新することができる。まずテーブルが作成されていることを前提に進める。(テーブル作成はここを参照) ・対象テーブルへ移動し、画面下部の「インポート
コロナ禍が一向に去らない酷暑の中、延々と在宅テレワークが続いておられる方も多いだろう。リモート会議については、ZOOM、Google Meet、Teams、Webexなど様々なツールを使われていると思うが、データベースの共有や入力、Webアプリの開発環境などを在宅も含めて共有する環境を構築しようとすると、まだまだハードルが高いのが実際のところだろう。 特にITを専業としているわけではない中小の事業者の場合、社内にエンジニアがいるとも限らないし、情報システムの人材も豊富に抱えているとは限らない。その中でセキュリティや編集権限などにも配慮しながら、コーディングを最小限にしてデータ共有やアプリ構築をしようとすると、選択肢としては必ずしも多くないと思われる。 そこで、最近オープンソースでデータ共有から本格的なアプリ制作まで対応できるPleasanter(プリザンター)を触ってみる機会があったので、
こんにちは。Necoチームの池添とsatです。 サイボウズは毎年サマーインターンシップを開催しています。 今年は新型コロナウイルス(COVID-19)の影響で一時開催が危ぶまれました。 しかし、この状況で学生の皆さんの就業体験の機会が失われてしまうのもよくないと考え、フルリモートでインターンシップを実施することとしました。 blog.cybozu.io Kubernetes基盤開発コースは8月と9月の2回開催で、1回目の8月3日~14日(9日間)の日程には4人の学生が参加してくれました。 Kubernetes基盤開発コース担当のNecoチームはサイボウズの中でも、もっともOSSを活用しているチームです。 そこでこのコースでは、Necoチームが取り組んでいるKubernetes基盤開発について、OSSへの貢献を通して知ってもらう機会にしました。単に開発をするだけではなく、サイボウズがどういう
ARM7TDMIARM7 structure and components.Starting with the more familiar one, the ARM7TDMI is the same CPU found on the Game Boy Advance but now running at ~34 MHz (double its original speed). It still includes all its original features (especially Thumb). Now for the changes: Because Nintendo’s engineers placed the ARM7 next to most of the I/O ports, this CPU will be tasked with arbitrating and assi
特筆すべきは、『NeOchi PillOw』を開発したクロスプラスが、婦人服を作り続けて69年のアパレルメーカーということ。自分たちのノウハウを他分野に応用できないかと、社員から新商品のアイデアを募集。おうち時間を快適に過ごすため、デザイナーの相田夏実氏が提案したのが“ゲーミング枕”だった(Makuakeの製品ページに掲載されているインタビューより)。 意外というか何というか、開発のきっかけはNintendo Switch用ソフト『あつまれ どうぶつの森』(あつ森)。相田氏は外出自粛期間中に『あつ森』にハマり、長いときで1日に13時間ほど遊んでいたとのこと。長時間ゲームを遊ぶと身体に負担がかかることを思い知り、また自身がうつ伏せ寝派だったこともあり、できるだけ気持ちよくゲームを楽しむための枕を作りたくなったそうだ。この人は信頼できる。 ゲーム好きが考えただけあって、機能面は隙がない。通常、
検索エンジンにこれらのフィールドを持つ文書として格納します。「冷蔵庫 安い 黒」のような文字列のクエリが来たら単語に分解して各フィールドに一致する文書をフィルタして、なんらかの方法でソートして表示すればよさそうですね。このように基本的に検索システムは候補生成とランキングの多段構成になっています。候補生成に関してはクエリ拡張や候補拡張など様々な手法が提案されてきて、多くの現場で実際に使われていると思いますが、ランキングはどうでしょうか。 文書のランキングの目的は検索結果の有用性を最大化することです。1977年にRobertsonは与えられた文書セットに対して関連度の確率を高い順にソートしたときに有用性が最大になるというProbability Ranking Principleを提案し、それ以来人々は様々な方法で関連度を推定しようと試みてきました。 従来の単語の出現頻度からランク付けをする手法
はじめに SOLID原則とは どうしてSOLID原則が生まれたのか ダメなソフトウェア設計の4つの原因 Rigidity-剛性 Fragility-脆弱性 Immobility-不動性 Viscosity-粘性 本当の原因 どんな変更が設計をダメにするのか おわりに&次回記事に続く… はじめに はじめましてorこんにちは! ecbeing2年目、R&D部門所属のいかちゃんです。 これまでは、Dockerの記事やスクラムに関する所感記事、JavaScriptライブラリに関する記事を書きました。 blog.ecbeing.tech そして今回…というより本シリーズでは、泣く子も黙る『Clean Architecture』本を参考に…。 https://www.amazon.co.jp/dp/B07FSBHS2Vwww.amazon.co.jp ソフトウェア設計の5つの原則として名高い「SOLI
エンジニアだったら誰もが、「自分の出した知恵で、評価されたい」と思うだろう。優れたアイデアを出せば、それが高く評価される。逆に、つまらぬ設計しかできない者は、たいして評価されない。世の中は、そういう風であってほしい、と感じている人は多いはずだ。 評価という言葉には、いろいろな意味がある。同僚や周囲からリスペクトされるのも、評価だ。新しい重要な仕事のリーダー格に取り立てられたり、昇進するのも、評価だ。もちろん、給料やボーナスに反映されるのも、評価だ。ともあれ、優れた知恵を出したら、尊敬され、リーダー役に抜擢され、ちゃんと経済的にも報われるべきだ。つまり、良い設計の知恵は、リアルな価値に、ちゃんと具現化されてほしい。 だが、そうあってほしいと感じる人が多いのだとしたら、それは逆に、世の中はそうなっていない、という事の証拠であろう。自分の身の回りを見る限り、あんまりそうなっていないな、なんとも世
最も有名なオープンソースプロジェクトのひとつであるLinuxカーネルは、多くのエンジニアがメーリングリストでやり取りし、カーネル開発のやり方を尊重しながら開発されています。LinuxカーネルはこれまでNTFSの書き込みをサポートしていませんでしたが、ソフトウェア開発企業のパラゴンソフトウェアが書き込みも含む完全なNTFS機能をサポートしたカーネルパッチを提供。しかし、その提供方法に少し問題があったと、Linuxのハードウェアレビューや関連ニュースを提供するニュースサイト「Phoronix」のマイケル・ララベル氏が報じています。 Paragon Looks To Mainline Their NTFS Read-Write Driver To The Mainline Linux Kernel - Phoronix https://www.phoronix.com/scan.php?page
ネットで話題若い人に「ggrks」は通じない?Google検索を使わなくなったことが背景?2020年8月24日10 「今の若い子には『ggrks』が通じないというツイートを見て衝撃を受けてるのですが、本当に通じないの?」というツイートが注目され、Twitter上でさまざまな意見があがっていました。 「ggrks」は通じない?Google検索で欲しい情報が手に入らない?「ggrks」(ググれカス)今の若者には「ggrks」(ググれカス)が通じないということに衝撃を受けたとするツイートが注目され、Twitter上でさまざまな意見が寄せられています。 「ggrks」とは「Googleで検索してみろ」という意味で、質問ばかりしているユーザーに対して使われることの多いネットスラング。 今の若い子には「ggrks」が通じないというツイートを見て衝撃を受けてるのですが、本当に通じないの??????え??
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く