Bỏ qua, tới nội dung chính
Cà Phê & Code Cà Phê & Code
  • Trang chủ
  • Bài viết
    • Chuyên mục
    • Backend
    • Bảo mật
    • Bảo mật ứng dụng web
    • Công cụ
    • Cơ sở dữ liệu
    • DevOps
    • Docker
    • Giải thuật
    • Go
    • Hệ điều hành
    • Hệ thống
    • Java
    • Kiến trúc hệ thống
    • Lập trình
    • Lập trình Go
    • Linux
    • Mang
    • Mạng
    • Message Queue
    • Odoo
    • RabbitMQ
    • Spring
    • Trình biên dịch
    • Vert.x
    • Web

    • Xem tất cả
    • Chuyên mục
    • Sê-ri
    • Thẻ
  • Luyện thi
  • Ghi chú
  • Thiết kế CSDL
  • Thông tin
    • Giới thiệu
    • Liên hệ
Đăng nhập
  1. Trang chủ
  2. Thẻ
  3. zero-to-hero

#zero-to-hero

1271 bài viết
Trình biên dịch 03/09/2026 8 phút

Tôi viết đoạn check để bắt tràn — trình biên dịch xóa sạch nó vì 'tràn không được phép xảy ra'

Một đoạn kiểm tra tràn if(x+100 < x) bị -O2 xóa sạch — vì trình dịch suy tràn signed là UB nên 'không bao giờ xảy ra'. Cái check để bắt bug lại bị compile đi mất, và -fwrapv cứu. Đo thật trong container.

#do-dac#zero-to-hero#trinh-bien-dich
12
Trình biên dịch 03/09/2026 8 phút

next() + next() ra 21 mọi lần chạy — nhưng con số ổn định đó là một cái bẫy

next()+next() cho 21 trên gcc/aarch64, nhất quán mọi lần — nhưng thứ tự đó không được chuẩn bảo đảm, và i=i++ + ++i là UB. Nhất quán trên một máy không phải 'được định nghĩa'. Đo thật trong container.

#do-dac#zero-to-hero#trinh-bien-dich
13
Trình biên dịch 03/09/2026 8 phút

Vòng while(!done) treo vĩnh viễn ở -O2 — volatile cứu được, nhưng đừng tưởng nó làm biến an toàn đa luồng

Một vòng while(!done) treo vô hạn ở -O2 vì trình dịch đọc done một lần rồi cache; volatile ép đọc lại mỗi vòng. Nhưng volatile chỉ đảm bảo truy cập xảy ra, không phải nguyên tử hay thread-safe. Đo bằng assembly trong container.

#do-dac#zero-to-hero#trinh-bien-dich
15
Trình biên dịch 03/09/2026 8 phút

Một từ khóa cắt vòng lặp còn 4 lệnh thay vì 7 — nhưng phá lời hứa thì kết quả ra 15 thay vì 20

restrict hứa hai con trỏ không trùng nhau, cho trình dịch bỏ một lần nạp lại — 4 lệnh thay vì 7. Nhưng đó là lời hứa: truyền con trỏ trùng thì kết quả sai (15 thay vì 20), là hành vi không xác định. Đo bằng assembly trong container.

#do-dac#zero-to-hero#trinh-bien-dich
16
Trình biên dịch 03/09/2026 8 phút

Năm trường cộng lại 15 byte, struct chiếm 32 — đổi thứ tự khai, còn một nửa

sizeof một struct không phải tổng kích thước các trường: struct trộn kiểu cộng lại 15 byte mà sizeof=32 vì đệm căn lề. Sắp lại đúng năm trường đó theo lớn->nhỏ còn 16. Đo sizeof và offsetof thật trong container.

#do-dac#zero-to-hero#trinh-bien-dich
11
Trình biên dịch 03/09/2026 11 phút

Tám cờ một bit, tôi chắc chiếm 1 byte — đo ra 4, và bố cục bit là cái bẫy còn to hơn

