Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
この記事は Rustその2 Advent Calendar 2016 20日目の記事としてかかれました。 環境と対象読者 この記事に含まれるコードは rustc 1.13.0 (2c6933acc 2016-11-07)の Rust Playgroundまたはここで動くことを確認しました。 最適な対象読者としてはrustで並行処理するアプリケーションを これから書きたいと思っている人です。 std::threadの罠 rustの標準ライブラリのstd::threadを用いて並行処理を書きたい時に 例えばこういうような処理が例示されるかと思います。 use std::thread; fn add_one(x: i32) -> i32 { x + 1 } fn main() { let y = 1i32; let handle = thread::spawn(move ||{println!(
AppleのApp Transport Securityが延期になったとはいえ、SEO的にも信頼性的にも「とりあえず https にしとくか」みたいな時代になってきましたね 🤔 ということで、最近話題の Let's Encrypt を使って Jekyll + Heroku で構成されているRailsガイドを HTTPS に対応してみました。 具体的な実装は下記のプルリクエスト (以下、PR) で公開しています。 Enable SSL in Production #277 https://github.com/yasslab/railsguides.jp/pull/277 上記PRから汎用的なコミットをpickupして、1つずつ解説していこうと思います。 Let's Encryptの使い方や、SSL証明書の取得手順などについては総合ポータルをご参照ください。 本番環境で動作確認するのは危険
はじめに 「最近、curlが楽しい」 というわけで、最近、curlでPOSTしたりDELETEしたりcookieからSessionを読み込んだりと触れ合う機会が多かったので、その時知ったものを備忘録も兼ねてまとめました。 なるべく実行コマンドとその結果の出力をセットで書くようにしています。 curlコマンドは便利 curlは便利です。 APIと触れ合っていると、 手軽に HTTPリクエストしたくなる色んなシーンに出会います。 「あれ? サーバー死んでる?」 「思ってたレスポンスと違うな、何が返されているんだ?」 「認証必須にしたんだけど、うっかり抜け道ないよね?」 「さくっとPOSTしてテスト用にデータ準備したいんだけど...」 ...etc こういった、とりあえず生で、くらいのテンションでHTTPリクエストしたいなら、curlは有力な選択肢の一つと思います。 もちろん、本格的な確認やデー
こんにちは。LIGアドベントカレンダーの22日目は@yasuo424が担当します! 今回はPHPのデバッグをより便利にしてくれるChrome Loggerというエクステンションの導入方法を紹介したいと思います。 Chrome Loggerとは?? google Chromeのエクステンションで、javascriptだけでなく、サーバーサイド言語のログ出力もChromeのコンソール画面で確認できるようにしてくれるとても便利なエクステンションです。 今回はPHPでやってみましたが、他にもこんな言語もサポートしてくれてます。 Python Ruby Node.js .NET ColdFusion Go Java Perl それではさっそく導入していきましょう! エクステンションをインストール なにはともあれChromeのエクステンションをインストールしましょう。 https://chrome.g
基本的には前回定義したように抽象的なtraitを組み合わせて 汎用的な構造体を構築するのが正道だと思うが、 そうは言っても特定の型へのキャストが必要になるときに困る事がある。 現状のtraitを組み合わせた方法の限界 具体的にはユークリッド距離を返すnormメソッドを想定する。 ユークリッド距離に関しては平方根をとる事になるのでので float系の何かの型へのキャストが必要になる。 impl<T> Point<T> where T:Mul+Copy,<T as Mul>::Output:Add { pub fn norm(self) -> f64 { ((self.x*self.x+self.y*self.y) as f64).sqrt() } }
Shell Script Advent Calendar 2015 4日目 の投稿です。 以前から自分用にメモしていたものを文字起こししました。 はじめに 仕事でシェルを使い始めて3年くらい経ちました。 途中、python や ruby でスクリプト作ったり、ちょっと zsh に浮気したりしましたが、なんだかんだで今も Bash を使うことが多いです。 この3年間、スーパーシェル芸人(@ebanさん)にご教授頂いたり、Golfしたり(@ebanの影響)、シェル芸勉強会に参加したり(@ebanの影響)してきました。 そんな3年間のまとめとして、シェルスクリプト初めましてだった3年前の私に向けたTips集を書いてみました。 趣旨 各項目ごとに、まず初心者(過去の私がやってた)あるある実装を例示して、その次に、より良さげな実装を例示する構成としています。 実行環境 OS Mac OS X Yos
ポイント exrmを使ってビルドします。 (公式のチュートリアル参照) ビルド後に一式がパッケージ化された <app name>.tar.gz ができます。 パッケージには erlang のランタイム環境も含まれています。 (ランライム環境が含まれているので)ビルドはデプロイ環境と同じプラットフォームで行ってください。 mac でビルドして linux で実行は❌ パッケージにランタイム環境が含まれているため、解凍して bin/<app> start を実行するだけでサーバーが起動できます。 upgrade (hot deploy) は releases/ ディレクトリにtar.gz を置いて、bin/<app> upgrade <ver> 。 ただし、ecto の create や migrate は実行されないため、別途行う必要があります。 手順 elixir / phoenix の勉
RasPi用のRustバイナリをクロスコンパイルする環境が欲しかったので dockerでその環境を構築して誰でも利用できるようにdocker hubに登録した ビルトと実行について TL;DR ビルドコマンド dockerがインストールされている環境で以下のコマンドを実行する docker run -it --rm -v ${PWD}:/source yasuyuky/rust-arm cargo build --release --target=arm-unknown-linux-gnueabihf ビルド結果格納先: target/arm-unknown-linux-gnueabihf/release/ ビルド方法(もう少し長い版) dockerが実行可能な環境で以下のようにすればARM上で実行可能なバイナリが作成可能。 Rustのプロジェクトディレクトリに移動して
結果ファイルとしてlibhello.dylib(OSXの場合)が出来上がる。 以下呼び出しに関してはlibhello.dylibが呼び出し元と同じディレクトリにあると仮定 他言語からの呼び出し例 基本的にはC製のダイナミックライブラリを使うやり方そのまま pythonからの呼び出し 上記のdylibをPythonから呼び出すことを考える ctypesからの呼び出しは簡単 #!/bin/env python3 import ctypes import argparse def hello(n): libhello = ctypes.CDLL("./libhello.dylib") libhello.repeat_hello.argtypes = (ctypes.c_int32,) libhello.repeat_hello(n) if __name__ == '__main__': pars
openFrameworks(以下oF)のiOS版をXcode6(6.1)で使おうとしたら全然すんなり行かなかったのでメモ。できるだけC++11で使いたいのですが、後述のとおりMacにおいてoFを完全C++11で使うことは難しく、現状できる半C++11状態での使い方をまとめます。まずMac/iOS版oFでビルド設定の類をいじる際に知っておきたい基本知識を先に挙げておきます。 XcodeでのoFアプリは2プロジェクト構成になっている(oF自体のプロジェクトと自分が作るアプリのプロジェクト)ので、設定によっては両プロジェクトの設定を書き換える/揃える必要がある Xcodeにおいてビルドに関する設定は1プロジェクトにつき「project」と「target」という2段階がある。設定を変えたと思ってもビルド結果が変わらない気がしたときはこのあたりを確認すべし(stackoverflow参考) 注意:
にゃんぱすー Open-uri による認証と問題点 Open-uri を使用する場合、open に :http_basic_authentication オプションでユーザ名とパスワードを与えることで認証付のURLにアクセスすることができる。 その際、アクセス先がリダイレクト (3xx) のステータスを返し、リダイレクト先URLが認証を要求する場合には、常に "401 Unauthorized" の例外 (OpenURI::HTTPError) が発生する。これは同一の認証情報でアクセス可能な場合でも同様である。 原因 open-uri ではリダイレクトが行われた場合には、無条件で :http_basic_authentication を削除しているため。(Perl の LWP とは動作が異なる。)
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 「開発者(個人)のための」としているのは、別に自分でやっても良いんだけど Jenkins に任せられるなら任せたい、くらいのモチベーションを表現したつもりです。 環境 Ubuntu 14.04 LTS Jenkins 1.573 Bootstrap になって雰囲気が変わりましたね 初期設定 Jenkins 初期設定 Plugin のインストール Git Plugin 依存しているPluginも自動的にインストールされます。 Git Parameter Plugin は、ビルド時に Extended Choice Paramet
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く