This commit is contained in:
2022-06-02 17:55:14 +08:00
commit f86dc56286
598 changed files with 87559 additions and 0 deletions

18
.obsidian/app.json vendored Normal file
View File

@@ -0,0 +1,18 @@
{
"obsidianCss": true,
"spellcheck": false,
"foldHeading": true,
"foldIndent": true,
"showLineNumber": true,
"vimMode": false,
"useTab": false,
"alwaysUpdateLinks": true,
"attachmentFolderPath": "attachments",
"showFrontmatter": false,
"readableLineLength": false,
"promptDelete": false,
"newFileLocation": "current",
"legacyEditor": false,
"livePreview": false,
"communityThemeSortOrder": "release"
}

13
.obsidian/appearance.json vendored Normal file
View File

@@ -0,0 +1,13 @@
{
"theme": "moonstone",
"cssTheme": "",
"baseFontSize": 15,
"translucency": false,
"enabledCssSnippets": [
"obsidian"
],
"baseFontSizeAction": true,
"interfaceFontFamily": "",
"textFontFamily": "Verdana,Microsoft YaHei UI",
"monospaceFontFamily": "Cascadia Code"
}

8
.obsidian/community-plugins.json vendored Normal file
View File

@@ -0,0 +1,8 @@
[
"table-editor-obsidian",
"dataview",
"obsidian-rollover-daily-todos",
"todoist-sync-plugin",
"obsidian-columns",
"obsidian-tasks-plugin"
]

1
.obsidian/config vendored Normal file
View File

@@ -0,0 +1 @@
{"baseFontSize":16,"enabledPlugins":[],"pluginEnabledStatus":{"file-explorer":true,"global-search":true,"switcher":true,"graph":true,"backlink":true,"page-preview":true,"command-palette":true,"markdown-importer":true,"word-count":true,"open-with-default-app":true,"file-recovery":true},"theme":"moonstone"}

20
.obsidian/core-plugins.json vendored Normal file
View File

@@ -0,0 +1,20 @@
[
"file-explorer",
"global-search",
"switcher",
"graph",
"backlink",
"tag-pane",
"page-preview",
"daily-notes",
"templates",
"note-composer",
"command-palette",
"markdown-importer",
"random-note",
"outline",
"word-count",
"open-with-default-app",
"workspaces",
"file-recovery"
]

1
.obsidian/daily-notes.json vendored Normal file
View File

@@ -0,0 +1 @@
{"folder":"Daily","format":"YYYY-MM-DD(ddd)","template":"PARA/003 - Resources資源/99. templates/日記"}

1
.obsidian/global-search.json vendored Normal file
View File

@@ -0,0 +1 @@
{"showFullPath":false,"linkStyle":"none","listStyle":"none"}

22
.obsidian/graph.json vendored Normal file
View File

@@ -0,0 +1,22 @@
{
"collapse-filter": true,
"search": "",
"showTags": false,
"showAttachments": false,
"hideUnresolved": false,
"showOrphans": true,
"collapse-color-groups": true,
"colorGroups": [],
"collapse-display": true,
"showArrow": false,
"textFadeMultiplier": 0,
"nodeSizeMultiplier": 1,
"lineSizeMultiplier": 1,
"collapse-forces": true,
"centerStrength": 0.518713248970312,
"repelStrength": 10,
"linkStrength": 1,
"linkDistance": 250,
"scale": 0.3628873693012117,
"close": false
}

66
.obsidian/hotkeys.json vendored Normal file
View File

@@ -0,0 +1,66 @@
{
"insert-template": [
{
"modifiers": [
"Mod",
"Shift"
],
"key": "Insert"
}
],
"editor:fold-all": [
{
"modifiers": [
"Mod",
"Shift"
],
"key": "ArrowLeft"
}
],
"editor:unfold-all": [
{
"modifiers": [
"Mod",
"Shift"
],
"key": "ArrowRight"
}
],
"editor:toggle-fold": [
{
"modifiers": [
"Mod",
"Shift"
],
"key": "PageDown"
}
],
"obsidian-tasks-plugin:edit-task": [
{
"modifiers": [
"Alt",
"Mod"
],
"key": "S"
}
],
"obsidian-tasks-plugin:toggle-done": [
{
"modifiers": [
"Alt",
"Mod"
],
"key": "D"
}
],
"editor:open-link-in-new-leaf": [
{
"modifiers": [
"Alt",
"Mod"
],
"key": "Enter"
}
],
"daily-notes": []
}

12140
.obsidian/plugins/dataview/main.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,10 @@
{
"id": "dataview",
"name": "Dataview",
"version": "0.3.13",
"minAppVersion": "0.11.10",
"description": "Complex data views for the data-obsessed.",
"author": "Michael Brenan <blacksmithgu@gmail.com>",
"authorUrl": "https://github.com/blacksmithgu",
"isDesktopOnly": false
}

35
.obsidian/plugins/dataview/styles.css vendored Normal file
View File

@@ -0,0 +1,35 @@
/* List View Default Styling; rendered internally as a table. */
.table-view-table {
width: 100%;
}
.table-view-table > thead > tr, .table-view-table > tbody > tr {
margin-top: 1em;
margin-bottom: 1em;
text-align: left;
}
.table-view-table > thead > tr > th {
font-weight: 700;
font-size: larger;
border-top: none;
border-left: none;
border-right: none;
border-bottom: solid;
max-width: 100%;
}
.table-view-table > tbody > tr > td {
text-align: left;
border: none;
font-weight: 400;
max-width: 100%;
}
/** Rendered value styling for any view. */
.dataview-result-list-ul {
padding: 0em !important;
margin: 0em !important;
}

View File

