タグ

programmingに関するstealthinuのブックマーク (815)

  • COBOLERにはスキルなんてない、と言われてしまうことについて - Qiita

    どちらが優秀かを考えたとき、人月会社の上司からすると売り込める先が多いBさんの方が良いんじゃないでしょうか? 一方で僕の考えではAさんのに軍配が上がります。(というかAさんというのは僕の経歴ですが・・) 下請けが求められるスキルはプログラミング経験の数 スキル・スキルと会社がとやかく言うのは単に経歴書を良い感じの言語でたっぷり埋めたいだけというのが実情だと思ってます。 機能てんこ盛りの空気清浄機の商品の宣伝チラシのように、経歴書には色んな言語が埋め込まれていると一見艶やかでどんな案件にも入れるメッキのスーパーエンジニアに見えないこともありません。(何より売り込み先の選択肢が増えます) 実際に、開発時に人手が欲しいときなんかを専門に渡り歩くなら色々知っていた方が便利でしょう。 一方でCOBOL現場に長くいたようなプログラマーはそういうところに売れなくて困るようです。 なので会社からすればCO

    COBOLERにはスキルなんてない、と言われてしまうことについて - Qiita
    stealthinu
    stealthinu 2016/12/23
    「言語に貴賎なし」だが『とはいえCOBOL現場にいることはないよね』とこのアドベントカレンダーのシリーズを読んでると強く思うわ…
  • メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −

    JJUG CCC Fall 2016 での発表資料です。 Java 100ノックを用いたトレーニングの実例と、アンチパターンについてご紹介しています。

    メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
    stealthinu
    stealthinu 2016/12/14
    「Java100本ノック」みたいなの良いな。自分もJava力ないからこういうので鍛えておかないと。ただJavaはあまり触りたくないからモチベーションが…
  • プログラマーの君! 騙されるな! シェルスクリプトはそう書いちゃ駄目だ!! という話 - Qiita

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

    プログラマーの君! 騙されるな! シェルスクリプトはそう書いちゃ駄目だ!! という話 - Qiita
    stealthinu
    stealthinu 2016/12/08
    おおお、このまとめ方は良いな。とても勉強になったわ。whileとread -rの組み合わせは自分は使ってなかったからまねしてみたい。
  • 消えたプログラマの残したものは - megamouthの葬列

    システム開発の佳境に、開発メンバーが突然出社しなくなってしまう。 携帯にも連絡がつかず、3日ほど音信不通になったので、さすがに心配になった上司が大家と共に自宅を訪れると、夕日が差し込む部屋の真ん中に、当の人が何の表情も浮かべずにただ座っていたりする。 そういう事は大して珍しいことではないので、ある程度経験のあるIT業界人なら、同僚が「消えて」しまってもそれほど驚くことはない。 プログラマというのは、とかく「消えて」しまうものなのだ。と彼らは思っている。 「消えた」プログラマは、意識的にしろ無自覚にしろ自分の人生をちょっとばかり台無しにしながら、プロジェクトに虚無の穴を空けるわけだが、そうした「工程の穴」は他のメンバーが残業したり、派遣会社から来た代替の人員が埋めてしまったりする。ビジネス的には人月で数えられた我々の「数字」などというものはちょっとした帳尻あわせでなんとかなってしまうらしい

    消えたプログラマの残したものは - megamouthの葬列
    stealthinu
    stealthinu 2016/11/28
    よい読み物だった。誰かが作ったソースコード読んでるとバージョン履歴とかなくても歴史がすけて見えてくる時あるよね。そして罵倒してた糞コードが生まれた理由もわかってきて少しぐぬぬってなる。
  • フリーエンジニアのIT案件ならレバテックフリーランス

    2016年11月3日(祝)、大田区産業プラザPiOにて開催された国内最大のPHPイベント「PHPカンファレンス2016」。レバテックフリーランスでは、カンファレンスセッションの登壇者のひとり・和田卓人氏にインタビューを実施しました。 テスト駆動開発の先駆者として知られる和田氏ですが、今回の講演テーマは「PHP7で堅牢なコードを書く-例外処理、表明プログラミング、契約による設計」。あえてテスト以外のテーマを設定した理由をはじめ、PHPの優位性や今注目している言語、初心者エンジニアへのアドバイスなど、幅広くお話を伺ってきました。 <この記事の要約> 1. PHPの良い点は、ゆるふわな言語に見せかけて堅牢なコードも書けるところ。悪い点は、覚えることが多くて難しいところ。 2. テストを書いていればコードの品質が高いわけではない。また、テストが書けないくらい問題を抱えたコードでも、中から改善してい

    フリーエンジニアのIT案件ならレバテックフリーランス
    stealthinu
    stealthinu 2016/11/17
    非常に良い内容だった。現実的で実務にも取り入れやすい考え方。あとこの手の話でPHPであるということもまたよかった。後半少し出てくるGoの話も示唆的でよい。
  • 分析SQLのコーディングスタイル - クックパッド開発者ブログ

    SQL、書いてますか? こと大規模データ処理の分野においてはSQLはもはや標準インターフェイスであり、 分析やらバッチやらに関わっている皆様は日々大量のSQLクエリーを生産していることと思います。 そこでちょっと気になるのが、 SQLのコーディングスタイルってどうするのが一般的なんだっけ……? という点です。 イマドキはSQLなんてO/R mapperに吐かせることが多いからなのか、 それともコードを広い範囲で共有することがそもそもないからか、 SQLのコーディングスタイルについて見聞きすることは他のプログラミング言語に比べるとだいぶ少なく、 いまいち決定版と言えるスタイルがないなと感じています。 そんなわけで日は、SQLのコーディングスタイルについての意識を活発化させるべく、 クックパッドでわたし(青木)が使っているコーディングスタイルから特徴的な点を紹介したいと思います。 特に、分析

    分析SQLのコーディングスタイル - クックパッド開発者ブログ
    stealthinu
    stealthinu 2016/11/10
    参考になった。自分も予約語なるべく大文字にしてたけどまあ確かに小文字でもいいわな。先頭カンマかあ… 試してみてもいいかなあ。
  • パフォーマンスを意識して正規表現を書く - Shin x Blog

    正規表現を書く際、どのようなパターンにマッチさせるか、どこをキャプチャするかという視点で記述することはあっても、パフォーマンスを考えて記述するというのはある程度知っている人でなければ忘れがちな視点です。 このエントリでは、バックトラックをメインに正規表現がパフォーマンスに及ぼす挙動について見ていきます。 対象の正規表現エンジン ここでは、従来型 NFA を対象としています。具体的には、PHP の preg_ 関数で利用している PCRE や mb_ereg 関数が利用している鬼車です。PerlRubyPythonJava、.NET でも従来型 NFA を採用しているので、似た挙動となるでしょう。 「従来型 NFA」や「バックトラック」などの用語については、「詳説 正規表現 第3版」のものを用いています。 バックトラックによるマッチ探査 正規表現エンジンでは、指定された文字列が、パ

    パフォーマンスを意識して正規表現を書く - Shin x Blog
    stealthinu
    stealthinu 2016/09/20
    正規表現の負荷を爆発させるような文字列を入れるReDOSという攻撃手法。trimするようなよく使う正規表現でも単純にすごく長い空白文字列でReDOS攻撃が行えてしまう。
  • Ruby超入門(前編)

    こんにちは。 この連載では、ちょっと変わったRuby入門を書いていきます。 想定読者は、Rubyを学びたいプログラミング初心者です。 Ruby以外の言語でプログラミングしたことがあると理解がはかどると思いますが、 Rubyを知らなくてもわかるように、なるべく丁寧に説明していくつもりです。 Rubyをある程度知っている読者には、最初の数回は退屈かもしれませんが、 回を重ねていくにつれ、より深くRubyを知ることができるはずです。 Rubyとは? Rubyは「プログラミング言語」です。 プログラミング言語とは、コンピュータにやらせたい仕事を書くための言語です。 つまり、Rubyを覚えて、Rubyでコンピュータへの指示を書けば、 コンピュータはその指示を実行してくれます。 この指示書のことを「プログラム」と言い、特にRubyで書かれたプログラムを「Rubyプログラム」と言います。 ところで、Ru

    Ruby超入門(前編)
    stealthinu
    stealthinu 2016/09/15
    ここからスタートでMiniRubyを作るまでいくのか… 専用のRSSとかないかな?
  • JVMとGCのしくみ - ITエンジニアとして生きる

    先日職場でJVMの話をしてた。 ちょうどいい機会だからちょっとまとめたいと思う。 JVMの構成まずはJVMの構成について。JVMには3つの領域が存在する。 Permanent領域(非ヒープ領域) New領域(ヒープ領域) Old領域(ヒープ領域) Permanent領域にはJVMにロードされたクラスやメソッドの情報、New領域にはインスタンス化されたオブジェクトの情報、Old領域には寿命の長いオブジェクトの情報が管理される。(「寿命の長い」については後述のScavenge GCを参照。) Permanent領域は非ヒープ領域、New領域とOld領域はヒープ領域となる。 非ヒープ領域には基的にGCは走らず、JVM起動時に静的な情報が管理される。(※) 一方、ヒープ領域はインスタンス化されたオブジェクト情報といった動的な情報が管理され、GC対象となる。 ※ユーザ定義のクラスローダーが存在する

    JVMとGCのしくみ - ITエンジニアとして生きる
    stealthinu
    stealthinu 2016/09/09
    permanent/new/oldの3つに大きく分かれてる。permanentは非ヒープ。newはさらにeden/from/toに分かれてる。インスタンスはedenに生まれてfrom/toの移動を何度か生き残ったらoldへ移動。full gcを減らすにはオブジェクト使いまわさない。
  • プログラミングのコードを書く時のタブvsスペース戦争がついに決着

    ついにタブ派・スペース派戦争に軍配があがる! プログラマたちの間で長いこと起こっているバトルがあります。「コード内のインデントをタブでやるか、スペースを5回押すか」です。コーディングと無縁の人にはどっちでもいいじゃんな問題かもしれませんが、プログラマたちにとっては白熱バトルな話題です。 タブかスペースでのインデントは、統一されていないとファイルを開くソフトウェアによってはインデントがぐちゃぐちゃになってしまうのです。特に1つのプロジェクトを数人でやっている時は厄介です。この議論は長いことされているため、プログラマ間では「タブ派」、「スペース派」なんていう区別まで生まれています。海外ドラマ「シリコンバレー」でもこの話題が登場しています。 ということで、Googleグーグル)のデベロッパーFelipe Hoffaが一体どっちがメジャーなインデント方法なのかを、なんと14のコンピュータ言語で書

    プログラミングのコードを書く時のタブvsスペース戦争がついに決着
    stealthinu
    stealthinu 2016/09/06
    最近だとコードが共有される率が上がってどの環境(タブ幅設定)でもインデントが揃うようにしたいという需要のが高くなったからだろうな。しかしなぜgoだけ?そういう言語上の規約なんてないよね?/フォーマッタ
  • Internet Explorer: SCRIPT7002: XMLHttpRequest: Network Error 0x2f7d, Could not complete the operation due to error 00002f7d

    This problem is driving me nuts. Our web app uses HTTP POST to login users and now IE 10 is aborting the connection and saying: SCRIPT7002: XMLHttpRequest: Network Error 0x2f7d, Could not complete the operation due to error 00002f7d. Here are all the details I have IE version 10.0.9.16618, update version 10.0.6. I've also reproduced this on IE version 10.0.9200.16635, update version 10.0.7. The do

    Internet Explorer: SCRIPT7002: XMLHttpRequest: Network Error 0x2f7d, Could not complete the operation due to error 00002f7d
    stealthinu
    stealthinu 2016/09/05
    IEでHTTPSでajax通信するとたまに0x2f7dで接続できない問題、これが理由っぽいのだがまだちゃんと理解できてない。とりあえずこのappendChild挟めば解決されるのかしら?
  • マイクロにしすぎた結果がこれだよ!

    Microservices Manchester: Serverless Architectures By Rafal GancarzOpenCredo

    マイクロにしすぎた結果がこれだよ!
    stealthinu
    stealthinu 2016/08/10
    マイクロサービスは良いばっかじゃなくて、少人数やスピード重視の新規事業には向かず、サービス規模がでかくてスケールする必要があるときに意味が出てくる、という指摘。
  • いつ突然会社をやめても問題ないという基準でコードやドキュメントを書く - $shibayu36->blog;

    先に前提を話しておくと、会社は全く辞めるつもりはないし、むしろどんどん会社を良くしていこうと思っている。今回はそういう基準で自分がコードやドキュメントを書いていますよという話。 コードやドキュメントを書く時に、どのくらいきれいにしておくかとか、どのくらいわかりやすくしておくかとかを考えることがある。こんなとき僕は、いつ突然自分が会社をやめて連絡がつかなくなったとしても他の人がある程度理解できるか、を基準にしている。そのためにはあまりいい方法が思いつかなくて仕方なく書いている部分にはちゃんと経緯のコメントを書く。他にも例えば作ったサービスであるイベントを開催する方法のドキュメントを書くなら、全く何もやったことがない人がそのドキュメントを読んだらとりあえず開催できるよう、ドキュメントを書く。当然コードもかっこよさよりも、説明しなくても分かりやすくなるようなシンプルさを追求する。 また、このよう

    いつ突然会社をやめても問題ないという基準でコードやドキュメントを書く - $shibayu36->blog;
    stealthinu
    stealthinu 2016/08/05
    この考え方はとても参考になる。が、そもそも引き継いでくれる人が見当たらないような環境だとどうしょうもなかったりもする。
  • 綺麗なAPI速習会 - Qiita

    Wantedly Engineer blogに速習会資料を閲覧向けに再編しました! ぜひご覧いただけると幸いです! 記事は、綺麗なAPI速習会@Wantedlyの資料として作成されたものです。 同時にこちらのコードも参照してください。 マイクロサービス 流行りのマイクロサービス、何がいいのか 各々自由な言語やArchitectureでサービスを立てられる 障害の影響が部分的 変化に強い 個別デプロイ etc... マイクロサービス化をすすめるにあたり、やりとりは全てAPIで行う 内部のAPIであっても外部に公開できるようなクオリティのAPIを作成し、それを元にサービスを作っていくことが重要 APIGatewayとBFF API Gateway Pattern 公式サイトより 「見た目はモノリシック、実装はマイクロサービス」 一箇所見に行けば全てのAPIを見つけられる 細かい権限管理も可

    綺麗なAPI速習会 - Qiita
    stealthinu
    stealthinu 2016/08/05
    これはよい。あと最初の図のマイクロサービスとコンテナサービスとの相性の良さがわかりやすい。
  • Big Sky :: golang の遅いコードをたった1行で高速化するテクニック

    記事中に間違いがありました。数倍も速くはなりませんでした。確か 1.0X ~ 1.1 倍程度の高速化は得られましたがびっくりするほどの物ではありませんでした。すみません。 そろそろ Go1.7 がリリースされるそうですが、皆さん如何お過ごしですか。Go 界隈の波平こと mattn ですこんにちわ。バカモー(略 Go1.7 ではコンパイラの最適化が行われ、ビルド速度がかなり短縮される様になりました。毎日ビルドしてる僕としては非常に嬉しい機能改善ですね。 さてとてもキャッチ―なタイトルで釣ってしまった訳ですが、気にしたら負けなのでどんどん話を進めます。 var t [256]byte func f(b *[16]byte) { for i, v := range b { b[i] = t[v] } } 例えばこのコードを見て下さい。このコードはココから拝借しました。issue の内容はスコー

    Big Sky :: golang の遅いコードをたった1行で高速化するテクニック
    stealthinu
    stealthinu 2016/08/04
    golangでのパフォーマンスチューニング。goroutineでよそから使われる可能性があるためLEAQを発行するので遅くなるからスコープ内にするチューニングで速くなる。
  • チーム開発で暗黙的に行なわれている批評というプロセス - snoozer05's blog

    Pull Request を通して行うコミュニケーションに「レビュー」という言葉がつくことに違和感を感じるときがあります。 Wikipediaコードレビューを引くと、「見過ごされた誤りを検出・修正することを目的として体系的な検査(査読)を行う作業 」とあります。もちろん、これを目的として行うやり取りもあるのですが、その手前の「コードや設計について議論し、もっと良い判断を探る」ために行うコミュニケーションもあると思います。むしろ、そちらのコミュニケーションをやりやすいことが、Pull Request というプラットフォームが提供する価値なのではと感じることが多いのが、違和感の元かもしれません。 2015年6月に O'Reilly から出版された「Discussing Design: Improving Communication and Collaboration through Crit

    チーム開発で暗黙的に行なわれている批評というプロセス - snoozer05's blog
    stealthinu
    stealthinu 2016/08/04
    レビューでは『フィードバックに問題解決を含めない』そうなのか。全くそういう意識がなかった。
  • DI・DIコンテナ、ちゃんと理解出来てる・・? - Qiita

    意外と分からずに、「とりあえず」とか「なんとなく」で使っちゃうパターンが多い系案件な気がして書いてみます。 こんな事ありませんか? DIとDIコンテナの違いを説明出来ない DIとサービスロケータの違いを説明出来ない DIを使ってるつもりが、サービスロケータになっている DI、サービスロケータが、ただの「パターン」の1つであることを理解してない DI(Dependency Injection)を正しく理解する そもそも、Dependeny Injectionを日語にするとどういう意味になるでしょうか。 多くの人が「依存性の注入」とか応えるのではないでしょうか? 私もそうでした。きっと何かで読んだのでしょう。 (wikipediaに「依存性の注入」と書いてありますね) 補足 なぜ依存性を注入してあげると良いのか、そのメリット等は後述しますが、 DIというのはただのパターンの1つです。 たまに

    DI・DIコンテナ、ちゃんと理解出来てる・・? - Qiita
    stealthinu
    stealthinu 2016/08/03
    DIの話をPHPでやってくれてるところがよい。DIと言えばJavaばかりだから。
  • Kotlin学習の知見のかたまり「Kotlinスタートブック」はサイコーのKotlin入門本です - visible true

    Kotlinスタートブックを献頂いたので感想を書きます。 Kotlinスタートブック-新しいAndroidプログラミング 概要 KotlinスタートブックはJavaエンジニアおよびAndroidアプリケーションエンジニア向けにKotlinの基を解説するです。Kotlinの文法や機能を広範囲にわたって身に付けられます。また後半にはAndroidアプリケーションへKotlinを適用する例を解説する章があり、Androidアプリケーションにどのように導入するかイメージをつかむことができるでしょう。 こんな人におすすめ Kotlinを効率的に学習したいひと Android Javaに疲れたひと Android Javaはやりたくないひと AndroidはまぁJava 8でいいじゃん、と確認したいひと 解説 Kotlinについて「聞いたことがある」とか「ちょっと触ったことがある」とかいった人に

    Kotlin学習の知見のかたまり「Kotlinスタートブック」はサイコーのKotlin入門本です - visible true
    stealthinu
    stealthinu 2016/08/02
    Kotlin本。すごくよさそうっぽい。
  • PHPのround関数とは一体なんだったのか - hnwの日記

    (7/3 14:05追記)Javaに関する記述について誤認があったので盛大に書き換えました。Java 6、Java 7、Java 8それぞれで実装が変わっていたようです。 (7/13 23:55追記)記事中ではroundを四捨五入と言い切ってしまっています。これは筆者がC99のroundを基準に考えているためですが、言語によっては偶数丸めになっているround関数も珍しくありません。ご注意ください。 PHPのround関数について、ネット上で次のような記述を見つけました。 PHP 四捨五入の計算を間違える唯一の言語として畏れられていましたが、そのバグは治っているかもしれません(治ってないかもしれません) 主要なプログラミング言語8種をぐったり解説 - 鍋あり谷あり 各言語を面白おかしく紹介する内容とはいえ、ずいぶん雑な理解だなーという印象です。ゆるふわな話だけでPHPがdisられ続けるの

    PHPのround関数とは一体なんだったのか - hnwの日記
    stealthinu
    stealthinu 2016/07/04
    なるほど四捨五入も実はむつかしいのだな。こういうのを簡単に扱えるようにするにはそもそも内部10進演算でやるしかないのか。
  • IBM Knowledge Center

    stealthinu
    stealthinu 2016/06/28
    COBOLでXMLパーサーなんて書けるの!?と思ったがXMLパーサーがCOBOLで書いてあるわけじゃなく、専用ステートメントでXMLパーサーが呼びだされてCOBOLのデータを返すというものらしい。