Kazuma Labolatory's

Nothing is Impossible. ✿

Menu

Velocity.js の作者:ジュリアンさんの記事を翻訳させて頂きました🌟

How to think about knowledge

https://www.julian.com/blog/knowledge

f:id:DDramonQ:20170622204954p:plain

知識についてどのように考えるか(翻訳: 和馬)[日本語訳]

http://kazumalabo.sakura.ne.jp/post/en_to_jp_julians_article_knowledge.html

f:id:DDramonQ:20170622205035p:plain

ジュリアン・シャピロ (Julian Shapiro) さんのブログ記事を読み、その非常に示唆に富んだ内容に大変感銘を受けました。これは日本の人にも紹介したい!! と思い、すぐさまジュリアンさんに掲載許可を頂きに、Twiettrへ馳せ参じてしまいましたw そして、日本語翻訳 + 掲載 の許可を頂く事ができました✨♪

著者: ジュリアン・シャピロ (Julian Shapiro)

略歴:

NameLayer創業者。現在はTechStarsが運営。

アニメーション系JSライブラリ"Velocity.js"の製作者。Tumblr, Gap.com でも使われている、Githubでも最も人気のあるライブラリの1つ。

現在は、新たなサービス Libscor.com を運営されている。

他にもジュリアンさんのBlogには、示唆に富む厳選された数の記事が投稿されています(英語) よろしければそちらもご覧ください🌟

また、本ブログでも、後日、改めてジュリアン・シャピロ (Julian Shapiro) さんについて纏めてみたいと考えています(•ᵕᴗᵕ•)⁾⁾🌟

( ジャンプ先と重複する部分が在ります。ご容赦下さい(•ᵕᴗᵕ•)⁾⁾🌟 )

質の高い学習書が沢山!!しかも全部無償!? ..\Saylor Academy/..

Saylor Academy

https://www.saylor.org

f:id:DDramonQ:20170605222131p:plain

概要

Saylor Academy は、オンライン学習支援サイトです。

  • 言語: 英語
  • 学習科目: ビジネス・生物学・哲学・心理学・数学・物理・コンピューター科学...etc

他にも「大規模オンライン公開講座( MOOCs )」サイトは Coursera や edX, Udemy など沢山あります。ですが、Saylor Academy は、様々な点で、他と一線を画したサイトとなっています。

先ず一つ目に 全て無償" だという点。運営会社が非営利団体であり、全て無償で利用する事ができます。

「非営利団体で無償だから、有償のものに比べて質が低いのでは…」。確かに非営利団体、且つ、無償提供の場合、有償のものに比べ圧倒的に教材にコストがかけられません。つまり教材作成者への対価・スタッフ確保等、色々な面でお金がかけられないとなれば、質が高いものを作るのは難しい。。通常、そうなるケースは多いかと推測されます。

ところがどっこい。このSaylor Academy さんは違いました。多くのプロフェッショナルな方々協力されており、とても質が高い教材を提供されています。

タイトルには"学習書"と書きましたが、基本的にはコース制になっていて、各チャプター毎に進めていけば、テンポよく学習が進められるよう設計されています。

 

2つ目の特筆すべき点は、他のオンライン学習サイトと違い、全く制約がありません

  • 全て無償
  • 自分のペースで進められる
  • ログイン( 登録 )も任意

また、最終試験を受ければ、certification( 修了証 ) も発行されます。アメリカの十数の大学と提携されているので、指定のコースを受講し、最終試験を修了すれば、連携大学に入学する際に単位として認めてもらえます。また、それ以外でも修了証明書として、就職などにも利用できるでしょう。

 

3つめに、これは特に強調したいのですが、本当に質が高い! ムダがなく、必要最低限の説明、しかし基礎重要ポイントを押さえた、分かりやすい理解しやすい文章で書かれている、驚きのハイクオリティー。

our team ページに協力者一覧が掲載されていますが、多くのph.Dを取得された方( 教授等 )が、教材の作成に協力されておられます。そりゃ質が高いのも納得です⊂⌒ ⊃。Д。)⊃✨

市販の本であっても、「無駄な説明が多いもの」「関係性の薄い前置きがあり、且つそれが長い」書籍が、間々見受けられる気が僕はしていますが、それがない。スムーズに学習に入れ、テンポよく理解できる。リズムよく進む "分かる" 学習が、楽しくない訳がありません。

僕は 数学、コンピューター・サイエンスをゆっくり進めている所ですが、その3つとも、しぬほど分かりやすい(語彙力←)です。分かるという事は本当に楽しい!✨

 

最後に、4つ目は、テキストメインである事です。

多くのMOOSはビデオ学習が多いのですが、セイラー・アカデミーは、講義にテキストがふんだんに使用されています。

 

コース一覧

sarylor.org/ Courses

https://learn.saylor.org/course/index.php?categoryid=2

 

創設者: マイケイ・J・セイラー( Michael J. Saylor )

Michael J. Saylor -wiki-

Saylor Academy は、アメリカ🇺🇸NY の非営利団体で、実業家・ 作家 (The New York Times / The Wall Street Jounrnal ベストセラーランキングリスト入り) 、等様々な側面で活躍されている Micheal J. Saylor さんが設立。

 

セイラー・アカデミーについて ( 引用 )

[翻訳: 和馬]

Student Handbook ---Saylor.org/ Student handbooks---

セイラー・アカデミーについて

