タグ

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

  • エラーメッセージの読み方と対処, 検索や質問の原則 - Qiita

    プログラミングをしている限り, エラーメッセージに遭遇するのは避けられないことだ. そこで, あなたは周りのできる人に「エラーが出ました」と言って "答え" を聞こうとするだろう. でも, もし聞ける人が誰もいなかったら? もし, 周りの誰にもわからないようなエラーにぶつかってしまったら? あなたが一人前のプログラマになるためには, 自分でエラーメッセージを読んで, 解決できるようにならなければならない. どういうエラーメッセージが出たときは何が原因で, どのように対処すれば解決するのか. その知識・経験の積み重ねこそがあなたを一人前のプログラマにするのだ. これは安直に "答え" だけを追い求めていてはいつまで経っても身に付かない. エラーメッセージの大原則 まず最初に頭に入れておくべきなのは, エラーメッセージは意味不明な暗号ではない ということだ. その実, エラーメッセージはかなり

    エラーメッセージの読み方と対処, 検索や質問の原則 - Qiita
    mak_in
    mak_in 2019/01/24
  • Not Found

    mak_in
    mak_in 2019/01/20
  • Java 11 時代の Java プログラミングスタイルガイド - Qiita

    Java のリリースサイクル が変更され、2019/01 現在の Java の最新バージョンは早 11。文法面での改善も進んでおり、モダンな Java のスタイルにも変化が見られる。この記事では Java 11 時代におけるモダンな Java プログラミングのスタイルをまとめてみたい。 筆者の主観を多分に含むため、その点ご注意を。 var(ローカル変数の型推論) var を積極的に利用する。 Java 10 で導入された var によるローカル変数の型宣言だが、基的には使用できる場面では積極的に使用するというスタンスでよいだろう。モダンな言語の多くは同様の型推論を採用しているが、それで問題になったという話は聞かない。 高度に訓練された Java プログラマーにとっては左辺の型定義など IDE が自動補完してくれるので便利さを感じないという意見には一理あるのだが、コードを読むときに限っては

    Java 11 時代の Java プログラミングスタイルガイド - Qiita
    mak_in
    mak_in 2019/01/11
  • 変更に強いアーキテクチャについてIT業界19年目の僕が超ザックリ説明する - Qiita

    この記事は、設計・アーキテクチャ Advent Calendar 2018 の第7日目の記事である。 はじめに この記事では、IT業界19年目の僕が実践している変更に強いアーキテクチャについて、出来るだけ難しい表現を避け、教科書的なありきたりな内容ではなく現場の肌感覚に近い切り口で「超ザックリ」な解説を試みてみようと思う。 普段自分がよく用いている実装パターンの紹介ともいうべきかも知れない。 この記事で説明すること いざ「変更に強いアーキテクチャとは」とズバリ訊かれても、一概に「これだ!」という答えはない。 プログラミング言語や、フレームワークによっても条件が異なるし、利用可能な技術や開発チームの特性、業務要件や運用要件の特性によっても様々であるし、インフラや開発プロセスまで含めて考えると考慮すべきことは無限にある。 ここでは主にソフトウェアの構造という観点から、"変更に強い" ということ

    変更に強いアーキテクチャについてIT業界19年目の僕が超ザックリ説明する - Qiita
    mak_in
    mak_in 2019/01/03
  • 建設業界とIT業界の差異から組織やアーキテクチャを考える - Qiita

    建設業界とIT業界の差異からアーキテクチャを考える はじめに おはようございます。Kogawaです。 これは設計・アーキテクチャ Advent Calendar 2018の15日目の記事です。 月日が経つのは早いもので、14年ほどSIerで働いてました。 大きなSIプロジェクトにも携わりましたが、順風満帆に終わることは珍しかったです。(*1) IT業界はまだまだ若い業界なので、他業種との差異から吸収できることも多いと思います。 なかでも会社間の関係や構造が似ている、建設業界との差異についてよく考えを巡らせます。 引き合いに出されがちな話と思いますが、一度私なりに纏めておきます。 SIerやユーザ企業の組織や文化に対する視点が多めです。 建設業界にいた経験は無いので、外から見た所感であったり、書籍などから得られたことを基礎として書いています。 非常に狭い視点からの記述なので、実態は違うよ、な

    建設業界とIT業界の差異から組織やアーキテクチャを考える - Qiita
    mak_in
    mak_in 2018/12/31
    建築学科卒&設計事務所でバイト→SIerで10年。感じるいくつかの違いの一つが発注元の基準。建設は危険と隣合せで死亡事故などあるとその発注先企業全体が取引中止1年とか普通なので、ちゃんとフィードバックされる。
  • コードに頻出する語形変化が難しい英単語: register, success, fail, data, statusなど - Qiita

    コードに頻出する語形変化が難しい英単語: register, success, fail, data, statusなど英語 コードによく使われる英単語だが、母語話者でないと語形変化がやや難しいかもしれず、注意して単語を選ばないと変な英語になるかもしれない単語について紹介する。 登録 登録する register 【動詞】 「商品を登録する」 registerItem() 登録した registered 【形容詞】 【動詞過去分詞】 登録された商品 registeredItems 「商品が登録された」 new ItemRegstered() 「登録済みか?」 if (item.isRegistered()) ... 登録 registering 【名詞】 「商品登録状況は承認済みか」 item.registeringState.isApproved 登録 registration 【名詞】

    コードに頻出する語形変化が難しい英単語: register, success, fail, data, statusなど - Qiita
    mak_in
    mak_in 2018/12/31
  • なぜ、組織のつくりとソフトウェアアーキテクチャは似てしまうのか - Qiita

    このエントリーは、Engineering Manager Advent Calendarの25日目、最終日の記事です。 はじめに 拙著「エンジニアリング組織論への招待」では、ソフトウェア自体の構造とソフトウェアを作り上げる組織の構造が似てしまうという「コンウェイの法則」についてたびたび引用しました。 この「コンウェイの法則」は、ある一定規模の組織で働いたことのあるエンジニアであれば、実感を持って捉えることができるのでしょう。 しかし、何故、どのような力が働いて、「組織構造」と「ソフトウェアの構造」が似通ってきてしまうのかと問われると説明の難しいものです。 拙著においては、ロナルド・コースの取引コスト理論をベースに、社内取引においても取引コストが存在し、その取引コストがソフトウェアの構造をも変えていくという説明を行いました。 記事は、さらに踏み込んで、組織やビジネスに働く力学と、システムで

    なぜ、組織のつくりとソフトウェアアーキテクチャは似てしまうのか - Qiita
    mak_in
    mak_in 2018/12/26
  • C#リフレクションTIPS 55連発 - Qiita

    タイトルの通り、C#のリフレクションのTIPS集です。 これから示すコードは、以下のusingディレクティブが前提のコードとなってます。 using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Reflection; 普段はvarキーワードをよく使ってますが、ここでは変数の型がわかるようにvarキーワードの利用はできるだけ控えています。 それと、いくつかのコードはdynamic使ったほうが簡単に書ける場合もありますが、あくまでもリフレクションのサンプルということでご容赦を。 1. 型名から型情報を得る

    C#リフレクションTIPS 55連発 - Qiita
    mak_in
    mak_in 2018/12/19
  • 高専生が24時間で「格闘技の動画を格闘ゲーム風に自動編集するシステム」を作った話 - Qiita

    皆さんこんにちは!鳥羽商船高等専門学校商船の@Ghanaです! 急にめっちゃカッコいい格闘技が演出したくなったので作っちゃいました! 格闘技の動画を格闘ゲーム風に自動編集するシステム「DaiRanTou」です! 画面を見ればツッコミどころ満載です。システム名とのミスマッチが凄い チームメンバーは4人です。 マネージャー兼プレゼンター1人、プログラマー3人の構成です。 作品、使用技術の紹介と24時間内の開発の厳しさについて語ります。 高専生頑張ってるな!と思っていただければいいね等をいただけると嬉しいです😭 この記事はデータ分析·サイエンス·アナリティクス Advent Calendar 2018の17日目の記事です。 どんな作品? ディープラーニングを用いてパンチやキックを検知し、自動でエフェクトを付与! 打撃を当てると相手の体力ゲージが減少し、体力の多い方が勝者👊 ノックアウト(KO

    高専生が24時間で「格闘技の動画を格闘ゲーム風に自動編集するシステム」を作った話 - Qiita
    mak_in
    mak_in 2018/12/18
  • 心理的安全性ガイドライン(あるいは権威勾配に関する一考察) - Qiita

    はじめに 「心理的安全性」とは、「対人リスクを取っても問題ないという信念がチームで共有されている状態」であるとか、「自分のキャリアやステータス、セルフイメージにネガティブな影響を与える恐れのなく、自分を表現し働くことができること」というような定義がなされています。 心理的安全性という言葉はともすれば、ただ快適で居心地のよい職場という意味にも聞こえます。そのため、ぬるま湯で緊張感のない関係性のことを「心理的安全性が高い」と言うのではないかと考えても不思議はありません。 そのため、友人関係のようにプライベートの時間を長く共有する関係になることが、心理的安全性が高いのだろうと考え、飲み会やバーベキュー、慰安旅行などを企画してみたりとプライベートでも遊ぶ機会を増やそうと考える人もいるでしょう。 いわゆる「アットホームな会社です」とアルバイトの求人記事に書かれているような状態です。こういった求人内容

    心理的安全性ガイドライン(あるいは権威勾配に関する一考察) - Qiita
    mak_in
    mak_in 2018/12/11
  • 【小ネタ】すげー古いLinuxサーバーでGo言語を使うときに注意すること - Qiita

    この記事は Go Advent Calendar 2018 7日目の穴埋め記事です。 シングルバイナリ最高ですよね! Go4 Advent Calendar 2018 の2日目の記事 で、こんなことを書きました: いちいち情シスにおうかがいたてなくても、ホームフォルダにコピるだけ使える!シングルバイナリが作れるGo言語最高ですね! ちなみに、昔書いた別の投稿 でも同じこと書いてました。 俺、どんだけシングルバイナリ好きなんだよ・・・? でも、こんな現象に遭遇したことありませんか? ちょうしに乗って色々なサーバにバイナリをコピーして使ってる私みたいな人の中には、こんな目に遭ったことがある人もいるのでは? myMacbook> GOOS=linux GOARCH=arm64 go build myMacbook> scp ./kaito centos4.8:/home/myhome myMac

    【小ネタ】すげー古いLinuxサーバーでGo言語を使うときに注意すること - Qiita
    mak_in
    mak_in 2018/12/08
  • JavaScriptの概念たち (後編) - Qiita

    この記事について この記事は「JavaScriptの概念たち (前編)」の続きです。来は1つの記事なのですが、あまりにも長くなりすぎたので分割しました。 17. Prototype Chain JavaScriptには2つの特徴があります。1つは「全てがオブジェクト」でもう1つは「prototypeベースの言語だということ」です。 const hoge = { a: "hogehoge" }; console.log(hoge instanceof Object); // -> true const fuga = [1, 2, 3]; console.log(fuga instanceof Object); // -> true const piyo = new Map([[1, 'one'], [2, 'two']]); console.log(piyo instanceof Obje

    JavaScriptの概念たち (後編) - Qiita
    mak_in
    mak_in 2018/12/05
  • C#クイズとその解説 - Qiita

    元ネタはEric Lippertのブログです。コードは少し改変していますが、言っていることは同じです。 A dynamic definite assignment puzzle A dynamic definite assignment puzzle, part 2 class Program { static void Main() { object obj = GetObject(); // ★ string str; if ((obj != null) && ((str = GetString()) != null)) // ◆ { System.Console.WriteLine(obj + str); // ▲ } } static object GetObject() { return "hello"; } static string GetString() { return

    C#クイズとその解説 - Qiita
    mak_in
    mak_in 2018/12/03
  • Swiftのエラーハンドリングはなぜ最先端なのか - Qiita

    Swiftのエラーハンドリングは他のメジャーなプログラミング言語のどれとも異なる新しい仕様を持っています。特に、検査例外を持っているのですが、これはJavaで採用された以降はほとんどの言語で採用されていないため、現代では否定されている過去の間違いだったと広く認識されていると思います。そのため、Swiftユーザーで無い人は、検査例外という言葉をみた瞬間に興味を失ってしまうため、その詳細がなかなか世の中に伝わっていないと感じています。一方、私はこんなSwiftのエラーハンドリングをとても気に入っていて、様々な言語の進化の歴史を踏まえた産まれた最も優れた最先端の仕様だと思っています。この記事ではその考えを説明します。 Javaのエラーハンドリング Javaは検査例外を持っています。これにより、あるメソッドがエラーを送出するかどうかを関数のシグネチャとして静的に表明できます。 // 検査例外の例

    Swiftのエラーハンドリングはなぜ最先端なのか - Qiita
    mak_in
    mak_in 2018/11/26
  • 親Window画面から子Window画面にcallback関数を定義する方法 - Qiita

    var RunCallbackFunction = function() { }; //reference holder only var myPopup = window.open(...); setMyFunction = function() { myPopup.RunCallbackFunction = myFunc; }; //IE使わないならコレ myPopup.addEventListener('load', setMyFunction, false); //IE使うならコレ myPopup[myPopup.addEventListener ? 'addEventListener' : 'attachEvent']( (myPopup.attachEvent ? 'on' : '') + 'load', setMyFunction, false ); JavaScriptで親

    親Window画面から子Window画面にcallback関数を定義する方法 - Qiita
    mak_in
    mak_in 2018/11/13
  • JavaScriptの { } を理解する - Qiita

    結果はどうなったでしょうか。 自分が今使っているGoogle Chromeだとこうなりました。 結果は{a: 10}というオブジェクトです。まあ、これは当然ですね。3 + 5と入力すれば実行されて8が返ってくるのですから、{a: 10}というオブジェクトリテラルを書けば{a: 10}というオブジェクトが作られるのは当然です。 ……。 ここで、一部の人は「おいふざけんなよ」と思っているかもしれません。というのも、この例は環境によっては違う結果になるのです。具体的には、Chrome以外2のブラウザのREPL(FirefoxやEdgeなど)が該当します。あと、ts-nodeのREPLも該当するらしいです。これらの環境では、結果は{a: 10}ではなく次のようになります。 オブジェクトを作ったはずなのに結果が10とか意味不明ですね。そもそも、こんな簡単なプログラムで結果が全然違うとか、JavaSc

    JavaScriptの { } を理解する - Qiita
    mak_in
    mak_in 2018/11/09
  • [ASP .NET MVC 5] ValidationメッセージLocaleを変えたい/多言語化 - Qiita

    Resourceファイルを言語ごとに分けたい場合、ResourceをCultureInfoごとに作っておき、CurrentCulture の設定で切り替えればよい。 Resources ├─ Messages.en.resx └─ Messages.resx CultureInfo culture = CultureInfo.CreateSpecificCulture("en"); Thread.CurrentThread.CurrentCulture = culture; Thread.CurrentThread.CurrentUICulture = culture; よくある間違い ActionFilterに上記処理を記述し、リクエストによってメッセージの切替をする。 通常のRazor(CSHTML)のメッセージの切替は正常に動作するが、ActionFilterより前に実行される

    [ASP .NET MVC 5] ValidationメッセージLocaleを変えたい/多言語化 - Qiita
  • ラムダ式でプロパティ名を取得する - Qiita

    Expression<Func<TEntity, object>> expressionを使う。 プロパティ名を取得できれば、ASP .NET MVC のHTMLヘルパ作りなどが捗る。 Expressionの使い方は、詳しい資料を別途参考にしてください。 public static class ExpressionExtentions { /// <summary> /// MemberExpressionへの変換(string以外の型に対応するため) /// </summary> /// <param name="expression"></param> /// <returns></returns> public static MemberExpression ToMemberExpression(LambdaExpression expression) { var memberExp

    ラムダ式でプロパティ名を取得する - Qiita
    mak_in
    mak_in 2018/11/07
  • [ASP .NET MVC 5] 入れ子のModelのValidationを行う - Qiita

    ASP .NET MVC 5で確認。 入れ子のModelのValidationは効かない。 Attachmentの中のNameAndExtensionとかのRequiredはValidationされない。 public class Email { [Required] public string From { get; set; } [Required] public string Subject { get; set; } public string Body { get; set; } [Required] public EmailAttachment Attachment { get; set; } public Email() { } public class EmailAttachment { [Required] public string NameAndExtension {

    [ASP .NET MVC 5] 入れ子のModelのValidationを行う - Qiita
  • ASP.NET MVCで検証属性のエラーメッセージを一元化する - Qiita

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    ASP.NET MVCで検証属性のエラーメッセージを一元化する - Qiita
    mak_in
    mak_in 2018/10/30