Qiita のClone
Qiitaは、エンジニアに関する知識を記録・共有するためのサービスです。
ARG FUNCTION_DIR="/function" | |
FROM python:3.12 as build-image | |
ARG FUNCTION_DIR | |
RUN mkdir -p ${FUNCTION_DIR} | |
COPY . ${FUNCTION_DIR} | |
RUN pip install \ |
Qiita のClone
Qiitaは、エンジニアに関する知識を記録・共有するためのサービスです。
""" | |
やったこと | |
- brotliの解凍 | |
- tarballの解凍 | |
- brotliで解凍したものをインメモリ上で保持してファイルとして扱い、更にtarballで展開する | |
背景 | |
- AWS Lambda上の/tmp領域にそこそこ大きめのbinaryを展開したかった | |
- Lambdaの/tmp領域の制限(500mぐらい)の関係でインメモリ上でやりたい(brotliで展開したやつを一回書き出すみたいなことをしたくない) | |
- IOのロス、展開後の容量とか気にしなくていい場合、brotliで解凍→普通にファイルをwrite→更にread→tarballで解凍のようにリッチにやるのも可 |
#!/usr/bin/env python | |
""" | |
Modification of `python -m SimpleHTTPServer` with a fallback to /index.html | |
on requests for non-existing files. | |
This is useful when serving a static single page application using the HTML5 | |
history API. | |
""" | |
<template> | |
<div> | |
<input id="copy-text" value="copy text" /> | |
</div> | |
</template> | |
<script> | |
export default { | |
methods: { | |
copyToClipboard: function() { |
// 参考: https://qiita.com/yamikoo@github/items/5dbcc77b267a549bdbae | |
export function zenkakuToHankaku(str: string): string { | |
return str.replace(/[A-Za-z0-9]/g, (s) => { | |
return String.fromCharCode(s.charCodeAt(0) - 0xFEE0); | |
}); | |
} |
const jsonStr = '{"foo": "bar"}' | |
const jsonObj = JSON.parse(Buffer.from(jsonStr, 'base64').toString()) |
// tslint.json : https://palantir.github.io/tslint/ | |
{ | |
// Type Checking を有効にする (true) | |
"lintOptions": { | |
"typeCheck": true | |
}, | |
// カスタムルールの参照先 | |
"rulesDirectory": [ | |
"node_modules/codelyzer" | |
], |
import requests | |
import json | |
import time | |
GITLAB_PRIVATE_TOKEN = 'token_hogehoge_token' | |
export_pj_id = 'numxxxx' | |
import_pj_id = 'numxxxx' | |
export_pj_url = f"https://gitlab.com/api/v4/projects/{export_pj_id}/issues?state=opened&private_token={GITLAB_PRIVATE_TOKEN}" | |
import_pj_url = f"https://gitlab.com/api/v4/projects/{import_pj_id}/issues?private_token={GITLAB_PRIVATE_TOKEN}" |
import requests | |
import json | |
import time | |
GITLAB_PRIVATE_TOKEN = 'token_hogehoge_token' | |
export_pj_id = 'numxxxx' | |
import_pj_id = 'numxxxx' | |
export_pj_url = f"https://gitlab.com/api/v4/projects/{export_pj_id}/issues?state=opened&private_token={GITLAB_PRIVATE_TOKEN}" | |
import_pj_url = f"https://gitlab.com/api/v4/projects/{import_pj_id}/issues?private_token={GITLAB_PRIVATE_TOKEN}" |