私たちは、ワシントンD.C.に本拠を構える、才能豊かなチームから成る 501(c)(3) 非営利団体です。その他にも、世界中の学者やその他のコンサルタントもチームの一員です。私たちのコミュニティには、バーチャル上ですが、地球上のあらゆる場所にいる数百万人の学生がいます。 2008年以来、私たちは、質が高く、授業料が無料の、オープンなオンラインコースの作成に取り組んできました。

ABOUT SAYLOR ACADEMY

We are a 501(c)(3) non­profit organization comprised of a talented team in Washington, D.C., as well as academic and other consultants from around the world. Our community also includes millions of students from virtually every place on Earth. Since 2008, we have worked to create high­quality, tuition­free, open online courses.

About Saylor Academy ---Saylor.org/ about---

セイラーアカデミーの使命は、すべての人に教育をオープンにすることです。

セイラーアカデミーは、2008年から活動している非営利団体で、学習したいすべての人に無料でオープンなオンラインコースを提供しています。

私達は、大学やプロフェッショナルレベルの、100を超えるフルレングスのコースを提供しています。それぞれのコースは、あなたのペースで、スケジュールどおりに、そして無料でご利用いただけます。

キャリアアップ、学位修了、プロフェッショナルな開発、よりカジュアルな学習を探しているかどうかにかかわらず、私たちはあなたが今必要としているものを用意しています。セイラーアカデミーでは、最新のデジタル証明書を取得できます。私たちのパートナー・スクールのネットワークを通して、授業料無料で大学の単位を取得することができます。また、低コストで便利な学位プログラムを開始することもできます。

私はこのようなレベルの教育を受ける機会を得られるとは思っていませんでした。セイラーは救い主なのです。今私はキャリア関連のコースを他の人よりも先に受けています。 セイラーアカデミーに本当に感謝しています。

リネタ、ソロモン諸島

 

伝える

「なぜ多くの人がセイラー・アカデミーの事を知らないのですか?」とよく聞かれます。私たちは、自身がオンライン学習の秘密の一つだと思っていますが、秘密のままでありたいと望んでいるという訳ではありません。

あなたにも手助けする事ができます!最も良い方法は、もちろん、セイラー・アカデミーに学生として参加することです ーー 探求し、学習し、追求し、世界的な学習者コミュニティを構築する事を手助けする事です。しかし、セイラー・アカデミーの事を、友達や他の多くの人に教える事でサポートすることもできます。口コミは非常に重要です。そうする事によって、セイラーの事を教えてあげた人とあなたが、私たちに現実世界での変化をもたらします。また、教えてあげた人自身にも、現実世界での変化をもたらします。

 

我々の独自性

もしあなたが、以前に無料オンラインコースを受講した事があるのなら、(「MOOC*1」として知られているかもしれませんが)、我々が少し違ったことをしている事に気付くかもしれません。

私たちの学習教材は、専門的な教育者による無料でオープンなオンラインリソースから構成されています(詳細は、私達のコース設計哲学をご覧ください)。私たちは、あなたが大学の教室で学ぶものに可能な限り近い自己学習型の学習経験をデザインすることに焦点を合てています。私たちの証明書は無料で、コースはいつでも利用でき、期限はあなた次第です。

 

もっと探す

セイラー・アカデミーのコンテンツを見つけるために、本サイトを探索する事をお勧めします。参考になりそうな幾つかの最重要箇所を以下に記します。

  • 私たちの証明書がいかに特別なものかを見る
  • セイラー・アカデミーのコースで、大学単位取得ができる事について探る
  • コース・カタログを見る
  • 最初のコースの始め方を学ぶ
  • 素晴らしい提携スクールを見つける
  • ヘルプセンターで疑問を調べる
  • オープンコースのリソースセンターで「開かれている(Open)」が意味するものについて詳しく知る。
    • クリエイティブ・コモンズおよび、その他のオープン・ライセンスに関する詳細
    • 自分のニーズに合わせてSaylor Academyのコースを採用し、適応させる方法

セイラー・アカデミーは、憲法財団の主要イニシアチブであり、マイケル J. セイラーによって設立された501(c)(3) の非営利団体です。

私たちのチーム、創業者、コースの貢献者と査読者の名簿をご覧ください

セイラー・アカデミーは、オープン教育の発展を支える非営利のグローバルネットワークであるオープン教育連合(Open Education Consortium)の組織メンバーです。詳細はhttp://www.oeconsortium.orgをご覧ください。

 

定期通知

メールで最新情報を得るためにサインアップする - 私達はスパムが好きではありませんし、受信箱を煩わせません!いつでも退会することができます。

Saylor Academy’s mission is to open education to all.

Saylor Academy is a nonprofit initiative working since 2008 to offer free and open online courses to all who want to learn.

We offer nearly 100 full-length courses at the college and professional levels, each of which is available right now — at your pace, on your schedule, and free of cost.

Whether you are looking for career advancement, degree completion, professional development, or more casual learning, we have something just for you. At Saylor Academy, you can earn modern, digital certificates of completion; earn tuition-free college credit through our network of partner schools; or even start a low-cost, convenient degree program.

I never thought I would get a chance for education at a level like this, and it’s very >very true Saylor is a saviour. Now I am taking career related courses before others. Thanks millions to Saylor Academy.

Rineta, Solomon Islands

Spread the word

We hear it all the time: “Why don’t more people know about you!?” We like to think that we’re one of the better-kept secrets in online learning, but that doesn’t mean we hope to stay that way!

You can help! The best way, of course, is to join Saylor Academy as a student — explore, learn, pursue, and help us to build a robust, engaged, worldwide community of learners. But you can also help by telling a friend — or many — about Saylor Academy. Word of mouth is hugely important; you make a real difference for us with each person you tell and, quite possibly, a real difference for that person, too.

