paiza times

paizaがお届けする、テック・キャリア・マネジメント領域における「今必要な情報」を届けるWebメディア

logo

paizaがお届けする、テック・キャリア・マネジメント領域の「今必要な情報」を届けるWebメディア

JavaScriptだけでTrello風タスク管理ボードを開発できるライブラリ「jKanban」を使ってみた!

f:id:paiza:20180418115937j:plain
どうも、まさとらん(@0310lan)です!

今回は、簡単なJavaScriptコードだけでTrello風の「タスク管理ボード」を開発することができるライブラリのご紹介です!

非常にカスタマイズ性が高く、自分好みのタスク管理アプリを構築したい人などには最適でしょう。

コードも簡単で初心者の方もすぐに理解できると思うので、ぜひ参考にしてみてください!

jKanban

f:id:paiza:20180418120030j:plain

■「jKanban」の使い方

それでは、まず最初に「jKanban」を利用するための準備から始めていきましょう!

必要になるのは専用の「JS / CSS」ライブラリで、GitHubからそれぞれ取得して読み込むだけなのでお手軽です。


これらのライブラリは次のようにHTMLへ追記しておけば準備完了です。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>jkanbanサンプル</title>
    <link rel="stylesheet" href="/css/jkanban.min.css">
</head>
<body>


    <!-- ここにタスク管理ボードが表示される -->
    <div id="mykanban"></div>




    <script src="/js/jkanban.min.js"></script>
    <script>


        //ここにプログラムを書いていく!


    </script>
</body>
</html>

「divタグ」を1つ配置していますが、ここにあとから「タスク管理ボード」を表示させるようにしたいと思います。

今回は、id属性名として「mykanban」を設定しています。

導入準備としてはこれだけです。…簡単ですね。

■「タスク管理ボード」を作ってみよう!

準備が整ったところで、いよいよ「タスク管理ボード」を作成していきましょう!

まず最初にやることは、「jKanban」のインスタンスを作ることです。

const kanban = new jKanban({ オプション });

インスタンスを作る際に、オプションを指定することである程度の初期設定ができるようになっています。


今回は、サンプルとして次のようなオプションを設定してみました。

const kanban = new jKanban({


    element: '#myKanban',   //タスク管理ボードを表示させたいHTML要素


    gutter: '15px',   //ボード同士の間隔


    widthBoard: '250px',   //ボードのサイズ


    boards: defaultBoards   //初期状態のボードの中身をJSONで指定


});

