Ask questions, find answers and collaborate at work with Stack Overflow for Teams. Explore Teams Collectives™ on Stack Overflow Find centralized, trusted content and collaborate around the technologies you use most. Learn more about Collectives
// factorial fn fact(n: i32) -> i32 { if n < 2 { 1 } else { n * fact(n-1) } } fn main() { let n = 5; println!("Hello Rust! {}", fact(n)); } The Rust Project FAQより: What is this project's goal, in one sentence? To design and implement a safe, concurrent, practical, static systems language. 解説記事 (Rust 1.0以前での言語仕様変更は激しかったらしく、Web上で検索して出てきた記事内容を鵜呑みにしないほうがよさげ。1.0では既に廃止された仕様とかも相当あるみたい。) rust-lang.orgの公式ド
fn main() { let x = 1; let y = 2; debug_assert!(x <= y, "{} > {}", x, y); debug_assert_eq!(x, y); assert!(x <= y, "{} != {}", x, y); assert_eq!(x, y); } $ cd test_example1 $ cargo run thread '<main>' panicked at 'assertion failed: `(left == right)` (left: `1`, right: `2`)', src\main.rs:6 An unknown error occurred
たまに出て、なんなんだろうなぁと思っていたこの警告。 foo.cpp:37: warning: 'Foo::bar' will be initialized after調べてみると メンバ変数 d と i の宣言順と、コンストラクタ初期化子での記述順が違うとでる警告です。 メンバ変数の宣言順とコンストラクタ初期化子の順番が違うと怒られる - みねこあ なるほどなるほど。宣言順に初期化されるからなのね。 手元の Effective C++ (第二版) の第13項によると、初期化リストの順とは関係なく宣言順にメンバ変数が初期化される理由は、 「デストラクタはコンストラクタとは逆の順番に呼び出されなければならない」 というルールがあるからだそうです。 例えば、二種類のコンストラクタを定義し、その初期化リストの順序が違う場合。 初期化リスト順に変数を初期化すると、オブジェクトごとにどちらのコンスト
最近話題の Ruby ライクなプログラミング言語 Crystal について。 「Ruby コードが変更なく動く」という衝撃的な発言や、「静的型付けの Rails 嬉しい」といった気の早すぎるように思える発言なども目にして、「じゃあ実際どのくらい Ruby コードがそのまま動くの?」ということを知りたく、「なんかの Gem を Ruby コードのコピペで実装してみよう!」と思いました。 とりあえず空いてる時間が5時間くらいあったので、その範囲という制限でやります。文章も進めながらだらだらと書いていったものそのままで整理していないので超読み辛いかもしれません。 お題の Gem Crystal でコピペ実装する Gem は dotenv です。 これを選択したのは、 他の Gem への依存がない そんなに大きくない コードリーディングで使われたりしてたので Ruby っぽいコードだろう 自分がま
サイボウズ・ラボの光成です。 先日、社内で主にLinux上でC/C++を用いている開発者向けの講義をしました。 「こんなことができる」と知ってもらい、興味を持てば各自で勉強してもらおうと広く浅くツールを紹介しました。 gtags, ASan, Valgrind, addr2line, cppcheck, SystemTap, perfなどです。 興味があれば講義資料「C/C++プログラマのための開発ツール」をごらんください。 コンパイラオプション 受講者には新人やサイボウズ・ラボユースの学生もいたので基本的なところから紹介しました。 C/C++コンパイラを使うときはできるだけ警告オプションをつけるのが望ましいです。 警告が出るのは自分のコードの書き方に不備があることが多いからです。 gccやclangでは-Wall -Wextraは基本としてそれ以外にも有用なオプションがあります(C++用
About IMVIMVについて Products&Service製品・受託試験・サービス Support資料 Newsニュース お問い合わせ JP
エンジニアや理工系の人と話をしていると、FFT=周波数特性と勘違いしている人が大勢います。それも絶対に正しいと思っている人が居るんだけどそれは大間違いです。 なるべく数式を使わずに簡単にFFTとは何であるのかを解説します。 フーリエ変換とは フーリエ級数展開とは フーリエ変換やフーリエ級数展開の特徴 標本化と量子化 離散フーリエ変換(DFT)とは 高速フーリエ変換(FFT)とは FFT(DFT)の本質 どうしてFFTは正しくないのか (おまけ)スペクトル推定法と基底変換 (おまけ2)フーリエ変換の存在についての補足 参考リンク 関連記事 フーリエ変換とは フーリエ変換=FFTと思っている人も多いのですが、これも間違い。 フーリエ変換とは 無限に続く任意の連続信号(1次元)を、無限の周波数までのsin波とcos波の重ねあわせとして表現できる ことを利用してある任意の信号を、sin波とcos波
コンピュータの中にあるWAVファイルどうしの音量比較をしたいときはけっこうあります。音量の指標として「ラウドネス(sone)」があり、以前その計算プログラムも書いたのですが、その音を鳴らしたときの音圧値(dBSPL値)が分からないと正確な値が得られないというものでした。そのため、実際にスピーカーで鳴らして、レベルメーターで計測して、という手間がかかります。複数のWAVファイルの音量をある程度そろえたいときに、いちいち実験室をセッティングするのはめんどうです。どうせWAVファイルはすべてコンピュータ内にあるので、コンピュータ内で完結させられればいいなぁ、なんて思ってました。 そんなときに見つけたのがITU-R BS.1770-1勧告。複数ファイルの相対的な音量を計算するための方法が書かれた国際基準です。単位はLKFSで、0 dBFS、1 kHzのサイン波が約-3.01 LKFSとなります。規
Shell Script Advent Calendar 2015 3日目の記事です。 この記事では自分が最近はまったシェルスクリプトの初歩の初歩、シングルクォート(')とダブルクォート(")の違いを紹介できればと思います。 C言語とかを書いてたら、シングルクォート(')とダブルクォート(")は違うのは当たり前なわけですが、最近JavaScriptやPythonばかり書いてたので、当然(')と(")は同じものだと脳みそが思い込んでてはまってしまいました。 ShellScriptでのクォートの基本の使い方 とある"Program Files"というセンスのない名前のフォルダがあったときに、
アプリをビルドして .appをまるごとコピーしたはいいものの、別環境だと動かないというときの解決法 結論 アプリが依存しているQtのフレームワークをコピーしてきて、`install_name_tool` で参照先を書き換えて一緒にバンドルする 2013/12/17追記:macdeployqtというSDKに付属のコマンドを使うのがシンプルで良さそうです。教えて頂いた @shimacpyon さんありがとうございました。 手順 以下、macdeployqtを使わずマニュアルでする方法 1. otoolでアプリが使用している共有ライブラリを調べる hoge.app/Contents/MacOS/ に移動して、アプリ本体のバイナリに対して以下 /Applications/Qt/5.1.1/clang_64/lib/QtGui.framework/Versions/5/QtGui (compatib
はじめに こっちに書いていたものをちょっと加筆修正してQiitaに転載します。 bundle gem で --coc オプションを付加すると CODE_OF_CONDUCT.md 生成されます。 そもそもこれは何?と思ったので訳してみます。 ちょっと意訳している箇所もあると思いますので、ツッコミ大歓迎です。 原文はBundler1.9.1が出力するCODE_OF_CONDUCT.md を元にしています。 翻訳 Contributor Code of Conduct コントリビュータ行動規範 As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, upda
Electronアプリからファイルをダウンロードする方法です。 自分好みのPushbulletクライアントを作成する途中で必要になりました。 前提 ・PushbulletのAPIだとpushしたファイルのURLをの形式で取得できます。このファイルをElectronアプリ上で取得してローカルに保存します。 let request = require('request'); // ① request(url, { encoding: 'binary' }, (error, response, body) => { if (!error) { let remote = require('remote'); // ② let lastSavePath = window.localStorage.getItem('lastSavePath') || ''; // ③ remote.require('
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く