We are different

If you have taken open online courses before (you might know them as “MOOCs”), you will find that we do things a bit differently.

Our learning materials are curated from a trove of free and open online resources by expert educators (learn more about our course design philosophy). We focus on designing a self-paced learning experience that comes as close as possible to what you would learn in the college classroom. Our certificates are free, our courses are available to you any time, and the deadlines are under your control.

Find Out More

We encourage you to explore our site to find out more of what Saylor Academy has to offer, but here are some highlights you might find helpful:

  • See what makes our certificates so special
  • Explore college credit opportunities for Saylor Academy courses
  • Browse our catalog of courses
  • Learn how to get started with your first course
  • Discover our fantastic partner schools
  • Research your questions in our Help Center
  • Learn more about what Open means to us at our Open Course Resource Center, including:
    • details on Creative Commons and other open licenses we use
    • how you can adopt and adapt Saylor Academy courses for your own needs
  • Saylor Academy is the primary initiative of the Constitution Foundation, a 501(c)(3) nonprofit founded by Michael J. Saylor.
  • Meet our team, our founder, and the roster of our course contributors and reviewers

Saylor Academy is an organizational member of the Open Education Consortium, a non-profit, global network supporting the advancement of open education. Find out more at http://www.oeconsortium.org

Stay in the Know

Sign up for updates by email — we don’t like spam, either, and we won’t

bombard your inbox! You can unsubscribe any time.

補足

更には、「CC Licence 3.0 Share alike unported」で、ライセンスされています。簡単にまとめると、「クレジット表記をすれば、商用利用でも可・改変・配布・引用等、どのように使用しても構わない」という事です。ですから、例えばですが、塾や学校の教材として、saylor academyの教材をコピーし配布しても全然OKという事です。なんという事でしょう✨0(:3 )~ ('、3_ヽ)_!?

僕は特段、使用用途がある訳ではありませんが、その開かれた教育の精神を知り、五体投地級の感嘆感謝であります、はい~✨_〇⊇✨

 

*1:Massive Open Online Course

【英語・無料・ハイクオリティ】数学・コンピューター科学 / オンライン教材

Saylor Academy

無償で大学レベルの学習ができる「オンラインWebサイト」です。Saylor Academy について詳しくは、また後日記事にまとめるつもりです。

  • 無償
  • 質が高い
  • コース/ 教材が豊富

これらを満たすWebサイトは、僕の知る限りですが今の所、Saylor Academy が群を抜いています。今期激推しのおすすめWebサイト様です✨✨♪🌟

*1

その中から、今の僕の学習したい分野でもある「数学」と「コンピューター科学」の初学者向け おすすめコース (テキストメイン) をピックアップしてみました。

数学 | コンピューター科学 入門コース

全コース 一覧

僕も現在学習中ですが、Saylor Academy は、緻密にコース設計がされているため、非常に進めやすい!!

しかも、特筆すべきは、テキストメインのコースが多い事!!

  • 英語によるビデオ学習は、リスニング力も必要になり、少し敷居が高い
  • 映像よりテキストの方が時間効率が良い/ 復習がしやすい

と考えている人(私)にとっては、まさにぴったり。

しかも、どれもトップレベルの大学教授が書かれたものが多く、説明にムダがなく、論理的な文章で非常に分かりやすい!!

数学

K12 と書かれている最初の2つは入門者向けです。

K12とは、アメリカ等で採用されている教育システムの事であり、日本では幼稚園~高校3年に該当します。

よって、K12の付いているコースは、「大学レベルへの準備」コースである事を表しています。ですから、この場合、高校3年までの数学を表しています。

詳しくは各コースのIntroduction(序章) や Syllabus(シラバス) をご参照下さい🌟

https://learn.saylor.org/course/view.php?id=10

●— K12MATH014: Advaned Statistics —

https://learn.saylor.org/course/view.php?id=11

コンピューター科学

●— CS101: Introduction to Computer Science I —

https://learn.saylor.org/course/cs101

●— CS102: Introduction to Computer Science II —

https://learn.saylor.org/course/view.php?id=64

アメリカ | テスト関連用語2つ

Saylor Academyの コース内で出てきた単語「SAT,AP」 をここではリンクしました。
AP( Advanced Placement)とは、高校在学時に大学レベルの内容を学べるカリキュラムで、ある一定以上の成績の者にそのカリキュラムの受講資格が与えられます。また、APの最終試験に合格すれば、高校在学時に大学の単位を修得できます。
SAT( Scholastic Assessment Test )とは、大学入学に必要なテストです。

( TOEICやTOFLE,など、日本人等が英語圏の大学に入学するために必要なテストは、他にも幾つかあります。)

AP ( Advanced Placement )

AP-Wikjpedia

AP-ReadySetGo:: Minnesota Departement of Educaton ::

SAT ( Scholastic Assessment Test )

SAT-Wikipedia-

SAT-Princeton Review.com-

 

 

 

コンピューター・グラフィックスを学び始めたい人へ

Introduction to Computer Graphics -David J. Eck-

David J. Eck is professor of Mathematics at Hobart and William Smith Colleges

この章タイトルは、今の僕の事でもありますがw

以前このブログでも紹介した、David J. Eck教授 がオープンソースとして、Web上(本人HP) にUpされているものです。

本当にDavid教授にはお世話になりっぱなしですw(* ˊ˘ˋ)*_ _))🌟