Struct 8 cờ 1-bit tôi tưởng chiếm 1 byte, đo ra 4 — vì kiểu cơ sở là int. Và thứ tự bit trong đơn vị là tùy trình dịch, nên đừng dùng trường bit để khớp bố cục nhị phân ngoài. Đo sizeof, byte thô và assembly trong container.

#do-dac#zero-to-hero#trinh-bien-dich
12
  • 1
  • …
  • 43
  • 44
  • 45
  • 46
  • 47
  • …
  • 212

Trang 45 / 212 — tổng 1271 bài viết

Tìm kiếm
Admin

Nhấp một ngụm cà phê, viết thêm một dòng code

Xem thêm
Chuyên mục
  • Odoo 400
  • Giải thuật 270
  • Cơ sở dữ liệu 237
  • Lập trình 216
  • Lập trình Go 133
  • DevOps 114
  • Java 100
  • Hệ điều hành 90
  • Docker 68
  • Go 60
  • Spring 60
  • Bảo mật 57
  • Linux 54
  • Vert.x 50
  • Trình biên dịch 45
  • Mạng 45
  • RabbitMQ 40
  • Backend 40
  • Message Queue 40
  • Công cụ 30
  • Web 18
  • Hệ thống 12
  • Kiến trúc hệ thống 12
  • Bảo mật ứng dụng web 1
