20200402のMacに関する記事は7件です。

Proxy環境下でのあれこれ

Proxy環境下でのあれこれ

環境

  • MacBook Pro(Retina, 15-inch, Mid 2015)
    • macOS Mojave (v 10.14.1)
  • Ruby 2.3.7p456
  • gem 3.0.3
  • Homebrew 2.1.2
  • carthage 0.33.0
  • cocoapods 1.5.3

Proxy書式

http://<serverhost>:<port>
http://<username>:<password>@<serverhost>:<port>

usernameに@が含まれる場合はURLエンコードした%40で置き換える

gem installができない

$ gem install パッケージ名 -r -p <Proxy>

Proxy環境でgem install - Qiita

curlが動かない

以下のように.bashrcに設定する
大文字と小文字の両方で設定しないといけないらしい.

~/.bashrc
export HTTP_PROXY=<Proxy>
export HTTPS_PROXY=${HTTP_PROXY}
export http_proxy=<Proxy>
export https_proxy=${http_proxy}

念のため.curlrcも設定する.

~/.curlrc
proxy=<Proxy>

curlコマンドにてproxy設定 - Qiita

GitHubに接続ができない

以下のコマンドによってgit configにプロキシ設定をする.

$ git config --global http_proxy <Proxy>
$ git config --global https_proxy <Proxy>

プロキシ経由でcarthage updateができなかった場合の対処法 | DEVRECO

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Rails 自作アプリへの道 Part2

Rails 自作アプリを作った時の経過をまとめていきます。

環境

OS Ruby Rails
Mac Mojave 10.14.16 2.6.3p62 5.0.7.2

参考
https://qiita.com/cigalecigales/items/f4274088f20832252374

前提
環境構築済

【conformableの設定】

1.送信メールアドレスの登録

①設定ファイルの追記/編集

config/environments/depelopment.rb
  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
    :address => "smtp.gmail.com",
    :port => 587,
    :user_name => "Gメールアドレス", # メアドを書く
    :password => "Gメールパスワード",
    :authentication => :plain,
    :enable_starttls_auto => true
  }
config/initialiezers/devise.rb
  config.mailer_sender = 'Gメールアドレス' # メアドを書く

②gmailアプリパスワードの取得、追記

config/environments/development.rb
   (省略)
    :password => "Gメールパスワード", # Gmailのアプリパスワードを書く
   (省略)

③サインアップ、ログインの検証

サーバーを起動し、サインアップ。
確認メールをMacで開き、『Confirm my accout』をクリック
その後、ログイン可能か確認する

【lockableの設定】

1.設定値の登録

①設定ファイルの編集 ※ 必要に応じて、設定値やコメントの有無を変更

config/initializers/devise.rb
   (省略)

  config.lock_strategy = :failed_attempts

  config.unlock_keys = [:email]

  config.unlock_strategy = :both

  config.maximum_attempts = 20

  config.unlock_in = 1.hour

  config.last_attempt_warning = true

   (省略)

【timetableの設定】

1.設定値の登録

①設定ファイルの編集 ※ 必要に応じて、設定値やコメントの有無を変更

config/initializers/devise.rb
   (省略)

  # config.timeout_in = 30.minutes


   (省略)

【その他の設定】

1.サインアップ画面で入力させたい項目の追加

①設定ファイルの編集 ※ 必要に応じて、入力させたい項目を追加

app/views/devise/registrations/new.html.erb
<h2>サインアップ</h2>

<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
  <%= render "devise/shared/error_messages", resource: resource %>
  <!-- 省略 -->

  <div class="field">
    <%= f.label :sellername, '取扱者' %><br />
    <%= f.text_field :sellername, autofocus: true, autocomplete: "sellername" %>
  </div>
  <!-- 省略 -->
<% end %>

<%= render "devise/shared/links" %>

2.変更できるようにしたい項目の追加

①設定ファイルの編集 ※ 必要に応じて、入力させたい項目を追加

app/views/devise/registrations/edit.html.erb
<h2>取扱者情報編集</h2>

<%= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| %>
  <%= render "devise/shared/error_messages", resource: resource %>
  <!-- 省略 -->

  <div class="field">
   <div class="field">
    <%= f.label :sellername, '取扱者' %><br />
    <%= f.text_field :sellername, autofocus: true, autocomplete: "sellername" %>
  </div>
  <!-- 省略 -->
<% end %>

<%= render "devise/shared/links" %>

3.ストロングパラメータの設定

①データベースに登録したい項目をストロングパラメータで指定する

app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
  protect_from_forgery with: :exception
  before_action :configure_permitted_parameters, if: :devise_controller?

  protected
    def configure_permitted_parameters
      devise_parameter_sanitizer.permit(:sign_up, keys: [:sellername])
      devise_parameter_sanitizer.permit(:account_update, keys: [:sellername])
    end
end
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

インストール済みなのに flutter doctor が Intellij IDEA の flutter plugin を認識しない

  • flutter plugin を Intellij でインストールした
  • flutter doctor が Intellij IDEA の flutter plugin を認識しない
  • Intellij では flutter plugin を認識している
  • JetBrains Toolbox から Intellij をアンインストール・再インストールした
  • Intellij の Plugin ディレクトリが変わって flutter doctor が通った

