リモートで働くプログラマーの検索結果

リモ太がググったことの覚書

Publishing changes from background threads is not allowed; make sure to publish values from the main thread (via operators like receive(on:)) on model updates.

Swift UIのViewModelで @Published な変数をセットしている時にエラーが表示された 書いてあるとおり@Publishedな変数に値をセットするときにはメインスレッドで行う必要があるそうだ 代入するときにDispatchQueue.main.asyncで囲んでやればとりあえずヨサソ…

getDisplayMediaで画面共有中にブラウザの共有を停止をクリックしたときのイベントをハンドリングする

const localVideoStream = await navigator.mediaDevices .getDisplayMedia({ video: { height: 1080, width: 1920 } }) localVideoStream.getTracks()[0].addEventListener('ended', () => { // ここで処理を記述 }) 画面共有のstreamのtrackに対して ended…

paper_trail gemを利用して更新履歴を保存する

github.com Gemfileにgemを追加して bundle install gem 'paper_trail' generaterでpaper_trail用のDBを作るマイグレーションファイルを作成して db:migrateを実行 bundle exec rails generate paper_trail:install bundle exec rake db:migrate 作られるマ…

Nuxtプロジェクトに vue-qrcodeを使って現在のページのURLをQRコードで表示する

vue-qrcodeを使って現在のページのURLをQRコードで表示してみます github.com インストール npm install @chenfengyuan/vue-qrcode vue typescriptで使うため型定義もインストール npm install @types/chenfengyuan__vue-qrcode plugins/vueQrcod.tsを作成し…

Nuxtプロジェクトにvue-moveableを追加する

インストールするだけであとは普通にreadme通りに使えた npm i vue-moveable github.com

vue-movableを使って要素をdragで動かせるように

github.com readme通りですんなり使える デフォルトでstyleがあたってるのでそこだけ調整してdraggableだけ利用した もともとv-dragを使っていたがこちらは移動する要素の子要素がクリックできんなくなったりして不便だったので載せ替えた github.com

Rubyで配列をハッシュに変換する

例えばRailsでUserモデルのidがkey nameがvalueとなったハッシュを作りたいときは以下の様にする User.order(:id).map{|user| [user.id, user.name]}.to_h 実行結果 {1=>"名前1", 2=>"名前2", 3=>"名前3"} idとnameが入った配列の配列にmapで変更してから…

Nuxtプロジェクトにwebフォントを利用する

公式のFAQに書いてある通り グローバルな設定と個別な設定方法が書いてあるが今回はグローバルな設定方法を試す ja.nuxtjs.org 試しにgoogleフォントのLemonadaを導入する fonts.google.com nuxtl.config.tsのheadのリンクに追記 export default { mode: 'sp…

CSSでスクロールしたら特定のDOMが上部に張り付くようにする

CSS

以下の様なCSSで実現可能 古いブラウザでは試してないから動かないかも? position: -webkit-sticky; /* Safari */ position: sticky; top: 0; z-index: 1; /* お好みで */

vue-sticky-directiveをnuxtプロジェクトでつかえなかった

結論 使えなかった vue.runtime.esm.js?2b0e:619 [Vue warn]: Failed to resolve directive: sitcky 以下、試した手順 スクロール時に特定の部分を固定するためのライブラリ vue-sticky-directive をNuxtプロジェクトに導入してみる github.com インストール…

rubyで2つの配列からkeyと値のハッシュを合成する

a = [1, 2, 3, 4, 5] b = [200, 300, 100, 600, 400] Hash[*[a,b].transpose.flatten] => {1=>200, 2=>300, 3=>100, 4=>600, 5=>400} [a,b].transposeとすることで [[1, 200], [2, 300], [3, 100], [4, 600], [5, 400]] こうなるので、この配列をflattenして…

nodenvで利用しているnodeのバージョンでyarnを使えるようにする

nodenv-yarn-installというプラグインをnodenvに導入してからnodenvでnodeをインストールすると利用可能になる github.com 導入方法をプラグイン用のフォルダをなければ作成しgitからcloneする READMEの通りだかが以下のコマンドで導入する For Bash, Zsh us…

特定ユーザーの月ごとのcommit数を調べる

git

author="調べたい人のユーザー名" year=2020 month=("01" "02" "03" "04" "05" "06" "07" "08" "09" "10" "11" "12") for m in "${month[@]}" do echo "$year-$m\t"$(git log --date=iso --author="$author" --pretty=format:"[%ad] %h %an : %s" | grep "$y…

ActiveRecordで保存したときにbelongs_toで紐付いた親のレコードも更新する

belongs_to のオプションで :touch を指定する :touchオプションをtrueに設定すると、そのオブジェクトがsaveまたはdestroyされたときに、関連付けられたオブジェクトのupdated_atタイムスタンプやupdated_onタイムスタンプが常に現在の時刻に設定されます。…

VueComponentからエレメントを取得する

コンポーネントのDOMを参照したい場合 this.$refs.myComponent.$el で取得できる qiita.com

rspecで時間操作をする

今まではtimecop使ってたんだけど、細かい制御までは特にする必要もなかったので ActiveSupport::Testing::TimeHelpers を使ってみる spec/rails_helper.rbに以下を追記 # This file is copied to spec/ when you run 'rails generate rspec:install' requir…

Rails5.2からRails6.0へアップグレードする

Gemを更新 source 'https://rubygems.org' git_source(:github) { |repo| "https://github.com/#{repo}.git" } -gem 'rails', '~> 5.2.4.3' +gem 'rails', '~> 6.0.3.2' gem 'pg' gem 'puma' gem 'turbolinks', '~> 5' bundle update rails アップデートタス…

ディスク容量チェックの動作確認のため空ファイルを作る

サーバーにsshでつないで下記コマンドを実行すると10GBのファイルが作られる dd if=/dev/zero of=tempfile1 bs=1M count=10000 countのとこの数字を変更して作りたいファイルのサイズは調整する

Railsのroutingでパラメータにドットを許容する

paramsにドットが入るとデフォルトではRouting Errorが返される resources :users, constraints: {id: /[-a-zA-Z0-9.\-_\+]+/} このように指定すると id にアルファベットとマイナスとドットとアンダーバーとプラスを許容できる railsguides.jp

複数モデルでdeviseを利用するときに特定のモデルだけauthentication_keysを変更したい

ログインに利用するキーを変更するには通常 config/initializers/devise.rbの中の # ==> Configuration for any authentication mechanism # Configure which keys are used when authenticating a user. The default is # just :email. You can configure i…

after_saveで項目の値が変わっていたかどうかを確認したい

saved_changeや(項目名)_previous_changeを使って変更を確認する user = User.new user.email = "test@example.com" user.save p user.email_previous_change ["", "test@example.com"] class User < ApplicationRecord after_save :do_somothing_if_email_c…

Railsで外部キー制約を削除する

Rai

qiita.com 上記の通りだけど class RemoveUserKeyFromPlans < ActiveRecord::Migration[5.2] def change remove_foreign_key :plans, :users end end remove_foreign_keyで外部キー制約を削除

javascriptでiOSかどうかの判定をする

const userAgent = window.navigator.userAgent.toLowerCase(); const isiOS = userAgent.indexOf('iphone') > -1 || userAgent.indexOf('ipad') > -1 || userAgent.indexOf('macintosh') > -1 && 'ontouchend' in document; iPadOSの場合は、ユーザーエージ…

rubyでeach_with_indexみたいなことをmapでもやりたい

with_indexをmapにつなげて書けばよいようだ array = ['apple', 'peach', 'orange'] p array.map.with_index{|v, index| index > 1 ? 'hoge' : v} => ["apple", "peach", "hoge"]

gitの名前とメールアドレスを設定する

git

git-scm.com git config --global user.name "John Doe" git config --global user.email johndoe@example.com

Heroku CLIをインストールする

devcenter.heroku.com 公式の手順通りにMacへHeroku CLIをインストールする brew tap heroku/brew && brew install heroku Heroku CLI Autocomplete をインストール heroku autocomplete 実行するとHerokuへのログインが求められてブラウザが起動するのでロ…

「Module compiled with Swift 5.1.3 cannot be imported by the Swift 5.2.4 」というエラーが出てコンパイルが失敗する

iOS

note.com ググってみると carthage update --platform iOS を実行すれば良いとのこと zsh: command not found: carthage carthageがないと言われたので homebrewでインストール brew install carthage インストール後に再度以下を実行 carthage update --pla…

Firebase CLIをインストールする

firebase.google.com curl -sL firebase.tools | bash インストールが完了したらログインする firebase login

git logを見やすくするツール tigをインストールする

jonas.github.io brew install tig

Visual Studio Codeをインストールする

code.visualstudio.com 公式からDLしてzipを展開してVisual Stuido Code.appをアプリケーションフォルダに移動 terminalで codeコマンドでVSCodeを起動するために以下の設定を行う VSCodeを起動 Command Palette (⇧⌘P)を開いて 'shell command' を入力 "Shel…