Xem nhiều nhất
Bốn mươi dòng kiểm trước khi bấm nút triển khai — mỗi dòng đến từ một lần đã hỏng 10/08/2026 · 129
900 lần chạy test không bắt được lỗi luôn nằm đó — thêm một dòng sleep, nó lộ ra 100% 05/08/2026 · 114
Cùng một jar, ảnh Docker từ 866 MB xuống 126 MB — và cái bẫy làm ảnh nhỏ nhất in tiếng Việt ra dấu hỏi 06/08/2026 · 93
Integer 127 == 127 cho true, nhưng 128 == 128 cho false — vì sao, và bẫy đó ẩn ở đâu 05/05/2026 · 72
Một dòng println nở ra sáu lệnh, dấu cộng nối chuỗi biến thành invokedynamic — mở file .class ra xem 04/05/2026 · 66
Thẻ phổ biến
#zero-to-hero#do-dac#hieu-nang#odoo#odoo-19#go#developer#postgresql#devops#golang#lap-trinh#sql#java#database#huong-dan#he-dieu-hanh#toi-uu#bao-mat#100-ngay-java#backend#docker#trinh-bien-dich#container#linux#dong-thoi#csdl#docker-compose#spring#kafka#redis#kubernetes#web#giai-thuat#message-queue#giam-sat#mang#vertx#cau-truc-du-lieu#co-so-du-lieu#kien-truc-may-tinh#performance#quan-sat#orm#rabbitmq#van-hanh#concurrency#kien-truc#view#ke-toan#owl#http#index#microservice#observability#grpc#reactive#runtime#cong-cu#kho#monitoring#networking#bo-nho#qweb#debug#git#mat-ma#version-control#security#website#gc#resilience#crm#data-structures#prometheus#protobuf#serialization#collections#compression#nhan-su#regex#search#testing#thiet-ke#ban-hang#cau-hinh#context#controller#do-tin-cay#elasticsearch#gioi-thieu#interface#probabilistic#shell#algorithms#bao-cao#command-line#compiler#he-thong-lon#json#mua-hang#nen-du-lieu#regular-expression#streaming#system-design#tong-ket#unix#cache#ecommerce#jvm#openssl#owasp#report#spring-boot#stream#distributed#jpa#metrics#san-xuat#vacuum#action#bloat#gzip#io#logging#network#planner#spring-security#test#tracing#benchmark#chan-doan#checklist#du-an#explain#oop#phan-quyen#pprof#retry#tcp#architecture#encoding#event-bus#generics#goroutine#jmh#join#latency#memory#module#mrp#mvcc#scheduler#tls#ton-kho#transaction#amqp#bloom-filter#distributed-systems#email#error#exchange#heap#http2#kanban#lien-he#luong-ao#opentelemetry#phan-vung#replication#spring-amqp#statistics#thanh-toan#bat-dong-bo#binary#debugging#form#functional#go-loi#idempotency#load-balancing#map#middleware#pipeline#profiling#quality#routing#rpc#spring-mvc#sre#wizard#api#assets#atomic#backpressure#backtracking#bat-bien#build#bytecode#cardinality#channel#chatter#closure#cong-no#connection-pool#connection-pooling#consumer#cpu#deadlock#domain#histogram#hot-update#https#isolation#jwt#list#log#mutex#namespace#percentile#rate-limiting#re2#rest#san-pham#scss#sharding#slice#syscall#testcontainers#trien-khai#tu-dong-hoa#unicode#wal#websocket#widget#wire-format#zstd#aes#allocation#assembly#authentication#automation#backoff#bash#bom#cas#chat-luong#circuit-breaker#cqrs#csrf#deploy#dich-vu-khach-hang#dlx#dockerfile#do-tre#entropy#erp#error-handling#escape-analysis#event-driven#event-loop#exception#frontend#grep#group-by#hash-table#helpdesk#hmac#hoa-don#inheritance#interceptor#iterator#jackson#jaeger#javascript#jdbc#kieu-du-lieu#lambda#lock-free#lo-trinh#lua#luu-tru#mat-khau#maven#migration#multiplexing#nginx#nha-cung-cap#outbox#pagination#partition#phe-duyet#portal#quan-ly-cong-viec#queue#rang-buoc#reflect#reflection#server-action#snippet#socket#status-code#string#timeout#tim-kiem#toolchain#tuy-bien#varint#vertx-web#work-mem#xac-thuc#xpath#activity#aead#aggregate#alignment#analytics#analyze#async#auth#autovacuum#awk#bao-gia#bao-tri#barcode#batch#bat-dau#bcrypt#bien-the#big-o#brotli#button#byte#caching#cgroup#cham-cong#chi-phi#chuan-hoa#chung-chi#cluster#codegen#collectors#commit#constant-time#constraint#consumer-group#consumer-lag#copy#cors#count-min-sketch#cron#cross-compile#crud#csp#cte#da-cong-ty#database-sql#deadline#default#delete#delivery-semantics#delve#dependency-inversion#devirtualization#dich-thuat#dictionary#dinh-gia-ton-kho#distributed-lock#dns#do-ben#dynamic-programming#ecdsa#embed#event-sourcing#fanout#field-widget#fillfactor#full-text-search#future#giao-dich#giao-dien#giao-hang#goroutine-leak#graph#greedy#ha#hash#hashing#health-check#he-thong#hikaricp#hoat-dong#hooks#hop-dong#hyperloglog#i18n#inlining#inverted-index#ir-cron#itab#java-time#jdk#jfr#jit#jsonb#junit#keep-alive#ke-thua#ket-noi#khoa#lead#lock#luong#many2one#memory-leak#menu#merge#metadata#model#nap-du-lieu#ngan-hang#nghi-phep#nhap-du-lieu#optimization#optional#ordering#padding#parallel#partitioning#pattern-matching#pbkdf2#pgbouncer#phan-tich#phan-trang#plan9#port#prefetch#prepared-statement#proc#pubsub#python#quorum-queue#rate-limit#realtime#rebase#record#recordset#recovery#registry#replica#retention#sampling#sap-xep#scaling#schema#schema-evolution#sealed#secrets#sed#seo#service-discovery#session#signal#singleflight#skip-locked#sliding-window#slog#sort#stack#strace#struct#tai-nguyen#theme#thread#throughput#thue#tich-hop#tieng-viet#time#timezone#timing-attack#toast#token#transientmodel#trigram#ttl#tuyen-dung#type-parameter#unsafe#upload#window-function#worker-pool#xay-dung-web#xml#x-sync#xz#zigzag#2fa#abstract-model#access-control#ack#active-ids#actuator#addons#aggregation#alerting#alertmanager#allocator#amazon#analytic#analyzer#anchor#an-toan#aof#api-design#api-key#append#approvals#argon2#assert#at-least-once#attachment#attendances#audit#authorization#autoboxing#autocomplete#automated-action#avro#backlog#backreference#backup#bandwidth#bang-dieu-khien#bang-gia#ban-hang-online#bao-cao-tai-chinh#barrier#batch-insert#bce#bearer-token#benchmem#benchstat#bfs#bidirectional#bigdecimal#bigkey#bigtable#binary-search#binding#bind-mount#bisect#blockingqueue#blog#bm25#bool-query#bounds-check#boxing#branch#brin#brute-force#bst#bucket#budget#buffer#build-context#build-tags#bulk#bulkhead#bulk-load#but-toan#bzip2#cache-hit-ratio#cache-line#calendar#cam-bay#cancellation#ca-nhan-hoa#canh-bao#capture-group#cassandra#cay-can-bang#cbc#cbor#cgo#chacha20#cham-gio#character-class#chart-of-accounts#chat#checkpoint#cherry-pick#chmod#chu-ky-so#chunked#c-interop#classloader#classpath#clean-architecture#client-action#cloudflare#codec#code-generation#collision#command#command-injection#comparator#comparison#compatibility#compile-time#completablefuture#component#compose#composite#computed#concurrenthashmap#conditional-compilation#config#configuration#conflict#cong-doan#cong-tac#consensus#consistent-hashing#constructor#con-tro#con-tro-ham#cookie#core-dump#coredump#coroutine#cost#cost-model#cot-moc#coverage#criteria#cross-origin#csprng#css#cuckoo-filter#curl#cut#dag#da-hinh#da-ngon-ngu#danh-gia#danh-so#dashboard#data-processing#datetime#dce#ddd#ddl#dead-code#dead-letter-queue#decoder#deduplication#default-method#deflate#delegation#delta#demo-data#dependencies#dependency-injection#deployment#deque#detached-head#developer-mode#dev-mode#devtools#dfa#dfs#dia-chi#dialog#dieu-chuyen#dieu-khien#dieu-kien#diffie-hellman#dijkstra#dinh-kem#directive#discord#discuss#disk#display-name#distinct#distributed-transaction#dlv#dockerignore#doi-chieu#doi-sales#doi-soat#do-luong#domain-driven-design#don-hang#don-mua#don-vi-tinh#do-phuc-tap#download#dto#dual-write#du-bao#du-lieu#durability#dynamo#ecb#ecdh#editor#effective-cache-size#effective-io-concurrency#elliptic-curve#email-marketing#embed-fs#employees#encapsulation#entity#enum#env#envelope-encryption#ep-kieu#epoll#equals#errgroup#error-boundary#etag#etcd#evacuation#event#eviction#exactly-once#executor#exists#exit-code#expvar#fail-fast#fallback#false-sharing#federation#feed#fetch#ffi#field#file-descriptor#filestore#filter#finalizer#find#flaky#flatbuffers#flatmap#flyway#forkjoin#form-view#for-update#fsck#full-page-writes#full-text#functional-options#fuzzing#fuzzy#garbage-collector#gcm#gctrace#geohash#geospatial#getter#get-view#gia#giay-bao-co#gin#gist#gitignore#gitops#gob#godebug#gogc#go-generate#golangci-lint#golden-file#gomaxprocs#gomemlimit#gomock#go-modules#google#goos#gop-du-lieu#go-redis#gorilla#gossafunc#go-vet#govulncheck#go-work#graalvm#graceful-degradation#graceful-shutdown#gradle#group#groups#grpcurl#gtgt#h3#hàm-bậc-cao#handle#hang-doi#happens-before#haproxy#hashcode#hashicorp#hashmap#hazelcast#header#headers#heavy-hitters#helm#help#hexagonal#hibernate#hmap#hoa-don-dien-tu#hoan-tien#hook#hoot#hsts#html#http3#huffman#huge-pages#idempotence#id-generation#idor#iface#image#image-size#indexing#index-only-scan#inherit#inherits#init#inner-class#instagram#integration-test#internals#invoicing#iot#ir-attachment#ir-sequence#isolation-level#isr#iter-pull#iter-seq#jaccard#javac#javap#jitter#jlink#jmm#job-queue#journal#jsonrpc#jstack#kek-dek#key-rotation#keyset#khach-hang#khau-hao#khoa-chinh#khoa-cong-khai#khoa-ngoai#khoa-so#khuyen-mai#kiem-ke#kiem-soat#kien-hang#kiosk#knowledge#ky-dien-tu#ky-nang#ky-online#lag#lap-lich#lateral#layer#lazy#lazy-load#lazy-queue#leak#level#like#linear-search#linker#linkname#linter#list-view#livelock#load-average#load-shedding#locality#lock-date#log-compaction#logical#logs#lookahead#lookaround#lookbehind#lo-serial#lost-update#lru#lucene#lz4#lz77#ma-hoa#mail#mail-activity#mail-mail#mail-template#mail-thread#maintenance#maintenance-work-mem#management#many2many#mapping#mapstructure#match#materialize#mau-bao-gia#mau-email#ma-vach#max-connections#media#memcached#memoization#memory-hard#memory-mapped-file#memory-model#merge-join#mergesort#message#messagepack#message-post#messaging#metaprogramming#method#microbenchmark#microservices#minhash#mixin#mmap#mockgen#mocking#mockito#moi-truong#monetary#monorepo#mo-rong#mount#mtls#multiline#multi-stage#nagle#name-search#nang-cap#native-image#nen-file#net-http#netpoller#nfa#ngan-sach#nguoi-dung#nhan-hang#nhap-kho#nhat-ky#nhieu-buoc#nio#no-co#noinline#non-root#notification#n-plus-1#numeric#oauth2#oca#offset#oidc#onchange#on-conflict#one2many#or#order#overlayfs#p99#pacing#package#packfile#panic#paperformat#partition-management#partition-pruning#partition-wise-join#password#password-hashing#patch#path-traversal#patterns#payment#pdb#pdf#pecs#perf#persistence#pgbadger#pgbench#pg-locks#pgo#pg-repack#pg-stat-statements#pgstattuple#pg-trgm#phan-bo#phan-tan#phoi-hop#phong-ban#phu-thuoc#pid#pipe#pivot#plan-cache#plugin#poison-message#poly1305#ports-adapters#post-mortem#preemption#preflight#priority-queue#process#producer#production#projection#promise#promql#properties#property-based-testing#props#ps#publisher-confirms#push#pylint#qos#qrcode#quan-he#quantifier#quantile#query-dsl#quic#quicksort#quoting#quyen#quy-trinh#race#raft#random#random-page-cost#range-over-func#range-request#rdb#read-model#rebalance#recruitment#recursive#red#redelivery#redirect#red-method#redos#ref#reference#reflog#reindex#related#relevance#remote-debug#repository#requests#res-company#resource#rest-api#restclient#resume#reverse-proxy#rfq#ripgrep#rle#rootfs#ro-ri-bo-nho#round-robin#route#router#routes-rules#rsa#rss#run-length-encoding#runqueue#safe-eval#saga#sao-ke#sao-luu#sargable#saturation#scaffold#scale#schedtrace#scheduled#scheduled-action#script#scylladb#sdkman#search-after#secure-coding#security-header#select#selection#semaphore#sendfile#separator#serializable#servlet#set#set-e#sha256#shannon#shard#shared-buffers#shellcheck#shortest-path#shovel#side-channel#sign#simd#sitemap#size-class#sketch#sla#slf4j#slice-header#slices#slots#smart-button#snapshot#snapshot-testing#so-cai#sockjs#so-do-to-chuc#solid#sorting#source-code#span#spring-data#sqlc#sql-injection#ssa#ssd#sse#stackoverflow#stack-trace#staging#stampede#starvation#stash#static-analysis#staticcheck#status#statusbar#stenciling#stop-the-world#storage#streams#stringer#stripe#struct-tag#structured-concurrency#studio#stw#submodule#subquery#substitution#sudo#su-kien#switch#sync#sync-cond#synchronized#sync-map#sync-pool#syscall-js#sysmon#systray#tagged#tai-dat-hang#tai-khoan#tai-san#tang-truong#tar#t-call#t-digest#template#testing-quick#text#text-keyword#text-processing#t-field#t-foreach#thao-tac-hang-loat#the-phan-loai#thiet-ke-api#thiet-lap#threadlocal#thread-pool#thuc-hanh#thue-gtgt#thundering-herd#thymeleaf#tien-te#timeline#time-off#time-wait#tinh-phi#tiny-allocator#toan-tu#token-bucket#tokenizer#to-khai#top#topic#top-k#topology#totp#tour#transactioncase#transient-model#tra-truoc#tree#treemap#tricolor#tri-thuc#truncate#tuning#tuyen-duong#twitter#ty-gia#type-assertion#typed-nil#type-erasure#type-inference#type-safety#type-set#type-switch#uber#udp#uintptr#ulimit#ung-dung#union#uniq#unlink#unlogged#unsafe-pointer#update#upgrade#upsert#use#use-method#useref#useservice#usestate#utf-8#uuid#ux#vacuum-full#validation#value-object#varargs#verticle#veth#vhost#viet-nam#viettel#visibility-map#volatile#volume#vsz#vulnerability#wait-events#wal-compression#wasi#wasm#webassembly#web-client#webclient#webhook#werkzeug#wire#word-boundary#word-splitting#worker#workers#workspace#work-stealing#worktree#wraparound#write#write-barrier#write-skew#x509#xac-thuc-hai-lop#xargs#xml-id#xmlrpc#xoay-khoa#xss#x-time#xuat-du-lieu#xuat-kho#yield#zero-copy#zero-trust#zlib
Lưu trữ
  • Tháng 9/2026 1665
  • Tháng 8/2026 197
  • Tháng 7/2026 114
  • Tháng 6/2026 64
  • Tháng 5/2026 30
  • Tháng 11/2025 4
  • Tháng 10/2025 27
  • Tháng 9/2025 30
  • Tháng 8/2025 31
  • Tháng 7/2025 30
