2020年人気のプログラミング言語(Stack Overflow「2020 Developer Survey」より)

Stack Overflowは、開発者を対象に実施したアンケート調査「2020 Developer Survey」の結果を、5月27日(現地時間)に発表した。


今回の調査は、世界中でコーディングを行う人々を対象に約65000名が行いました。その中でも最も人気のあるプログラミング・スクリプトマークアップ言語の調査結果になります。

  • JavaScript        67.7%
  • HTML/CSS       63.1%
  • SQL           54.7%
  • Python         44.1%
  • Java          40.2%
  • Bash/Shell/PowerShell  33.1%
  • C#           31.4%
  • PHP           26.2%
  • TypeScript        25.4%
  • C++           23.9%
  • C            21.8%
  • Go           8.8%
  • Kotlin          7.8%
  • Ruby          7.1%
  • Assembly        6.2%
  • VBA          6.1%
  • Swift          5.9%
  • R            5.7%
  • Rust          5.1%
  • Objective-C       4.1%
  • Dart          4.0%
  • Scala          3.6%
  • Perl          3.1%
  • Haskell         2.1%
  • Julia          0.9%

当然のことながら、Javascriptは8年連続で、最も一般的に使用されるプログラミング言語として維持しています。 リストの下の方を見てみるとTypeScriptが上昇してきていて、過去に人気だったCを上回る結果となっています。

さらに、Rubyは2017年には上位10位に入っていたのですが、GoやKotlinなどにより新しい流行のテクノロジーに追い越されています。

そのほか、約80%の開発者がDevOpsに何らかの重要性を見出しており、44%は所属先に最低でも1人はDevOpsを担当する従業員がいると回答している。同社は、新型コロナウイルス感染症の影響によってチームがリモートで開発を行うケースが多くなっている現状では、今後DevOpsの重要性がさらに高まると予測している。

Trelloの活用方法を大きく広げる拡張機能『Planyway』について紹介

今ではたくさんの方が利用しているTrello。
自分もTrelloのヘビーユーザーで仕事のタスク管理もプライベートのスケジュール管理も全てTrelloで行なっています。

ボードがあり、そこにリストを作っていきます。付箋のようにタスクを管理していきます。 仕事では『与えられた課題』や『これやっておこう』と思ったものをすぐにリストに追加していき、完了したら専用のリスクに移動させる。今やるべきことが可視化できるのとても重宝しています。

しかし、締め切りの設定は出来ますが「会議の時間は◯時〜◯時」や「◯時〜◯時はこれに集中しよう」などのタイムマネイジメントが難しいです。

そこで、おすすめなGoogle Chrome拡張機能で使える『Planyway』を紹介いたします。

chrome.google.com

使い方は簡単です。 上記のサイトから拡張機能を追加してTrelloを開くだけです。

f:id:isoppu0919:20200406231919p:plain

f:id:isoppu0919:20200406232021p:plain

締め切りを登録するだけではなく、タイムスケジュールの管理までできるようになります。 Googleカレンダーとも連携できます。

さらに、パソコンだけの管理ではなく『Planyway』は拡張機能だけではなく、スマホのアプリも配布されています! なので、電車の中やパソコンを見ることができない環境でもタスクの確認・編集が可能です。

f:id:isoppu0919:20200406231635p:plain

Weeklyだけでなくガントチャートロードワーク管理。カレンダーのスケジュール管理もできるので、色々な環境で活躍するかと思います。

基本的な機能は無料ですが、Googleカレンダーへの連携や細かな機能については有料になります。

f:id:isoppu0919:20200406230419p:plain

月々、約500円ですが特に無料枠でも不自由なく使用することはできます。

Trello Power-Upの機能の中にも追加機能として存在はしますが、個人的にはChrome拡張機能スマホアプリがおすすめです。

ラテラルシンキング(水平思考)とは?

f:id:isoppu0919:20200103084054j:plain

ラテラルシンキングとは

前提をなくして水平方向に発想を広げる思考方法

1967年にイギリスの医師であるエドワード・デボノが提唱した思考法で、別名を水平思考あるいはラテラル思考と呼ばれている。


ラテラルシンキングとロジカルシンキングの違い

ラテラルシンキングとロジカルシンキングは相互補完の関係にあり、組み合わせることで思考の幅も広がります。

ロジカルシンキング
「前提」
 ↓
「推論」
 ↓
「結果」
という道筋をたどるため、ロジカルシンキングは垂直思考とも呼ばれ、既成概念を基に筋道を立てて深く掘り下げて考えるため、論理的に正しい結論は1つになります。

