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

Lưu trữ — Tháng 8/2026

197 bài viết
Go 03/08/2026 11 phút

Go cố tình không có assertEquals, và test bằng một cái bảng — cộng fuzzing 4,8 triệu lần trong 5 giây

Test kiểu bảng như chấm bài bằng một đáp án và một danh sách: một quy trình chấm, mỗi dòng một ca, thêm ca là thêm dòng. Subtest, t.Parallel, độ phủ, fuzzing Go tự sinh đầu vào, và vì sao Go bỏ thư viện assertion.

#go#test#golang#zero-to-hero
45
Spring 03/08/2026 7 phút

Vì sao một dịch vụ phụ chậm đi lại khiến Kubernetes giết sạch pod của bạn — và cách Actuator chặn nó

Actuator biến ứng dụng từ hộp đen thành bệnh nhân có máy theo dõi. Health group cho Kubernetes, chỉ số Micrometer có sẵn, đổi mức log lúc đang chạy, và những endpoint tuyệt đối không được lộ ra.

#van-hanh#spring#zero-to-hero#giam-sat#actuator#java
39
RabbitMQ 03/08/2026 6 phút

Spring Boot bật RabbitMQ trong một dòng — kèm ba mặc định đi ngược đúng thứ 23 bài trước đo được

Spring Boot auto-configuration cho sẵn gì cho RabbitMQ, ba mặc định đáng đổi ngay, và phép đo cho thấy RabbitTemplate không tốn thêm gì.

#spring-boot#rabbitmq#spring#spring-amqp#zero-to-hero
32
Go 02/08/2026 11 phút

Trong Go 'cộng một ngày' khác 'cộng 24 giờ', và so sánh Time bằng == thì sai

Giữ thời gian là hai cái đồng hồ khác nhau: đồng hồ treo tường + lịch (có múi giờ, chỉnh được, một ngày có khi 23 giờ) và đồng hồ bấm giây (chỉ tăng, đo khoảng). Layout 2006-01-02, so sánh bằng Equal, AddDate khác Add, và ba cái bẫy Timer.

#go#golang#zero-to-hero#time
44
Java 02/08/2026 10 phút

'expected: true but was: false' — dòng báo lỗi vô dụng nhất, và cách để test không bao giờ nói thế

Vòng đời JUnit 5 in ra bằng số thật (mỗi test một đối tượng mới, thứ tự không theo khai báo), ba dòng test theo tham số thay cho mười một, và khác biệt giữa thông báo lỗi hữu ích với thông báo chẳng nói gì.

#cong-cu#100-ngay-java#test#junit#java
40
RabbitMQ 02/08/2026 7 phút

Sập giữa commit và publish làm mất 20% đơn không ai biết — outbox đổi mất thành trùng

Khe hở giữa commit cơ sở dữ liệu và publish, đo bằng cách sập đúng chỗ hiểm. Vì sao AFTER_COMMIT không cứu được, và outbox thật sự mua gì.

#rabbitmq#do-tin-cay#zero-to-hero#kien-truc#outbox#transaction
35
  • 1
  • …
  • 30
  • 31
  • 32
  • 33