基本的なオプションとしては、タスク管理ボードを表示させたいHTML要素の指定やボードのサイズ・間隔などがあります。(オプションの詳細はコチラ


注目していただきたいのは「boards」というプロパティに指定するJSON形式のデータです。

これは、必要な「タスク」や「管理ボード」をあらかじめJSONデータで用意しておけば、読み込むだけですぐに独自のタスク管理ボードを表示させることができる機能になります。


そこで、今回は次のようなJSONデータを作ってみました!

const defaultBoards = [


    {
        "id": "sample-board-1",
        "title": "タスク",
        "item": [
            { "title": "報告書の作成" },
            { "title": "14時から打ち合わせ" }
        ]
    },




    {
        "id": "sample-board-2",
        "title": "進行中",
        "item": [{ "title": "○○案の企画書作成" }]
    },




    {
        "id": "sample-board-3",
        "title": "完了",
        "item": [{ "title": "日報の提出" }]
    }


];

この例だと「defaultBoards」という名称でJSONデータを作成しており、3つのタスクボードを表示できるようにしています。

「id」は固有の英文字を指定するようになっており「title」がそのままボードのタイトルで「item」は各ボードの中身となる1つずつの「タスク」になります。


実行するとこんな感じです!

f:id:paiza:20180418120327j:plain


タスクの移動もドラッグ操作で簡単にできるようになっています!

f:id:paiza:20180418120341g:plain

もちろん、オプション設定でカラー配色なども好きなように変更できるし、ボードの数やタスクを動的に増やすことも可能です。


このサンプルのソースコードは以下のリンクから閲覧可能です!

【 JSONを使ったサンプルデモ|GitHub 】

■タスクを入力して追加できるようにしてみよう!

今度は、Trelloみたいに自分でタスクを入力して追加できるようにしてみましょう!

この方法だとJSONを用意していなくても利用できるので、さらに応用範囲が広くなります。


まず最初にオプション設定で、以下のように新しく2つの項目を追加します。

const kanban = new jKanban({


        ・
        ・
        ・
    addItemButton   : true,


    buttonClick: (elem, id) => addFormElement(id)


});


「addItemButton」というプロパティを「true」にすると、ボードにタスクを追加できるボタンが表示されます。

f:id:paiza:20180418120559j:plain

そして、このボタンをクリックした時の処理を「buttonClick」というメソッドに記述すればOKです。


今回は「addFormElement()」という関数を作って指定しました。

関数の中身ですが、フォーム要素を作ってタスク入力用の「inputタグ」を配置してあげるだけです。

function addFormElement( id ) {


    const formItem = document.createElement('form');


    formItem.innerHTML = '<input type="text">';
    kanban.addForm( id, formItem );


}

ボード固有のIDを受け取れるようになっているので、それを「addForm()」メソッドに指定すればOK!


あとは、タスク登録用のイベント処理を記述すれば完成です!

function addFormElement(id) {
        ・
        ・
        ・


    formItem.addEventListener('submit', (e) => {
      e.preventDefault();


      //入力された「タスク」をボードに登録
      kanban.addElement(id, {"title": e.target[0].value});


      //フォーム要素を非表示にするため削除
      formItem.parentNode.removeChild(formItem);
    }) 


}

「addElement()」メソッドに入力された文字列を指定すればボードにタスクが追加されます。

最後に生成したフォーム要素を削除すれば、Trello風タスク管理ボードの完成です!


実行するとこんな感じです!

f:id:paiza:20180418120648g:plain

ここまでのサンプルコードは、以下のURLから閲覧できるので参考にしてみて下さい!

【 タスクを入力して追加するサンプルデモ|GitHub 】

■「jKanban」のカスタマイズについて

「jKanban」には多彩なメソッドやAPIが提供されているので、自分好みにボードを細かくカスタマイズすることが可能です。

例えば、オプション設定の「click」メソッドを以下のように追記します。

const kanban = new jKanban({


        ・
        ・
        ・
    click: (elem) => kanban.removeElement(elem)


});


「removeElement()」にタスク要素(elem)を指定するだけで、以下のようにクリック操作で削除できるようになります!

f:id:paiza:20180418120758g:plain


また、JSONデータを用意する際に「dragTo」へ移動可能なボードを指定することができます!

{
        "id": "sample-board-1",
        "title": "タスク",


        "dragTo": ['sample-board-2'], 


        "item": [
            { "title": "報告書の作成" },
            { "title": "14時から打ち合わせ" }
        ]
},

上記の場合だと、IDが「sample-board-2」のボードにだけタスクをドラッグ移動できるという意味になります。


これを上手く活用すると、以下のようにタスクをいきなり「完了」ボードに移動できないルールを簡単に作れるわけです!

f:id:paiza:20180418120847g:plain

他にも、「addBoard() / removeBoard()」でボード自体を追加・削除できたり、「findElement()」でタスクを横断検索する機能なども簡単に作れます。(APIの詳細はコチラ


これらのカスタマイズも含めた最終的なサンプルデモのソースコードを以下のリンクから閲覧できますので、ぜひ参考にしてみてください!

【 jKanbanのサンプルデモ|GitHub 】

JavaScript入門編は全編無料!動画で学べるpaizaラーニング


動画でプログラミングが学べるpaizaラーニングでは、JavaScript入門編はもちろんPython、Java、C言語、C#、PHP、Ruby、SQL、HTML/CSSなど、プログラミング初心者でも動画で学べる入門レッスンを公開しています。

JavaScript入門編」「Python入門編」「C#入門編」「ITエンジニアの就活準備編」といった人気講座も完全無料となっておりますので、プログラミングを学びたい方・ITエンジニアを目指したい方はぜひごらんください。

また、普段有料の「Java入門編」が、4/17(火)~4/23(月)の期間限定で【全編無料】となっております。この機会にぜひごらんください。

■まとめ

今回は、JavaScriptで独自の「タスク管理ボード」を簡単に開発できるライブラリ「jKanban」を駆け足でご紹介しました!

ピュアなJavascriptだけで作られたライブラリなので導入が簡単であり、さらにCSSフレームワークなどと組み合わせればオシャレなボードをすぐに構築できます。

個人やチームのプロジェクト管理などにも応用できるので、ぜひみなさんもオリジナルのタスク管理ボードを作って試してみて下さい!


<参考>



paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。

そして、paizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。

スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。

paizaのスキルチェック

Pythonしかやりたくない!?一つの言語にこだわる未経験者がエンジニアとして採用されない理由

f:id:paiza:20180417180318j:plain
Photo by Ray Bouknight
f:id:paiza:20140916135428p:plainこんにちは、谷口です。

「Python最高!」
「Pythonってほかの言語と比べて何がいいの?」
「ほかの言語は知らんけどPython最高!」
「……」
みたいな若いエンジニア(もしくはエンジニア志望者)、皆さんの周りにもいませんか?

エンジニアとして「好きな技術がある」のはもちろんとてもよいことですが、

  • 実務経験もないのに「Pythonの求人にしか応募したくない」
  • 「ほかの言語は使ったことがない」と言って好きな言語しかやりたがらない

みたいな感じで、経験が浅いにもかかわらずこだわりが強すぎる人は、転職活動ではマイナスになってしまうケースがよくあります。(別にこれはPythonに限った話ではないのですが、特にPythonにこだわりたがる人があまりにも多いので例にしました…)

今回は、「この言語しかやりたくない!」と言う人が勘違いしていることと、エンジニアとして転職するためにすべきことについてお話しします。

■「この言語しかやりたくない!」と主張する実務未経験者が勘違いしていること

◆言語にこだわりすぎると敬遠される理由を知らない

開発エンジニアは技術を使う仕事なのに、なぜ好きな技術にこだわりすぎると応募先に敬遠されてしまうのでしょう?

企業にとって開発言語とは、あくまで目的を達成するための手段にすぎないからです。

たとえば、「うちの会社の目的は、Pythonを使ってプロダクトを作ること!」という会社は、まあ、ほとんどありません。

それよりも、多くの企業は「こんなサービスを作りたい→その開発に適しているから、Pythonを選んで使っている」と思ったほうがいいでしょう。

企業の目的は「Pythonを使うこと」ではありませんから、もっと便利な言語が出てきたら、Pythonから乗り換える可能性もあります。「うちのサービスのスマホアプリを作ろう」となったら、スマホアプリに適した言語を勉強して使う必要も出てきます。

そんなときに「作りたいものに対して最適な技術」を調べたり、選定したりするのも含めてエンジニアの仕事です。ただ「好きな言語を使うこと」だけが仕事ではありません

ですから、「この言語しかやりたくない!」といった主張が強い人は「目的を理解していなさそう」「手段と目的を取り違えそう」に見えて敬遠されてしまうのです。その言語を既に極めたスペシャリストならまた別ですが…。

「自分はPythonが好きだからPythonの求人しか受けたくない」みたいな人は、ふしぎと実務未経験者が多いです。逆に経験もスキルも豊富な人は、特にメイン言語にこだわりはない人も多くいます…。

◆一つの言語だけを追求すればスペシャリストになれると思っている

f:id:paiza:20210720143100j:plain

なれません。

たとえば、Pythonしか使えない人が、Pythonのスペシャリストになれる可能性はありません。

スペシャリストというのは、「他の言語と比べて、Pythonはこれが得意だがこれは不得意なので、こんな開発をする場合に適しているが、こんな開発をするなら別の言語のほうが適している」「C言語で書かれているPythonライブラリの内容も読み解ける」などの知識を網羅しているレベルの人です。

現役のPythonスペシャリストで「ほかの言語は全然知らないんだけど…」なんて人はまずいません。

◆現実的な求人数や求められるレベル感を理解していない

Pythonばかり例に挙げて申し訳ないですが……近年Pythonエンジニアの平均給与が高いとか、需要が高まっているとか言われていますよね。

これは間違いではありませんが、Pythonエンジニアの平均給与がなぜ高いかというと、「Pythonが機械学習の分野で使われているケースが多い」からです。で、もっと言うと平均給与や需要が高い要因のひとつとして、機械学習系の業務は難易度が非常に高いため、実務で結果を出せる人はそれだけで価値があるからです。

だから、別にPythonさえできるようになれれば、エンジニアとしての需要が高まるわけでも、給与が高くなるわけでもありません。

ここをすっ飛ばして「時代はPythonだ!」と思い込んだままPythonだけを勉強しても、あまり思うような転職結果には結び付かないかと思います。

Pythonって初心者でも書きやすい・勉強しやすい言語ですよね。これって、裏を返せば「ちょっと勉強したら誰でも書けるようになれる」ということですから……「Pythonがちょっと書ける」だけのことが、ものすごい付加価値になるわけではありません。

◆一つの言語でプログラミングするだけの仕事があると思っている

メイン言語ひとつで成り立っているサービスなんて、まずありません。

Webサービスを作って運営しようと思ったら、たとえばRubyをメイン言語として、フロントエンドを作るのにJavaScriptやHTML/CSSを使ったりしますし、データベースを使うためにSQLを書けるようになる必要も出てきます。ほかにも、もっとサブ言語を駆使して複雑な処理を実装しているサービスもあるかと思います。

加えて、エンジニアの業務は「一人でもくもくとPCに向かってコードを書く」ことだけではありません。

グループでの開発やミーティング
サービス企画から考える開発
エラー処理やセキュリティ対策
あらゆるパターンを網羅した動作テスト
人のコードを読んで修正するリファクタリング
…などなど、これに限らずさまざまな仕事も発生します。

■エンジニアとして転職するにはどうすべきか

f:id:paiza:20190801092323j:plain

◆実務に使われている技術を全体的にもっと知る

「一つの言語しか使いたくない!」という未経験者の場合、開発実務の全体像や、ほかに必要とされる技術について把握していないケースが多いので、まずはそこから学んだほうがいいです。

たとえば、簡単なWebサービスを自分で作ってみると、Rubyで作るならRailsやSinatraといったフレームワークがあって、フロントエンドはこう作って、DBを操作するにはこうする……みたいな感じで、Webサービスを作って公開するまでの一連の流れ、それぞれのツールの使い方、どこにどんな技術が必要で、何の作業が必要になるのか……などがわかります。

特に「未経験から目指したい」ジャンルがあるのであれば、転職先が決まるのを待たずに、自分で勉強して実際に動くものを完成させてみたほうが手っ取り早いですし、採用選考ではよいアピールにもなります。

いろいろな技術に触れてみるのも、よい情報収集になります。同じ未経験者で「PythonしかやったことないのでPythonがやりたい」という人と、「Pythonが好きだけど、情報収集のためにRubyやPHPも使ってみたことで、それぞれの特徴や違い、何に向いているかがわかった」という人が応募してきたら、企業がどちらを採用したいかは明らかですよね。

先日、paizaのエンジニアが勉強のためにスライド作成用のmarkdownエディタを開発した話を書きましたが、現役エンジニアでも「とりあえず動くものを作ってみる」のは有効な勉強方法です。
paiza.hatenablog.com

上記の記事の内容が全然わからん……という初心者の方でも、paizaラーニングだとプログラミング未経験者から始められる「Ruby入門編」「Java入門編」などから、実際に動くWebアプリが作れる「Webアプリ開発入門」まで公開していますので、そのあたりから始めてみるのがいいかと思います。

ちなみにpaizaラーニングでは、現在期間限定で「Java入門編」を全編無料公開しています。

◆求人情報を集め、複数企業に応募をして現実を知る

paizaでなくてもさまざまな求人票を見まくって業務内容や必須要件をチェックしていると

  • 自分がやってみたいと思う求人では、どんなレベルのスキルや経験が求められているのか
  • 自分が応募できる求人では、どんな開発環境が使われているのか

といったことがつかめてきます。

また、転職活動中は気になる企業があれば実際に応募をしてみるとよいのはもちろんですが、特に未経験や経験が浅い方ほど、いろいろな企業に応募してみて、情報や比較材料を集めたほうがいいかと思います。

paizaでは、事務局にご相談いただければ応募者の方のレベルにあった求人をご紹介することもできます。

paizaの転職ステップについて詳しくはこちら

■まとめ

好きな技術、使いたい技術があるのは、エンジニアとしてよいことです。

ただ、実務においてそれにこだわりすぎると、手段と目的が逆になってしまうので、それはエンジニアとして最適ではない……という話です。

「これが好き、これしか使いたくない」で止まらず、そこからさらに自分ができる範囲を広げていくにはどうすべきか、を考えて実行に移していったほうが、エンジニアへの転職が成功しやすいでしょう。


paizaは、開発経験の浅い方や開発業務が未経験の方へ向けて、エンジニアとしての転職をサポートするサービス「EN:TRY」をスタートしました。

実際に、開発業務未経験からエンジニアになった方、採用を担当された方のインタビュー記事も掲載しています。
詳しくはこちら


EN:TRY」は、エンジニア職未経験者や経験が浅い方をITエンジニアキャリアへ導く転職サービスです。

これまでのpaiza同様、EN:TRYもプログラミング力、コーディング力で転職をする「コーディング転職サイト」です。転職希望者には「プログラミングスキルチェック」を受けていただき、提出していただいたコードをもとにスキルランクを評価します。求人には必要なスキルランクが設定されており、評価がそれを満たしていれば書類選考なしで応募が可能です。

詳しくはこちら
“EN:TRY"

まずはスキルチェックだけ、という使い方もできます。すぐには転職を考えていない方でも、自分のプログラミングスキルを客観的に知ることができますので、興味がある方はぜひ一度ご覧ください。

詳しくはこちら
paizaのスキルチェック

初心者向け・Javaが動画やクイズで学べる!プログラミング学習コンテンツ6選

f:id:paiza:20180416203713j:plain
Photo by Barney Moss
f:id:paiza:20140916135428p:plainこんにちは。谷口です。

Java初心者の皆さんは、普段どうやって勉強をしていますか?

  • Web上で学習サービスを探す
  • 教えてくれる人を探して聞く
  • スクールに通う
  • 書籍や学習サイトに書いてある情報を読む

などの方法があるかと思いますが、「学習サイトやYouTubeなどの動画」でも、Javaについて学ぶことができます。

動画を使えば、無料、もしくは安価で楽しく・効率よくJavaについて勉強できます。

今回は、そんな動画やスライドなどを見ながらJavaを学べる学習コンテンツを6つご紹介します。


【目次】

■Javaが動画やクイズで学べる学習コンテンツ

◆ProgrammingKnowledge:Java Tutorial For Beginners

※英語

www.youtube.com

さまざまな言語のチュートリアル動画が公開されているチャンネルで、Java以外にもPython、PHP、Scalaなどのチュートリアル動画があります。

◆伊沢剛:Java入門

※日本語

www.youtube.com

伊沢さんによるプログラミング解説動画は、ほかにもC言語、Python、Swiftなどがあります。

Pocket Programming - Android/Java編

※日本語

f:id:paiza:20180416200857j:plain

Javaの基礎とAndroidアプリ開発手法が学べるAndroidアプリです。(Ruby/Rails編はiOS版とAndroid版がありますが、Android/Java編はAndroid版のみのようです)

f:id:paiza:20171219142653j:plain

JavaとAndroid開発について、2週間ずつの学習セットが公開されています。1問1答の3択クイズ形式で、隙間時間でもスマホで勉強できます。

ドットインストール

※日本語

f:id:paiza:20171205170439j:plain

動画を通してJavaの書き方、環境構築方法などが学べます。

paizaラーニング「Java入門編」

※日本語

オンラインでプログラミング学習ができる「paizaラーニング」には、JavaはもちろんPython、Ruby、C#、PHP、C言語、JavaScript、HTML/CSS、SQLなどなど多数の言語から、Webアプリ開発入門、ITエンジニアのキャリア入門などのレッスンもございます。

Java入門編」は、ふだんは一部有料ですが、本日から一週間限定で【全編無料】となっております。ご興味のある方はぜひごらんください。

コードガールこれくしょん

※日本語

paizaが公開しているコードガールこれくしょん略してガルこれは、ナビゲーターと一緒にプログラミング問題を解き、「コードガール」を集めながらストーリーを進めていく、プログラミング学習ゲームコンテンツです。JavaはもちろんPyhton、Ruby、PHP、C、C++、C#、JavaScriptに対応しています。

ゲーム内ではクエスト報酬やログインボーナス・ミッションクリア等の各種特典として手に入る「コイン」や「ダイヤ」を使って、ガチャでさまざまな「コードガール」を収集することができます。クエストで有利になる特殊スキルを発動させたり、「これくしょん」に入れてマイページに飾ったりと、コードガールをたくさん集めるほど楽しみ方が広がります。

■まとめ

Javaエンジニアの求人は、かつては金融関係のシステム(ATM等)などの比較的大規模開発案件が中心でしたが、近年はAndroidのネイティブアプリ開発現場などでも増加しています。Javaは長年にわたって世界中の幅広い開発分野で使用されているため、求人数も非常に多く、エンジニアを目指す人であれば勉強しておいて損はありません。

「興味がわいてきた!」という方は、学習サイトでも、書籍でも、自分が気になるところから挑戦して、ぜひJavaプログラミングに触れてみてください。

そしてある程度の基礎が身につきましたら、ぜひpaizaでご自分のスキルをはかってみてくださいね。


Java入門編」は、ふだんは一部有料ですが、本日から一週間限定で【全編無料】となっております。この機会にぜひごらんください。




paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。

そして、paizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。

スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。

paizaのスキルチェック

初心者でも簡単・クラウド環境PaizaCloudを使ってWeb開発ハンズオン勉強会を開催してみた

f:id:paiza:20180416140002j:plain

Photo by Naaman Saar Stavy

(English article is here)

f:id:paiza:20151217152725j:plainこんにちは、吉岡([twitter:@yoshiokatsuneo])です。

先週、数回にわたってpaizaで「Webアプリ開発ハンズオン勉強会」を開いてみました。

平日・夕方の小規模なイベントで、ほとんど宣伝していなかったにもかかわらず、思いのほか多くの方々にご参加いただきました。ありがとうございました!

勉強会では、Ruby on Rails, Django, LaravelとMySQLを使って、簡単な掲示板Webアプリを実際に作ってみました。

1時間半程度の時間で、掲示板アプリの開発を行ったのですが、事前準備なしに関わらず、全員が最後まで作成することができました!よかったです!

今回は、このハンズオン勉強会を実施してのレポートを書きたいと思います。

流れ

勉強会は以下の様な流れで行いました。

  • 受付
  • 全員で自己紹介
  • 簡単なWeb開発についての紹介。
  • PaizaCloudでサーバを立ち上げるまでの説明。
  • 各自で、資料(ブログ記事)に沿って、掲示板Webアプリ開発。適時質問してもらう。
  • 大体できたら、適時交流。
  • アンケート

このような短時間のハンズオン勉強会では、動くモノの作り方を実践しようとしても、なかなかうまくいかないケースもあります。

たとえば… - PCによってOSや環境が違うため、開発環境の構築が同じようにできない。 - インストール時に、バージョンや依存関係でエラーが起きる。 - 他のアプリケーションの影響で、実行環境がうまく動かせない。 -環境構築の 手順を間違えて、簡単に元に戻せなくなってしまった。

実際、インストール手順が終わるころには、参加者のほとんど脱落してしまっている……という状況は珍しくありません。でも、それでは何のための勉強会かわかりませんよね。

そこで、今回はブラウザ上でWeb開発が行えるクラウド開発環境PaizaCloudを使ったハンズオン勉強会を実施しました。

クラウド開発環境PaizaCloudは、ブラウザ上でWeb開発が行えるサービスです。クラウド上のLinux開発環境も、ブラウザから操作できますし、開発に必要なファイル編集、ターミナル、ブラウザ、ファイル管理などの機能もブラウザ上で簡単に利用することができます。また、日本語対応しているため、使い方も簡単です。

開発に必要なツールも一通り揃っていて、Ruby on Rails, Django, Node.js, Laravel, PHP, Java(tomcat), MySQL, Jupyter Notebookなどなど…のフレームワークやツールもがあらかじめインストール済みなので、開発環境の構築に手間をかける必要はありません。

ブラウザを開けばどこからでも同じ環境を使って開発できるので、家、勉強会、会社など、環境や使うPCが変わっても、同じ開発環境を使って開発できます。

今回、正味の開発時間は1時間強ぐらいしか設定していなかったので、最初は正直言って時間が足りないのでは…と不安だったのですが、参加者の皆さんが優秀だったこともあり、なんと全員が掲示板Webアプリを完成させることができました。

f:id:paiza:20180228120124p:plain

気付いた点

実際にハンズオン勉強会を開いてみて、気付いた点、印象的だった点は以下の通りです。

自前のPCじゃなくても開発を継続できる

「PC必須」と記述していなかったのでPCを持参されない方もいました。余っていたMacのゲストアカウントを利用してもらい、そこからPaizaCloudを使って開発していただきました。

PaizaCloudを使えば、ブラウザ上で開発できるのでPCには何もインストールする必要はありません。ブラウザさえ開けばすぐに開発に取り組めます。今回のように借りたPCを使って開発を始めたとしても、帰宅後に自前のPCから同じアカウントでログインすれば、同じ環境でそのまま開発を続けることができます。

手順を間違えて動かなくなった場合の対処

途中、オプション設定の間違いなどで、途中で動かなくなってしまうケースもありました。(こうした勉強会ではよくあることですね…)

設定などは中途半端な状態で工程を間違えてしまうと、プロセスやファイルなどが残ってしまったりして、その辺の知識がないと元に戻すのが大変になってしまいます。

しかし、初めて開発に取り組むような初心者の場合、詳しい知識なんか持っていない人がほとんどです。

まずはWeb開発全体の流れや大筋をつかむことが大切なのに、そのような細かいところで詰まってしまうと、いつまでたっても先に進めず、何も始まりません。

このような場合も、PaizaCloudではサーバを再作成することで、簡単に最初から手順をやり直せます。

クラウド上の独立した開発環境なので、PC内の開発環境として失うものは何もありません。また、わずか3秒程度でサーバが起動できるので、手軽に何度でもやり直して挑戦できます。

動かなくなったり間違えたりした場合は、何度か手順を繰り替えすことにはなりますが、環境設定にありがちな原因不明のエラーに悩まされることに比べれば素早く解決できますし、二度目以降は慣れているので、サクサク進めることができます。

データベース設定

データベースの作成忘れや、名前の違いなどでエラーがでることもありましたが、正しく設定し直すことで、皆さんうまく動作させることができました。

PaizaCloudではMySQLなどのデータベースサーバもクリーンな状態でインストール済みなので、トラブルは少なかったです。

これが、そもそものデータベースをインストールして、設定するところから始めていたら、まず時間内には終わらなかったと思います。データベースをインストール済みの環境があったりすると、バージョンや設定の違いにも悩まされたかと思いますし…。

クリーンな同じ環境で開発できるというのは、勉強会や初心者が初めて学ぶときには大きな利点になるかと思います。

まとめ

というわけでWeb開発のハンズオン勉強会で、PaizaCloudを使って開発し、全員が掲示板アプリを作ることができました。

ひと通り完成させるところまでたどり着けたことで、参加者の皆さんにも満足していただけたようでした。

PaizaCloudを使うと、環境設定不要でWeb開発が行えます。複数人で実施する場合も、全員が同じクリーンな環境で開発できますし、何度でも簡単にやり直すことができるので、ハンズオン勉強会やプログラミング研修、プログラミングスクールなどでの利用にも最適かと思います。PaizaCloudを使ったハンズオンなど、ぜひ実施してみてください。

PaizaCloudを使った簡単なWebアプリ開発の手順は以下の記事でも解説していますので、興味のある方はごらんください。 paiza.hatenablog.com

paiza.hatenablog.com

paiza.hatenablog.com


PaizaCloud」は、環境構築に悩まされることなく、ブラウザだけで簡単にウェブサービスやサーバアプリケーションの開発や公開ができます。 https://paiza.cloud


paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。

そして、paizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。

スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。

paizaのスキルチェック

プログラミング学習で挫折してしまう初心者にありがちな7つのこと

f:id:paiza:20180413120226j:plain
Photo by Naaman Saar Stavy
f:id:paiza:20140916135428p:plainこんにちは、谷口です。

最近はプログラミングの勉強を始める人が多いですが、そのぶん「途中でつまずいて挫折してしまった…」という人も増えています。

プログラミング初心者は、どういった原因で挫折してしまうのでしょうか?また、どうすれば挫折せずに勉強を進められるのでしょうか?

今回は、プログラミング学習で挫折する人にありがちなことと、その対処法について考えてみました。

■プログラミング学習で挫折しちゃう人にありがちなこと

◆環境設定が大変

f:id:paiza:20210720143351j:plain
プログラミングを勉強するには、まず自分のPCに実行環境を作る必要がありますが、初心者にとってはこの環境設定が最初のハードルです。

技術書や解説サイトを見ながらやってもなかなか同じようにできないし…コードを書くところまで至らずに挫折した経験がある人も多いかと思います。

◆何から始めてどこまでやればいいかわからない

プログラミング言語やフレームワークは非常にたくさんあります。自分がどの言語から学ぶべきなのか、どれが何を作るのに向いているのか、そしてどこまで学べばどんなスキルが身につくのか……初心者が判断するのは難しいですよね。

◆わからないことを聞ける人がいない・調べ方がわからない

独学で勉強をしていると、「誰かに質問したい、でも聞ける相手がいない!」という状態に陥りがちです。友達に詳しい人やエンジニアでもいればよいのですが、そんな友達がいる人ばかりではないですよね。

わからないことを調べるにしても、どう調べたらよいのか・調べたら答えが見つかるのかどうかもわからない…。

結局一人で延々悩んで、何も解決しなくて、そのまま挫折してしまうケースもあります。

◆本を買っただけ・読んだだけで満足する

もちろん本を使って勉強するのはよいことなのですが、プログラミングは「本を眺めていればできるようになる」ものではありません。

自分で手を動かしてコードを書かないと、いつまでたっても身につかないです。本を使って勉強するにしても、「読みながら手を動かしてやってみる」実践が必須です。

◆本を見ながらのプログラミングがやりにくい

前述のとおり、本を使うのは悪いことではありません。

ただ、本を見ながらプログラミングをしようとすると、ぶ厚い技術書を開いて机に置いて、本とPC画面を見ながら写経をして、写経をしていたら閉じてしまった本をめくって、わからなくなったので前の章に戻って……みたいな状態になって、「面倒くさ!」と思った経験がある人も多いと思います。

特に初心者の場合、本を見ながら一つずつ手順を進めていこうとすると、何度も視線を移動させなければなりません。そのため、インプットとアウトプットがいちいち分断されて効率が悪くなりがちです。あと、地味にぶ厚い技術書ってPCの横に開いたまま置きづらいし…。

◆隙間時間でやりづらい・どれぐらい時間がかかるのかわからない

プログラミングを学ぼうと思ったら、どうしても「まとまった時間、PCに向かう作業」が必要になります。「空き時間に単語帳をながめる」みたいな勉強ではないため、まとまった時間がとれないと、なかなか先に進めません。

また、「一定のレベルまで進むのに一体どれぐらいの時間がかかるのか」がわかりづらいのも、初心者のハードルが上がってしまう一因かと思います。

◆本当に身についているのか・どれぐらい身についているのかわからない

なんとかで勉強を進めてみても、一人でやっていると本当に身についているのかわかりません。

初心者向けの練習問題でもないと、「自分はどこまで身についているのか?どこが足りないのか?本当にこの書き方で合っているのか?」を自分で判断するのは難しいですよね。


せっかくプログラミングに興味を持って勉強を始めたのに、上記のような壁にぶつかって挫折してしまうのは非常にもったいないことです。

ではどうすれば、挫折せずに勉強を進められるのでしょうか?

■挫折せずにプログラミングの勉強を進めるには

f:id:paiza:20170806100138j:plain

◆目的を考える

「ちょっと興味があるだけだから目的なんかない!」と思うかもしれませんが、目的を意識せずにやみくもに勉強を始めて、挫折せずに進める人はほとんどいないかと思います。

未経験からITエンジニアとして開発業務で通用するレベルになりたいのか、開発はしないけど仕事でエンジニアと関わる場面が多いのでスムーズに話せるようになりたいのか、作りたいものがあってそれを作れるようになりたいのか……。

「ちょっと興味があるから試しに軽く触ってみたい」という人は、最初から難しいところに手を出さずに、簡単なところからちょっとやってみて、そこで楽しいと思えば次の目標を考えればいいわけです。

たとえば、こちらの記事にもありますが、paizaの営業担当者(プログラミングまったくの未経験者)で「まずはpaizaのスキルチェック問題でDランクをとる」「エンジニアと同じ目線で話ができるようになる」という目的を持って勉強を進めていった人もいます。

paiza.hatenablog.com

まずは自分がなんのためにプログラミングを学ぶのかを整理してみましょう。

paizaのスキルチェック問題について、詳しくはこちら

◆挫折の原因が起こりにくい学習サービスを使ってみる

せっかくプログラミングの勉強を始めても、前述のような原因で挫折してしまう人が多いので、paizaは動画でプログラミングが学べる「paizaラーニング」を作りました。

paizaラーニングは、初心者でも挫折せずに勉強が進められるように

・環境構築不要・ブラウザ上でプログラミングして実行できる

・ひとつの画面で音声つき動画を見聞きしながらプログラミングできて、効率よく学べる

・わからないこと・聞きたいことはプロのエンジニアに質問できる

・入門からWebアプリ開発まで、目的ごとにまとまった内容のコースがある

・動画はひとつ3~5分程度なので隙間時間でも進められる

・豊富な練習問題で、勉強した内容が身についたかどうかがわかる

といった特徴のある学習サービスです。

最近は、paizaラーニングに限らず、このような動画講座やブラウザでコードを実行できるなど、初心者でも挫折せずに学習を進められるサービスが増えています。

プログラミング初心者の方、プログラミングを学ぼうと思ったけど途中で挫折してやめてしまった経験のある方は、ぜひチャレンジしてみてください。

■まとめ

「勉強」というとインプットを意識しがちですが、プログラミングの場合、自分で手を動かしてコードを書くというアウトプットが非常に重要です。というかアウトプットを繰り返さないと、できるようにはなりません

特にプログラミング初心者は、インプットだけでなくアウトプットがしやすい環境を使ったほうが、挫折せずに学び続けられるかと思います。

環境設定や難易度の高い内容の勉強は、いきなりぶつかって挫折したり嫌いになったりしてもつらいですし、最初からぶつかるよりは「やってみたい!」→「もっと深く知りたい!」になってから取り組んでみてもよいのはないでしょうか。(その頃には最初より知識も増えているでしょうし…)


paizaでは、4月15日(日)に24時間限定スキルチェック問題を出題します。

24時間以内にご回答いただいた方にはテストケースと解説を公開します。また、抽選でプレゼントも当たります!

4/15にご都合の合う方、自分のプログラミングスキルをはかってみたい方、ぜひチャレンジしてみてください。




paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。

そして、paizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。

スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。

paizaのスキルチェック

たった一行のHTMLコード追加でreCAPTCHAも導入できる、Webフォーム作成サービス「Basin」を使ってみた!

f:id:paiza:20180411145344j:plain
どうも、まさとらん(@0310lan)です!

今回は、面倒なサーバーサイドの設定が不要なうえ、HTMLの記述だけで独自フォームを手軽に作成できる無料Webサービスをご紹介します!

フォーム要素に「属性」を追記するだけなので、フォーム自体は好きなようにカスタマイズ可能です。

ついでに「reCAPTCHA」も簡単に導入できるので、これからフォームを作ろうと考えている人はぜひ参考にしてみてください!

Basin

f:id:paiza:20180411145442j:plain

■「Basin」の使い方

それでは、「Basin」を実際に触りながらどのように利用するのかを見ていきましょう!

まずは、サイトにアクセスして画面上部にある「Sign Up」ボタンからユーザー登録をしておきます。
f:id:paiza:20180411145817j:plain


「メールアドレス」と「パスワード」だけで簡単に登録できます。
f:id:paiza:20180411145831j:plain


登録できたら「ダッシュボード」画面が表示されるので、新規のフォームを作成してみましょう!
f:id:paiza:20180411145844j:plain


適当な「フォーム名」を入力してから「Create form」ボタンをクリックします。
f:id:paiza:20180411145855j:plain
(Redirect URLは後からでも設定可能です…)


すると、フォームの「管理画面」が表示されます!
f:id:paiza:20180411145907j:plain
この管理画面からフォームの作成手順を確認したり、ユーザーから送られてきたデータなどを管理することができます。

■「フォーム」を作成してみよう!

ここからは、「Basin」を使ったオリジナルフォームのサンプルを作成してみましょう!

まずは管理画面のメニューから「Setup」をクリックして表示される固有の「エンドポイント」を確認します。
f:id:paiza:20180411145928j:plain
使い方としては非常に簡単で、フォームの「action属性」にこのエンドポイントを指定するだけで「Basin」は利用可能なのです。


例えば、「メールアドレス」と「テキスト」を送信するだけのフォームであれば次のように作ることができます!

<form  action="https://usebasin.com/f/47dbb*****" method="POST">


    <label>メールアドレス</label><br>
    <input type="email" name="email"><br>


    <label>内容</label><br>
    <textarea rows="4" cols="50" name="comment"></textarea><br>


    <button type="submit">送信</button>


</form>

通常なら、自分でサーバーを用意してPHPなどでフォームのデータ処理をプログラミングして…という感じで面倒な初期設定が必要です。

しかし、「Basin」はaction属性を記述するだけですべての初期設定が完了するのでとても手軽に作ることができます。


試しに、フォームへ適当な内容を入力して「送信」してみましょう!
f:id:paiza:20180411150005j:plain


送信に成功すると、デフォルト状態では以下のようなリダイレクトページが表示されます。(リダイレクトページの変更方法は後述します…)
f:id:paiza:20180411150017j:plain
ちなみに「黒い背景画面」が表示された場合は正常に送信できなかったという意味です。

action属性のエンドポイントが間違っていたり「name属性」が抜けていたりしないかを確認しておきましょう!


送信が完了したら、管理画面の「Submissions」メニューをクリックします。

すると、フォームに入力された情報が確認できるようになります!
f:id:paiza:20180411150031j:plain
メールアドレス毎に内容を確認できるようになっており、検索やフィルターなどの基本機能も用意されています。

ここまでの基本的なサンプルデモのソースコードは以下のリンクから閲覧できますので、ぜひ参考にしてみてください!

【 サンプルフォームのソースコード|GitHub 】

■「Basinフォーム」の設定オプションについて!

「Basin」には便利な機能がいくつか用意されているのですが、特にオススメのオプションを2つご紹介しておきます!


1つ目は「ホワイトリスト」の設定です。

「Basin」のエンドポイントは、デフォルトの状態だとURLを知っている人であれば誰でも利用できてしまいます。

そこで、任意の「ドメイン」を指定することで、自分のWebサイト以外からは利用できないように設定できる機能が「ホワイトリスト」になります。


設定方法は簡単で、「Edit」メニューからドメインを入力して保存するだけです!
f:id:paiza:20180411150108j:plain
たったこれだけの作業ですが、指定ドメイン以外のサイトからエンドポイントを利用してフォームを送信してもデータを受信することはありません。


2つ目のオプション設定は「リダイレクト」です!

これは、フォームを送信したあとに表示するWebページを指定することができる機能になります。

デフォルト状態だと「Basin」が用意したページが表示されるのですが、これを自分が作成したWebページに変更できるわけです。


こちらも設定は非常に簡単で、「Edit」メニューからリダイレクトするWebページのURLを入力して保存するだけです!
f:id:paiza:20180411150130j:plain
これで、フォームを送信したあとに設定したWebページが表示されるようになります。

これら2つのオプションを設定するだけで、フォームのクオリティは大きく向上するのでぜひみなさんも試してみて下さい!

■Googleの「reCAPTCHA」を設定する!

みなさんは「reCAPTCHA」をご存知でしょうか?

さまざまなWebサイトのフォームで、ボットやスパム対策として導入されているのよく見かけると思います。
f:id:paiza:20180411150156j:plain
2009年にGoogleが「reCAPTCHA」を買収してからは、最近だとチェックボックスをクリックするだけで「人間」であることを証明できるようになりました。

「Basin」を使うと、この「reCAPTCHA」を面倒な設定不要で手軽にフォームへ導入できるようになるので合わせてご紹介しておきます!


まず最初に、管理画面の「Edit」メニューから「reCAPTCHA」を利用する設定にチェックを入れて保存します。
f:id:paiza:20180411150208j:plain
これにより、「reCAPTCHA」をクリックして認証しないとフォームが送信できないようになります。


次に、「reCAPTCHA」を利用するためのJavaScriptファイルが提供されているので、以下のようにHTMLへ追記します。

<script src="https://www.google.com/recaptcha/api.js" async defer></script>

これで準備完了です!


あとは、フォームの中に次の1行を追記するだけです!

<div class="g-recaptcha" data-sitekey="6Lew3SMUAAAAAJ82QoS7gqOTkRI_d********"></div>

たった1行の追記だけですが、この「div」要素を配置した箇所に「reCAPTCHA」が表示されるようになります。
(data-sitekeyは「Edit」メニューに記載のコードを入力してください…)


実際に画面を確認すると以下のような表示になっているはずです!
f:id:paiza:20180411150259j:plain
あとは、通常通りフォームを入力して「reCAPTCHA」をクリックしないと正しく送信できないようになっているので安心ですね。

ここまでのサンプルデモのソースコードは以下のリンクから閲覧できますので、参考にしてみてください!

【reCAPTCHAサンプルのソースコード|GitHub 】


「Basin」を利用すると、HTMLに簡単な記述だけで誰でも独自フォームを手軽に作成して公開できるようになります。

管理画面から収集したデータをCSVなどのファイル形式でダウンロードすることも可能なので、データの活用範囲も広いと言えるでしょう。

HTML/CSS入門JavaScript入門も!動画で学べるpaizaラーニング


動画でプログラミングが学べるpaizaラーニングでは、HTML/CSS入門編JavaScript入門編はもちろんPython、Java、C言語、C#、PHP、Ruby、SQLなど、プログラミング初心者でも動画で学べる入門レッスンを公開しています。

JavaScript入門編」「Python入門編」「C#入門編」「ITエンジニアの就活準備編」といった人気講座が完全無料となっておりますので、プログラミングを学びたい方・ITエンジニアを目指したい方はぜひごらんください。

■まとめ

今回は、面倒なサーバーサイドの初期設定が不要で独自フォームが作成できる「Basin」の基本的な使い方をご紹介しました!

「Basin」の管理画面には、簡易的なアナリティクス機能やZapierとの連携機能なども提供されているので、活用次第ではさまざまなケースに対応することも可能です。

ぜひ、みなさんもWebサイトやブログ・サービスなどで独自フォームを作成&公開してみてはいかがでしょうか!


<参考>




paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。

そして、paizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。

スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。

paizaのスキルチェック

C#入門・初心者でも基礎が身につく7つの学習動画

f:id:paiza:20180409121037j:plain
Photo by romana klee
f:id:paiza:20140916135428p:plainこんにちは。谷口です。

C#初心者の皆さんは、普段どうやって勉強をしていますか?

  • Web上で学習サービスを探す
  • 教えてくれる人を探して聞く
  • スクールに通う
  • 書籍や学習サイトに書いてある情報を読む

などの方法があるかと思いますが、「学習サイトやYouTubeなどの動画」でも、C#について学ぶことができます。

動画を使えば、無料、もしくは安価で楽しく・効率よくC#について勉強できます。

今回は、そんな動画やスライドなどを見ながらC#を学べる学習コンテンツを7つご紹介します。


【目次】

■C#が動画やスライドで学べる学習コンテンツ

Microsoft Vitual Academy

※日本語対応
f:id:paiza:20180130125234j:plain
Microsoft DeveloperNetwork(MSDN)が提供する提供のオンライン学習サービスです。動画やスライドを見ながらC#の書き方やVisualStudioの使い方などを学べるコースが公開されています。

◆Brackeys:How to program in C# - Beginner Course

※英語
www.youtube.com
主にゲーム開発に関するいろいろなチュートリアルが多数紹介されている動画チャンネルです。C#の初心者向けチュートリアルコースがあります。

◆thenewboston:C# Tutorial For Beginners

※英語
www.youtube.com
さまざまな言語のチュートリアル動画が公開されているチャンネルで、もちろんC#のチュートリアル動画もあります。動画数が大変多いですが、割と音声が小さめなので音量注意。

◆9cubed:【プログラミング講座(C#)】

※日本語
www.youtube.com
C#の初心者向けのプログラミング動画講座です。動画は現在140本もあり、説明も丁寧でわかりやすいです。

ドットインストール

※日本語
f:id:paiza:20171205170439j:plain
動画を通してC#の書き方、環境構築方法などが学べます。

paizaラーニング「C#入門編」

※日本語

オンラインでプログラミング学習ができる「paizaラーニング」には、C#はもちろんJava、Python、Ruby、PHP、C言語、JavaScript、HTML/CSS、SQLなどなど多数の言語から、Webアプリ開発入門、ITエンジニアのキャリア入門などのレッスンもあります。

コードガールこれくしょん

※日本語

paizaが公開しているコードガールこれくしょん略してガルこれは、ナビゲーターと一緒にプログラミング問題を解き、「コードガール」を集めながらストーリーを進めていく、プログラミング学習ゲームコンテンツです。C#はもちろんPHP、Java、Pyhton、Ruby、C、C++、JavaScriptに対応しています。

ゲーム内ではクエスト報酬やログインボーナス・ミッションクリア等の各種特典として手に入る「コイン」や「ダイヤ」を使って、ガチャでさまざまな「コードガール」を収集することができます。クエストで有利になる特殊スキルを発動させたり、「これくしょん」に入れてマイページに飾ったりと、コードガールをたくさん集めるほど楽しみ方が広がります。


■まとめ

C#はサーバー用のプログラムやゲーム、アプリ開発、企業向け業務システムなどに幅広く利用されているプログラミング言語ですが、特に近年はゲームエンジン「Unity」とC#を使えば個人でも簡単にゲーム開発ができるため、ゲームエンジニアを目指す人からの人気も高まっています。

「興味がわいてきた!」という方は、学習サイトでも、書籍でも、自分が気になるところから挑戦して、ぜひC#に触れてみてください。

そしてある程度の基礎が身につきましたら、ぜひpaizaでご自分のスキルをはかってみてくださいね。





paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。

そして、paizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。

スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。

paizaのスキルチェック

現役エンジニアが使っているSublime Textの超便利プラグインと設定21個

f:id:paiza:20180404182624j:plain
Photo by Antonio Tajuelo
長田です。

みなさんコーディングするときのエディタって何を使ってますか?

paizaはRubyで作られているので、中のエンジニアもRubyMineを使っている人が多いんですが、今年入社した私はSublime Text派です。Sublimeはいいぞ…。

今回は、Sublime Textを使うメリット・デメリット、実際に開発で使っていて便利なプラグインや設定の小技とかを書きます。Sublime仲間の皆さんや、Sublime使ってみたいなっていう人の参考になればうれしいです。


■Sublime Textを使うメリット

◆シンプル

Sublime Textは、有志が作るパッケージなどで自由にカスタマイズできますが、そのぶん最初はあまり機能が充実していません。

これはデメリットに感じる人もいるかもしれませんが、私は「いろいろやってくれるけど初期状態からすでに重くて、設定をいじらないと軽くならない」タイプのリッチなエディタが嫌いなので…。

「自分が必要な機能だけを付け加えていく」ことができて、シンプルで軽い状態を保ちやすいところはメリットに感じています。

◆速い

正規表現を使った全文検索や、プロジェクト間のファイル検索・移動など、標準機能の動きがとにかく速いです。パッケージもほとんどが軽くて速い。

◆ カスタマイズが自由

f:id:paiza:20210720144130j:plain
後述するパッケージもそうですが、その気になればすべてのショートカットキーを自分好みに変えることもできます。

◆コマンドパレットが豊富

`Command + Shift + P` で開ける「コマンドパレット」で、実行可能なコマンドを簡単に探して実行できます。

Sublime Text上でできることはほぼすべて網羅されているので、とてもわかりやすいです。

http://docs.sublimetext.info/en/latest/extensibility/command_palette.html

◆パッケージが豊富

メジャーどころは今でも定期的にアップデートされています。

◆設定ファイルが全てJSON形式のテキストファイル

テキストファイルなので、新しいPCや環境に移行しても設定を移植しやすいです。ほかの人の設定を適用したいときも簡単にできます。

◆右側のミニスクロールバー

編集中のファイルの、大体の形を把握しながらスクロールできます。巨大なファイルを編集する際にはとても役立ちます。

◆無料でも使える

たまに「寄付する?」という表示は出ますが、基本的に無料で使えます。

■Sublime Textのデメリット

◆日本語だと不自然な動作のときがなくはない

最近はだいぶマシになりましたが、全文検索時に「変換確定のEnterキー」を押したときに検索が走っちゃうときがあります。

↓回避方法もあります。(私はもう慣れたのでしてないですが…)
Sublime Textの検索窓に日本語を入力する方法 · GitHub

◆日本語化しづらい

単純にプラグインを入れて終わり…とはいかないので、注意が必要です。

参考記事
qiita.com

◆最近落ち目…

最近は日本での人気が下がってきているのもあって、日本語の情報が徐々に少なくなってきている気がします…。

■Sublime Textの便利なプラグイン

◆Sublime Package Control

Installation - Package Control

これがないと始まらない。パッケージの管理をUI的にするためのものです。

(逆に言えばこれだけは、公式からインストール用のPythonコードをコピペして実行しないといけないです。エンジニアっぽい!)

◆AlignTab

github.com

コードの整形を簡単に実現してくれます。

参考記事
qiita.com

◆SFTP

wbond.net

Sublime Text上からSFTPを使ってサーバ上のファイルを直接いじったり、ローカルの作業ディレクトリと同期させて作業できたりします。

◆Boxy Theme

https://github.com/ihodev/sublime-boxygithub.com

見た目を簡単におしゃれにしてくれます。7つぐらいあるテーマの中から1つ選ぶだけ。面倒くさがりでも手軽におしゃれにできます。

◆SublimeLinter

Welcome to SublimeLinter — SublimeLinter 4.0.0 documentation

Lintツール(ソースコード静的解析・エラー検出)をSublime Text上でできるようになります。このパッケージにひもづいた「SublimeLinter-rubocop」などを一緒にインストールすると、対応するLintツールが使えるようになります。

◆Sublimerge 3

www.sublimerge.com

異なるファイルをマージするためのツールです。2つのファイル間の差分を表示するのによく使ってます。

◆All Autocomplete:

github.com

標準のオートコンプリート強化。

◆AdvancedNewFile

github.com

新規ファイルや新規フォルダの作成を補助してくれる。

参考動画
www.youtube.com

◆AutoFileName

AutoFileName - Packages - Package Control

ファイル名の補完。

◆BracketHighlighter

github.com

`[]`、`()`、`{}`、などのかっこ表示の強調化

◆ConvertToUTF8

github.com

SJISファイル等をUTF8に変換してくれます。(Sublime Textは標準でSJISを取り扱っていないので…)

◆Git

github.com

Sublime Text 上でGit操作が可能になります。

◆GitGutter

github.com

Git管理ファイルにおいて、変更行を視覚化してわかりやすくしてくれます。

◆random-sublime-text-plugin

Random Everything - Packages - Package Control
ランダムのテキストを生成してくれます。

◆Sublime Files:

Sublime Files - Packages - Package Control

ファイル操作をSublime Text上のコマンドパレットでキーボード主体で実行できます。

◆SyncedSideBar

github.com

サイドバーのスクロールが現在編集中のファイルに追随するようになります。

参考動画
www.youtube.com

◆TodoReview

TodoReview - Packages - Package Control

サイドバーで開いているコード内にある「TODO: 」を検出してくれます。設定で自分好みにできます。

◆Trimmer

github.com

余分な空白を削除してくれます。保存時ではなく、自分のタイミングでしたい時に使います。


そのほか、開発する言語に応じてスニペットの追加やコード整形のパッケージをインストールしています。

■設定

f:id:paiza:20210228211817j:plain

◆terminalからコマンドで開くようにする

下記リンク先を見てコマンドを叩くだけで、 `subl` コマンドが使えるようになります。

https://www.sublimetext.com/docs/3/osx_command_line.html

これを使えば、terminal上で `subl hogehoge.rb` や`subl project_directory/` とすると、Sublime Textで開けるようになります。

◆インデントし直し(Reindent)のショートカットキー追加

`Preferences > Key Bindings - User` を開いて下記設定をすると、ショートカットー発で選択箇所のインデントが振り直されます。`command+ctrl+i` の箇所はお好みで…。

[
  ...
  { "keys": ["command+ctrl+i"], "command": "reindent" ,"args": {"single_line": false}},
  ...
]

◆ 設定ファイル

設定ファイルはJSON形式のテキストファイルなので、「Sublime Text Settings」などでググって、先人の設定をパクるのもありです!

下記は私の主な設定です。

`"auto_complete": true,`

自動補完。

`"copy_with_empty_selection": true,`

選択をしていない状態でコピーやカットをすると、現在行全てに対して適用される。

`"detect_indentation": false,`

起動時にtabとspaceの自動認識をしない。

`"detect_slow_plugins": false,`

プラグインが重い時に出てくるポップアップを消す。

`"ensure_newline_at_eof_on_save": true,`
`"index_files": true,`

対象のフォルダ内のファイルを全てインデックスする。高速なファイル間移動などを実現。

`"translate_tabs_to_spaces": true,`

保存時にtabをspaceに変更する。

`"trim_trailing_white_space_on_save": true`

保存時にむだなspaceを削除する。

■まとめ

Sublime Textは「The text editor you'll fall in love with」(恋に落ちるエディタ)というキャッチフレーズがついているんですけど、実際それぐらい使いやすいと思います。シンプルで軽くて速いし、プラグイン多いからカスタマイズしやすくて便利だし。興味のある方は、ぜひ使ってみてください。

www.sublimetext.com






paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。

そして、paizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。

スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。

paizaのスキルチェック

今すぐWebサイトの多言語対応が簡単にできる・JavaScriptの翻訳ライブラリ「Glottologist.js」を使ってみた!


どうも、まさとらん(@0310lan)です!

今回は、Webサイトやアプリなどを簡単に多言語対応できるJavaScriptライブリをご紹介します!

HTML要素に「属性」を追加するだけで簡単に翻訳できるので、既存のWebサイトなどに適応しやすいという特徴があります。

グローバルなサイト作りにご興味のある方は、ぜひ参考にしてみてください!

Glottologist

■「Glottologist」の使い方

それでは、まず最初に「Glottologist」を使えるようにするための準備から始めましょう!

必要になるのはライブラリの「JavaScriptファイル」1つです。


npmでインストールする場合は次のとおり!

npm i glottologist --save

また、ライブラリを「scriptタグ」で読み込む場合は次のように記述しましょう。

<script src="https://unpkg.com/glottologist"></script>


どちらか好きな方法でライブラリを読み込んだら準備は完了です!


今回は、サンプルデモとして以下のようなWebページを1枚用意しました。

このWebページを使って、「Glottologist」の翻訳ライブラリを試していきたいと思います!

今回使用したWebページのソースコードは、以下のURLから閲覧できるので参考にしてみてください。

【サンプルデモのソースコード|GtiHub】

■基本的な翻訳方法について

「Glottologist」を使った翻訳方法は、大きく分けると以下の3種類になります。

  1. 指定したHTML要素を1つずつ翻訳する方法
  2. 「JSON」ファイルを使って一気に翻訳する方法
  3. 「Google翻訳」を活用して自動的に翻訳する方法

まず、最も基本となるHTML要素を1つずつ指定して翻訳する方法から見ていきましょう!


「Glottologist」の基本的な仕組みですが、翻訳対象の要素に「glot-model」属性を付与してそこへ事前に翻訳した文章と置き換えるようなカタチになります。

どの国の言語を使い、どんな翻訳文章に変換するかは自分で好きなように設定できるので安心です。


例えば、次のような「h1要素」と「p要素」があるとします。

<h1>Sample Title</h1>


<p>I translate this text into various languages.</p>


この英語で書かれた文章を日本語に翻訳するには、まず最初に「glot-model属性」を付与していきます。

<h1 glot-model="title">Sample Title</h1>


<p glot-model="text">I translate this text into various languages.</p>

「属性値」は自分の分かりやすいキーワードで構いません。


あとは「glot.assign()」というメソッドを使って、それぞれの属性値に対する翻訳文を当てはめるだけです!

const glot = new Glottologist();


//glot-modelの属性値が「title」の文章を翻訳
glot.assign('title', {


    ja: 'サンプルのタイトル'


})




//glot-modelの属性値が「text」の文章を翻訳
glot.assign('text', {


    ja: '私はこのテキストをさまざまな言語に翻訳します。'


})


//翻訳を実行
glot.render();

日本語の翻訳文の場合は、「ja: 翻訳文」というオブジェクト形式で設定していきます。

実行すると、翻訳された文章が表示されます!


もちろん多言語にも対応可能で、その場合はそれぞれの国の言語を追加していくだけなので簡単です!

glot.assign('title', {
  ja: 'サンプルのタイトル',  //日本語
  fr: 'titre de l\'échantillon',//フランス語
  zh: '样本标题' //中国語
})


glot.assign('text', {
  ja: '私はこのテキストをさまざまな言語に翻訳します。',
  fr: 'Je traduis ce texte en plusieurs langues.',
  zh: '我将这段文字翻译成各种语言'
})

ブラウザの設定言語を自動的に判断してくれるので、ユーザーの国に合わせた表示が可能になります。


また、「glot.render()」の引数に「国名コード」を指定することで、強制的に指定した国の言語を表示させることも可能です!

//日本語を強制的に表示させる
glot.render('ja');


//英語を強制的に表示させる
glot.render('en');


//中国語を強制的に表示させる
glot.render('zh');

このように基本的な使い方としては、対象となる要素に「glot-model属性」を付与するだけなので、既存のWebサイトにも対応しやすい特徴があります。


以下のリンクから、簡単なサンプルデモを試すことが出来るのでぜひ参考にしてみてください!

【 翻訳サンプルデモ|GitHubページ 】

※ソースコードはコチラから閲覧できます。

■「JSON」を活用した翻訳方法

次に、JSONファイルを使った翻訳方法を試してみましょう!

先ほどは「glot-assign()」メソッドを使って対象の要素を1つずつ翻訳していましたが、JSONを活用すると一気に翻訳文を設定できるので大変便利です。

使い方としては、対象の要素に「glot-model属性」を付与するのは同じですが、次のようなJSONファイルを1つ用意するだけでOKです!

{


  "title": {
      "ja": "サンプルタイトル",
      "en": "Sample Title",
      "zh": "样本标题"
  },


  "text": {
      "ja": "私はこのテキストをさまざまな言語に翻訳します",
      "en": "I translate this text into various languages.",
      "zh": "我将这段文字翻译成各种语言" 
  }


}

内容は「glot-assign()」メソッドの中身とほぼ同じで、対象のキーワードと翻訳文がペアになったものを用意します。


あとは、JavaScriptから「glot.import()」を使ってファイルを読み込めば翻訳されます!

//JSONファイルを読み込む
glot.import("/lang.json").then(() => {


    glot.render();


})

Webサイトを丸ごと翻訳するなど、大量のHTML要素に対して文章を変換する場合はこちらの方法がいいでしょう。

また、あらかじめよく使うキーワードをJSONファイルで作成しておけば、さまざまなWebサイトで共有することもできるので効率化も期待できますね。


JSONファイルを使ったサンプルのソースコードは、以下のリンクから閲覧できるので参考にしてみてください。

【 JSONを使った翻訳のサンプルコード|GitHubページ 】

※ソースコードはコチラから閲覧できます。

■「Google翻訳」を活用した翻訳方法

(※2023年3月時点において、この機能は終了のため利用できません)

最後に、「Google翻訳」を活用した自動変換の方法をご紹介しておきます!

この方法はGoogle翻訳のAPI(非公式)を簡単に利用できるメソッドが用意されており、あらかじめ翻訳文を用意しなくても自動的に変換できる特徴があります。

記述方法は次のとおりです!

glot.t( 翻訳する文章, 国名コード ).then( 翻訳後の処理 )

【翻訳する文章】の箇所へ、JavaScriptからテキストを取得して当てはめれば自動翻訳が完成するというお手軽なメソッドになっています。


簡単なサンプル例としては、次のような感じになるでしょう!

const h1 = document.getElementById('h1'); //h1要素を取得


const glot = new Glottologist();




//h1要素のテキストを英語に翻訳して再びh1要素に上書きする
glot.t( h1.textContent, 'en' ).then( result => {


    h1.textContent = result;


})

上記のように、「glot.t()」の引数へ翻訳したいHTML要素のテキストを設定すれば翻訳できます。

そして、翻訳された文章を再び元のHTML要素に返すことで、画面には翻訳された文章が表示されるようになります。


以下のリンクから、実際の表示を確認してみてください!

【 Google翻訳を活用したサンプルデモ|GitHubページ 】

※ソースコードはコチラから閲覧できます。

この方法はあらかじめ翻訳文を用意しなくてもすぐに多言語対応できるというメリットがあります。

翻訳文を自分で用意した方がベストではありますが、それが難しい場合やプロトタイプなどで活躍する方法と言えるでしょう。

JavaScript入門編は全編無料!動画で学べるpaizaラーニング


動画でプログラミングが学べるpaizaラーニングでは、JavaScript入門編はもちろんPython、Java、C言語、C#、PHP、Ruby、SQL、HTML/CSSなど、プログラミング初心者でも動画で学べる入門レッスンを公開しています。

JavaScript入門編」「Python入門編」「C#入門編」「ITエンジニアの就活準備編」といった人気講座も完全無料となっておりますので、プログラミングを学びたい方・ITエンジニアを目指したい方はぜひごらんください。

■まとめ

今回は、JavaScriptでWebサイトを多言語対応できるライブラリ「Glottologist」についてご紹介しました!

HTML要素に属性を追加するだけなので、Webサイトやアプリなどさまざまな既存プロジェクトをあとから簡単に翻訳できる柔軟性が大きな魅力となるでしょう。

ぜひ、みなさんのWebサイトにも活用してグローバルなサイト作りに役立ててみてください!


<参考>




paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。

そして、paizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。

スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。

paizaのスキルチェック

フロントエンドをいつか学ばなきゃと思ってるエンジニア向け・一番効率的な勉強法

f:id:paiza:20180330181705j:plain
Photo by Christiaan Colen
高村です。

エンジニアで「実践的な勉強はつい後回しにしちゃって…」という人って結構いると思います。

で、みんな「いつか時間ができたらやろうと思って…」とか言いますけど、時間ができることなんて一生ないですよね?

あるいは、情報系の記事や技術書などを買って、ちょろっと読んだだけで勉強できた気になっちゃったり、本を買っただけで満足しちゃったりしますよね。実際は何も身についてないのに。

私も最近、ちょっとそんな感じになっちゃっていたので、勉強がてらスライド作成用のmarkdownエディタを自作してみました。

今回はそのmarkdownエディタの話と、「エンジニアは動くモノを作るのが一番勉強になる」という話をします。

■なぜ「動くモノを作る」と勉強になるのか

◆モノを作るのに必要な技術や知識がまとめて得られるから

そりゃそうだろって感じですけど、そもそもエンジニアはモノを作るのが仕事ですから、たとえ知識があっても手を動かしてモノ作りに落とし込めないと意味がないです。

自分は最近、フロントエンド開発スキルが足りないなーという課題感がありまして。ちょいちょいそれ系の本を開いてみたりはしていたのですが、当然ながらそれだけで実践的なスキルは身につきません。特にYarnとかWebpackとか、よく耳にするようになったけど実際に使った経験がないから全然知らん!やばい!という状態でした。

だからといって、「まずはこのライブラリの使い方を完璧にして、次はこのツールの使い方を完璧にして、次は……」みたいな感じで、それぞれの技術を単体で勉強していくやり方は筋が悪いです。実際にちょっと試してみましたが、時間はかかるしモチベーションも維持しづらくて続きません。

特にフロントエンド界隈は流れも早すぎるから、ひとつずつ丁寧にやるよりは、「実際に実務でも使えそうな道具について、全体的にさくっと触れてみる」というのを繰り返すほうがよさそうかなと思います。そのほうが最新情報をキャッチアップしやすいですし、深掘りが必要になったら、そのときに改めて丁寧にやればいいのですから。

というわけで、「何かテーマを決めて動くモノを作ってみる」のは、おすすめできる勉強方法の1つです。

私は今回、フロントエンドの技術を学びたかったので、できればそれに特化したいい感じのフレームワークを使おうと思い(サーバ側は開発経験あるから、わざわざ考えたくない…)、ソフトウエアフレームワーク「Electron」を使って、reveal.js用のhttpサーバつきmarkdownエディタを作ることにしました。

理由は

  • ふだんreveal.jsでスライドを作っていて、便利だけど微妙に不便を感じる場面がちょいちょいあった
  • みんなに使ってもらえるものを作りたかった

からです。

アプリを作るって言うとハードル高そうに聞こえますが、今回、最初の粗めなプロトタイプは大体3日間ぐらい(1日2・3時間ずつ)で作れました。

◆本を読むだけではダメなの?

f:id:paiza:20180330174828j:plain
Photo by Mandy Goldberg
paiza新卒の就活生向けイベントに出ると、「エンジニアになりたいんですけど、どんな本を読むといいですか!?」と聞かれることが非常に多いです。

もちろん技術書を読むのも大事です、例えば「就職先でこの言語を使うと決まっているから、基礎を学んでおきたい!」みたいに、学ぶべき技術が明確で、既に定番化してるものを体系的に追いたい…みたいな場合は、断片的な情報収集をするよりも、初心者向けの書籍を一冊通しで体系的に勉強するほうが効率よく正確な知識を得られるかもしれません。(今はWeb上の学習コンテンツでも初心者向けのものが増えてきましたが…)「リーダブルコード」みたいな、普遍的な古典の名著もありますし。

ただ、いくら本を読んでも実際に手を動かさないとモノを作れるようにはならないので、読むだけで満足せず、実践してみるのが大事です。技術書って、買っただけで満足して勉強した気になりやすいですし。

私は、今回は「新しめの技術を試してみたい~」と思っていたので、ネット上の記事やドキュメントなどで情報収集をしながら作りました。

■というわけでこれを作った

reveal.js用のhttpサーバつきmarkdownエディタ「reveal_lightning」です。

github.com

こんな感じの見た目です。
f:id:paiza:20180330175656p:plain

reveal.jsを使っていて微妙に不便なところを解消したかったため、

  • 画像をドラッグアンドドロップで入れられる(URLの記述不要!)
  • アイコンをクリックするだけでアニメーションが作られる(コードの記述不要!)
  • 一画面にエディタエリアとプレビュー表示エリアがある(画面を切り替えなくてもプレビュー確認できる!)
  • オフライン状態でも使える(電波悪いとこでも使える!)

などといった機能があります。

reveal.jsユーザーの方はよかったら試してみてください。

f:id:paiza:20180403152707g:plain

開発の詳しい背景や機能紹介などはこちらPrezentaion powered by reveal.js)。

reveal_lightningを使って作ったスライドで紹介しています。興味がある方はぜひご参照ください。

■「reveal_lightning」を作って勉強になったこと

細かいことまで含めるとたくさんありすぎるので、ここではかいつまんでまとめておきます。

◆ライブラリ管理ツールの知見(npm,Yarn)

JavaScriptのパッケージマネージャーとして、まずnpmを使ってみて、その後でYarnに乗り換えたので、速度的な違いを体感できました。

◆CSSフレームワーク「UIkit」がめっちゃいい

今回初めてUIkitを使ってみたのですが、class名の頭にuk-ってついてるからスタイル名が既存のものとかぶらないのがすごくいいですね。Bootstrapよりいい。すぐに実務にも導入しました。

◆Electronの知見

Electronを使ったアプリの作り方から配布の仕方まで、一通り理解できました……できたつもりです。

アプリの自動アップデート機能も簡単にできそうだったし、せっかくなので実装しました。

ちなみに自動アップデートをMacで動かせるようにするには、Apple社への課金と承認が必要なため、ちゃんとお布施を払って申請して審査を通しました。結構いいお値段するというのが身にしみてわかりました。

◆GitHubで静的なページを公開する方法

reveal_lightningで作ったスライドを世の中に公開したい場合はGitHub Pagesで公開できるように意識して作ったんですが、Jekyllというツールを今回初めて知りました。

pages.github.com

◆その他、いろいろなJavaScriptライブラリ

ちゃんと目的に沿ったモノを作るために、npmでいろいろなライブラリを探したり試したりしたので、それも勉強になりました。

例えば、markdownをコンパイルしたかったら、最近だとmarkdown-itmarkedがよさそうとか。

◆Travis CIでの自動ビルドからのGithub Releaseへの自動連携

TravisCIで自動ビルドをしているのですが、コード署名用の機密情報のセキュアな管理方法や、TravisCIからGithub Releaseへ自動アップロードする方法など、知らなかったことがいろいろ学べました。


とりあえず個人ユースに耐えられるものはできましたが、Webpackの導入などはまだできておらず、パッケージ化後のサイズが大きすぎるので、これからMinifyとかしていきたいと考えています。


<参考>
Quick Start | Electron
API | Electron
Introduction · electron-builder
GitHub - electron-userland/electron-packager: Customize and package your Electron app with OS-specific bundles (.app, .exe, etc.) via JS or CLI
コード署名 - テクニカルサポート - Apple Developer
npm
UIkit
reveal.js – The HTML Presentation Framework
Yarn
webpack
Electron で Markdownプレゼン作成ツールを作って公開するまで - Qiita

■まとめ

というわけで、自分は「reveal_lightning」を作ったことで、いろいろとフロントエンド周りの知見が増えたので、やってみてよかったなと思っています。

あと、「動くモノを作る」というのは、現役エンジニアだけでなく、他職種からエンジニアを目指したい人や、B2BからB2Cへ行きたい人など、未経験の分野へ挑戦したい人もやってみたほうがいいと思います。

私も前職ではRailsを使った経験がなかったため(paizaはRailsで作られています)、入社前はRailsで端末管理アプリを作ってみて、Railsを使ったWeb開発の全体像をざっくり学んだりしました。

とりあえず自分で手を動かして何か作ってみるというのは、基礎知識が身につくだけでなく、就職・転職活動でも有利になります


初心者だとハードルが高く感じるかもしれませんが、paizaラーニングだとプログラミング未経験者から始められる「Ruby入門編」「Java入門編」などから、実際に動くWebアプリが作れる「Webアプリ開発入門」まで公開していますので、興味のある方はぜひごらんください。




paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。

そして、paizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。

スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。

paizaのスキルチェック

paizaのおすすめコンテンツ

PPG proken プログラミングゲーム「初恋 プログラミング研究会〜海に行こうよ〜」 PPG Bingo プログラミングゲーム「コードレビューBINGO!!」
paiza転職 paiza新卒 EN:TRY paizaラーニング 記事内に記載している情報は、記事公開時点でのものとなります。 Copyright Paiza, Inc, All rights reserved.