@@ -0,0 +1,273 @@
/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
var __export = (target, all) => {
__markAsModule(target);
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __reExport = (target, module2, desc) => {
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
for (let key of __getOwnPropNames(module2))
if (!__hasOwnProp.call(target, key) && key !== "default")
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
}
return target;
};
var __toModule = (module2) => {
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
};
var __async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
// main.ts
__export(exports, {
default: () => ObsidianColumns
});
var import_obsidian = __toModule(require("obsidian"));
var COLUMNNAME = "col";
var COLUMNMD = COLUMNNAME + "-md";
var TOKEN = "!!!";
var SETTINGSDELIM = "\n===\n";
var DEFAULT_SETTINGS = {
wrapSize: { value: 100, name: "Minimum width of column", desc: "Columns will have this minimum width before wrapping to a new row. 0 disables column wrapping. Useful for smaller devices" },
defaultSpan: { value: 1, name: "The default span of an item", desc: "The default width of a column. If the minimum width is specified, the width of the column will be multiplied by this setting." }
};
var parseSettings = (settings) => {
let o = {};
settings.split("\n").map((i) => {
return i.split(";");
}).reduce((a, b) => {
a.push(...b);
return a;
}).map((i) => {
return i.split("=").map((j) => {
return j.trim();
}).slice(0, 2);
}).forEach((i) => {
o[i[0]] = i[1];
});
return o;
};
var ObsidianColumns = class extends import_obsidian.Plugin {
constructor() {
super(...arguments);
this.generateCssString = (span) => {
let o = {};
o.flexGrow = span.toString();
o.flexBasis = (this.settings.wrapSize.value * span).toString() + "px";
o.width = (this.settings.wrapSize.value * span).toString() + "px";
return o;
};
this.applyStyle = (el, styles) => {
Object.assign(el.style, styles);
};
this.parseBoolean = (value) => {
return value == "yes" || value == "true";
};
this.parseObject = (value, typ) => {
if (typ == "string") {
return value;
}
if (typ == "boolean") {
return this.parseBoolean(value);
}
if (typ == "number") {
return parseFloat(value);
}
};
this.processChild = (c) => {
if (c.firstChild != null && "tagName" in c.firstChild && c.firstChild.tagName == "BR") {
c.removeChild(c.firstChild);
}
let firstChild = c;
while (firstChild != null) {
if ("style" in firstChild) {
firstChild.style.marginTop = "0px";
}
firstChild = firstChild.firstChild;
}
let lastChild = c;
while (lastChild != null) {
if ("style" in lastChild) {
lastChild.style.marginBottom = "0px";
}
lastChild = lastChild.lastChild;
}
};
}
onload() {
return __async(this, null, function* () {
yield this.loadSettings();
this.addSettingTab(new ObsidianColumnsSettings(this.app, this));
this.registerMarkdownCodeBlockProcessor(COLUMNMD, (source, el, ctx) => {
let split = source.split(SETTINGSDELIM);
let settings = {};
if (split.length > 1) {
source = split.slice(1).join(SETTINGSDELIM);
settings = parseSettings(split[0]);
}
const sourcePath = ctx.sourcePath;
let child = el.createDiv();
let renderChild = new import_obsidian.MarkdownRenderChild(child);
ctx.addChild(renderChild);
import_obsidian.MarkdownRenderer.renderMarkdown(source, child, sourcePath, renderChild);
if ("flexGrow" in settings) {
let flexGrow = parseFloat(settings.flexGrow);
let CSS = this.generateCssString(flexGrow);
delete CSS.width;
this.applyStyle(child, CSS);
}
});
this.registerMarkdownCodeBlockProcessor(COLUMNNAME, (source, el, ctx) => {
const sourcePath = ctx.sourcePath;
let child = createDiv();
let renderChild = new import_obsidian.MarkdownRenderChild(child);
ctx.addChild(renderChild);
import_obsidian.MarkdownRenderer.renderMarkdown(source, child, sourcePath, renderChild);
let parent = el.createEl("div", { cls: "columnParent" });
Array.from(child.children).forEach((c) => {
let cc = parent.createEl("div", { cls: "columnChild" });
let renderCc = new import_obsidian.MarkdownRenderChild(cc);
ctx.addChild(renderCc);
this.applyStyle(cc, this.generateCssString(this.settings.defaultSpan.value));
cc.appendChild(c);
if (c.classList.contains("block-language-" + COLUMNMD) && c.childNodes[0].style.flexGrow != "") {
cc.style.flexGrow = c.childNodes[0].style.flexGrow;
cc.style.flexBasis = c.childNodes[0].style.flexBasis;
cc.style.width = c.childNodes[0].style.flexBasis;
}
this.processChild(c);
});
});
let processList = (element, context) => {
for (let child of Array.from(element.children)) {
if (child == null) {
continue;
}
if (child.nodeName != "UL" && child.nodeName != "OL") {
continue;
}
for (let listItem of Array.from(child.children)) {
if (listItem == null) {
continue;
}
if (!listItem.textContent.trim().startsWith(TOKEN + COLUMNNAME)) {
processList(listItem, context);
continue;
}
child.removeChild(listItem);
let colParent = element.createEl("div", { cls: "columnParent" });
let renderColP = new import_obsidian.MarkdownRenderChild(colParent);
context.addChild(renderColP);
let itemList = listItem.querySelector("ul, ol");
if (itemList == null) {
continue;
}
for (let itemListItem of Array.from(itemList.children)) {
let childDiv = colParent.createEl("div", { cls: "columnChild" });
let renderColC = new import_obsidian.MarkdownRenderChild(childDiv);
context.addChild(renderColC);
let span = parseFloat(itemListItem.textContent.split("\n")[0].split(" ")[0]);
if (isNaN(span)) {
span = this.settings.defaultSpan.value;
}
this.applyStyle(childDiv, this.generateCssString(span));
let afterText = false;
processList(itemListItem, context);
for (let itemListItemChild of Array.from(itemListItem.childNodes)) {
if (afterText) {
childDiv.appendChild(itemListItemChild);
}
if (itemListItemChild.nodeName == "#text") {
afterText = true;
}
}
this.processChild(childDiv);
}
}
}
};
this.registerMarkdownPostProcessor((element, context) => {
processList(element, context);
});
});
}
onunload() {
}
loadSettings() {
return __async(this, null, function* () {
this.settings = DEFAULT_SETTINGS;
this.loadData().then((data) => {
if (data) {
let items = Object.entries(data);
items.forEach((item) => {
this.settings[item[0]].value = item[1];
});
}
});
});
}
saveSettings() {
return __async(this, null, function* () {
let saveData = {};
Object.entries(this.settings).forEach((i) => {
saveData[i[0]] = i[1].value;
});
yield this.saveData(saveData);
});
}
};
var ObsidianColumnsSettings = class extends import_obsidian.PluginSettingTab {
constructor(app, plugin) {
super(app, plugin);
this.plugin = plugin;
}
display() {
const { containerEl } = this;
containerEl.empty();
containerEl.createEl("h2", { text: "Settings for obsidian-columns" });
let keyvals = Object.entries(DEFAULT_SETTINGS);
for (let keyval of keyvals) {
let setting = new import_obsidian.Setting(containerEl).setName(keyval[1].name).setDesc(keyval[1].desc);
if (typeof keyval[1].value == "boolean") {
setting.addToggle((toggle) => toggle.setValue(this.plugin.settings[keyval[0]].value).onChange((bool) => {
this.plugin.settings[keyval[0]].value = bool;
this.plugin.saveSettings();
}));
} else {
setting.addText((text) => text.setPlaceholder(String(keyval[1].value)).setValue(String(this.plugin.settings[keyval[0]].value)).onChange((value) => {
this.plugin.settings[keyval[0]].value = this.plugin.parseObject(value, typeof keyval[1].value);
this.plugin.saveSettings();
}));
}
}
}
};

View File

@@ -0,0 +1,10 @@
{
"id": "obsidian-columns",
"name": "Obsidian Columns",
"minAppVersion": "0.12.0",
"description": "Allows you to create columns in Obsidian Markdown",
"author": "Trevor Nichols",
"authorUrl": "https://github.com/tnichols217/obsidian-columns",
"isDesktopOnly": false,
"version": "1.1.2"
}

View File

