多次元リストのソートってよく使う機能だと思うんですが、pythonのソートってよく考えて作ってあるなぁと関心しました。 例えば、次のような「生徒の成績リスト」があったとします。 # 配列の並び順 [名前],[国語],[算数] a = [ ['Tim', 55, 46 ], ['Jack', 55, 70 ], ['Mathhew', 23, 80 ], ] そこで、リスト2番目の値である「国語」を、点数が高い順にソートするしたい場合は、以下の用になります。 >>> sorted(a, key=lambda x:x[1], reverse=True) [['Tim', 55, 46], ['Jack', 55, 70], ['Mathhew', 23, 80]] ちなみにcmpパラメータではなくkeyパラメータを上書きしたのは高速化のためです、念のため・・・ 結果を見ると「Tim」と「Jac
RangeTouch - A super tiny library to make input type='range' sliders work better on touch devices 範囲指定のスライダーUIを簡単に実装できる「RangeTouch」 次のようなタッチデバイスでも動作するようなフォームUIを input type="range" のように記述して実現できるようにする軽量なライブラリです 関連エントリ Bootstrapのパラメータ入力スライダー実装「bootstrap-slider」 レスポンシブで階層的なスライダーナビゲーション実装jQueryプラグイン「yohoho.slyder」 CSSアニメーションを使ったレスポンシブスライダー実装「Jcslider」
はじめに 他の言語には幾つか触れていますが、最近になってPythonに入門した者です。 その学習過程において、他言語と比べて気になった機能を中心にいくつかピックアップして、12項目(+おまけ1)にまとめてみました。 各項目はほぼ独立していますので、飛ばして読んでも問題ありません。 (Qiitaには目次機能がありますから飛ばし読みも楽ですね!) 動作はPython 3.5.1のインタープリターで確認しています。 空の関数を定義(pass文) 空の関数などを定義するとき、関数の本体を括るのに波括弧({})を使う言語であれば一切迷うことはないのですが、Pythonは括弧を使わずインデントでブロックを表すので、どうすれば良いのか直観的には分かりません。 結論から言うと、pass文を使います。 ちなみに、ここでは書いていませんが、空のクラスの場合も同様です。 7.4. pass 文 (7. 単純文
Vue.js is described as a "boring" framework that helps developers get work done without unnecessary complexity. It borrows best practices from other frameworks like React but aims to have simpler dependencies and templates. Vue.js uses reactive templates that can be written with plain JavaScript or JSX, and allows separating component logic from presentation with single file components. It also av
本連載では主にHTML/JavaScript開発作業を効率化する様々なツールやライブラリを紹介します。前回紹介したBrowserifyは、Node.jsのモジュール依存解決に利用されるrequireメソッドを含むJavaScriptコードを変換して、Webブラウザでも動作させられるツールです。今回はコマンドラインオプションやAPI、Watchifyの変更監視機能、gulpと組み合わせた利用など、Browserifyの応用的な利用例を説明します。 はじめに Node.jsで実行するJavaScriptでは、モジュール同士の依存関係をrequireメソッドで自動的に解決できますが、requireメソッドを含んだコードは一般のWebブラウザでそのまま動作できません。そこでBrowserifyを使うと、JavaScriptコードを変換して動作させることができます。 前回記事ではBrowserify
前回→Selenium WebDriverで実践的テストケースを作成する(Java編) 皆さんこんにちは。 最近は家事もこなす在宅ワーカーとして活動している中野です。 前回に引き続き、今回もseleniumを取り上げます。 「Selenium WebDriver」は複数のスクリプトで実行が可能ですが、 今回はnode.jsを使ってみます。 環境設定 (1)node.jsのインストール https://nodejs.org/en/download/ ローカルのマシンにあわせて、適切なインストーラをダウンロードして下さい。 ターミナルで $ node -v と入力して、バージョンが表示されれば成功です。 (2)selenium webdriverのインストール $ npm -g install selenium-webdriver (macの場合、事前にxcodeをインストールしておく必要があ
WebサイトのHTTPS対応が推奨されている昨今、無償かつ自動でSSL(TLS)証明書の発行や更新ができる「Let's Encrypt」が注目を集めている。Web系エンジニアを主な対象として、その仕組みやメリット、デメリットを解説。 連載目次 「Let's Encrypt」とは、SSL(TLS)に利用できるサーバ証明書を無償で発行している認証局またはサービスのこと。2016年4月から正式なサービスを開始した。MozillaやAkamai、Cisco Systemsなどが支援しているISRG(Internet Security Research Group)という団体が運営している。ソフトウェアツールによって証明書の更新などの作業を自動化できる点も特長として挙げられる。 SSLの普及を妨げている2つの要因 現在、プライバシー保護やセキュリティ強化の一環として、クライアントとWebサイトやメー
JavaScirpt でマウス座標(位置)を取得する JavaScirpt でマウス座標(位置)を取得方法をメモ。取得する方法は2 種類あるようです。 (clientX, clientY) と (pageX, pageY) の違いと、 (getBoundingClientRect().left[top], getBoundingClientRect().top) と (offsetLeft, offsetTop) の違いをまとめておきます。 サンプル ドラッグでCanvas 上に線を引けるサンプルです。その下にマウスの座標値が表示されます。 cartman0.github.io コード JavaScript でマウス座標を取得し、Canvas上に線を描画 clientX[Y] と getBoundingClientRect().left[top] Canvas 上の座標を求めるコードを以下
Xcode7からテストツールの機能が追加されたのですが、今回はUIの自動テストの使い方のまとめです。 プロジェクトのtargetに「iOS UI Testing Bundle」を追加 テストコードを実装する XCTestCaseのテストクラスが追加されるので、ここにテストケースを実装する Xcode下部のレコード機能で画面操作を記録する 今回はこの機能を使って、UIのテストコードを作成します。 この機能は画面で操作した内容をそのままXCTestCaseのコードに落とし込みます。 今回は以下のような画面構成のアプリで簡単なUIテストを実施します。 確認する動作は以下の通りです。 Fisrtの画面でNextをタップ Secondの画面でナビゲーションバーのバックボタンをタップ Fisrtの画面でNextをタップ Secondの画面でNextをタップ Finishの画面でナビゲーションバーのバッ
2016 - 06 - 01 常識なんてクソ食らえ!最高にクレイジーなプログラミング言語4選+α テクノロジー テクノロジー-雑学・トリビア SPONSORED LINK シェアする Google Pocket LINE こんにちは、NAEです。 プログラミング教育という言葉をよく聞くようになりました。そろそろプログラミングを勉強しようかな、という方もいらっしゃると思います。 CやC++、JavaやJavascript、Python、Ruby、GoLang・・・有名便利で使いやすい言語は実にいろいろあります。さて、それらとは一線を画した キワモノプログラミング言語 が存在するのをご存知ですか? 今回はそんなお話。 プログラミング言語とは プログラミング言語とは、 アプリやシステムで実行される処理を記述するための言語 です。コンピュータに対して命令を下し動かすための指示書を書くための言葉、と
スプラッシュ iOSだとLaunchScreenとか言われる、起動時に出てくる画面です。 Androidだと、ユーザに無駄な待ち時間を与えるということで不要だと言われてたのですが、最近はGoogle製のアプリが、軒並みスプラッシュを入れてきています。 Bottom Navigationのことといい、考え方が変わってきたのでしょう。 Android開発を行う以上、プラットフォームが出すガイドラインに合わせるのが、結果的にユーザに良い体験を与えることにつながります。 スプラッシュについては、iOSと同様に、LaunchScreenというPatternで紹介されています。その実装方法を紹介します。 Activityあり SplashActivityなどを用意して、起動時に呼び出します。 なんらかの処理や、一定時間を経過した後にメインのActivityを起動させます。 DelaySplashAct
NAS初心者のためのSynologyファイルサーバ使いこなし術:個人のファイルはどのフォルダに保存? バックアップは?(1/5 ページ) NASはLANケーブルを用いて接続するとはいえ、基本的にはファイルを保存するためのHDDそのものであり、PCの内蔵HDDや、USB接続などの外付HDDと同じように利用できる。例えば「data」という共有フォルダを作り、その中にあらゆるファイルを放り込んでいくだけで構わない。実際、このようにしてNASを使っているユーザーは多いはずだ。 もっとも、すべてのファイルを1つのフォルダにまとめて保存するよりも、ファイルの種類ごとに専用のフォルダに保存したほうが分かりやすい上、NASアプリの機能を使ってスマホから参照したり、メディアファイルを快適に再生したりと活用が容易になる。ファイルの種類に応じたバックアップが取りやすいといった利点もある。 ここではSynolog
JavaScriptはWebサービスやWebサイトで使われるプログラミング言語だ。 主に動きのあるユーザーの画面を作るときに使われる。カーソルを当てるとメニューが開いたり、ボタンをクリックすると動き出すページには基本的にJavaScriptが使われている。 しかし、実はJavaScriptでできることはそれだけではない。様々な分野で活躍するプログラミング言語だ。 このページではJavaScriptでできることを初心者の方向けにまとめてみた。JavaScriptに関心がある方は参考にしてみてほしい。 JavaScriptというプログラミング言語の特徴とは? できることを紹介する前に、JavaScriptの特徴を見ておこう。 JavaScriptとはInternet ExplorerやChromeなど、インターネットを見るブラウザというソフトの上で動くプログラミング言語だ。 画像が横に動くスラ
何が辛いのかとそのツラミを減らす方法について説明してみます(今すぐ導入したら解決!みたいなのはまだちょっと出せてないです)。 TL;DR→ライフサイクル理解してるぜ!という人はベストプラクティスからどうぞ・・! 前提1: Androidのコンポーネントとプロセス Androidの主なコンポーネントはActivity, Service, Content Provider, Broadcast Receiverです。これらはアプリをまたがると原則別のプロセスになります。 また、あまり知られていないことですが、AndroidManifest.xmlに記述することで1つのアプリ内でも別のプロセスとして起動することができます。逆に、特別な設定をすれば同じプロセス内で2つのアプリを実行することもできます(普通しない)。 https://developer.android.com/guide/compo
今年の2月末に、Ruby on Railsに潜在的なリモートスクリプトインジェクションの脆弱性CVE-2016-2098が報告されています。攻撃コード(PoC)も公開されていますが、現実の攻撃が行われているという発表はないようです。この脆弱性の内容と対策について報告いたします。 背景 Hello Worldのような以下のシンプルなアプリケーション(コントローラ)を考えます。 class HelloController < ApplicationController def index render 'hello/hello' end end これに対するテンプレート hello/hello.html.erb は以下だとします。 <div>Hello world</div> ご覧のように、上記テンプレートを指定した場合、Hello worldが表示されます。 次に、以下のテンプレート hel
オプトインキュベートは6月1日、スマートフォンで撮影した写真を売買できるマーケットプレイス「Snapmart(スナップマート)」の提供を開始した。当初は、人気インスタグラマー100人以上が写真を出品する。アプリはiOSのみで、今後はAndroid対応も検討する。 ターゲットはスマートフォンで写真や動画を撮ることが好きな、10代後半~30代の女性。ユーザーは、これまでInstagramなどのSNSに投稿するために撮影していた写真を企業に買い取ってもらえるようになる。使い方は専用アプリで写真を選んで出品するだけ。公序良俗に反する写真でなければ、基本的に売ることができるという。 出品価格は100円に設定されており、免許証やパスポートなどの本人確認書類を撮影して提出すると、価格を1000円まで自由に設定できる。写真が購入されると、代金の50~70%が出品者の収入になる。なお、販売できるのは18歳以
Joel Spolsky氏の新サービス「HyperDev」ベータ公開。アカウント不要、Git不要、サーバ申込不要、OSやミドルウェア不要。超簡単なフルスタックのWebアプリ開発環境 元マイクロソフトのプログラマで、エンジニアのコミュニティStackOverflowを立ち上げたジョエル・スポルスキー(Joel Spolsky)氏が、新サービス「HyperDev」をベータ公開しました。 HyperDevはWebブラウザから使えるWebアプリケーションの統合開発環境です。バックエンドにはNode.jsも立ち上がっています。 スポルスキー氏はHyperDevの特長を次のように説明しています。 アカウント作成不要 Git不要、そのほかのバージョンコントロールも不要 ネームサーバなどの操作不要 ホスティングへの申し込み不要 サーバのプロビジョニング不要 OSやLAMPやNode.jsサーバなどあらゆる
phi I'm a Game Programmer and Frontend Engineer passionate about programming education. Math / C / C++ / C# / JavaScript / HTML5 / CSS3 / Python はじめに 「webpack インストールしといてー」, 「gulp 導入して watch しながら開発してー」, 「React だから ES6 でコード書いてー」 最近こんな会話が当たり前のように現場で飛び交っています. フロントエンドの開発者には HTML, CSS に特化している人 (coder, markup engineer) JavaScript は得意だけど CSS はちょっと弱い人 (javascripter) HTML, CSS, JavaScript 全てを統べる者 (frontend
お金の悩みといえば、今やどの世代にも共通するのが「老後資金」の問題。この頃は、20代の若い方から「老後のお金が心配です」と相談を受けることも珍しくありません。一方で、「そんなに早くから準備しなくてもいいのでは……?」といった声も。そこで今回は、老後資金はいつから貯めればいいのか、実際にいくら必要になるのかをまとめて解説していきましょう。 老後資金の蓄えはなぜ必要なのか そもそも、なぜ老後資金を蓄えておく必要があるのかということから確認してみましょう。例えば厚生年金の場合は、現役世代の収入の半額を、国民年金と厚生年金で賄えるような設計になっています(夫婦と子供2人の平均的な家庭を想定。大学を卒業した22歳~60歳まで、すき間なく厚生年金を納めていたことが前提)。つまり、残り半分のお金は自分で用意する必要がある、ということです。 また、今後は昔のように公的年金に頼ることができなくなると予想され
※ キャンペーンは終了しました。多数のご参加をいただきまして、誠にありがとうございました。結果発表はこちらから iOS・Androidアプリがカラースターに対応したことを記念して、豪華プレゼントキャンペーンを実施します! 6月8日(水)23時59分まで、はてなブックマークのアプリからこのページをブックマークするともれなく全員に「グリーンスター」を、「カラースターあるある」をTwitter連携でコメントすると、さらにレア度が高いカラースターが当たります! 詳しい応募方法はこのエントリーの最後をご覧ください。是非この機会にキャンペーンに参加して、カラースターを使ってみましょう。 カラースターって何? カラースターとは、ブックマークやコメントに付けて気持ちを伝えられる星の形をしたアイテムのひとつです。はてなブックマークで見つけた面白いエントリーやブックマーク、コメント、はてなブログ記事など、はて
VISION 旅で世界を、 もっと素敵に。 TABIPPOは「旅」を広める会社です。世界一周のひとり旅を経験した旅好きなメンバーが、世界中を旅する魅力を若者に伝えたいという想いで、2010年に設立しました。4年後の2014年には株式会社となり、旅を軸として事業を多角展開しています。 少しでも理念に共感していただける方は、僕らの目指すビジョンを共に創り上げていきましょう。 理念・想い ABOUT US 若者が旅する文化を創ること、そして、旅で人生が豊かになる仕組みを創ること。そうすることで、僕らが生きるこの世界をちょっとでも素敵なものにしたい。それがTABIPPOの信じる、そして目指す世界観です。 理念・想い OUR BUISINESS 旅を軸として、 事業を多角展開。 TABIPPOは「旅」を広めることからはブレずに、事業を多角展開している会社です。領域を絞らずに事業を拡大していくことで、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く