一方、ラテラルシンキングは既成概念にとらわれず、多角的な視野と発想で創造的な問題解決を測るため、「前提」に対して着目し前提そのものを覆す発想を生みます。

よって、ロジカルシンキングは「垂直思考
ラテラルシンキングは「水平思考
と呼ばれる。


ラテラルシンキング活用の場面

  • 新たな方向性を見出しイノベーションを起こしたい場面
  • 既存のプログラムやシステムを他の事業に役立てたい場合
  • リスクを伴う可能性のある大きな売り上げを出す場合

主に、既存にあるプログラムやシステムを活用して新たな開発をする際に効果的です。


ラテラルシンキングの例題

例題:3人の子供に13個のオレンジを公平に分けるにはどうしたらいいでしょうか?

・ 解答例1:オレンジを1人4個ずつと残りの1個を3等分に切り分けて与える ・解答例2:1人4個のオレンジの重量を計り、残りの1個を1人当たりの総重量が同じになるように切り分けて与える。 ・解答例3:オレンジをジュースにして3等分する ・解答例4:オレンジを1人4個ずつ分け、残り1つの種を植えて実ったオレンジを同じ数ずつ分ける

【出典】ずるい考え方 ゼロから始めるラテラルシンキング入門 木村尚義著

解答例の1・2は、前提条件を論理的に考えたロジカルシンキングを活用した考え方です。 一方、解答3・4は、オレンジそのものを使うと言う前提条件の発想から考え、自由な結論を導くことができます。


ラテラルシンキングについて学べる本


水平思考の世界/エドワード・デボノ

ラテラルシンキングの提唱者であるエドワード・デボノ本人による著です。 ロジカルシンキングの限界を軽々と乗り越える不可能を可能にする発明家の視点。絶体絶命と思われる状況でさえ、極めて自分に好都合な状況へと転換することができます。

水平思考の世界

水平思考の世界




3分でわかる ラテラル・シンキングの基本/山下 貴史


仕事にラテラルシンキングを取り入れたい人やトレーニング法を探している方におすすめ。

「ラテラル・シンキング」を誰でもできる方法に落とし込んで、1項目3分でわかりやすく解説した本書は、「考えること」を求められる20代~40代のビジネスパーソンに、新しい気づきを必ずやもたらすでしょう。

3分でわかるラテラル・シンキングの基本

3分でわかるラテラル・シンキングの基本

RailsのGem【Faker】とは

Fakerとは、

ライブラリを利用してRubyでダミーデータを作ることで スムーズにテスト環境を作ることが出る。

インストール

インストール方法はいたって簡単。通常のGemを使いう方法と全く同じ。 gem install fakerでインストール。 もしくはGemfileに

gem 'faker'
続きを読む

letとlet!の違い

letは遅延評価をされる習性があり、変数として使用されてやっと中身が実行される。

```
let(:user_article) { create(:article, user_id: user.id) }
・・・
expect(user.articles.first).to eq user_article
```

上の記述の場合、eqの左側で`article`が使われているが`let`で変数化される前のものだが、eqの右側で変数が呼び出されるので別の値になる。

しかし、ここで`let`の部分を`let!`にすると変数の呼び出し関係なしにcreateされているので、値は等しくなる。

### `let!`と`before`は同じタイミング

```
before { create(:user) }
let!(:user_article) { create(:article, user_id: user.id) }
before { create(:user_2) }
```

上から順番に行われる。

Rails 6.0.0正式版がリリース

Rails開発者のDavid Heinemeier Hansson氏が8月15日に、Railsのメジャーバージョンアップ版「Rails 6.0.0」の正式版を公開したことを発表しました。

Rails 6には 受信メールを処理するAction Mailboxリッチコンテンツを作成できるAction Textという2つの主要なフレームワークが追加されたほか、 複数データベース接続のサポートや、並行テストのサポートといった重要な新機能が追加されています。


  • Action Mailbox・・・受信したメールをRailsで処理するためのコントローラー風のフレームワークで、Amazon SESやMailgunなどの入力に対応しているほか、EximPostfixQmailといったメールシステムの入力を直接扱うこともできます。
続きを読む

初めてブログを書く参考テンプレートについて調べてみた

前回の記事が少し箇条書きになりがちだったので、
今回は、ブログの書き方(テンプレート)について調べてみました。


テンプレートを使うことで、文章にまとまりを持たせて時間短縮になります!

~基本的な構成~

それぞれ三つの構成で書いていきます。 f:id:isoppu0919:20190621102707p:plain

続きを読む