タグ

programmingに関するtomkosakaのブックマーク (64)

  • 関数型プログラマのためのRust | POSTD

    この投稿はEdward Z. Yangが2010年に書いた OCaml for Haskellers 、私自身が今年頭に書いた Haskell for OCaml programmers の流れに沿っています。 目次 プロローグ なぜRustを学ぶべきか 直接対応が可能なもの トレイト:Rustの型クラス アドホックなオブジェクトとメソッド 安全な参照 寿命と記憶域、そして管理オブジェクト オブジェクトの共有:RcとArc マクロとメタプログラミング リテラル 謝辞 参照 Copyright and licensing 注 : この記事の最新版は下記サイトで見られます。 http://science.raphael.poss.name/rust-for-functional-programmers.html 他のフォーマット: Source , PDF プロローグ C言語プログラマのための

    関数型プログラマのためのRust | POSTD
  • Rustは何が新しいのか(基本的な言語機能の紹介) - いもす研

    Rust は、Firefox を開発する Mozilla が開発し、次世代ブラウザの開発に使っているプログラミング言語です。借用検査という概念を導入することによりメモリ安全およびデータ競合安全をコンパイラが保証する言語であり、2015年中頃の安定版のリリースあたりから次第に注目を集めるようになりました。 メモリ安全とは、メモリの範囲外アクセスや二重解放、ヌル参照、未初期化領域へのアクセスがない状態を表します。ただし、Rust の言うメモリ安全とは、メモリリークをしないことを保証するものではありません。 データ競合安全とは、あるひとつのオブジェクトに対しての読み込みおよび書き込みのが同時に起き結果が不定になる状態にならないことを表します。競合状態とは異なります。 無名関数という概念を様々な言語が次々と導入したように、プログラミング言語は相互に影響を及ぼし徐々に変化しています。Rust は「寿

  • 量産型プログラマを撲滅したい

    プログラマの生産性の差は、出来る人と出来ない人で10倍とも100倍とも言われる。そんな馬鹿な、と思われるかもしれないが、事実だ。 むしろ、一緒に働かせると、出来るプログラマが、下手に作られたプログラムの修正をしなければいけなくて、全体の生産性を落とすことになる。 つまり、出来ないプログラマはチームで働くと、生産性をマイナスにするのだ。厳しいことを言えば、いない方がマシなのである。 ソフトウェア開発にの手はいらないのだ。 では、出来ないプログラマとはどんな人たちか。 コピペで書くプログラマだ。他で動いているプログラムをコピペして、なんとなく直して書いているプログラマだ。 なぜプログラムが動くのか、どう書けば動くのか、わかっていない。 ただ沢山のプログラムを書くだけの量産型プログラマだ。こういう人のプログラミングは、デバッグさせてみて、横で見てるとすぐにわかる。 まず、エラーメッセージを見な

  • プログラマーの君! 騙されるな! シェルスクリプトはそう書いちゃ駄目だ!! という話 - Qiita

    記事が切っ掛けとなってお声がけを頂き、記事の増補リファイン版となる記事をSoftwareDesign 2018年1月号のシェルスクリプト特集第2章として執筆しました。リファイン版には、この記事で触れていない文法面での分かりにくさについての解説が含まれています。その文法面での分かりにくさの解説の一部に相当する記事もありますので、ぜひそちらも併せてご覧下さい。 Shell Script Advent Calendarをご覧の皆様、図々しくも5日目に続く2度目のエントリーのPiroです。 前回は自作のBashスクリプト製Twitterクライアントをネタに実装を解説しましたが、今日は他の言語で多少のプログラミング経験はあるんだけど、どうにもシェルスクリプトは苦手だ……という人のための、シェルスクリプトによるプログラミングの勘所を解説してみようと思います。多分、プログラミング入門レベルの人や上級

    プログラマーの君! 騙されるな! シェルスクリプトはそう書いちゃ駄目だ!! という話 - Qiita
    tomkosaka
    tomkosaka 2016/12/08
    Utilizing shell script
  • 【定番】 新しいWebサービスを開発・運営するときに使いたいサービス 【2016年末版】 - Qiita

    トレタ アドベントカレンダー3日目担当の増井です。 最近、新しいサービスリリースに少し関わることがあり、そこに向けてオススメした開発で役に立つサービスをここでもまとめてみることにしました。 私が、実際にトレタやキタヨンを作るときに使ったサービスを中心に上げています。特に使った方がいいサービスには [必須]を書いてみました。 他にもオススメのサービスがあったら、コメントで教えていただけると嬉しいです! BrowserStack [必須] https://www.browserstack.com http://qiita.com/tags/BrowserStack 言うなら"Browser as a service"。色々なブラウザをリモートで操作してWebの動作確認をしたり、指定したURLのスクリーンショットを多種多様なブラウザで撮ってきてくれるサービス。 Chrome Extensionを

    【定番】 新しいWebサービスを開発・運営するときに使いたいサービス 【2016年末版】 - Qiita
  • Excel VBAコーディング ガイドライン案 - Qiita

    ここで記述する内容はあくまでガイドライン、指針の案にすぎない。この規約を守るためにコードを作るのでなく、よいコードを作るためのガイドラインにすぎない。このガイドラインがよいコードを作るのに障害になる場合は、ガイドラインを変えるか、ガイドラインを使用しない。 つまり、このガイドラインは必要に応じて、変更されることがある。 もし、ガイドラインを考える場合、VB6の規約が参考になる。 Visual Basic Coding Conventions 宣言について 変数の宣言を強制する モジュールの先頭に下記の構文を記述して型の宣言を強制すること。 この宣言は下記の手順で自動で作成することもできる。 【ツール】→【オプション】 【編集】のタブを選択 【変数の宣言を強制する】をチェックする。 理由 変数名の記述ミスがあった場合、コンパイル時にそのミスを検知できる。 暗黙の型は使用しない VBAで変数の

    Excel VBAコーディング ガイドライン案 - Qiita
  • vi で書こう VBA — Text Scripting on VBA

    UNIXユーザにも優しいVBA利用法¶ 特にUNIX系OSに慣れ親しんできた人々の間で、VBAへの拒絶感が強いと思います。 (自分も 2012年2月まではそうでした。:-) Windows系プロダクト / Microsoft に対する感情は人それぞれとして;-)、下記の理由でVBAのコードを管理したくないなーと思っている人は多いのではないでしょうか。 ソースコードのバージョン管理が難しい (バイナリファイルの内部にある) 共有ライブラリ化が難しい (個々のファイルにモジュールが組み込まれる) エディタが選べない (VBAはVBEで書くことが前提) ページでは、 vi でコーディング (Emacs でもいいです) Mercurial でバージョン管理 (Git でもいいです) テスト駆動でコーディング (これはまだ模索中) というテーマで、VBAを扱っていきます。 Note VBAは、UN

  • 昨日までJavaJavaしてた人がいきなりExcelのVBAを実装する羽目になったときのためのメモ - Qiita

    Excel は滅びぬ! Excel の力こそ日企業の夢だからだ! VBA 実装してて学んだこととかのメモ。 JavaJava してたかはあまり関係ないかも。 エディタの使い方 エディタを表示する Alt + F11 で VB エディタを表示できる。 環境設定 背景色・フォントを調整する デフォルトの白背景とか気が狂うので、暗い色にする。 「ツール」→「オプション」を選択し、「エディターの設定」タブを開く。 「コードの表示色」を選択して、「背景」の色を選択する。 ついでにフォントも見やすいやつに変更する。 これだけで開発効率が5割増しになる。 イミディエイトウィンドウ イミディエイトウィンドウを表示する いわゆるコンソールに当たるのが、イミディエイトウィンドウと呼ばれるウィンドウ。 Ctrl + G で表示される。 イミディエイトウィンドウに出力する ↓イミディエイトウィンドウに実行するプ

    昨日までJavaJavaしてた人がいきなりExcelのVBAを実装する羽目になったときのためのメモ - Qiita
  • Excel VBAのマクロを,複数のブックから利用する方法 (標準モジュールをブックの外部で管理して,共通ライブラリとして読み込み) - 主に言語とシステム開発に関して

    バッチ・マクロのTOPへ 通常,Excel VBAのコードは, .xls ファイル(=ブック)の内部に 保存されてしまう。 これだと 複数のブックで共通のコードを利用できないし, マクロの修正があると,全ブックを修正しなければならないし, ソースコードをテキスト形式で管理できない(SVNやGitで差分を読みづらい) という不便さがある。 これでは,VBAを使ってスムーズな開発プロジェクトを行なうのは難しい。 下記は,それを解決する方法。 テキスト形式で,VBAのモジュールをブックの外部に保管して共有し, どのモジュールをブックに読み込ませるか?という情報(モジュールの依存関係)も外部の設定ファイルで管理し, ブックを開いたら自動的に必要なモジュールが外部から読み込まれる というふうにする。 ここでは (1)簡易な方法(非テキスト形式) (2)便利な方法(テキスト形式) の2つの方法を掲載す

    Excel VBAのマクロを,複数のブックから利用する方法 (標準モジュールをブックの外部で管理して,共通ライブラリとして読み込み) - 主に言語とシステム開発に関して
  • 視覚障碍者プログラマのためのツール | POSTD

    『 Autobiography of a Blind Programmer(視覚障碍者プログラマの自伝) 』という記事を投稿した後、コンピュータをどのように使っているのか、どのようにコードを書いているのか、そしてどのように抽象的概念を理解しているのかよく聞かれました。 先週この記事を書き始めたのですが、話が脱線しがちになることに気が付きました。ツールに関係のない過去の話を持ち出してしまっていました。個人的な好みやなぜ好んでいるのかを長々と説明していました。なぜこのようなことを言っているのか。 それは、上のリンクの記事、『 Autobiography of a Blind Programmer(視覚障碍者プログラマの自伝) 』をぜひ読んでいただきたいのです。もし、その気になれない場合は、頭の片隅にでも置いておいてください。私の経歴に興味がわいた時にでも読んでください。 前置きはこのくらいにし

    視覚障碍者プログラマのためのツール | POSTD
  • Twitterを巡回していてわかったHaskell初心者が躓きやすいポイント8つ

    最近の趣味は「Haskellはいいぞ」と呟くかTwitter Search: Haskellを巡回して を押して回ることです 毎日巡回しているとHaskellに入門しようとするも細かいところに引っかかって前に進めないでいる人をちらほら見かけます。今回はそんな見回りの知見を活かしてHaskell初心者が躓きやすいポイントをまとめてみたいと思います。 1. 入門書は何がいいの? それはもうすごいH一択でしょう!…と言いたいところですが時々不満の声を聞くこともあります。確かにすごいHこと『すごいHaskellたのしく学ぼう!』は世界一わかりやすいHaskell入門書であることは間違いないと思いますが、逆に内容が平易すぎるため記述が冗長だと感じたり読み終わっても何か自分で作れるようになった気がしなかったりするかもしれません。なので僕は「プログラミングも初心者でHaskellから入門してみたい」

    Twitterを巡回していてわかったHaskell初心者が躓きやすいポイント8つ
  • Pythonの新しい文字列フォーマット : %記号、str.format()から文字列補完へ | POSTD

    「ほとんどの状況への対処について、一つの正しいやり方にフォーカスする」言語であるPythonですが、その文字列フォーマットは非常に悩ましく、また年々、多様化が進んでいます。 Python 3.6 では、文字列をフォーマットする方法には3通りあります(簡単な結合や string.Template の使用を除きます)。 %演算子 str.format関数 文字列の補完 (もし、この記事を全部読むつもりがないようであれば、 2016年2月に開催されるPyGrazの会合 に関する記事で、追加の例を含めてもう少し幅広くご紹介したいと思います) %形式の文字列フォーマット %形式は、少なくとも1.0バージョンからPythonに組み込まれているフォーマットです。Python 3以前のバージョンから使用している方には馴染みがあるでしょう。 多少の相違はあるものの、これはC言語の sprintf と同等の関

    Pythonの新しい文字列フォーマット : %記号、str.format()から文字列補完へ | POSTD
  • Perlの本・参考書の評判 | プログラミング教育ナビ

    Perlはテキスト処理からWebアプリケーション開発まで幅広く活用されている言語です。オープン当初はUNIX上でのみ利用されていましたが、現在ではWindowsMacなど様々なプラットフォームで活用されています。プログラミング言語としては難易度が高いために学習サイトだけでは習得が難しいため、以下の書籍を参考にしつつPerlの学習を進めると良いでしょう。 Perlを学べる書籍 新版Perl言語プログラミングレッスン入門編 すぐわかるPerl (Software Technology) 初めてのPerl 第6版 続・初めてのPerl 改訂第2版 プログラミングPerl〈VOLUME1〉 Effective Perl 第2版 もっと自在にサーバを使い倒す 業務に役立つPerl (Software Design plus) マスタリングPerl Perlベストプラクティス Perl Hacks

    Perlの本・参考書の評判 | プログラミング教育ナビ
  • データサイエンティストを目指すというかデータ分析を生業にするなら読んでおきたい初級者向け5冊&中級者向け12冊(2015年冬版) - 渋谷駅前で働くデータサイエンティストのブログ

    (Photo via VisualHunt) 追記 2017年3月現在の最新書籍リストはこちらです。 最近になってまた色々とデータサイエンティストを目指す人向けのお薦め書籍リストとか資料リストとかが出てきてるんですが、個人的には何かと思うところがあるので僕も適当にまとめておきます。偏りありまくり、完全に主観で決めたリストなので文句が出まくるかと思いますが、もはや毎回のことなのでご容赦を。 なおこちらのリストはあくまでもビジネスの現場でデータ分析を生業にする(しようとしている)人たち向けのものであり、研究者含めたガチ勢の方々向けのものではありませんのでどうか悪しからずご了承下さい。 ちなみに毎回言ってますが、アフィリエイトは全くやっていないのでここに貼られたリンクを踏んで皆さんが購入されても僕の懐には一銭も入りません。拙著だけはそもそも例外ですが(笑)。*1 初級者向け5冊 一応初級者向けと

    データサイエンティストを目指すというかデータ分析を生業にするなら読んでおきたい初級者向け5冊&中級者向け12冊(2015年冬版) - 渋谷駅前で働くデータサイエンティストのブログ
  • 現代のエンジニアのための強力なメモ帳 Jupyter notebookのすゝめ - クックパッド開発者ブログ

    会員事業部の有賀(id:chezou)です。 今年一年、社内では勝手に"Jupyterの伝道師"を標榜してJupyter notebookの普及活動を展開してきました。 先日、社内でハンズオンも行ったおかげもあり、かなり社内のマシンにPython環境が構築されてきました :) Jupyter notebookとは? ひとことで言うとブラウザで動くすごい便利なREPL*1です。 百聞は一見にしかず、見てみましょう。 このように、Rubyの対話環境であるpryを触っているようにインタラクティブにコードを書くことができます。 以降で説明をしますが、Jupyter notebookは記録・共有・再現がとても得意です。特に図表があるときにその効果を発揮します。 Jupyter notebookの良い所 過去のコードを改変、再実行できる セルと呼ばれる入力部分にはMarkdownやコードが記述できます

    現代のエンジニアのための強力なメモ帳 Jupyter notebookのすゝめ - クックパッド開発者ブログ
  • JavaScriptのレベル別書籍のまとめ

    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

    JavaScriptのレベル別書籍のまとめ
  • 鳶嶋工房 / アップルスクリプティング(Apple Scripting)

    AppleMac OS X で色々自動化して楽しちゃおうというページ。 AppleScript(アップルスクリプト)を中心に、Automator((オートメーター))やJavaScript for Automation (JXA)の記事があります。 さらに正規表現の書き方や、Shell Scriptなど、自働化関連の情報も追記予定です。 Mac OS X Automationというサイトがありますが、だいたいそのへんの情報を日語で発信してます。 Automator Automatorを使って、Mac OS Xを自動操縦。 命令通りにパソコンが動くのって楽しい! AppleScript入門 さぁ、AppleScriptをはじめよう! 自然言語に良く似たプログラミング言語なので、とっても学びやすい! ついでに英語も分かるようになっちゃうかも!? AppleScript用語説明(Dicti

  • Malbolge - Esolang

    Malbolge, invented by Ben Olmstead in 1998, is an esoteric programming language designed to be as difficult to program in as possible. The first "Hello, world!" program written in it was produced by a Lisp program using a local beam search of the space of all possible programs. More practical programming methods have been found later. It is modelled as a virtual machine based on ternary digits. Et

  • [Ruby] Ruby 3.0 の特大の非互換について - まめめも

    タイトルは釣りです。すみません。Ruby 3.0 はかなり先の将来の話なので、最終的にどうなるかはわかりません。でも Ruby 3.0 に重大な変更が予定されているのは事実なので、一緒に考えて欲しいと思います。 immutable string literal Ruby 3.0 では文字列リテラルをデフォルトで immutable (破壊的変更不可) にする、という方針が『決定』しました。(Feature #11473: Immutable String literal in Ruby 3) つまり、次のようなプログラムが動かなくなります。(当チケットから少し改変して引用) sql = "SELECT #{sec_id}, pt.path, st.doc_count " sql << "FROM #{stats_tablename} AS st " #### ←ここで例外: can't m

    [Ruby] Ruby 3.0 の特大の非互換について - まめめも
  • Bitbucket | Git solution for teams using Jira

    With best-in-class Jira integration, and built-in CI/CD, Bitbucket Cloud is the native Git tool in Atlassian’s Open DevOps solution. Join millions of developers who choose to build on Bitbucket.

    Bitbucket | Git solution for teams using Jira