自带延迟的tg版微博
They end up choosing a role that they don't want because they're scared of doing the role they do want, or because someone else tells them that they would be good at the other role.
I advise people to choose deliberately. Choose a role that you'll feel successful and happy and proud to say you do, and that will teach you skills you want. Do a job you’re excited by. You will learn to get good at it by doing it. I feel like we don't admit it often enough enough that most of the time, we won't do a job well on day one. The vast majority of our learning happens on the job.
There's another consideration though, especially when people make this decision in college or when they're junior. Taking a step away from a more technical role closes doors. It's not fair, but our industry biases are set up so that you really need to have a solid engineering resume before you take a non-engineering role.
#thinking
唉多希望我在大学的时候能听到这些话
https://noidea.dog/glue
continue.dev 提供自定义模型代码补全功能,这下只需要充 deepseek 的钱就可以获得很不错的体验了
#CPP
// MAP(f, a, b, c...)
// -> f(a) , f(b) , f(c) ...
#define MAP(macro, ...) __VA_OPT__(EXPAND(MAP_IMPL(macro, __VA_ARGS__)))
#define MAP_IMPL_AGAIN() MAP_IMPL
#define MAP_IMPL(macro, first, ...) \
macro(first) __VA_OPT__(, MAP_IMPL_AGAIN PARENS (macro, __VA_ARGS__))
// MAP_WITHOUT_COMMA(f, a, b, c...)
// -> f(a) f(b) f(c) ...
#define MAP_WITHOUT_COMMA(macro, ...) __VA_OPT__(EXPAND(MAP_WITHOUT_COMMA_IMPL(macro, __VA_ARGS__)))
#define MAP_WITHOUT_COMMA_IMPL_AGAIN() MAP_WITHOUT_COMMA_IMPL
#define MAP_WITHOUT_COMMA_IMPL(macro, first, ...) \
macro(first) __VA_OPT__(MAP_WITHOUT_COMMA_IMPL_AGAIN PARENS (macro, __VA_ARGS__))#include <iostream>
using namespace std;
#define PARENS ()
#define EXPAND(...) EXPAND4(EXPAND4(EXPAND4(EXPAND4(__VA_ARGS__))))
#define EXPAND4(...) EXPAND3(EXPAND3(EXPAND3(EXPAND3(__VA_ARGS__))))
#define EXPAND3(...) EXPAND2(EXPAND2(EXPAND2(EXPAND2(__VA_ARGS__))))
#define EXPAND2(...) EXPAND1(EXPAND1(EXPAND1(EXPAND1(__VA_ARGS__))))
#define EXPAND1(...) __VA_ARGS__
#define LOG(tag, ...) log(tag, PREPEND_NAMES(__VA_ARGS__))
#define PREPEND_NAMES(...) __VA_OPT__(EXPAND(PREPEND_NAMES_IMPL(__VA_ARGS__)))
#define PREPEND_NAMES_IMPL(first, ...) \
PREPEND_ITEM_NAME(first) __VA_OPT__(, PREPEND_NAMES_IMPL_AGAIN PARENS (__VA_ARGS__))
#define PREPEND_NAMES_IMPL_AGAIN() PREPEND_NAMES_IMPL
#define PREPEND_ITEM_NAME(item) #item " =", item, "|"
template<typename T, typename... Args>
void log(T tag, Args... args) {
cout << tag << ' ';
(..., (cout << args << ' ')) << endl;
}
int main() {
int a, b, c, d, e;
LOG("[nums]", a, b, c, d, e);
}#CPP
成功了!
宏,好牛逼;宏,好傻逼。