サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
CES 2025
yuutookun.hatenablog.com
今年はコロナで出かけていないので、ちょっとGitHub Actionいじってます。 やりたいこと タイトル通りですが、やりたいことは「GitHub Actionでタグを打ったときに、git-pr-releaseみたいな前のタグからのPRのリストをリリースノートに乗せたい」です。 実際の自動で生成したリリースノート やりかた これを実施するにあたり、git-pr-releaseと違ってメインブランチとサブブランチを決めてそのPRを取るという手法が使えないので以下のようにする必要があります 前のタグからの今のタグへの全コミット取得 PRのコミット取得 対象のPRを取得 リリースノートに反映 前のタグからの今のタグへの全コミット取得 これはGitHubのAPIからは取れなかったので、Git操作で取得します。 git log を使えば、あるタグから別のタグまでのコミットログを取れます。 また通常の
本記事は Rust Advent Calenderの9日目の記事です。 今回はRustでCLIを作ったので、機能紹介と作る上でのポイントなどを紹介します。 書こうと思っていたネタが、7日目の 2020 年版 Command Line Tool を作ってみる in Rust - Qiita と結構被ってしまったのですが、 どうやってコードを書くかというより、自分がハマったどうやってデプロイするか周りをメインに紹介します。 なぜ作ろうと思ったか ec2-search 機能一覧 RustでCLIを作るためのパーツ コマンドラインパーサ aws sdk 実行バイナリ 表示 CI CD バイナリのリリース crates.ioへのpublish homebrew まとめ 追記 なぜ作ろうと思ったか 今回このCLIを作ったモチベーションとしてはRustでなにか作りたいという気持ちがメインではありますが、
最近はデータレイクに保存しているデータに対し更新、削除ができるライブラリが増えてきました。 Kudu,deltalakeやHudiなどがありますが、今回はUberが作ったHudiを触ってみました。 セットアップ データの書き込み データ読み込み データ更新 特定の時点でのクエリ まとめ セットアップ Quick-Start Guide - Apache Hudi を参考にセットアップしていきましょう。 localで試すためにspark-shellをいれて実行します。 $ brew install spark-shell $ spark-shell --package org.apache.hudi:hudi-spark-bundle_2.11:0.5.1-incubating,org.apache.spark:spark-avro_2.11:2.4.4 \ --conf 'spark.se
ついにあのKarabinerがHighSierraでもつかえるようになっていた!! ということでメモ。 まずKarabinerElementsをアップデートします。 以下すでにルールを追加済みですが、新規の方は空なはず。 ここからルールを追加します。 ElementsのバージョンからはWebでruleをダウンロードするようになっています。 ここをクリックすると、以下にジャンプするので、ダウンロード。 Karabiner-Elements complex_modifications rules 自分はemacs配列なので、 Emacs key bindings Change caps_lock key をimport。 あとは、以下2つを有効化 KarabinerElementsを有効化すると、ネイティブのcaps_lockの入れ替えが効かなくなったので、KarabinerでCapsの入れ替
ビジョンとは メンバーの士気 プロダクトの方向性 ファンを作る 締め ビジョンとは 企業の経営を行う上で、経営におけるビジョンを設定するということは最近ではごく当たり前のことになっている。 そもそも ビジョンとは何か? 以下コトバンクによると 将来のある時点でどのような発展を遂げていたか、成長していたいかなどの構想や未来像。またそれらを文章などで描いたもの。会社全体の未来像を経営ビジョン、事業の未来像は事業ビジョン、組織は組織ビジョンなどと呼ばれる。また個人の将来像を指してキャリアビジョン、自己成長ビジョンなどということもある。 ビジョン(びじょん)とは - コトバンク ではなぜビジョンを描くのか? 以下の考察が面白い。 会社のビジョンはなぜ大切なのか – Koichiro Honda – Medium ただ企業のビジョンの場合、たいていふわっとしていてプロダクトの方向性まで定義できないこ
デフォルトではcomposerなどがホームディレクトリに入ってしまうので、 anyenvで入れたphpenvで切り替えた時に、対応ができません。 anyenvの入れ方はyuutookun.hatenablog.com を参照してください。 ですので、別の入れ方をする必要があります。 phpenv 環境で composer global でパッケージをバージョン別にインストールするプラグイン - ngの日記を参考にいれてみました。 まず、以下を入れます。 ngyuki/phpenv-composer · GitHub $ cd ~/.anyenv/envs/phpenv/plugins $ git clone https://github.com/ngyuki/phpenv-composer.git $ phpenv rehash 次にcomposerを実行します。 $ cd ~/.anye
先日発表したChatOps事例のスライドを共有します。 Slackから始めるChatOps from Yuto Suzuki www.slideshare.net 連携のハマりどころ この発表でちゃんと伝えてないので補足です。 APIGatewayとLambdaの連携 APIGatewayを使うにあたりSlack連携で、GETリクエストを受け取るのは簡単なんですが、POSTリクエストが実はちょっと面倒なんですね。 p18でも書いてますが、Slackから飛んでくるリクエストがJsonではなくFormなんです。 Slackから飛ぶForm内容は、以下のような感じなんですが、 token=xxxxxxxxxxxxx team_id=T0001 team_domain=example channel_id=C1234567 channel_name=test user_id=U1234567 us
今回、firefox dev conferenceに参加してきました。 www.mozilla.jp そこで聞いてきた、webextensionsに関して試してみたので、ログっておきます。 firefoxはアドオンの機能に関して、Chromeの拡張機能と同じ仕様を搭載することを発表しています。dev.mozilla.jp 実際、どのようにして作るのか紹介します。 WebExtensionsに関しては、WebExtensions - MozillaWikiに書いてあります。 環境構築 以下からFirefox Developer Editionをダウンロードします。 Firefox のダウンロード — 自由な Web ブラウザ — Mozilla リンクのURLからしてバージョンが変わると見れなくなりそうなので、 リンクに飛べない場合は、「DeveloperEdition」で検索してダウンロー
以下のようなファイルがあった時、先頭の数値のみ取り除きたいときのawkコマンド $ cat a.txt 1 ls 2 touch test 3 test 4 echo "hoge hoge" > test こんな場合、$0と代入を組み合わせるとできる! # 最初のフィールドを除外する場合 $ awk '{$1="";print $0}' a.txt # 最後のフィールドを除外する場合 $ awk '{$NF="";print $0}' a.txt $0 :すべて出力 $NF;最後の要素(NFはその行のフィールド数) これで、history履歴や単語カウントの整形もさっくり!
A = {"みかん":5,"りんご":8,"ぶどう":2} B = {"みかん":5,"なし":8,"ぶどう":2,"もも":1} 辞書の要素は{単語:その出現頻度}という構成です. この2つのベクトルの類似度を計算する尺度を紹介する. PMIなど共起についての尺度は使わず,単純なベクトルの比較を行うものです. コサイン類似度 (cosine similarity) 頻度を考慮した類似度計算. よく使われる. import math def dotProduct(dicX,dicY): '''return a dot product.''' sum = 0 for key in dicX: if key in dicY: sum += float(dicX[key])*float(dicY[key]) return sum def root_squareSum(vector): """th
ビタビアルゴリズムを理解も兼ねて実装してみました. # -*- coding:utf-8 -*- states = ("rainy","sunny") observations = ("walk","shop","clean","shop","walk") start_prob = {"rainy":0.6,"sunny":0.4} transit_prob = {"rainy":{"rainy":0.7,"sunny":0.3}, "sunny":{"rainy":0.4,"sunny":0.6}} emission_prob = {'rainy' : {'walk': 0.1, 'shop': 0.4, 'clean': 0.5}, 'sunny' : {'walk': 0.6, 'shop': 0.3, 'clean': 0.1}} def viterbi(observs,state
今回はmecabへの辞書追加でハマったのでそのメモとして残します. ほとんどhttp://fukushimu.blog.shinobi.jp/Entry/76/を参照しました. /usr/local/libexec/mecab/mecab-dict-index -d /usr/local/lib/mecab/dic/ipadic -u wikipedia.dic -f utf8 -t utf8 wikipedia.csv mecabをローカルにコンパイルした人ならそこを指定します. http://mecab.googlecode.com/svn/trunk/mecab/doc/dic.htmlに書いてあるユーザ辞書の登録という項目にコマンドについては詳しく書いてあります. しかし以下のようなエラーがでました. context_id.cpp(88) [it != left_.end()] c
コマンドをPythonから入力するやり方. 基本 ls -lこんなコマンドは以下の二通り. import subprocess subprocess.call("ls -l",shell=True) とても単純.シェルを介してコマンドを実行している. もう一つはシェルを介さない場合. import subprocess subprocess.call(["ls","-l"]) リダイレクトとパイプ 以上のようにリダイレクトやパイプも使えるが,出力を使いたい時に困る. そこでそれらの使い方を紹介. 例えばテキストファイルをMeCabという形態素解析にかけたいとき mecab < test.txt このようなコマンドを入力するが実際は下のように直して入力している. cat test.txt | mecab ではsubprocess import subprocess import sys fi
pythonからtwitterに投稿するためのモジュールは2つある. python-twitterとtweepyだ. python-twitterが主流だが,使い始めた当時python-twitterのOAuth認証のドキュメントがなくてtweepyを利用していた. そこでtweepyの紹介をする. TLから取得 まずは簡単なAPIを叩いて見る. import tweepy tl = tweepy.api.public_timeline() print tl[0].text() tlにはオブジェクトになっているのでtextで呼び出さなければならない. userStatus import tweepy id = "hoge" # ここはユーザネームかID usr = tweepy.api.get_user(id) print usr.description #これはプロフィールを取得できる.
このページを最初にブックマークしてみませんか?
『Screaming Loud』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く