また、さらに、以前紹介したプログラミング・コンピューター科学関連の無料書籍をまとめたサイト「FreeComputerBooks.com」さんにもDavidさんの書籍が掲載されています。その他にも、コンピューター・グラフィックス関連の書籍が沢山掲載されていますので、そちらもご参照下さい🌟

FreeComputerBooks.com/comptuer graphic

*1:MIT [MIT Open Wave] や Harverd, Stanford なども無償で学習素材を提供されています。気になる方はそちらも検索してみて下さい。

ただやはり、学習主題についてよく知らない初学者は、何から始めたら良いか自分では判断がつきません。そういう者にとって、Saylor Academy は各カテゴリー毎にコース数が多すぎず絞られている事も、初学者に特に向いていると思います。また、Webサイト、コース共に、指示通りに読んで行けば、しかる順番でスムーズに知識を習得できる様に設計されているのも、特筆すべき点です🌟

W3C 仕様書用、『目次階層Nice.js』作って見た

W3C の仕様書の「目次の階層が深い & 枝が多い」 ので、全体像が把握しづらい。。そこで、階層構造を把握しやすいように、show/hide 出来るjsを書いてみました。

W3C全ての仕様書で試してはいませんが、幾つか試した所、問題なくいけました。ですので、恐らく←いけますw 目次が ul / ol で構成されており、目次のhtmlが特殊でなければ。。w

