タグ

ブックマーク / qiita.com (164)

  • Javaで新元号に対応する - Qiita

    新元号に対応したjdkは今後リリースされるはずだけど、そんな簡単にアップデートできない方(自分含む)に。 前提 Oracle JDK 8u92 $JAVA_HOME設定済み 諸々文字コードはutf-8 確認用コード import java.text.*; import java.util.*; public class JapaneseEra { public static void main(String[] args) throws ParseException { DateFormat df = new SimpleDateFormat("GGGGy年M月d日", new Locale("ja", "JP", "JP")); System.out.println(df.format(new Date(System.currentTimeMillis()))); System.out.

    Javaで新元号に対応する - Qiita
    hycon
    hycon 2016/07/14
  • Bash/Zsh + POSIX で sleep 0.01 する方法 - Qiita

    #■ 問: シェルスクリプトで 0.01 秒間などのごく短い時間だけ sleep する方法は? それもできるだけ精確に。 この問いは一見して簡単な問いに思われるが、考えて見ると意外と難しい。 後で詳しく説明するが、POSIX (Unix の規格) では sleep に小数は指定できない。また、外部コマンド sleep の起動自体に余分な時間が掛かることも問題になる。 記事更新 (2020-04-11): 記事 "POSIX準拠シェルスクリプトだけで1秒未満sleepを実現する - Qiita" 言及 記事更新 (2018-08-18): Bash 5.0 以降の EPOCHREALTIME について追記 記事更新 (2018-08-18): 最近の Cygwin の /dev/tcp/*/* について追記・修正 記事更新 (2018-07-26): Bash 4.4 以降の Bash lo

    Bash/Zsh + POSIX で sleep 0.01 する方法 - Qiita
    hycon
    hycon 2016/06/28
    泥沼的だ…
  • rm -rf /は実行されないのが正しい? - Qiita

    いくつかのUnixプラットフォームではrm -rf /はエラーになり実行されない。これは余計なおせっかいで実行されるべきだと言う人もいるが、最新のPOSIXに従うのなら「実行されない」のが正しい。POSIX.1-2008ではrmについて、「引数がルートディレクトリを指しているなら、標準エラーに診断メッセージを出力して、それ以上何もしてはならない」と定めている。 if an operand resolves to the root directory, rm shall write a diagnostic message to standard error and do nothing more with such operands. POSIX.1-2004にはこの記述はないので、最新の規格に従ってないrmではrm -rf /が普通に実行される可能性がある。 実装を調べてみると、2003

    rm -rf /は実行されないのが正しい? - Qiita
  • シェルスクリプトで排他・共有ロック&セマフォ - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? どのUNIXでも通用するロック機構はあるのか? 他言語では大抵用意されているロック機構であるが、シェルスクリプトにはロック機構を直接実現するコマンドが無い。flockコマンドやlockfコマンドなどOSによっては独自コマンドがあるが、OS独自ゆえ、それらを使ってしまうとシェルスクリプトの可搬性は失われてしまう。(しかも前述の2つのコマンドは、ファイルロックのコマンドであるうえに、ロックがかかっている間は次の行に進めない) 「特定のOSに縛られてしまうくらいなら他の言語を使う方がよっぽどマシだ」といって、シェルスクリプト信者(POSIX原

    シェルスクリプトで排他・共有ロック&セマフォ - Qiita
  • Opusの音量周りがとてもつらい - Qiita

    (トラックゲイン) - (アルバムゲイン) = -0.54 dB (Q7.8形式だと-138) 検証用音声ファイルはこちら。 作品クレジット: Lovers in metal by Dong (2004) / CC-BY / 検証にあたりコーデックを変更した ケース1. Output gainをアルバムゲインとして-23 LUFSに揃える Opusの初期仕様で想定されていた方法です。ここではOutput gainに-12.78 dBを、R128_TRACK_GAINに-138を指定することになります。 RGとOpusゲインでは基準となるラウドネスが異なるため、どちらかにオフセットを加えて基準値を揃える必要があるのですが、foobar2000ではOpusゲインをRGに合わせるため+5 dBすることでこれを解決しています。具体例だとOutput gainが-12.78 dBになっていたらアルバ

    Opusの音量周りがとてもつらい - Qiita
    hycon
    hycon 2016/06/08
    Qiita初記事セルクマ
  • HTTP/1.1 200 OK - Qiita

    ※このお話はたぶんフィクションです。実在の人物や団体とはあんまり関係ありません。 序 planetter.comをバージョンアップすることにした。数年前にリリースしてからずっと放置していたけど、そろそろ手を付けないとやばいと思った。 しかしウェブの世界はドッグイヤーだ。3年も経てば何もかもが変わっている。しばらく開発から遠ざかっていた僕には、最近の技術トレンドなんてさっぱりわからない。 まずは自分自身をアップデートするところから始めよう。 Atom 最初はIDEだ。以前はEclipseを使っていたけど、いまはもうウェブ系言語の進化速度に追いつけていないようだった。ウェブ開発用のIDEならいまはWebStormが人気のようだ。有料だけど、最新の技術に対応しているし、使い勝手もいい。 でも最終的にはAtomを選んだ。IDE(統合開発環境)ではなくエディタなので、これ自体は単機能だけど、不足分は

    HTTP/1.1 200 OK - Qiita
    hycon
    hycon 2016/05/18
  • カフェでトイレに行ってるときに、Macが盗まれそうになるとGet Wildが流れるようにする - Qiita

    #!/bin/sh MUSIC_PATH="/tmp/GetWild.m4a" checkNoSleepCtrl() { if [ ! -f $(which NoSleepCtrl) ]; then echo "Please install NoSleepCtrl from " echo " https://github.com/integralpro/nosleep/releases" echo " " echo "Install it with CLI included in it. It's necessary to prevent" echo "your macbook from going to sleep when somebody closes the clamshell." echo "When you launch this script it will automati

    カフェでトイレに行ってるときに、Macが盗まれそうになるとGet Wildが流れるようにする - Qiita
    hycon
    hycon 2016/04/04
  • [iOS]部屋の灯りが消えたら自動でGet Wildを再生してGet Wild退勤する - Qiita

    https://twitter.com/kozeni_shkt/status/709743397196541953 http://www.b-ch.com/ttl/index.php?ttl_c=467 照度センサーという事で最初arduinoが思い浮かんだのだけれど、一般のご家庭やオフィスにarduinoは無いと思うのでiOSでやった。使わなくなったiPadにアプリを入れてオフィスの出入口に置いておく運用イメージ。 設定した閾値をディスプレイの輝度(部屋の照度)が下回ったらGet Wildし始める。なお手を抜いてるので閾値以下で輝度が変化するたびにGet Wildされる。 // // ViewController.swift // gettlod // // Created by ouba on 2016/03/28. // Copyright © 2016年 oubakiou. All

    [iOS]部屋の灯りが消えたら自動でGet Wildを再生してGet Wild退勤する - Qiita
    hycon
    hycon 2016/03/29
  • OutOfMemoryError の調べ方 - Qiita

    Java 8 で、 Oracle の JVM を前提とした話です。 Java のメモリ管理 これを知っておかないと、 OOME が起こっても、メモリ内で何が起こっていて、どこを調査すべきで、どのように対処したらいいのかが判断できない。 なので、まずは、そもそも Java がどうやってメモリを管理しているのかを知る。 しかし、実際調べてみたら予想通りというかなんというか、量が多くなってしまった。 なので、個々の用語の説明は末尾の 用語集 に押し込めたので、ここではざっくりとした概要だけ記載する。 メモリの構造 超ざっくりとした、メモリ構造を表した図。 おおきく、ヒープ(Heap)領域とネイティブ(Native)領域の2つの領域がある。 ヒープは Java プログラムが使う領域で、プログラム上で生成したオブジェクトは、このヒープ領域に配置される。 一方、ネイティブ領域は JVM が動くのに必要

    OutOfMemoryError の調べ方 - Qiita
  • D言語くんの歴史 - Qiita

    これはD言語くんアドベントカレンダー22日目の記事です.今年に入って大きな盛り上がりを見せているD言語くんの歴史を調べました. D言語くんの歴史 D言語くんはOverviewのページでその愛くるしい姿を見ることができるのですが,いったいいつ彼は登場したのでしょう? D-Programming-Language/dlang.org で確認できる限りのログを漁ったところ,なんと一番最初の2008年のコミットからD言語くんは居たようです!これ以上は遡れませんでしたが,D言語君は少なくとも7年間はマスコットとして輝き続けているのですね. ただ,一時期D言語くんの姿を見ないことがありましたが,コミットログを見る限りではずっと居るんですよね・・・不思議・・・ 元々は荒いgif画像が使われていたのですが,D logo vectorizedで2005年1に描かれた透過png画像が2013年のコミット2で取

    D言語くんの歴史 - Qiita
    hycon
    hycon 2016/03/10
  • なぜmt_rand()の誤った実装をサクッと修正できないのか - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    なぜmt_rand()の誤った実装をサクッと修正できないのか - Qiita
    hycon
    hycon 2016/02/21
  • 【たのしいな】様々なコマンド達を何も考えずにつないで遊ぶ - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    【たのしいな】様々なコマンド達を何も考えずにつないで遊ぶ - Qiita
    hycon
    hycon 2015/12/23
  • GitHub にパスワードとかセンシティブなファイルを push してしまったときの対処法 - Qiita

    すればすぐ何もなかったことにできます。 が!そこで気付かずに GitHub へ git push してしまった!こうなると容易に何もなかったことにはできません。 この記事では、こういうときに何もなかったことにする方法を紹介します。 そのデータを無効にする 特に Public Repository の場合はすでにそのデータが他人の目に触れていた…ということも十分ありえます。AWS_SECRET_ACCESS_KEY なんかは取得用のクローラが存在するとも聞きます。ので、まずは不正利用されても影響が出ないように、__パスワードの書き換えやトークンの無効化__を施しましょう。 (この時点でもう何もなかったことになってない気がする) git の履歴から該当のファイルを消す git reset と git filter-branch 2つの方法があります。 git reset (2015-12-29

    GitHub にパスワードとかセンシティブなファイルを push してしまったときの対処法 - Qiita
    hycon
    hycon 2015/12/20
  • <script>alert(1)</script>のお求めはAmazon CDストア - Qiita

    記事は脆弱性"&'<<>\ Advent Calendar 2015の15日目の記事です。 11/18にAmazonがリリースしたAmazon Musicというサービスに関連するXSSを2つ発見・報告したのでそのお話です。 1. Amazon MusicにあったXSS このページから "><_><script>alert(document.domain)</script>と検索すると alertが出ました。 画面右側のペイン内にて、aタグのhref attribute内に検索クエリを出力している箇所にあるバグに起因しています。この文字列は来何らかの処理を通じてエスケープされていたのですが、適当に<hoge>のような文字列を一つ挟むとaタグのhref attributeから漏れて出力されていました。 11/19に発見・報告し、11/26に修正されました。 何故かAmazonセキュリティ

    <script>alert(1)</script>のお求めはAmazon CDストア - Qiita
    hycon
    hycon 2015/12/16
    jjencode、万能だ
  • Safari 9.0 の JS で「同じ関数を繰り返し実行しただけで返り値が変わる」という強烈なバグが発見されてる - Qiita

    Webkit の Bugzilla で強烈なバグが報告されていると、同僚に教えて頂いた。 あまり話題になっていないものの、単純ゆえに強烈なバグだと思ったので Qiita にも公開しておく。 https://bugs.webkit.org/show_bug.cgi?id=151354 にそのバグ報告が上がっている。 最初に Google+ でやりとり があった模様。 URL のクエリ文字列から値を取り出す関数が正常に動作していないことから発覚したようだ。 その後は、簡単なテストケースに落とし込まれ jsfiddle というサイトにテストケースが公開されている。 Safari でこのページを開くと、実際に JavaScript を実行して確認できるようになっている。 続報 (2015.12.14) この記事を上げてすぐに Bugzilla の方で進展があった。 Yusuke SUZUKI さん

    Safari 9.0 の JS で「同じ関数を繰り返し実行しただけで返り値が変わる」という強烈なバグが発見されてる - Qiita
  • D言語くんの繁殖についての仮説 - Qiita

    この記事は、D言語くん Advent Calender 2015に投稿したものです http://qiita.com/advent-calendar/2015/d-man #D言語くんの分裂 我々が目にするD言語くんの姿は、お腹の無い、中空の状態である。産まれて数秒後に、すぐにお腹を押し出して分裂してしまうからである。お腹があるのは繁殖(分裂)をしていない個体である。この特性から、D言語くんは並列でふえることができない。よって繁殖期のD言語くんは常に1匹である。もしお腹があるD言語くんを見つけても、そっとしておいてあげよう。 #分裂の方向 生物の分裂には、方向による分類がある。 ・体の前後の軸に沿って分かれる縦分裂 ・体が前後の軸を横切って分かれる横分裂 D言語くんの分裂はどちらにもあてはまらず、いわば筒分裂とも言うべき形態をとり、特筆に値する。 #D言語くん発生の起源 おせちのカマボコに

    D言語くんの繁殖についての仮説 - Qiita
  • 気持ちよくAndroidを書くために - Qiita

    ちょっとでもJava7なAndroidを気持ちよくプログラミングしたい、 Javaっぽい(?)ところがありつつもモダンなパラダイムが取り入れられているScalaが羨ましく見えたので、Scalaっぽく書きたいという意志から書いています サンプルコードでは紙面の都合上、retrolambdalambda式使っています Scalaの羨ましいところ 挙げればキリが無いですが、以下とします 関数型プログラミング 強力な式 関数型プログラミングっぽく これについてはRoppongi.aar #2 - connpassで私が発表した内容がベースとなっています OOなjavaで無理して関数型プログラミングを目指すのではなく、関数型プログラミングの中でもモナドといわれる便利なデータ構造を便利に使いたい、といった程度のものです そこで、Androidでもモナド実装して使えば気持ちいいんじゃないか、ということ

    気持ちよくAndroidを書くために - Qiita
  • 複雑な条件分岐にサヨウナラ。PHPのルールエンジンRulerを使って複雑な条件をシンプルにしてみた - Qiita

    でも現実には、もっと複雑な条件が絡みあうことが多々有ります。 例えば、今回は、架空の女性【結婚花子】ちゃんが求婚してきた男性と結婚出来るかを判断する。というのをコードで書いてみたいと思います。 (この話はフィクションです) 結婚するときの条件って昔は3Kといって、「高収入・高身長・高学歴」という3つの条件をクリアしないと結婚相手としない。 みたいな話がありましたが、実際はもっと複雑だと思うんですよね。 顔とか、優しさとか、住んでる場所とか、両親の年齢とかとか。 これをコードで 結婚出来るか という条件を書くととんでもなく大変になってくるのはイメージつくと思います。 で、この複雑な条件を、if文を書かずに済むようにしてくれるルールエンジンというのを紹介してみようと思います。 まずは前提条件 結婚花子さんは、どんな条件で結婚出来るのか。 単純に、年収1000万以上、かつ(身長180cm以上 ま

    複雑な条件分岐にサヨウナラ。PHPのルールエンジンRulerを使って複雑な条件をシンプルにしてみた - Qiita
  • ローディング時のズルい進捗表示

    今開発中のPlayer!のログイン・登録画面で、こんな進捗表示をしていますが、これ実はフェイクだったりします( ´・‿・`) (Qiitaの画像サイズ制限が厳しくて粗いです。キレイなものは実際にアプリダウンロードしてご覧下さい。) 経緯 元々、この画面はこういう進捗表示では無く、単にインジケーターがクルクルするだけで、進捗状態が分からないものでした。 特にネットワークが悪いところだと、バグって固まってしまったのでは?とユーザーを不安にさせるようで、たまにそういう声を聞くことがありました。 登録フローは大事なところなので、そういうところでこれが原因で離脱してしまうと残念なので、改善が必要でした。 そこで、ネットワーク処理にもたつきつつもちゃんと正常に処理をしているということを示すために、進捗を表示することにしました。 ただ、例えば大きな画像などメディアファイルダウンロードなどならともかく、こ

    ローディング時のズルい進捗表示
    hycon
    hycon 2015/09/19
  • 右腕を骨折した時に便利なTips - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? #右腕骨折しました! バイクで路肩の砂利で滑りました・・ でも、仕事休めませんよね? むしろ、病院いったりで普段以上の工数が必要ですよね? でも、キーボード打ち辛いですよね? そんな ピンチなあなたに便利なTips #前提 右手を怪我したが、キーボードを打つ事は可能 ただし、腕を動かす事は出来ない=ホームポジションを移動できない 主にMacbook利用を前提 #不便な事 基的に ブラインドタッチが出来ているなら、ホームポジションに乗せさえすれば キー入力に不便が少ないが 何点か困る事があったので それを解決します マウス 矢印キー #

    右腕を骨折した時に便利なTips - Qiita
    hycon
    hycon 2015/08/14
    知見だ