インド人もビックリ

GoogleAndroidスキルと認定プログラムをインドに導入、200万人のインド人を訓練する計画

www.techworm.net

 

 

 

はじめてのAndroidプログラミング 改訂版

はじめてのAndroidプログラミング 改訂版

 

 

 

 

 

Kotlinスタートブック -新しいAndroidプログラミング

Kotlinスタートブック -新しいAndroidプログラミング

 

 

EcmaScript仕様第8版の新機能

EcmaScript 8またはEcmaScript 2017は、TC39によって6月末に公式にリリースされました。

ストリング埋め込み

このセクションでは、StringオブジェクトにpadStartとpadEndという2つの関数を追加します。
これらの関数の目的は文字列の先頭または末尾を埋めて、結果の文字列が所定の長さになるようにすることです。デフォルトでは、特定の文字や文字列で埋めたり、スペースで埋めたりできます。関数の宣言は次のとおりです。

str.padStart(targetLength [、padString])
str.padEnd(targetLength [、padString])

ご覧のように、これらの関数の最初のパラメータtargetLengthは、結果の文字列の合計の長さです。2番目のパラメータはオプションです。padStringこれは、ソース文字列を埋め込む文字列です。デフォルト値はスペースです。

'es8'.padStart(2);          // 'es8'
'es8'.padStart(5); // ' es8'
'es8'.padStart(6, 'woof'); // 'wooes8'
'es8'.padStart(14, 'wow'); // 'wowwowwowwoes8'
'es8'.padStart(7, '0'); // '0000es8'
'es8'.padEnd(2);          // 'es8'
'es8'.padEnd(5); // 'es8 '
'es8'.padEnd(6, 'woof'); // 'es8woo'
'es8'.padEnd(14, 'wow'); // 'es8wowwowwowwo'
'es8'.padEnd(7, '6'); // 'es86666'
 
ブラウザサポート(MDN)

Object.valuesおよびObject.entries

このObject.valuesメソッドは、for inループによって提供される順序と同じ順序で、指定されたオブジェクト自身の列挙可能なプロパティ値の配列を返します。関数の宣言は簡単です:

Object.values(obj)

obj パラメータは、動作のためにソースオブジェクトです。これはオブジェクトまたは配列([10,20,30] - > {0:10,1:20,2:30}のようなインデックスを持つオブジェクト)です。

const obj = { x: 'xxx', y: 1 };
Object.values(obj); // ['xxx', 1]

const obj = ['e', 's', '8']; // same as { 0: 'e', 1: 's', 2: '8' };
Object.values(obj); // ['e', 's', '8']

// when we use numeric keys, the values returned in a numerical
// order according to the keys
const obj = { 10: 'xxx', 1: 'yyy', 3: 'zzz' };
Object.values(obj); // ['yyy', 'zzz', 'xxx']
Object.values('es8'); // ['e', 's', '8']
 
Object.valuesのブラウザサポート(MDN)

このObject.entriesメソッドは、指定されたオブジェクト自身の列挙可能なプロパティの[key, value]ペアの配列を、同じ順序で返しますObject.values。関数の宣言は簡単です:

const obj = { x: 'xxx', y: 1 };
Object.entries(obj); // [['x', 'xxx'], ['y', 1]]

const obj = ['e', 's', '8'];
Object.entries(obj); // [['0', 'e'], ['1', 's'], ['2', '8']]

const obj = { 10: 'xxx', 1: 'yyy', 3: 'zzz' };
Object.entries(obj); // [['1', 'yyy'], ['3', 'zzz'], ['10': 'xxx']]
Object.entries('es8'); // [['0', 'e'], ['1', 's'], ['2', '8']]
 
Object.entriesのブラウザサポート(MDN)

Object.getOwnPropertyDescriptors

このgetOwnPropertyDescriptorsメソッドは、指定されたオブジェクトの独自のプロパティ記述子を返します。独自のプロパティ記述子は、オブジェクトに直接定義され、オブジェクトのプロトタイプから継承されないものです。関数の宣言は次のとおりです。