記事タイトルのネーミングがダサいのは、気にしないで下さい( ´・∀・` )w

f:id:DDramonQ:20170520214907p:plain

 

Demo

Demo

W3C specTable Toggle -Github-

 

 

導入手順

❶htmlファイルと同フォルダ*1 に specTableToggle.css, js を保存

 

f:id:DDramonQ:20170520213213p:plain

 

❷htmlファイル → ヘッダ : css, js ファイル を Import する為の記述

<link rel="stylesheet" href="specTableToggle.css">
<script src="specTableToggle.js"></script>

 

f:id:DDramonQ:20170520213232p:plain

 

❷htmlファイル → 目次の最上位階層 ul/ol にid付加

<ul id="tableOfContents">

 or

<ol id="tableOfContents">

f:id:DDramonQ:20170520213805p:plain

 

 

仕様書によって、目次の最上位要素が ul であったり ol であったりします。

そのに、 id="tableOfContents"を追加すればOK🌟

 

 

オプション

spec.hide()

●初めから、サブ階層を隠しておきたい場合は、

<script src="specTableToggle.js"></script>

以降に

<script>spec.hide()</script>

と記述。

f:id:DDramonQ:20170520213630p:plain

 

【見本】

spec.hide()...

❶無

f:id:DDramonQ:20170520213322p:plain

❷有

f:id:DDramonQ:20170520213347p:plain

 

 

 

階層の深さに関係なく、「liが子要素を持ち & その子要素が ul/ol 」であれば、<li>をクリックすれば、その子要素の ul/ol が "hide/ show" されます。

f:id:DDramonQ:20170520213555p:plain

 

 

*1:同じディレクトリ

最近設立された、日本のWebサイト2つ✨

Tech系サイト

MIT Technology Review 日本版

https://www.technologyreview.jp

f:id:DDramonQ:20170516234750p:plain

● 2016.10.1日本版 スタート(KADOKAWA, Spicebox.Inc, copilot.inc 共同)

●編集長 中野克平さん

●MIT とは、Massachusetts Institute of Technology の略で、アメリカ🇺🇸 マサチューセッツ州の私立大学。Times Higher Education の大学ランキングでも、常に上位。かの、ノーム・チョムスキー、マービン・ミンスキーもMIT卒。

特に、MITのメディア・ラボは、日本のTVや本でもよく取り上げられている。

●本家サイト(en) は、1899年に創刊*1

 

WJP ( web professional.jp ) -KADOKAWA-

https://www.webprofessional.jp/about/

f:id:DDramonQ:20170516234816p:plain

●MIT Tech Review日本 版編集長でもある 中野克平さん が、2016.07.20 にこのサイト創設。

●"Webとデジタルを一生の仕事にするための武器を手に入れる。

WPJは、デザイナー、エンジニア、マーケターの「掛け算」のスキルアップを応援する

パスファインディング・メディアです。" ~ 御サイトTopより~

●世界的に有名な、オーストラリア🇦🇺の Web Developer向けサイト「SitePoint」と提携。SitePointのピックアップ記事を全文日本語で読める。ナチュラルで読みやすい日本語翻訳✨。

ソース:

http://web-tan.forum.impressrd.jp/n/2016/07/21/23406

http://www.spicebox.co.jp/news/release/2016/08/mit/

+
和馬の知識+私見w

 

 

 

最後に、各本家サイトのリンクも置いておきます🌟

MIT Technology Review

f:id:DDramonQ:20170516235313p:plain

 

SitePoint – Learn HTML, CSS, JavaScript, PHP, Ruby & Responsive Design

f:id:DDramonQ:20170516235210p:plain

 

 

*1: MIT Technology Review/ About us -https://www.technologyreview.com/about/-

【引用】コールバック関数の分かりやすい説明

callback function
-javascript is sexy.com-

Understand JavaScript Callback Functions and Use Them

march. 4 2013

(Learn JavaScript Higher-order Functions, aka Callback Functions)

In JavaScript, functions are first-class objects; that is, functions are of the type Object and they can be used in a first-class manner like any other object (String, Array, Number, etc.) since they are in fact objects themselves. They can be “stored in variables, passed as arguments to functions, created within functions, and returned from functions”.

Because functions are first-class objects, we can pass a function as an argument in another function and later execute that passed-in function or even return it to be executed later. This is the essence of using callback functions in JavaScript. In the rest of this article we will learn everything about JavaScript callback functions. Callback functions are probably the most widely used functional programming technique in JavaScript, and you can find them in just about every piece of JavaScript and jQuery code, yet they remain mysterious to many JavaScript developers. The mystery will be no more, by the time you finish reading this article.

Callback functions are derived from a programming paradigm known as functional programming. At a fundamental level, functional programming specifies the use of functions as arguments. Functional programming was—and still is, though to a much lesser extent today—seen as an esoteric technique of specially trained, master programmers.

Fortunately, the techniques of functional programming have been elucidated so that mere mortals like you and me can understand and use them with ease. One of the chief techniques in functional programming happens to be callback functions. As you will read shortly, implementing callback functions is as easy as passing regular variables as arguments. This technique is so simple that I wonder why it is mostly covered in advanced JavaScript topics.

 

 

 [翻訳: 和馬]

JavaScriptコールバック関数を理解し、使う

2013年4月

(JavaScriptの高次階層関数、別名:コールバック関数 を学ぶ)

JavaScriptでは、関数はファーストクラスの物体です。つまり、関数は物体タイプであり、他の物体タイプ(文字列(string)、配列(Array)、数値(Number)など)と同様にファーストクラスの方法で使用できます。それらは「変数に保存する、関数に引数として渡す、関数内で作成する、関数から返得する」ことができます。

関数はファーストクラスの物体なので、関数を別の関数に引数として渡し、渡された関数を後で実行したり、後に実行される関数の返得値とすることもできます。JavaScriptにおいて、これらがコールバック関数の本質です。この記事の残りの部分では、JavaScriptのコールバック関数のすべてについて学習します。コールバック関数は、おそらくJavaScriptで最も広く使用されている関数的プログラミングの技法であり、JavaScriptやjQueryコードの大部分で見つけることができます。しかしながら、未だに多くのJavaScript開発者にとっては、コールバックはよく分からないものとされてます。あなたがこの記事を読み終わる頃には、もはや謎ではなくなっているでしょう。

コールバック関数は、関数的プログラミングと呼ばれるプログラミングのパラダイムから派生しています。根幹基礎的なレベルにおいて、関数的プログラミングでは、関数を引数として扱う事を規定しています。関数的プログラミングは、特別に訓練されたマスタープログラマーの難解な技術と考えられてきましたが、今日では幾分それが薄れてきています。しかしながら未だにそう思われいる節があります。

幸いにも、関数的プログラミングの技法は、あなたと私のような単なる人間がそれらを容易に理解して使用できるように解明されています。関数的プログラミングの主な技術の1つはコールバック関数です。この短い記事を読めば、皆がいつもしているように変数を引数として渡すのと同じくらい、コールバック関数を使うのが簡単だと分かります。このテクニックはとてもシンプルで、なぜ高度なJavaScriptの主題になっているのかが不思議です。

callback function -javascript is sexy.com-

 

既存訳 words 和馬訳
オブジェクト object 物体
関数型プログラミング functional programming 関数的プログラミング
パラメーター parameter 共数
第一級関数 first-class function ファーストクラス関数
オブジェクト型 type object 物体タイプ
戻り値 return value 返得値

プログラミングにおける、「ファーストクラス」の意味

先ずは、通常での "first class" の定義を見てみます。

Definition

「first class」 -Merriam Webster-

meaning of "First-class" in Programming

WikiWikiWeb/FirstClass

First Class

A language construct is said to be a FirstClass value in that language when there are no restrictions on how it can be created and used: when the construct can be treated as a value without restrictions.

FirstClass features can be stored in variables, passed as arguments to functions, created within functions and returned from functions. In dynamically typed languages, a FirstClass feature can also have its type examined at run-time.

Languages vary as to what is FirstClass. Some, such as the CeeLanguage have only basic types (ints, pointers; in particular, arrays are not truly FirstClass though the array/pointer equivalence lets you fake it in most situations). In ObjectOriented languages such as CeePlusPlus, objects are FirstClass but classes are not, while in SmalltalkLanguage or RubyLanguage, for example, all references including references to class objects are FirstClass. In FunctionalProgramming, functions are FirstClass.

Some authors, such as Raphael A. Finkel in AdvancedProgrammingLanguageDesign, also define the terms SecondClass and ThirdClass (pg76); different authors have varying definitions of exactly what properties things should have to be considered first, second, or third class, but the terms are typically broadly similar to Finkel's.

 

 

[翻訳: 和馬]

ファーストクラス

言語の構成要素*1 は、その作成・使用のされ方に制約がない場合、その言語の FirstClass値と言われます。つまり、構成要素が何の制約も受けずに「値」として扱われる場合、その構成要素(値)を、FirstClass値と呼ぶ事ができます。

FirstClass(値)は、「変数に割り当てる」「関数に引数として渡す」「関数内で作成されたFirstClass値を、関数の返値にする」事ができます。また、動的なタイプの言語では、FirstClass値は型も持ち、実行時に調べることが出来ます。

何がFirstClassなのかは、言語によって異なります。 CeeLanguageのようなものは、基本的な型(int、ポインタ)しか持たないものがあります。特に、配列/ポインタの同等性によってほとんどの状況で偽装できますが、配列は実はFirstClassではありません。 CeePlusPlusなどのObject指向言語では、ObjectはFirstClassですがclassはFirstClassではありません。Smalltalk、Rubyでは、クラスオブジェクトへの参照を含むすべての参照がFirstClassです。 関数的プログラミングでは、関数はFirstClassです。

AdvancedProgrammingLanguageDesignのRaphael A. Finkelのような著者の中では、セカンドクラス(SecondClass)とサードクラス(ThirdClass) という用語も定義されています。第1クラス、第2クラス、第3クラスのプロパティの正確な定義は、著者により様々ですが、これらの用語は一般的にFinkelに似ています。

::: 語彙 :::

配列 - array
関数 - function
関数的プログラミング - functional programming
型 - type
引数 - argument

これは凄く重要ですね ✨(⁼̴̀ૢ꒳​⁼̴́ૢ๑) きっちり説明してありますね✨✨(⁼̴̀ૢ꒳​⁼̴́ૢ๑)♪♪

JavaScript で 、「Fnuction is FirstClass Object」という記述をよく見かけたのですが、つまりその意味は、「JavaScriptでは、 function は FirstClass(値) だ」という事ですね。要するに、『関数を、"変数に割り当てる・引数として関数に渡す・関数の返値にする" 事ができる』という事なのですね✨(⁼̴̀ૢ꒳​⁼̴́ૢ๑) しっかり理解しました🌟

WikiWikiWeb

ちなみに、このWikiWikiWeb (Wiki.c2.com) は、Wikipedia の源流とも言えるWebサイトさんです。何となく聞いた事はありましたが、まさか今回参照したサイトさんがそれで、サイトやWikiediaを参照し、はっきり理解しました。

WikiWikiWebは、Ward Cunningham(ワード・カニングハム) というプログラマの方が始められ、Web developer, engeneer 向けに、知識コンテンツ(ソフトウェアデザインパターン等)を共有する目的のWebサイトらしいです。詳しくは本家サイトメインページ等ををご覧くださいませ(。•ㅅ•。)⭐︎

WikiWikiWeb -MainPage-

WikiWikiWeb/Wiki histry

WikiWikiWeb -Wikipedia.en-

*1:language construct

前記事(引用) の執筆者 ジェニファー・ゴルベック教授

前記事で "Psychology Today" の「荒らし者・行為」への、科学的な対処法」を引用・翻訳させて頂きました。

今回はその記事の著者さんを紹介したいと思います。

著者: ジェニファー・ゴルベック(Ph.D) さん

ジェニファー・ゴルベック(Ph.D) はコンピューター科学者でありメイランド大学の教授です。

Jennifer Golbeck, Ph.D., is a computer scientist and professor at the University of Maryland.

In Print:  (ソーシャルウェブ分析)Analyzing the Social Web

Online:  jengolbeck.com

Psychology Today | -About the author-

 

Dr. Jen Golbeck is a world leader in social media research and science communication. She began studying social media from the moment it emerged on the web a decade ago, and is one of the world’s foremost experts in the field. Her research has influenced industry, government and the military. She is a pioneer in the field of social data analytics, discovering people’s hidden attributes from their online behavior, and a leader in creating human-friendly security and privacy systems. She is an Associate Professor at the University of Maryland. Outside her research, she hosts the books segment of the SCIENCE Magazine podcast and is a guest host of the Kojo Nnamdi Show.

Dr.ジェン・ゴルベックはソーシャルメディア研究と科学的コミュニケーションの世界的リーダーです。彼女はソーシャルメディアが出現し始めた十年前から研究しており、その分野の世界的に影響力のある専門家です。その研究は、工業や政府・軍にも影響を与えています。

ソーシャルメディア分析の第一人者であり、人のオンライン行動における隠れた特質を明らかにします。また、人間に馴染みやすいセキュリティや、プライバシー・システムの開発でも先陣を切っています。

彼女は、メイランド大学の准教授です。

研究以外では、サイエンス・マガジン・ポッドキャストの本部門の主催を務めており、コージョー・ナンディ・ショウのゲストホストも務めています。

jengolbeck.com | -Bio-

 

ジェニファーさんのWeb執筆記事

「インターネットで荒らし行為をする人は自己陶酔者で、サイコパスで、サディスト」( Internet Trolls Are Narcissists, Psychopaths, and Sadists )-Psychology Today-

「あなたはインターネットで荒らし行為をする人ですか」( Are You an Internet Troll? )-Psychology Today-

やはり(認知)心理学系の第一線の方は、コンピューター科学や哲学等、数学を利用する分野も並行して学ばれている事が多い気がします(私見です)。例をあげれば、

  • ドナルド・ノーマン(Donald Norman)、
  • マービン・ミンスキー(Marvin Minsky)、
  • ダニエル・カーネマン( Daniel Kahneman)、
  • ロジャー・シャンク(Roger Schank)

...etc。

僕も、もっと心を知るためにも、数学を再学習する予定でいます(っ•ω•⊂))🌟 幾つか英語の数学系書籍を漁ってみているのですが、数学(日本)とMathematics(海外) では、カテゴライズの仕方やそもそもの数学に対するスタンスが違う印象を受けています。

学び理解したら、その時はまた記事にできたらいいなと考えています。

あ、ちなみに日本の書籍で、敬愛する先輩の「数学全般に関するグレイトな書籍」が最近出版されました🌟

 

すべてを可能にする数学脳のつくり方

すべてを可能にする数学脳のつくり方

 

 

読了しましたが、何とまぁ面白い!!!!✨✨✨ 数学アレルギーの方にもお勧めしたい一品。日本の学校で学んだ数学のイメージを大きく覆してくださり、「数学って面白そうだなぁ✨もう一度学んでみたいなぁ✨」と思わせて頂きました。

「荒らし」に関する、日本のおすすめ科学記事

「ネット上に出没する「荒らし」はナルシシストでサイコパスなサディストであることが研究により判明」 -Gigazine-

【引用】「荒らしをする人」への、科学的対処法

「Psychology Today」の記事になります。 

f:id:DDramonQ:20170507220335p:plain

https://www.psychologytoday.com/blog/your-online-secrets/201409/internet-trolls-are-narcissists-psychopaths-and-sadists

 

Internet Trolls Are Narcissists, Psychopaths, and Sadists

Trolls will lie, exaggerate, and offend to get a response.

In this month's issue of Personality and Individual Differences, a study was published that confirms what we all suspected: Internet trolls are horrible people. 

Let's start by getting our definitions straight: An Internet troll is someone who comes into a discussion and posts comments designed to upset or disrupt the conversation. Often, in fact, it seems like there is no real purpose behind their comments except to upset everyone else involved. Trolls will lie, exaggerate, and offend to get a response. 

What kind of person would do this? Some Canadian researchers decided to find out.

They conducted two online studies with over 1,200 people, giving personality tests to each subject along with a survey about their Internet commenting behavior. They were looking for evidence that linked trolling with the "Dark Tetrad" of personality traits: narcissism, Machiavellianism, psychopathy, and sadism. 

They found that Dark Tetrad scores were highest among people who said trolling was their favorite Internet activity. To get an idea of how much more prevalent these traits were among Internet trolls, see this figure from the paper:

Look at how low the Dark Tetrad scores are for everyone except the trolls! Their scores for all four traits soar on the chart. The relationship between trolling and the Dark Tetrad is so significant that the authors write in their paper:

"... the associations between sadism and GAIT (Global Assessment of Internet Trolling) scores were so strong that it might be said that online trolls are prototypical everyday sadists." 

Trolls truly enjoy making you feel bad. To quote the authors once more (because this is a truly quotable article): "Both trolls and sadists feel sadistic glee at the distress of others. Sadists just want to have fun ... and the Internet is their playground!"

The next time you encounter a troll online, remember:

These trolls are some truly difficult people.

It is your suffering that brings them pleasure, so the best thing you can do is ignore them. 

References

Buckels, Erin E., Paul D. Trapnell, and Delroy L. Paulhus. "Trolls just want to have fun." Personality and Individual Differences67 (2014): 97-102.

Photo adapted from original by Kevin Dooley

 

 

 

[翻訳: 和馬]

インターネットの荒らしをする人( 以下: 荒らし者 )は、自己陶酔者であり、サイコパスであり、サディスト

荒らし者は、反応してほしいがため、嘘・誇張・攻撃的な振る舞いをします。

 

荒らし者はホリブルな人なのではないか、と皆さんは考えているかもしれませんが、今月号の「パーソナリティと個人差」で、我々のそのような考えを裏付ける研究が発表されました。

 

まず、定義を明確にするところか始めましょう:荒らし者とは、会話に入って、会話を混乱させたり中断するような意図的コメントを投稿する人です。実際には、関係者全員を動かすことを以外、そのようなコメントの背後に、本当の目的がないようです。荒らし者は、反応してほしいがため、嘘・誇張・攻撃的な振る舞いをします。

 

どのようなタイプの人がこれをするのでしょうか? カナダの研究者たちがそれを解明しようとしました。

彼らは1,200人以上の人と2つのオンライン調査を行い、それぞれの主題にパーソナリティテストを行い、インターネットのコメント行動についてのアンケートを行いました。彼らは、ナルシシズム、マキャベリ主義、精神病、サディズムといった性格特性の「Dark Tetrad (ダーク・テトラド) 」と、「荒らし行為」を結びつける証拠を探していました。 

 

インターネット活動で荒らし行為が好きだと言った人々が、"Dark Tetrad" の得点が最も高いことを発見しました。荒らし者の中でこれらの特性がどれくらい強いかを知るには、この図を参照してください。

 

"Dark Tetrad"の得点は、荒らし者以外の人全てにおいて、どれほど低いかを見てください! 彼らの4特性全ての得点が、チャート上で飛躍的に高い。荒らし行為と"Dark Tetrad" の関係は非常に重要なので、著者は論文を書いています。

"...「サディズムとGAIT(荒らしのグローバルアセスメント)スコアの関連性は非常に強かったので、荒らし者は典型的なサディストであると言えるでしょう。...

荒らし者は、あなたが不快な気分になるのを楽しんでいることは間違いありません。著者はもう一度引用する(これは本当に引用可能な記事なので): "荒らし者とサディストは両方とも、他の人の苦痛でサディスティックな喜びを感じる。サディストは楽しいと思うだけで...インターネットは彼らの遊び場だ!

 

もし今後、オンラインで荒らし者に出会う事があったなら、次のことを思い出して下さい:

 

荒らし者は本当に厄介な人たちです。

あなたが迷惑がれば彼らは喜びます。ですから、あなたができる最善の方法は、「彼らを無視すること」なのです。

 

 

 

参考文献

Buckels、Erin E.、Paul D. Trapnell、Delroy L. Paulhusが挙げられる。 「荒らし者はただ楽しみたいだけ」人格と個人差67(2014):97-102。

 

タッチデバイスで、「Drag-like Action」を実装してみた🌟

JS Bin on jsbin.com

DOM イベントに関するTipsです。

タッチデバイスの場合、touchmove の Event type (Event Handler) が実装されているので 、ドラッグというよりは、タッチ&スワイプして、そのまま要素ブロックを移動させる実装の仕方になります。

 

そこで、今回は、スマホアプリ等にもたまに実装されている、

「一定期間タッチし続けると、イベントが発動する」

というアクションを、JavaScriptで実装してみました。

上記デモでは「青ブロックを1秒以上タッチし続けると、赤ボーダーがブロック周りに出現し、ブロックが移動可能になる」というものです。

 

「やってみたい!✨」と思ってコードをいじってみた所、実現できたので、大変満足であります(つ´ω`c)✨✨♪♪

