You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 情報検索・検索エンジン Advent Calendar 2019 の5日目の記事です。このAdvent Calendarを作った@takuya_aさんより、お誘いいただきました。 @minoru_osuka もし余裕あれば12/5の記事お願いします! https://t.co/YIA9tIB4Gj — takuya-a (@takuya_b) December 1, 2019 ということで、仕事とは別で個人的に始めたプロジェクトについて紹介できたらと思います。 私自身はApache Solrを好んで利用しています。 ただ、最近のサーバサ
インポート~情報蓄積 ・他のツールから簡単にインポート ・圧倒的にシンプル&洗練されたデザイン ・みんなでリアルタイム共同編集 ・文中にインラインコメント ・編集履歴の確認とロールバック ・下書きレビューでワークフロー ・Markdown、リッチテキストエディタ、PlantUML ・Excel、CSV、スプレッドシートをコピー&ペーストで表作成 ・PowerPoint、Word、Excel、PDFなど簡単アップロード&プレビュー ・画像、動画をドラッグ&ドロップ、コピー&ペーストで貼り付け ・よく使う情報をテンプレート化 ナレッジ最適化~活用 ・ハイスピードレスポンス ・グループでアクセスコントロール、フォルダで構造化 ・複数条件に対応した高度な検索 ・データをまとめてグループ移動 ・プレゼンテーション機能 ・柔軟な外部共有 ・いいね!でレスポンス、スレッド型コメントで議論 ・迅速なチャッ
パフォーマンス上の問題から、expect()よりunwrap_or_else()とpanic!()の組み合わせを使うべき場合がある、という話。 expect()の失敗時に表示される文字列 Option型のメソッドであるexpect()は、値がSomeの場合はその中身を取り出し、そうでない場合は引数として与えられた文字列を表示してパニックを起こします。この文字列の型は&strであるため、実行時にエラーメッセージを生成したい場合は、format!()マクロを用いて一旦String型の値を生成し、その参照を渡してやる必要があります。 例として、次のコードを実行してみます。 fn main() { foo(0); } fn foo(n: i32) { let a = bar(n).expect(&format!("n = {}", n)); println!("{}", a); } fn bar(
もう結構前になりますが、Rust で Emscripten を利用することなく WebAssembly の出力ができるようになりました。それにより、Rust を使った WebAssembly の開発が現実的な選択肢としてさらに力を帯びてきました。 自分の勉強で Rust から WebAssembly に出力するプログラムを書いてみたので、その道筋をご紹介することで自分のような Rust 初心者の方々の WebAssembly 開発の助けになればと思い、この記事を投稿しました。 もし記事中に間違い等がありましたら、是非 @tkihira までご連絡ください。 Emscripten との依存関係を切った Rust つい最近まで、WebAssembly の出力は Emscripten を使うことがほとんどでした。Emscripten は、元々は他言語のプログラムを JavaScript に変換す
概要: Rustのパニック機構は異常終了の処理を安全に行うためにある。この動作を詳しくみていく。 パニックとは何か Rustには2つの異なる例外処理機構があります。 発生源 対処方法 例 パニック プログラミングエラー 原則として捕捉しない assert!() 境界外参照 Result 例外的な入力 必要に応じて捕捉 I/Oエラー (File::read) パースエラー (str::parse) パニックとResultの関係についてはTRPL第2版第9章、未定義動作とパニックの関係についてはRustonomiconのUnwindingの章などが参考になります。 パニックを想定した安全性 Rustではたとえパニック状態でも未定義動作だけは絶対に避ける必要があります。そのため以下の関数は不健全 (unsound)です。 use std::ptr; // この関数はRustではunsound (
Rust Advent Calendarの13日めです。 イントロダクション Rustを語るときしばしば「RustはWebフロントエンド開発もできる」ということが言われます。もちろん、RustはLLVMフロントエンドであり(LLVMから見てClangっぽく見えるように頑張っている)、emscriptenを使うことで用意にasm.js/wasmにできるわけですが、そこにとどまらずRust自体がオフィシャルにemscriptenバックエンドをサポートしています。更にごく最近、LLVM自体のwasm backendもサポートされました。 さて、では実際RustでWebフロントエンド開発はできるのでしょうか。もちろん、コストの掛かる何らかの特別な処理を行うためにJavascriptからRustの関数を呼び出したり、あるいはこちらの方がされているように、emscriptenのOpenGL imple
IronでWebサービスを作りました IronというWeb Frameworkがありまして、以前から気になっていたのですがちゃんと書けていなかったので趣味プロジェクトとして短縮URLサービスを作りました。 Ironを使って開発していくにあたって必要となったミドルウェアや書き方などを紹介していきます。 公式リポジトリのこのあたりのサンプルコードを使って自分で動かしながら読んでいく方法がおすすめです。 まずはルーティング このままでは動かないコードですが、雰囲気だけでも伝えたいので一部省略したコードを載せます。 実際にWebサービスとして必要となるルーティングを行った際、下記のような構成になりました。 let mut index_chain = Chain::new(application::service::index_service::index_service); let mut rou
The Rust team is happy to announce the latest version of Rust, 1.15.0. Rust is a systems programming language focused on safety, speed, and concurrency. If you have a previous version of Rust installed, getting Rust 1.15 is as easy as: $ rustup update stable If you don't have it already, you can get rustup from the appropriate page on our website, and check out the detailed release notes for 1.15.
Graydon has been on Swift for a while, and there are a few other prominent Rust contributors there as well. I hope they are enjoying themselves and make good things. Indeed, Huon Wilson and Alexis Beingessner are both at Apple now, and happily they remain active in the Rust community as well (though under no uncertain circumstances are they allowed to submit code).I can understand why this is on H
Rust は、Firefox を開発する Mozilla が開発し、次世代ブラウザの開発に使っているプログラミング言語です。借用検査という概念を導入することによりメモリ安全およびデータ競合安全をコンパイラが保証する言語であり、2015年中頃の安定版のリリースあたりから次第に注目を集めるようになりました。 メモリ安全とは、メモリの範囲外アクセスや二重解放、ヌル参照、未初期化領域へのアクセスがない状態を表します。ただし、Rust の言うメモリ安全とは、メモリリークをしないことを保証するものではありません。 データ競合安全とは、あるひとつのオブジェクトに対しての読み込みおよび書き込みのが同時に起き結果が不定になる状態にならないことを表します。競合状態とは異なります。 無名関数という概念を様々な言語が次々と導入したように、プログラミング言語は相互に影響を及ぼし徐々に変化しています。Rust は「寿
Introducing Helix Rust + Ruby, Without The Glue. This post is a write-up of the talk I gave at RailsConf 2016. You can find the slides here. There's a lot to love about Ruby – the sweet syntax, the focus on developer productivity and happiness, the mature ecosystem, and of course, the awesome community we built around the language. One thing that Ruby is not known for though, is being a particular
cargo installで入れられそうなやつを雑にまとめてみた。 ripgrep(rg) - はやいgrep、あるいはag。 xsv - CSVツールキット。 alacritty - 速いらしいターミナルエミュレータ。 parallel - GNU parallelのRust版。 coreutils - GNU coreutilsのポート。使えないオプションや未実装のものも結構ある。 oxipng - pngファイルのサイズ圧縮。 rpc-perf - twitter製のrpcのベンチマークツール。memcachedの設定いじったときとか。 watchexec - ファイル変更にhookしてコマンド実行するユーティリティ。 flow - logのリアルタイム解析。 exa - lsのRust実装。デフォルトでいい感じになっているがコマンド体系が違うので慣れずに使わなくなってしまった。gi
Rust, programski jezik orijentisan prema bezbednosti i performansama, doživljava rastuću popularnost među industrijama koje teže ka inovacijama i efikasnosti. U svetlu nedavnih otpuštanja više od 132.000 radnika iz tehnološke industrije, kao i trenutnog prilagođavanja radne dinamike poput sve veće popularnosti rada od kuće, Rust developeri su počeli da igraju ključnu ulogu u sistemu programiranja,
Speaker Reviews The importance of quality speakers is crucial to all types of media entertainment whether it be gaming or movies. But, how do you choose the best one, especially with so many options in the market? In this section, you will find in-depth reviews of speakers such as Bose 151 as well as tips and FAQs. Speaker Guides – Tutorials We wrote this section for you in case you have trouble s
Dockerを使ってHerokuにRustのアプリケーションをデプロイしてみた。 リポジトリ: hrysd/rust-on-heroku-with-docker デプロイするまで heroku docker:init で生成される Dockerfile を元に、いろいろと参考にして書いてみた。 アプリケーションのコード自体は hyperium/hyper の example をちょっといじったもの。 困ったこと 当初 OSX でビルドしたバイナリを Docker に入れて動かそうとしたんだけど、当然の如く実行できない。 そのため、コンテナ内に Rust をインストールしてコンテナ内でアプリケーションのバイナリをビルドするようにした。 ただ、cargo build には --target オプションがあるようで、もしかしたらこれでクロスコンパイルできる...? Compile a local
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く