Object.getOwnPropertyDescriptor(obj, prop)

objソースオブジェクトは、取得されるオブジェクトのプロパティ名です。結果のキーは、設定可能、列挙可能、書き込み可能、​​取得、設定、および値です。

const obj = { get es8() { return 888; } };
Object.getOwnPropertyDescriptor(obj, 'es8');
// {
// configurable: true,
// enumerable: true,
// get: function es8(){}, //the getter function
// set: undefined
// }

デスクリプタデータは、デコレータなどの高度な機能にとって非常に重要です。

 
ブラウザサポート(MDN)

関数のパラメータリストとコールの末尾にカンマ

functionパラメータSyntaxErrorの末尾のカンマは、リストの最後に不要なカンマを追加したときにコンパイラがエラー()を発生させないようにする機能です。

関数es8(var1、var2、var3 ){ 
// ...
}

関数の宣言として、これは関数の呼び出しに適用することができます:

es8(10,20,30 );

この機能は、オブジェクトリテラルと配列リテラル[10, 20, 30,]とのコンマの末尾に基づいています{ x: 1, }


非同期関数

このasync function宣言は、AsyncFunctionオブジェクトを返す非同期関数を定義します。内部的には、非同期関数はジェネレータとよく似ていますが、ジェネレータ関数には変換されません。

function fetchTextByPromise() {
return new Promise(resolve => {
setTimeout(() => {
resolve("es8");
}, 2000));
});
}
async function sayHello() { 
const externalFetchedText = await fetchTextByPromise();
console.log(`Hello, ${externalFetchedText}`); // Hello, es8
}
sayHello();

の呼び出しは2秒後にログにHello, es8記録されます。

console.log(1);
sayHello();
console.log(2);

プリントは以下の通りです:

1 // immediately
2 // immediately
Hello, es8 // after 2 seconds

これは、関数呼び出しがフローをブロックしないためです。

async function常にpromiseを返し、awaitキーワード asyncキーワードでマークされた関数でのみ使用できることに注意してください。

 
ブラウザサポート(MDN)

共有メモリとアトミック

メモリが共有されると、複数のスレッドがメモリ内の同じデータを読み書きできます。アトミック操作では、予測可能な値が書き込まれ、読み取られ、その操作が次の操作が開始される前に終了し、操作が中断されないことが確認されます。このセクションでは、新しいコンストラクタSharedArrayBufferAtomics静的メソッドを持つ名前空間オブジェクトについて説明します。

AtomicオブジェクトはMathような静的メソッドの目的であるので、コンストラクタとして使用することはできません。このオブジェクトの静的メソッドの例は次のとおりです。

  • add / sub— add / subtract a value for the value at a specific position
  • and / or / xor — bitwise and / bitwise or / bitwise xor
  • load — get the value at a specific position
 
ブラウザサポート(MDN)

来年のES9で1つ - テンプレートのリテラル制限を解除する

タグ付きテンプレートリテラル(ES6)を使用すると、テンプレート解析関数を宣言し、ロジックに従って値を返すような処理を行うことができます:

const esth = 8;
helper`ES ${esth} is `;
function helper(strs, ...keys) {
const str1 = strs[0]; // ES
const str2 = strs[1]; // is
  let additionalPart = '';
if (keys[0] == 8) { // 8
additionalPart = 'awesome';
}
else {
additionalPart = 'good';
}

return `${str1} ${keys[0]} ${str2} ${additionalPart}.`;
}

返される値は→ES 8です。
そしてesth7の場合、返される値は→ES 7です。

しかし、たとえば\ uまたは\ xサブストリングを含むテンプレートには制限があります。ES9はこのエスケープ問題を処理します。MDNのウェブサイトまたはTC39文書で、その詳細をお読みください。

 
ブラウザサポート(MDN)

 

 

引用元:

hackernoon.com

 

完全なスタックWeb開発を学ぶ100以上の無料リソース

目次

  1. ここから始める
  2. 学ぶ方法
  3. 最も有益なCSのブックマークは何ですか
  4. プログラムとクラス
  5. HTMLを学ぶ
  6. CSSを学ぶ
  7. JavaScriptを学ぶ
  8. React.jsを学ぶ
  9. 完全なスタックチュートリアル
  10. Node.jsを学ぶ
  11. Pythonを学ぶ
  12. APIの学習
  13. データベースを学ぶ
  14. 認証を学ぶ
  15. Gitを学ぶ
  16. ゲーム&チャレンジウェブサイト
  17. 無料プログラミング書籍
  18. オープンソースの貢献機会
  19. 私は開発者になる準備ができていますか?
  20. ソフトウェア開発者の成功事例
  21. 履歴書、ポートフォリオ、LinkedIn、インタビュー準備、給与情報
  22. 引用元:

    codeburst.io

機械学習 - Microsoft CNTK v2.0ライブラリの紹介

免責事項:CNTKバージョン2.0はリリース候補モードです。すべての情報は変更されることがあります。

Microsoft Cognitive Toolkit(CNTK)は、機械学習予測モデルの作成に使用できる強力なオープンソースライブラリです。特に、CNTKは、Cortanaや自動車などの人工知能の最前線にある深いニューラルネットワークを作り出すことができます。

CNTKバージョン2.0は、バージョン1とは大きく異なります。この記事を書いている時点で、バージョン2.0はリリース候補モードです。あなたがこれを読むときには、コードベースに若干の変更が加えられる可能性がありますが、私はここに示したデモコードにはほとんど影響しないと確信しています。

この記事では、CNTK v2.0のインストール方法と、単純なニューラルネットワークを使った予測の作成、トレーニング、予測の方法について説明します。この記事がどこに向かうかを知るには、図1のスクリーンショットを見てください。

実際のCNTK v2.0 
図1 CNTK v2.0の実際の動き

パフォーマンス上の理由から、CNTKライブラリはC ++で書かれていますが、v2.0には新しいPython言語APIが用意されています。通常のWindows 10コマンドシェルで次のように入力して、iris_demo.pyプログラムを呼び出します。

 
> python iris_demo.py 2> nul

2番目の引数はエラーメッセージを抑制します。私は、そうでなければ表示される約12行のCNTKビルド情報を表示しないようにするためにのみこれを行います。

引用元:Machine Learning - Introduction to the Microsoft CNTK v2.0 Library

 

 

 

アンサンブル法による機械学習: 基礎とアルゴリズム

アンサンブル法による機械学習: 基礎とアルゴリズム

 

 

 

TensorFlow機械学習クックブック Pythonベースの活用レシピ60+

TensorFlow機械学習クックブック Pythonベースの活用レシピ60+

 

 

 

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

 

 

 

Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

 

 

 

Rによる機械学習

Rによる機械学習

 

 

 

機械学習と深層学習 C言語によるシミュレーション

機械学習と深層学習 C言語によるシミュレーション

 

 

シェイプシフター

シェイプシフターは、AndroidiOS、Web用のアイコンアニメーションの作成を簡単にするWebアプリケーションです。

https://github.com/alexjlockwood/ShapeShifter/raw/master/art/screencap.gif

 

このツールは現在、スタンドアロンSVGSVGスプライトシート、ウェブのCSSキーフレームアニメーションAnimatedVectorDrawable 、Android用のフォーマットにエクスポートされ ます。

Shape Shifterで作成されたアイコンアニメーションの例をいくつか示します:

アニメーションを折りたたんで展開するオーバーフローから戻る矢印アニメーション再生 - 一時停止 - 停止アニメーション動物アニメーション

引用元:

webdesign.tutsplus.com

github.com

 

SVGエッセンシャルズ 第2版

SVGエッセンシャルズ 第2版

 

 

 