flutter doctor が flutter plugin を認識しない

> flutter doctor -v
[✓] Flutter (Channel unknown, v1.9.1+hotfix.6, on Mac OS X 10.15.3 19D76, locale ja-JP)
    • Flutter version 1.9.1+hotfix.6 at /Users/XXXXX/bin/flutter
    • Framework revision 68587a0916 (7 months ago), 2019-09-13 19:46:58 -0700
    • Engine revision b863200c37
    • Dart version 2.5.0
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/XXXXX/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /Users/XXXXX/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/192.6308749/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
    • All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 11.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.3.1, Build version 11C505
    • CocoaPods version 1.9.1
[✓] Android Studio (version 3.6)
    • Android Studio at /Users/XXXXX/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/192.6308749/Android Studio.app/Contents
    • Flutter plugin version 44.0.2
    • Dart plugin version 192.7761
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
[!] IntelliJ IDEA Ultimate Edition (version 2019.3.4)
    • IntelliJ at /Users/XXXXX/Applications/JetBrains Toolbox/IntelliJ IDEA Ultimate.app
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • For information about installing plugins, see
      https://flutter.dev/intellij-setup/#installing-the-plugins
[✓] Connected device (3 available)
    • Android SDK built for x86 • emulator-5554                        • android-x86 • Android 10 (API 29) (emulator)
    • iPad                      • XXXXXXXXXXXXXXXXXXXXXXXXX            • ios         • iOS 13.4
    • iPhone 11 Pro Max         • 074F50B0-2FE3-4340-BCEF-DDA52C1FF9D5 • ios         • com.apple.CoreSimulator.SimRuntime.iOS-13-3 (simulator)
! Doctor found issues in 1 category.

Intellij では flutter plugin を認識している

インストール先ディレクトリはここか?

> ll "~/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/193.5233.102/IntelliJ IDEA.app.plugins" | grep -i -e flutter -e dart
drwxr-xr-x  3 XXXXX  staff    96B Apr  1 12:32 Dart/
drwxr-xr-x  3 XXXXX  staff    96B Apr  1 12:32 Flutter Intl/
drwxr-xr-x  3 XXXXX  staff    96B Apr  1 12:32 flutter-intellij/
drwxr-xr-x  3 XXXXX  staff    96B Apr  1 12:32 flutter-snippets/

Intellij の Plugin ディレクトリを明示的に指定してみたがダメだった

  • 高度な構成 - 公式ヘルプ | IntelliJ IDEA を参考に設定を追加して Plugin ディレクトリを指定した
  • Intellij の flutter plugin をアンインストール・再インストール
  • 指定した Plugin ディレクトリに flutter plugin がインストールされていることを確認した
  • flutter doctor は通らなかった

JetBrains Toolbox から Intellij をアンインストール・再インストールした

Intellij の Plugin ディレクトリが変わって flutter doctor が通った

Plugin のディレクトリが変わった

> ll ~/Library/Application\ Support/IntelliJIdea2019.3 | grep -i -e flutter -e dart
drwxr-xr-x  3 XXXXX  staff    96B  4  2 13:10 Dart/
drwxr-xr-x  3 XXXXX  staff    96B  4  2 13:10 flutter-intellij/

flutter doctor が通った

X flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel unknown, v1.9.1+hotfix.6, on Mac OS X 10.15.4 19E266, locale ja-JP)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[✓] Xcode - develop for iOS and macOS (Xcode 11.3.1)
[✓] Android Studio (version 3.6)
[✓] IntelliJ IDEA Ultimate Edition (version 2019.3.4)
[!] Connected device
    ! No devices available
! Doctor found issues in 1 category.
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

[Mac]xargsで引数を任意の箇所に埋め込んで実行するメモ

この記事について

何回やっても忘れるので。本当にただのメモ書きです。

sample code

ローカルの特定のディレクトリ配下にあるファイルすべてをS3に上げるサンプルスニペット。