ECMAScript-5.1(2011) 骨子。備忘録

基礎的過ぎて飛ばしがちだけれど、本質的な理解に、すごく重要な箇所(私見w)

ECMAScript 5.1

10 Executable Code and Execution Contexts

10.1 Types of Executable Code


There are three types of ECMAScript executable code:

Global code is source text that is treated as an ECMAScript Program. The global code of a particular Program does not include any source text that is parsed as part of a FunctionBody.

Eval code is the source text supplied to the built-in eval function. More precisely, if the parameter to the built-in eval function is a String, it is treated as an ECMAScript Program. The eval code for a particular invocation of eval is the global code portion of that Program.

Function code is source text that is parsed as part of a FunctionBody. The function code of a particular FunctionBody does not include any source text that is parsed as part of a nested FunctionBody. Function code also denotes the source text supplied when using the built-in Function object as a constructor. More precisely, the last parameter provided to the Function constructor is converted to a String and treated as the FunctionBody. If more than one parameter is provided to the Function constructor, all parameters except the last one are converted to Strings and concatenated together, separated by commas. The resulting String is interpreted as the FormalParameterList for the FunctionBody defined by the last parameter. The function code for a particular instantiation of a Function does not include any source text that is parsed as part of a nested FunctionBody.

翻訳:

