タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

ネタとプログラミングに関するJULYのブックマーク (21)

  • Python 1本うどんコード - Qiita

    はじめに Pythonにはリスト内包表記という便利な記法があります。リスト内包表記の記法は以下のようになっています。 イテラブルオブジェクトとはlistやdictのようなイテレーションが可能なオブジェクトのことです。 変数名にはイテラブルオブジェクトの要素が1つずつ取り出され束縛されます。 式には定数や変数、x < y, i * 2といった演算の戻り値が該当します。 とても簡潔で便利なリスト内包表記ですが、実はチューリング完全であることが知られています。つまり、リスト内包表記では計算機によって原理上可能な処理をすべて行うことができるということです! このリスト内包表記がうどんの麺のように見えることから、 コードは1行 コードの先頭は[ コードの末尾は] 以上3つの制約を満たすコードを1うどんコードと命名し、AtCoderの問題をリスト内包表記をひたすらに悪用した1うどんコードで解いてみ

    Python 1本うどんコード - Qiita
    JULY
    JULY 2021/12/10
    内包表記がチューリング完全というのは知らなかった。筆者の言うとおり、だからといって、悪用してはいけないw。
  • Pythonライブラリの「麻雀(mahjong)」って?? - Qiita

    「mahjong」 みなさん、Pythonに「mahjong」というライブラリがあるのをご存知でしょうか? ↓Pythonライブラリ「mahjong」 https://pypi.org/project/mahjong/ 名の通り、このライブラリは麻雀のライブラリです! (麻雀の英訳は"mahjong") 今回は、上記URLの内容をまとめて、実際に使ってみました! ライブラリ詳細 mahjongができる事を一言で表すと 「Mahjong hands calculation」 つまり、麻雀の手計算を行えます。 URLの記事に記載されているProject description部分を読んでいきましょう! Python2.7 and 3.5+ are supported. We support the Japanese version of mahjong only (riichi mahjong

    Pythonライブラリの「麻雀(mahjong)」って?? - Qiita
  • コンパイラのいじめかた / How to fight the compiler

    C++MIX #6

    コンパイラのいじめかた / How to fight the compiler
  • シェル芸を法律で禁じて欲しい

    パイプでつないでawk使ってハッカー気分かもしれないけどお前の書いてるスクリプトクソクソクソオブクソだから おとなしく Pythonで subprocess 使え!!!!!!!!!!!!!! <追記> 物のハッカーである皆さんはどしどし使ってくれて大丈夫ですよ^^; lispmemo シェル芸とシェルスクリプトは異なる概念では? そうですね、熱くなって言い過ぎました。 個人がターミナルに打ち込む一度きりのコマンドはOK、ファイルに保存した瞬間に違法としましょう。 <追追記> いやあ思いのほかBuzzっちゃって^^; awkの代替がsubprocess? awkは適当に思いついたから入れただけでパイプ使ってるんだから他のコマンドも入ってますよ^^; grepとかsedとかPythonで同様のことができる(実行時間が現実的な範囲で収まる)ならPythonの関数でお願いします。 読めないのか

    シェル芸を法律で禁じて欲しい
    JULY
    JULY 2019/10/11
    例として subprocess が出る時点で、この人は標準入出力のストリームの概念を分かっていない気がする。
  • また初心者にプログラミングを教える機会があった

    プログラミングでわからないところがあるので教えてほしいと以下のようなことを聞かれた。 こういうJavaScriptの関数がある。 // valuesは配列 // elementはvaluesの要素型の値 // 配列valuesに値elementと等しい要素があるならばそのインデックスを返す。 // それ以外の場合、-1を返す function find_index( values, element ) { for ( let i = 0 ; i !== values.length ; ++i ) { if ( values[i] === element ) return i ; } return -1 ; } 質問は、「なぜreturn -1にelseはいらないのか」というものであった。 似たような問題に、昔遭遇した気がするが、別人だ。 まずここにelseを書くべき文法はJavaScrip

    JULY
    JULY 2019/10/08
    この人なら、一般的な算術演算の式として、逆ポーランド記法を教えたら「なんて分かりやすいんだ」と思ってくれるのかも。
  • printfに4285個アスタリスクをつけるとclang++が死ぬ - Qiita

    def check(n) s = "*"*n f = open("test.cpp","w") f.puts <<EOS #include <cstdio> int main(){ (#{s}printf)("Hello World\\n"); } EOS f.close() return system("clang++ test.cpp") end check(ARGV[0].to_i) $ ruby check.rb 10000 clang: error: unable to execute command: Illegal instruction: 4 clang: error: clang frontend command failed due to signal (use -v to see invocation) Apple LLVM version 10.0.1 (clang

    printfに4285個アスタリスクをつけるとclang++が死ぬ - Qiita
  • The V Programming Language

    Simple language for building maintainable programs You can learn the entire language by going through the documentation over a weekend, and in most cases there's only one way to do something. This results in simple, readable, and maintainable code. Despite being simple, V gives a lot of power to the developer and can be used in pretty much every field, including systems programming, webdev, gamede

    JULY
    JULY 2019/03/18
    残るは4つ(W, X, Y, Z)となったかぁ。
  • プログラマをクソコードで殴り続けると死ぬ - megamouthの葬列

    ここにクソコードがある。 誰が作ったかはわからぬ。それが、どのような経緯でクソコードとなったのか、 あるいは、最初からクソコードであったのか、それらは全てクソコード自身が知るのみである。 ファーストコンタクト ある日、営業からシステム案件を打診されたので見積もりして欲しい。というメールが来る。 とある企業の既存システムに機能を追加する簡単な案件ですが、なななんとソースや仕様書をご支給いただけます! と、それはサンタにプレゼントが貰えると信じて疑わぬ子供のような真っ直ぐなメールである。 ソースコードが入った圧縮ファイルを受け取ったプログラマは、早速、コードを読んでみる。 そのシステムが当にいいコードで書かれているかを判断するには時間がかかるが、 クソコードであるかはおおよそ30分でわかる。 インデントがタブとスペースどちらかに統一されていないとか、フレームワークの誤用があるとか、またはフレ

    プログラマをクソコードで殴り続けると死ぬ - megamouthの葬列
    JULY
    JULY 2017/08/02
    これがリアルガチだから。
  • 99%のEmailアドレスにマッチする正規表現公開される | ソフトアンテナ

    一見Emailアドレスにマッチする正規表現を組み立てるのは簡単そうに思えますが、RFC 5322に厳密に準拠した正規表現を創りだそうとするととんでも無い努力が必要となるようです。 「Email Address Regular Expression That 99.9% Works」は、様々なプログラミング言語ごとに、Emailアドレスに99%マッチする正規表現を掲載したサイトで、例えばPerl 5.10より前のバージョンのPerl用として、掲載されている長大な正規表現を見れば、その難易度の高さを確認することができます。 正規表現にはなんの解説もなくどのような意図をもって作られたのか説明はありません(よって99%マッチするかどうかは当のところは不明)。ちなみに日語で読める貴重な情報「Perlメモ」では、「perl5.6.0以前の perl ではメールアドレスの正規表現を正確に記述すること

    99%のEmailアドレスにマッチする正規表現公開される | ソフトアンテナ
    JULY
    JULY 2015/02/23
    これ、確か BNF から正規表現を生成させるようなツールがあって、だった気が。
  • 決めようぜ最高のプログラム言語を綱引きで :: デイリーポータルZ

    PHPがdisられる時代は終わった~っ! いくぜおまえら~!」「PHP!」「PHP!」(PHPはこの後一回戦で敗退しました) さる2015年1月29日。横浜大さん橋ホールで行われたエンジニア勉強会イベント「CROSS 2015」にて「第一回 プログラム言語対抗綱引き」が行われた。 コンピュータの世界を支えるプログラム言語がその至高性を競い腕力でぶつかる、言語間戦争に決着をつける大会である。 40人の勇者(プログラマー)により死闘を繰り広げたのはC、PerlPHPPythonRubyJavaScriptGoJava。 結果、Goの圧倒的勝利で幕を閉じたのだった。あらためて記事でその全貌をレポートしていこう。 知ってた? 綱引きの掛け声の「オーエス」ってあれ、「OS(オペレーションシステム)」のことなんだぜ? 英語版もご用意しております! English article↓↓↓

    JULY
    JULY 2015/02/06
    各言語の紹介が秀逸。
  • 新人女子プログラマの書いたコードを直すだけの簡単なお仕事です! | paizaオンラインハッカソン(POH)

    開発したいプログラム ECサイト内の2つの異なる商品(値段は同じでも構わない)を購入し、その合計価格が指定の価格以内で最大になる組み合せを探してください。 →問題詳細 新人女子プログラマの野田さんが途中まで書いたプログラム Item_a_b = 4500 // a+bの価格 Item_a_c = 500 // a+cの価格 Item_a_d = 2300 // a+dの価格 Item_b_a = 1240 // b+aの価格 Item_b_c = 5020 // b+cの価格 (中略) if Item_a_b == campaign_price print “AとBの組み合わせが最大!” if Item_a_b == campaign_price -10 print “AとBの組み合わせは-10円差でおしい!” if Item_a_c == campaign_price (以下略)

    新人女子プログラマの書いたコードを直すだけの簡単なお仕事です! | paizaオンラインハッカソン(POH)
    JULY
    JULY 2013/12/03
    新人女子管理者が書いた設定ファイルを直すバージョンも欲しい。
  • Account Suspended

    Account Suspended This Account has been suspended. Contact your hosting provider for more information.

  • ついに顕在化しはじめた「Perlリスク」

    英語圏ではかなり前からPerlで開発し続けることのリスクについて語られていたが、いよいよ具体的な弊害が出て来ているようなので、かいつまんでメモ。日でもそう遠くない未来だと思う。 若手エンジニアの不足Objective-Cのように需要が逼迫しているのに人材の供給が増えず需給ミスマッチが起っているわけでは無く、需要も供給も減るという状況下でわずかだが需要が上回っているとう性質の悪い状況がPerlに起きている。特に深刻なのは安価な若手エンジニアの採用が絶望的に難しいという現実だ。Rubyが台頭して数年経ちPythonがメインストリームの先頭を突っ走る2013年において新しくPerlを勉強しようとする若者はよほどの物好きしかいない。30~40歳Perlエンジニアを雇うのはそれほど難しく無いだろうがコストがかかる。安価な20代前半の若手エンジニアを雇いたいという企業の思いとは裏腹にPerlを新た

    ついに顕在化しはじめた「Perlリスク」
    JULY
    JULY 2013/02/28
    どんな言語も適材適所で、かつて C 言語がアプリケーション開発に使われて力不足になったのと同様、Web アプリケーション用やシステム管理用としては、他に良いのが出てきただけ。
  • Loading...

    JULY
    JULY 2013/02/19
    一つも知らなかった。
  • 自分をプログラミング言語に例えると何?

    2013年1月16日、エンジニアたちが集うトークライブイベント「TechLION vol.11」が開催された。今回のゲストは、1月生まれの技術者たちだ。イベントでは、「2013年、この技術/サービスがくる!」「関わったプロジェクトがまさかの大炎上! さあ、どうする?」といったいくつかのテーマを挙げ、集まった技術者5人がそれぞれの意見を述べた。その中から、「自分をプログラミング言語に例えるなら何?」というお題に答えた5人の技術者の回答をレポートする。 日PHPユーザ会の廣川類氏は、自分をプログラミング言語に例えるならば「PHP 1.0」だという。廣川氏は、「シンプルでかわくて小さいもの」が好きだからだそうだ。今のPHP 5.4は数MBにもなり、巨大になってしまっている。しかし、1995年ごろのPHP 1.0だと、かわいくて、ソースコードも半日あれば読める。「勉強できるし、楽しめるのが、昔の

    自分をプログラミング言語に例えると何?
    JULY
    JULY 2013/01/25
    Java が体育会系、というのは分かる気がする。
  • Linux KernelのLinked Listの実装が面白い件 - 愛と勇気と缶ビール

    最近、Robert Love先生のを暇な時にダラーと読んでいたりするわけですが、それの中にLinux Kernel内部で使われているLinked Listの実装が書いてあって面白かったので共有。 まず、Linked Listの一個一個のエントリを表すstructを定義します。 struct list_head { struct list_head *next, *prev; }; いやいやいやいや。いかにC力の低い僕でも流石にこれはあきません。騙されませんよ。前後のエントリへのポインタは確かにあるけれども、これにはデータを指すためのポインタがないじゃないの。おじいちゃんまたデータ忘れてきちゃったの?いやあねえ。 おじいちゃんは言った。「それはお前の短見というものじゃ。このLinked Listは以下のコードのようにデータ構造に埋め込んで使うものなんじゃよ。」そしてそれは正しかった。 st

    Linux KernelのLinked Listの実装が面白い件 - 愛と勇気と缶ビール
    JULY
    JULY 2012/12/12
    まぁ、この手のデータ構造は、直接、ポインターをたどったり操作せずに、マクロなり、関数なりを使う、というのは常識の範囲だけど、このマクロはちょっと強引と言えば強引。
  • 言語女子会2: varは必要?/privateがない? - 西尾泰和のはてなダイアリー

    言語女子会: undefとnullは両方必要?の続編です。 varは必要なの? とあるプログラミング言語が集う女子会にて: Python: JavaScriptちゃんってさ、なんでvarだらけなの? JavaScript: えっ、変? Python: varなんかいらなくない?私ぜんぜん持ってないよ? JavaScript: えー、じゃあ変数をどうやって宣言するの? Python: 宣言っていうか…「x = 1」みたいな代入文があれば変数xが必要なのって自明じゃない?宣言とか必要? Ruby: 必要ないよね。っていうか変数宣言とか古臭くない? JavaScript: そうかなー。 Python: 少しダサイかも。ほら断舎離ブームだし要らないものは捨てなきゃ! JavaScript: 要らないかなぁ、変数宣言。Pythonちゃんは関数がネストしているときに外側のスコープの変数に代入するのって

    言語女子会2: varは必要?/privateがない? - 西尾泰和のはてなダイアリー
  • 言語女子会: undefとnullは両方必要? - 西尾泰和のはてなダイアリー

    Twitterのタイムラインが面白すぎて、ついうっかり言語を擬人化して脳内で言語女子会なるものを開いてしまいました。なお、登場人物と実在の人物は1対1に対応しません。 undefinedとnullの両方必要なの? とあるプログラミング言語が集う女子会にて: Perl: そういえばさ、なんでJavaScriptちゃんってundefinedとnullの両方もってるの? JavaScript: えっ、未定義の変数にアクセスした時undefined返したいじゃない? Python: 例外投げて死ねばいいじゃん Ruby: 例外投げて死ねばいいよね Python & Ruby: ねー♡ Java: いやそこは参照型ならnull、数値型なら0で初期化すべきでしょ C: これだから最近の若い子は…初期化にだってコストが掛かるんだからね!デフォルトで初期化するなんて無駄遣いよ!必要な人だけが責任をもって初

    言語女子会: undefとnullは両方必要? - 西尾泰和のはてなダイアリー
  • プログラマがやってはいけない97のこと - Cube Lilac

    プログラマが知るべき97のこと改変シリーズ第4弾.抜粋元のメインは,#やってはいけないプログラマーのNG まとめ - Togetter,および twitter 検索 - #やってはいけないプログラマーのNG です.また,プログラマが体験するべきではない50の危険なこと - Life like a clown からも一部抜粋しています*1.尚,登場する人名は適当な仮名に変更しています. 今回は,タイトル通り「プログラマがやってはいけないこと」に絞ってみました(プログラマが受ける理不尽系は除外).尚,過去のプログラマが知るべき97のこと改変シリーズは最後に一覧を列挙しますので,併せてお楽しみ下さい. 全角スペース使う インデントにタブと空白が混在 変数名や関数名でスペルミス 変数名が女の名前 char aznable; 浮動小数を等値比較 三項演算子の数行に渡る多重ネスト 同じシステムの中で複

    プログラマがやってはいけない97のこと - Cube Lilac
    JULY
    JULY 2011/10/25
    時々、90 をやっている気がする...
  • どのプログラム言語を選ぶべきか・・・ - きしだのHatena

    PHP-erはダメな言語でいかにまともなものを作るかっていうマイナスからのスタートだし、 JavaScript-erは何もないところで何か動いて楽しいっていう0からのスタートだし、 Ruby-erはRuby好きって言ってるだけだし、 Java-erはJavaの仕様にしか興味がないし。 Scala-erは生ぬるいこと言うと狩られるし、 Smalltalk-erは過去の栄光語ってるだけだし、 COBOL-erは苦労話しか出ないし、 FORTRAN-erはプログラムに興味ないし、 Perl-erは同窓会みたいだし、 Python-erは仲間探すの大変だし、 Erlang-erはどこにもいないし、 C-erは目先の仕事にしか興味ないし、 C++-erはC++の復興にしか興味ないし、 C#-erはWindowsにひきこもるし、 ActionScript-erはAdobe税はらうのに大変そうだし、 O

    どのプログラム言語を選ぶべきか・・・ - きしだのHatena