upload_s3.sh
find -f <path_to_dir>/* -print0 | xargs -0 -I{} aws s3 cp  {} s3://my-bucket/prefix/

ポイント

find -Iの後ろに任意の文字列を入れることで、実行する末尾でなく任意の箇所に埋め込むことができる。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

TeXiFy IDEA + macで最高の日本語LaTeX環境を作る際のトラブルシューティング

環境

  • macOS Catalina 10.15.2

基本

基本的にはこのページにしたがって導入すればよいです。

問題

しかしこのまま\documentclass{jsarticle}としてコンパイルを試みたところ、

"! LaTeX Error: This file needs format `pLaTeX2e' but this is `LaTeX2e'."

が出てハマりました。

Windows OSの場合この記事に対処策が載っています。ここではOS関係なしにできる(はずの)簡単な解決策を述べます。

対処

結論は簡単で、コンパイラをLuaLaTeXにすることで解決されました。このページに従ってコンパイラを変え、texファイル内では\documentclass{ltjsarticle}とすれば完全勝利、論文執筆の5割は終わったも同然です。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

MacBookProのSSDを引越したらbootcampが起動できなくてハマった

MacBook Pro (Retina, 13-inch, Mid 2014) の512GBのSSDを2TBに交換して、データ移行したら、bootcampの起動ができなくてハマったというお話
成功例だけを記す。

環境

MacBook Pro (Retina, 13-inch, Mid 2014)
- OS 10.15.3
- Windows 10 with bootcamp

やったこと

  1. 各種バックアップ
  2. xubuntuをusbでboot
  3. ddコピーで 512 GB SSD --> 2TB 外付けHDD
  4. MacBookProの底面を外して、SSD交換
  5. xubuntuをusbでboot
  6. 2TB 外付けHDD --> 2TB SSD
  7. bootcampのMBRの修復

買ったもの

samsung 970 evo plus 2TB
M.2 -> 12+16 pin 変換アダプタ

作業

xubuntuインストール

ddコピーを自分のディスクに対して行うのはちょっと気持ちが悪いので、
いつもlinuxを作ってそこからコマンドを出している。

普段はubuntuだったけど、気分を変えたいので、xubuntuを使ってみた。
xubuntuのisoイメージをDLして、usbにddコピーしただけ。

512 GB SSD --> 2TB 外付けHDD

xubuntuをusb bootして、端末を表示。

sudo fdisk -l

MacOS、BootCampが入っているドライブ名(/dev/sda)を確認。
移動先(/dev/sdcなど)が外付けHDDか確認。
この時、外付けHDDのパーティション方式はMBRにしていた。
(これも効くのか?)

そして、

sudo dd if=/dev/sda of=/dev/sdc bs=4096 status=progress

として、HDDに吸い出す。(~1h)

bs=4096はブロックサイズで、HDDへのバッファサイズと理解したら良い。
大きい値だと一度に書き込めるので、高速になる。4096 byteで十分だった。

status=progressは、ddの途中経過を標準出力に書き出すという指定。

SSD交換

購入したものがぴったりハマってご満悦。
(IT用語のハマるでポジティブの使い方もあるんですね)

2TB 外付けHDD --> 2TB SSD

続いて、再度xubuntuを起動し、

sudo fdisk -l

で、出力元、出力先のドライブ名を確認したのち、

sudo dd if=/dev/sda of=/dev/nvme01p bs=4096 status=progress

として、書き込み。
データの入っている512 GiBを超えてしばらくしたら、ctrl + cで止めた。
(乱暴・・・)

MBR修復

OSXは無事に起動。
bootcampは何度か再起動を繰り返し、リカバリーモードへ。

ここから悩んだのだが、bootcampはmbrを偽装しているらしく(hybrid gptという?)、
windowsからmbrを修復すれば良さそうという結論に至り、挑戦。

システム回復オプションからコマンドプロンプト を選んで、

bootrec /fixmbr
bootrec /rebuildbcd

として、MBRを修復する。
再起動して、無事にbootcampが起動。

めでたし

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

コマンド1発でMacでFolding@homeのコロナウイルス解析に貢献する方法

MacでFolding@homeのコロナウイルス解析に貢献する方法

世界的大流行を見せているコロナウイルスですが、コロナウイルスの特効薬開発といった分野で今我々プログラマーに貢献できることはほとんどなく、医療関係者の方々の結果を待つことしかできません。
そこで何かできることは無いのかと調べていると、Folding@homeでコロナウイルスの解析作業を手伝う事ができるとのことでした。
PCの計算能力を貸すだけで誰でも貢献ができるので、家で寝かせているPCがある方はぜひ試してみてはいかがでしょうか?

https://pc.watch.impress.co.jp/docs/news/1243458.html

Folding@homeとは?

Folding@homeは、スタンフォード大学を中心としたタンパク質解析の分散コンピューティングプロジェクトです。
1台のPCのスペックは低くても、それを何百何千と合わせることでスパコンをも超える速度での演算が可能となります。
似たようなプロジェクトにSETI@homeという宇宙人を探すプロジェクトがあったのですが、今年の3月末までで休止したみたいですね。

Macでのインストール

Macを使っているプログラマーならきっとhomebrewはインストール済みかと思いますが、もしまだの方は以下のコマンドでhomebrewをインストールしてください。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

homebrewがインストール完了したら、以下のコマンドでFolding@homeがインストールできます。

brew cask install folding-at-home

これでFolding@homeがインストールされます。
あとは起動してマシンパワーを設定して再生ボタンみたいな三角形を押すだけです。
マシンがタンパク質の解析を行ってくれます。

チームについて

チームというものが作れるそうなので、Japanese Programmersという名前で一応チームを作っておきました。
チーム単位でのランキングみたいなものが出るそうです。
なんとなくで作ったチーム名なので、プログラマーの方もそうじゃない方も、みんなで参加してみましょう!

チームの入り方は、Configureを押してIdentifyタブを開くと出てくるTeam number欄に257614と入力するだけです。

おわりに

電気代はかかってしまうかも知れませんが、元々動かしっぱなしにしているよ、という方はぜひFolding@homeでコロナウイルス解析に貢献してみませんか?

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む