├── .gitignore ├── README.md ├── alembic.ini ├── articles ├── .keep ├── 2014_06_17-use_cron.rst ├── 2014_08_22-unix_file_permissions.rst ├── 2014_09_07-pointer_and_array_in_c.rst ├── 2014_09_09-dot_and_arrow_in_c_pointers.rst ├── 2014_11_04-traps_in_c.rst ├── 2014_12_12-abstractions_in_c.rst ├── 2015_01_11-my_guess_about_input_method.rst ├── 2015_03_17-declaration_of_c_pointers.rst ├── 2015_06_22-notes_on_linux_kernel_development_chap14.rst ├── 2015_09_05-thinking_recursively.rst ├── 2015_10_09-notes_on_the_practice_of_programming.rst ├── 2015_12_05-python_descriptor_and_decorator.rst ├── 2016_01_25-divide_and_conqure.rst ├── 2016_02_06-bitwise_operation.rst ├── 2016_03_05-python_fragmentary_knowledge.rst ├── 2016_03_06-notes_on_js_the_definitive_guide.rst ├── 2016_03_14-tornado.rst ├── 2016_04_03-raspberrypi.rst ├── 2016_05_05-typeclassopedia.rst ├── 2016_05_22-foldl_and_foldr.rst ├── 2016_06_05-haskell_do_notation.rst ├── 2016_06_18-write_blog_with_tornado_and_rst.rst ├── 2016_06_19-use_github_webhooks.rst ├── 2016_06_20-bootstrap_v4_grid_system.rst ├── 2016_08_25-ukulele.rst ├── 2016_09_15-flask_source_code.rst ├── 2016_11_03-nginx_conf.rst ├── 2016_11_05-token_bucket.rst ├── 2016_11_08-use_git_hooks.rst ├── 2016_11_21-py3k_asterisk.rst ├── 2016_11_27-python_coroutine.md ├── 2016_11_29-python_yield.md ├── 2016_12_06-mongodb.md ├── 2016_12_06-python_c3_mro.md ├── 2016_12_07-python_unittest.md ├── 2016_12_07-work.md ├── 2016_12_09-python_fragments.md ├── 2016_12_15-my_code_in_python_stdlib.md ├── 2016_12_16-thinking_in_python.md ├── 2016_12_22-mock_source_code.md ├── 2016_12_26-apue_v3.md ├── 2016_12_29-unittest_source_code.md ├── 2016_12_31-2016_is_over_and_2017_is_coming.md ├── 2017_01_06-collections_source_code.md ├── 2017_01_06-redis_protocol_specification.md ├── 2017_01_07-contextlib_source_code.md ├── 2017_01_08-functools_source_code.md ├── 2017_01_09-socketserver_source_code.md ├── 2017_01_15-cython_rocks.md ├── 2017_01_21-head_first_design_patterns.md ├── 2017_01_22-head_first_design_patterns_2.md ├── 2017_01_24-python_language_reference.md ├── 2017_01_24-vim_manual.md ├── 2017_02_15-go_defer_panic_and_recover.md ├── 2017_02_24-goroutine_and_work_stealing.md ├── 2017_03_02-gfs.md ├── 2017_03_02-map_reduce.md ├── 2017_03_06-golang_comparable_types.md ├── 2017_03_29-raft.md ├── 2017_04_08-gunicorn.md ├── 2017_04_16-python_string_format.md ├── 2017_04_19-python_descriptor_from_source_code.md ├── 2017_04_25-write_your_own_orm.md ├── 2017_04_26-greenlet.md ├── 2017_05_12-golang_short_variable_declaration.md ├── 2017_05_24-http_router_design.md ├── 2017_06_02-write_yourself_a_simple_search_engine.md ├── 2017_06_22-ansible.md ├── 2017_07_02-one_year_after_graduate.md ├── 2017_07_11-golang_log.md ├── 2017_07_15-books.md ├── 2017_07_18-golang_slice.md ├── 2017_07_26-mysql.md ├── 2017_07_27-golang_map.md ├── 2017_08_09-lua_manual.md ├── 2017_08_12-tcp_ip.md ├── 2017_09_02-tcp_ip_part2.md ├── 2017_09_03-2017_vim_plugins.md ├── 2017_09_11-learn_you_a_haskell_part_1.md ├── 2017_09_17-learn_you_a_haskell_part_2.md ├── 2017_09_18-learn_you_a_haskell_part_3.md ├── 2017_09_19-xmonad.md ├── 2017_09_20-task_queue_python_rq.md ├── 2017_09_21-oauth2.md ├── 2017_09_22-https_processes.md ├── 2017_09_25-learn_you_a_haskell_part_4.md ├── 2017_09_26-learn_you_a_haskell_part_5.md ├── 2017_09_27-haskell_infix.md ├── 2017_10_11-sni.md ├── 2017_10_13-web_dev_part1.md ├── 2017_10_14-web_dev_part2.md ├── 2017_10_15-web_dev_part3.md ├── 2017_10_16-web_dev_part4.md ├── 2017_10_17-web_dev_part5.md ├── 2017_10_18-nginx_request_handle.md ├── 2017_10_18-web_dev_part6.md ├── 2017_10_18-web_dev_part7.md ├── 2017_10_18-web_dev_part8.md ├── 2017_10_19-nginx_as_tcp_load_balancing.md ├── 2017_10_19-web_dev_part10.md ├── 2017_10_19-web_dev_part11.md ├── 2017_10_19-web_dev_part9.md ├── 2017_10_19-web_dev_series.md ├── 2017_10_24-traefik.md ├── 2017_10_25-golang_graceful_restart.md ├── 2017_11_04-python_develop_practice.md ├── 2017_11_13-the_programmatic_programmer.md ├── 2017_11_29-git_credential_store.md ├── 2017_11_29-short_url.md ├── 2017_12_02-algorithms_sorting.md ├── 2017_12_20-2017_is_over_and_2018_is_coming.md ├── 2017_12_27-geohash.md ├── 2017_12_30-golang_task_queue.md ├── 2018_01_04-dynamic_programming.md ├── 2018_01_08-db_optimizations.md ├── 2018_01_14-pitfalls.md ├── 2018_01_22-golang_optimization.md ├── 2018_01_28-router_design.md ├── 2018_01_30-gc.md ├── 2018_01_31-golang_traps.md ├── 2018_02_02-golang_runtime.md ├── 2018_02_24-redis_source_code_doubly_linked_list.md ├── 2018_02_24-redis_source_code_hash_table.md ├── 2018_02_24-redis_source_code_sds.md ├── 2018_02_25-linker_loader.md ├── 2018_02_26-zen_of_dev.md ├── 2018_03_08-golang_fork.md ├── 2018_03_09-write_you_a_container.md ├── 2018_03_10-interview.md ├── 2018_03_16-gin_source_code.md ├── 2018_03_19-prometheus.md ├── 2018_03_29-goroutine_schedule.md ├── 2018_04_03-coroutine.md ├── 2018_04_05-kubernetes.md ├── 2018_04_10-golang_thrift.md ├── 2018_04_12-docker_logging.md ├── 2018_04_14-docker_ce_18_analysis.md ├── 2018_05_08-how_to_debug.md ├── 2018_05_13-mysql_index.md ├── 2018_05_15-mysql_filesort.md ├── 2018_05_17-high_performance_mysql.md ├── 2018_05_22-evaluation_strategy.md ├── 2018_06_15-cgo.md ├── 2018_06_24-linux_shutdown_when_bat_is_low.md ├── 2018_07_08-design_a_chunked_distributed_file_system.md ├── 2018_07_18-design_a_gateway.md ├── 2018_07_22-config_center.md ├── 2018_08_04-how_to_read_source_code.md ├── 2018_08_08-grpc_gateway_source_code.md ├── 2018_08_12-python_dataclasses.md ├── 2018_08_23-go_defer_named_return_values.md ├── 2018_08_24-python_singleton.md ├── 2018_08_26-about_traffic.md ├── 2018_08_28-how_does_golang_implement_fork_syscall.md ├── 2018_08_28-mac_rsync_unknow_option.md ├── 2018_08_29-become_a_better_programmer.md ├── 2018_09_01-archlinux_downgrade_package.md ├── 2018_09_01-vim_speed_up.md ├── 2018_09_02-write_a_tgbot.md ├── 2018_09_03-go_module.md ├── 2018_09_06-how_to_dig_subdomain.md ├── 2018_09_07-go_custom_import_path.md ├── 2018_09_10-google_ads.md ├── 2018_09_16-common_software_archtecture_pattern.md ├── 2018_09_16-cookie_secure_httponly.md ├── 2018_09_22-to_b_to_c.md ├── 2018_09_24-blogging_one_year.md ├── 2018_10_13-http2.md ├── 2018_10_21-interview_techniques.md ├── 2018_10_23-high_performance_mysql_chap1.md ├── 2018_11_01-golang_practice.md ├── 2018_11_02-index.md ├── 2018_11_07-concurrency.md ├── 2018_11_09-drop_css.md ├── 2018_11_10-golang_reflection.md ├── 2018_11_10-transaction.md ├── 2018_11_11-the_presentation_of_self_in_everyday_life.md ├── 2018_11_12-golang_nocopy.md ├── 2018_11_13-golang_package_unsafe.md ├── 2018_11_15-avoid_global_states.md ├── 2018_11_16-go_private_variable.md ├── 2018_11_16-raft.md ├── 2018_11_18-ubuntu_sudo_hang.md ├── 2018_11_20-etcd_source_code_analysis_raftexample.md ├── 2018_11_22-etcd_source_code_analysis_raft.md ├── 2018_11_24-etcd_source_code_analysis_wal.md ├── 2018_11_24-memory_leak_in_net_http.md ├── 2018_11_26-the_wisdom_of_life_on_human_nature.md ├── 2018_11_27-etcd_source_code_analysis_lease.md ├── 2018_11_28-etcd_source_code_analysis_mvvc.md ├── 2018_12_01-go_embedding.md ├── 2018_12_08-yc_startup.md ├── 2018_12_10-computer_network_systems_approach.md ├── 2018_12_12-use_dropbox_to_backup_server.md ├── 2018_12_13-db_metrics.md ├── 2018_12_16-prometheus_mysqld_exporter.md ├── 2018_12_22-docker_components.md ├── 2018_12_24-docker_components_part2.md ├── 2018_12_24-ycm_pyenv.md ├── 2018_12_26-delete_disk_partition_table.md ├── 2018_12_27-overlayfs.md ├── 2018_12_27-redis_stream.md ├── 2019_01_01-system_call.md ├── 2019_01_03-drop_notifications.md ├── 2019_01_07-linux_thread_mem_layout.md ├── 2019_01_12-autossh.md ├── 2019_01_13-goroutine.md ├── 2019_01_30-golang_tls.md ├── 2019_02_26-push_pull_system.md ├── 2019_02_27-containerd_tutorial.md ├── 2019_03_01-self_control.md ├── 2019_03_03-influence.md ├── 2019_03_06-scarcity.md ├── 2019_03_12-golang_strings_split.md ├── 2019_03_14-golang_bad_side.md ├── 2019_03_15-golang_errors.md ├── 2019_03_16-tittle_tattle.md ├── 2019_03_19-gorm.md ├── 2019_03_24-mao.md ├── 2019_03_29-python_golang_best_practice.md ├── 2019_04_01-swagger_i_dislike.md ├── 2019_04_03-btrfs_raid1.md ├── 2019_04_05-virt_manager_win.md ├── 2019_04_06-aria2.md ├── 2019_04_06-shairport_sync.md ├── 2019_04_17-chaojiyunyingshu.md ├── 2019_04_17-tech_only_is_bad.md ├── 2019_04_18-python_rq_gevent.md ├── 2019_04_19-jquery.md ├── 2019_04_20-graphviz_dot.md ├── 2019_04_23-nginx_referer.md ├── 2019_04_25-crontab_sendmail.md ├── 2019_04_29-system_design.md ├── 2019_05_07-minikube_kvm.md ├── 2019_05_08-flask_load_bp_automaticly.md ├── 2019_05_09-go_mod_logrus.md ├── 2019_05_10-kubernetes_tutorial.md ├── 2019_05_12-crypto.md ├── 2019_05_14-crypto_part2.md ├── 2019_05_14-seo.md ├── 2019_05_15-crypto_part3.md ├── 2019_05_18-requests.md ├── 2019_05_29-python_old_new_style_class.md ├── 2019_05_30-ubuntu_1804_dhcp_new_ip.md ├── 2019_05_31-nomad.md ├── 2019_05_31-turnoff_screen_when_lid_is_closed.md ├── 2019_06_01-combine_wechat_alipay.md ├── 2019_06_01-from_chrome_to_firefox.md ├── 2019_06_04-hsts.md ├── 2019_06_06-ip_ban.md ├── 2019_06_06-socks5.md ├── 2019_06_08-big_debt_crises.md ├── 2019_06_08-migrate_from_xmonad_to_i3wm.md ├── 2019_06_09-write_you_a_simple_reverse_proxy.md ├── 2019_06_10-learn_from_frp_source_code.md ├── 2019_06_11-frpc_source_code_part1.md ├── 2019_06_15-leave_wechat_for_5_days.md ├── 2019_06_19-frp_source_code_part2.md ├── 2019_06_23-learn_front_end.md ├── 2019_06_23-the_practice_of_management.md ├── 2019_06_25-swift.md ├── 2019_07_02-learn_front_end_2.md ├── 2019_07_04-learn_front_end_3.md ├── 2019_07_06-the_simple_things_in_investment.md ├── 2019_07_10-learn_front_end_4.md ├── 2019_07_13-learn_front_end_5.md ├── 2019_07_15-the_long_view.md ├── 2019_07_16-gcc_header_path.md ├── 2019_07_20-linux_hidpi.md ├── 2019_07_24-thinking_in_systems_a_primer.md ├── 2019_07_29-name_is_the_best_doc.md ├── 2019_08_01-error_handling.md ├── 2019_08_05-message_framing.md ├── 2019_08_18-code_with_bad_taste.md ├── 2019_08_21-three_years_after_graduate.md ├── 2019_08_23-golang_html_template.md ├── 2019_08_30-choose_properly_tech.md ├── 2019_08_31-go_colly.md ├── 2019_09_02-go_grpc_handshake.md ├── 2019_09_04-kindle_highlights.md ├── 2019_09_11-zerotier.md ├── 2019_09_14-ufw.md ├── 2019_09_18-run_tmux_automatically.md ├── 2019_09_23-qt5_gtk_theme.md ├── 2019_09_23-samba.md ├── 2019_09_25-mysql_use_index.md ├── 2019_09_26-orm.md ├── 2019_09_29-why_grpc_is_not_popular.md ├── 2019_10_08-linux_windows.md ├── 2019_10_15-grafana_moved_to_mysql.md ├── 2019_10_18-build_your_own_nas.md ├── 2019_10_19-freebsd_for_linux_users.md ├── 2019_10_25-oh_my_money.md ├── 2019_10_30-sqlalchemy.md ├── 2019_10_31-dnscrypt.md ├── 2019_11_01-network_programming.md ├── 2019_11_06-mysql.md ├── 2019_11_08-disqus_thread_identifier.md ├── 2019_11_11-why_linux_as_desktop.md ├── 2019_11_13-tech_stack.md ├── 2019_11_14-golang_mysql_timezone.md ├── 2019_11_15-python_pathlib_path.md ├── 2019_11_17-microk8s.md ├── 2019_11_19-mysql_duplicate_key_update.md ├── 2019_11_24-code_from_k_and_r.md ├── 2019_11_26-lets_encrypt_linux_shell.md ├── 2019_12_02-sqlalchemy_update_or_insert.md ├── 2019_12_03-flutter_webview_indicator.md ├── 2019_12_04-ycm_lsp_dart.md ├── 2019_12_09-dart_flutter_json.md ├── 2019_12_10-grafana_gravatar_http_hijack.md ├── 2019_12_11-flutter_do_sth_after_boot.md ├── 2019_12_13-dart_requests.md ├── 2019_12_16-flutter_dev.md ├── 2019_12_18-cache_miss.md ├── 2019_12_18-golang_133_errors.md ├── 2019_12_19-blackbox_disable_ipv6.md ├── 2019_12_21-autocommit.md ├── 2019_12_22-archlinux_ignore_pkg.md ├── 2019_12_24-matebook_x_pro_2019_debian_10.md ├── 2019_12_27-why_grpc.md ├── 2019_12_31-hello_2020.md ├── 2020_01_01-use_gitea_with_drone.md ├── 2020_01_06-flutter_sign_android_apk.md ├── 2020_01_07-golang_sort_slice.md ├── 2020_01_10-please_do_not_copy.md ├── 2020_01_11-paradigm.md ├── 2020_02_08-kvm_spice_high_dpi.md ├── 2020_02_12-python_concurrency.md ├── 2020_02_14-remote_work.md ├── 2020_02_19-should_i_use_microservice.md ├── 2020_02_26-mysql_charset_index.md ├── 2020_02_27-syscall.md ├── 2020_03_01-android_view_binding.md ├── 2020_03_02-feed_system_design.md ├── 2020_03_04-pip_list.md ├── 2020_03_06-mysql_boolean_tinyint_index.md ├── 2020_03_11-gunicorn_worker.md ├── 2020_03_12-pylint.md ├── 2020_03_23-redis_practice.md ├── 2020_03_25-gunicorn_max_requests.md ├── 2020_03_26-access_control.md ├── 2020_03_27-iap.md ├── 2020_04_08-k8s_cron_environment_variable.md ├── 2020_04_09-redis_stream_as_im.md ├── 2020_04_09-value_programming.md ├── 2020_04_10-golang_validator.md ├── 2020_04_11-squirrel.md ├── 2020_04_12-expvar.md ├── 2020_04_13-freebsd_ipfw.md ├── 2020_04_20-golang_optional_parameters.md ├── 2020_04_21-golang_concurrency.md ├── 2020_04_21-use_closure.md ├── 2020_04_22-go_asm.md ├── 2020_04_22-golang_context.md ├── 2020_04_23-go_flag.md ├── 2020_04_23-go_gdb.md ├── 2020_04_24-gotasks.md ├── 2020_04_28-golang_log.md ├── 2020_04_30-golang_gbk_xml.md ├── 2020_05_01-mysql_notes.md ├── 2020_05_05-go_sync_pool.md ├── 2020_05_08-linker_and_loader.md ├── 2020_05_09-httprouter.md ├── 2020_05_13-debian_networking.md ├── 2020_05_15-divide_and_conquer.md ├── 2020_05_16-go_sort.md ├── 2020_05_18-virsh_shutdown_win.md ├── 2020_05_21-how_does_redis_work.md ├── 2020_05_22-linux_clone_sys.md ├── 2020_05_23-go_slice.md ├── 2020_05_29-use_peewee.md ├── 2020_05_30-glusterfs.md ├── 2020_06_07-go_design_pattern_iter.md ├── 2020_06_09-go_design_pattern_adapter.md ├── 2020_06_11-go_design_pattern_template.md ├── 2020_06_12-transaction_life_easy.md ├── 2020_06_13-go_design_pattern_factory.md ├── 2020_06_13-macos_kvm_usb_pass.md ├── 2020_06_15-unix_crud.md ├── 2020_06_20-go_design_pattern_singleton.md ├── 2020_06_21-go_design_pattern_bridge.md ├── 2020_06_23-redshift.md ├── 2020_06_25-save_partition_table_zfs.md ├── 2020_07_02-go_design_pattern_composite.md ├── 2020_07_04-elasticsearch.md ├── 2020_07_05-mysql_part1.md ├── 2020_07_14-go_design_pattern_decorator.md ├── 2020_07_15-do_we_need_these.md ├── 2020_07_21-go_design_pattern_chain.md ├── 2020_07_23-go_design_pattern_facade.md ├── 2020_07_23-mysql_part2.md ├── 2020_07_25-linux_screenshot.md ├── 2020_07_26-mysql_part3.md ├── 2020_07_27-mysql_part4.md ├── 2020_07_28-mysql_part5.md ├── 2020_08_11-redis_mysql.md ├── 2020_08_15-nsq.md ├── 2020_08_16-nsq_source_code.md ├── 2020_08_22-go_diskqueue.md ├── 2020_08_26-goroutine_stack.md ├── 2020_08_26-stackguard.md ├── 2020_09_05-apt.md ├── 2020_09_10-form_check.md ├── 2020_09_16-flask_marshmallow.md ├── 2020_09_19-linux_cmd_netcat.md ├── 2020_09_20-linux_cmd_htop.md ├── 2020_09_20-linux_cmd_watch.md ├── 2020_09_21-linux_cmd_xargs.md ├── 2020_09_27-flask_proxy.md ├── 2020_10_10-tcmalloc.md ├── 2020_10_17-golang_db_transaction.md ├── 2020_10_19-gorm_paniced.md ├── 2020_10_24-vegetable.md ├── 2020_11_02-why_pipelining_fast.md ├── 2020_11_13-java_colletions.md ├── 2020_11_26-grpc_error_handle.md ├── 2020_12_01-android_kotlin_coroutine.md ├── 2020_12_07-android_kotlin_grpc.md ├── 2020_12_12-android_swiperefresh_swipe_left_right.md ├── 2020_12_16-golang_migration.md ├── 2020_12_19-grpc_authentication.md ├── 2020_12_22-hello_2021.md ├── 2020_12_23-call_screening.md ├── 2021_01_02-android_mvvm.md ├── 2021_01_03-deeplink_server_route.md ├── 2021_01_03-recycler_list_view_model.md ├── 2021_01_13-kotlin_protobuf_serialization.md ├── 2021_01_27-android_progress_bar.md ├── 2021_02_04-why_save_config_to_repo.md ├── 2021_02_21-maintainable_function.md ├── 2021_02_24-use_algorithms_in_life.md ├── 2021_02_25-python_dict_tuple_as_key.md ├── 2021_03_11-android_fab_hide.md ├── 2021_03_15-go_sync_map.md ├── 2021_03_18-go_config.md ├── 2021_03_20-python_queue.md ├── 2021_03_23-go_gin_unittest.md ├── 2021_04_11-logrotate_read_only_filesystem.md ├── 2021_04_14-system_design_archive.md ├── 2021_04_15-how_to_debug_program.md ├── 2021_04_29-cors.md ├── 2021_05_15-wal.md ├── 2021_05_22-redis_source_code_1.md ├── 2021_05_23-redis_source_code_2.md ├── 2021_05_24-redis_source_code_3.md ├── 2021_05_24-redis_source_code_4.md ├── 2021_05_25-redis_source_code_5.md ├── 2021_05_26-redis_source_code_6.md ├── 2021_05_27-redis_source_code_7.md ├── 2021_05_28-redis_source_code_8.md ├── 2021_05_29-redis_source_code_9.md ├── 2021_05_30-redis_source_code_10.md ├── 2021_06_06-redis_source_code_11.md ├── 2021_06_07-redis_source_code_12.md ├── 2021_06_19-sqlite3.md ├── 2021_06_22-json_int_precision.md ├── 2021_07_02-reflection_on_bug.md ├── 2021_07_06-manage_your_time.md ├── 2021_07_09-filter_your_call_and_sms.md ├── 2021_08_19-selenium.md ├── 2021_08_25-use_sentry.md ├── 2021_08_27-mock_db_or_not.md ├── 2021_09_01-cron_is_not_convenient.md ├── 2021_09_06-use_entgo.md ├── 2021_09_29-gevent_is_good_part1.md ├── 2021_10_11-gevent_is_good_part2.md ├── 2021_10_12-go_mock.md ├── 2021_11_04-sql_injection.md ├── 2021_11_26-use_barrier.md ├── 2021_12_01-openwrt.md ├── 2021_12_11-go_copy_large_file_to_pg.md ├── 2021_12_30-hello_2022.md ├── 2022_01_09-gin_binding_args.md ├── 2022_01_10-reflect_binding_args.md ├── 2022_03_12-tgbot_httprouter.md ├── 2022_03_15-kvm_windows_gpu_passthrough.md ├── 2022_03_17-go_generics.md ├── 2022_03_21-nginx_source_code_1.md ├── 2022_03_22-nginx_source_code_2.md ├── 2022_03_23-nginx_source_code_3.md ├── 2022_04_12-postgresql_fulltext_search.md ├── 2022_04_28-golang_migrate_iofs.md ├── 2022_04_29-drone_ci.md ├── 2022_04_29-postgres_notes.md ├── 2022_07_05-task_queue.md ├── 2022_07_06-openid_connect.md ├── 2022_07_15-access_control.md ├── 2022_07_27-how_to_return_error.md ├── 2022_07_28-git_flows.md ├── 2022_10_06-elasticsearch.md ├── 2022_10_08-oauth2_explained.md ├── 2022_10_09-oauth2_explained_implict_grant.md ├── 2022_10_10-oauth2_explained_client_credentials.md ├── 2022_10_10-oauth2_explained_password.md ├── 2022_10_11-oauth2_explained_device_code.md ├── 2022_10_12-oauth2_explained_authorization_code_pkce.md ├── 2022_10_31-goconvey.md ├── 2022_11_04-grpc_error_handling.md ├── 2022_11_20-router.md ├── 2022_12_04-openwrt_usb.md ├── 2022_12_16-go_mod.md ├── 2022_12_28-index_condition_pushdown_optimization.md ├── 2022_12_31-hello_2023.md ├── 2023_01_31-red_envelope.md ├── 2023_02_03-mysql.md ├── 2023_07_06-free_your_mind.md ├── 2023_07_09-high_output_management.md ├── 2023_10_17-prometheus_promql.md ├── 2023_11_05-kvm_windows_intel_gpu.md ├── 2023_11_06-mac_keep_hostname.md ├── 2023_11_10-synergy_core.md ├── 2023_11_11-input_leap.md ├── 2023_11_12-long_running_task.md ├── 2023_11_15-python_datetime_with_timezone.md ├── 2023_11_16-freebsd_linux_link_aggr.md ├── 2023_11_17-freebsd_vm_bhyve.md ├── 2023_11_29-alist_webdav.md ├── 2023_12_17-vue3.md ├── 2023_12_26-good_bye_2023.md ├── 2023_12_30-something_really_new.md ├── 2024_01_07-openai_prompt_engineering.md ├── 2024_01_16-why_dont_students_like_school.md ├── 2024_03_01-pg_window_function.md ├── 2024_03_03-copilot_as_gpt4.md ├── 2024_03_05-postgresql_conf.md ├── 2024_03_07-juicefs_postgresql.md ├── 2024_03_08-clash_vpn.md ├── 2024_03_09-postgresql_as_mq.md ├── 2024_03_10-golang_cas.md ├── 2024_03_19-flatpak.md ├── 2024_03_20-flutter_macos.md ├── 2024_07_21-context.md ├── 2024_07_24-twos_complement.md ├── 2024_08_30-http_load_testing.md ├── 2024_09_06-browser_download_file.md ├── 2024_09_06-reread_3_books.md ├── 2024_09_07-the_pragmatic_programmer.md ├── 2024_11_07-auto_upgrade_docker.md ├── 2024_11_20-tailscale_derp.md ├── 2024_12_29-bye_2024.md ├── 2025_02_15-ai.md ├── 2025_02_16-aws_iam.md ├── 2025_02_16-k8s_controller.md ├── 2025_03_02-cockpit_vm_create_permission_denied.md ├── 2025_03_15-bottlerocket_debug.md ├── 2025_03_16-freebsd_frpc.md ├── 2025_03_18-xmonad_xfce4.md ├── 2025_03_21-podman.md ├── 2025_03_22-cursor_ctrl_l.md ├── 2025_04_02-podman_rootless_exited.md ├── 2025_04_03-cockroachdb_serverless_architecture.md ├── 2025_05_05-kvm_passthrough_bluetooth_wireless.md ├── 2025_05_24-wake_on_lan.md ├── 2025_09_02-lightning_source_code.md ├── 2025_09_07-to_b_saas.md ├── 2025_09_21-siri_ssh.md ├── 2025_10_01-tidb_source_code.md ├── 2025_10_02-tidb_source_code_mysql_protocol.md ├── 2025_10_03-tidb_source_code_insert.md ├── 2025_10_04-tidb_source_code_ast_and_plan.md ├── 2025_10_05-tidb_source_code_index.md ├── 2025_10_06-performance.md ├── 2025_10_12-tidb_source_code_coprocessor.md ├── 404.md ├── 500.md ├── aboutme.md ├── app.md ├── flutter.md ├── friends.md ├── img │ ├── aes_addroundkey.png │ ├── aes_mixcolumns.png │ ├── aes_shiftrows.png │ ├── aes_subbytes.png │ ├── architecture.png │ ├── asymmetric_crypto.png │ ├── auth-sequence-auth-code-pkce.png │ ├── auth-sequence-auth-code.png │ ├── auth-sequence-device-auth.png │ ├── auth-sequence-implicit-form-post.png │ ├── auth.png │ ├── barrier_client.png │ ├── barrier_server.png │ ├── basic_html_structure.png │ ├── before_openwrt.png │ ├── big_debt_crises.png │ ├── binary_framing_layer01.svg │ ├── blogapp_drawer.gif │ ├── blogapp_load_more.gif │ ├── blogapp_pull_to_refresh.gif │ ├── blogapp_webview.gif │ ├── call_sms_filter.png │ ├── call_stack_layout.png │ ├── chap1_1.png │ ├── chap3_1.png │ ├── chap7_1.png │ ├── chap7_2.png │ ├── chap8_1.png │ ├── client_credentials_flow.png │ ├── computer_arch.png │ ├── containerd_architecture.png │ ├── context_switch.png │ ├── cpu_arch.jpg │ ├── css_box_model.png │ ├── des_round.png │ ├── docker_arch.jpeg │ ├── dontcallme.jpg │ ├── dot_demo.png │ ├── dot_demo_label.png │ ├── dot_demo_red_node.png │ ├── drone_ci.png │ ├── droneci.png │ ├── drop_css_index_page.png │ ├── es.png │ ├── fibnacci1.png │ ├── fibnacci2.png │ ├── firefox_proxy.png │ ├── flutter_hello_world.png │ ├── frp_architecture.png │ ├── frp_flow.png │ ├── fun_2024.jpeg │ ├── ga_country.png │ ├── ga_user_feature.png │ ├── ga_user_from.png │ ├── ga_user_habbit.png │ ├── ga_users.png │ ├── ga_users_after_contribute.png │ ├── gfs_figure1.png │ ├── gitea_application_create.png │ ├── gitea_application_created.png │ ├── go_mod_mvs.svg │ ├── gotasks.jpg │ ├── grafana_mysql.png │ ├── hmac.png │ ├── html_list.png │ ├── html_table.png │ ├── html_tags_and_properties.png │ ├── htop.png │ ├── human_and_mobile.png │ ├── iap.png │ ├── im_archive_sys.png │ ├── ime.png │ ├── inline_keyboard.jpeg │ ├── insertion_sort.png │ ├── interview.jpeg │ ├── java_collection.png │ ├── jxufe.jpg │ ├── k8s_arch.png │ ├── k8s_service.png │ ├── kanboard.png │ ├── kubectl_run.png │ ├── layered_network_system.png │ ├── learning_curve.png │ ├── lightning-import-process.png │ ├── linux_memory_layout.png │ ├── linux_sys_call.png │ ├── linux_thread.jpg │ ├── map_reduce_figure1.png │ ├── micro_service.jpeg │ ├── modern_os.png │ ├── mysql_arch.png │ ├── mysql_query_progress.png │ ├── mysql_select_type.png │ ├── net_http_mem_leak_1.svg │ ├── net_http_mem_leak_2.svg │ ├── network_not_work_with_vpn.png │ ├── network_performance.png │ ├── network_programming.png │ ├── network_work_with_vpn.png │ ├── nginx_flow.png │ ├── oo1.png │ ├── oo2.png │ ├── openwrt.png │ ├── password_on_iphone.jpg │ ├── pgtune.png │ ├── phantoms.png │ ├── preflight_correct.png │ ├── program_memory_layout.jpg │ ├── prometheus_arch.png │ ├── pubkey_encrypt.png │ ├── quicklist.png │ ├── radix_tree.png │ ├── raftexample.png │ ├── read_committed.png │ ├── read_committed_dirty_write.png │ ├── recursive1.png │ ├── redis_skiplist.png │ ├── redis_stream_xadd.png │ ├── redis_stream_xreadgroup.png │ ├── resource_owner_password_grant.png │ ├── screenshot0.png │ ├── screenshot1.png │ ├── seckey_sign.png │ ├── simple_req.png │ ├── sliding_window.png │ ├── socks5_server_traffic.png │ ├── software_arch_broker.png │ ├── software_arch_client_server.png │ ├── software_arch_eventbus.png │ ├── software_arch_layer_mode.png │ ├── software_arch_master_slave.png │ ├── software_arch_mvc.png │ ├── software_arch_p2p.png │ ├── software_arch_pipe.png │ ├── sqla_arch.png │ ├── sqlite3_file_format.png │ ├── sqlite3_file_header.png │ ├── stackguard1.png │ ├── stackguard2.png │ ├── stop_and_wait.png │ ├── stream1.jpg │ ├── stream12.jpg │ ├── stream2.jpg │ ├── stream_multiplexing.svg │ ├── system_design.png │ ├── taiji.jpeg │ ├── task_queue.png │ ├── task_queue_peak.png │ ├── tcmalloc_backend_legacy.png │ ├── tcmalloc_components.png │ ├── tcmalloc_per_cpu.png │ ├── tcmalloc_per_thread.png │ ├── tcp_server_client.png │ ├── the_go_programming_language.jpg │ ├── the_little_prince.png │ ├── the_long_view.png │ ├── the_practice_of_management.png │ ├── the_simple_things_in_investment.png │ ├── thinking_in_systems.png │ ├── tornado.png │ ├── traefik-architecture.png │ ├── udpfuncdiag.png │ ├── ukulele.jpg │ ├── virt_manager.png │ ├── virt_manager_add_bridge.png │ └── win_task_manager.png └── tutorial.md ├── config.py ├── dao.go ├── deploy.yml ├── dot ├── frp_flow.dot └── nginx_flow.dot ├── draft ├── .placeholder └── 2020_08_24-go_src_entrypoint.md ├── gen_catalog.py ├── go.mod ├── go.sum ├── main.go ├── migrations ├── README ├── env.py ├── script.py.mako └── versions │ ├── 548f680df239_add_url.py │ └── 907a80dc8ab8_init.py ├── models.py ├── requirements.txt ├── revision.sh ├── start.sh ├── static ├── ads.txt ├── apple-touch-icon.png ├── avatar.png ├── block_img.png ├── computer.png ├── email.png ├── favicon.ico ├── golang.png ├── kindle.png ├── mp.jpg ├── pass.png ├── python.png ├── reward.png ├── robots.txt ├── rss.png ├── styles.css ├── styles.min.css ├── telegram.png ├── web.png ├── wechat.png ├── wechat_qrcode.png └── wechat_reward.png ├── templates ├── ads.txt ├── article.html ├── footer.html ├── header.html ├── index.html ├── list.html ├── robots.txt ├── rss.html ├── sharing_rss.html └── sitemap.html ├── tgbot.go ├── tutorial ├── .keep ├── data_structure │ ├── array.md │ ├── bitmap.md │ ├── btree.md │ ├── dict.md │ ├── heap.md │ ├── hyperloglog.md │ ├── img │ │ ├── array.png │ │ ├── array_10_15.png │ │ ├── array_12345.png │ │ ├── array_get_element.png │ │ ├── array_with_holes.png │ │ ├── binary_tree_dict.png │ │ ├── bitmap.png │ │ ├── bitmap_login_in_month.png │ │ ├── bitmap_nil_value.png │ │ ├── bitmap_set_3rd_bit.png │ │ ├── deque.png │ │ ├── insert_into_array.png │ │ ├── insert_into_linkedlist.png │ │ ├── linked_list.png │ │ └── linked_list_demo.png │ ├── index.md │ ├── linkedlist.md │ ├── queue.md │ ├── set.md │ ├── sorted_set.md │ ├── stack.md │ └── trie.md ├── golang │ ├── README.md │ ├── basic_types.md │ ├── channel.md │ ├── composite_types.md │ ├── concurrency.md │ ├── errors.md │ ├── flow.md │ ├── function.md │ ├── go_tool.md │ ├── goroutine.md │ ├── hello_world.md │ ├── img │ │ ├── go_install_windows_step1.png │ │ ├── go_install_windows_step2.png │ │ ├── go_install_windows_step3.png │ │ ├── go_install_windows_step4.png │ │ ├── go_install_windows_step5.png │ │ ├── go_install_windows_step6.png │ │ ├── go_install_windows_step7.png │ │ ├── go_install_windows_step8.png │ │ ├── golang_dl_linux.png │ │ ├── golang_dl_macos.png │ │ ├── golang_dl_windows.png │ │ ├── golang_install_macos_step1.png │ │ ├── golang_install_macos_step2.png │ │ ├── golang_install_macos_step3.png │ │ └── golang_install_macos_step4.png │ ├── index.md │ ├── installation_linux.md │ ├── installation_mac_os.md │ ├── installation_windows.md │ ├── interface.md │ ├── intro.md │ ├── oo.md │ └── pointers.md └── python │ ├── README.md │ ├── basic_types.md │ ├── composite_types.md │ ├── exception.md │ ├── flow.md │ ├── function.md │ ├── hello_world.md │ ├── img │ ├── install_on_windows.png │ ├── install_on_windows_step1.png │ ├── install_on_windows_step2.png │ ├── install_on_windows_step3.png │ ├── install_on_windows_step4.png │ ├── install_on_windows_step5.png │ └── install_on_windows_step6.png │ ├── index.md │ ├── interface.md │ ├── linux.md │ ├── macos.md │ ├── module_and_package.md │ ├── oo.md │ ├── source_code_analysis.md │ └── windows.md └── utils.py /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/README.md -------------------------------------------------------------------------------- /alembic.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/alembic.ini -------------------------------------------------------------------------------- /articles/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /articles/2014_06_17-use_cron.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2014_06_17-use_cron.rst -------------------------------------------------------------------------------- /articles/2014_08_22-unix_file_permissions.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2014_08_22-unix_file_permissions.rst -------------------------------------------------------------------------------- /articles/2014_09_07-pointer_and_array_in_c.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2014_09_07-pointer_and_array_in_c.rst -------------------------------------------------------------------------------- /articles/2014_09_09-dot_and_arrow_in_c_pointers.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2014_09_09-dot_and_arrow_in_c_pointers.rst -------------------------------------------------------------------------------- /articles/2014_11_04-traps_in_c.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2014_11_04-traps_in_c.rst -------------------------------------------------------------------------------- /articles/2014_12_12-abstractions_in_c.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2014_12_12-abstractions_in_c.rst -------------------------------------------------------------------------------- /articles/2015_01_11-my_guess_about_input_method.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2015_01_11-my_guess_about_input_method.rst -------------------------------------------------------------------------------- /articles/2015_03_17-declaration_of_c_pointers.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2015_03_17-declaration_of_c_pointers.rst -------------------------------------------------------------------------------- /articles/2015_09_05-thinking_recursively.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2015_09_05-thinking_recursively.rst -------------------------------------------------------------------------------- /articles/2016_01_25-divide_and_conqure.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2016_01_25-divide_and_conqure.rst -------------------------------------------------------------------------------- /articles/2016_02_06-bitwise_operation.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2016_02_06-bitwise_operation.rst -------------------------------------------------------------------------------- /articles/2016_03_05-python_fragmentary_knowledge.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2016_03_05-python_fragmentary_knowledge.rst -------------------------------------------------------------------------------- /articles/2016_03_14-tornado.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2016_03_14-tornado.rst -------------------------------------------------------------------------------- /articles/2016_04_03-raspberrypi.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2016_04_03-raspberrypi.rst -------------------------------------------------------------------------------- /articles/2016_05_05-typeclassopedia.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2016_05_05-typeclassopedia.rst -------------------------------------------------------------------------------- /articles/2016_05_22-foldl_and_foldr.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2016_05_22-foldl_and_foldr.rst -------------------------------------------------------------------------------- /articles/2016_06_05-haskell_do_notation.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2016_06_05-haskell_do_notation.rst -------------------------------------------------------------------------------- /articles/2016_06_19-use_github_webhooks.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2016_06_19-use_github_webhooks.rst -------------------------------------------------------------------------------- /articles/2016_06_20-bootstrap_v4_grid_system.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2016_06_20-bootstrap_v4_grid_system.rst -------------------------------------------------------------------------------- /articles/2016_08_25-ukulele.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2016_08_25-ukulele.rst -------------------------------------------------------------------------------- /articles/2016_09_15-flask_source_code.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2016_09_15-flask_source_code.rst -------------------------------------------------------------------------------- /articles/2016_11_03-nginx_conf.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2016_11_03-nginx_conf.rst -------------------------------------------------------------------------------- /articles/2016_11_05-token_bucket.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2016_11_05-token_bucket.rst -------------------------------------------------------------------------------- /articles/2016_11_08-use_git_hooks.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2016_11_08-use_git_hooks.rst -------------------------------------------------------------------------------- /articles/2016_11_21-py3k_asterisk.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2016_11_21-py3k_asterisk.rst -------------------------------------------------------------------------------- /articles/2016_11_27-python_coroutine.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2016_11_27-python_coroutine.md -------------------------------------------------------------------------------- /articles/2016_11_29-python_yield.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2016_11_29-python_yield.md -------------------------------------------------------------------------------- /articles/2016_12_06-mongodb.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2016_12_06-mongodb.md -------------------------------------------------------------------------------- /articles/2016_12_06-python_c3_mro.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2016_12_06-python_c3_mro.md -------------------------------------------------------------------------------- /articles/2016_12_07-python_unittest.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2016_12_07-python_unittest.md -------------------------------------------------------------------------------- /articles/2016_12_07-work.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2016_12_07-work.md -------------------------------------------------------------------------------- /articles/2016_12_09-python_fragments.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2016_12_09-python_fragments.md -------------------------------------------------------------------------------- /articles/2016_12_15-my_code_in_python_stdlib.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2016_12_15-my_code_in_python_stdlib.md -------------------------------------------------------------------------------- /articles/2016_12_16-thinking_in_python.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2016_12_16-thinking_in_python.md -------------------------------------------------------------------------------- /articles/2016_12_22-mock_source_code.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2016_12_22-mock_source_code.md -------------------------------------------------------------------------------- /articles/2016_12_26-apue_v3.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2016_12_26-apue_v3.md -------------------------------------------------------------------------------- /articles/2016_12_29-unittest_source_code.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2016_12_29-unittest_source_code.md -------------------------------------------------------------------------------- /articles/2017_01_06-collections_source_code.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_01_06-collections_source_code.md -------------------------------------------------------------------------------- /articles/2017_01_06-redis_protocol_specification.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_01_06-redis_protocol_specification.md -------------------------------------------------------------------------------- /articles/2017_01_07-contextlib_source_code.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_01_07-contextlib_source_code.md -------------------------------------------------------------------------------- /articles/2017_01_08-functools_source_code.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_01_08-functools_source_code.md -------------------------------------------------------------------------------- /articles/2017_01_09-socketserver_source_code.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_01_09-socketserver_source_code.md -------------------------------------------------------------------------------- /articles/2017_01_15-cython_rocks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_01_15-cython_rocks.md -------------------------------------------------------------------------------- /articles/2017_01_21-head_first_design_patterns.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_01_21-head_first_design_patterns.md -------------------------------------------------------------------------------- /articles/2017_01_22-head_first_design_patterns_2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_01_22-head_first_design_patterns_2.md -------------------------------------------------------------------------------- /articles/2017_01_24-python_language_reference.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_01_24-python_language_reference.md -------------------------------------------------------------------------------- /articles/2017_01_24-vim_manual.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_01_24-vim_manual.md -------------------------------------------------------------------------------- /articles/2017_02_15-go_defer_panic_and_recover.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_02_15-go_defer_panic_and_recover.md -------------------------------------------------------------------------------- /articles/2017_02_24-goroutine_and_work_stealing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_02_24-goroutine_and_work_stealing.md -------------------------------------------------------------------------------- /articles/2017_03_02-gfs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_03_02-gfs.md -------------------------------------------------------------------------------- /articles/2017_03_02-map_reduce.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_03_02-map_reduce.md -------------------------------------------------------------------------------- /articles/2017_03_06-golang_comparable_types.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_03_06-golang_comparable_types.md -------------------------------------------------------------------------------- /articles/2017_03_29-raft.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_03_29-raft.md -------------------------------------------------------------------------------- /articles/2017_04_08-gunicorn.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_04_08-gunicorn.md -------------------------------------------------------------------------------- /articles/2017_04_16-python_string_format.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_04_16-python_string_format.md -------------------------------------------------------------------------------- /articles/2017_04_25-write_your_own_orm.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_04_25-write_your_own_orm.md -------------------------------------------------------------------------------- /articles/2017_04_26-greenlet.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_04_26-greenlet.md -------------------------------------------------------------------------------- /articles/2017_05_24-http_router_design.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_05_24-http_router_design.md -------------------------------------------------------------------------------- /articles/2017_06_22-ansible.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_06_22-ansible.md -------------------------------------------------------------------------------- /articles/2017_07_02-one_year_after_graduate.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_07_02-one_year_after_graduate.md -------------------------------------------------------------------------------- /articles/2017_07_11-golang_log.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_07_11-golang_log.md -------------------------------------------------------------------------------- /articles/2017_07_15-books.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_07_15-books.md -------------------------------------------------------------------------------- /articles/2017_07_18-golang_slice.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_07_18-golang_slice.md -------------------------------------------------------------------------------- /articles/2017_07_26-mysql.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_07_26-mysql.md -------------------------------------------------------------------------------- /articles/2017_07_27-golang_map.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_07_27-golang_map.md -------------------------------------------------------------------------------- /articles/2017_08_09-lua_manual.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_08_09-lua_manual.md -------------------------------------------------------------------------------- /articles/2017_08_12-tcp_ip.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_08_12-tcp_ip.md -------------------------------------------------------------------------------- /articles/2017_09_02-tcp_ip_part2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_09_02-tcp_ip_part2.md -------------------------------------------------------------------------------- /articles/2017_09_03-2017_vim_plugins.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_09_03-2017_vim_plugins.md -------------------------------------------------------------------------------- /articles/2017_09_11-learn_you_a_haskell_part_1.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_09_11-learn_you_a_haskell_part_1.md -------------------------------------------------------------------------------- /articles/2017_09_17-learn_you_a_haskell_part_2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_09_17-learn_you_a_haskell_part_2.md -------------------------------------------------------------------------------- /articles/2017_09_18-learn_you_a_haskell_part_3.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_09_18-learn_you_a_haskell_part_3.md -------------------------------------------------------------------------------- /articles/2017_09_19-xmonad.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_09_19-xmonad.md -------------------------------------------------------------------------------- /articles/2017_09_20-task_queue_python_rq.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_09_20-task_queue_python_rq.md -------------------------------------------------------------------------------- /articles/2017_09_21-oauth2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_09_21-oauth2.md -------------------------------------------------------------------------------- /articles/2017_09_22-https_processes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_09_22-https_processes.md -------------------------------------------------------------------------------- /articles/2017_09_25-learn_you_a_haskell_part_4.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_09_25-learn_you_a_haskell_part_4.md -------------------------------------------------------------------------------- /articles/2017_09_26-learn_you_a_haskell_part_5.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_09_26-learn_you_a_haskell_part_5.md -------------------------------------------------------------------------------- /articles/2017_09_27-haskell_infix.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_09_27-haskell_infix.md -------------------------------------------------------------------------------- /articles/2017_10_11-sni.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_10_11-sni.md -------------------------------------------------------------------------------- /articles/2017_10_13-web_dev_part1.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_10_13-web_dev_part1.md -------------------------------------------------------------------------------- /articles/2017_10_14-web_dev_part2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_10_14-web_dev_part2.md -------------------------------------------------------------------------------- /articles/2017_10_15-web_dev_part3.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_10_15-web_dev_part3.md -------------------------------------------------------------------------------- /articles/2017_10_16-web_dev_part4.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_10_16-web_dev_part4.md -------------------------------------------------------------------------------- /articles/2017_10_17-web_dev_part5.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_10_17-web_dev_part5.md -------------------------------------------------------------------------------- /articles/2017_10_18-nginx_request_handle.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_10_18-nginx_request_handle.md -------------------------------------------------------------------------------- /articles/2017_10_18-web_dev_part6.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_10_18-web_dev_part6.md -------------------------------------------------------------------------------- /articles/2017_10_18-web_dev_part7.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_10_18-web_dev_part7.md -------------------------------------------------------------------------------- /articles/2017_10_18-web_dev_part8.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_10_18-web_dev_part8.md -------------------------------------------------------------------------------- /articles/2017_10_19-nginx_as_tcp_load_balancing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_10_19-nginx_as_tcp_load_balancing.md -------------------------------------------------------------------------------- /articles/2017_10_19-web_dev_part10.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_10_19-web_dev_part10.md -------------------------------------------------------------------------------- /articles/2017_10_19-web_dev_part11.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_10_19-web_dev_part11.md -------------------------------------------------------------------------------- /articles/2017_10_19-web_dev_part9.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_10_19-web_dev_part9.md -------------------------------------------------------------------------------- /articles/2017_10_19-web_dev_series.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_10_19-web_dev_series.md -------------------------------------------------------------------------------- /articles/2017_10_24-traefik.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_10_24-traefik.md -------------------------------------------------------------------------------- /articles/2017_10_25-golang_graceful_restart.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_10_25-golang_graceful_restart.md -------------------------------------------------------------------------------- /articles/2017_11_04-python_develop_practice.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_11_04-python_develop_practice.md -------------------------------------------------------------------------------- /articles/2017_11_13-the_programmatic_programmer.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_11_13-the_programmatic_programmer.md -------------------------------------------------------------------------------- /articles/2017_11_29-git_credential_store.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_11_29-git_credential_store.md -------------------------------------------------------------------------------- /articles/2017_11_29-short_url.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_11_29-short_url.md -------------------------------------------------------------------------------- /articles/2017_12_02-algorithms_sorting.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_12_02-algorithms_sorting.md -------------------------------------------------------------------------------- /articles/2017_12_27-geohash.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_12_27-geohash.md -------------------------------------------------------------------------------- /articles/2017_12_30-golang_task_queue.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2017_12_30-golang_task_queue.md -------------------------------------------------------------------------------- /articles/2018_01_04-dynamic_programming.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_01_04-dynamic_programming.md -------------------------------------------------------------------------------- /articles/2018_01_08-db_optimizations.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_01_08-db_optimizations.md -------------------------------------------------------------------------------- /articles/2018_01_14-pitfalls.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_01_14-pitfalls.md -------------------------------------------------------------------------------- /articles/2018_01_22-golang_optimization.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_01_22-golang_optimization.md -------------------------------------------------------------------------------- /articles/2018_01_28-router_design.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_01_28-router_design.md -------------------------------------------------------------------------------- /articles/2018_01_30-gc.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_01_30-gc.md -------------------------------------------------------------------------------- /articles/2018_01_31-golang_traps.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_01_31-golang_traps.md -------------------------------------------------------------------------------- /articles/2018_02_02-golang_runtime.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_02_02-golang_runtime.md -------------------------------------------------------------------------------- /articles/2018_02_24-redis_source_code_hash_table.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_02_24-redis_source_code_hash_table.md -------------------------------------------------------------------------------- /articles/2018_02_24-redis_source_code_sds.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_02_24-redis_source_code_sds.md -------------------------------------------------------------------------------- /articles/2018_02_25-linker_loader.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_02_25-linker_loader.md -------------------------------------------------------------------------------- /articles/2018_02_26-zen_of_dev.md: -------------------------------------------------------------------------------- 1 | # 软件开发之禅---大事化小,各个击破 2 | 3 | that's it :) 4 | -------------------------------------------------------------------------------- /articles/2018_03_08-golang_fork.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_03_08-golang_fork.md -------------------------------------------------------------------------------- /articles/2018_03_09-write_you_a_container.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_03_09-write_you_a_container.md -------------------------------------------------------------------------------- /articles/2018_03_10-interview.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_03_10-interview.md -------------------------------------------------------------------------------- /articles/2018_03_16-gin_source_code.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_03_16-gin_source_code.md -------------------------------------------------------------------------------- /articles/2018_03_19-prometheus.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_03_19-prometheus.md -------------------------------------------------------------------------------- /articles/2018_03_29-goroutine_schedule.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_03_29-goroutine_schedule.md -------------------------------------------------------------------------------- /articles/2018_04_03-coroutine.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_04_03-coroutine.md -------------------------------------------------------------------------------- /articles/2018_04_05-kubernetes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_04_05-kubernetes.md -------------------------------------------------------------------------------- /articles/2018_04_10-golang_thrift.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_04_10-golang_thrift.md -------------------------------------------------------------------------------- /articles/2018_04_12-docker_logging.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_04_12-docker_logging.md -------------------------------------------------------------------------------- /articles/2018_04_14-docker_ce_18_analysis.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_04_14-docker_ce_18_analysis.md -------------------------------------------------------------------------------- /articles/2018_05_08-how_to_debug.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_05_08-how_to_debug.md -------------------------------------------------------------------------------- /articles/2018_05_13-mysql_index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_05_13-mysql_index.md -------------------------------------------------------------------------------- /articles/2018_05_15-mysql_filesort.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_05_15-mysql_filesort.md -------------------------------------------------------------------------------- /articles/2018_05_17-high_performance_mysql.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_05_17-high_performance_mysql.md -------------------------------------------------------------------------------- /articles/2018_05_22-evaluation_strategy.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_05_22-evaluation_strategy.md -------------------------------------------------------------------------------- /articles/2018_06_15-cgo.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_06_15-cgo.md -------------------------------------------------------------------------------- /articles/2018_06_24-linux_shutdown_when_bat_is_low.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_06_24-linux_shutdown_when_bat_is_low.md -------------------------------------------------------------------------------- /articles/2018_07_18-design_a_gateway.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_07_18-design_a_gateway.md -------------------------------------------------------------------------------- /articles/2018_07_22-config_center.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_07_22-config_center.md -------------------------------------------------------------------------------- /articles/2018_08_04-how_to_read_source_code.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_08_04-how_to_read_source_code.md -------------------------------------------------------------------------------- /articles/2018_08_08-grpc_gateway_source_code.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_08_08-grpc_gateway_source_code.md -------------------------------------------------------------------------------- /articles/2018_08_12-python_dataclasses.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_08_12-python_dataclasses.md -------------------------------------------------------------------------------- /articles/2018_08_23-go_defer_named_return_values.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_08_23-go_defer_named_return_values.md -------------------------------------------------------------------------------- /articles/2018_08_24-python_singleton.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_08_24-python_singleton.md -------------------------------------------------------------------------------- /articles/2018_08_26-about_traffic.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_08_26-about_traffic.md -------------------------------------------------------------------------------- /articles/2018_08_28-mac_rsync_unknow_option.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_08_28-mac_rsync_unknow_option.md -------------------------------------------------------------------------------- /articles/2018_08_29-become_a_better_programmer.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_08_29-become_a_better_programmer.md -------------------------------------------------------------------------------- /articles/2018_09_01-archlinux_downgrade_package.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_09_01-archlinux_downgrade_package.md -------------------------------------------------------------------------------- /articles/2018_09_01-vim_speed_up.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_09_01-vim_speed_up.md -------------------------------------------------------------------------------- /articles/2018_09_02-write_a_tgbot.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_09_02-write_a_tgbot.md -------------------------------------------------------------------------------- /articles/2018_09_03-go_module.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_09_03-go_module.md -------------------------------------------------------------------------------- /articles/2018_09_06-how_to_dig_subdomain.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_09_06-how_to_dig_subdomain.md -------------------------------------------------------------------------------- /articles/2018_09_07-go_custom_import_path.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_09_07-go_custom_import_path.md -------------------------------------------------------------------------------- /articles/2018_09_10-google_ads.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_09_10-google_ads.md -------------------------------------------------------------------------------- /articles/2018_09_16-cookie_secure_httponly.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_09_16-cookie_secure_httponly.md -------------------------------------------------------------------------------- /articles/2018_09_22-to_b_to_c.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_09_22-to_b_to_c.md -------------------------------------------------------------------------------- /articles/2018_09_24-blogging_one_year.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_09_24-blogging_one_year.md -------------------------------------------------------------------------------- /articles/2018_10_13-http2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_10_13-http2.md -------------------------------------------------------------------------------- /articles/2018_10_21-interview_techniques.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_10_21-interview_techniques.md -------------------------------------------------------------------------------- /articles/2018_10_23-high_performance_mysql_chap1.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_10_23-high_performance_mysql_chap1.md -------------------------------------------------------------------------------- /articles/2018_11_01-golang_practice.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_11_01-golang_practice.md -------------------------------------------------------------------------------- /articles/2018_11_02-index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_11_02-index.md -------------------------------------------------------------------------------- /articles/2018_11_07-concurrency.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_11_07-concurrency.md -------------------------------------------------------------------------------- /articles/2018_11_09-drop_css.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_11_09-drop_css.md -------------------------------------------------------------------------------- /articles/2018_11_10-golang_reflection.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_11_10-golang_reflection.md -------------------------------------------------------------------------------- /articles/2018_11_10-transaction.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_11_10-transaction.md -------------------------------------------------------------------------------- /articles/2018_11_12-golang_nocopy.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_11_12-golang_nocopy.md -------------------------------------------------------------------------------- /articles/2018_11_13-golang_package_unsafe.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_11_13-golang_package_unsafe.md -------------------------------------------------------------------------------- /articles/2018_11_15-avoid_global_states.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_11_15-avoid_global_states.md -------------------------------------------------------------------------------- /articles/2018_11_16-go_private_variable.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_11_16-go_private_variable.md -------------------------------------------------------------------------------- /articles/2018_11_16-raft.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_11_16-raft.md -------------------------------------------------------------------------------- /articles/2018_11_18-ubuntu_sudo_hang.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_11_18-ubuntu_sudo_hang.md -------------------------------------------------------------------------------- /articles/2018_11_22-etcd_source_code_analysis_raft.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_11_22-etcd_source_code_analysis_raft.md -------------------------------------------------------------------------------- /articles/2018_11_24-etcd_source_code_analysis_wal.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_11_24-etcd_source_code_analysis_wal.md -------------------------------------------------------------------------------- /articles/2018_11_24-memory_leak_in_net_http.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_11_24-memory_leak_in_net_http.md -------------------------------------------------------------------------------- /articles/2018_11_28-etcd_source_code_analysis_mvvc.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_11_28-etcd_source_code_analysis_mvvc.md -------------------------------------------------------------------------------- /articles/2018_12_01-go_embedding.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_12_01-go_embedding.md -------------------------------------------------------------------------------- /articles/2018_12_08-yc_startup.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_12_08-yc_startup.md -------------------------------------------------------------------------------- /articles/2018_12_12-use_dropbox_to_backup_server.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_12_12-use_dropbox_to_backup_server.md -------------------------------------------------------------------------------- /articles/2018_12_13-db_metrics.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_12_13-db_metrics.md -------------------------------------------------------------------------------- /articles/2018_12_16-prometheus_mysqld_exporter.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_12_16-prometheus_mysqld_exporter.md -------------------------------------------------------------------------------- /articles/2018_12_22-docker_components.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_12_22-docker_components.md -------------------------------------------------------------------------------- /articles/2018_12_24-docker_components_part2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_12_24-docker_components_part2.md -------------------------------------------------------------------------------- /articles/2018_12_24-ycm_pyenv.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_12_24-ycm_pyenv.md -------------------------------------------------------------------------------- /articles/2018_12_26-delete_disk_partition_table.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_12_26-delete_disk_partition_table.md -------------------------------------------------------------------------------- /articles/2018_12_27-overlayfs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_12_27-overlayfs.md -------------------------------------------------------------------------------- /articles/2018_12_27-redis_stream.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2018_12_27-redis_stream.md -------------------------------------------------------------------------------- /articles/2019_01_01-system_call.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_01_01-system_call.md -------------------------------------------------------------------------------- /articles/2019_01_03-drop_notifications.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_01_03-drop_notifications.md -------------------------------------------------------------------------------- /articles/2019_01_07-linux_thread_mem_layout.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_01_07-linux_thread_mem_layout.md -------------------------------------------------------------------------------- /articles/2019_01_12-autossh.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_01_12-autossh.md -------------------------------------------------------------------------------- /articles/2019_01_13-goroutine.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_01_13-goroutine.md -------------------------------------------------------------------------------- /articles/2019_01_30-golang_tls.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_01_30-golang_tls.md -------------------------------------------------------------------------------- /articles/2019_02_26-push_pull_system.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_02_26-push_pull_system.md -------------------------------------------------------------------------------- /articles/2019_02_27-containerd_tutorial.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_02_27-containerd_tutorial.md -------------------------------------------------------------------------------- /articles/2019_03_01-self_control.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_03_01-self_control.md -------------------------------------------------------------------------------- /articles/2019_03_03-influence.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_03_03-influence.md -------------------------------------------------------------------------------- /articles/2019_03_06-scarcity.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_03_06-scarcity.md -------------------------------------------------------------------------------- /articles/2019_03_12-golang_strings_split.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_03_12-golang_strings_split.md -------------------------------------------------------------------------------- /articles/2019_03_14-golang_bad_side.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_03_14-golang_bad_side.md -------------------------------------------------------------------------------- /articles/2019_03_15-golang_errors.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_03_15-golang_errors.md -------------------------------------------------------------------------------- /articles/2019_03_16-tittle_tattle.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_03_16-tittle_tattle.md -------------------------------------------------------------------------------- /articles/2019_03_19-gorm.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_03_19-gorm.md -------------------------------------------------------------------------------- /articles/2019_03_24-mao.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_03_24-mao.md -------------------------------------------------------------------------------- /articles/2019_03_29-python_golang_best_practice.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_03_29-python_golang_best_practice.md -------------------------------------------------------------------------------- /articles/2019_04_01-swagger_i_dislike.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_04_01-swagger_i_dislike.md -------------------------------------------------------------------------------- /articles/2019_04_03-btrfs_raid1.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_04_03-btrfs_raid1.md -------------------------------------------------------------------------------- /articles/2019_04_05-virt_manager_win.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_04_05-virt_manager_win.md -------------------------------------------------------------------------------- /articles/2019_04_06-aria2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_04_06-aria2.md -------------------------------------------------------------------------------- /articles/2019_04_06-shairport_sync.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_04_06-shairport_sync.md -------------------------------------------------------------------------------- /articles/2019_04_17-chaojiyunyingshu.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_04_17-chaojiyunyingshu.md -------------------------------------------------------------------------------- /articles/2019_04_17-tech_only_is_bad.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_04_17-tech_only_is_bad.md -------------------------------------------------------------------------------- /articles/2019_04_18-python_rq_gevent.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_04_18-python_rq_gevent.md -------------------------------------------------------------------------------- /articles/2019_04_19-jquery.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_04_19-jquery.md -------------------------------------------------------------------------------- /articles/2019_04_20-graphviz_dot.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_04_20-graphviz_dot.md -------------------------------------------------------------------------------- /articles/2019_04_23-nginx_referer.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_04_23-nginx_referer.md -------------------------------------------------------------------------------- /articles/2019_04_25-crontab_sendmail.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_04_25-crontab_sendmail.md -------------------------------------------------------------------------------- /articles/2019_04_29-system_design.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_04_29-system_design.md -------------------------------------------------------------------------------- /articles/2019_05_07-minikube_kvm.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_05_07-minikube_kvm.md -------------------------------------------------------------------------------- /articles/2019_05_08-flask_load_bp_automaticly.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_05_08-flask_load_bp_automaticly.md -------------------------------------------------------------------------------- /articles/2019_05_09-go_mod_logrus.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_05_09-go_mod_logrus.md -------------------------------------------------------------------------------- /articles/2019_05_10-kubernetes_tutorial.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_05_10-kubernetes_tutorial.md -------------------------------------------------------------------------------- /articles/2019_05_12-crypto.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_05_12-crypto.md -------------------------------------------------------------------------------- /articles/2019_05_14-crypto_part2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_05_14-crypto_part2.md -------------------------------------------------------------------------------- /articles/2019_05_14-seo.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_05_14-seo.md -------------------------------------------------------------------------------- /articles/2019_05_15-crypto_part3.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_05_15-crypto_part3.md -------------------------------------------------------------------------------- /articles/2019_05_18-requests.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_05_18-requests.md -------------------------------------------------------------------------------- /articles/2019_05_29-python_old_new_style_class.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_05_29-python_old_new_style_class.md -------------------------------------------------------------------------------- /articles/2019_05_30-ubuntu_1804_dhcp_new_ip.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_05_30-ubuntu_1804_dhcp_new_ip.md -------------------------------------------------------------------------------- /articles/2019_05_31-nomad.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_05_31-nomad.md -------------------------------------------------------------------------------- /articles/2019_06_01-combine_wechat_alipay.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_06_01-combine_wechat_alipay.md -------------------------------------------------------------------------------- /articles/2019_06_01-from_chrome_to_firefox.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_06_01-from_chrome_to_firefox.md -------------------------------------------------------------------------------- /articles/2019_06_04-hsts.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_06_04-hsts.md -------------------------------------------------------------------------------- /articles/2019_06_06-ip_ban.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_06_06-ip_ban.md -------------------------------------------------------------------------------- /articles/2019_06_06-socks5.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_06_06-socks5.md -------------------------------------------------------------------------------- /articles/2019_06_08-big_debt_crises.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_06_08-big_debt_crises.md -------------------------------------------------------------------------------- /articles/2019_06_08-migrate_from_xmonad_to_i3wm.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_06_08-migrate_from_xmonad_to_i3wm.md -------------------------------------------------------------------------------- /articles/2019_06_10-learn_from_frp_source_code.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_06_10-learn_from_frp_source_code.md -------------------------------------------------------------------------------- /articles/2019_06_11-frpc_source_code_part1.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_06_11-frpc_source_code_part1.md -------------------------------------------------------------------------------- /articles/2019_06_15-leave_wechat_for_5_days.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_06_15-leave_wechat_for_5_days.md -------------------------------------------------------------------------------- /articles/2019_06_19-frp_source_code_part2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_06_19-frp_source_code_part2.md -------------------------------------------------------------------------------- /articles/2019_06_23-learn_front_end.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_06_23-learn_front_end.md -------------------------------------------------------------------------------- /articles/2019_06_23-the_practice_of_management.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_06_23-the_practice_of_management.md -------------------------------------------------------------------------------- /articles/2019_06_25-swift.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_06_25-swift.md -------------------------------------------------------------------------------- /articles/2019_07_02-learn_front_end_2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_07_02-learn_front_end_2.md -------------------------------------------------------------------------------- /articles/2019_07_04-learn_front_end_3.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_07_04-learn_front_end_3.md -------------------------------------------------------------------------------- /articles/2019_07_10-learn_front_end_4.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_07_10-learn_front_end_4.md -------------------------------------------------------------------------------- /articles/2019_07_13-learn_front_end_5.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_07_13-learn_front_end_5.md -------------------------------------------------------------------------------- /articles/2019_07_15-the_long_view.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_07_15-the_long_view.md -------------------------------------------------------------------------------- /articles/2019_07_16-gcc_header_path.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_07_16-gcc_header_path.md -------------------------------------------------------------------------------- /articles/2019_07_20-linux_hidpi.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_07_20-linux_hidpi.md -------------------------------------------------------------------------------- /articles/2019_07_24-thinking_in_systems_a_primer.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_07_24-thinking_in_systems_a_primer.md -------------------------------------------------------------------------------- /articles/2019_07_29-name_is_the_best_doc.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_07_29-name_is_the_best_doc.md -------------------------------------------------------------------------------- /articles/2019_08_01-error_handling.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_08_01-error_handling.md -------------------------------------------------------------------------------- /articles/2019_08_05-message_framing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_08_05-message_framing.md -------------------------------------------------------------------------------- /articles/2019_08_18-code_with_bad_taste.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_08_18-code_with_bad_taste.md -------------------------------------------------------------------------------- /articles/2019_08_21-three_years_after_graduate.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_08_21-three_years_after_graduate.md -------------------------------------------------------------------------------- /articles/2019_08_23-golang_html_template.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_08_23-golang_html_template.md -------------------------------------------------------------------------------- /articles/2019_08_30-choose_properly_tech.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_08_30-choose_properly_tech.md -------------------------------------------------------------------------------- /articles/2019_08_31-go_colly.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_08_31-go_colly.md -------------------------------------------------------------------------------- /articles/2019_09_02-go_grpc_handshake.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_09_02-go_grpc_handshake.md -------------------------------------------------------------------------------- /articles/2019_09_04-kindle_highlights.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_09_04-kindle_highlights.md -------------------------------------------------------------------------------- /articles/2019_09_11-zerotier.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_09_11-zerotier.md -------------------------------------------------------------------------------- /articles/2019_09_14-ufw.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_09_14-ufw.md -------------------------------------------------------------------------------- /articles/2019_09_18-run_tmux_automatically.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_09_18-run_tmux_automatically.md -------------------------------------------------------------------------------- /articles/2019_09_23-qt5_gtk_theme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_09_23-qt5_gtk_theme.md -------------------------------------------------------------------------------- /articles/2019_09_23-samba.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_09_23-samba.md -------------------------------------------------------------------------------- /articles/2019_09_25-mysql_use_index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_09_25-mysql_use_index.md -------------------------------------------------------------------------------- /articles/2019_09_26-orm.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_09_26-orm.md -------------------------------------------------------------------------------- /articles/2019_09_29-why_grpc_is_not_popular.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_09_29-why_grpc_is_not_popular.md -------------------------------------------------------------------------------- /articles/2019_10_08-linux_windows.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_10_08-linux_windows.md -------------------------------------------------------------------------------- /articles/2019_10_15-grafana_moved_to_mysql.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_10_15-grafana_moved_to_mysql.md -------------------------------------------------------------------------------- /articles/2019_10_18-build_your_own_nas.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_10_18-build_your_own_nas.md -------------------------------------------------------------------------------- /articles/2019_10_19-freebsd_for_linux_users.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_10_19-freebsd_for_linux_users.md -------------------------------------------------------------------------------- /articles/2019_10_25-oh_my_money.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_10_25-oh_my_money.md -------------------------------------------------------------------------------- /articles/2019_10_30-sqlalchemy.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_10_30-sqlalchemy.md -------------------------------------------------------------------------------- /articles/2019_10_31-dnscrypt.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_10_31-dnscrypt.md -------------------------------------------------------------------------------- /articles/2019_11_01-network_programming.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_11_01-network_programming.md -------------------------------------------------------------------------------- /articles/2019_11_06-mysql.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_11_06-mysql.md -------------------------------------------------------------------------------- /articles/2019_11_08-disqus_thread_identifier.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_11_08-disqus_thread_identifier.md -------------------------------------------------------------------------------- /articles/2019_11_11-why_linux_as_desktop.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_11_11-why_linux_as_desktop.md -------------------------------------------------------------------------------- /articles/2019_11_13-tech_stack.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_11_13-tech_stack.md -------------------------------------------------------------------------------- /articles/2019_11_14-golang_mysql_timezone.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_11_14-golang_mysql_timezone.md -------------------------------------------------------------------------------- /articles/2019_11_15-python_pathlib_path.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_11_15-python_pathlib_path.md -------------------------------------------------------------------------------- /articles/2019_11_17-microk8s.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_11_17-microk8s.md -------------------------------------------------------------------------------- /articles/2019_11_19-mysql_duplicate_key_update.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_11_19-mysql_duplicate_key_update.md -------------------------------------------------------------------------------- /articles/2019_11_24-code_from_k_and_r.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_11_24-code_from_k_and_r.md -------------------------------------------------------------------------------- /articles/2019_11_26-lets_encrypt_linux_shell.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_11_26-lets_encrypt_linux_shell.md -------------------------------------------------------------------------------- /articles/2019_12_02-sqlalchemy_update_or_insert.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_12_02-sqlalchemy_update_or_insert.md -------------------------------------------------------------------------------- /articles/2019_12_03-flutter_webview_indicator.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_12_03-flutter_webview_indicator.md -------------------------------------------------------------------------------- /articles/2019_12_04-ycm_lsp_dart.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_12_04-ycm_lsp_dart.md -------------------------------------------------------------------------------- /articles/2019_12_09-dart_flutter_json.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_12_09-dart_flutter_json.md -------------------------------------------------------------------------------- /articles/2019_12_10-grafana_gravatar_http_hijack.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_12_10-grafana_gravatar_http_hijack.md -------------------------------------------------------------------------------- /articles/2019_12_11-flutter_do_sth_after_boot.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_12_11-flutter_do_sth_after_boot.md -------------------------------------------------------------------------------- /articles/2019_12_13-dart_requests.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_12_13-dart_requests.md -------------------------------------------------------------------------------- /articles/2019_12_16-flutter_dev.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_12_16-flutter_dev.md -------------------------------------------------------------------------------- /articles/2019_12_18-cache_miss.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_12_18-cache_miss.md -------------------------------------------------------------------------------- /articles/2019_12_18-golang_133_errors.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_12_18-golang_133_errors.md -------------------------------------------------------------------------------- /articles/2019_12_19-blackbox_disable_ipv6.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_12_19-blackbox_disable_ipv6.md -------------------------------------------------------------------------------- /articles/2019_12_21-autocommit.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_12_21-autocommit.md -------------------------------------------------------------------------------- /articles/2019_12_22-archlinux_ignore_pkg.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_12_22-archlinux_ignore_pkg.md -------------------------------------------------------------------------------- /articles/2019_12_24-matebook_x_pro_2019_debian_10.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_12_24-matebook_x_pro_2019_debian_10.md -------------------------------------------------------------------------------- /articles/2019_12_27-why_grpc.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_12_27-why_grpc.md -------------------------------------------------------------------------------- /articles/2019_12_31-hello_2020.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2019_12_31-hello_2020.md -------------------------------------------------------------------------------- /articles/2020_01_01-use_gitea_with_drone.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_01_01-use_gitea_with_drone.md -------------------------------------------------------------------------------- /articles/2020_01_06-flutter_sign_android_apk.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_01_06-flutter_sign_android_apk.md -------------------------------------------------------------------------------- /articles/2020_01_07-golang_sort_slice.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_01_07-golang_sort_slice.md -------------------------------------------------------------------------------- /articles/2020_01_10-please_do_not_copy.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_01_10-please_do_not_copy.md -------------------------------------------------------------------------------- /articles/2020_01_11-paradigm.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_01_11-paradigm.md -------------------------------------------------------------------------------- /articles/2020_02_08-kvm_spice_high_dpi.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_02_08-kvm_spice_high_dpi.md -------------------------------------------------------------------------------- /articles/2020_02_12-python_concurrency.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_02_12-python_concurrency.md -------------------------------------------------------------------------------- /articles/2020_02_14-remote_work.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_02_14-remote_work.md -------------------------------------------------------------------------------- /articles/2020_02_19-should_i_use_microservice.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_02_19-should_i_use_microservice.md -------------------------------------------------------------------------------- /articles/2020_02_26-mysql_charset_index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_02_26-mysql_charset_index.md -------------------------------------------------------------------------------- /articles/2020_02_27-syscall.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_02_27-syscall.md -------------------------------------------------------------------------------- /articles/2020_03_01-android_view_binding.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_03_01-android_view_binding.md -------------------------------------------------------------------------------- /articles/2020_03_02-feed_system_design.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_03_02-feed_system_design.md -------------------------------------------------------------------------------- /articles/2020_03_04-pip_list.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_03_04-pip_list.md -------------------------------------------------------------------------------- /articles/2020_03_06-mysql_boolean_tinyint_index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_03_06-mysql_boolean_tinyint_index.md -------------------------------------------------------------------------------- /articles/2020_03_11-gunicorn_worker.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_03_11-gunicorn_worker.md -------------------------------------------------------------------------------- /articles/2020_03_12-pylint.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_03_12-pylint.md -------------------------------------------------------------------------------- /articles/2020_03_23-redis_practice.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_03_23-redis_practice.md -------------------------------------------------------------------------------- /articles/2020_03_25-gunicorn_max_requests.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_03_25-gunicorn_max_requests.md -------------------------------------------------------------------------------- /articles/2020_03_26-access_control.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_03_26-access_control.md -------------------------------------------------------------------------------- /articles/2020_03_27-iap.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_03_27-iap.md -------------------------------------------------------------------------------- /articles/2020_04_08-k8s_cron_environment_variable.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_04_08-k8s_cron_environment_variable.md -------------------------------------------------------------------------------- /articles/2020_04_09-redis_stream_as_im.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_04_09-redis_stream_as_im.md -------------------------------------------------------------------------------- /articles/2020_04_09-value_programming.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_04_09-value_programming.md -------------------------------------------------------------------------------- /articles/2020_04_10-golang_validator.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_04_10-golang_validator.md -------------------------------------------------------------------------------- /articles/2020_04_11-squirrel.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_04_11-squirrel.md -------------------------------------------------------------------------------- /articles/2020_04_12-expvar.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_04_12-expvar.md -------------------------------------------------------------------------------- /articles/2020_04_13-freebsd_ipfw.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_04_13-freebsd_ipfw.md -------------------------------------------------------------------------------- /articles/2020_04_20-golang_optional_parameters.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_04_20-golang_optional_parameters.md -------------------------------------------------------------------------------- /articles/2020_04_21-golang_concurrency.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_04_21-golang_concurrency.md -------------------------------------------------------------------------------- /articles/2020_04_21-use_closure.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_04_21-use_closure.md -------------------------------------------------------------------------------- /articles/2020_04_22-go_asm.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_04_22-go_asm.md -------------------------------------------------------------------------------- /articles/2020_04_22-golang_context.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_04_22-golang_context.md -------------------------------------------------------------------------------- /articles/2020_04_23-go_flag.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_04_23-go_flag.md -------------------------------------------------------------------------------- /articles/2020_04_23-go_gdb.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_04_23-go_gdb.md -------------------------------------------------------------------------------- /articles/2020_04_24-gotasks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_04_24-gotasks.md -------------------------------------------------------------------------------- /articles/2020_04_28-golang_log.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_04_28-golang_log.md -------------------------------------------------------------------------------- /articles/2020_04_30-golang_gbk_xml.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_04_30-golang_gbk_xml.md -------------------------------------------------------------------------------- /articles/2020_05_01-mysql_notes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_05_01-mysql_notes.md -------------------------------------------------------------------------------- /articles/2020_05_05-go_sync_pool.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_05_05-go_sync_pool.md -------------------------------------------------------------------------------- /articles/2020_05_08-linker_and_loader.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_05_08-linker_and_loader.md -------------------------------------------------------------------------------- /articles/2020_05_09-httprouter.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_05_09-httprouter.md -------------------------------------------------------------------------------- /articles/2020_05_13-debian_networking.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_05_13-debian_networking.md -------------------------------------------------------------------------------- /articles/2020_05_15-divide_and_conquer.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_05_15-divide_and_conquer.md -------------------------------------------------------------------------------- /articles/2020_05_16-go_sort.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_05_16-go_sort.md -------------------------------------------------------------------------------- /articles/2020_05_18-virsh_shutdown_win.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_05_18-virsh_shutdown_win.md -------------------------------------------------------------------------------- /articles/2020_05_21-how_does_redis_work.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_05_21-how_does_redis_work.md -------------------------------------------------------------------------------- /articles/2020_05_22-linux_clone_sys.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_05_22-linux_clone_sys.md -------------------------------------------------------------------------------- /articles/2020_05_23-go_slice.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_05_23-go_slice.md -------------------------------------------------------------------------------- /articles/2020_05_29-use_peewee.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_05_29-use_peewee.md -------------------------------------------------------------------------------- /articles/2020_05_30-glusterfs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_05_30-glusterfs.md -------------------------------------------------------------------------------- /articles/2020_06_07-go_design_pattern_iter.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_06_07-go_design_pattern_iter.md -------------------------------------------------------------------------------- /articles/2020_06_09-go_design_pattern_adapter.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_06_09-go_design_pattern_adapter.md -------------------------------------------------------------------------------- /articles/2020_06_11-go_design_pattern_template.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_06_11-go_design_pattern_template.md -------------------------------------------------------------------------------- /articles/2020_06_12-transaction_life_easy.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_06_12-transaction_life_easy.md -------------------------------------------------------------------------------- /articles/2020_06_13-go_design_pattern_factory.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_06_13-go_design_pattern_factory.md -------------------------------------------------------------------------------- /articles/2020_06_13-macos_kvm_usb_pass.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_06_13-macos_kvm_usb_pass.md -------------------------------------------------------------------------------- /articles/2020_06_15-unix_crud.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_06_15-unix_crud.md -------------------------------------------------------------------------------- /articles/2020_06_20-go_design_pattern_singleton.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_06_20-go_design_pattern_singleton.md -------------------------------------------------------------------------------- /articles/2020_06_21-go_design_pattern_bridge.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_06_21-go_design_pattern_bridge.md -------------------------------------------------------------------------------- /articles/2020_06_23-redshift.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_06_23-redshift.md -------------------------------------------------------------------------------- /articles/2020_06_25-save_partition_table_zfs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_06_25-save_partition_table_zfs.md -------------------------------------------------------------------------------- /articles/2020_07_02-go_design_pattern_composite.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_07_02-go_design_pattern_composite.md -------------------------------------------------------------------------------- /articles/2020_07_04-elasticsearch.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_07_04-elasticsearch.md -------------------------------------------------------------------------------- /articles/2020_07_05-mysql_part1.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_07_05-mysql_part1.md -------------------------------------------------------------------------------- /articles/2020_07_14-go_design_pattern_decorator.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_07_14-go_design_pattern_decorator.md -------------------------------------------------------------------------------- /articles/2020_07_15-do_we_need_these.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_07_15-do_we_need_these.md -------------------------------------------------------------------------------- /articles/2020_07_21-go_design_pattern_chain.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_07_21-go_design_pattern_chain.md -------------------------------------------------------------------------------- /articles/2020_07_23-go_design_pattern_facade.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_07_23-go_design_pattern_facade.md -------------------------------------------------------------------------------- /articles/2020_07_23-mysql_part2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_07_23-mysql_part2.md -------------------------------------------------------------------------------- /articles/2020_07_25-linux_screenshot.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_07_25-linux_screenshot.md -------------------------------------------------------------------------------- /articles/2020_07_26-mysql_part3.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_07_26-mysql_part3.md -------------------------------------------------------------------------------- /articles/2020_07_27-mysql_part4.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_07_27-mysql_part4.md -------------------------------------------------------------------------------- /articles/2020_07_28-mysql_part5.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_07_28-mysql_part5.md -------------------------------------------------------------------------------- /articles/2020_08_11-redis_mysql.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_08_11-redis_mysql.md -------------------------------------------------------------------------------- /articles/2020_08_15-nsq.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_08_15-nsq.md -------------------------------------------------------------------------------- /articles/2020_08_16-nsq_source_code.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_08_16-nsq_source_code.md -------------------------------------------------------------------------------- /articles/2020_08_22-go_diskqueue.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_08_22-go_diskqueue.md -------------------------------------------------------------------------------- /articles/2020_08_26-goroutine_stack.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_08_26-goroutine_stack.md -------------------------------------------------------------------------------- /articles/2020_08_26-stackguard.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_08_26-stackguard.md -------------------------------------------------------------------------------- /articles/2020_09_05-apt.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_09_05-apt.md -------------------------------------------------------------------------------- /articles/2020_09_10-form_check.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_09_10-form_check.md -------------------------------------------------------------------------------- /articles/2020_09_16-flask_marshmallow.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_09_16-flask_marshmallow.md -------------------------------------------------------------------------------- /articles/2020_09_19-linux_cmd_netcat.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_09_19-linux_cmd_netcat.md -------------------------------------------------------------------------------- /articles/2020_09_20-linux_cmd_htop.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_09_20-linux_cmd_htop.md -------------------------------------------------------------------------------- /articles/2020_09_20-linux_cmd_watch.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_09_20-linux_cmd_watch.md -------------------------------------------------------------------------------- /articles/2020_09_21-linux_cmd_xargs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_09_21-linux_cmd_xargs.md -------------------------------------------------------------------------------- /articles/2020_09_27-flask_proxy.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_09_27-flask_proxy.md -------------------------------------------------------------------------------- /articles/2020_10_10-tcmalloc.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_10_10-tcmalloc.md -------------------------------------------------------------------------------- /articles/2020_10_17-golang_db_transaction.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_10_17-golang_db_transaction.md -------------------------------------------------------------------------------- /articles/2020_10_19-gorm_paniced.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_10_19-gorm_paniced.md -------------------------------------------------------------------------------- /articles/2020_10_24-vegetable.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_10_24-vegetable.md -------------------------------------------------------------------------------- /articles/2020_11_02-why_pipelining_fast.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_11_02-why_pipelining_fast.md -------------------------------------------------------------------------------- /articles/2020_11_13-java_colletions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_11_13-java_colletions.md -------------------------------------------------------------------------------- /articles/2020_11_26-grpc_error_handle.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_11_26-grpc_error_handle.md -------------------------------------------------------------------------------- /articles/2020_12_01-android_kotlin_coroutine.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_12_01-android_kotlin_coroutine.md -------------------------------------------------------------------------------- /articles/2020_12_07-android_kotlin_grpc.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_12_07-android_kotlin_grpc.md -------------------------------------------------------------------------------- /articles/2020_12_16-golang_migration.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_12_16-golang_migration.md -------------------------------------------------------------------------------- /articles/2020_12_19-grpc_authentication.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_12_19-grpc_authentication.md -------------------------------------------------------------------------------- /articles/2020_12_22-hello_2021.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_12_22-hello_2021.md -------------------------------------------------------------------------------- /articles/2020_12_23-call_screening.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2020_12_23-call_screening.md -------------------------------------------------------------------------------- /articles/2021_01_02-android_mvvm.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_01_02-android_mvvm.md -------------------------------------------------------------------------------- /articles/2021_01_03-deeplink_server_route.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_01_03-deeplink_server_route.md -------------------------------------------------------------------------------- /articles/2021_01_03-recycler_list_view_model.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_01_03-recycler_list_view_model.md -------------------------------------------------------------------------------- /articles/2021_01_13-kotlin_protobuf_serialization.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_01_13-kotlin_protobuf_serialization.md -------------------------------------------------------------------------------- /articles/2021_01_27-android_progress_bar.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_01_27-android_progress_bar.md -------------------------------------------------------------------------------- /articles/2021_02_04-why_save_config_to_repo.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_02_04-why_save_config_to_repo.md -------------------------------------------------------------------------------- /articles/2021_02_21-maintainable_function.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_02_21-maintainable_function.md -------------------------------------------------------------------------------- /articles/2021_02_24-use_algorithms_in_life.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_02_24-use_algorithms_in_life.md -------------------------------------------------------------------------------- /articles/2021_02_25-python_dict_tuple_as_key.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_02_25-python_dict_tuple_as_key.md -------------------------------------------------------------------------------- /articles/2021_03_11-android_fab_hide.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_03_11-android_fab_hide.md -------------------------------------------------------------------------------- /articles/2021_03_15-go_sync_map.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_03_15-go_sync_map.md -------------------------------------------------------------------------------- /articles/2021_03_18-go_config.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_03_18-go_config.md -------------------------------------------------------------------------------- /articles/2021_03_20-python_queue.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_03_20-python_queue.md -------------------------------------------------------------------------------- /articles/2021_03_23-go_gin_unittest.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_03_23-go_gin_unittest.md -------------------------------------------------------------------------------- /articles/2021_04_11-logrotate_read_only_filesystem.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_04_11-logrotate_read_only_filesystem.md -------------------------------------------------------------------------------- /articles/2021_04_14-system_design_archive.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_04_14-system_design_archive.md -------------------------------------------------------------------------------- /articles/2021_04_15-how_to_debug_program.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_04_15-how_to_debug_program.md -------------------------------------------------------------------------------- /articles/2021_04_29-cors.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_04_29-cors.md -------------------------------------------------------------------------------- /articles/2021_05_15-wal.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_05_15-wal.md -------------------------------------------------------------------------------- /articles/2021_05_22-redis_source_code_1.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_05_22-redis_source_code_1.md -------------------------------------------------------------------------------- /articles/2021_05_23-redis_source_code_2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_05_23-redis_source_code_2.md -------------------------------------------------------------------------------- /articles/2021_05_24-redis_source_code_3.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_05_24-redis_source_code_3.md -------------------------------------------------------------------------------- /articles/2021_05_24-redis_source_code_4.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_05_24-redis_source_code_4.md -------------------------------------------------------------------------------- /articles/2021_05_25-redis_source_code_5.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_05_25-redis_source_code_5.md -------------------------------------------------------------------------------- /articles/2021_05_26-redis_source_code_6.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_05_26-redis_source_code_6.md -------------------------------------------------------------------------------- /articles/2021_05_27-redis_source_code_7.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_05_27-redis_source_code_7.md -------------------------------------------------------------------------------- /articles/2021_05_28-redis_source_code_8.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_05_28-redis_source_code_8.md -------------------------------------------------------------------------------- /articles/2021_05_29-redis_source_code_9.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_05_29-redis_source_code_9.md -------------------------------------------------------------------------------- /articles/2021_05_30-redis_source_code_10.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_05_30-redis_source_code_10.md -------------------------------------------------------------------------------- /articles/2021_06_06-redis_source_code_11.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_06_06-redis_source_code_11.md -------------------------------------------------------------------------------- /articles/2021_06_07-redis_source_code_12.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_06_07-redis_source_code_12.md -------------------------------------------------------------------------------- /articles/2021_06_19-sqlite3.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_06_19-sqlite3.md -------------------------------------------------------------------------------- /articles/2021_06_22-json_int_precision.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_06_22-json_int_precision.md -------------------------------------------------------------------------------- /articles/2021_07_02-reflection_on_bug.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_07_02-reflection_on_bug.md -------------------------------------------------------------------------------- /articles/2021_07_06-manage_your_time.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_07_06-manage_your_time.md -------------------------------------------------------------------------------- /articles/2021_07_09-filter_your_call_and_sms.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_07_09-filter_your_call_and_sms.md -------------------------------------------------------------------------------- /articles/2021_08_19-selenium.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_08_19-selenium.md -------------------------------------------------------------------------------- /articles/2021_08_25-use_sentry.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_08_25-use_sentry.md -------------------------------------------------------------------------------- /articles/2021_08_27-mock_db_or_not.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_08_27-mock_db_or_not.md -------------------------------------------------------------------------------- /articles/2021_09_01-cron_is_not_convenient.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_09_01-cron_is_not_convenient.md -------------------------------------------------------------------------------- /articles/2021_09_06-use_entgo.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_09_06-use_entgo.md -------------------------------------------------------------------------------- /articles/2021_09_29-gevent_is_good_part1.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_09_29-gevent_is_good_part1.md -------------------------------------------------------------------------------- /articles/2021_10_11-gevent_is_good_part2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_10_11-gevent_is_good_part2.md -------------------------------------------------------------------------------- /articles/2021_10_12-go_mock.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_10_12-go_mock.md -------------------------------------------------------------------------------- /articles/2021_11_04-sql_injection.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_11_04-sql_injection.md -------------------------------------------------------------------------------- /articles/2021_11_26-use_barrier.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_11_26-use_barrier.md -------------------------------------------------------------------------------- /articles/2021_12_01-openwrt.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_12_01-openwrt.md -------------------------------------------------------------------------------- /articles/2021_12_11-go_copy_large_file_to_pg.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_12_11-go_copy_large_file_to_pg.md -------------------------------------------------------------------------------- /articles/2021_12_30-hello_2022.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2021_12_30-hello_2022.md -------------------------------------------------------------------------------- /articles/2022_01_09-gin_binding_args.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2022_01_09-gin_binding_args.md -------------------------------------------------------------------------------- /articles/2022_01_10-reflect_binding_args.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2022_01_10-reflect_binding_args.md -------------------------------------------------------------------------------- /articles/2022_03_12-tgbot_httprouter.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2022_03_12-tgbot_httprouter.md -------------------------------------------------------------------------------- /articles/2022_03_15-kvm_windows_gpu_passthrough.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2022_03_15-kvm_windows_gpu_passthrough.md -------------------------------------------------------------------------------- /articles/2022_03_17-go_generics.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2022_03_17-go_generics.md -------------------------------------------------------------------------------- /articles/2022_03_21-nginx_source_code_1.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2022_03_21-nginx_source_code_1.md -------------------------------------------------------------------------------- /articles/2022_03_22-nginx_source_code_2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2022_03_22-nginx_source_code_2.md -------------------------------------------------------------------------------- /articles/2022_03_23-nginx_source_code_3.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2022_03_23-nginx_source_code_3.md -------------------------------------------------------------------------------- /articles/2022_04_12-postgresql_fulltext_search.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2022_04_12-postgresql_fulltext_search.md -------------------------------------------------------------------------------- /articles/2022_04_28-golang_migrate_iofs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2022_04_28-golang_migrate_iofs.md -------------------------------------------------------------------------------- /articles/2022_04_29-drone_ci.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2022_04_29-drone_ci.md -------------------------------------------------------------------------------- /articles/2022_04_29-postgres_notes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2022_04_29-postgres_notes.md -------------------------------------------------------------------------------- /articles/2022_07_05-task_queue.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2022_07_05-task_queue.md -------------------------------------------------------------------------------- /articles/2022_07_06-openid_connect.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2022_07_06-openid_connect.md -------------------------------------------------------------------------------- /articles/2022_07_15-access_control.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2022_07_15-access_control.md -------------------------------------------------------------------------------- /articles/2022_07_27-how_to_return_error.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2022_07_27-how_to_return_error.md -------------------------------------------------------------------------------- /articles/2022_07_28-git_flows.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2022_07_28-git_flows.md -------------------------------------------------------------------------------- /articles/2022_10_06-elasticsearch.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2022_10_06-elasticsearch.md -------------------------------------------------------------------------------- /articles/2022_10_08-oauth2_explained.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2022_10_08-oauth2_explained.md -------------------------------------------------------------------------------- /articles/2022_10_09-oauth2_explained_implict_grant.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2022_10_09-oauth2_explained_implict_grant.md -------------------------------------------------------------------------------- /articles/2022_10_10-oauth2_explained_password.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2022_10_10-oauth2_explained_password.md -------------------------------------------------------------------------------- /articles/2022_10_11-oauth2_explained_device_code.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2022_10_11-oauth2_explained_device_code.md -------------------------------------------------------------------------------- /articles/2022_10_31-goconvey.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2022_10_31-goconvey.md -------------------------------------------------------------------------------- /articles/2022_11_04-grpc_error_handling.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2022_11_04-grpc_error_handling.md -------------------------------------------------------------------------------- /articles/2022_11_20-router.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2022_11_20-router.md -------------------------------------------------------------------------------- /articles/2022_12_04-openwrt_usb.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2022_12_04-openwrt_usb.md -------------------------------------------------------------------------------- /articles/2022_12_16-go_mod.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2022_12_16-go_mod.md -------------------------------------------------------------------------------- /articles/2022_12_31-hello_2023.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2022_12_31-hello_2023.md -------------------------------------------------------------------------------- /articles/2023_01_31-red_envelope.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2023_01_31-red_envelope.md -------------------------------------------------------------------------------- /articles/2023_02_03-mysql.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2023_02_03-mysql.md -------------------------------------------------------------------------------- /articles/2023_07_06-free_your_mind.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2023_07_06-free_your_mind.md -------------------------------------------------------------------------------- /articles/2023_07_09-high_output_management.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2023_07_09-high_output_management.md -------------------------------------------------------------------------------- /articles/2023_10_17-prometheus_promql.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2023_10_17-prometheus_promql.md -------------------------------------------------------------------------------- /articles/2023_11_05-kvm_windows_intel_gpu.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2023_11_05-kvm_windows_intel_gpu.md -------------------------------------------------------------------------------- /articles/2023_11_06-mac_keep_hostname.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2023_11_06-mac_keep_hostname.md -------------------------------------------------------------------------------- /articles/2023_11_10-synergy_core.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2023_11_10-synergy_core.md -------------------------------------------------------------------------------- /articles/2023_11_11-input_leap.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2023_11_11-input_leap.md -------------------------------------------------------------------------------- /articles/2023_11_12-long_running_task.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2023_11_12-long_running_task.md -------------------------------------------------------------------------------- /articles/2023_11_16-freebsd_linux_link_aggr.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2023_11_16-freebsd_linux_link_aggr.md -------------------------------------------------------------------------------- /articles/2023_11_17-freebsd_vm_bhyve.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2023_11_17-freebsd_vm_bhyve.md -------------------------------------------------------------------------------- /articles/2023_11_29-alist_webdav.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2023_11_29-alist_webdav.md -------------------------------------------------------------------------------- /articles/2023_12_17-vue3.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2023_12_17-vue3.md -------------------------------------------------------------------------------- /articles/2023_12_26-good_bye_2023.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2023_12_26-good_bye_2023.md -------------------------------------------------------------------------------- /articles/2023_12_30-something_really_new.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2023_12_30-something_really_new.md -------------------------------------------------------------------------------- /articles/2024_01_07-openai_prompt_engineering.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2024_01_07-openai_prompt_engineering.md -------------------------------------------------------------------------------- /articles/2024_03_01-pg_window_function.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2024_03_01-pg_window_function.md -------------------------------------------------------------------------------- /articles/2024_03_03-copilot_as_gpt4.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2024_03_03-copilot_as_gpt4.md -------------------------------------------------------------------------------- /articles/2024_03_05-postgresql_conf.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2024_03_05-postgresql_conf.md -------------------------------------------------------------------------------- /articles/2024_03_07-juicefs_postgresql.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2024_03_07-juicefs_postgresql.md -------------------------------------------------------------------------------- /articles/2024_03_08-clash_vpn.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2024_03_08-clash_vpn.md -------------------------------------------------------------------------------- /articles/2024_03_09-postgresql_as_mq.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2024_03_09-postgresql_as_mq.md -------------------------------------------------------------------------------- /articles/2024_03_10-golang_cas.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2024_03_10-golang_cas.md -------------------------------------------------------------------------------- /articles/2024_03_19-flatpak.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2024_03_19-flatpak.md -------------------------------------------------------------------------------- /articles/2024_03_20-flutter_macos.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2024_03_20-flutter_macos.md -------------------------------------------------------------------------------- /articles/2024_07_21-context.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2024_07_21-context.md -------------------------------------------------------------------------------- /articles/2024_07_24-twos_complement.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2024_07_24-twos_complement.md -------------------------------------------------------------------------------- /articles/2024_08_30-http_load_testing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2024_08_30-http_load_testing.md -------------------------------------------------------------------------------- /articles/2024_09_06-browser_download_file.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2024_09_06-browser_download_file.md -------------------------------------------------------------------------------- /articles/2024_09_06-reread_3_books.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2024_09_06-reread_3_books.md -------------------------------------------------------------------------------- /articles/2024_09_07-the_pragmatic_programmer.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2024_09_07-the_pragmatic_programmer.md -------------------------------------------------------------------------------- /articles/2024_11_07-auto_upgrade_docker.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2024_11_07-auto_upgrade_docker.md -------------------------------------------------------------------------------- /articles/2024_11_20-tailscale_derp.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2024_11_20-tailscale_derp.md -------------------------------------------------------------------------------- /articles/2024_12_29-bye_2024.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2024_12_29-bye_2024.md -------------------------------------------------------------------------------- /articles/2025_02_15-ai.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2025_02_15-ai.md -------------------------------------------------------------------------------- /articles/2025_02_16-aws_iam.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2025_02_16-aws_iam.md -------------------------------------------------------------------------------- /articles/2025_02_16-k8s_controller.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2025_02_16-k8s_controller.md -------------------------------------------------------------------------------- /articles/2025_03_15-bottlerocket_debug.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2025_03_15-bottlerocket_debug.md -------------------------------------------------------------------------------- /articles/2025_03_16-freebsd_frpc.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2025_03_16-freebsd_frpc.md -------------------------------------------------------------------------------- /articles/2025_03_18-xmonad_xfce4.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2025_03_18-xmonad_xfce4.md -------------------------------------------------------------------------------- /articles/2025_03_21-podman.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2025_03_21-podman.md -------------------------------------------------------------------------------- /articles/2025_03_22-cursor_ctrl_l.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2025_03_22-cursor_ctrl_l.md -------------------------------------------------------------------------------- /articles/2025_04_02-podman_rootless_exited.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2025_04_02-podman_rootless_exited.md -------------------------------------------------------------------------------- /articles/2025_05_24-wake_on_lan.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2025_05_24-wake_on_lan.md -------------------------------------------------------------------------------- /articles/2025_09_02-lightning_source_code.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2025_09_02-lightning_source_code.md -------------------------------------------------------------------------------- /articles/2025_09_07-to_b_saas.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2025_09_07-to_b_saas.md -------------------------------------------------------------------------------- /articles/2025_09_21-siri_ssh.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2025_09_21-siri_ssh.md -------------------------------------------------------------------------------- /articles/2025_10_01-tidb_source_code.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2025_10_01-tidb_source_code.md -------------------------------------------------------------------------------- /articles/2025_10_03-tidb_source_code_insert.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2025_10_03-tidb_source_code_insert.md -------------------------------------------------------------------------------- /articles/2025_10_05-tidb_source_code_index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2025_10_05-tidb_source_code_index.md -------------------------------------------------------------------------------- /articles/2025_10_06-performance.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/2025_10_06-performance.md -------------------------------------------------------------------------------- /articles/404.md: -------------------------------------------------------------------------------- 1 | # 没有找到这个页面 2 | 3 | 您访问到了一篇博主正在努力撰写的文章 :) [查看已有文章](/archive) 4 | -------------------------------------------------------------------------------- /articles/500.md: -------------------------------------------------------------------------------- 1 | # Oops... 2 | 3 | 服务器出了点小问题,正在修复 :) [查看已有文章](/archive) 4 | -------------------------------------------------------------------------------- /articles/aboutme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/aboutme.md -------------------------------------------------------------------------------- /articles/app.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/app.md -------------------------------------------------------------------------------- /articles/flutter.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/flutter.md -------------------------------------------------------------------------------- /articles/friends.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/friends.md -------------------------------------------------------------------------------- /articles/img/aes_addroundkey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/aes_addroundkey.png -------------------------------------------------------------------------------- /articles/img/aes_mixcolumns.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/aes_mixcolumns.png -------------------------------------------------------------------------------- /articles/img/aes_shiftrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/aes_shiftrows.png -------------------------------------------------------------------------------- /articles/img/aes_subbytes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/aes_subbytes.png -------------------------------------------------------------------------------- /articles/img/architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/architecture.png -------------------------------------------------------------------------------- /articles/img/asymmetric_crypto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/asymmetric_crypto.png -------------------------------------------------------------------------------- /articles/img/auth-sequence-auth-code-pkce.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/auth-sequence-auth-code-pkce.png -------------------------------------------------------------------------------- /articles/img/auth-sequence-auth-code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/auth-sequence-auth-code.png -------------------------------------------------------------------------------- /articles/img/auth-sequence-device-auth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/auth-sequence-device-auth.png -------------------------------------------------------------------------------- /articles/img/auth-sequence-implicit-form-post.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/auth-sequence-implicit-form-post.png -------------------------------------------------------------------------------- /articles/img/auth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/auth.png -------------------------------------------------------------------------------- /articles/img/barrier_client.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/barrier_client.png -------------------------------------------------------------------------------- /articles/img/barrier_server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/barrier_server.png -------------------------------------------------------------------------------- /articles/img/basic_html_structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/basic_html_structure.png -------------------------------------------------------------------------------- /articles/img/before_openwrt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/before_openwrt.png -------------------------------------------------------------------------------- /articles/img/big_debt_crises.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/big_debt_crises.png -------------------------------------------------------------------------------- /articles/img/binary_framing_layer01.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/binary_framing_layer01.svg -------------------------------------------------------------------------------- /articles/img/blogapp_drawer.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/blogapp_drawer.gif -------------------------------------------------------------------------------- /articles/img/blogapp_load_more.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/blogapp_load_more.gif -------------------------------------------------------------------------------- /articles/img/blogapp_pull_to_refresh.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/blogapp_pull_to_refresh.gif -------------------------------------------------------------------------------- /articles/img/blogapp_webview.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/blogapp_webview.gif -------------------------------------------------------------------------------- /articles/img/call_sms_filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/call_sms_filter.png -------------------------------------------------------------------------------- /articles/img/call_stack_layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/call_stack_layout.png -------------------------------------------------------------------------------- /articles/img/chap1_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/chap1_1.png -------------------------------------------------------------------------------- /articles/img/chap3_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/chap3_1.png -------------------------------------------------------------------------------- /articles/img/chap7_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/chap7_1.png -------------------------------------------------------------------------------- /articles/img/chap7_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/chap7_2.png -------------------------------------------------------------------------------- /articles/img/chap8_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/chap8_1.png -------------------------------------------------------------------------------- /articles/img/client_credentials_flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/client_credentials_flow.png -------------------------------------------------------------------------------- /articles/img/computer_arch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/computer_arch.png -------------------------------------------------------------------------------- /articles/img/containerd_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/containerd_architecture.png -------------------------------------------------------------------------------- /articles/img/context_switch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/context_switch.png -------------------------------------------------------------------------------- /articles/img/cpu_arch.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/cpu_arch.jpg -------------------------------------------------------------------------------- /articles/img/css_box_model.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/css_box_model.png -------------------------------------------------------------------------------- /articles/img/des_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/des_round.png -------------------------------------------------------------------------------- /articles/img/docker_arch.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/docker_arch.jpeg -------------------------------------------------------------------------------- /articles/img/dontcallme.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/dontcallme.jpg -------------------------------------------------------------------------------- /articles/img/dot_demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/dot_demo.png -------------------------------------------------------------------------------- /articles/img/dot_demo_label.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/dot_demo_label.png -------------------------------------------------------------------------------- /articles/img/dot_demo_red_node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/dot_demo_red_node.png -------------------------------------------------------------------------------- /articles/img/drone_ci.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/drone_ci.png -------------------------------------------------------------------------------- /articles/img/droneci.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/droneci.png -------------------------------------------------------------------------------- /articles/img/drop_css_index_page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/drop_css_index_page.png -------------------------------------------------------------------------------- /articles/img/es.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/es.png -------------------------------------------------------------------------------- /articles/img/fibnacci1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/fibnacci1.png -------------------------------------------------------------------------------- /articles/img/fibnacci2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/fibnacci2.png -------------------------------------------------------------------------------- /articles/img/firefox_proxy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/firefox_proxy.png -------------------------------------------------------------------------------- /articles/img/flutter_hello_world.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/flutter_hello_world.png -------------------------------------------------------------------------------- /articles/img/frp_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/frp_architecture.png -------------------------------------------------------------------------------- /articles/img/frp_flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/frp_flow.png -------------------------------------------------------------------------------- /articles/img/fun_2024.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/fun_2024.jpeg -------------------------------------------------------------------------------- /articles/img/ga_country.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/ga_country.png -------------------------------------------------------------------------------- /articles/img/ga_user_feature.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/ga_user_feature.png -------------------------------------------------------------------------------- /articles/img/ga_user_from.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/ga_user_from.png -------------------------------------------------------------------------------- /articles/img/ga_user_habbit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/ga_user_habbit.png -------------------------------------------------------------------------------- /articles/img/ga_users.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/ga_users.png -------------------------------------------------------------------------------- /articles/img/ga_users_after_contribute.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/ga_users_after_contribute.png -------------------------------------------------------------------------------- /articles/img/gfs_figure1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/gfs_figure1.png -------------------------------------------------------------------------------- /articles/img/gitea_application_create.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/gitea_application_create.png -------------------------------------------------------------------------------- /articles/img/gitea_application_created.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/gitea_application_created.png -------------------------------------------------------------------------------- /articles/img/go_mod_mvs.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/go_mod_mvs.svg -------------------------------------------------------------------------------- /articles/img/gotasks.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/gotasks.jpg -------------------------------------------------------------------------------- /articles/img/grafana_mysql.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/grafana_mysql.png -------------------------------------------------------------------------------- /articles/img/hmac.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/hmac.png -------------------------------------------------------------------------------- /articles/img/html_list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/html_list.png -------------------------------------------------------------------------------- /articles/img/html_table.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/html_table.png -------------------------------------------------------------------------------- /articles/img/html_tags_and_properties.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/html_tags_and_properties.png -------------------------------------------------------------------------------- /articles/img/htop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/htop.png -------------------------------------------------------------------------------- /articles/img/human_and_mobile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/human_and_mobile.png -------------------------------------------------------------------------------- /articles/img/iap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/iap.png -------------------------------------------------------------------------------- /articles/img/im_archive_sys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/im_archive_sys.png -------------------------------------------------------------------------------- /articles/img/ime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/ime.png -------------------------------------------------------------------------------- /articles/img/inline_keyboard.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/inline_keyboard.jpeg -------------------------------------------------------------------------------- /articles/img/insertion_sort.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/insertion_sort.png -------------------------------------------------------------------------------- /articles/img/interview.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/interview.jpeg -------------------------------------------------------------------------------- /articles/img/java_collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/java_collection.png -------------------------------------------------------------------------------- /articles/img/jxufe.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/jxufe.jpg -------------------------------------------------------------------------------- /articles/img/k8s_arch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/k8s_arch.png -------------------------------------------------------------------------------- /articles/img/k8s_service.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/k8s_service.png -------------------------------------------------------------------------------- /articles/img/kanboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/kanboard.png -------------------------------------------------------------------------------- /articles/img/kubectl_run.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/kubectl_run.png -------------------------------------------------------------------------------- /articles/img/layered_network_system.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/layered_network_system.png -------------------------------------------------------------------------------- /articles/img/learning_curve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/learning_curve.png -------------------------------------------------------------------------------- /articles/img/lightning-import-process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/lightning-import-process.png -------------------------------------------------------------------------------- /articles/img/linux_memory_layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/linux_memory_layout.png -------------------------------------------------------------------------------- /articles/img/linux_sys_call.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/linux_sys_call.png -------------------------------------------------------------------------------- /articles/img/linux_thread.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/linux_thread.jpg -------------------------------------------------------------------------------- /articles/img/map_reduce_figure1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/map_reduce_figure1.png -------------------------------------------------------------------------------- /articles/img/micro_service.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/micro_service.jpeg -------------------------------------------------------------------------------- /articles/img/modern_os.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/modern_os.png -------------------------------------------------------------------------------- /articles/img/mysql_arch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/mysql_arch.png -------------------------------------------------------------------------------- /articles/img/mysql_query_progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/mysql_query_progress.png -------------------------------------------------------------------------------- /articles/img/mysql_select_type.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/mysql_select_type.png -------------------------------------------------------------------------------- /articles/img/net_http_mem_leak_1.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/net_http_mem_leak_1.svg -------------------------------------------------------------------------------- /articles/img/net_http_mem_leak_2.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/net_http_mem_leak_2.svg -------------------------------------------------------------------------------- /articles/img/network_not_work_with_vpn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/network_not_work_with_vpn.png -------------------------------------------------------------------------------- /articles/img/network_performance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/network_performance.png -------------------------------------------------------------------------------- /articles/img/network_programming.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/network_programming.png -------------------------------------------------------------------------------- /articles/img/network_work_with_vpn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/network_work_with_vpn.png -------------------------------------------------------------------------------- /articles/img/nginx_flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/nginx_flow.png -------------------------------------------------------------------------------- /articles/img/oo1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/oo1.png -------------------------------------------------------------------------------- /articles/img/oo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/oo2.png -------------------------------------------------------------------------------- /articles/img/openwrt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/openwrt.png -------------------------------------------------------------------------------- /articles/img/password_on_iphone.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/password_on_iphone.jpg -------------------------------------------------------------------------------- /articles/img/pgtune.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/pgtune.png -------------------------------------------------------------------------------- /articles/img/phantoms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/phantoms.png -------------------------------------------------------------------------------- /articles/img/preflight_correct.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/preflight_correct.png -------------------------------------------------------------------------------- /articles/img/program_memory_layout.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/program_memory_layout.jpg -------------------------------------------------------------------------------- /articles/img/prometheus_arch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/prometheus_arch.png -------------------------------------------------------------------------------- /articles/img/pubkey_encrypt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/pubkey_encrypt.png -------------------------------------------------------------------------------- /articles/img/quicklist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/quicklist.png -------------------------------------------------------------------------------- /articles/img/radix_tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/radix_tree.png -------------------------------------------------------------------------------- /articles/img/raftexample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/raftexample.png -------------------------------------------------------------------------------- /articles/img/read_committed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/read_committed.png -------------------------------------------------------------------------------- /articles/img/read_committed_dirty_write.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/read_committed_dirty_write.png -------------------------------------------------------------------------------- /articles/img/recursive1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/recursive1.png -------------------------------------------------------------------------------- /articles/img/redis_skiplist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/redis_skiplist.png -------------------------------------------------------------------------------- /articles/img/redis_stream_xadd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/redis_stream_xadd.png -------------------------------------------------------------------------------- /articles/img/redis_stream_xreadgroup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/redis_stream_xreadgroup.png -------------------------------------------------------------------------------- /articles/img/resource_owner_password_grant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/resource_owner_password_grant.png -------------------------------------------------------------------------------- /articles/img/screenshot0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/screenshot0.png -------------------------------------------------------------------------------- /articles/img/screenshot1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/screenshot1.png -------------------------------------------------------------------------------- /articles/img/seckey_sign.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/seckey_sign.png -------------------------------------------------------------------------------- /articles/img/simple_req.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/simple_req.png -------------------------------------------------------------------------------- /articles/img/sliding_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/sliding_window.png -------------------------------------------------------------------------------- /articles/img/socks5_server_traffic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/socks5_server_traffic.png -------------------------------------------------------------------------------- /articles/img/software_arch_broker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/software_arch_broker.png -------------------------------------------------------------------------------- /articles/img/software_arch_client_server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/software_arch_client_server.png -------------------------------------------------------------------------------- /articles/img/software_arch_eventbus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/software_arch_eventbus.png -------------------------------------------------------------------------------- /articles/img/software_arch_layer_mode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/software_arch_layer_mode.png -------------------------------------------------------------------------------- /articles/img/software_arch_master_slave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/software_arch_master_slave.png -------------------------------------------------------------------------------- /articles/img/software_arch_mvc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/software_arch_mvc.png -------------------------------------------------------------------------------- /articles/img/software_arch_p2p.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/software_arch_p2p.png -------------------------------------------------------------------------------- /articles/img/software_arch_pipe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/software_arch_pipe.png -------------------------------------------------------------------------------- /articles/img/sqla_arch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/sqla_arch.png -------------------------------------------------------------------------------- /articles/img/sqlite3_file_format.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/sqlite3_file_format.png -------------------------------------------------------------------------------- /articles/img/sqlite3_file_header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/sqlite3_file_header.png -------------------------------------------------------------------------------- /articles/img/stackguard1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/stackguard1.png -------------------------------------------------------------------------------- /articles/img/stackguard2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/stackguard2.png -------------------------------------------------------------------------------- /articles/img/stop_and_wait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/stop_and_wait.png -------------------------------------------------------------------------------- /articles/img/stream1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/stream1.jpg -------------------------------------------------------------------------------- /articles/img/stream12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/stream12.jpg -------------------------------------------------------------------------------- /articles/img/stream2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/stream2.jpg -------------------------------------------------------------------------------- /articles/img/stream_multiplexing.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/stream_multiplexing.svg -------------------------------------------------------------------------------- /articles/img/system_design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/system_design.png -------------------------------------------------------------------------------- /articles/img/taiji.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/taiji.jpeg -------------------------------------------------------------------------------- /articles/img/task_queue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/task_queue.png -------------------------------------------------------------------------------- /articles/img/task_queue_peak.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/task_queue_peak.png -------------------------------------------------------------------------------- /articles/img/tcmalloc_backend_legacy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/tcmalloc_backend_legacy.png -------------------------------------------------------------------------------- /articles/img/tcmalloc_components.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/tcmalloc_components.png -------------------------------------------------------------------------------- /articles/img/tcmalloc_per_cpu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/tcmalloc_per_cpu.png -------------------------------------------------------------------------------- /articles/img/tcmalloc_per_thread.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/tcmalloc_per_thread.png -------------------------------------------------------------------------------- /articles/img/tcp_server_client.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/tcp_server_client.png -------------------------------------------------------------------------------- /articles/img/the_go_programming_language.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/the_go_programming_language.jpg -------------------------------------------------------------------------------- /articles/img/the_little_prince.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/the_little_prince.png -------------------------------------------------------------------------------- /articles/img/the_long_view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/the_long_view.png -------------------------------------------------------------------------------- /articles/img/the_practice_of_management.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/the_practice_of_management.png -------------------------------------------------------------------------------- /articles/img/the_simple_things_in_investment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/the_simple_things_in_investment.png -------------------------------------------------------------------------------- /articles/img/thinking_in_systems.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/thinking_in_systems.png -------------------------------------------------------------------------------- /articles/img/tornado.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/tornado.png -------------------------------------------------------------------------------- /articles/img/traefik-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/traefik-architecture.png -------------------------------------------------------------------------------- /articles/img/udpfuncdiag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/udpfuncdiag.png -------------------------------------------------------------------------------- /articles/img/ukulele.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/ukulele.jpg -------------------------------------------------------------------------------- /articles/img/virt_manager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/virt_manager.png -------------------------------------------------------------------------------- /articles/img/virt_manager_add_bridge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/virt_manager_add_bridge.png -------------------------------------------------------------------------------- /articles/img/win_task_manager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/img/win_task_manager.png -------------------------------------------------------------------------------- /articles/tutorial.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/articles/tutorial.md -------------------------------------------------------------------------------- /config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/config.py -------------------------------------------------------------------------------- /dao.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/dao.go -------------------------------------------------------------------------------- /deploy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/deploy.yml -------------------------------------------------------------------------------- /dot/frp_flow.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/dot/frp_flow.dot -------------------------------------------------------------------------------- /dot/nginx_flow.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/dot/nginx_flow.dot -------------------------------------------------------------------------------- /draft/.placeholder: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /draft/2020_08_24-go_src_entrypoint.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/draft/2020_08_24-go_src_entrypoint.md -------------------------------------------------------------------------------- /gen_catalog.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/gen_catalog.py -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/go.sum -------------------------------------------------------------------------------- /main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/main.go -------------------------------------------------------------------------------- /migrations/README: -------------------------------------------------------------------------------- 1 | Generic single-database configuration. -------------------------------------------------------------------------------- /migrations/env.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/migrations/env.py -------------------------------------------------------------------------------- /migrations/script.py.mako: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/migrations/script.py.mako -------------------------------------------------------------------------------- /migrations/versions/548f680df239_add_url.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/migrations/versions/548f680df239_add_url.py -------------------------------------------------------------------------------- /migrations/versions/907a80dc8ab8_init.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/migrations/versions/907a80dc8ab8_init.py -------------------------------------------------------------------------------- /models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/models.py -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/requirements.txt -------------------------------------------------------------------------------- /revision.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | alembic revision --autogenerate -m $@ 4 | -------------------------------------------------------------------------------- /start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | go build && ./blog 4 | -------------------------------------------------------------------------------- /static/ads.txt: -------------------------------------------------------------------------------- 1 | google.com, pub-6941340661228088, DIRECT, f08c47fec0942fa0 2 | -------------------------------------------------------------------------------- /static/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/static/apple-touch-icon.png -------------------------------------------------------------------------------- /static/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/static/avatar.png -------------------------------------------------------------------------------- /static/block_img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/static/block_img.png -------------------------------------------------------------------------------- /static/computer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/static/computer.png -------------------------------------------------------------------------------- /static/email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/static/email.png -------------------------------------------------------------------------------- /static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/static/favicon.ico -------------------------------------------------------------------------------- /static/golang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/static/golang.png -------------------------------------------------------------------------------- /static/kindle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/static/kindle.png -------------------------------------------------------------------------------- /static/mp.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/static/mp.jpg -------------------------------------------------------------------------------- /static/pass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/static/pass.png -------------------------------------------------------------------------------- /static/python.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/static/python.png -------------------------------------------------------------------------------- /static/reward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/static/reward.png -------------------------------------------------------------------------------- /static/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /static/rss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/static/rss.png -------------------------------------------------------------------------------- /static/styles.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/static/styles.css -------------------------------------------------------------------------------- /static/styles.min.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/static/styles.min.css -------------------------------------------------------------------------------- /static/telegram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/static/telegram.png -------------------------------------------------------------------------------- /static/web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/static/web.png -------------------------------------------------------------------------------- /static/wechat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/static/wechat.png -------------------------------------------------------------------------------- /static/wechat_qrcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/static/wechat_qrcode.png -------------------------------------------------------------------------------- /static/wechat_reward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/static/wechat_reward.png -------------------------------------------------------------------------------- /templates/ads.txt: -------------------------------------------------------------------------------- 1 | google.com, pub-6941340661228088, DIRECT, f08c47fec0942fa0 2 | -------------------------------------------------------------------------------- /templates/article.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/templates/article.html -------------------------------------------------------------------------------- /templates/footer.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/templates/footer.html -------------------------------------------------------------------------------- /templates/header.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/templates/header.html -------------------------------------------------------------------------------- /templates/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/templates/index.html -------------------------------------------------------------------------------- /templates/list.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/templates/list.html -------------------------------------------------------------------------------- /templates/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/templates/robots.txt -------------------------------------------------------------------------------- /templates/rss.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/templates/rss.html -------------------------------------------------------------------------------- /templates/sharing_rss.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/templates/sharing_rss.html -------------------------------------------------------------------------------- /templates/sitemap.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/templates/sitemap.html -------------------------------------------------------------------------------- /tgbot.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tgbot.go -------------------------------------------------------------------------------- /tutorial/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tutorial/data_structure/array.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/data_structure/array.md -------------------------------------------------------------------------------- /tutorial/data_structure/bitmap.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/data_structure/bitmap.md -------------------------------------------------------------------------------- /tutorial/data_structure/btree.md: -------------------------------------------------------------------------------- 1 | # b-tree 2 | 3 | 数据库索引 4 | -------------------------------------------------------------------------------- /tutorial/data_structure/dict.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/data_structure/dict.md -------------------------------------------------------------------------------- /tutorial/data_structure/heap.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/data_structure/heap.md -------------------------------------------------------------------------------- /tutorial/data_structure/hyperloglog.md: -------------------------------------------------------------------------------- 1 | # hyperloglog 2 | 3 | 4 | -------------------------------------------------------------------------------- /tutorial/data_structure/img/array.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/data_structure/img/array.png -------------------------------------------------------------------------------- /tutorial/data_structure/img/array_10_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/data_structure/img/array_10_15.png -------------------------------------------------------------------------------- /tutorial/data_structure/img/array_12345.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/data_structure/img/array_12345.png -------------------------------------------------------------------------------- /tutorial/data_structure/img/array_get_element.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/data_structure/img/array_get_element.png -------------------------------------------------------------------------------- /tutorial/data_structure/img/array_with_holes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/data_structure/img/array_with_holes.png -------------------------------------------------------------------------------- /tutorial/data_structure/img/binary_tree_dict.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/data_structure/img/binary_tree_dict.png -------------------------------------------------------------------------------- /tutorial/data_structure/img/bitmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/data_structure/img/bitmap.png -------------------------------------------------------------------------------- /tutorial/data_structure/img/bitmap_nil_value.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/data_structure/img/bitmap_nil_value.png -------------------------------------------------------------------------------- /tutorial/data_structure/img/bitmap_set_3rd_bit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/data_structure/img/bitmap_set_3rd_bit.png -------------------------------------------------------------------------------- /tutorial/data_structure/img/deque.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/data_structure/img/deque.png -------------------------------------------------------------------------------- /tutorial/data_structure/img/insert_into_array.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/data_structure/img/insert_into_array.png -------------------------------------------------------------------------------- /tutorial/data_structure/img/linked_list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/data_structure/img/linked_list.png -------------------------------------------------------------------------------- /tutorial/data_structure/img/linked_list_demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/data_structure/img/linked_list_demo.png -------------------------------------------------------------------------------- /tutorial/data_structure/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/data_structure/index.md -------------------------------------------------------------------------------- /tutorial/data_structure/linkedlist.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/data_structure/linkedlist.md -------------------------------------------------------------------------------- /tutorial/data_structure/queue.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/data_structure/queue.md -------------------------------------------------------------------------------- /tutorial/data_structure/set.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/data_structure/set.md -------------------------------------------------------------------------------- /tutorial/data_structure/sorted_set.md: -------------------------------------------------------------------------------- 1 | # 有序集合 2 | 3 | 树的实现和跳跃表实现 4 | -------------------------------------------------------------------------------- /tutorial/data_structure/stack.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/data_structure/stack.md -------------------------------------------------------------------------------- /tutorial/data_structure/trie.md: -------------------------------------------------------------------------------- 1 | # trie 2 | 3 | 路由 4 | -------------------------------------------------------------------------------- /tutorial/golang/README.md: -------------------------------------------------------------------------------- 1 | # Golang教程 2 | 3 | 见 [目录](./index.md) 4 | -------------------------------------------------------------------------------- /tutorial/golang/basic_types.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/basic_types.md -------------------------------------------------------------------------------- /tutorial/golang/channel.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/channel.md -------------------------------------------------------------------------------- /tutorial/golang/composite_types.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/composite_types.md -------------------------------------------------------------------------------- /tutorial/golang/concurrency.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/concurrency.md -------------------------------------------------------------------------------- /tutorial/golang/errors.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/errors.md -------------------------------------------------------------------------------- /tutorial/golang/flow.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/flow.md -------------------------------------------------------------------------------- /tutorial/golang/function.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/function.md -------------------------------------------------------------------------------- /tutorial/golang/go_tool.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/go_tool.md -------------------------------------------------------------------------------- /tutorial/golang/goroutine.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/goroutine.md -------------------------------------------------------------------------------- /tutorial/golang/hello_world.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/hello_world.md -------------------------------------------------------------------------------- /tutorial/golang/img/go_install_windows_step1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/img/go_install_windows_step1.png -------------------------------------------------------------------------------- /tutorial/golang/img/go_install_windows_step2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/img/go_install_windows_step2.png -------------------------------------------------------------------------------- /tutorial/golang/img/go_install_windows_step3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/img/go_install_windows_step3.png -------------------------------------------------------------------------------- /tutorial/golang/img/go_install_windows_step4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/img/go_install_windows_step4.png -------------------------------------------------------------------------------- /tutorial/golang/img/go_install_windows_step5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/img/go_install_windows_step5.png -------------------------------------------------------------------------------- /tutorial/golang/img/go_install_windows_step6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/img/go_install_windows_step6.png -------------------------------------------------------------------------------- /tutorial/golang/img/go_install_windows_step7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/img/go_install_windows_step7.png -------------------------------------------------------------------------------- /tutorial/golang/img/go_install_windows_step8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/img/go_install_windows_step8.png -------------------------------------------------------------------------------- /tutorial/golang/img/golang_dl_linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/img/golang_dl_linux.png -------------------------------------------------------------------------------- /tutorial/golang/img/golang_dl_macos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/img/golang_dl_macos.png -------------------------------------------------------------------------------- /tutorial/golang/img/golang_dl_windows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/img/golang_dl_windows.png -------------------------------------------------------------------------------- /tutorial/golang/img/golang_install_macos_step1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/img/golang_install_macos_step1.png -------------------------------------------------------------------------------- /tutorial/golang/img/golang_install_macos_step2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/img/golang_install_macos_step2.png -------------------------------------------------------------------------------- /tutorial/golang/img/golang_install_macos_step3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/img/golang_install_macos_step3.png -------------------------------------------------------------------------------- /tutorial/golang/img/golang_install_macos_step4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/img/golang_install_macos_step4.png -------------------------------------------------------------------------------- /tutorial/golang/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/index.md -------------------------------------------------------------------------------- /tutorial/golang/installation_linux.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/installation_linux.md -------------------------------------------------------------------------------- /tutorial/golang/installation_mac_os.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/installation_mac_os.md -------------------------------------------------------------------------------- /tutorial/golang/installation_windows.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/installation_windows.md -------------------------------------------------------------------------------- /tutorial/golang/interface.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/interface.md -------------------------------------------------------------------------------- /tutorial/golang/intro.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/intro.md -------------------------------------------------------------------------------- /tutorial/golang/oo.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/oo.md -------------------------------------------------------------------------------- /tutorial/golang/pointers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/golang/pointers.md -------------------------------------------------------------------------------- /tutorial/python/README.md: -------------------------------------------------------------------------------- 1 | # Python简明教程 2 | 3 | 见 [目录](./index.md) 4 | -------------------------------------------------------------------------------- /tutorial/python/basic_types.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/python/basic_types.md -------------------------------------------------------------------------------- /tutorial/python/composite_types.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/python/composite_types.md -------------------------------------------------------------------------------- /tutorial/python/exception.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/python/exception.md -------------------------------------------------------------------------------- /tutorial/python/flow.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/python/flow.md -------------------------------------------------------------------------------- /tutorial/python/function.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/python/function.md -------------------------------------------------------------------------------- /tutorial/python/hello_world.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/python/hello_world.md -------------------------------------------------------------------------------- /tutorial/python/img/install_on_windows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/python/img/install_on_windows.png -------------------------------------------------------------------------------- /tutorial/python/img/install_on_windows_step1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/python/img/install_on_windows_step1.png -------------------------------------------------------------------------------- /tutorial/python/img/install_on_windows_step2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/python/img/install_on_windows_step2.png -------------------------------------------------------------------------------- /tutorial/python/img/install_on_windows_step3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/python/img/install_on_windows_step3.png -------------------------------------------------------------------------------- /tutorial/python/img/install_on_windows_step4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/python/img/install_on_windows_step4.png -------------------------------------------------------------------------------- /tutorial/python/img/install_on_windows_step5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/python/img/install_on_windows_step5.png -------------------------------------------------------------------------------- /tutorial/python/img/install_on_windows_step6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/python/img/install_on_windows_step6.png -------------------------------------------------------------------------------- /tutorial/python/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/python/index.md -------------------------------------------------------------------------------- /tutorial/python/interface.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/python/interface.md -------------------------------------------------------------------------------- /tutorial/python/linux.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/python/linux.md -------------------------------------------------------------------------------- /tutorial/python/macos.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/python/macos.md -------------------------------------------------------------------------------- /tutorial/python/module_and_package.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/python/module_and_package.md -------------------------------------------------------------------------------- /tutorial/python/oo.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/python/oo.md -------------------------------------------------------------------------------- /tutorial/python/source_code_analysis.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/python/source_code_analysis.md -------------------------------------------------------------------------------- /tutorial/python/windows.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/tutorial/python/windows.md -------------------------------------------------------------------------------- /utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiajunhuang/blog/HEAD/utils.py --------------------------------------------------------------------------------