2022년 9월 5일 양준하
- 2021년 4분기 기준 Github 점유율 15위 언어
- C++ 암살자 포지션 (개인적으로 10년안에 C++ 넘어설 듯)
- 블록체인, 임베디드, 시스템프로그래밍, 서버, 분산처리, WASM 등에서 활발히 사용되는 고성능 언어
- 모던하고 깔끔한 언어 디자인, 훌륭한 개발툴과 패키지 매니저
- 수준높은 사용자들과 커뮤니티, 독보적인 UX를 기반으로 한 철옹성 같은 팬덤들
// ==UserScript== | |
// @name Zammad ticket items expand-by-default | |
// @match https://requests.cccv.de/* | |
// @version 1 | |
// @grant none | |
// ==/UserScript== | |
let seen_before = new Set(); | |
function direct_text(parent) { |
extension UILabel { | |
func textWidth() -> CGFloat { | |
return UILabel.textWidth(label: self) | |
} | |
class func textWidth(label: UILabel) -> CGFloat { | |
return textWidth(label: label, text: label.text!) | |
} | |
class func textWidth(label: UILabel, text: String) -> CGFloat { |
// ==UserScript== | |
// @name Desu Flaggotry | |
// @namespace https://desuarchive.org/mlp/thread/ | |
// @description Add flags to the posts when viewing archived /mlp/ threads on Desuarchive | |
// @version 1.0.0 | |
// @author Anonymous | |
// @icon https://s.4cdn.org/image/flags/mlp/anf.gif | |
// @match https://desuarchive.org/mlp/thread/* | |
// @run-at document-end | |
// @grant GM_addStyle |
/* Deleting a node from Binary search tree */ | |
#include<iostream> | |
using namespace std; | |
struct Node { | |
int data; | |
struct Node *left; | |
struct Node *right; | |
}; | |
//Function to find minimum in a tree. | |
Node* FindMin(Node* root) |
약자 | 한국정보과학회 (2020) | BK21플러스 IF (2018) | KAIST CS (2022) | SNU CSE (2023.9) | POSTECH CSE (2023.10) | 평균 (정규화) | 학회명 | DBLP Key | |
---|---|---|---|---|---|---|---|---|---|
AAAI | 최우수 | 4 | O | O | 최우수 | 1.00 | AAAI Conference on Artificial Intelligence (AAAI) | conf/aaai | |
AAMAS | 우수 | 2 | 0.20 | International Joint Conference on Autonomous Agents & Multiagent Systems (AAMAS) | conf/atal | ||||
ACCV | 우수 | 1 | 우수 | 0.25 | Asian Conference on Computer Vision (ACCV) | conf/accv | |||
ACL | 최우수 | 4 | O | O | 최우수 | 1.00 | Annual Meeting of the Association for Computational Linguistics (ACL) | conf/acl | |
ACL Findings | 우수 | 0.10 | Findings of ACL | series/findacl | |||||
ACSAC | 우수 | 2 | 우수 | 0.30 | Annual Computer Security Applications Conference (ACSAC) | conf/acsac | |||
AIED | 우수 | 0.10 | International Conference on Artificial Intelligence in Education (AIED) | conf/aied | |||||
AISTATS | 우수 | 1 | 우수 | 0.25 | International Conference on Artificial Intelligence and Statistics (AISTATS) | conf/aistats | |||
ANCS | 우수 | 1 | 우수 | 0.25 | Symposium on Architectures for Networking and Communications Systems (ANCS) | conf/ancs |
In order to give someone access to hosts that are available only by ssh "bouncing" (ProxyJump
),
add a user for this specific purpose.
We have an internal openstack where instances get IPs on per-tenant networks. Each tenant has a 'bastion' host that has a "public" ip (floating ip). You can access other instances by bouncing through the bastion. From time to time I want to let someone else into an instance. This could be done either with:
a.) just give them shell access to the bastion and let them hop through. Sharing an unrestricted shell account on my bastion is less than ideal. b.) assign a floating/"public" IP to the instance so they could go directly in. Floating IPs are limited, so this is less than ideal.
So instead, I have set up a single user as described here that can only be used for ProxyJump. It allows others proxied access to my instances but without granting them full shell access.
import numpy as np | |
import pylab as pl | |
from numpy import fft | |
def fourierExtrapolation(x, n_predict): | |
n = x.size | |
n_harm = 10 # number of harmonics in model | |
t = np.arange(0, n) | |
p = np.polyfit(t, x, 1) # find linear trend in x | |
x_notrend = x - p[0] * t # detrended x |
@echo off | |
:: Note: Lines beginning with "REM" or :: are comments | |
:: Script by: https://github.com/thiojoe | |
:: Purpose: Creates a much more user friendly output for the Microsoft Error Lookup Tool (err.exe). It parses the original output and modifies the text. | |
:: Usage: Just call the batch file with command prompt along with the error code the same as you would with err.exe | |
:: Example: error.bat 50 | |
:: Recommended to rename this script to something shorter like 'error.bat'. Must be next to the lookup tool exe file. | |
// tweaked from: https://stackoverflow.com/a/42718113/1170664 | |
func getXML(url string) ([]byte, error) { | |
resp, err := http.Get(url) | |
if err != nil { | |
return []byte{}, fmt.Errorf("GET error: %v", err) | |
} | |
defer resp.Body.Close() | |
if resp.StatusCode != http.StatusOK { | |
return []byte{}, fmt.Errorf("Status error: %v", resp.StatusCode) |