プログラミング
はじめに 場所に限らず、ネットにさえ繋がっていれば、どこからでもコードが書けるCloudIDEは、AtCoderの学習や、ちょっとしたコードを書きたいときにとても便利です。 私はRailsチュートリアルをきっかけに、Cloud9で個人的な開発を進めてきました。無料で…
はじめに 最近、Deviseをいじる機会があったのでメモ。 やりたいこと Deviseのメール認証に成功した後に、管理者向けに「ユーザがメール認証したよ」的なメールを送信したい send_user_confirmed_emailみたいな感じ 困ったこと 素直に実装すると、ユーザがUR…
はじめに 新年早々ハマったのでメモ。 今年の1月から同様の事象が発生しているように見受けられます。 stackoverflow.com 結論 Ruby2.6.0を使えば解決します。 やりたいこと まっさらなEC2にRubyを入れて、Unicornをインストールしたい 実行環境 $ ruby --ve…
はじめに axlsx_railsを使ってCSV出力機能を実装するメモ。 やりたいこと Rails5アプリケーションからCSVを出力したい 実現方法 gem axlsx_railsを使う github.com 実装方法 gemインストール gem 'axlsx_rails' MIMEの登録 長いので\config\initializers\mim…
はじめに Punditを使った権限管理の実装方法のメモ。 やりたいこと 権限管理の機能を簡単に実装したい。 実現方法 Punditを使う。 github.com 実装 application_controller Punditをインクルードする class ApplicationController < ActionController::Base …
はじめに たまにメソッドにイコールがついているものを見かけるのでメモ。 実装例 def user_params=(user) id = user.id self.created_user ||= id self.updated_user = id end メリット 代入構文のように使用できる Rubyでは、()を省略できる。また、イコー…
やりたいこと リンクを別のウインドウで表示したい 別のウインドウには、ブラウザのツールバーやメニューを表示したくない 別ウインドウの大きさは手動で調整できるようにしたい やりたいことのイメージ 楽天銀行のログイン画面のこういうやつ www.rakuten-b…
はじめに N+1問題を解消するために、複数の関連を持つModelをincludesメソッドで解消する方法をメモ。 実行環境 Rails5.2.0 Ransack Slim Model定義 Userに持っている名称と、Corporationに持っている名称を取得したい。 class User < ApplicationRecord has…
はじめに Psycopg2のmogrifyにint型の要素を1つ渡して、エスケープしたSQLを取得しようとしたらエラーになったのでメモ。 環境 AWS Lambda Python3.6 PostgreSQL9.6 発生したエラー "errorMessage": "'int' object does not support indexing", "errorType":…
はじめに Rails5.2.0でアプリケーションを開発中に見慣れないエラーが出たのでメモ。 実行環境 Rails5.2.0 ActiveRecord5.2.0 PostgreSQL 9.6 発生したエラー ActiveRecord::DangerousAttributeError association is defined by Active Record. Check to mak…
はじめに Rails5.1.1で動かしていたプログラムを、Rails5.2.0で動かしたら、JoinDependency.newでエラーが発生した。 いろいろ回り道して調べた結果、ここ3日くらいハマってしまったのでメモ。 発生したエラー wrong number of arguments (given 3, expected…
はじめに Visual StudioでSolargraphが動かなくなったので、解決するまでをメモ。 実行環境 Windows10 64bit Pro Vivual Studio Code 1.27.2 Ruby 2.4.4 発生したエラー Failed to start Solargraph: Unable to load the EventMachine C extension; To use t…
はじめに 同僚に薦められて、リーダブルコードを読み始めました。 リーダブルコードとは? わかりやすいプログラムを書くための原理原則が書いてある本です。 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practic…
実行環境 AWS Lambda Python3.6 PostgreSQL9.6.6 psycopg2 やりたいこと existsでデータの有無を確認 結果をBooleanで返却したい 解決方法 fetchone()を使う。公式ドキュメントは以下。 The cursor class — Psycopg 2.7.5 documentation 実装例 def is_exist…
やりたいこと 複数のインデックス番号を指定して、リストから対象のデータを一度に削除したい 結論 lambda式を使う 困った例 以下だと、削除したいインデックスがずれてしまう。 list = ["りんご","みかん","バナナ","メロン","スイカ"] # りんごとメロンを…
はじめに 2018年7月22日に開催された、でかドージョーin東京にはじめて参加してきました。 いろいろ学ぶことがあったため振り返ります。 参加しようと思ったきっかけ 以下の記事にまとめました。 www.yokoyan.net 会場はサイボウズさん 今回のでかドージョー…
はじめに ツールバーのヒントをクリックすると出てくる、Scratchをはじめようの学習ログです。 色を変える 見た目をクリックします。 色の効果を25ずつ変えるブロックをドラッグします。 ドラッグしたブロックをクリックすると語に、ネコの色が変われば成功…
やりたいこと 1つのメソッドで複数の戻り値を返したい 解決策 returnする値をカンマで区切る 文字列と数字を返す例 def hoge(): # 略 return "hoge",123456789 文字列と数字が含まれたリストを返す例 def hoge(): # 略 return ["hoge",123456789] 複数のリス…
はじめに 今後、CoderDojyoにメンターとして継続的に参加したいと考えています。 CoderDojyoでは、子ども向けのプログラミング言語Scratchを使うことが多いため、自分でも触ってみることにしました。 Scratchに興味がある方々の参考になれば幸いです。 事前…
はじめに 2018年7月22日(日) に開催される「DecaDojo(でかドージョー)」in 東京にメンターとして参加させていただくことになりました。 DecaDojyoとは? CoderDojo(コーダー道場) は7〜17歳の子どもを対象にしたプログラミング道場で、ボランティアで運営さ…
やりたいこと Scrapyで実装した処理の任意の場所にログを追加したい。 環境 Scrapy1.5.0 Python3.6 実現方法 import loggingと、logging.log_level()を使用する。 以下、infoレベルのログ出力の実装例。 import logging # 略 logging.info("hogehoge") 参考…
はじめに 最近、Pythonを使ってコードを書きます。まだまだ不慣れなので、flake8を導入してみました。 Rubocopみたいで便利ですね。後学のために指摘された内容をまとめます。 【参考情報】flake8公式 lintlyci.github.io E111 indentation is not a multipl…
はじめに Visual Studio CodeでPythonの開発を行う際のコードフォーマット設定を行います。 参考 dev.classmethod.jp 事前準備 Visual Studio Codeの統合ターミナルで以下を実行します。 $ pip install flake8 $ pip install yapf settings.jsonの設定変更 V…
はじめに 5/20に開催されたCoderDojoさいたまにメンターとして参加してきました。 coderdojo-saitama.com 会場の6Fはとってもおしゃれ!! 大宮のコワーキングスペースである7F(ナナエフ)の一つ下の6F(ロクエフ)で開催されました。フリードリンクもあり…
はじめに 年始の目標に掲げていたCoderDojoのメンターに申し込みました。直前の申し込みにもかかわらず、快諾いただいた運営の方々に感謝です。 CoderDojoとは? CoderDojo は7〜17歳の子どもを対象にしたプログラミング道場です。2011年にアイルランドで始…
はじめに AtCoderの問題をいろいろやっている中で、多重配列について迷ったのでメモ。 やりたいこと 多重配列の中身を1行ずつ改行して表示したい。 実現方法 joinメソッドを使う。 docs.ruby-lang.org 実装例 $ irb 2.4.0 :001 > H,W=3,4 => [3, 4] 2.4.0 :0…
はじめに 育児の合間にAtCoderのBeginners Selectionの問題を少しづつ解いています。 qiita.com やってみた感想 自分のプログラムの書けなさっぷりに衝撃を受けました。 SIerでプロジェクトリーダーやPJ管理の仕事ばかりしていたため、プログラムを書いてき…
はじめに Qiitaで見つけた以下の記事が面白そうです。 qiita.com 上記10問を解いて、プログラミングコンテストであるAtcoderのコンテストに参加してみようと思い立ったので、まずは環境構築からチュートリアル問題までやってみます。 Visual Studio Codeの取…
Railsの開発のために、MicrosoftのVisual Studio Code(以下、VSCode)を入れます。 VSCodeのメリット IDEと比べると圧倒的に軽い。 インストール手順 Visual Studio Codeから、インストーラをダウンロードする。 インストール 次へをクリック。 デフォルト…
ドットインストールの学習状況です。 学習中のレッスン Ruby入門 (全26回) 現在の進捗状況 全26回完了。 所要時間 5日間。 − なんだかんだで5〜6時間くらい。 作成したプログラム github.comにて管理しています。 やってみた感想 基礎の基礎から学べるので非…