@@ -0,0 +1,11 @@
.columnParent {
display: flex;
padding: 15px 20px;
flex-wrap: wrap;
gap: 20px;
}
.columnChild {
flex-grow: 1;
flex-basis: 0px;
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,10 @@
{
"id": "obsidian-rollover-daily-todos",
"name": "Rollover Daily Todos",
"version": "1.0.2",
"minAppVersion": "0.9.20",
"description": "This plugin will rollover any unchecked checkboxes from your last daily note into today's note",
"author": "Matthew Sessions",
"authorUrl": "https://matthewsessions.com",
"isDesktopOnly": false
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,10 @@
{
"id": "obsidian-tasks-plugin",
"name": "Tasks",
"version": "1.6.0",
"minAppVersion": "0.13.21",
"description": "Task management for Obsidian",
"author": "Martin Schenck",
"authorUrl": "https://github.com/schemar",
"isDesktopOnly": false
}

View File

@@ -0,0 +1,53 @@
.tasks-count {
color: var(--text-faint);
padding-left: 20px;
}
/* Pencil icon. */
.tasks-edit {
background-color: var(--text-faint);
mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20aria-hidden%3D%22true%22%20focusable%3D%22false%22%20width%3D%221em%22%20height%3D%221em%22%20style%3D%22-ms-transform%3A%20rotate(360deg)%3B%20-webkit-transform%3A%20rotate(360deg)%3B%20transform%3A%20rotate(360deg)%3B%22%20preserveAspectRatio%3D%22xMidYMid%20meet%22%20viewBox%3D%220%200%201536%201536%22%3E%3Cpath%20d%3D%22M363%201408l91-91l-235-235l-91%2091v107h128v128h107zm523-928q0-22-22-22q-10%200-17%207l-542%20542q-7%207-7%2017q0%2022%2022%2022q10%200%2017-7l542-542q7-7%207-17zm-54-192l416%20416l-832%20832H0v-416zm683%2096q0%2053-37%2090l-166%20166l-416-416l166-165q36-38%2090-38q53%200%2091%2038l235%20234q37%2039%2037%2091z%22%20fill%3D%22%23626262%22%2F%3E%3C%2Fsvg%3E");
-webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20aria-hidden%3D%22true%22%20focusable%3D%22false%22%20width%3D%221em%22%20height%3D%221em%22%20style%3D%22-ms-transform%3A%20rotate(360deg)%3B%20-webkit-transform%3A%20rotate(360deg)%3B%20transform%3A%20rotate(360deg)%3B%22%20preserveAspectRatio%3D%22xMidYMid%20meet%22%20viewBox%3D%220%200%201536%201536%22%3E%3Cpath%20d%3D%22M363%201408l91-91l-235-235l-91%2091v107h128v128h107zm523-928q0-22-22-22q-10%200-17%207l-542%20542q-7%207-7%2017q0%2022%2022%2022q10%200%2017-7l542-542q7-7%207-17zm-54-192l416%20416l-832%20832H0v-416zm683%2096q0%2053-37%2090l-166%20166l-416-416l166-165q36-38%2090-38q53%200%2091%2038l235%20234q37%2039%2037%2091z%22%20fill%3D%22%23626262%22%2F%3E%3C%2Fsvg%3E");
display: inline-block;
width: 1em;
height: 1em;
vertical-align: middle;
margin-left: 0.3em;
cursor: pointer;
}
.internal-link.internal-link-short-mode {
text-decoration: none;
}
.tasks-list-text {
position: relative;
}
.tasks-list-text .tooltip {
position: absolute;
top: 0px;
left: 0px;
white-space: nowrap;
}
.tasks-setting-important {
color: red;
font-weight: bold;
}
.tasks-modal label {
margin: 5px 0 5px 0;
}
.tasks-modal input[type=text] {
width: 100%;
}
.tasks-modal hr {
margin: 10px 0 10px 0;
}
.tasks-modal-date {
margin-bottom: 10px;
}

View File

@@ -0,0 +1,8 @@
{
"formatType": "normal",
"showRibbonIcon": true,
"useMonospaceFont": true,
"preferredMonospaceFont": "Fira Code",
"bindEnter": true,
"bindTab": true
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,11 @@
{
"id": "table-editor-obsidian",
"name": "Advanced Tables",
"author": "Tony Grosinger",
"authorUrl": "https://grosinger.net",
"description": "Improved table navigation, formatting, manipulation, and formulas",
"isDesktopOnly": false,
"minAppVersion": "0.10.2",
"version": "0.9.1",
"js": "main.js"
}

View File

@@ -0,0 +1,45 @@
.HyperMD-table-row span.cm-inline-code,
pre > code:not(.prism) {
font-size: 100%;
}
.widget-background {
background-color: var(--background-secondary);
}
.widget-button {
padding: 3px 4px;
margin: 3px;
background-color: Transparent;
}
.widget-icon {
width: 20px;
height: 20px;
fill: var(--text-muted);
}
.widget-icon:hover {
fill: var(--text-normal);
}
.widget-button-close {
position: absolute;
right: 0;
top: 0;
}
.widget-icon-close {
width: 15px;
height: 15px;
}
.advanced-tables-donation {
width: 70%;
margin: 0 auto;
text-align: center;
}
.advanced-tables-donate-button {
margin: 10px;
}

View File

@@ -0,0 +1,12 @@
{
"fadeToggle": true,
"autoRefreshToggle": false,
"autoRefreshInterval": 60,
"renderDate": true,
"renderDateIcon": true,
"renderProject": true,
"renderProjectIcon": true,
"renderLabels": true,
"renderLabelsIcon": true,
"debugLogging": false
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,10 @@
{
"id": "todoist-sync-plugin",
"name": "Todoist Plugin",
"version": "1.9.0",
"minAppVersion": "0.12.2",
"description": "Materialize Todoist tasks within Obsidian notes.",
"author": "Jamie Brynes",
"authorUrl": "https://github.com/jamiebrynes7/obsidian-todoist-plugin",
"isDesktopOnly": false
}

View File

@@ -0,0 +1,78 @@
.todoist-query-title {
display: inline;
font-size: 1.25em;
}
.todoist-refresh-button {
display: inline;
margin-left: 8px;
margin-right: 8px;
float: right;
}
.todoist-refresh-spin {
animation: spin 1s linear infinite;
}
@-webkit-keyframes spin {
100% {
-webkit-transform: rotate(360deg);
}
}
.task-metadata {
margin-left: 30px;
}
.task-calendar-icon,
.task-project-icon,
.task-labels-icon {
vertical-align: middle;
height: 17px;
width: 17px;
}
.task-date.task-overdue {
color: var(--text-error);
}
.todoist-project {
white-space: normal;
}
.todoist-project .todoist-project {
margin-left: 20px;
}
.todoist-project .todoist-section {
margin-left: 20px;
}
.todoist-error {
background-color: rgb(var(--background-modifier-error-rgb), 0.5);
border: 1px solid var(--background-modifier-error);
padding: 0 10px 20px 10px;
margin-top: 20px;
}
.todoist-success {
border: 1px solid var(--background-modifier-border);
padding: 0 10px 20px 10px;
margin-top: 20px;
}
.todoist-task-content {
display: inline;
}
ul.todoist-task-list {
white-space: normal;
}
.markdown-reading-view .hide-in-reading-view {
display: none;
}
.is-live-preview .block-language-todoist {
padding-left: 15px;
}

239
.obsidian/snippets/obsidian.css vendored Normal file
View File

@@ -0,0 +1,239 @@
/*************************************************************
* Headers
*/
.cm-header-1, .markdown-preview-section h1 {
color: #081f37;
}
.cm-header-2, .markdown-preview-section h2 {
color: #1e549f;
}
.cm-header-3, .markdown-preview-section h3 {
color: #2e79ba;
}
.cm-header-4, .markdown-preview-section h4 {
color: #5fc9f3;
}
.cm-header-5, .markdown-preview-section h5 {
color: #415865;
}
.cm-header-6, .markdown-preview-section h6 {
color: #7a9eb1;
}
/*************************************************************
* List
*/
.cm-list-1 {
font-family: Cascadia Code;
}
.cm-list-2 {
font-family: Cascadia Code;
}
.cm-list-3 {
font-family: Cascadia Code;
}
.cm-list-4 {
font-family: Cascadia Code;
}
.cm-list-5 {
font-family: Cascadia Code;
}
/*span.cm-formatting-list-ul {
visibility: hidden !important;
}
span.cm-formatting-list-ul:after {
content: '• '; ITS theme; for Blue Topaz
margin-left: -12px;
color: var(--accent);
visibility: visible !important;
}*/
ol {
font-family: Cascadia Code;
padding-inline-start: 2.5rem;
}
ul {
font-family: Cascadia Code;
padding-inline-start: 2.4rem;
list-style-type: disc;
}
/*Make list marker to be a circle*/
input[type="checkbox"],
.cm-formatting-task {
-webkit-appearance: none;
appearance: none;
border-radius: 50%;
border: 1px solid var(--text-faint);
padding: 0;
vertical-align: middle;
}
.cm-s-obsidian span.cm-formatting-task {
color: transparent;
width: 1.1em !important;
height: 1.1em;
display: inline-block;
}
input[type="checkbox"]:focus {
outline: 0;
}
input[type="checkbox"]:checked,
.cm-formatting-task.cm-property {
background-color: var(--text-accent-hover);
border: 1px solid var(--text-accent-hover);
background-position: center;
background-size: 60%;
background-repeat: no-repeat;
background-image: url('data:image/svg+xml; utf8, <svg width="12px" height="10px" viewBox="0 0 12 8" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g transform="translate(-4.000000, -6.000000)" fill="%23ffffff"><path d="M8.1043257,14.0367999 L4.52468714,10.5420499 C4.32525014,10.3497722 4.32525014,10.0368095 4.52468714,9.8424863 L5.24777413,9.1439454 C5.44721114,8.95166768 5.77142411,8.95166768 5.97086112,9.1439454 L8.46638057,11.5903727 L14.0291389,6.1442083 C14.2285759,5.95193057 14.5527889,5.95193057 14.7522259,6.1442083 L15.4753129,6.84377194 C15.6747499,7.03604967 15.6747499,7.35003511 15.4753129,7.54129009 L8.82741268,14.0367999 C8.62797568,14.2290777 8.3037627,14.2290777 8.1043257,14.0367999"></path></g></g></svg>');
}
/*************************************************************
* External link & Internal link
*/
.cm-s-obsidian span.cm-link,
.cm-s-obsidian span.cm-url,
.cm-s-obsidian span.cm-hmd-internal-link {
color: #0000EE;
font-family: Cascadia Code;
}
a.external-link {
color: #0000EE;
font-family: Cascadia Code;
}
/*************************************************************
* Outline
*/
.outline {
font-size: 0.8rem;
font-weight: 200;
}
.outline .tree-item {
line-height: 1.3;
}
.outline .tree-item-self {
padding-top: 0.2rem;
padding-bottom: 0.1rem;
padding-left: 0.5rem;
padding-right: 0.3rem;
}
.outline .tree-item-collapse {
left: 0.1rem;
}
.outline .tree-item-inner{
position:relative;
padding-top: 0.2rem;
/* padding-left: 1rem; */
padding-left: 1.7em;
text-indent: -0.8em;
margin-left: 0.2rem;
/* font-size: 0.9em; */
}
.outline .tree-item-children {
margin-left: 0.7rem;
padding-left: 0.5rem;
margin-top: -0.3rem;
padding-top: 0.3rem;
border-left: 1px solid var(--sidebar-marks, var(--background-modifier-border));
border-radius: 4px;
transition:all 0.5s ease-in-out;
}
.outline .tree-item-children:hover {
border-left-color: var(--sidebar-marks-hover, var(--background-secondary));
}
.outline .collapse-icon + .tree-item-inner {
font-weight: 400;
padding-left: 0.2rem;
/* margin-left: 0rem; */
/* font-size: 1em; */
}
.outline .collapse-icon {
margin-top: 0.2rem;
margin-left: -0.4rem;
margin-right: -0.4rem;
width: 2rem;
}
/*************************************************************
* Sidebar
*/
/*Vault name*/
.nav-folder.mod-root > .nav-folder-title {
padding-left: 6px;
font-size: 14px;
font-weight: bolder;
top: -6px; /* higher */
cursor: default;
color: var(--base2);
}
.nav-folder-title,
.nav-file-title {
font-size: 0.8em;
font-family: consolas;
line-height: 0.8em;
}
.nav-folder-title {
font-weight: bold;
color: #132743;
}
.nav-file-title {
color: #407088;
}
.nav-folder,
.nav-file {
margin: 0 !important;
border-left: 1px solid rgba(118, 158, 165, 0.2);
}
.cm-quote {
line-height: 1.2em;
/*font-style: italic;*/
}
/*************************************************************
* Quote
*/
/*.cm-formatting-quote:before {
margin-right: -0.1em;
color: var(--color-10) !important;
font-family: "ico";
content: "\edd5";
}*/
/*************************************************************
* Code block(inline)
*/
.cm-s-obsidian span.cm-inline-code {
/*font-size: 1em;*/
}

5
.obsidian/templates.json vendored Normal file
View File

@@ -0,0 +1,5 @@
{
"folder": "PARA/003 - Resources資源/99. templates",
"dateFormat": "YYYY-MM-DD",
"timeFormat": "HH:mm:ss"
}

1
.obsidian/todoist-token vendored Normal file
View File

@@ -0,0 +1 @@
aee909f0cd32490aac80992298f93ae8925518fa

139
.obsidian/workspace vendored Normal file
View File

@@ -0,0 +1,139 @@
{
"main": {
"id": "4eef1a3b4b3b5282",
"type": "split",
"children": [
{
"id": "94f0e8a81af6c9e2",
"type": "leaf",
"dimension": 71.61290322580646,
"state": {
"type": "markdown",
"state": {
"file": "01. Daily/2022-06-01(週三).md",
"mode": "source",
"source": true
}
}
},
{
"id": "b15ce2d013e862aa",
"type": "leaf",
"dimension": 28.387096774193548,
"state": {
"type": "outline",
"state": {
"file": "01. Daily/2022-06-01(週三).md"
}
}
}
],
"direction": "vertical"
},
"left": {
"id": "f7b70dd91b782394",
"type": "split",
"children": [
{
"id": "dbd6f1d450f54a18",
"type": "tabs",
"children": [
{
"id": "f0c230180a9faaa1",
"type": "leaf",
"state": {
"type": "file-explorer",
"state": {}
}
},
{
"id": "81a47da514b9d823",
"type": "leaf",
"state": {
"type": "search",
"state": {
"query": "",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical"
}
}
}
]
}
],
"direction": "horizontal",
"width": 308.99999809265137
},
"right": {
"id": "6cf3ec121bd0fe34",
"type": "split",
"children": [
{
"id": "74ab9d565ea062c4",
"type": "tabs",
"children": [
{
"id": "bcf01574fb3a7a3b",
"type": "leaf",
"state": {
"type": "backlink",
"state": {
"file": "01. Daily/2022-06-01(週三).md",
"collapseAll": true,
"extraContext": true,
"sortOrder": "alphabetical",
"showSearch": false,
"searchQuery": "",
"backlinkCollapsed": false,
"unlinkedCollapsed": false
}
}
},
{
"id": "509990f938113653",
"type": "leaf",
"state": {
"type": "advanced-tables-toolbar",
"state": {}
}
}
]
},
{
"id": "2b8688e445848e2a",
"type": "tabs",
"children": [
{
"id": "11f4d517d7b320b2",
"type": "leaf",
"state": {
"type": "tag",
"state": {
"sortOrder": "frequency",
"useHierarchy": true
}
}
}
]
}
],
"direction": "horizontal",
"width": 231
},
"active": "94f0e8a81af6c9e2",
"lastOpenFiles": [
"01. Daily/2022-06-01(週三).md",
"Daily/2021-11-15(週一).md",
"Daily/2021-11-12(週五).md",
"Daily/2021-11-01(週一).md",
"Daily/2021-11-04(週四).md",
"Daily/2021-12-01(週三).md",
"00. TOP/01. TODO.md",
"00. TOP/00. Inbox.md",
"02. MOC.md",
"01. TODO.md"
]
}

1
.obsidian/workspaces.json vendored Normal file
View File

@@ -0,0 +1 @@
{"Main":{"main":{"id":"4eef1a3b4b3b5282","type":"split","children":[{"id":"9514c581dfa7a9ba","type":"leaf","active":true,"state":{"type":"markdown","state":{"file":"PARA/003 - Resources資源/Obsidian.md","mode":"source"}}}],"direction":"vertical"},"left":{"id":"f7b70dd91b782394","type":"split","children":[{"id":"dbd6f1d450f54a18","type":"tabs","children":[{"id":"f0c230180a9faaa1","type":"leaf","state":{"type":"file-explorer","state":{}}},{"id":"81a47da514b9d823","type":"leaf","state":{"type":"search","state":{"query":"file:2020","matchingCase":false,"explainSearch":false,"collapseAll":false,"extraContext":false,"sortOrder":"alphabetical"}}}]}],"direction":"horizontal","width":285},"right":{"id":"6cf3ec121bd0fe34","type":"split","children":[{"id":"94804a6d3d78938d","type":"tabs","dimension":32.831325301204814,"children":[{"id":"bcf01574fb3a7a3b","type":"leaf","state":{"type":"backlink","state":{"file":"PARA/003 - Resources資源/Obsidian.md","collapseAll":true,"extraContext":true,"sortOrder":"alphabetical","backlinkCollapsed":false,"unlinkedCollapsed":false}}},{"id":"d1816700bb5d51fc","type":"leaf","state":{"type":"tag","state":{}}}],"currentTab":1},{"id":"67277d905c4f3079","type":"tabs","dimension":67.16867469879519,"children":[{"id":"a602908bb94a0ff4","type":"leaf","state":{"type":"outline","state":{"file":"PARA/003 - Resources資源/Obsidian.md"}}}]}],"direction":"horizontal","width":274}}}

View File

@@ -0,0 +1,9 @@
時間08:55:45
### 今日TODO
### 工作TODO
### 今日回顧

View File

@@ -0,0 +1,9 @@
時間08:55:58
### 今日TODO
### 工作TODO
### 今日回顧

View File

@@ -0,0 +1,9 @@
08:54:58
### 今日TODO
### 工作TODO
### 今日回顧

View File

@@ -0,0 +1,9 @@
時間00:09:03
### 今日TODO
### 工作TODO
### 今日回顧

View File

@@ -0,0 +1,9 @@
時間00:06:23
### 今日TODO
### 工作TODO
### 今日回顧

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

0
00. TOP/00. Inbox.md Normal file
View File

11
00. TOP/01. TODO.md Normal file
View File

@@ -0,0 +1,11 @@
# ME
- [ ] 作筆記C++17 - share_ptr
- [ ] 作筆記C++17 - R value reference與std::move
- [ ] 作筆記C++17 - Lambda
- [ ] 補充英格蘭與蘇格蘭的歷史
- [ ] 把RxKotlin讀完
# WORK
## Logitech
### RobotRunQA
- [ ] 檢查Amily的test task 🛫 2022-05-30 📅 2022-06-03

7
00. TOP/02. MOC.md Normal file
View File

@@ -0,0 +1,7 @@
## Me
## Programming
## Tools

View File

@@ -0,0 +1,17 @@
# 開始新的紀錄點
## Bye, Onenote
Onenote本來也用了一段時間了會用這麼久有幾個原因
1. 在公司那個那麼爛的網路環境裡面Onenote是唯一能正常同步又功能豐富的。
- 本來是想要用StackEdit寫MD然後放在Google Drive裡面但是公司始終無法讓StackEdit正常打開Google Drive。
2. 之前有買Office 365有送1TB空間所以自然而然的用了Onenote在Office 365停用之後Onenote是免費的所以就繼續用了。
但雖說用了這麼久,其實抱怨一直都是有的:
1. 雖然說排版靈活,但是很難排整齊,可能是免費使用的原因吧,不然很多軟體都有提供自動區塊對其的功能。
2. 版面實在太醜了花了一些時間整理好資料之後還需要花一些時間排版不然眼睛實在不舒服排版也是當初離開Evernote的原因說到排版Evernote比Onenote還要爛很多多年以前的既定印象
反正這些問題目前在Notion上面都沒有看到就先試試看吧。
先慢慢的把Onenote上的筆記移過來。等到用滿1000個block的時候再來付費吧

View File

@@ -0,0 +1,14 @@
# 南投埔里
老婆的同學Taco要結婚了老婆順便訂了飯店晚上就在埔里過夜了。
晚上老婆的朋友帶我們去吃一家湯圓,但是感覺還好,倒是路上經過的快炒吸引了我們的目光,所以湯圓結束後,又回頭吃快炒去了。
快炒不便宜,我們點了
1. 鹹酥蝦
2. 糖醋排骨
3. 炒龍鬚菜
4. 蛤仔湯
另外加一碗飯這樣就要510元了。不過跟湯圓比起來我還是比較喜歡快炒雖然說它很重鹹就是了。
![[2018-10-06_01.jpg]]
![[2018-10-06_02.jpg]]

View File

@@ -0,0 +1,13 @@
# 機票漲價了!!!
到了今天終於要把去大阪的機票飯店給定下來了。沒想到一查之下,價格居然比之前多了將近三萬元(主要是機票變貴了)。當下心情整個都不美麗了。趕緊跟老婆聯絡,晚上就把它給訂了。
## 飯店
[難波天然溫泉多米頂級飯店 - 別館(Dormy Inn Premium Namba ANNEX Natural Hot Spring)大阪 - 住宿優惠及旅客評論 | 智遊網 Expedia.com.tw](https://www.expedia.com.tw/Osaka-Hotels-Dormy-Inn-Premium-Namba-ANNEX-HotSprings.h25736273.Hotel-Information?rm1=a2:c8:c6&hashTag=overview&&rfrr=ALL.Itin.Booked.HOTname)
## 機票
![[2018-10-0912.49.30.png]]
另外還有環球影城跟海遊館需要規劃。

View File

@@ -0,0 +1,63 @@
# 請假放空的一天
今天老婆要去台北打雷射,我也趁著這機會請假一天,除了可以載老婆一程,也可以休息一下,剛好天瓏書局有門市買千送百的活動,也就順便買了幾本書。買的幾本書如下,剛好各個領域都有買一些:
## Machine Learning
1. Python 資料分析, 2/e
[天瓏網路書店 | Python 資料分析, 2/e (Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython, 2/e)](https://www.tenlong.com.tw/products/9789864769254)
2. Designing with Data善用數據幫你打造好設計
[天瓏網路書店 | Designing with Data善用數據幫你打造好設計 (Designing with Data: Improving the User Experience with A/B Testing)](https://www.tenlong.com.tw/products/9789864769247)
## OpenGL
1. OpenGL 3D 繪圖互動程式設計
[天瓏網路書店 | OpenGL 3D 繪圖互動程式設計](https://www.tenlong.com.tw/products/9789863125112?list_name=b-m-zh_tw-2018-9)
## Kubernetes
1. 每天 5分鐘玩轉 Kubernetes
[天瓏網路書店 | 每天 5分鐘玩轉 Kubernetes](https://www.tenlong.com.tw/products/9787302496670?list_name=srh)
## Android
1. Google 御用 Android 開發語言Kotlin一書搞定
[天瓏網路書店 | Google 御用 Android 開發語言Kotlin一書搞定](https://www.tenlong.com.tw/products/9789863796695?list_name=srh)
## 其他
1. Scratch 2.0 小學生快樂寫程式
[天瓏網路書店 | Scratch 2.0 小學生快樂寫程式](https://www.tenlong.com.tw/products/4713269120612)
有幾本沒有買,原因如下:
1. 類神經網路實戰使用Python **← 忘了,哭哭**
1. [天瓏網路書店 | 類神經網路實戰使用Python](https://www.tenlong.com.tw/products/9789864343355?list_name=trs-t)
2. Effective DevOps 中文版 **← 在書局大概翻了一下,幾乎是完全偏概念的書,在目前還沒有太多領悟的情況下,還不需要**
1. [天瓏網路書店 | Effective DevOps 中文版 (Effective DevOps: Building a Culture of Collaboration, Affinity, and Tooling at Scale)](https://www.tenlong.com.tw/products/9789864767793?list_name=b-m-zh_tw-2018-9)
3. 現代演算法|原來理解演算法並不難 **← 跟現有的書雷同**
1. [天瓏網路書店 | 現代演算法|原來理解演算法並不難 (Real-World Algorithms: A Beginner's Guide)](https://www.tenlong.com.tw/products/9789864768813)
4. 用Scratch自己寫程式 -- 互動式遊戲和動畫創意設計 **← 先買一本就好,這本日後有需要再來買,搞不好有更好的書也說不定**
1. [天瓏網路書店 | 用Scratch自己寫程式 -- 互動式遊戲和動畫創意設計](https://www.tenlong.com.tw/products/9789869488464)
5. 瘋狂Android講義(Kotlin版) **← 沒有現貨**
1. [天瓏網路書店 | 瘋狂Android講義(Kotlin版)](https://www.tenlong.com.tw/products/9787121342370?list_name=srh)
可能也是對於換工作有些心理準備了吧,給自己的學習壓力有點大,不過現在年紀大了,也可以說比較成熟了,似乎比較放得開,心裡對於如何準備學習的步調比較有底了,不會像以前那麼有那種永遠都學不完的焦慮感。
目前先把Android的APP開發先搞懂一些然後把OpenGL ES給填進去這是第一步對於日後的OpenGL debug會有所幫助第二步是Flask + Vue.jslongterm一點則是machine learning。希望自己能夠堅持。

View File

@@ -0,0 +1,14 @@
# 整天都在下雨
宜蘭的天氣不好,不只涼颼颼,還下了一整天的雨。
下午的時候帶他們兩個去蘭城星悅逛了一下,先帶去誠品,睿睿認識的字比我想像多很多,到了誠品之後就自己拿了一本書坐在地上看了起來,謙謙還沒辦法,還必須有人唸給他聽。
我幫謙謙買了一本筆記本和一支筆,謙謙很喜歡綠色,筆記本和筆都是綠的。
---
之後去湯姆熊。
![[2018-10-13_01.jpg]]
![[2018-10-13_02.jpg]]

View File

@@ -0,0 +1,7 @@
實在沒有debug的心情乾脆來寫個東西平靜一下。
工作部份GAPID一直沒有很大的進展感覺有點老牛拖車一方面是程式本身也滿大的一方面是對於bazel如何控制整個專案一直沒有搞得很清楚所以很多地方都查的有點辛苦。
家裡方面,最近比較少罵睿睿了,不過上禮拜去百貨公司之後,回家還是有修理他們兄弟倆,原因是在百貨公司吵架、打架(沒有打很兇,就動手推來推去)。不過睿睿真的有成熟一點,但還是有點瘋瘋癲癲的,這方面只能希望他自己能自我發覺一下,不然怎麼講也是很難改變。
Android的書在看了將近2個月之後終於要看完了果然每天看書還是可以的這一點要堅持下去持續進步希望今年可以把OpenGL這個topic結束掉。然後來弄個CNN的畫風網頁來玩玩看面試能不能派上用場。

View File

@@ -0,0 +1,9 @@
天氣中午很熱27°C
大概拖了一個月吧今天終於訂閱了30堂課的功其不背初步上了第一堂課之後覺得自己的聽力真的很糟希望這課真的有幫助。
他的課流程是這樣:先給你聽一個句子,讓你自己知道你能聽懂多少,然後再按下字幕鈕看字幕,讓你比對你聽的跟閱讀的理解差多少,最後要你翻譯那句子,再給你看正確的翻譯是什麼,如此一直循環,把整個影片給看完。
Android的書快看完了如果這禮拜看完了按照預定的目標是接著看OpenGL的書。但是依照目前的趨勢AI還是一個主要的方向只是問題是你要學的是上層的framework或者是底層的optimization底層的optimization感覺很難這也許是我對於自身數學能力的自卑。另一個Android的framework跟Linux kernel相關。Linux kernel從我開始工作到現在已經活躍很久了吧被Android一帶需求又重新起來了。
所以現在方向有2個一個是至少要有一個技能是專業的目前選的是OpenGL第2個是跟著潮流走那就是AI了。OpenGL目標是把要看的那本書看完能夠在Android畫出東西就可以了。AI方面感覺方向很多往上層走的話感覺需要的是資料分析的能力也就是你要有對於那個產業的know how譬如房地產、選舉、營銷之類工具的使用只要熟練就好重點是分析的方法與資料的收集。往底層走的話需要的是底層演算法與HW連接的optimization細節不是很清楚感覺很多數學。不過對於在IC design house的話這方面的能力也許比較容易找到工作。

View File

@@ -0,0 +1,9 @@
這一週實在過的有夠煩悶的,東西真的生不出來。
以往也有過很不想上班的時候,不過那多數是出於對於上司要求的不滿,例如要求加班做事,或是給出:什麼時候東西要給我之類的無理要求。雖然心裡不開心,但至少東西是可以出的來的,只是要花時間就是了。
但這次不一樣我真的不暸解GAPID的code不論是gRPC或是go本身除了程式本身的量很大之外對於程式要在go與protobuf之間轉換也讓我很困擾因為protobuf本身有其自身的屬性與邏輯需要暸解這都增加了程式的複雜度與廣度讓人不僅止於需要「完全」知道其架構還必須確實了解每一行程式的作用因為go能再在一行code包含許多動作這也讓人看起code加倍辛苦。
不管怎樣說放棄是不被允許的而目前看起來也不會更換工作方向只能堅持下去。也好順便熟悉golang也許不是一件壞事。
但是上禮拜實在有點脫序,預定要開始看的書都沒有按照計畫進行,希望本週可以按軌道來。

View File

@@ -0,0 +1,116 @@
## 詢問中銀香港月結單相關事項
### 對話內容
```bash
客戶服務專員 :
您好我是「在線對話」客戶服務專員Dinki ,請問有甚麼可以幫到您?
客戶 :
你好我想申請18個月以前的月結單幾個問題請教
客戶 :
1. 請問新申請的月結單是紙本寄出嗎?
客戶服務專員 :
客戶如需補發結單資料,請客戶提供聯絡電話,姓名及賬戶號, 本中心將稍後聯繫您辦理申請。
客戶亦可直接聯絡本行客戶服務熱線(852) 3988 2388 (選語言後按4,1,1)費用為每份HKD50.00(每一結單週期作一份計算)。
如欲索取儲蓄賬戶歷史資料紀錄,請帶同身份證明文件親臨分行辦理, 有關收費如下:
一年資料        每個賬戶HKD250.00
二年資料         每個賬戶HKD750.00
三年資料        每個賬戶HKD1,000.00
三年以上資料(最多七年) 每年加收HKD1,000.00
客戶服務專員 :
1. 請問新申請的月結單是紙本寄出嗎? 是的
客戶 :
2. 請問月結單上面有中銀香港的公司章之類,可做法律證明之類的戳章嗎?
客戶服務專員 :
2. 請問月結單上面有中銀香港的公司章之類,可做法律證明之類的戳章嗎? 銀行加簽印鑑首份港幣150元(如加簽多份其後每份港幣20元)
客戶 :
謝謝你,請問作業時間約幾日呢?
客戶服務專員 :
申請補發結單 約7-10工作天
客戶 :
再次請教補發月結單可以是18個月以前的嗎例如我需要申請2015年8月的月結單是可以的嗎
客戶服務專員 :
可以申請補發七年內的結單
客戶 :
問題3月結單上面的轉帳交易並沒有列出匯款方的資料有辦法取得或列出嗎
客戶 :
或是需要申請的是歷史紀錄?
客戶服務專員 :
有關每筆交易的証明可嘗試於分行查詢能否辦理
客戶 :
沒辦法線上或電話申請嗎?因為我人在台灣
客戶服務專員 :
很抱歉,需親臨分行申請辦理。
客戶 :
了解,謝謝你。我需要申請月結單,請跟我聯絡
客戶 :
黃玄揮 +886939701930
客戶 :
帳戶號012-830-1-042084-6
客戶服務專員 :
好的,請問客戶是申請補發那個月份的結單?
客戶 :
每份都要"銀行加簽印鑑"(很重要)
客戶服務專員 :
銀行加簽印鑑 都需親臨分行申請辦理的。
客戶 :
阿,這樣啊
客戶 :
好吧,那謝謝你
客戶 :
感謝你的服務
客戶服務專員 :
不用客氣,請問您還有其他查詢嗎?
客戶 :
沒有了,謝謝你
客戶服務專員 :
不用客氣,我們樂意為您服務。
客戶服務專員 :
多謝您的查詢,如有需要可隨時再次查詢,再見。
```
### 結論
1. **月結單可以申請補發七年內的結單,可以線上申請**
客戶如需補發結單資料(可以申請補發七年內的結單),請客戶提供聯絡電話,姓名及賬戶號, 本中心將稍後聯繫您辦理申請。 客戶亦可直接聯絡本行客戶服務熱線(852) 3988 2388 (選語言後按4,1,1)費用為每份HKD50.00(每一結單週期作一份計算)。
如欲索取儲蓄賬戶歷史資料紀錄,請帶同身份證明文件親臨分行辦理, 有關收費如下: 一年資料 每個賬戶HKD250.00 二年資料 每個賬戶HKD750.00 三年資料 每個賬戶HKD1,000.00 三年以上資料(最多七年) 每年加收HKD1,000.00
2. **月結單有銀行戳章嗎?**
銀行加簽印鑑首份港幣150元(如加簽多份其後每份港幣20元) 需要親臨分行辦理
3. **可否列出匯款方帳號或名稱**
無法回答,請至帳號分行詢問
4. **請問需要工作時間?**
申請補發結單 約7-10工作天

View File

@@ -0,0 +1,4 @@
羅技報到日
![[2020-02-17_01.jpg]]
![[2020-02-17_02.jpg]]
![[2020-02-17_03.jpg]]

View File

@@ -0,0 +1,14 @@
第一把長槍GHK M4 10.5
![[2020-02-14_01.jpg]]
也買了G18C的衝鋒套件
![[2020-02-14_02.jpg]]
![[2020-02-14_03.jpg]]
![[2020-02-14_04.jpg]]
要給爸爸的引擎模型也到貨了
![[2020-02-14_05.jpg]]
![[2020-02-14_06.jpg]]

View File

@@ -0,0 +1,14 @@
- 徐大email的感想
![[2020-03-06_01.png]]
1. 表示你有充分了解需求
2. 提出你的建議:贊成或是反對 or 接受或是拒絕
3. 理由必須充分、有力、難以反駁
4. 或是,你提出的方式有什麼缺點,但你已經做了努力來改善它。
5. 例如支持使用LVreg與LVcap的理由如下
1. LVreg and LVCap are used by engineers and QA可靠的理由
2. That prove they are stable,(可靠的理由)
3. we can trust and also less tools issues可靠的理由
4. FIH can also trust the tool to verify their implementation and XU interfaces.(因為可靠,所以推薦使用)
5. That have ease way to sync with our FW team people and reduce developers's communication issues.(得到的好處)
6. I also wrap a LVReg in Python script. That way helps TDE have ease way to develop production verification procedures and also helps QA to test automation tools.讓QA更好湧而做的努力
6. 最後,反問對方的意見以表示重視對方

View File

@@ -0,0 +1,29 @@
寫信給Karthik禮貌性的告知我已經上班一個月了。
```
Hi Karthik:
Good morning!
I already on board for 4 weeks.
New notebook was purchased,I got Wendy's help and IT will deliver to me about one month.
Juiwen helps me very much to get into work, bring me to say hello to other colleagues.
We visited QA/OE/IQ/Music lab and Juiwen give me briefly introduce about their job.
QA Avon gave me an introduction about how they test the Bolide system.
IQ Lesley demo us, how she is developing the image test automation system.
MBU share us about they are developing audio verification system with some DSP and machine learning algorithms.
TDE Gravity helps me to understand production line testing and test systems include TestCam, Kinetic and UTS 2.
With the above activities, let me understand the workflow and how we cowork with them to become a team. He also introduce products, cultures, and other details for me.
I am studying RobotRun, that's a large library that Juiwen has been building. I wish I can understand it quickly, and contribute to this library to service most requests.
During these 4 weeks. I got some tasks include:
1. Improve audio capture module for AE
2. Work with QA for system connection/video/audio/reboot testing.
3. Cooperating with Juiwen to build a test framework on Github, we are improving current test form function test to system test solutions.
4. I also study SW interface specification for Kong's pan/tilt/zoom system.
Logitech is an open and friendly place, thank you for giving me such an opportunity to join your team. I will do the job as best as I can.
Regards,
Awin
```

View File

@@ -0,0 +1,4 @@
第一次參加酷愛的生存遊戲
![[2020-03-22_01.jpg]]
![[2020-03-22_02.jpg]]
![[2020-03-22_03.jpg]]

View File

@@ -0,0 +1,4 @@
Vortex Spitfire到貨了拿它來跟便宜的瞄具比一下一比嚇死人清晰度根本不同等級。
![[2020-03-23_01.jpg]]
![[2020-03-23_02.jpg]]
![[2020-03-23_03.jpg]]

View File

@@ -0,0 +1,8 @@
在TAF買的MK18到貨了有點小刮痕不過不想寄回去了。
![[2020-03-24_01.jpg]]
有刮痕的地方
![[2020-03-24_02.jpg]]
馬上換了已經買好的CTR托
![[2020-03-24_03.jpg]]

View File

@@ -0,0 +1,21 @@
向Karthik申請買SSD
```
Hi Karthik,
Good morning!
I got my new laptop yesterday, but the storage for the Logitech standard laptop is not enough for our development.
To fit Juwien's development environment request, he ask me to upgrade the SSD storage for my laptop.
Below is the SSD storage for my laptop.
"Intel 660P SSD", The price about USD$230.
<https://24h.pchome.com.tw/prod/DRAH83-A9009BLY9?fq=/S/DRAH9I>
After you approve here and I will go into Logitech purchase process.
Thank you.
Regards,
Awin
```

View File

@@ -0,0 +1,5 @@
# 星期日
買謙謙的迷彩服,睿睿說他不想來所以沒買
![[2020-03-29_01.jpg]]

View File

@@ -0,0 +1,10 @@
回高雄慶祝謙謙生日
![[IMG_2600.jpg]]
![[IMG_2601.jpg]]
![[IMG_2602.jpg]]
![[IMG_2603.jpg]]
![[IMG_2604.jpg]]
![[IMG_2605.m4v]]
![[IMG_2606.m4v]]
![[IMG_2607.m4v]]

View File

@@ -0,0 +1,9 @@
# Logitech
1. Add unittest function for Kong's method.
`test_getZoomRange() test_setZoomStep() test_getZoomStepCur() test_setZoomRelCtrl() test_setFocus() test_getFocus() test_getFocusRange() test_setFocusStep() test_getFocusStepCur()`
2. Add command to Kong's method, as below:
`getFWVersion() getHwVersion() DFUMode() getPIStatus() EEPROM_WriteByte() EEPROM_SetReadAddr() EEPROM_ReadData() EEPROM_ReadByte()`
3. [Current status](https://docs.google.com/spreadsheets/d/1xvDMtSDEI6cbJlsLRa4JWWh-0b464zA8v2gs0Ky8lh4/edit?usp=sharing)
![[2020-04-15_01.png]]

View File

@@ -0,0 +1,3 @@
早上稍微整理了家裡下午睿睿謙謙要補習下下禮拜要考試了載他們上課後去了KUI改了護木跟消音器。
晚上爸爸說媽媽吃了太多安眠藥了所以在昏睡,聽到這個實在很擔心,不知道該怎麼幫助媽媽改變他的心情,心情要是不改變,安眠藥是沒有用的。

View File

@@ -0,0 +1,11 @@
六甲高地玩生存遊戲
![[92709501_101757388184474_261941160505769984_o.jpg]]
![[93418435_101755484851331_349706008290918400_o.jpg]]
![[93581487_101756031517943_4543993403947352064_o.jpg]]
![[93790690_101755591517987_2426125724411756544_o.jpg]]
![[93900275_101756164851263_1083539005179428864_o.jpg]]
![[94035025_101755174851362_8543579710053941248_o.jpg]]
![[94134705_101755448184668_3022120413179150336_o.jpg]]
今天是愉快的一天,上午玩生存遊戲,下午好好地睡了一個午覺。晚上帶謙謙去把他的槍改了消音器。「變輕了還變帥了,我覺得超棒的!」謙謙說。

View File

@@ -0,0 +1,2 @@
買了一個腳架裝在謙謙的槍上
![[IMG_2641.jpg]]

View File

@@ -0,0 +1,7 @@
# Logitech
討論項目
1. CT/PU get/set max/min value test.
2. Check list file to enable/disable test one item.
3. Run preview with max fps for each format/resolution only.
![[2020-04-27_01.jpg]]

View File

@@ -0,0 +1,22 @@
### 試用期報告
Here is a report for jobs I'd done and plan in these 3 months.
1. AudioCapture tool for AE.
- Let AE capture different audio format easily and quickly.
2. Implement auto USB power control for SQA to test Bolide and Flare
- Help SQA to do more complicated stability test of power/reboot in automation.
3. Implementing TestSolution framework into RobotRun with Juiwen.
- This framework let SQA to combine their single test functions to a solution, and use to fit many kinds of user environment. SQA could use this test solution to increase the test coverage and reliability.
- Thanks Avon and Juiwen, they give me many comments and help.
4. Implement Kong Camera API for testing and verification.
- Create a set of Kong PTZ API, so we can access pan/tilt/zoom/focus functions easily.
- The Kong Camera API avoid time-consuming and tedious procedure of transform control command and data into ADB command. And reduce human error and increase reliability.
- And we are developing more functions about image/quality and automation test.
5. Verification Tool for FIH
- Cooperated with Juiwen to create a easily/quickly/full functions tool, and can.
- Selectable option to retest.
- Camera CT/PU/XU
- Video format enumeration/preview
- User friendly report
The ongoing tasks will focus on Kong, there are still many things about project I need to learn. I will do the best I can.

View File

@@ -0,0 +1,5 @@
買了新的電扇和鼻毛刀
- [Panasonic國際牌16吋DC微電腦定時立扇(ECO溫控)F-L16GMD](https://24h.pchome.com.tw/prod/DMABIP-A900ALN78) **$3032**
- [日本製Panasonic輕巧型電動修鼻毛器ER-GN10-W (白色)](https://24h.pchome.com.tw/prod/DMBK15-A900A9R3D) **$680**
今天割草機會送到,下午要去農地割草。

View File

@@ -0,0 +1,47 @@
1. 15:00 Kong Parallel Test meeting
2. 今天看到Karthik對於徐大email的回信
![[2020-05-11_01.png]]
![[2020-05-11_02.png]]
![[2020-05-11_03.png]]
---
後來徐大有把email forward給我內容
```
Hi Karthik:
Hope you and your family are healthy and safe~
Although the global environment is not good, we still continuously strive to develop to make the world better.
Awin developed with us for almost 3 months.
During these 3 months, I bring Awin to learn our products and join many different request topics to cowork with others.
In the past without Awin, only my single resource, when the task peak comes, we can not really achieve all those requests.
Now with Awin, we can contribute to most projects requests.
I would like to list his contributions during these 3 months here for you review:
1. Kong Video Verification Tool (LogiUVCVerifier) for FIH
Request from Richard, cooperated with Madison, Juiwen to create the main test tool for us to verify FIH's implementation.
That could improve our camera production quality in the early stage.
For more details about the tool: <https://docs.google.com/document/d/1T27MgQq-PcLG5QeIsXscU-sArK35REF8KWjVP1xaGCo/edit?usp=sharing>
2. RobotRun APIs and test development foundation.
Work with Juiwen to continuously develop and improve RobotRun APIs to fit TDE, QA and other function tream's requests.
3. Implement Kong Camera API for testing and verification.
Cooperated with Juiwen and Madison to create a set of Kong APIs for access layer via ADB
4. Implement auto USB power control for SQA to test Bolide and Flare
Request from QA, cooperate with Avon and Juiwen to create those test functions for QA to do more complicated system integration tests.
5. AudioCapture tool for AE.
Request from AE, for Kong audio noise verification, this allows AE to capture high quality audio.
6. Implementing TestSolution framework for QA easy to integrate test functions
This framework allows SQA combine their single test functions to a solution, and use it to fit many kinds of user environment.
7. Support IQ for Kong image test automation.
work with IQ Lesley to develop Kong IQ test automation.
Thank you!
Juiwen Hsu
Jhsu3@Logitech.com, TEL: 03-612-2688, EX: 886-2688, Logitech Far East Ltd.
```

View File

@@ -0,0 +1,2 @@
來公司要和徐大開會,結果電腦就壞掉了
![[2020-05-13_01.jpg]]

View File

@@ -0,0 +1,3 @@
完成
1. KongUVC class
2. 在TestCT()裡面使用KongUVC class

View File

@@ -0,0 +1,7 @@
去KUI換HOP座也幫謙謙買了新的瞄具跟3倍鏡。
上禮拜去農地歸零就覺得謙謙的瞄具簡直暗到不行,不知道他是小孩子眼睛好還是根本瞄不到所以沒差?
![[IMG_2680.jpg]]
下午去接謙謙下課的時候,一接到他馬上跟我說:「爸爸我的牙齒掉下來了,我自己拔的!」
![[IMG_2678.jpg]]

View File

@@ -0,0 +1,12 @@
- 早上去農地歸零不算有歸好但是比較準一些了謙謙的槍HOP必須調到最緊才行這不太正常。而睿睿的槍則是散佈點有點大不是很好歸零另外睿睿的瞄具跟新買的[Vector Maverick](https://www.kui.com.tw/PA34169D36740SO2/)+[Vector 3X](https://www.kui.com.tw/PA34169D35328SO2/)比起來實在是模糊的多,價格雖然比較便宜但是沒有便宜很多,感覺上是不划算的。
- 中午跟俊銘還有理同吃飯,俊銘變化比較大,眼袋變好深,理同道是沒什麼變,因為人多也不適合問他離婚的事情,可能再找一天跟他吃飯再說吧。 #聚餐-大學
- 吃完飯去KUI買了G19跟P320的槍套結果回家試槍的時候不小心把P320的彈匣給摔了然後進彈嘴就破了一個80元。
![[2020-05-16_01.jpg]]
- 下午剪頭髮結束後已經將近7點接著去巨城人超多到了巨城吃到飯已經8點20左右了這之前還遇到一個講話欠他錢似的對老婆超沒禮貌實在是忍不住要揍他。
- 吃完飯去看按摩椅結果就訂了老婆就有點不太高興覺得自己太衝動了我覺得她自己心裡是覺得可以再看看但大概是覺得我覺得可以了我沒說什麼所以就順著我結帳了但心裡是不舒服的。這種情形以後要避免但是說真的如果反過來我覺得可以再看看但不是一定要但感覺老婆覺得很OK我大概也會結帳吧。
- 要從巨城回家的時候,我說了快去按電梯,謙謙就飛奔過去按,結果快到電梯的時候跌倒了,剛好膝蓋去撞到電梯飾板,結果膝蓋就被割了一條縫。

View File

@@ -0,0 +1,3 @@
- 因為謙謙膝傷的關係,所以就沒有去湖口玩生存遊戲了。
- 早上就在家裡玩了全境封鎖跟CS:GO。
- 中午老婆煮水餃,下午打掃家裡,晚上心瑩帶烤鴨來吃。

View File

@@ -0,0 +1,2 @@
- 本來要去公司的,中午突然收到徐大的訊息說他身體不舒服要取消會議,去公司也沒有要做什麼,所以我也就沒有公司了。在家看了一些書,其實這樣的日子滿不錯的,但就怕自己的充實太慢而趕不上一些變化,這種焦慮的心情其實對生活很不好。
- 約莫5點出門接謙謙因為下大雨的關係就直接開車順便接老婆跟睿睿之後直奔愛買去採買。今天算是悠哉的一餐在愛買吃了麥當勞之後不滿足又點了拿波里炸雞拿波里炸雞因為現炸的關係要等20分鐘要是以前是絕對不可能會等的今天居然覺得無所謂可能心境還是有點轉變吧。

View File

@@ -0,0 +1,2 @@
- 下大雨
- 下午和徐大開會給了一些指示但是不很清楚要我自己想OK我會試著做。

View File

@@ -0,0 +1 @@
- Sebastian、Sting吃飯。 #聚餐-XZSW

View File

@@ -0,0 +1 @@
- 智文、明毅、宗良吃飯。 #聚餐-ITE

View File

@@ -0,0 +1 @@
- 明毅、量哥吃飯。 #聚餐-ITEXZ

View File

@@ -0,0 +1 @@
- Sebastian、Sting吃飯。 #聚餐-XZSW

View File

@@ -0,0 +1 @@
- 俊銘、理同吃飯。 #聚餐-大學

View File

@@ -0,0 +1 @@
- James、Sting、Jacky吃飯。 #聚餐-XZSW

View File

@@ -0,0 +1 @@
- 明毅、量哥吃飯。 #聚餐-ITEXZ

View File

@@ -0,0 +1 @@
- 明毅、量哥吃飯。 #聚餐-ITEXZ

View File

@@ -0,0 +1,2 @@
- 完成KongQA
![[2020-12-02_01.png]]

View File

@@ -0,0 +1,9 @@
[[軟體保護]]
- [pyArmor](https://github.com/dashingsoft/pyarmor)
- A tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts.
- [sourcedefender](https://pypi.org/project/sourcedefender/?fbclid=IwAR2VDEKbPcxgOXONNqVjzD8HMQtEBH-jYzsJunvdO6bIDevh4rh-O3HIJkw)
- SOURCEdefender can protect your plaintext Python source code with AES 256-bit Encryption. There is no impact on the performance of your running application as the decryption process takes place during the import of your module or when loading your script on the command-line. Encrypted code won't run any slower once loaded from a .pye file compared to loading from a .py or .pyc file.
As we hook directly into the import process there are no cross platform or Python version compatibility issues. Encrypted code will run on the ANY target environment we support. Obviously your code needs to be written with the target platform in mind, we can't automagically make sys.getwindowsversion() work on Linux.
[[git#apply]]

View File

@@ -0,0 +1,2 @@
- Update ![[01. TODO#KongQA]]
- Logitech G502到貨

View File

@@ -0,0 +1,6 @@
- 學到了新東西[[frp]]
- 可以用來穿透防火後的東西例如遠端連回公司的電腦甚至FTP都可以。
- 缺點是需要一台server當作中繼。
-
- 昨天學到了PARA之後今天把心得整理在[[PARA筆記]]
- 下午整理了儲藏室,丟了兩袋的垃圾,大部分是許久沒有用的紙箱,以及買了以旺之後就沒有再使用的床單被套與枕頭。

View File

@@ -0,0 +1,2 @@
- 學到了Obsidian搜尋技巧[[Obsidian#搜尋]]
- 設定Obsidian插入樣板快速鍵[[Obsidian#自訂快速鍵]]

View File

@@ -0,0 +1,3 @@
- 晚上上吉他,上的有點想要放棄了,因為按和絃一直按不好,無名指總是會碰到下面的弦,按弦也要按得特別大力。
- [[20200207 - Study RxKotlin|RxJava]]的進度到了第7章感覺概念還不錯但需要多熟悉一下應用面。
- 昨天和老婆吵架,主要是我不希望她太晚睡,而她卻一附無所謂的樣子,這讓我很生氣,如果她不在乎自己的身體,又怎麼稱得上愛我呢?

View File

@@ -0,0 +1 @@
- 從**「學習如何學習」**學到了**「圖畫散步」**

View File

@@ -0,0 +1,4 @@
- 今天學會用了[ZeroNet](https://zeronet.io/)跟[IPFS](https://ipfs.io/)但是ZeroNet上面的東西感覺並不新很多站點都很久沒更新了加上它P2P的特性loading速度並不快。
- 討論區算是冷清porn也不多下載以BTSync之類較多但跟一般論壇比起來還是少很多算是嘗鮮吧。
- 但今天算是偷懶了,本來今天應該要把[[20200207 - Study RxKotlin|RxKotlin]]的第7章給結束的但後來卻因為玩ZeroNet而偷懶了。 #偷懶

View File

@@ -0,0 +1,3 @@
- 在Medium學到了[[Make Google Docs Look Like Dropbox Paper]]。 #美感
- 下午去夢時代的以旺買了高雄要用的床包和薄被。也很久沒有和老婆兩個人逛街了這一次把夢時代從7樓開始像巡邏一樣的結結實實的逛到了1樓逛到腳都酸了直到逛到地下一樓買方師傅來結束這一回合。
- 今天逛夢時代還是滿想買**新的吸塵器**、**泡咖啡用的快煮壺**還有**Sony的抗噪耳機**。但其中應該是Sony的抗噪耳機算是最有需要的吧可以在晚上的時候不吵到他人看影片或者反過來不被打擾的看書。 #想買

View File

@@ -0,0 +1,3 @@
- 買了[Hades](https://store.steampowered.com/app/1145360/Hades/?l=tchinese&curator_clanid=11739878) 3套來玩感覺睿睿比較有興趣謙謙還好他單純喜歡大家一起連線玩遊戲他是喜歡大家一起玩的感覺反而對於遊戲的內容沒那麼要求。
- 今天開始把**每週TODO**記錄在[[01. TODO]]裡面希望能持之以恆。要是效果不錯的話Obsidian就用來記錄一些日常與project的TODOTodoist用來收集網路資料與臨時記事Notion在不能使用Obsidian的地方使用。
- 晚上吃![[每週外食#^98f39d]]

View File

@@ -0,0 +1 @@
- 發現Wireguard在Ubuntu 20.04上運作是正常的,還需要勢然幫忙驗證。

View File

@@ -0,0 +1,11 @@
- 雖然說上星期日有下定決心要好好地寫日記結果星期一就破功星期一請假去洗車。下午開始把舊硬碟裝到舊電腦上然後安裝FreeNas。
- 星期二也因為在line聊天的時候聊到翻牆一直興起架了個Wireguard給勢然用一開始是架在Synology上面結果不成功搞到12點才放棄。
- 星期二下午進公司和徐大討論事情
- 星期三下午進公司開始弄[[01. TODO#RobotRunDoc Online]]的事情。星期三也把Wireguard弄到Ubuntu VM上結果加上DNS之後我的手機流量就正常了。
- 結果今天勢然試新的Wireguard設定但還是無法正常使用果斷放棄。
- 今天也是三樓書櫃施工的日子,我也因為針眼發作沒有去公司。到了下午的時候針眼已經消腫許多。
- 這禮拜的週計畫[[01. TODO#KongQA]]的部分都沒有做,會先把這個延後,先把[[01. TODO#RobotRunDoc Online]]做完。
- 新增2個Obsidian的快速鍵摺疊/展開全部標題
- ![[Obsidian#^e897a3|摺疊所有標題]]
- ![[Obsidian#^5587cd|展開所有標題]]
- 非常開心原來Obsidian用`![[Obsidian#自訂快速鍵]]`這種格式就可以嵌入一個區段而不是一個link。 #開心

View File

@@ -0,0 +1,3 @@
- 早上有點賴床,眼睛也不太舒服(其實也還好),但因為下雨,所以還是起床載他們上學。
- 回到家後洗衣服東弄西弄的也11點了。
- 發現有趣的東西:[[003. LBRY]]

View File

@@ -0,0 +1,5 @@
- 買了4本書
- [中產悲歌](https://www.books.com.tw/products/0010874434)
- [Kotlin權威2.0](https://www.books.com.tw/products/0010855787)
- [最高學習法](https://www.books.com.tw/products/0010852800)
- [最高學以致用法](https://www.books.com.tw/products/0010877100)

View File

@@ -0,0 +1 @@
- 今天晚上吃![[每週外食#^a0b44c]]

View File

Some files were not shown because too many files have changed in this diff Show More