roasted meat pasta
蒜香烤肉什锦炒意面食谱 (二人份) 这份食谱利用了现有的胡萝卜、烤肉、 烤肠和意大利面,制作简单且风味十足。

🛒 食材清单
- 主食:意大利面 (约 200g)
- 肉类:吃剩的烤肉、烤肠 (切片或切丝)
- 蔬菜:胡萝卜 (洗净切丝)
- 调料:大蒜 (3-4瓣切末)、生抽、老抽、黑胡椒、食用油
- 可选:煮面水 (预留一小碗)
🍳 烹饪步骤
-
煮面:
- 锅中烧水加盐,下意面。
- 按包装说明时间减少 1-2 分钟捞出(保持口感筋道)。
- 重要:捞出前预留一小碗煮面水。
-
煸炒肉类:
- 热锅少油,下入烤肉和烤肠片。
- 中小火煸炒至表面微焦,散发烟熏香气。
-
炒制配菜:
- 利用锅内余油,加入蒜末和胡萝卜丝。
- 中火将胡萝卜丝炒至断生变软。
-
混合翻炒:
- 加入煮好的意面。
- 依次加入 2 勺生抽、半勺老抽、适量黑胡椒。
- 如觉太干,分次加入煮面水。大火快炒至汤汁包裹面条。
-
出锅:
- 试味后酌情加盐,装盘即可。
💡 小贴士
- 风味升级:可加入干辣椒或老干妈增加辣味。
- 配菜扩展:洋葱或青椒也是绝佳的配搭。
Pork neck dinner
猪脖子肉(梅花肉/槽头肉部分)肉质细嫩且带有大理石纹路油脂,非常适合切片炒制。以下为您设计了两套风格不同的二人份组合。
方案一:【家常浓郁组合】—— 咸鲜下饭,油脂均衡
这套组合利用圆白菜的爽脆和猪肉的油脂,配合色彩丰富的蔬菜。
1. 酱香圆白菜炒猪脖子肉
- 食材:猪脖子肉 (250g)、圆白菜 (半个)、胡萝卜 (少量切片)。
- 做法:
- 猪肉切薄片,用生抽、料酒、少许淀粉腌制15分钟。
- 圆白菜洗净撕成大片,胡萝卜切片。
- 热锅凉油,下猪肉片炒至变色盛出。
- 锅留底油,下蒜末、干辣椒(可选)爆香,倒入圆白菜和胡萝卜大火快炒。
- 圆白菜稍稍变软后,加1勺甜面酱(或蚝油)和半勺生抽。
- 倒入肉片合炒均匀,收汁出锅。
2. 清炒西兰花
- 食材:西兰花 (1个)、大蒜。
- 做法:西兰花掰小朵焯水。锅中热油炒香蒜末,倒入西兰花,加盐和鸡精快速翻炒即可。
方案二:【鲜香清爽组合】—— 清脆爽口,健康搭配
这套组合突出芦笋和西兰花的原味,口感更加轻盈。
1. 芦笋胡萝卜炒肉片
- 食材:猪脖子肉 (250g)、芦笋 (250g)、胡萝卜 (1根)。
- 做法:
- 芦笋斜切段,胡萝卜切片。
- 猪肉切薄片,加盐、胡椒粉、橄榄油稍微抓匀。
- 锅中烧水,水开后滴几滴油,放入芦笋和胡萝卜焯水30秒捞出沥干。
- 热锅下肉片滑散炒熟。
- 加入焯好水的蔬菜,加盐、蚝油调味。
- 快速翻炒均匀,保持芦笋的脆嫩。
2. 蒜蓉蒸/炒圆白菜丝
- 食材:圆白菜 (剩余部分)、胡萝卜丝。
- 做法:将圆白菜切细丝,与胡萝卜丝一起用大蒜、香油、生抽拌匀,或简单清炒。
💡 烹饪小贴士
- 猪脖子肉处理:如果油脂较多,可以先下锅煸炒出部分猪油,再用这个油炒配菜,味道会特别香。
- 胡萝卜储备:您有一公斤胡萝卜,可以多切一些丝或片放在冷藏备用,几乎任何炒菜加点胡萝卜都能提升颜色和营养。
- 米饭建议:既然有米饭,炒菜时可以适当多留一点点汤汁(勾薄芡),拌饭效果极佳。
Some interesting Julia codes
Julia is fast, composable, dynamic, general, reproducible and open source. The codes below were taken from https://julialang.org. I found it very illustrating.
Multiple dispatch
struct Dog end
struct Cat end
dog, cat = Dog(), Cat()
meet(a::Dog, b::Dog) = "The dogs play together"
meet(a::Dog, b::Cat) = "The dog chases the cat"
meet(a::Cat, b::Dog) = "The cat hisses at the dog"
meet(a::Cat, b::Cat) = "The cats ignore each other"
meet(dog, cat)
meet(dog, dog)
meet(cat, cat)
Display customization
struct Nutshell{T}
contents::T
end
Base.show(io::IO, n::Nutshell) = print(io, "🥜 ", n.contents, " 🥜")
Nutshell("Julia")
Unicode and math
α, β = .5, .3
f(x) = α * x + β
Σ(v) = reduce(+, v)
Σ(f.(1:5))
Comprehensions
[x^2 for x in 1:5]
Broadcasting
A = [1 2; 3 4]
sin.(A) .+ 1
Dict(c => i for (i, c) in enumerate("julia")
Piping and composition
1:5 |> sum |> sqrt
(sqrt ∘ sum)(1:5) # equiv. above
map(exp ∘ abs, [-1, 2, -3])
Destructuring
(a, b, c) = 1:3
a, c # => (1, 3)
head, tail... = ["first", "second", "third"]
head, tail # => ("first", ["second", "third"])
Metaprogramming
ex = :(1 + 2 * 3)
typeof(ex) # => Expr
eval(ex) # => 7
Easy package install
using DataFrames
# if not installed, prompted for installation, after 'y' answer
df = DataFrame(name = ["Alice", "Bob"], age = [25, 30])
Defaults and keywords args
function greet(name, greeting = "Hello"; punctuation = "!")
"$greeting, $name$puctuation"
end
greet("Julia") # "Hello, Julia!"
greet("world", "Hi"; puctuation = ".") # "Hi, world."
Multi-threading
function fib(n)
n < 2 && return n
t = Threads.@spawn fib(n-2)
return fib(n-1) + fetch(t)
end
fib(10)
Threads.nthreads() # => threads assigned to Julia
Build-in REPL modes
# Default Julia mode, backspace from other modes
# Press ] for package mode
# Press ; for shell mode
# Press ? for helps
# Press $ for R mode, if RCall.jl is installed
Code introspection (simplified)
f(x, y) = x + y
@code_warntype f(1, 2)
@code_llvm f(1, 2)
@code_native f(1, 2)