#yidev 横浜 iPhone 開発者勉強会の第20回目で発表しようと思って用意した、クラス継承の特徴とプロトコル拡張の特徴の違いをざっくり比較してみたスライドです。 スライドだけだと足りない部分もあるかと思いますけど、せっかくなので公開しておきます。
C 言語などでビットの定義を行う場合、 ビットシフト(<<)も使いますが、 16 進数で表記することも多いです。 何故 16 進数で記述するかというと 16 進数は 2 進数に変換しやすいためです。 C 言語でゴリゴリ書くのが主流だった時代は、 結構みんな独自の計算方法を持っていて、すぐに 2 進数に変換していました。 しかし、最近ではこの変換をできない人が増えてきた気がします。 そこで今回は私がやっている暗算で 16 進数を 2 進数に変換する方法を紹介したいと思います。 ただ、魔法のような便利な方法があるわけではなく、掛け算における九九のように暗記よる部分が多いです。 進数表記の基礎 まず最初に進数表記について簡単に説明します。 進数表記の種類としては 16, 10, 8, 2 進数などがあり、 通常、私達が使っているのは 10 進数です。 2, 8 進数などの場合、たまに 2, 8
あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。
(注記:7/15、いただいた翻訳フィードバックを元に記事を修正いたしました。) 子供の頃、私の興味は互いに関係性のない様々な分野に及んでいました。数学も歴史も大好きでした。 ルネッサンスマン 、つまり 博学者 と言う、複数の分野に秀でた人になりたいと思っていました。これはとても難しい課題で、私は突如として、器用貧乏な人になってしまう危機に直面したのです。 私は特定の分野に特化しなくては、と考え始めました。そうすればたとえルネッサンスマンにはなれなくても、少なくとも、器用貧乏にならなくても済むと思ったのです。どうしたらソフトウェア開発をするのに必要な広い知識を保ちながら、1つの分野で専門性を高めることができるのでしょうか。 この記事では、過去5年間、私が良いJavaScript開発者になるために使ったテクニックとリソースの概要をお伝えしようと思います。 最近の多くのWeb開発者は、ある共通の
MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました いかなるソフトウェアであってもバグはつきものです。バグがなかったとしてもそれは単に見つからなかったり大きな問題につながらないだけで、いつかは露見することになります。 Facebookが作ったInferはそんなプログラミングコードを静的に解析するソフトウェアで、アプリのバグをいち早く発見するためのツールになります。 Inferの使い方 例えば以下のようなコードがあります。これはjavacでコンパイルできるコードです。 // Hello.java class Hello { int test() { String s = null; return s.length(); } } これをInferにかけるとエラーが表示されます。 $ infer -- javac Hello.java H
Hatada's Home Page トップ デジタル回路 音響・音声信号処理 言語処理 機械学習&整数計画 数学・アルゴリズム C言語 & C++ Windows C .NET & C# Java JavaScript PS & WSH & VBS Python アセンブリ言語 シェル&バッチ HTML & CSS ネットワーク データベース LibreOffice FP 新地図システム 地図システム 画像 システム 資料・リンク 雑記 旧版倉庫 索引 C言語入門 マクロ データの読み込み(scanf関数) 数値・文字列変換 算術演算 論理演算 ビット単位のAND/OR演算 シフト演算 配列 配列をポインタで走査する 構造体 共用体(union) ポインタ アルゴリズム 多角形に点が含まれるかどうか判定する シャッフル(配列の要素をランダムに並び替える) ファイル ディレクトリ内のファイ
求められるライブ設計力! 私が勤めているソニックガーデンでは、ライブ設計力というものが求められます。 というのも、お客さんの要望を聞いている間に、ある程度自分の中でデータの構成を考えて、 ミーティング中に実装で必要な情報が揃っているのかを常に考えなければなりません。 ソニックガーデンでは、受託開発で 要件定義をしない ことを実践しています。毎週ミーティングをして、 その週に必要な開発だけを実装します 。そのため、 要望を聞く ↓ 一度会社に戻ってタスクの見積もりを出す ↓ これでよいか顧客先に尋ねる という流れを同じミーティング内でおこない、その場で設計ができていないといけません。 なぜ、この方法でうまくいくのか気になった人は弊社代表倉貫の著書に詳しく書かれていますのでご一読下さい。 「納品」をなくせばうまくいくソフトウェア業界の”常識”を変えるビジネスモデル 私は修行中の身で、技術的にも
ポール・グレアム「普通のやつらの上を行け」 普通のやつらの上を行け ---Beating the Averages--- ポール・グレアム氏は「普通のやつらの上を行け」(上記参照)というエッセイで、言語の選択の重要性(とLisp推し)を述べている。 かんたんにまとめておくと、彼の会社は開発言語にLispを採用したため、ライバル会社よりも高速にWebサービスをリリースでき、商業的に成功したという話だ。 Lispは難解だが強力な言語で、ハッカー御用達の言語とよく言われる。難解で習得者が非常に少ないため、使用しているライバル会社がほとんどなかったわけだ。 Lispを採用するかどうかはともかく、言語の選択が重要であることについては、私は完全に同意する。 これは当たり前のことを言ってるようで、意外とそうではない。「どの言語でも、たいして変わらない」という認識もけっこう根強くある。 最初の学習言語は何
久々にブログ書きます! まずAWSには現在アソシエイトレベルで3つ、プロフェッショナルで2つの認定があります。 でもってタイトルのDevOpsはプロフェッショナルの方になります。 詳しくはここ http://aws.amazon.com/jp/certification/ ウチの会社はAWSのプレミアコンサルティングパートナーを頂いておりまして、仕事の殆どが AWSの設計・構築・運用となってます。という事で毎日AWSばっかりさわってます。 ただ最近はお客様先に訪問したり、社内組織作り的なお仕事が多くなってきてしまいまして 自分の技術力がめっきり落ちているのでは?最近入って来たエンジニアにはアイツ偉そうに してるけど、実は何も分かってないんじゃね?と思われていると勝手に思い込んでます(笑) と、いう事で技術力の再チェックと、エンジニアである証明(みんなにアピール)をするために、 6月の「AW
The state of sbt 0.13, sbt server, and sbt 1.0 (ScalaMatsuri ver)
hello world printf "hello world!" # 末尾改行なし => hello world! print "hello world!" # 末尾改行なし => hello world! puts "hello world!" # 末尾改行あり => hello world!¥n p "hello world!" # 形式がわかる => "hello world!"¥n 変数 lang = "Ruby" # 変数 lang = "Java" # 書き換えOK LANG = "Ruby" # 定数(先頭大文字) LANG = "Java" # 書き換え不可。エラーとなる 数値 http://ruby-doc.org/core-2.1.3/Numeric.html(v2.1.3) http://ruby-doc.org/core-2.1.3/Float.html(v2.1
LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog saegusa2017-04-16Yoshihiro was a network engineer at LINE, responsible for all levels of LINE's infrastructure. Since being named Infra Platform Department manager, he is finding ways to apply LINE's technology and business goals to the platform. こんにちは。LINEでネットワークやデータセンターを担当している三枝です。2017年1月にJANOG39で登壇する機会を頂きましたので、今回
Webサイトのコード、アクセシビリティ、ソーシャルマーケティング状況などを無料で評価してくれるツール「Nibbler(ニブラー)」 URLを入力するだけで、サイトのコードチェックや、アクセシビリティ、ソーシャルマーケティングの状況など、様々のことを評価してくれるツール「Nibbler(ニブラー)」を試してみました。 評価レポートしてくれる分野がかなり広いですし、レポートの内容も適切だと思うので、サイト改善を行うときの参考に試してみるには良いツールになりそうです。 「Nibbler(ニブラー)」のレポートは全体評価と項目ごとの評価で見やすい!全体のレポートとして表示されるのは全体の評価、サイトの使いやすさなど5項目。それぞれ10点満点で評価をしてくれます。 それぞれ個別の項目の内容についても評価してくれます。男子ハックはコードが全然ダメということがよくわかります...。 またこれらのレポート
rails 自分が rails をさわり始めたときはバージョン1からバージョン2に変わるあたりだったのですが、バージョン2が出た年を振り返るとなんと2007年でした。 月日の流れが速い事に驚く中、早く知ってたら良かったのになぁって事をつらつらとまとめてみました。 最近 rails さわり始めてみたよ!って方の参考になれば良いなと思います。 今回は便利な gem とかではなく、素のrailsで出来ることを挙げています。 ちなみにバージョンは以下の環境です。 About your application's environment Ruby version 2.1.3-p242 (x86_64-darwin14.0) RubyGems version 2.2.2 Rack version 1.5 Rails version 4.1.8 rails new したときの app 以下のディレクトリ
Wiredrive では、私たちはかなりの数のコードレビューを行います。しかし、ここで働き始める前には私はコードレビューなどしたことがありませんでした。今回は、私がコードレビューをする時に何に注目するようにしているかや、私の考え出したベストなコードレビューのやり方をお話したいと思います。 コードレビューとは、簡単に言うと2人以上の開発者で問題を引き起こしそうなコードの修正について話し合うことです。コードレビューをすることのメリットについては多くの記事で語られており、知識を共有できること、コードのクオリティが上がること、開発者が成長できることなどが挙げられています。しかし、レビューを行う上で、どのように進めていくかという具体的なことについてはあまり多く語られてないように私は思いました。 レビューで何に注目するか アーキテクチャ/デザイン 単一責任原則 : 1つのクラスは変更する理由が2つ以上
Facebook、静的コード解析ツール「Infer」を公開。Objective-C/Java/Cコードのバグを指摘してくれる Inferが対応するコードはAndroidのJavaとiOSのObjective-C、およびC。現時点ではAndroidとJavaではNullPointerExceptionおよびリソースのリーク。iOSとCコードではメモリーリークを発見してくれます。 実際にプログラムを実行することなくバグを発見しようとする静的コード解析は、コードをビルドしてテストプログラムなどを実行するよりも迅速にバグを発見できる方法として期待されています。 Inferも、Facebookがより早く高い品質のソフトウェアをデリバリする目的で開発されたものです。下記はInferを発表したブログ「Open-sourcing Facebook Infer: Identify bugs before y
PHP7では無名クラスが導入されます。 PHP7調査(26)無名クラスの導入 - Qiita これ、単に構文だけの話にせず、「クラスの第3の能力が単独で切り出された」と捉えると面白いのかなと思いました。 クラスが持つ3つの役割 クラスが持つ3つの役割 - 西尾泰和のはてなダイアリー 「コーディングを支える技術」の西尾泰和氏によると、クラスには ユーザー定義型 実装の再利用の単位 インスタンス生成器 の3つの役割があるといいます。 クラスが扱いづらい概念だとすれば、それはこの3つの能力をまとめて持っているからです。 PHPのユーザー定義型、インターフェース PHPの場合、タイプヒントがありますし、定義したクラスは後から拡張することができません(オープンクラスではない)。 if ($obj instanceof FooClass) { //... } この「$objがFooClassのインスタ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く