Skip to content

Instantly share code, notes, and snippets.

@Xavier59
Xavier59 / privatekeysolana.js
Created December 28, 2021 14:49
Convert Solana private key from/to base58/uint8array
// exporting from a bs58 private key to an Uint8Array
// == from phantom private key to solana cli id.json key file
// npm install bs58 @solana/web3.js
const web3 = require("@solana/web3.js");
const bs58 = require('bs58');
let secretKey = bs58.decode("[base58 private key here]");
console.log(`[${web3.Keypair.fromSecretKey(secretKey).secretKey}]`);
// exporting back from Uint8Array to bs58 private key
@shyouhei
shyouhei / gist:22254d2cc60cef9016140cab0cdb50a2
Created June 5, 2020 05:33
会社に所属する理由は放置しておくとゴリゴリ削れていくぞ、という話

おことわり

  • 既に他媒体のインタビューなどで発表済みの内容をモンタージュしたものであり、卜部のことを詳細にストーキングしている読者がいるとすれば新規のコンテンツを含まない。
  • 卜部の人生は卜部の人生なのであっておまえらの人生ではない。「所謂普通の人生」を送ってきたという認識は寸毫もない。性急な一般化は危険と言わざるを得ない。

何個か前の受託開発の会社をやめたきっかけの話

当時、その案件にはひとりアサインで、客先常駐であった。幸いにして常駐先の皆さんには本当に良くしていただいて、困りごともなく、業務も適量で、掛け値なしによい客先だなと思っていた。

しかしそうなってくると、所属先に所属している意味ってなんだっけという疑問がむくむくと頭をもたげてくるのである。客先常駐ひとりアサインというのは客先常駐ひとりアサインであるがゆえに、会社がこんだけ抜いてるぞというのが隠しようがないわけ。客先に請求書持っていくのも自分なんだから単価も分かるし、振り込まれてる給料も分かる(明細見れば社保の会社負担分とかも分かる)。俺が所属先に投げてるバックオフィス業務は、この抜かれてる金額に見合っているか?

ところが。ところがなのである。やめるぞと宣言して常駐が解除になり、所属先に残りのしばらく通っていると、いろいろなことが見えてくるのだ。たとえば所属先の同僚と何気なく会話する。たとえばバックオフィスの人達と(やめるから)書類のやりとりをする。たとえば所属先の営業が電話をかけている。そういうごく些細なことの積み重ねがあるのだ。会社は、中抜きするだけの謎の組織ではなかった。もっとディティールがある。そこを無視して、というか、そこが不可視化されて、金のやりとりだけ見えてしまうから、不要という話に傾いてしまったんだと気づいた。まあ言った以上はそのままやめたし次も良かったから後悔もないけど、不幸な、というか、回避策は何かあったんではないか。

@mpppk
mpppk / clean_architecture.md
Last active June 23, 2024 14:39
クリーンアーキテクチャ完全に理解した

2020/5/31追記: 自分用のメモに書いていたつもりだったのですが、たくさんのスターを頂けてとても嬉しいです。
と同時に、書きかけで中途半端な状態のドキュメントをご覧いただくことになっており、大変心苦しく思っています。

このドキュメントを完成させるために、今後以下のような更新を予定しています。

  • TODO部分を埋める
  • 書籍を基にした理論・原則パートと、実装例パートを分割
    • 現在は4層のレイヤそれぞれごとに原則の確認→実装時の課題リスト→実装例という構成ですが、同じリポジトリへの言及箇所がバラバラになってしまう問題がありました。更新後は、実装時の課題リストを全て洗い出した後にまとめて実装を確認する構成とする予定です。

2021/1/22追記:

@shunirr
shunirr / criminal_jc.md
Last active February 26, 2024 05:51
女子中学生チケット詐欺事件

criminal_jc

// https://webreflection.medium.com/using-the-input-datetime-local-9503e7efdce
Date.prototype.toDatetimeLocal =
function toDatetimeLocal() {
var
date = this,
ten = function (i) {
return (i < 10 ? '0' : '') + i;
},
YYYY = date.getFullYear(),
MM = ten(date.getMonth() + 1),
@blinksmith
blinksmith / X509KeyPairtest.go
Created February 26, 2016 20:50
Golang crypto/tls.X509KeyPair function usage example
package main
import (
"fmt"
"os"
"crypto/tls"
"crypto/x509"
)
func main() {
var rsaCertPEM = [] byte(`-----BEGIN CERTIFICATE-----
MIICEzCCAXygAwIBAgIQMIMChMLGrR+QvmQvpwAU6zANBgkqhkiG9w0BAQsFADAS
@Drunkar
Drunkar / Dockerfile
Created May 21, 2015 12:21
elasticsearch 1.5.2 with plugins: mobz/elasticsearch-head, polyfractal/elasticsearch-inquisitor, elasticsearch/elasticsearch-analysis-kuromoji/2.5.0 dockerhub: https://registry.hub.docker.com/u/drunkar/elasticsearch/
FROM java:7-jre
# grab gosu for easy step-down from root
RUN gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4
RUN curl -o /usr/local/bin/gosu -SL "https://github.com/tianon/gosu/releases/download/1.2/gosu-$(dpkg --print-architecture)" \
&& curl -o /usr/local/bin/gosu.asc -SL "https://github.com/tianon/gosu/releases/download/1.2/gosu-$(dpkg --print-architecture).asc" \
&& gpg --verify /usr/local/bin/gosu.asc \
&& rm /usr/local/bin/gosu.asc \
&& chmod +x /usr/local/bin/gosu
@keitaj
keitaj / ar_innodb_row_format.rb
Created March 7, 2015 01:21
utf8mb4で動かすために必要。create_tableメソッドで'ROW_FORMAT=DYNAMIC'がデフォルトで指定されるようにしておく。http://qiita.com/kamipo/items/101aaf8159cf1470d823
ActiveSupport.on_load :active_record do
module ActiveRecord::ConnectionAdapters
class AbstractMysqlAdapter
def create_table_with_innodb_row_format(table_name, options = {})
table_options = options.merge(:options => 'ENGINE=InnoDB ROW_FORMAT=DYNAMIC')
create_table_without_innodb_row_format(table_name, table_options) do |td|
yield td if block_given?
end
end
alias_method_chain :create_table, :innodb_row_format
とりあえずupdate
# sudo yum update -y
必要なもんを用意
# wget https://mecab.googlecode.com/files/mecab-0.996.tar.gz
# wget https://mecab.googlecode.com/files/mecab-ipadic-2.7.0-20070801.tar.gz
解凍
# tar xvfz mecab-0.996.tar.gz
# tar xvfz mecab-ipadic-2.7.0-20070801.tar.gz
@zakuroishikuro
zakuroishikuro / mechanize_with_local_html.rb
Created April 10, 2014 05:42
Mechanizeでローカルファイルを扱う (ディレクトリ内のhtmlの場合)
require 'mechanize'
name = "foo.html"
path = File.expand_path(name, __FILE__)
agent = Mechanize.new
page = agent.get("file://#{path}")