Theo dõi blog

Nhận email mỗi khi có bài viết mới. Không quảng cáo, huỷ bất cứ lúc nào.

Hoặc dùng RSS
Cà Phê & Code Cà Phê & Code

Cà Phê & Code là blog dành cho những người yêu công nghệ và lập trình. Nơi chia sẻ kiến thức coding, công cụ hữu ích, xu hướng công nghệ, kinh nghiệm phát triển phần mềm và những câu chuyện phía sau màn hình — tất cả được kể theo cách gần gũi, dễ hiểu, như một cuộc trò chuyện bên tách cà phê.

Liên kết
  • Trang chủ
  • Chuyên mục
  • Thẻ
  • Giới thiệu
  • Liên hệ
Chuyên mục nổi bật
Odoo (400)Giải thuật (270)Cơ sở dữ liệu (237)Lập trình (216)Lập trình Go (133)DevOps (114)Java (100)Hệ điều hành (90)Docker (68)Go (60)Spring (60)Bảo mật (57)Linux (54)Vert.x (50)Trình biên dịch (45)Mạng (45)RabbitMQ (40)Backend (40)Message Queue (40)Công cụ (30)Web (18)Hệ thống (12)Kiến trúc hệ thống (12)Bảo mật ứng dụng web (1)

© 2026 Cà Phê & Code. Bảo lưu mọi quyền.