実にシンプルだが逆にいいかも。 Code Halfでは「毎日30分はコード書こうぜ!」と提供してくれている。 機能自体はシンプルで、カレンダー式にメモを残していけるだけだ。 ただこれを見ればコードを書いた日とさぼった日が一目瞭然だ。 ちょっとした学習支援ツールとして検討してみてもいいかもですね。
原文は2015年8月22日時点のものを利用しており、それ以降に追記、更新されている可能性があります。 本翻訳は原作者の許可を得て公開されています。 Thanks for GreyCat! このページはBashプログラマーが陥りがちなよくあるエラーについてまとめました。以下の例は全てなんらかの欠陥があります。 クオートをいつも使い、どんな理由があっても単語分割を使わなければ、多くの落とし穴からあなた自身を守ることができます!単語分割はクオート表現をしない場合にはデフォルトでオンになっている、Bourneシェルから継承された壊れたレガシーな設計ミスです。落とし穴の大半はクオートされていない展開になんらか関連し、単語分割しその結果をグロブします。 1. for i in $(ls *.mp3) BASHプログラマーたちがループを書く際にもっとも犯しがちなよくあるミスは以下のような感じです。: f
私の知人に、ほとんど「できません」と言わないソフトウェア技術者がいる。営業であれば、「出来ません」と言わない方は普通にいるのだが、ソフトウェア技術者では珍しい。 「GoogleAnalyticsのように、グラフィカルに表示できないですか?」 ⇒「なんとかしましょう」 「1週間以内に実装できないですか?」 ⇒「わかりました」 「応答のスピードを上げられますか?」 ⇒「やってみます」 彼は周りからたいへん頼りにされているのだが、かと言って安請け合いするわけでもない。仕様に問題があれば必ずディスカッションを求め、必ず納期は守る。 私は彼が「やったことはないですが、多分できるでしょう」と言い、そのとおりになったことを何度も見た。 最近すぐに「できません」という社員が増えているとの悩みを経営者の方々からお聞きする。無茶な要求をする 上司や顧客がいるのも事実だろうが、考えもしないで「できません」という
YAPC::Asia Tokyo 2015 前夜祭に参加して、柴田さん( hsbt さん)とモリスさん*1( tagomoris さん)の講演を聴いた。特に最後のモリスさんの講演を聴いていて、ちょっとした衝撃を受けると共に、気づきや疑問もあったので、久しぶりに blog エントリを書こうという気になった。 なお、このエントリは講演メモや浮かんだ疑問、その後の議論等を記したものであり、すっきりとした結論は無いのでご注意。 モリスさんの講演 講演資料が公開されていた How to create/improve OSS products and its community from SATOSHI TAGOMORI 講演時に取ったメモがこちら 我々にできるOSSとそのコミュニティの育てかた ======================= id:tagomoris TD のモリスさん TD はデー
多くの言語は冗長性を有していますが、これらの機能を省いていくことも言語設計の進歩につながります。 巷には数多くのプログラミング言語があり、新しい言語も継続的に紹介されています。でも新しいものが古いものより優れているかというと、そうとは言えません。なぜなら、何が“優れているか”を判断する明確な尺度は存在しないからです。 それでも過去からの流れを見ていくと、優れた言語を作る1つの方向性は、言語にある冗長性を特定し、それらを持たない新たな言語をデザインすることにあるように思えます。 「完璧とは、それ以上足せない時ではなく、それ以上引けない時に達成される」 – Antoine de Saint Exupéry この投稿では、現在までに知られている言語の冗長的機能を見ていくと共に、恐らく冗長性を有しているだろうと思われる機能についても触れていきます。 自ら墓穴を掘るあらゆる可能性 初めてコンピュータ
多くの関数型プログラミングに関する記事が教えてくれるのは、抽象的な関数型のテクニックです。つまり関数合成やパイプライン、高階関数などです。この記事では違います。ここでは、プログラマが毎日書く、命令型で非関数型のコードの例を示し、それを関数型の形式へ書き換えます。 最初のセクションでは、短いデータ変換のループを取り上げ、map関数やreduce関数に書き換えていきます。2つ目のセクションではより長いループを取り上げ、ユニットに分解し、それぞれのユニットを関数型に書き換えます。3つ目のセクションでは、連続した長いデータ変換のループを関数型のパイプラインに分解します。 ここではPythonでの例を取り扱います。というのも多くのプログラマはPythonを読むのは簡単だと思っているからです。多くの例では、mapやreduce、パイプラインなどの多くの言語に共通する機能を例示するため、Python的な
ずいぶん前のことだが、Webアプリケーション開発フレームワーク「Ruby on Rails」が00年代後半にブームを巻き起こしたとき、強い主張を持つソフトウェアとしてRailsは多くの議論を呼び起こした。その中でも最大のものはプログラマの生産性に関するもの。当時、すでにいくつも存在していたJavaベースのWebアプリケーション開発フレームワークに比べて、Ruby on Railsは10倍の生産性を達成できるという主張だ。 Rubyの生産性はJavaの10倍――。この主張が多くのエンジニアの琴線、もしくは逆鱗に触れた。「さすがに10倍は大げさだ」、「いや、現実に設定ファイルやコードを書く行数が劇的に減るのだから、そのぐらい当然だ」と意見が分かれたのだ。 2005年のリリースから約10年。Railsの生みの親で、今もプロジェクトをリードするデイビッド・ハイネマイヤー・ハンソン氏は当時を振り返り
2012 3 5 Copyright© 2011 IT Planning,Inc All rights reserved. LEXIFI 2000 LexiFi DSL LexiFi Web ( ) 2006 Haskell/Microsoft F# 2002 Jane Stree Capital High-Frequency) OCaml 200 (private fund) Ruby on Rails Scala Xen Citrix Xen OCaml http://cufp.org/ Microsoft F# Web fpish.net 2011 Scala, Akka Scala, Akka, Play IntelliFactory ( ) TypeSafe ( ) yesod (Haskell) Web COBOL Haskell Lift (Scala) Web Pytho
Introduction to functional programming concept using javascript and the library ramda.
先週、 Hacker News上で興味深い議論が行われました 。テーマは Linux Kernelのコーディングスタイル についてです。 議論の中で私は、 コーディングで垂直方向にそろえるインデントをとるべきか というささやかな聖戦を仕掛けました。私は全面的に賛成です。理由を説明しましょう。 垂直方向にそろえるインデントをとるとは? 簡単な例を挙げてみます。 int robert_age = 32; int annalouise_age = 25; int bob_age = 250; int dorothy_age = 56; ちょっと見ただけで、「bob_age」がおかしいと分かるでしょう。また、目視であちこち探さなくても、全ての値が整数であることが簡単に確認できます。 この考え方は 一般的に 共有 されているわけではありません。ですので、なぜ 多くの 人たち がこれを有効なスタイルガ
大学四回生の夏、下宿の扉に「出入禁止」とチョークで大書し、親を呼ばれて精神病院に連れて行かれた。 パソコンを買ってもらったのは小学三年生の冬だった。今でも覚えている。1996年12月2日のことだ。Windows95発売で世間は揺れていた。インターネット回線がうちに来たのは翌97年の1月、これはそこそこ早い導入だったと思う。さらに翌々年の99年にはケーブルテレビで常時接続になった。親には先見の明があったが、しかしパソコンには詳しくなかった。PC-8001も確かそうだ。親はこれが次世代の必需品になると確信して買っていたが、買った一方で使い道が分からなくてオブジェとして放置していた。親はPC-8001をパソコンだと言っていたけれど、僕にとってパソコンはおっきなテレビが標準で付属しているものだったし、マウスもなかったので、それがパソコンだとは到底思えなかった。でも親は言った。今度来るのは違うんだ、
The document discusses why a Go program may be slow and provides tips for profiling and optimizing Go code performance. It introduces the pprof CPU profiler and how to use it to analyze performance bottlenecks. Some factors that can slow down Go programs include garbage collection, memory copying, and function calls. The document hopes that future versions of Go will include features like concurre
1. Null was used as an exception to point out issues. 2. Null used three sentences to summarize the key details. 3. Null's summary highlighted the object, option, exception handling, and Kotlin programming language.Read less
[Help save the best Linux news source on the web -- subscribe to Linux Weekly News!] It's time for web servers to handle ten thousand clients simultaneously, don't you think? After all, the web is a big place now. And computers are big, too. You can buy a 1000MHz machine with 2 gigabytes of RAM and an 1000Mbit/sec Ethernet card for $1200 or so. Let's see - at 20000 clients, that's 50KHz, 100Kbytes
弊社には先輩エンジニアが新卒エンジニアに好き勝手に座学をする習わしがある。 Git の話 by @kenchan 余暇プログラミング概論 by @morygonzalez コードレビューの話 by @hisaichi5518 素晴らしい話を色々な方がしている中恐縮だったのですが、Vim とかについて話してきました。 何を目的としたか 日常の業務の効率を少しでも、すぐに上げる 業務遂行に使う物を継続的に改善する意識を作る 頑張る必要がないところで頑張らないようにする 最初は Vim の話をひたすら話そうかと思ったのですが、新卒エンジニアは2人ともターミナルを多用するようになったのは入社してからで、Vim を使い始めたのはつい最近。 その中でレジスタとかの話をして貢献になるとは思えなかったので、プログラムを構築するまでに使う各種ツールについて広く浅く話すことにした。 (と言うのは半分後付
ほとんどの開発者は、自動のガベージコレクション(GC)を当たり前のように使っています。これは、私たちの仕事を容易にするために言語ランタイムが提供する素晴らしい機能の1つです。 しかし、最新のガベージコレクタの中をのぞいてみれば、実際の仕組みは非常に理解しづらいことが分かります。実装の詳細が無数にあるため、それが何をしようとしているのか、また、それがとんでもなく間違った事態を引き起こしかねないことについて十分理解していない限り、すっかり混乱してしまうでしょう。 そこで、5種類のガベージコレクションアルゴリズムを持つおもちゃを作ってみました。小さいアニメーションはランタイムの動作から作成しました。もっと大きいアニメーションとそれを作成するコードは github.com/kenfox/gc-viz で見ることができます。単純なアニメーションによってこうした重要なアルゴリズムを明らかにできることは
Photo by Andy Lamb こんにちは。谷口です。 読書の秋ですが(既に冬並みに寒いですが……)、皆さんは最近何か本を読まれましたか? ITエンジニアの皆さんは技術書を読まれることが多いかと思いますが、今回は弊社で私が特に凄腕だと思っているエンジニア達に読んで値段以上に価値があると感じた本を聞いてきましたので、ご紹介いたします。 ■弊社エンジニアが選ぶ役に立った本26選 佐藤です。paizaの開発や分析などを担当しています。 今回はエンジニアとして、考え方の面で影響を受けた本をピックアップしてみました。 ◆1.新C++言語入門 シニア編〈上〉基本機能 (C++言語実用マスターシリーズ) 新C++言語入門 シニア編〈上〉基本機能 (C++言語実用マスターシリーズ) 作者: 林晴比古出版社/メーカー: ソフトバンククリエイティブ発売日: 2001/05メディア: 単行本購入: 1人
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く