作者:JASON FRIED 原文发表于 JULY 27, 2016
我不记得自己设立过目标。
有些事情我想做但没做成,我也无所谓。有些结果如果能达到当然好,但如果没达到,我也不会觉得遗憾或者“错过了”什么。
我不喜欢那种“瞄准一个目标然后去实现它”的方式。
我只是去做事,去尝试,去创造。我想进步,想让自己、我的公司、我的家人、我的社区变得更好。但我从没设定过什么具体的目标。这种方式不适合我。
目标是一种“一旦达成就消失不见的东西”。你当然可以接着设立一个新目标,但我不属于这类照着目标一步一步前进的人。
换挡的时候,从一档到二档,过去的一档就被抛在身后了。从二档到三档,二档又被抛在身后。我不是这样“停停走走”地前进,我更喜欢连续不断地往前走——至于过程中会发生什么,顺其自然就好。
在我看来,我的公司 Basecamp 是一条延续至今的线。在这条线的起点,我卖掉了第一个产品--一个 50 美元的Logo(巧的是,那是给 Andrei Heramischuk 做的,谁能想到呢!)。那时候我大概 16 岁。我没有设定做两个Logo的目标,也没有把目标定为每个Logo可以卖到 5000 美元。我只是做了一些Logo,后来又做了一些软件,再后来做了一些网站,现在我又回来做软件了。
整个过程中,我从来没设定过什么目标。我只是专注于当前正在做的事情,最终走到了现在的位置。而今天,我依然是用同样的方式工作和生活。
如果我曾经用过“目标”这个词,那也只是随口说说,我指的其实并不是目标,而是别的东西。
我特别喜欢 Jim Coudal 的一句话:
“我们大多数人之所以老是不太开心,是因为我们在设定目标时,想的是现在的自己到时候会如何如何,而不是未来的自己。”
这句话简直说到我的心坎里了。
原文地址
鸣谢 ChatGPT 4o,本文中95%的文本来自于它的翻译,我只是稍做润色。
很多人不喜欢web app是因为要先打开浏览器再输入相应的网址,然而这一繁琐步骤是可以免去的,你完全可以像使用原生app一样使用web app。
我个人更喜欢web app,因此特意在这里告诉潜在的HappyNotes用户,只需几秒钟,你就能将它固定在手机桌面上,不论看起来还是用起来都像一个真正的移动App。
为什么 Webapp 如此棒
在介绍安装步骤前,我先啰嗦几句为什么 webapp 很酷:
- 你永远在使用最新版本,无需手动更新
- 体积小得令人惊讶
- 跨设备使用,随时随地
- 不受应用商店审核限制
iPhone 用户安装指南 📱
- 在 Safari 浏览器中打开 HappyNotes, 网址 https://happynotes.shukebeta.com
- 点击分享按钮(带箭头的方形图标)
- 向下滚动,选择"添加到主屏幕"
- 给它起个喜欢的名字(比如"HappyNotes")
- 点击"添加" - 大功告成!
Android 用户安装指南 🤖
- 打开 Chrome 浏览器,进入 HappyNotes, 网址 https://happynotes.shukebeta.com
- 点击菜单(三个点)或查找"+"图标
- 选择"添加到主屏幕"
- 为快捷方式命名
- 点击"添加" - 搞定!
现在,你可以直接从主屏幕点击 HappyNotes。随时随地,记你想记!
Ever wanted to use HappyNotes but thought it seemed complicated? This guide helps you add this webapp to your phone's home screen in just a few seconds, making it feel just like a native app!
Why Webapps Are Actually Amazing
Before we dive into installation, let me share why webapps like HappyNotes are fantastic:
- Always use the latest version automatically
- Zero download size (no massive app store downloads!)
- Work across all devices
For iPhone Users 📱
- Open HappyNotes in Safari
- Tap the share button (square with an arrow pointing up)
- Scroll and select "Add to Home Screen"
- Name it as you like (e.g., "HappyNotes")
- Tap "Add" - done!
For Android Users 🤖
- Open Chrome and navigate to HappyNotes
- Tap the menu (three dots) or look for a "+" icon
- Choose "Add to Home Screen"
- Name your shortcut
- Tap "Add" - you're all set!
Pro tip: The icon will look just like a regular app icon. Your friends won't even know the difference! 😉
Now you can tap HappyNotes directly from your home screen, just like any other app. Enjoy seamless, always-updated note-taking wherever you go!
Navigating Oracle Foreign Key Constraint Deletion: A Developer's Comprehensive Guide
Understanding the "Child Record Found" Dilemma
As an Oracle database developer, you've likely encountered the frustrating ORA-02292: integrity constraint violated - child record found
error. This message appears when you attempt to delete a record from a parent table that is still referenced by child records in another table.
What Causes This Error?
Referential integrity constraints prevent you from deleting records that are crucial to maintaining data relationships. While these constraints protect your data's consistency, they can also complicate deletion processes.
Systematic Troubleshooting Approach
Step 1: Identify the Constraint
When you encounter the error, note the specific constraint name. In our example:
ERROR at line 1:
ORA-02292: integrity constraint (ACME_CORP.FK_TRANSACTION_ACCOUNT) violated
Step 2: Locate Referencing Constraints
Use the following comprehensive query to find details about the problematic constraint:
SELECT a.table_name,
a.constraint_name,
a.r_constraint_name,
b.column_name
FROM all_constraints a
JOIN all_cons_columns b ON a.constraint_name = b.constraint_name
WHERE a.r_constraint_name = 'FK_TRANSACTION_ACCOUNT';
Step 3: Investigate Child Records
Once you've identified the referencing table, query the specific records:
SELECT b.*
FROM HR.EMPLOYEE_BANK_ACCOUNTS a
JOIN ACME_CORP.FINANCIAL_TRANSACTIONS b
ON b.employee_bank_account_id = a.account_id
WHERE a.account_id IN (
-- Your deletion criteria here
);
Resolution Strategies
Option 1: Cascade Delete
If appropriate for your data model, use ON DELETE CASCADE
:
ALTER TABLE ACME_CORP.FINANCIAL_TRANSACTIONS
DROP CONSTRAINT FK_TRANSACTION_ACCOUNT;
ALTER TABLE ACME_CORP.FINANCIAL_TRANSACTIONS
ADD CONSTRAINT FK_TRANSACTION_ACCOUNT
FOREIGN KEY (employee_bank_account_id)
REFERENCES HR.EMPLOYEE_BANK_ACCOUNTS(account_id)
ON DELETE CASCADE;
Option 2: Selective Deletion
Manually delete or update child records before removing parent records:
-- First, delete or update child records
DELETE FROM ACME_CORP.FINANCIAL_TRANSACTIONS
WHERE employee_bank_account_id IN (
SELECT account_id
FROM HR.EMPLOYEE_BANK_ACCOUNTS
WHERE deletion_condition
);
-- Then delete parent records
DELETE FROM HR.EMPLOYEE_BANK_ACCOUNTS
WHERE deletion_condition;
Best Practices
-
Always use transactions to ensure data consistency
-
Understand your data relationships before modifying constraints
-
Test deletion scripts in a staging environment
-
Consider soft delete strategies for complex data models
在开发HappyNotes的过程中,我一直在琢磨笔记的本质是什么?或者说,人为什么要记笔记?就我而言,我写笔记的动机有以下几个:
- 记录生活中或许有一点点意义的小事
- 记录读过的书看过的电影/视频
- 记录我觉得以后会用到的知识片段,包括书摘和网摘
- 记录一些让自己发笑的片段
- 记录自己突然想到的idea/todo
- 有机会回顾过往
当初做 Lava 微博的时候,我记得曾用过一句slogan:"没有记录就没有发生。" 某种程度上,你的笔记是你曾经在这个世界上活过的证据。不仅如此,善用笔记能够很方便检索和重新取回你需要的知识片段,只要你之前有记下来。
人们总是高估自己的记忆力,而笔记正是能够辅助你获得无限量长期记忆的最好工具之一。
我非常能够理解市面上各种笔记app的繁荣,这是也是我下决心开发HappyNotes的原因。我希望打造一款至少自己用起来称手的笔记软件。