edy hub

プログラミングやライフスタイルについて書き綴っています

Typescript学習〜『プロを目指す人のためのTypeScript入門』を読んでみて第3章〜

はじめに 業務で使うことのあるTypeScriptを本格的に勉強し始めたところです。 現在絶賛『プロを目指す人のためのTypeScript入門』を読み進めており、その際のメモを備忘録として残しております。 前回の記事 www.edyhub.com 書籍はこちら 第3章 第3章は「オ…

プロを目指す人のためのTypeScript入門を読んでみて〜第五章〜

はじめに 業務で使うことのあるTypeScriptを本格的に勉強し始めたところです。 現在絶賛『プロを目指す人のためのTypeScript入門』を読み進めており、その際のメモを備忘録として残しております。 第五章は「TypeScriptのクラス」を扱っています。 書籍はこ…

M1 Macbook air でherokuを使う

方法 brew で heroku をインストール 公式のCLIのmacOSにあるコマンドを実行します。 devcenter.heroku.com brew tap heroku/brew && brew install heroku command not found になった場合 自分の場合はbrew実行時に以下のエラーが発生しました。 % brew tap…

Typescript学習〜『プロを目指す人のためのTypeScript入門』を読んでみて第2章〜

はじめに 業務で使うことのあるTypeScriptを本格的に勉強し始めたところです。 現在絶賛『プロを目指す人のためのTypeScript入門』を読み進めており、その際のメモを備忘録として残しております。 前回の記事 www.edyhub.com 書籍はこちら 第2章 第2章は「基…

Typescript学習〜『プロを目指す人のためのTypeScript入門』を読んでみて第1章〜

はじめに 普段はバックエンドの開発がメインですが時たまフロントエンドの開発に着手することがあります。 今まではRails内でjQueryによる開発が多かったのですが去年あたりから Next.js × TypeScript の環境に移行し始めたので良い機会と思いTypeScriptを勉…

個人開発しているRailsプロジェクトにCircleCIを導入する

はじめに 職場でCircleCIによるRspec及びrubocopの自動実行をしているので個人開発しているサービスにも導入してみようと思いました。 CircleCIのファイル編集とかは職場でもやったことが無かったので調査から始めてみます。 CircleCIの本家を当たってみる …

Reactを動かしてみる【準備編】

概要 社内でReactを用いた新規事業がスタートしたので、これを機に今までちゃんと勉強してなかったツケを回収する。 学習教材 Boothで購入したPDFをもとにサクッと進めていく。 すべて含めて200ページ弱なので週末で終わるかな。 booth.pm 作業手順 node, np…

コーディングトレースにチャレンジ

背景 普段は業務でサーバサイドエンジニアとして従事しているため、マークアップを0から行うことがほとんどありません。 ただ、Web開発に関わる人間としてフロントエンドの知見も多少なりとも保持しておきたいと思い、HTML/CSSを復習してみようと思いました…

新卒2年目エンジニア記事Pick【4月上旬編】

働き方 転職エントリ① dev.classmethod.jp リリースサイクルが速い 1週間に1度のアプリリリース... 開発速度の視座が上がる 在籍中は約640本の記事を書きました、というコメントがさらっと書かれてある 総じてアウトプット量によって社内外でのポジションを…

RailsでZendeskAPIを使ってチケット情報を取得する

準備 API TOKENの発行をしてください ご自身の管理画面の /agent/admin/api/settings から発行可能です。 https://<your site>.zendesk.com/agent/admin/api/settings 手順 Gemの導入 gem "zendesk_api" bundle install configファイルを用意 class Zendesk def self.cl</your>…

FlutterのサンプルAppのコードを読んでみる

はじめに Flutterのアプリのセットアップが完了したら、AndroidStudioからアプリケーションを新規作成します。 File > New > New Flutter Project...を選びます。 一番左にある「」を選択すると自動でmain.dartを伴ったサンプルアプリが誕生しました。 New F…

ActiveRecordのenumで定義した要素を元にセレクトボックスを作成する

はじめに ActiveRecordのenumで定義した要素をセレクトボックスを作りたいときの用法用量です。 ※gemを追加しても同等のことができますがコード量も少ないので自作で進めます。 i18n(Internationalization)について モデルのattributeのi18nは通常、'activ…

【Vue.js】v-onディレクティブに引数を渡す

vue

v-onディレクティブに引数を渡すのは非常に簡単です。 引数を渡す前 <html lang="ja"> <head> <meta charset="utf-8"> <title>Vue.js App</title> <link rel="href + exp" href="main.css"> </head> <body> <div id="app"> <p>現在{{ number }}回クリックされています</p> <button v-on:click="countUp">カウントアップ</button> </div> </body></html>

awkコマンドを理解していく