10 実行可能コードと実行文脈(実行コンテクスト)

10.1 実行可能コードの種類

 

ECMAScriptが実行可能なコードには、3つのタイプがあります。

(1)グローバルコードとは、ECMAScriptプログラムとして扱われるソーステキストです。グローバルコードには、FunctionBody(関数の中身)は含まれません。

(2)evalコードとは、組み込みのeval関数に提供されるソーステキストです。...(略)

(3)ファンクションコードとは、"FunctionBody(関数の中身)"として、解析されるソーステキストです。...(略)

ちょっと翻訳サボりました😅w 重要骨子部分だけ翻訳してみました。
全文google翻訳にかけてみたのですか、今回は分かりやすく翻訳されなかったので、掲載をやめました。気になる方は、各自で翻訳かけてみて下さ(* ˊ˘ˋ)*_ _))🌟

StickyNav.js (snippet) 作ってみた🌟

JsBin デモ

 

JS Bin on jsbin.com

 

因みにiPadからだと、embed版・jsbinページでもうまく表示されないと思うので、対処法を🌟

 

f:id:DDramonQ:20170430220655j:plain

f:id:DDramonQ:20170430220731j:plain

開いた先の「全面表示ページ」では上手く作動します🌟

f:id:DDramonQ:20170430220831p:plain

