Skip to content

Instantly share code, notes, and snippets.

View acevif's full-sized avatar

acevif acevif

View GitHub Profile
@dive
dive / xed_xcode_invocation_tool.md
Last active July 27, 2023 15:23
Xcode invocation tool - xed

Xcode invocation tool - xed

xed is a command-line tool that launches the Xcode application and opens the given documents (xcodeproj, xcworkspace, etc.), or opens a new document, optionally with the contents of standard input.

If you work from the command line, this tool is a better option than open (which can open Xcode projects as well). Why?

  • xed knows about the current selected Xcode version (open behaves unpredictably if you have multiple Xcode installed)
  • You can use it open all files from a specific commit (with a little help explained below). It is useful on code-reviews or when you want to explore significant changes in the repository
  • You can use it as a "quick open" helper. Helps with monorepo phenomena, when you have hundreds of projects in the repository (I will show you an example below)
@inamiy
inamiy / recursive-struct.swift
Created February 9, 2021 06:23
Recursive struct in Swift using Box (indirect struct)
@propertyWrapper
class Box<T> {
var wrappedValue: T
var projectedValue: Box<T> {
Box(wrappedValue)
}
init(_ value: T) {
self.wrappedValue = value
@magnetikonline
magnetikonline / README.md
Last active January 3, 2024 14:30
GitHub token validation regular expressions.
@mpppk
mpppk / clean_architecture.md
Last active May 14, 2024 07:12
クリーンアーキテクチャ完全に理解した

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

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

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

2021/1/22追記:

@takasek
takasek / CodePiece.swift
Created April 17, 2018 08:16
ここらへんのジェネリクスのネストの挙動の理解、だいぶ昔のまま止まってたかも #CodePiece
struct A<T> {
let t: T
struct S1 {
let t: T
}
struct S2<T> {
let t: T
}
func xxx() -> S1 {
return S1(t: t)
  • CONTRIBUTING.mdを確認する
  • PRそのものが問題解決の為に妥当であるかレビュー
  • レビュー内容を上長承認
  • レビュー内容をPMO承認、リスク度合いが☆☆☆以下であることを確認
  • PRする内容について電話で頭出しミーティング
  • PRする内容について対面ミーティング
  • 対面ミーティングの内容を上長承認
  • 対面ミーティングの内容をPMO承認
  • PRに関する見積もり作成
  • 見積もりの妥当性検証を行う内部レビュー
@mala
mala / o.md
Created April 21, 2017 05:25
Orarioについての雑感

調べたこと

通信をキャプチャして調べた。似たようなことをしている人が既にいて仕組みについてはサービス提供者側が説明されているとおりだった。

IDパスワードはネイティブUIで表示して、html中のどこに入力するかなどはリモートから受信するjsで定義している。特に難読化や独自の暗号化などがされているわけではない。

@okapies
okapies / mastodon-client.md
Last active October 3, 2023 10:18
Mastodon API の叩き方

Mastodon の API を叩くには以下の手順を踏む必要がある:

  1. OAuth2 クライアントを登録する
  2. アクセストークンを取得する
  3. アクセストークンを Authorization ヘッダに指定して API にアクセスする

OAuth2 クライアント登録

Mastodon の Apps API に登録情報を送ってクライアントを払い出してもらう(一度だけやれば OK).

@S-Shimotori
S-Shimotori / sslcd.dot
Last active May 8, 2020 04:20
Swift Standard Library Correlation Diagram
digraph "Swift Standard Library" {graph [charset = "UTF-8";label = "Swift Standard Library";labelloc = t;labeljust = c;bgcolor = "#000000";fontcolor = white;fontsize = 18;style = filled;rankdir = TB;margin = 0.2;splines = spline;ranksep = 7;nodesep = 2];node [style = "solid,filled";fontsize = 16;fontcolor = white;fontname = "Migu 1M";fixedsize = false;height = 0.6;width = 1.2;shape = box];edge [style = solid;fontsize = 14;fontcolor = white;fontname = "Migu 1M";color = white;labelfloat = true;labeldistance = 10;labelangle = 100];subgraph cluster_979385246 {UTF16 [fillcolor = "#e95464"];UTF32 [fillcolor = "#e95464"];UTF8 [fillcolor = "#e95464"];UnicodeCodec [fillcolor = "#727171";height = 3;width = 3];graph [labelloc = t;labeljust = c;margin = 30;style = "filled,dashed";fillcolor = "#000000";color = "#ffffff";label = "UnicodeCodec Family"]};subgraph cluster_1347124626 {subgraph cluster_2120525211 {LazyBidirectionalCollection [fillcolor = "#e95464"];LazyCollection [fillcolor = "#e95464"];LazyDropWhileBidirection
@ypresto
ypresto / init.lua
Last active March 1, 2018 14:22
英数キーとかかなキーとかを同時押しの時だけAltキーにするHammerspoonの設定
local pressedKeyTable = {}
-- TODO: Consider about consumed per keys is necessary or not.
local consumed = false
local keyCodeTable = {}
keyCodeTable[0x66] = true -- EISUU
keyCodeTable[0x68] = true -- KANA
eventtap = hs.eventtap.new({ hs.eventtap.event.types.keyDown, hs.eventtap.event.types.keyUp }, function(event)
local keyCode = event:getKeyCode()
if keyCodeTable[keyCode] == true then