Skip to content

Instantly share code, notes, and snippets.

View devxoul's full-sized avatar
👨‍💻
Always coding

Suyeol Jeon devxoul

👨‍💻
Always coding
View GitHub Profile
@battis
battis / README.md
Last active February 7, 2024 15:47
Publish a Google Workspace add-on written in TypeScript using @google/clasp

Publish a Google Workspace Add-on

Based on Google documentation

I have attached my draft version of a setup script for these projects (including my frequent need to connect to the Blackbaud SKY API), but not being able to script a number of key publishing steps makes it not really worthwhile. This assumes that you already have node installed on your computer to build the project.

In the browser

  1. Create a new Google Cloud project in the console.
  2. Under APIs & Services, configure OAuth Consent. I usually publish with Internal users (no need for Google review). Add the OAuth Scopes listed in the projects appscripts.json file to the OAuth Consent.
  3. Enable the Google Workspace Markplace SDK API.
@bluelovers
bluelovers / ChatGPT Stable Diffusion prompts generator.txt
Last active April 16, 2024 03:22
using ChatGPT as Stable Diffusion prompts generator
Stable Diffusion is an AI art generation model similar to DALLE-2.
Here are some prompts for generating art with Stable Diffusion.
Example:
- A ghostly apparition drifting through a haunted mansion's grand ballroom, illuminated by flickering candlelight. Eerie, ethereal, moody lighting.
- portait of a homer simpson archer shooting arrow at forest monster, front game card, drark, marvel comics, dark, smooth
- pirate, deep focus, fantasy, matte, sharp focus
- red dead redemption 2, cinematic view, epic sky, detailed, low angle, high detail, warm lighting, volumetric, godrays, vivid, beautiful
- a fantasy style portrait painting of rachel lane / alison brie hybrid in the style of francois boucher oil painting, rpg portrait
import RIBs
import RxSwift
import RxRelay
import ReactorKit

protocol FAQsRouting: ViewableRouting {
  func routeToFAQ(_ faq: FAQ)
  func detachFAQ()
}
import UIKit
import PlaygroundSupport
let width: CGFloat = 200
let height: CGFloat = 100
let spacing: CGFloat = 10
let numberOfViews: Int = 5
let canvas = UIView(frame: CGRect(
x: 0,
@danielmartin
danielmartin / BetterXcodeJumpToCounterpartSwift.org
Last active March 9, 2024 02:00
Add support for a better Xcode's Jump to Next Counterpart in Swift

If you work on a Swift project that follows the Model-View-ViewModel (MVVM) architecture or similar, you may want to jump to counterpart in Xcode from your view to your model, and then to your view model. (ie. by using Ctrl+Cmd+Up and Ctrl+Cmd+Down).

You can do this in recent versions of Xcode by setting a configuration default.

From a terminal, just type this command and press Enter:

defaults write com.apple.dt.Xcode IDEAdditionalCounterpartSuffixes -array-add "ViewModel" "View"
@vovandodev
vovandodev / ALL GCP APIs
Created November 13, 2018 20:11
All Google Cloud APIs
NAME TITLE
abusiveexperiencereport.googleapis.com Abusive Experience Report API
acceleratedmobilepageurl.googleapis.com Accelerated Mobile Pages (AMP) URL API
accesscontextmanager.googleapis.com Access Context Manager API
actions.googleapis.com Actions API
adexchangebuyer-json.googleapis.com Ad Exchange Buyer API
adexchangebuyer.googleapis.com Ad Exchange Buyer API II
adexchangeseller.googleapis.com Ad Exchange Seller API
adexperiencereport.googleapis.com Ad Experience Report API
admin.googleapis.com Admin SDK
@kdhfred
kdhfred / train_climbing.md
Last active December 12, 2019 13:24
How to train upper body for climbing

클라이밍 상체 트레이닝 과정

  • 클라이닝을 하면서 각각의 레벨로 올라갈 때 부재했던 힘을 빠르게 채우기 위해서 다음과 같은 트레이닝을 함
    • 클라이밍 이외의 별도의 트레이닝을 하는 이유
      • 클라이밍을 할 때는 발을 사용하기 때문에 상체의 근력을 온전하게 사용할 수 없음
        • 따라서 넘어설 수 있는 한계를 컨트롤 할 수 있는 방법이 다소 제한적임
        • 턱걸이를 할 때 발을 댄다던가, 로우를 한다던가 다양한 방법으로 부재한 근력을 최단기간내에 성장 시키는 다양한 시도를 할 수 있음
  1. 팔 (전완, 어깨, 등)
    1. 기본적으로 홀드를 잡고 버티는 것에 사용되는 가장 기초적인 근육, 근력이 필요함
  2. 잡는 행동을 많이 하기 때문에 전완을 우선적으로 말할 수 있겠지만, 철봉에 매달릴 수 있는 전완근력만 있으면 초반에는 충분
@tseho
tseho / config.yml
Last active April 5, 2022 20:38
circleci + docker-compose + layers cache
version: 2
jobs:
build:
docker:
- image: docker:17.06.0-ce-git
steps:
- checkout
- setup_remote_docker
- run:
name: Install Docker Compose
@lattner
lattner / TaskConcurrencyManifesto.md
Last active May 7, 2024 09:05
Swift Concurrency Manifesto
@lattner
lattner / async_swift_proposal.md
Last active April 21, 2024 09:43 — forked from oleganza/async_swift_proposal.md
Concrete proposal for async semantics in Swift

Async/Await for Swift

Introduction

Modern Cocoa development involves a lot of asynchronous programming using closures and completion handlers, but these APIs are hard to use. This gets particularly problematic when many asynchronous operations are used, error handling is required, or control flow between asynchronous calls gets complicated. This proposal describes a language extension to make this a lot more natural and less error prone.

This paper introduces a first class Coroutine model to Swift. Functions can opt into to being async, allowing the programmer to compose complex logic involving asynchronous operations, leaving the compiler in charge of producing the necessary closures and state machines to implement that logic.