JavaScript

"use strict";

var _ = console.log;

var nav = document.querySelector('#nav'),
    navWrap = document.querySelector('#navWrap'),
    navWrapH = navWrap.getBoundingClientRect().height,
    navRect = nav.getBoundingClientRect(),
    navH = navRect.height,
    navTop = navRect.top,
    scrollY = 0;
        //_(navWrapH, navH)
window.addEventListener('scroll', function() {
    scrollY = 0 - document.body.getBoundingClientRect().top;
    
    if( scrollY > navTop ) {
        nav.classList.add('fixed');
        navWrap.style.height = navH + 'px';
    } else {
        nav.classList.remove('fixed');
        navWrap.style.height = '';
    }
});

こんな感じでどうでしょうか。。(´-`).。oO(ちょっと不安w)

6月いっぱいではてなブログを卒業します⭐️

更新が切れるのを機会に、ネットワーク系やサーバー系の知識も学べるという事で、レンタルサーバーを借りてブログを継続していこうかと考えています。まだ全然準備していませんが😅w

 

記事はそのまま数年の間は置いておこうと思っています。7月以降は、はてなさんの広告が入りますがご了承下さい⭐️

 

フォローさん・フォロワーさん僕のブログを読んで下さってありがとうござました。引っ越し先のブログのリンクも又貼りますので、もしよろしければ、引き続きよろしくお願いします٩(⁼̴̀ꇴ⁼̴́٩)♪⭐️

 

p.s: 移転しても、フォローさんのブログはちょくちょく訪れると思いますのでよろしくお願いします(スター落とせないので誰か分かりませんが😅w)

This Blog uses M+ Font, Logo Type Gothic, Google Fonts and FontAwesome. It"s free & Designed cool font. Greatful for Koji Morishita of M+ Fonts Designer( Creator) and "フォントな" , Google, Adobe, and Dave Gandy!
Background Photos is downloaded by Unsplash.com. Thanks!
|*´-`)チラッ
Please Click Me
本ブログ全てにおいて、アフィリエイトプログラムには参加しておりません(•ᵕᴗᵕ•) 詳しくはこちらをご覧下さい。また、 以下のバナーは、私が「質が高い・あら素敵(ˊo̶̶̷ᴗo̶̶̷`)✨」と感じたサイト様を掲載させて頂いておます_(( _๑´ω`))_⭐️