無料で使えるイラストソフト Inkscapeスタートブック

無料で使えるイラストソフト Inkscapeスタートブック

 

 

 

Web制作者のためのIllustrator&ベクターデータの教科書 マルチデバイス時代に知っておくべき新・グラフィック作成術

Web制作者のためのIllustrator&ベクターデータの教科書 マルチデバイス時代に知っておくべき新・グラフィック作成術

 

 

 

Boxy SVG Editorでイラストを描こう

Boxy SVG Editorでイラストを描こう

 

 

 

Atomオートコンプリートモジュールのインポート

Algoliaが提供するimport / requireステートメントからNPMパッケージを検索してインストールします。

デモ

このAtom Pluginを使用すると、require()importstatementを書くときにnpmモジュールをすばやく見つけてインストールすることができます

  • 高速関連(を搭載し、オートコンプリート機能Algolia)。
  • Atomから離れることなくモジュールをインストールしてください。
  • 糸とNPMのサポート。
  • パッケージとして保存しdependenciesdevDependenciespeerDependenciesまたはをoptionalDependencies
  • require()ES2015インポートモジュールの構文をサポートします。

使用法

JavaScriptファイルタイプrequire('では、プラグインはNPMレジストリから関連パッケージを自動的に提案します。

あなたの選択を確認したら、プラグインはまだ依存関係がインストールされていない場合にインストールするかどうか尋ねます。

著作権とライセンス

Copyright(c)2017アルゴリア。MITライセンスでリリースされたコード。

 

引用元:

github.com

 

アプリに対するGoogleの新しい基準

Googleは、開発者が高品質のアプリケーションを作成するための最長時間をかけて努力してきましたが、その努力は必ずしも成功していません。AppleApp Storeで利用可能なアプリを厳しく取り締まっているが、Googleは常に緩い。その結果、Playストアは新進気鋭の開発者を惹きつけ、より創造性を促進しますが、利用可能なアプリの品質には疑問の余地があります。一部のアプリは絶えずクラッシュします。いくつかのアプリはランダムにフリーズする。一部のアプリはバッテリーを消耗させます。

今年のGoogle I / Oで、同社はAndroidの使いやすさとデバイス全体の性能を向上させるというコミットメントを再確認しました。Androidバイタルが登場しました。Googleは、エンドユーザーだけでなく開発者にとって、Androidバイタルを使ってスピード、セキュリティ、安定性に重点を置いていきたいと考えています。開発者は、アプリの安定性、レンダリング時間、バッテリ使用状況に関するさまざまな指標とスコアを表示できるようになりました。具体的には、Googleは次の点を検討したいと考えています。

アプリが応答しない(ANR)レート
クラッシュレート
スローレンダリング
フリーズしたフレーム
スタックウェイクロック(デバイスを1時間以上起動させたままにするアプリ)
過度のウェイクアップ(アプリが1時間に10回以ウェイクアップする)
これらの指標を使って、Googleは下位25%にランクされているアプリを見つけ出し、アプリが、前述の指標に関する特定の基準を満たさないアプリケーション(閾値が25%を下回るアプリ)はPlayストアから消えるでしょう。

現在利用可能なアプリが何百万もあり、GoogleのPlayストアは近年、偽のアプリ、低品質のアプリ、マルウェアアプリに対する批判が高まっています。したがって、より厳しい基準を確立することを約束するGoogleの新しいプログラムは、確かに歓迎すべき変更です。

引用元:

www.androidauthority.com

 

 

 

Androidを支える技術〈I〉──60fpsを達成するモダンなGUIシステム (WEB+DB PRESS plus)

Androidを支える技術〈I〉──60fpsを達成するモダンなGUIシステム (WEB+DB PRESS plus)

 

 

 

 

 

Androidアプリ開発の極意 ~プロ品質を実現するための現場の知恵とテクニック

Androidアプリ開発の極意 ~プロ品質を実現するための現場の知恵とテクニック