Trang 32 / 33 — tổng 197 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
  • Lập trình 336
  • Giải thuật 270
  • Cơ sở dữ liệu 237
  • 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 · 191
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 · 157
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 · 132
Integer 127 == 127 cho true, nhưng 128 == 128 cho false — vì sao, và bẫy đó ẩn ở đâu 05/05/2026 · 120
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 · 110
Thẻ phổ biến
#zero-to-hero#do-dac#hieu-nang#odoo#odoo-19#golang#go#postgresql#developer#devops#lap-trinh#sql#java#database#huong-dan#he-dieu-hanh#backend#toi-uu#bao-mat#docker#100-ngay-java#container#linux#trinh-bien-dich#redis#dong-thoi#csdl#docker-compose#spring#kafka#kubernetes#web#giai-thuat#message-queue#giam-sat#mang#van-hanh#vertx#performance#co-so-du-lieu#cau-truc-du-lieu#kien-truc-may-tinh#quan-sat#http#orm#rabbitmq#concurrency#kien-truc#view#ke-toan#owl#index#microservice#observability#security#grpc#testing#reactive#runtime#cong-cu#kho#monitoring#networking#bo-nho#qweb#debug#distributed-systems#git#mat-ma#version-control#api#gc#resilience#website#tong-ket#websocket#caching#compression#crm#data-structures#prometheus#protobuf#rest#serialization#tls#analytics#collections#nhan-su#regex#search#thiet-ke#ban-hang#cau-hinh#context#controller#do-tin-cay#elasticsearch#gioi-thieu#interface#probabilistic#shell#algorithms#bao-cao#command-line#compiler#data#duckdb#he-thong-lon#innodb#json#mua-hang#mysql#nen-du-lieu#regular-expression#streaming#system-design#unix#cache#checklist#ecommerce#jvm#openssl#owasp#realtime#replication#report#spring-boot#stream#vacuum#bloat#distributed#io#jpa#memory#metrics#network#san-xuat#action#explain#gzip#logging#planner#retry#spring-security#tcp#test#tracing#architecture#benchmark#chan-doan#du-an#http2#join#mvcc#oop#parquet#phan-quyen#pprof#encoding#event-bus#generics#goroutine#jmh#latency#module#mrp#scheduler#ton-kho#transaction#wal#amqp#bloom-filter#deadlock#email#error#exchange#heap#idempotency#kanban#lien-he#luong-ao#opentelemetry#phan-vung#sharding#spring-amqp#statistics#thanh-toan#backpressure#bat-dong-bo#binary#connection-pool#cpu#debugging#form#functional#go-loi#jwt#load-balancing#map#middleware#namespace#nginx#pipeline#profiling#quality#rate-limiting#routing#rpc#spring-mvc#sre#timeout#wizard#aes#assets#atomic#authentication#automation#backtracking#bat-bien#build#bytecode#cardinality#cgroups#channel#chatter#closure#cong-no#connection-pooling#consumer#do-ben#domain#etcd#histogram#hot-update#https#isolation#list#log#migration#mutex#partitioning#percentile#re2#san-pham#scss#slice#sse#syscall#testcontainers#trien-khai#tu-dong-hoa#unicode#widget#wire-format#zstd#allocation#assembly#backoff#backup#bash#bcrypt#bom#cas#chat-luong#circuit-breaker#cqrs#csrf#deploy#dich-vu-khach-hang#dlx#dockerfile#do-tre#ecdsa#entropy#erp#error-handling#escape-analysis#event-driven#event-loop#exception#frontend#giao-dich#grep#group-by#hashing#hash-table#helpdesk#hmac#hoa-don#inheritance#integration-test#interceptor#iterator#jackson#jaeger#javascript#jdbc#khoa#kieu-du-lieu#lambda#lock#lock-free#lo-trinh#lua#luu-tru#mat-khau#maven#multiplexing#nha-cung-cap#outbox#pagination#partition#pgbouncer#phe-duyet#portal#pubsub#quan-ly-cong-viec#queue#raft#rang-buoc#recovery#reflect#reflection#schema#secrets#server-action#signal#snippet#socket#status-code#string#tim-kiem#toolchain#tuy-bien#varint#vertx-web#work-mem#x509#xac-thuc#xpath#activity#aead#aggregate#aggregation#alignment#analyze#argon2#async#auth#autovacuum#awk#bao-gia#bao-tri#barcode#batch#bat-dau#bien-the#big-o#brotli#button#byte#certificate#cgroup#chacha20#cham-cong#checkpoint#chi-phi#chuan-hoa#chung-chi#cluster#codegen#collectors#columnar#commit#consensus#consistent-hashing#constant-time#constraint#consumer-group#consumer-lag#copy#cors#count-min-sketch#coverage#covering-index#cron#cross-compile#crud#cryptography#csp#cte#da-cong-ty#database-sql#ddl#deadline#default#delete#delivery-semantics#delve#dependency-inversion#devirtualization#dich-thuat#dictionary#dinh-gia-ton-kho#distributed-lock#dns#dynamic-programming#embed#event-sourcing#fan-out#fanout#field-widget#file-descriptor#fillfactor#full-page-writes#full-text-search#future#fuzzing#giao-dien#giao-hang#goroutine-leak#graph#greedy#ha#handshake#hash#health-check#heartbeat#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#lead#lru#luong#many2one#memory-leak#menu#merge#metadata#microservices#model#mtls#nap-du-lieu#ngan-hang#nghi-phep#nhap-du-lieu#optimization#optional#ordering#overlayfs#padding#parallel#password#pattern-matching#pbkdf2#pg_dump#phan-tich#phan-trang#plan9#port#prefetch#prepared-statement#proc#property-based-testing#python#quorum-queue#race-detector#rate-limit#rebase#record#recordset#registry#replica#retention#reverse-proxy#rfc6455#rsa#saga#sampling#sap-xep#scalability#scaling#schema-evolution#sealed#sed#seo#service-discovery#session#singleflight#skip-locked#sliding-window#slog#sort#stack#storage#strace#struct#summary#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#validation#veth#window-function#worker-pool#wraparound#xay-dung-web#xml#x-sync#xz#zigzag#2fa#abstract-model#access-control#ack#active-ids#actuator#addons#alerting#alertmanager#allocator#amazon#analytic#analyzer#anchor#an-toan#aof#api-design#api-key#append#approvals#assert#at-least-once#attachment#attendances#audit#authorization#autoboxing#autocomplete#automated-action#avro#backlog#backreference#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#binlog#bisect#blockingqueue#blog#bm25#bool-query#bounds-check#boxing#branch#brin#broadcast#brute-force#bst#btree#bucket#budget#buffer#buffer-pool#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#capabilities#capture-group#cassandra#cay-can-bang#cbc#cbor#cgo#cham-gio#character-class#chart-of-accounts#chat#cherry-pick#chmod#chu-ky-so#chunked#ci#c-interop#classloader#classpath#clean-architecture#client-action#clocks#cloudflare#clustered-index#codec#code-generation#co-lap#collision#command#command-injection#comparator#comparison#compatibility#compile-time#completablefuture#component#compose#composite#composite-index#computed#concurrenthashmap#conditional-compilation#config#configuration#conflict#cong-doan#cong-tac#consistency#constructor#contract-testing#con-tro#con-tro-ham#cookie#core-dump#coredump#coroutine#cost#cost-model#cot-moc#crdt#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#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#dos#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#evacuation#event#eviction#exactly-once#executor#exists#exit-code#expvar#fail-fast#failover#failure-detection#fallback#false-sharing#fault-injection#federation#feed#fencing-token#fetch#ffi#field#filestore#filter#finalizer#find#flaky#flaky-tests#flatbuffers#flatmap#flyway#forkjoin#form-view#for-update#frame#fsck#full-text#functional-core#functional-options#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#gossip#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#hot-standby#hsts#html#http3#huffman#huge-pages#idempotence#id-generation#idor#iface#image#image-size#indexing#index-only-scan#inherit#inherits#init#inner-class#instagram#internals#invoicing#iot#iptables#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#kiem-thu#kien-hang#kiosk#knowledge#ky-dien-tu#ky-nang#ky-online#lag#lap-lich#lateral#layer#lazy#lazy-load#lazy-queue#leader-election#leak#level#like#linear-search#linker#linkname#linter#list-view#livelock#load-average#load-shedding#load-test#locality#lock-date#locking#log-compaction#logical#logical-replication#logs#long-polling#lookahead#lookaround#lookbehind#lo-serial#lost-update#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#minhash#mixin#mmap#mock#mockgen#mocking#mockito#moi-truong#monetary#monorepo#mo-rong#mount#multiline#multi-stage#mutation-testing#nagle#name-search#nang-cap#native-image#nen-file#net-http#netpoller#network-partition#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#oom#operations#or#order#p99#pacing#package#packfile#panic#paperformat#partition-management#partition-pruning#partition-wise-join#password-hashing#patch#path-traversal#patterns#payment#pdb#pdf#pecs#perf#persistence#pgbadger#pg_basebackup#pgbench#pg-locks#pgo#pg-repack#pg_restore#pg_rewind#pg-stat-statements#pgstattuple#pg-trgm#phan-bo#phan-tan#phoi-hop#phong-ban#phu-thuoc#pid#pid1#pids#pipe#pitr#pivot#plan-cache#plugin#poison-message#poly1305#ports-adapters#post-mortem#preemption#preflight#priority-queue#process#producer#production#projection#promise#promql#properties#props#pruning#ps#publication#publisher-confirms#push#pushdown#pylint#qos#qrcode#quan-he#quantifier#quantile#query-dsl#query-optimizer#quic#quicksort#quoting#quyen#quy-trinh#race#random#random-page-cost#range-over-func#range-request#rapid#rdb#read-model#read-replica#rebalance#reconnect#recruitment#recursive#red#redelivery#redirect#red-method#redo-log#redos#ref#reference#reflog#reindex#related#relevance#reliability#remote-debug#replication-slot#repository#requests#res-company#resource#rest-api#restclient#resume#rfq#ripgrep#rle#rlimit#rootfs#ro-ri-bo-nho#round-robin#route#router#routes-rules#rss#runbook#run-length-encoding#runqueue#safe-eval#sao-ke#sao-luu#sargable#saturation#scaffold#scale#schedtrace#scheduled#scheduled-action#script#scylladb#sdkman#search-after#seccomp#secondary-index#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#stackoverflow#stack-trace#staging#stampede#starvation#stash#static-analysis#staticcheck#status#statusbar#stenciling#stop-the-world#streams#stringer#stripe#struct-tag#structured-concurrency#studio#stw#submodule#subquery#subscription#substitution#sudo#su-kien#switch#sync#sync-cond#synchronized#synchronous-commit#sync-map#sync-pool#syscall-js#sysmon#systray#table-driven#tagged#tai-dat-hang#tai-khoan#tail-latency#tai-san#tang-truong#tar#t-call#tcp-keepalive#t-digest#template#test-double#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#tls13#toan-tu#token-bucket#tokenizer#to-khai#top#topic#top-k#topology#totp#tour#toxiproxy#transactioncase#transaction-pooling#transactions#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#undo-log#ung-dung#union#uniq#unit-test#unlink#unlogged#unsafe-pointer#update#upgrade#upsert#use#use-method#useref#useservice#usestate#utf-8#uuid#ux#vacuum-full#value-object#varargs#vectorized#verticle#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#write#write-barrier#write-skew#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 10/2026 12
  • Tháng 9/2026 1773
  • 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)Lập trình (336)Giải thuật (270)Cơ sở dữ liệu (237)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.