Directories ¶ Show internal Expand all Path Synopsis Udemy_LearnGo Level1 Level10_Channels Level11_Errors Level2 Level3_ControlFlow Level4_GroupingData Level5_Structs Level6_Functions Level7_Pointers Level8_CommonPackages Level9_Concurrency golang-web-dev-master 001_prereq/01 001_prereq/hands-on-01 001_prereq/hands-on-02 001_prereq/hands-on-03 003_string-to-html/01_stdout 003_string-to-html/02_file 003_string-to-html/03_os-Args 004_parse_execute/01_stdout 004_parse_execute/02_file 004_parse_execute/03_ParseFiles 004_parse_execute/04_ParseGlob 004_parse_execute/05_performant-parsing_func-init 005_data/01 006_variable/01 007_data-structures/01_slice/01 007_data-structures/01_slice/02_variable 007_data-structures/02_map/01 007_data-structures/02_map/02_variable 007_data-structures/02_map/02_variable/no-order 007_data-structures/03_struct/01 007_data-structures/03_struct/02_variable 007_data-structures/04_slice-struct 007_data-structures/05_struct-slice-struct/01 007_data-structures/05_struct-slice-struct/02_refactored 008_func/01 008_func/02_date-formatting 008_func/03_pipeline 008_func/04_pipeline 009_predefined-global-functions/01_index/01 009_predefined-global-functions/01_index/02 009_predefined-global-functions/02_and 009_predefined-global-functions/03_comparison 010_nested-templates/01_nested-templates 010_nested-templates/02_data-to-template 010_nested-templates/03_define-template 010_nested-templates/04_preview 011_composition-and-methods/01 011_composition-and-methods/02 011_composition-and-methods/03 011_composition-and-methods/04_method 012_hands-on/01_hands-on/starting-code 012_hands-on/02_solution 012_hands-on/03_hands-on 012_hands-on/04_solution/01 012_hands-on/04_solution/02 012_hands-on/04_solution/03 012_hands-on/05_hands-on 012_hands-on/06_solution/01 012_hands-on/06_solution/02 012_hands-on/08_solution/01 012_hands-on/09_hands-on 012_hands-on/10_solution 013_xss/01_text-template_no-escaping 013_xss/02_html-template_escaping 015_understanding-TCP-servers/01_write 015_understanding-TCP-servers/02_read 015_understanding-TCP-servers/03_read-write 015_understanding-TCP-servers/04_read-write-setDeadline 015_understanding-TCP-servers/05_dial-read 015_understanding-TCP-servers/06_dial-write 015_understanding-TCP-servers/07_tcp-apps/01_rot13 015_understanding-TCP-servers/07_tcp-apps/02_memory-database 016_building-a-tcp-server-for-http/01 016_building-a-tcp-server-for-http/02_hands-on 016_building-a-tcp-server-for-http/03_solution 016_building-a-tcp-server-for-http/05_solution 017_understanding-net-http-package/01_Handler 017_understanding-net-http-package/02_listenAndServe 017_understanding-net-http-package/03_Request/01_ParseForm_Form 017_understanding-net-http-package/03_Request/02_Method 017_understanding-net-http-package/03_Request/03_URL 017_understanding-net-http-package/03_Request/04_Header 017_understanding-net-http-package/03_Request/05_Host_ContentLength 017_understanding-net-http-package/04_ResponseWriter 018_understanding-net-http-ServeMux/01_routing 018_understanding-net-http-ServeMux/02_NewServeMux 018_understanding-net-http-ServeMux/03_DefaultServeMux 019_HandleFunc 020_HandlerFunc 021_third-party-serveMux/01_julienschimdt 022_hands-on/01/02_solution 022_hands-on/01/04_solution 022_hands-on/01/06_solution 022_hands-on/02/02_solution 022_hands-on/02/04_solution 022_hands-on/02/06_solution 022_hands-on/02/08_solution 022_hands-on/02/10_solution 022_hands-on/02/12_solution 022_hands-on/02/14_solution 022_hands-on/02/16_solution 022_hands-on/02/18_solution 023_serving-files/01_not-serving/01 023_serving-files/01_not-serving/02 023_serving-files/02_serving/01_io-Copy 023_serving-files/02_serving/02_ServeContent 023_serving-files/02_serving/03_ServeFile 023_serving-files/02_serving/04_FileServer/01 023_serving-files/02_serving/04_FileServer/02 023_serving-files/02_serving/04_FileServer/03 023_serving-files/02_serving/04_FileServer/04_static 024_hands-on/02_solution 024_hands-on/04_solution 024_hands-on/06_solution 024_hands-on/08_solution 024_hands-on/10_solution 024_hands-on/11_hands-on/starting-files 024_hands-on/12_solution 025_NotFoundHandler/01 025_NotFoundHandler/02 026_appengine-deploy/01 026_appengine-deploy/02 027_passing-data/01_url 027_passing-data/02_form-post 027_passing-data/03_form-get 027_passing-data/04_form 027_passing-data/05_form-file/01_read 027_passing-data/05_form-file/02_store 027_passing-data/06_enctype/01_default 027_passing-data/06_enctype/02_multipart 027_passing-data/06_enctype/03_text 028_redirect/01_303_SeeOther 028_redirect/02_307_TemporaryRedirect 028_redirect/03_301_MovedPermanently 028_redirect/04_WriteHeader 029_cookies/01_set_get 029_cookies/02_multiple 029_cookies/04_solution 029_cookies/05_maxage 029_cookies/06_path/01 029_cookies/06_path/02 029_cookies/06_path/03_templates/01 029_cookies/06_path/03_templates/02 030_sessions/01_uuid 030_sessions/02_session 030_sessions/03_signup 030_sessions/04_bcrypt 030_sessions/05_login 030_sessions/06_logout 030_sessions/07_permissions 030_sessions/08_expire-session 030_sessions/09_middleware 030_sessions/10_temp 031_aws/01_hello 031_aws/02_hands-on/02_solution 032_rdbms/01_connect 032_rdbms/02_SQL 033_aws-scaling/02_load-balancer 033_aws-scaling/03_ami 033_aws-scaling/04_hands-on/02_solution 034_photo-blog/01_starting 034_photo-blog/02_cookie 034_photo-blog/03_store-values 034_photo-blog/04_upload-pictures 034_photo-blog/05_display-pictures 035_hmac/01 035_hmac/02 036_base64/01 036_base64/02 036_base64/03 038_context/01 038_context/02 038_context/03 038_context/04 038_context/05 039_https/01 039_https/02 040_json/01 040_json/06_unmarshal 040_json/07_unmarshal 040_json/08_unmarshal_tags 040_json/09_string 040_json/10_int 040_json/11_bool 040_json/12_null 040_json/13_marshal 040_json/14_marshal 040_json/15_marshal 040_json/17_solution 041_ajax/02/01 041_ajax/02/02 041_ajax/03 042_mongodb/01_julienschmidt-router 042_mongodb/02_json 042_mongodb/02_json/models 042_mongodb/03_post-delete 042_mongodb/03_post-delete/models 042_mongodb/04_controllers 042_mongodb/04_controllers/controllers 042_mongodb/04_controllers/models 042_mongodb/05_mongodb/01_update-user-controller 042_mongodb/05_mongodb/01_update-user-controller/controllers 042_mongodb/05_mongodb/01_update-user-controller/models 042_mongodb/05_mongodb/02_update-user-model 042_mongodb/05_mongodb/02_update-user-model/controllers 042_mongodb/05_mongodb/02_update-user-model/models 042_mongodb/05_mongodb/03_update-user-controllers-post 042_mongodb/05_mongodb/03_update-user-controllers-post/controllers 042_mongodb/05_mongodb/03_update-user-controllers-post/models 042_mongodb/05_mongodb/04_update-user-controllers-get 042_mongodb/05_mongodb/04_update-user-controllers-get/controllers 042_mongodb/05_mongodb/04_update-user-controllers-get/models 042_mongodb/05_mongodb/05_update-user-controllers-delete 042_mongodb/05_mongodb/05_update-user-controllers-delete/controllers 042_mongodb/05_mongodb/05_update-user-controllers-delete/models 042_mongodb/06_hands-on/starting-code 042_mongodb/06_hands-on/starting-code/controllers 042_mongodb/06_hands-on/starting-code/models 042_mongodb/07_solution 042_mongodb/07_solution/controllers 042_mongodb/07_solution/models 042_mongodb/09_solution 042_mongodb/09_solution/controllers 042_mongodb/09_solution/models 042_mongodb/10_hands-on/starting-code 042_mongodb/11_solution 042_mongodb/11_solution/controllers 042_mongodb/11_solution/models 042_mongodb/11_solution/session 043_docker/06_hello-go 044_postgres/16_go-postgres 044_postgres/17_select 044_postgres/18_routing 044_postgres/19_where-clause 044_postgres/20_insert 044_postgres/21_update 044_postgres/22_delete 045-code-organization/01_one-package 045-code-organization/02_two-packages 045-code-organization/02_two-packages/models 045-code-organization/03_multiple-packages 045-code-organization/03_multiple-packages/books 045-code-organization/03_multiple-packages/config 046_mongodb/15_postgres 046_mongodb/15_postgres/books 046_mongodb/15_postgres/config 046_mongodb/16_go-mongo 046_mongodb/16_go-mongo/books 046_mongodb/16_go-mongo/config 047_google-cloud/01_hello-world/01 047_google-cloud/01_hello-world/02 047_google-cloud/02_hello-user 047_google-cloud/03_user 048_memcache/01_get-nil 048_memcache/02_set_get 048_memcache/03_expiration 048_memcache/04_increment 048_memcache/06_solution/01 048_memcache/06_solution/02_refactor 049_datastore/02_put_NewKey_string 049_datastore/03_get_NewKey_string 049_datastore/04_get_NewKey_int64 049_datastore/05_put_NewIncompleteKey 049_datastore/06_put_get_doc-example 049_datastore/07_put_get_doc-example 049_datastore/08_query-iterator 049_datastore/09_put_NewKey_string_parent/01 049_datastore/09_put_NewKey_string_parent/02_html-select 049_datastore/09_put_NewKey_string_parent/03 049_datastore/10_query-iterator_ancestor 050_cloud-storage/03_put-file 050_cloud-storage/04_get-file 050_cloud-storage/05_media-link 050_cloud-storage/06_display-img/01 050_cloud-storage/06_display-img/02_medialink 050_cloud-storage/07_list-files 050_cloud-storage/08_object-attributes 050_cloud-storage/09_query-maxresults 050_cloud-storage/10_query-maxresults_next 050_cloud-storage/11_query-prefix 050_cloud-storage/12_query-delimeter/01 050_cloud-storage/12_query-delimeter/02 050_cloud-storage/13_query-prefix-delimeter/01 050_cloud-storage/13_query-prefix-delimeter/02 050_cloud-storage/13_query-prefix-delimeter/03 050_cloud-storage/13_query-prefix-delimeter/04 050_cloud-storage/13_query-prefix-delimeter/05_recursive 050_cloud-storage/14_acl/02_allusers_rolereader 050_cloud-storage/14_acl/03_default 050_cloud-storage/14_acl/04_permission-to-gmail-account 050_cloud-storage/15_file-browser/01_create-files 050_cloud-storage/15_file-browser/02_browse 050_cloud-storage/16_gcs-example 050_cloud-storage/17_challenge/01_helpful-starting-code 050_cloud-storage/17_challenge/02_solutions/01_one-solution 999_old-code/00_temp/xx02_users_datastore_schmidt-router 999_old-code/00_temp/xx03_entry-checker_challenge/02_solution/01_without-json 999_old-code/00_temp/xx03_entry-checker_challenge/02_solution/02_with-json 999_old-code/00_temp/xx04_todo-list 999_old-code/046_appengine-guestbook/01_users 999_old-code/046_appengine-guestbook/02_form 999_old-code/046_appengine-guestbook/03_datastore 999_old-code/047_cookie_memcache_datastore/02_solution 999_old-code/048_photo-blog_cookie_memcache_datastore/02_solution 999_old-code/049_cookie_memcache_datastore_url/02_solution 999_old-code/050_photo-blog_cookie_memcache_datastore_url/01_challenge 999_old-code/050_photo-blog_cookie_memcache_datastore_url/02_solution 999_old-code/052_photo-blog_cookie_memcache_gcs/02_solution 999_old-code/055_http-giffy 999_old-code/056_self-destructing-message/01 999_old-code/056_self-destructing-message/02_crypto/01_nonce 999_old-code/056_self-destructing-message/02_crypto/02_encrypt 999_old-code/056_self-destructing-message/02_crypto/03_decrypt 999_old-code/056_self-destructing-message/02_crypto/04_complete 999_old-code/057_csv-example/01 999_old-code/057_csv-example/02 999_old-code/058_appengine-search 999_old-code/059_movie-website_TODO/01_search 999_old-code/059_movie-website_TODO/02_image-upload-GCS 999_old-code/060_twitter/02_ListenAndServe 999_old-code/060_twitter/03_error-handling 999_old-code/060_twitter/04_template_abstraction 999_old-code/060_twitter/05_document 999_old-code/060_twitter/06_document 999_old-code/060_twitter/07_app-engine 999_old-code/060_twitter/08_julien-schmidt 999_old-code/060_twitter/09_login-form 999_old-code/060_twitter/10_signup-form-validate/01v_form-validation 999_old-code/060_twitter/10_signup-form-validate/02v_datastore-put 999_old-code/060_twitter/11_HTTPS-TLS 999_old-code/060_twitter/12_error-handling 999_old-code/060_twitter/13_login_unfinished 999_old-code/060_twitter/14_code-review 999_old-code/060_twitter/15_memcache-home 999_old-code/060_twitter/16_abstract-memcache-code 999_old-code/060_twitter/17_memcache-templates 999_old-code/060_twitter/18_abstract-API-Model 999_old-code/060_twitter/18_abstract-API-Model/API 999_old-code/060_twitter/18_abstract-API-Model/Memcache 999_old-code/060_twitter/18_abstract-API-Model/Model 999_old-code/060_twitter/19_abstract-API-Model_AE-fix/API 999_old-code/060_twitter/19_abstract-API-Model_AE-fix/App 999_old-code/060_twitter/19_abstract-API-Model_AE-fix/Memcache 999_old-code/060_twitter/19_abstract-API-Model_AE-fix/Model 999_old-code/060_twitter/20_reverting_to_only_package-main 999_old-code/060_twitter/21_set-cookie_no-PATH 999_old-code/060_twitter/22_set-cookie_PATH 999_old-code/060_twitter/23_set-cookie-UUID 999_old-code/060_twitter/24_session 999_old-code/060_twitter/25_session-all-pages 999_old-code/060_twitter/26_login 999_old-code/060_twitter/27_logout 999_old-code/060_twitter/28_code-review 999_old-code/060_twitter/29_password-encryption 999_old-code/060_twitter/30_turn-off-memcache 999_old-code/060_twitter/31_modal-post-tweet 999_old-code/060_twitter/32_tweets 999_old-code/060_twitter/33_display-all-tweets 999_old-code/060_twitter/34_humanize 999_old-code/060_twitter/35_schmidt-params/01 999_old-code/060_twitter/35_schmidt-params/02 999_old-code/060_twitter/35_schmidt-params/03 999_old-code/060_twitter/35_schmidt-params/04 999_old-code/060_twitter/35_schmidt-params/05 999_old-code/060_twitter/36_user-tweets 999_old-code/060_twitter/37_other-implementations/01_daniel 999_old-code/060_twitter/37_other-implementations/02_tommy 999_old-code/060_twitter/37_other-implementations/03_t 999_old-code/060_twitter/38_follow 999_old-code/060_twitter/39_unfollow 999_old-code/060_twitter/40_send-email 999_old-code/060_twitter/41_twitter-send-email 999_old-code/060_twitter/42_following 999_old-code/060_twitter/43_following-me 999_old-code/060_twitter/44_code-review 999_old-code/888_json_add/01 999_old-code/888_json_add/02 999_old-code/888_json_add/03 999_old-code/888_json_add/04 999_old-code/888_json_add/05 999_old-code/888_json_add/06 999_old-code/888_json_add/07 999_old-code/888_json_add/08 999_old-code/888_json_add/09 999_old-code/888_json_add/10 999_old-code/888_json_add/11 999_old-code/888_json_add/12 999_old-code/888_json_add/13 999_old-code/888_json_add/14 999_old-code/888_json_add/15 999_old-code/888_json_add/15_exercise_csv-to-JSON/01 999_old-code/888_json_add/15_exercise_csv-to-JSON/02 999_old-code/888_json_add/16 999_old-code/888_json_add/17 999_old-code/999_useful/01_file-renamer 999_old-code/999_useful/02_crawler/01_http-get 999_old-code/999_useful/02_crawler/02_parse-nodes 999_old-code/999_useful/02_crawler/03_abstract 999_old-code/999_useful/02_crawler/04_recursion 999_old-code/999_useful/02_crawler/05_only-anchor-elements 999_old-code/999_useful/02_crawler/06_anchor-urls 999_old-code/999_useful/058_appengine-search 999_old-code/999_useful/57_appengine-channel/01_basic 999_old-code/999_useful/57_appengine-channel/02_chat-room xx045_photo-blog/01_hands-on/starting-files xx045_photo-blog/02_solution/01 xx045_photo-blog/02_solution/02 xx045_photo-blog/02_solution/02/controllers xx045_photo-blog/02_solution/03/packages/controllers xx045_photo-blog/02_solution/03/packages/errors xx045_photo-blog/02_solution/03/packages/memcache xx045_photo-blog/02_solution/03/project xx045_photo-blog/xx02_solution Click to show internal directories. Click to hide internal directories.