awsとの接触 はじめてawkコマンドと出会ったときに、衝撃を受けた。 意味分からんと。 でもこれを書く先輩エンジニアに憧れも抱いた... mail_users=(`awk 'F==0{a[$1]=$2;next}{print $1 "\t" a[$1] "\t" $2}' <(cat employee.csv | awk -F',' '{print $1" "…

シェルスクリプトの基礎と便利コマンド集

変数 # イコールの両端にスペースを空けない str="hello" # こういう書き方ができる echo $srt # =>hello echo "$str" # =>hello echo "${str}" # => hello # 文字列の連結 # +は要らない echo $str$str # hellohello # スペースはそのまま反映される echo "…

シェルスクリプトのtrap

trapは シェルスクリプトの実行結果に関わらず、 trapコマンドを後処理として実行させることができるようになります。 trap 'コマンド' シグナルリスト ※実行中のシェルスクリプトに対して送出されたシグナルは、trap コマンドを使用することで捕捉すること…

RailsのCarrierwaveをコンソールで試してみる

はじめに Railsで画像をアップロードする際に、gem 'carrierwave' を使用しています。 github.com コンソールで画像をアップロードする 例の如く、コンソールを立ち上げます。 rails c uploder = HogeUploader.new image_file = Pathname.new(Rails.root.joi…

railsで任意のURLにJSONをPOSTする方法

特定のURLをSlackのWebhookとします。 def post_man url = 'https://hooks.slack.com/services/xxxxxx/yyyyy/zzzzz' content = { text: 'This post is from Ruby on Rails', icon_emoji: ':ghost:' } uri = URI.parse(WEBHOOK_URL) http = Net::HTTP.new(uri…

Railsでモジュールを作ってインクルードして使うまで

特定の処理をモジュール化したい Railsで独自実装などを記しておく、自前のモジュールを使いたい場合が誰にでもあると思います。 その際の準備など書き記しておきます。 方法 下記に則って進めましょう 命名規則に沿ってモジュールを作る app/libにそのモジ…

docker-compose upしたときに「A server is already running.」でサーバーが立ち上がらない問題

何が起きたか? すでに動いているプロセスの影響でサーバの立ち上げがうまくいかない。 A server is already running. Check /myapp/tmp/pids/server.pid. 解決方法 docker-compose up --buildする前にプロセスを消すようにした。 $ rm -f tmp/pids/server.p…

Rspecを書く時に念頭においておきたいことのメモ

この記事の役割 全体像をメインにメモをしていきます。 各論も含むかもしれませんが、ボリュームが増大した場合は別記事に切り分けます。 体系的なまとめ 参考: RSpecを綺麗に書くための基本Rule - Qiita この記事からの学び ○命名規則 「AAメソッドは、BB…

Puppeteerでスクレイピングをする

はじめに const puppeteer = require('puppeteer'); ファイル内でpuppeteerを読み込む ファイル読み込み ファイル操作を行うライブラリ const fs = require('fs'); node.jsはShift-jisをサポートしていないので、通常の方法で読み込むと、文字化けしてしまう…

Vim便利コマンド[削除編]

vim

Vimの削除コマンド集 1文字削除 x 単語削除 dw 行削除 dd 指定行数削除 n(数字)dd 例:3dd → 3行削除 カーソルから行末まで削除 D 文字置換削除 "banana"という単語を削除したい時 :%s/banana//g カーソル上の単語を削除 diw クォーテーションの内部を削除…

フロントエンドのあれこれ

rgba 例えば、background-color: rgba(0, 0, 0, 0.85); という記述があったとする。 最後の0.85はアルファチャンネル=不透明度を表す。 つまり、 rgba(0, 0, 0, 0.85) とは、#000と同じ真っ黒を、不透明度85%の半透明にする、ということ。 vhとvw vhは、 vi…

cronの実行タイミングのさまざま

結論、この2記事が分かりやすかった。 https://oxynotes.com/?p=6912oxynotes.com qiita.com

営業について

はじめに 社内勉強会で営業担当から必勝方法を学んだ 内容 Q&Aでトークセッション形式 営業のスタンス 営業のNo.1は狙っていたか? YES 何をしていた? 社内のすごい人にひたすら聞き込みをした 的確なレスポンスを返してくれる人にひたすら聞いていた 誰が…

Railsのフォームでenumを用いた複数個のラジオボタンを生成する

はじめに enumの値ごとにラジオボタンを作るのが面倒だったので、どうにかまとめられないかというのが起点。 collection_select_boxみたいなものがあればという淡い期待のもと調査をしてみます。 元のコード = form_for object do |f| = f.radio_button :sta…

bundle install時にmysql2のインストールでエラーになる

はじめに bundle installすると、 Fetching mysql2 0.5.2 Installing mysql2 0.5.2 with native extensions Gem::Ext::BuildError: ERROR: Failed to build gem native extension. // 中略 To see why this extension failed to compile, please check the m…

Rubyのバージョンを2.5.3に上げる〜Docker編〜

はじめに Dockerfileを編集 rubyのバージョンを2.5.3に変更 $ docker-compose up --build はいエラー bundlerのバージョンがよろしくないみたいですね。 bundlerのバージョンを変更 - gem 'bundler', '1.15.4' + gem 'bundler', '1.17.2' Gemfile.lock内の古…

Redis ObjectsをRailsで使ってみる

はじめに これはRedis導入後に、Redis Objectsの使い方を学ぼうと思った一人の若者の備忘録です。 GitHubのリポジトリを参考にしています。 GitHub - nateware/redis-objects: Map Redis types directly to Ruby objects Gemの導入 はじめに、Gemfileにgemを…