Directories ¶ Show internal Expand all Path Synopsis Golang 0-exampleTest algorithm_book/01_satranjbazan algorithm_book/02_remainder_quotient algorithm_book/03_workersalary-p23 algorithm_book/04_second_minute_hour algorithm_book/05_eventwodigitnumbers algorithm_book/06_triangle_possibility algorithm_book/06_triangle_possibility/001_right_triangle_possibility algorithm_book/07_biggersmaller algorithm_book/08_thebiggest algorithm_book/09_evenorodd algorithm_book/10_divisors algorithm_book/11_perfectnumber algorithm_book/11_perfectnumber/001_generateperfectnumber algorithm_book/12_primenumber algorithm_book/12_primenumber/01_generate_prime_number algorithm_book/13_factorial algorithm_book/14_sumfactorial algorithm_book/15_divisors_2to500 algorithm_book/16-which_day algorithm_book/16-which_day/01_which_date algorithm_book/17_PosNegDivisions algorithm_book/18_BMM_KMM algorithm_book/19_numdigit_sumdigit algorithm_book/20_binary_to_decimal_with_package/01_without_package algorithm_book/21_findLargestNumber algorithm_book/22_salary algorithm_book/22_salary/01_salary_increase algorithm_book/23_sortnumbers/01_with_builtin_package algorithm_book/23_sortnumbers/02_without_builtin_package algorithm_book/23_sortnumbers/02_without_builtin_package/optimized algorithm_book/24_Natural_logarithm algorithm_book/25_m1s52 algorithm_book/26_m4a_s52 algorithm_book/27_m4b_s52 algorithm_book/28_m4j_s52 algorithm_book/29_m4d_s52 algorithm_book/30_m6_s52 algorithm_book/30_m6_s52/01_generate algorithm_book/31_m7_s52 algorithm_book/32_m9_s52 algorithm_book/33_guess_number_m12_s52 algorithm_book/33_guess_number_m12_s52/01_with_random algorithm_book/34_store-sale_m16_s53 algorithm_book/35_Linear_equation_m18_s53 algorithm_book/36_m19_s53 algorithm_book/37_m20_s53 algorithm_book/38_m21_s53 algorithm_book/39_m22_s53 algorithm_book/40_m23_s53 algorithm_book/41_m24_s53 algorithm_book/43_m28_s86 algorithm_book/44_m30_s87 algorithm_book/45_m28_s88 algorithm_book/46_m34_s91 algorithm_book/47_invited_guest_by_slice_m35_s92 algorithm_book/47_invited_guest_by_slice_m35_s92/invited_guest_by_map algorithm_book/48_m36_s94 algorithm_book/49_m41_s99 algorithm_book/50_m43_s102 algorithm_book/52_m2_s123 algorithm_book/53_m5_s124 algorithm_book/54_m8_s124 algorithm_book/55_m12_s124 algorithm_book/56_remove_repeated_m3_s227 algorithm_book/57_remove_inserted algorithm_book/58_m2_s133 algorithm_book/59_random_elements_in_slice_m4_s135 algorithm_book/60_add_and_subtract_slices_m6_s138 algorithm_book/61_reverse_slice_m7_s140 algorithm_book/62_m12_s146 algorithm_book/63_m13_s146 algorithm_book/64_repeated_in_slice_by_slice_m18_s151 algorithm_book/64_repeated_in_slice_by_slice_m18_s151/by_map algorithm_book/65_common_elements_m25_s162 algorithm_book/66_matrix/001_multiplication_table_m33_s171 algorithm_book/66_matrix/002_diameter/0001_main_diameter_one_m34_s171 algorithm_book/66_matrix/002_diameter/0002_both_diameters_one algorithm_book/66_matrix/002_diameter/0003_upper_triangular_matrix algorithm_book/66_matrix/002_diameter/0004_lower_triangular_matrix algorithm_book/66_matrix/003_operations_on_matrix/0001_sum_of_matrix_m38_s176 algorithm_book/66_matrix/003_operations_on_matrix/0002_sum_of_rows_and_columns_m43_s181 algorithm_book/66_matrix/003_operations_on_matrix/0003_rows_to_rows_columns_to_columns_transmission_m42_s180 algorithm_book/66_matrix/003_operations_on_matrix/0004_transpose_matrix_m44_s184 algorithm_book/66_matrix/003_operations_on_matrix/0004_transpose_matrix_m44_s184/00001_is_symmetric_matrix_m11_s187 algorithm_book/66_matrix/003_operations_on_matrix/0005_simple_multiply_m12_s187 algorithm_book/66_matrix/003_operations_on_matrix/0006_some_operation_m13_s187 algorithm_book/66_matrix/003_operations_on_matrix/0007_3equations_3unknowns_m15_s187 algorithm_book/66_matrix/003_operations_on_matrix/0007_3equations_3unknowns_m15_s187/n_equations_n_unknowns algorithm_book/67_all_possible_words_with_specific_letters_m3_s186 algorithm_book/67_all_possible_words_with_specific_letters_m3_s186/prompting_user_enter_letters_m4_s186 algorithm_book/67_all_possible_words_with_specific_letters_m3_s186/without_rune_no_repeat algorithm_book/67_all_possible_words_with_specific_letters_m3_s186/without_rune_no_repeat/yes_repeat algorithm_book/68_all_possible_n_digit_numbers_no_repeat_m4_s186 algorithm_book/68_all_possible_n_digit_numbers_no_repeat_m4_s186/no_repeat_another_style algorithm_book/68_all_possible_n_digit_numbers_no_repeat_m4_s186/yes_repeat algorithm_book/69_digits_after_decimal_point_m9_s186 algorithm_book/70_digits_count_less_than_20_digits algorithm_book/70_digits_count_less_than_20_digits/more_than_20_digits algorithm_book/71_all_subsets_of_n_member_m16_s188 algorithm_book/72_ways_to_reach_in_rectangular_m17_s188 algorithm_book/73_pi_leibniz_formula_m21_s188 algorithm_book/74_neper_number_calculation algorithm_book/75_car_violation_m3_s195 algorithm_book/76_merge_sort cobra/01_passwordGeneratorCLI/commands go_by_example/01_Writing_Web_Applications go_by_example/02_http_servers go_by_example/03_context-in-http-servers go_by_example/04_Spawning-Processes go_by_example/05_net-http_package go_by_example/06_Using-net-http-to-serve-wiki-pages go_tour/01_stringer/001_ipAddress_dots_sprintf go_tour/01_stringer/002_ipAddress_dots_strconv go_tour/02_errors/001 go_tour/02_errors/002 go_tour/02_errors/003 go_tour/03_readers/001_io.EOF go_tour/03_readers/002_EOF go_tour/03_readers/003_EOF go_tour/03_readers/004_reader_exercise go_tour/03_readers/005_rot13Reader go_tour/04_images/001_RGBAModel go_tour/04_images/002_two_dimensional_slice go_tour/05_generics/001_generic_functions/0001 go_tour/05_generics/001_generic_functions/0002 go_tour/05_generics/002_generic_types/0001 go_tour/06_goroutines/001 go_tour/07_channels/001_ gorilla/01_websocket hackerrankExercises/000checkcodes/01 hackerrankExercises/000checkcodes/02 hackerrankExercises/01-PlusMinus/01-yn hackerrankExercises/01-PlusMinus/02-rishabh1403-com-passed hackerrankExercises/01-PlusMinus/03 hackerrankExercises/02-mini-max-sum/01-yn hackerrankExercises/02-mini-max-sum/02-rishabh hackerrankExercises/03-time-convertion/02-rishabh hackerrankExercises/04-Sparse-Arrays/02-Aminadav internship_tests/01-Amir_Ammir_Ammiiir_Ammiiirrrr internship_tests/02_Bayes_algorithm internship_tests/03_biz_buz/01_continue internship_tests/03_biz_buz/02_switch internship_tests/03_biz_buz/03_variable_scoping internship_tests/03_biz_buz/04_if internship_tests/test2 myEcho/courses myEcho/courses/1_bluebot/01_Project_Setup_and_HelloWorld myEcho/courses/1_bluebot/02_Url_Params_Query_Params_and_Json_Responses myEcho/courses/1_bluebot/03_Parsing_JSON_From_Request myEcho/courses/1_bluebot/04_Intro_to_Middlewares myEcho/courses/1_bluebot/05_Basic_Authentication_Middleware/01 myEcho/courses/1_bluebot/05_Basic_Authentication_Middleware/02_GPT myEcho/courses/1_bluebot/06_Custom_Middlewares myEcho/courses/1_bluebot/07_Cookies myEcho/courses/1_bluebot/08_JWT/8.0_JWT_Authentication myEcho/courses/1_bluebot/09_Serving_a_Website/static myEcho/courses/1_bluebot/10_Refactoring/api myEcho/courses/1_bluebot/10_Refactoring/api/handlers myEcho/courses/1_bluebot/10_Refactoring/api/middlewares myEcho/courses/1_bluebot/10_Refactoring/main myEcho/courses/1_bluebot/10_Refactoring/router myEcho/courses/1_bluebot/10_Refactoring/webserver myEcho/courses/2_krunal_shimpi/01_Handler myEcho/courses/2_krunal_shimpi/02_install_gin myEcho/courses/2_krunal_shimpi/03_HandlerFunc1 myEcho/courses/2_krunal_shimpi/04_HandlerFunc2 myEcho/courses/2_krunal_shimpi/05_Handle_vs_HandleFunc myEcho/courses/2_krunal_shimpi/06_http_methods1 myEcho/courses/2_krunal_shimpi/07_starting_echo myEcho/courses/2_krunal_shimpi/08_expanding_GET/01_krunal myEcho/courses/2_krunal_shimpi/08_expanding_GET/02_GPT myEcho/courses/2_krunal_shimpi/10_POST_method myEcho/courses/2_krunal_shimpi/11_route_parameters myEcho/courses/2_krunal_shimpi/12_Validator myEcho/courses/2_krunal_shimpi/13_echo_validator myEcho/courses/2_krunal_shimpi/14_PUT_method myEcho/courses/2_krunal_shimpi/15_DELETE_method myEcho/courses/2_krunal_shimpi/16_Echo_restructure myEcho/courses/2_krunal_shimpi/16_Echo_restructure/refactor myEcho/courses/2_krunal_shimpi/17_Configuration myEcho/courses/2_krunal_shimpi/17_Configuration/refactor myEcho/courses/2_krunal_shimpi/18_custom_middleware myEcho/courses/2_krunal_shimpi/19_echo_middleware_func myEcho/courses/2_krunal_shimpi/20_mongodb/001_connecting myEcho/courses/2_krunal_shimpi/20_mongodb/002_BSON_ObjectId myEcho/courses/2_krunal_shimpi/20_mongodb/003_query_operators myEcho/courses/2_krunal_shimpi/20_mongodb/004_update_operators myEcho/courses/2_krunal_shimpi/20_mongodb/05_Unit_Testing myEcho/courses/2_krunal_shimpi/20_mongodb/05_Unit_Testing/dbiface myEcho/courses/2_krunal_shimpi/20_mongodb/06_mock/01 myEcho/courses/2_krunal_shimpi/20_mongodb/06_mock/01/dbiface myEcho/courses/2_krunal_shimpi/20_mongodb/06_mock/02 myEcho/courses/2_krunal_shimpi/20_mongodb/06_mock/02/dbiface myEcho/courses/2_krunal_shimpi/20_mongodb/07_new_project/01_without_test myEcho/courses/2_krunal_shimpi/20_mongodb/07_new_project/01_without_test/config myEcho/courses/2_krunal_shimpi/20_mongodb/07_new_project/01_without_test/dbiface myEcho/courses/2_krunal_shimpi/20_mongodb/07_new_project/01_without_test/handlers myEcho/courses/2_krunal_shimpi/20_mongodb/07_new_project/02_with_test myEcho/courses/2_krunal_shimpi/20_mongodb/07_new_project/02_with_test/config myEcho/courses/2_krunal_shimpi/20_mongodb/07_new_project/02_with_test/dbiface myEcho/courses/2_krunal_shimpi/20_mongodb/07_new_project/02_with_test/handlers myEcho/courses/2_krunal_shimpi/21_Correlation_ID_support myEcho/courses/2_krunal_shimpi/21_Correlation_ID_support/config myEcho/courses/2_krunal_shimpi/21_Correlation_ID_support/dbiface myEcho/courses/2_krunal_shimpi/21_Correlation_ID_support/handlers myEcho/courses/2_krunal_shimpi/22_GET_method_and_loggic myEcho/courses/2_krunal_shimpi/22_GET_method_and_loggic/config myEcho/courses/2_krunal_shimpi/22_GET_method_and_loggic/dbiface myEcho/courses/2_krunal_shimpi/22_GET_method_and_loggic/handlers myEcho/courses/2_krunal_shimpi/23_GET_using_multiple_query_parameters_on_MongoDB myEcho/courses/2_krunal_shimpi/23_GET_using_multiple_query_parameters_on_MongoDB/config myEcho/courses/2_krunal_shimpi/23_GET_using_multiple_query_parameters_on_MongoDB/dbiface myEcho/courses/2_krunal_shimpi/23_GET_using_multiple_query_parameters_on_MongoDB/handlers myEcho/courses/2_krunal_shimpi/24_PUT_PATCH_method myEcho/courses/2_krunal_shimpi/24_PUT_PATCH_method/config myEcho/courses/2_krunal_shimpi/24_PUT_PATCH_method/dbiface myEcho/courses/2_krunal_shimpi/24_PUT_PATCH_method/handlers myEcho/courses/2_krunal_shimpi/25_GET_and_DELETE myEcho/courses/2_krunal_shimpi/25_GET_and_DELETE/config myEcho/courses/2_krunal_shimpi/25_GET_and_DELETE/dbiface myEcho/courses/2_krunal_shimpi/25_GET_and_DELETE/handlers myEcho/courses/2_krunal_shimpi/26_logging_and_error_handling myEcho/courses/2_krunal_shimpi/26_logging_and_error_handling/config myEcho/courses/2_krunal_shimpi/26_logging_and_error_handling/dbiface myEcho/courses/2_krunal_shimpi/26_logging_and_error_handling/handlers myEcho/courses/2_krunal_shimpi/27_Users_endpoint_authentication_mongodb myEcho/courses/2_krunal_shimpi/27_Users_endpoint_authentication_mongodb/config myEcho/courses/2_krunal_shimpi/27_Users_endpoint_authentication_mongodb/dbiface myEcho/courses/2_krunal_shimpi/27_Users_endpoint_authentication_mongodb/handlers myEcho/courses/2_krunal_shimpi/28_JWT_auth myEcho/courses/2_krunal_shimpi/28_JWT_auth/config myEcho/courses/2_krunal_shimpi/28_JWT_auth/dbiface myEcho/courses/2_krunal_shimpi/28_JWT_auth/handlers myEcho/courses/2_krunal_shimpi/29_JWT_middleware_auth myEcho/courses/2_krunal_shimpi/29_JWT_middleware_auth/config myEcho/courses/2_krunal_shimpi/29_JWT_middleware_auth/dbiface myEcho/courses/2_krunal_shimpi/29_JWT_middleware_auth/handlers myEcho/courses/2_krunal_shimpi/30_Role_auth_JWT myEcho/courses/2_krunal_shimpi/30_Role_auth_JWT/config myEcho/courses/2_krunal_shimpi/30_Role_auth_JWT/dbiface myEcho/courses/2_krunal_shimpi/30_Role_auth_JWT/handlers myGoCodes/01_repeat_letters myGoCodes/02_HTTP_server_request_by_chatGPT/01 myGoCodes/02_HTTP_server_request_by_chatGPT/02 myGoCodes/05_screenshot myGoCodes/06_OTP_OneTimePassword ToddMcLeodUdemy golangtraining/01_getting-started/01_helloWorld golangtraining/01_getting-started/01_helloWorld/compare_file golangtraining/01_getting-started/02_numeral-systems/01_decimal golangtraining/01_getting-started/02_numeral-systems/02_binary golangtraining/01_getting-started/02_numeral-systems/03_hexadecimal golangtraining/01_getting-started/02_numeral-systems/04_loop golangtraining/01_getting-started/03_UTF-8 golangtraining/02_package/icomefromalaska golangtraining/02_package/main golangtraining/02_package/stringutil golangtraining/03_variables/01_shorthand/01 golangtraining/03_variables/01_shorthand/02 golangtraining/03_variables/02_var_zero-value golangtraining/03_variables/03_less-emphasis/01_declare-variable golangtraining/03_variables/03_less-emphasis/02_declare-many-at-once golangtraining/03_variables/03_less-emphasis/03_init-many-at-once golangtraining/03_variables/03_less-emphasis/04_infer-type golangtraining/03_variables/03_less-emphasis/05_infer-mixed-up-types golangtraining/03_variables/03_less-emphasis/06_init-shorthand golangtraining/03_variables/03_less-emphasis/07_all-together golangtraining/03_variables/03_less-emphasis/08_exercise_your-name/01_oneSolution golangtraining/03_variables/03_less-emphasis/08_exercise_your-name/02_anotherSolution golangtraining/03_variables/03_less-emphasis/08_exercise_your-name/03_anotherSolution golangtraining/03_variables/03_less-emphasis/08_exercise_your-name/04_anotherSolution golangtraining/04_scope/01_package-scope/01 golangtraining/04_scope/01_package-scope/02_visibility/main golangtraining/04_scope/01_package-scope/02_visibility/vis golangtraining/04_scope/02_block-scope/01_this-does-not-compile golangtraining/04_scope/02_block-scope/02_closure/01 golangtraining/04_scope/02_block-scope/02_closure/02 golangtraining/04_scope/02_block-scope/02_closure/03 golangtraining/04_scope/02_block-scope/02_closure/04 golangtraining/04_scope/03_order-matters golangtraining/04_scope/04_variable-shadowing golangtraining/04_scope/05_same-package golangtraining/05_blank-identifier/01_invalid-code golangtraining/05_blank-identifier/02_http-get_example/01_with-error-checking golangtraining/05_blank-identifier/02_http-get_example/02_no-error-checking golangtraining/06_constants/01_constant golangtraining/06_constants/02_multiple-initialization golangtraining/06_constants/03_iota golangtraining/06_constants/04_iota golangtraining/06_constants/05_iota golangtraining/06_constants/06_iota golangtraining/06_constants/07_iota golangtraining/07_memory-address/01_showing-address golangtraining/07_memory-address/02_using-address golangtraining/08_pointers/01_referencing golangtraining/08_pointers/02_dereferencing golangtraining/08_pointers/03_using-pointers golangtraining/08_pointers/04_using-pointers/01_no-pointer/01 golangtraining/08_pointers/04_using-pointers/01_no-pointer/02_see-the-addresses golangtraining/08_pointers/04_using-pointers/02_pointer/01 golangtraining/08_pointers/04_using-pointers/02_pointer/02_see-the-addresses golangtraining/09_remainder golangtraining/10_for-loop/01_init-condition-post golangtraining/10_for-loop/02_nested golangtraining/10_for-loop/03_for-condition-while-ish golangtraining/10_for-loop/04_for_no-condition golangtraining/10_for-loop/05_for_break golangtraining/10_for-loop/06_for_continue golangtraining/10_for-loop/07_rune-loop_UTF8/01 golangtraining/10_for-loop/07_rune-loop_UTF8/02 golangtraining/10_for-loop/08_loop_labeling golangtraining/11_switch-statements/01_switch golangtraining/11_switch-statements/02_fallthrough golangtraining/11_switch-statements/03_multiple-evals golangtraining/11_switch-statements/04_no-expression golangtraining/11_switch-statements/05_on-type golangtraining/12_if_else-if_else/01_eval-true golangtraining/12_if_else-if_else/02_not-exclamation golangtraining/12_if_else-if_else/03_init-statement golangtraining/12_if_else-if_else/04_init-statement_error_invalid-code golangtraining/12_if_else-if_else/05_if-else golangtraining/12_if_else-if_else/06_if-elseif-else golangtraining/12_if_else-if_else/07_if-elseif-elseif-else golangtraining/12_if_else-if_else/08_divisibleByThree golangtraining/13_exercise-solutions/01_hello-world golangtraining/13_exercise-solutions/02_hello-NAME golangtraining/13_exercise-solutions/03_hello-user-input golangtraining/13_exercise-solutions/04_user-enters-numbers golangtraining/13_exercise-solutions/05_even-numbers golangtraining/13_exercise-solutions/06_fizzBuzz golangtraining/13_exercise-solutions/07_threeFive golangtraining/13_exercise-solutions/08_just-fyi/03_utf golangtraining/14_functions/01_main golangtraining/14_functions/02_param-arg golangtraining/14_functions/03_two-params/01 golangtraining/14_functions/03_two-params/02 golangtraining/14_functions/04_return golangtraining/14_functions/05_return-naming golangtraining/14_functions/06_return-multiple golangtraining/14_functions/07_variadic-params golangtraining/14_functions/08_variadic-args golangtraining/14_functions/09_slice-param-arg golangtraining/14_functions/10_func-expression/01_before-func-expression golangtraining/14_functions/10_func-expression/02_func-expression golangtraining/14_functions/10_func-expression/03_func-expression_shows-type golangtraining/14_functions/10_func-expression/04_another-way_func-expression golangtraining/14_functions/10_func-expression/05_another-way_func-expression_shows-type golangtraining/14_functions/11_closure/01 golangtraining/14_functions/11_closure/02 golangtraining/14_functions/11_closure/03 golangtraining/14_functions/11_closure/04 golangtraining/14_functions/11_closure/05 golangtraining/14_functions/12_callbacks/01_print-nums golangtraining/14_functions/12_callbacks/02_filter-nums golangtraining/14_functions/13_recursion golangtraining/14_functions/14_defer/01_no-defer golangtraining/14_functions/14_defer/02_with-defer golangtraining/14_functions/15_passing-by-value/01_int golangtraining/14_functions/15_passing-by-value/02_int-pointer golangtraining/14_functions/15_passing-by-value/03_string golangtraining/14_functions/15_passing-by-value/04_string-pointer golangtraining/14_functions/15_passing-by-value/05_REFERENCE-TYPE golangtraining/14_functions/15_passing-by-value/06_REFERENCE-TYPE golangtraining/14_functions/15_passing-by-value/07_struct-pointer golangtraining/14_functions/16_anon_self-executing golangtraining/15_bool-expressions/01_true-false golangtraining/15_bool-expressions/02_not golangtraining/15_bool-expressions/03_or golangtraining/15_bool-expressions/04_and golangtraining/16_exercise-solutions/01_half/01 golangtraining/16_exercise-solutions/01_half/02 golangtraining/16_exercise-solutions/02_func-expression golangtraining/16_exercise-solutions/03_variadic-greatest golangtraining/16_exercise-solutions/04_bool-expression golangtraining/16_exercise-solutions/05_params-and-args golangtraining/17_array/01 golangtraining/17_array/02 golangtraining/17_array/03 golangtraining/17_array/04 golangtraining/17_array/05 golangtraining/18_slice/01_int-slice golangtraining/18_slice/02_int-slice golangtraining/18_slice/03_int-slice golangtraining/18_slice/04_string-slice golangtraining/18_slice/05_slicing-a-slice/01 golangtraining/18_slice/05_slicing-a-slice/02 golangtraining/18_slice/06_make golangtraining/18_slice/07_append-invalid golangtraining/18_slice/08_append golangtraining/18_slice/09_append-beyond-capacity golangtraining/18_slice/10_append_slice-to-slice/01_slice-of-ints golangtraining/18_slice/10_append_slice-to-slice/02_slice-of-strings golangtraining/18_slice/11_delete golangtraining/18_slice/12_multi-dimensional/01_shorthand-slice golangtraining/18_slice/12_multi-dimensional/02_var-slice golangtraining/18_slice/12_multi-dimensional/03_make-slice golangtraining/18_slice/12_multi-dimensional/04_comparing_shorthand_var_make/01_shorthand-slice golangtraining/18_slice/12_multi-dimensional/04_comparing_shorthand_var_make/02_var-slice golangtraining/18_slice/12_multi-dimensional/04_comparing_shorthand_var_make/03_make-slice golangtraining/18_slice/12_multi-dimensional/05_slice-of-slice-of-string golangtraining/18_slice/12_multi-dimensional/06_slice-of-slice-of-int golangtraining/18_slice/13_int-slice-plus-plus golangtraining/19_map/01_var_nil-map golangtraining/19_map/02_var_make golangtraining/19_map/03_shorthand_make golangtraining/19_map/04_shorthand_composite-literal golangtraining/19_map/05_shorthand_composite-literal golangtraining/19_map/06_adding-entry golangtraining/19_map/07_len golangtraining/19_map/08_updating-entry golangtraining/19_map/09_deleting-entry golangtraining/19_map/10_comma-ok-idiom_val-exists golangtraining/19_map/11_deleting-entry_no-error golangtraining/19_map/12_comma-ok-idiom_val-not-exists golangtraining/19_map/13_loop-range golangtraining/19_map/14_hash-table/01_letter-buckets/01_runes-are-numbers golangtraining/19_map/14_hash-table/01_letter-buckets/02_strings-to-rune-conversion golangtraining/19_map/14_hash-table/01_letter-buckets/03_string-index-access golangtraining/19_map/14_hash-table/01_letter-buckets/04_remainder-bucket-selection golangtraining/19_map/14_hash-table/01_letter-buckets/05_hash-function golangtraining/19_map/14_hash-table/01_letter-buckets/06_get golangtraining/19_map/14_hash-table/01_letter-buckets/07_scanner golangtraining/19_map/14_hash-table/01_letter-buckets/08_moby-dicks-words golangtraining/19_map/14_hash-table/01_letter-buckets/09_int-slice-plus-plus golangtraining/19_map/14_hash-table/01_letter-buckets/10_hash-letter-buckets golangtraining/19_map/14_hash-table/01_letter-buckets/11_hash-remainder-buckets golangtraining/19_map/14_hash-table/02_even-dstribution-hash golangtraining/19_map/14_hash-table/03_words-in-buckets/01_slice-bucket golangtraining/19_map/14_hash-table/03_words-in-buckets/02_map-bucket golangtraining/19_map/14_hash-table/04_english-alphabet/01 golangtraining/19_map/14_hash-table/04_english-alphabet/02 golangtraining/20_struct/01_user-defined-types/01_alias-type_not-idiomatic golangtraining/20_struct/01_user-defined-types/02_static-typing golangtraining/20_struct/02_struct_fields_values_initialization golangtraining/20_struct/03_methods golangtraining/20_struct/04_embedded-types golangtraining/20_struct/05_promotion/01_overriding-fields golangtraining/20_struct/05_promotion/02_overriding-methods golangtraining/20_struct/06_struct-pointer golangtraining/20_struct/07_marshal_unmarshal/01_marshal/01_exported golangtraining/20_struct/07_marshal_unmarshal/01_marshal/02_unexported golangtraining/20_struct/07_marshal_unmarshal/01_marshal/03_tags golangtraining/20_struct/07_marshal_unmarshal/02_unmarshal/01 golangtraining/20_struct/07_marshal_unmarshal/02_unmarshal/02_tags golangtraining/20_struct/08_encode_decode/01_encode golangtraining/20_struct/08_encode_decode/02_decode golangtraining/21_interfaces/01_interface/01_no-interface golangtraining/21_interfaces/01_interface/02_interface golangtraining/21_interfaces/01_interface/03_interface golangtraining/21_interfaces/01_interface/04_interface golangtraining/21_interfaces/01_interface/05_io-copy/01_no-error-checking golangtraining/21_interfaces/01_interface/05_io-copy/02_error-checking golangtraining/21_interfaces/02_package-sort/01_sort-names golangtraining/21_interfaces/02_package-sort/02_sort-names_type-StringSlice golangtraining/21_interfaces/02_package-sort/03_sort-Strings golangtraining/21_interfaces/02_package-sort/04_sort-names_type-StringSlice_reverse golangtraining/21_interfaces/02_package-sort/05_sort-int_type-IntSlice golangtraining/21_interfaces/02_package-sort/06_sort-int_type-IntSlice_reverse golangtraining/21_interfaces/02_package-sort/07_sort-Ints golangtraining/21_interfaces/02_package-sort/08_standard-library-example golangtraining/21_interfaces/03_empty-interface/01_no-interface golangtraining/21_interfaces/03_empty-interface/02_empty-interface golangtraining/21_interfaces/03_empty-interface/03_param-accepts-any-type golangtraining/21_interfaces/03_empty-interface/04_slice-of-any-type golangtraining/21_interfaces/04_method-sets/01_value-receiver_value-type golangtraining/21_interfaces/04_method-sets/02_value-receiver_pointer-type golangtraining/21_interfaces/04_method-sets/03_pointer-receiver_pointer-type golangtraining/21_interfaces/04_method-sets/04_pointer-receiver_value-type golangtraining/21_interfaces/05_conversion-vs-assertion/01_conversion/01_int-to-float golangtraining/21_interfaces/05_conversion-vs-assertion/01_conversion/02_float-to-int golangtraining/21_interfaces/05_conversion-vs-assertion/01_conversion/03_rune-to-string golangtraining/21_interfaces/05_conversion-vs-assertion/01_conversion/04_rune-to-slice-of-bytes-to-string golangtraining/21_interfaces/05_conversion-vs-assertion/01_conversion/05_string-to-slice-of-bytes golangtraining/21_interfaces/05_conversion-vs-assertion/01_conversion/06_strconv/01_Atoi golangtraining/21_interfaces/05_conversion-vs-assertion/01_conversion/06_strconv/02_Itoa golangtraining/21_interfaces/05_conversion-vs-assertion/01_conversion/06_strconv/03_ParseInt golangtraining/21_interfaces/05_conversion-vs-assertion/02_assertion/01_non-interface-error_invalid-code golangtraining/21_interfaces/05_conversion-vs-assertion/02_assertion/02_interface-string golangtraining/21_interfaces/05_conversion-vs-assertion/02_assertion/03_interface-string_not-ok golangtraining/21_interfaces/05_conversion-vs-assertion/02_assertion/04_interface-int_print-type golangtraining/21_interfaces/05_conversion-vs-assertion/02_assertion/05_interface-int_mistmatched-types-error golangtraining/21_interfaces/05_conversion-vs-assertion/02_assertion/06_interface-int-sum golangtraining/21_interfaces/05_conversion-vs-assertion/02_assertion/07_casting-reminder golangtraining/21_interfaces/05_conversion-vs-assertion/02_assertion/08_interface-cast-error_need-type-assertion golangtraining/22_go-routines/01_no-go golangtraining/22_go-routines/02_go_concurrency golangtraining/22_go-routines/03_wait-group golangtraining/22_go-routines/04_time-sleep golangtraining/22_go-routines/05_gomaxprocs_parallelism golangtraining/22_go-routines/06_race-condition golangtraining/22_go-routines/07_mutex golangtraining/22_go-routines/08_atomicity golangtraining/22_go-routines/09_channels/00_unbuffered-channels-block golangtraining/22_go-routines/09_channels/01_range golangtraining/22_go-routines/09_channels/02_n-to-1/01_race-condition golangtraining/22_go-routines/09_channels/02_n-to-1/02_wait-group golangtraining/22_go-routines/09_channels/02_n-to-1/03_semaphore golangtraining/22_go-routines/09_channels/02_n-to-1/04_semaphore_wrong-way golangtraining/22_go-routines/09_channels/02_n-to-1/05_n-times_to_1 golangtraining/22_go-routines/09_channels/03_1-to-n/01_1_to_2-times golangtraining/22_go-routines/09_channels/03_1-to-n/02_1_to_n-times golangtraining/22_go-routines/09_channels/04_pass-return-channels golangtraining/22_go-routines/09_channels/05_channel-direction golangtraining/22_go-routines/09_channels/06_refactor golangtraining/22_go-routines/09_channels/07_incrementor golangtraining/22_go-routines/09_channels/08_closures/01_no-closure-binding golangtraining/22_go-routines/09_channels/08_closures/02_closure-binding golangtraining/22_go-routines/09_channels/08_closures/03_closure-binding golangtraining/22_go-routines/10_deadlock-challenges/01_deadlock-challenge golangtraining/22_go-routines/10_deadlock-challenges/02_deadlock-solution golangtraining/22_go-routines/10_deadlock-challenges/03_deadlock-challenge golangtraining/22_go-routines/10_deadlock-challenges/04_deadlock-challenge golangtraining/22_go-routines/10_deadlock-challenges/05_deadlock-solution golangtraining/22_go-routines/11_factorial-challenge/01_challenge-description golangtraining/22_go-routines/11_factorial-challenge/02_challenge-solution golangtraining/22_go-routines/12_channels_pipeline/01_sq-output golangtraining/22_go-routines/12_channels_pipeline/02_sq-output golangtraining/22_go-routines/12_channels_pipeline/03_challenge-description golangtraining/22_go-routines/12_channels_pipeline/04_challenge-solution/01_original-solution golangtraining/22_go-routines/12_channels_pipeline/04_challenge-solution/02_another-solution golangtraining/22_go-routines/13_channels_fan-out_fan-in/01_boring golangtraining/22_go-routines/13_channels_fan-out_fan-in/02_sq-output golangtraining/22_go-routines/13_channels_fan-out_fan-in/03_sq-output_variation golangtraining/22_go-routines/13_channels_fan-out_fan-in/04_challenge-description golangtraining/22_go-routines/13_channels_fan-out_fan-in/05_challenge-solution golangtraining/22_go-routines/13_channels_fan-out_fan-in/06_challenge-description golangtraining/22_go-routines/13_channels_fan-out_fan-in/07_challenge-solution golangtraining/22_go-routines/13_channels_fan-out_fan-in/08_challenge-description golangtraining/22_go-routines/13_channels_fan-out_fan-in/09_challenge-solution/01_troubleshooting-step golangtraining/22_go-routines/13_channels_fan-out_fan-in/09_challenge-solution/02_solution golangtraining/22_go-routines/13_channels_fan-out_fan-in/10_van-sickle_fan-out_fan-in golangtraining/22_go-routines/14_incrementor-challenge/01_description golangtraining/22_go-routines/14_incrementor-challenge/02_solution golangtraining/22_go-routines/15_for-fun/01 golangtraining/23_error-handling/01_golint/01_before golangtraining/23_error-handling/01_golint/02_after golangtraining/23_error-handling/02_err-not-nil/01_fmt-println golangtraining/23_error-handling/02_err-not-nil/02_log-println golangtraining/23_error-handling/02_err-not-nil/03_log-set-output golangtraining/23_error-handling/02_err-not-nil/04_log-fatalln golangtraining/23_error-handling/02_err-not-nil/05_panic golangtraining/23_error-handling/03_custom-errors/01_errors-new golangtraining/23_error-handling/03_custom-errors/02_errors-new_var golangtraining/23_error-handling/03_custom-errors/03_fmt-errorf golangtraining/23_error-handling/03_custom-errors/04_fmt-errorf_var golangtraining/23_error-handling/03_custom-errors/05_custom-type golangtraining/24_testing golangtraining/25_code-walk golangtraining/25_code-walk/with-comments golangtraining/26_QUESTIONS-FROM-STUDENTS/01-package-scope golangtraining/26_QUESTIONS-FROM-STUDENTS/02-goroutines-printing golangtraining/26_QUESTIONS-FROM-STUDENTS/03-range-chan golangtraining/26_QUESTIONS-FROM-STUDENTS/04_goroutines_closing-chan/01_broken-code golangtraining/26_QUESTIONS-FROM-STUDENTS/04_goroutines_closing-chan/02_fixed-code golangtraining/26_QUESTIONS-FROM-STUDENTS/05_concurrency-channels golangtraining/26_QUESTIONS-FROM-STUDENTS/06_performance-ramifications/01_called golangtraining/26_QUESTIONS-FROM-STUDENTS/06_performance-ramifications/02_not-called golangtraining/27_code-in-process/26_playing-with-type/00_types/01_division/01_int-int golangtraining/27_code-in-process/26_playing-with-type/00_types/01_division/02_int-float golangtraining/27_code-in-process/26_playing-with-type/00_types/01_division/03_var_int-float golangtraining/27_code-in-process/26_playing-with-type/00_types/01_division/04_var_int-float_invalid-code golangtraining/27_code-in-process/26_playing-with-type/00_types/02_strings/01_escape-sequences golangtraining/27_code-in-process/26_playing-with-type/00_types/02_strings/02_sequence-of-bytes golangtraining/27_code-in-process/26_playing-with-type/00_types/02_strings/03_immutable golangtraining/27_code-in-process/26_playing-with-type/00_types/02_strings/04_len/01_len-english golangtraining/27_code-in-process/26_playing-with-type/00_types/02_strings/04_len/02_len-chinese golangtraining/27_code-in-process/26_playing-with-type/00_types/02_strings/04_len/03_binary golangtraining/27_code-in-process/26_playing-with-type/00_types/02_strings/05_index-access golangtraining/27_code-in-process/26_playing-with-type/00_types/02_strings/06_slicing/01 golangtraining/27_code-in-process/26_playing-with-type/00_types/02_strings/06_slicing/02 golangtraining/27_code-in-process/26_playing-with-type/00_types/02_strings/06_slicing/03_invalid_negative-index golangtraining/27_code-in-process/26_playing-with-type/00_types/02_strings/07_concatenation golangtraining/27_code-in-process/26_playing-with-type/00_types/03_strconv/01_itoa golangtraining/27_code-in-process/26_playing-with-type/00_types/03_strconv/02_fmt-sprint golangtraining/27_code-in-process/26_playing-with-type/00_types/03_strconv/03_atoi golangtraining/27_code-in-process/26_playing-with-type/00_types/06_math-pkg golangtraining/27_code-in-process/26_playing-with-type/00_types/07_typeOf/01_better-code golangtraining/27_code-in-process/26_playing-with-type/00_types/07_typeOf/02_worse-code golangtraining/27_code-in-process/26_playing-with-type/01_struct golangtraining/27_code-in-process/26_playing-with-type/02_string golangtraining/27_code-in-process/26_playing-with-type/03_string-conversion golangtraining/27_code-in-process/26_playing-with-type/04_string_assertion_invalid-code golangtraining/27_code-in-process/26_playing-with-type/05_var-for-zero-val-initalization golangtraining/27_code-in-process/26_playing-with-type/06_shorthand-notation_nonzero-initalization golangtraining/27_code-in-process/26_playing-with-type/xx05_slice-strings golangtraining/27_code-in-process/26_playing-with-type/xx06_slice-strings_conversion golangtraining/27_code-in-process/26_playing-with-type/xx07_int golangtraining/27_code-in-process/26_playing-with-type/xx08_slice-ints golangtraining/27_code-in-process/27_package-os/00_args golangtraining/27_code-in-process/27_package-os/01_Read/01 golangtraining/27_code-in-process/27_package-os/02_Write/01 golangtraining/27_code-in-process/27_package-os/02_Write/02 golangtraining/27_code-in-process/27_package-os/02_Write/03_absolute-path golangtraining/27_code-in-process/27_package-os/03_mkdir/01 golangtraining/27_code-in-process/27_package-os/03_mkdir/02 golangtraining/27_code-in-process/27_package-os/04_FileMode/01 golangtraining/27_code-in-process/27_package-os/04_FileMode/02 golangtraining/27_code-in-process/27_package-os/05_file-open golangtraining/27_code-in-process/27_package-os/06_file-create golangtraining/27_code-in-process/27_package-os/07_Stdout_Stdin/01 golangtraining/27_code-in-process/27_package-os/07_Stdout_Stdin/02 golangtraining/27_code-in-process/28_package-strings/01_strings golangtraining/27_code-in-process/28_package-strings/02_NewReader golangtraining/27_code-in-process/29_package-bufio/01_NewReader golangtraining/27_code-in-process/29_package-bufio/02_NewScanner golangtraining/27_code-in-process/29_package-bufio/03_scan-lines/01 golangtraining/27_code-in-process/29_package-bufio/03_scan-lines/02 golangtraining/27_code-in-process/29_package-bufio/04_scan-words/01 golangtraining/27_code-in-process/29_package-bufio/04_scan-words/02 golangtraining/27_code-in-process/29_package-bufio/04_scan-words/03 golangtraining/27_code-in-process/30_package-io/01_copy golangtraining/27_code-in-process/30_package-io/02_copy golangtraining/27_code-in-process/30_package-io/03_copy golangtraining/27_code-in-process/30_package-io/04_TeeReader/01 golangtraining/27_code-in-process/30_package-io/04_TeeReader/02 golangtraining/27_code-in-process/30_package-io/05_ReadFull golangtraining/27_code-in-process/30_package-io/06_LimitReader golangtraining/27_code-in-process/30_package-io/07_WriteString/01_one-way golangtraining/27_code-in-process/30_package-io/07_WriteString/02_another-way golangtraining/27_code-in-process/31_package-ioutil/00_ReadAll golangtraining/27_code-in-process/31_package-ioutil/01_ReadAll golangtraining/27_code-in-process/31_package-ioutil/02_WriteFile golangtraining/27_code-in-process/31_package-ioutil/03_ReadAll_WriteFile golangtraining/27_code-in-process/32_package-encoding-csv/01_NewReader golangtraining/27_code-in-process/32_package-encoding-csv/02_column-headings golangtraining/27_code-in-process/32_package-encoding-csv/03_panics golangtraining/27_code-in-process/32_package-encoding-csv/04_parse-state golangtraining/27_code-in-process/32_package-encoding-csv/05_state-lookup golangtraining/27_code-in-process/32_package-encoding-csv/06_write-to-html golangtraining/27_code-in-process/32_package-encoding-csv/07_NewReader golangtraining/27_code-in-process/33_package-path-filepath/01_Walk golangtraining/27_code-in-process/33_package-path-filepath/02_Walk golangtraining/27_code-in-process/33_package-path-filepath/03_Walk golangtraining/27_code-in-process/33_package-path-filepath/04_Walk golangtraining/27_code-in-process/34_package-time/01_now golangtraining/27_code-in-process/34_package-time/02_time-parse/01 golangtraining/27_code-in-process/34_package-time/02_time-parse/02 golangtraining/27_code-in-process/34_package-time/03_format golangtraining/27_code-in-process/34_package-time/04_date-diff golangtraining/27_code-in-process/35_hash/01_FNV/01 golangtraining/27_code-in-process/35_hash/01_FNV/02 golangtraining/27_code-in-process/35_hash/02_MD5/01 golangtraining/27_code-in-process/35_hash/02_MD5/02 golangtraining/27_code-in-process/36_package-filepath/01_walk golangtraining/27_code-in-process/37_review-exercises/01_gravatar golangtraining/27_code-in-process/37_review-exercises/02_word-count golangtraining/27_code-in-process/37_review-exercises/03_centered_average golangtraining/27_code-in-process/37_review-exercises/04_swap-two_pointers golangtraining/27_code-in-process/37_review-exercises/05_clumps golangtraining/27_code-in-process/37_review-exercises/06_cat golangtraining/27_code-in-process/37_review-exercises/07_copy golangtraining/27_code-in-process/37_review-exercises/08_cp/01 golangtraining/27_code-in-process/37_review-exercises/08_cp/02 golangtraining/27_code-in-process/37_review-exercises/08_cp/03 golangtraining/27_code-in-process/37_review-exercises/08_cp/04_io-copy golangtraining/27_code-in-process/37_review-exercises/08_cp/05_os-write_slice-bytes golangtraining/27_code-in-process/37_review-exercises/08_cp/06_io-copy_string-NewReader golangtraining/27_code-in-process/37_review-exercises/08_cp/07_io-copy_bufio-NewReader golangtraining/27_code-in-process/37_review-exercises/08_cp/08_bufio_scanner golangtraining/27_code-in-process/37_review-exercises/09_sentence-case golangtraining/27_code-in-process/37_review-exercises/10_every-word golangtraining/27_code-in-process/37_review-exercises/11_every-other-word golangtraining/27_code-in-process/37_review-exercises/12_count-words golangtraining/27_code-in-process/37_review-exercises/13_longest-word golangtraining/27_code-in-process/37_review-exercises/14_cat-files/01 golangtraining/27_code-in-process/37_review-exercises/14_cat-files/02 golangtraining/27_code-in-process/37_review-exercises/15_csv_state-info/step01_read-and-output golangtraining/27_code-in-process/37_review-exercises/15_csv_state-info/step02_column-headings golangtraining/27_code-in-process/37_review-exercises/15_csv_state-info/step03_panics golangtraining/27_code-in-process/37_review-exercises/15_csv_state-info/step04_parse-state golangtraining/27_code-in-process/37_review-exercises/15_csv_state-info/step05_state-lookup golangtraining/27_code-in-process/37_review-exercises/15_csv_state-info/step06_write-to-html golangtraining/27_code-in-process/37_review-exercises/16_csv_stock-prices/step01_stdout golangtraining/27_code-in-process/37_review-exercises/16_csv_stock-prices/step02_html golangtraining/27_code-in-process/37_review-exercises/16_csv_stock-prices/step03_charting golangtraining/27_code-in-process/37_review-exercises/17_MD5-checksum golangtraining/27_code-in-process/37_review-exercises/18_Walk-dir golangtraining/27_code-in-process/38_JSON/01 golangtraining/27_code-in-process/38_JSON/02 golangtraining/27_code-in-process/38_JSON/03 golangtraining/27_code-in-process/38_JSON/04 golangtraining/27_code-in-process/38_JSON/05 golangtraining/27_code-in-process/38_JSON/06 golangtraining/27_code-in-process/38_JSON/07 golangtraining/27_code-in-process/38_JSON/08 golangtraining/27_code-in-process/38_JSON/09 golangtraining/27_code-in-process/38_JSON/10 golangtraining/27_code-in-process/38_JSON/11 golangtraining/27_code-in-process/38_JSON/12 golangtraining/27_code-in-process/38_JSON/13 golangtraining/27_code-in-process/38_JSON/14 golangtraining/27_code-in-process/38_JSON/15 golangtraining/27_code-in-process/38_JSON/15_exercise_csv-to-JSON/01 golangtraining/27_code-in-process/38_JSON/15_exercise_csv-to-JSON/02 golangtraining/27_code-in-process/38_JSON/16 golangtraining/27_code-in-process/38_JSON/17 golangtraining/27_code-in-process/39_packages/hello golangtraining/27_code-in-process/39_packages/main golangtraining/27_code-in-process/40_testing/01 golangtraining/27_code-in-process/40_testing/01/example golangtraining/27_code-in-process/40_testing/02 golangtraining/27_code-in-process/40_testing/02/example golangtraining/27_code-in-process/41_TCP/02_listen golangtraining/27_code-in-process/41_TCP/03_dial golangtraining/27_code-in-process/41_TCP/04_echo-server/v01 golangtraining/27_code-in-process/41_TCP/04_echo-server/v02 golangtraining/27_code-in-process/41_TCP/04_echo-server/v03 golangtraining/27_code-in-process/41_TCP/04_echo-server/v04 golangtraining/27_code-in-process/41_TCP/05_redis-clone/i01 golangtraining/27_code-in-process/41_TCP/05_redis-clone/i02 golangtraining/27_code-in-process/41_TCP/05_redis-clone/i03 golangtraining/27_code-in-process/41_TCP/05_redis-clone/i04 golangtraining/27_code-in-process/41_TCP/05_redis-clone/i05_code-issue golangtraining/27_code-in-process/41_TCP/05_redis-clone/i06 golangtraining/27_code-in-process/41_TCP/06_rot13-server/v01-todd golangtraining/27_code-in-process/41_TCP/06_rot13-server/v02-caleb golangtraining/27_code-in-process/41_TCP/06_rot13-server/v03-daniel golangtraining/27_code-in-process/41_TCP/07_chat-server golangtraining/27_code-in-process/42_HTTP/01_header golangtraining/27_code-in-process/42_HTTP/02_http-server/i01 golangtraining/27_code-in-process/42_HTTP/02_http-server/i02 golangtraining/27_code-in-process/42_HTTP/02_http-server/i03 golangtraining/27_code-in-process/42_HTTP/02_http-server/i04_POST golangtraining/27_code-in-process/42_HTTP/02_http-server/i05_not-writing_error-in-code golangtraining/27_code-in-process/42_HTTP/02_http-server/i06_PLAIN-TEXT golangtraining/27_code-in-process/42_HTTP/02_http-server/i07_Location golangtraining/27_code-in-process/42_HTTP/03_http-server_return-URL golangtraining/27_code-in-process/43_HTTP-server/01/i01 golangtraining/27_code-in-process/43_HTTP-server/01/i02 golangtraining/27_code-in-process/43_HTTP-server/02_requestURI/01 golangtraining/27_code-in-process/43_HTTP-server/02_requestURI/02 golangtraining/27_code-in-process/43_HTTP-server/03_restful/01 golangtraining/27_code-in-process/43_HTTP-server/03_restful/02 golangtraining/27_code-in-process/43_HTTP-server/03_restful/03 golangtraining/27_code-in-process/44_MUX_routing/01 golangtraining/27_code-in-process/44_MUX_routing/02 golangtraining/27_code-in-process/44_MUX_routing/03 golangtraining/27_code-in-process/44_MUX_routing/04 golangtraining/27_code-in-process/44_MUX_routing/05 golangtraining/27_code-in-process/44_MUX_routing/06_HandleFunc golangtraining/27_code-in-process/44_MUX_routing/07_HandleFunc golangtraining/27_code-in-process/44_MUX_routing/08_HandleFunc golangtraining/27_code-in-process/45_serving-files/01 golangtraining/27_code-in-process/45_serving-files/02 golangtraining/27_code-in-process/45_serving-files/03 golangtraining/27_code-in-process/45_serving-files/04_io-Copy golangtraining/27_code-in-process/45_serving-files/05_ServeContent golangtraining/27_code-in-process/45_serving-files/06_ServeFile golangtraining/27_code-in-process/45_serving-files/07_FileServer golangtraining/27_code-in-process/45_serving-files/08_FileServer golangtraining/27_code-in-process/45_serving-files/09_FileServer golangtraining/27_code-in-process/45_serving-files/10_static-file-server golangtraining/27_code-in-process/45_serving-files/11_static-file-server golangtraining/27_code-in-process/46_errata/01_set-header golangtraining/27_code-in-process/46_errata/02_URL golangtraining/27_code-in-process/46_errata/03_URL golangtraining/27_code-in-process/46_errata/04_URL golangtraining/27_code-in-process/46_errata/05_ServeFile golangtraining/27_code-in-process/47_templates/01_text-templates/01 golangtraining/27_code-in-process/47_templates/01_text-templates/02 golangtraining/27_code-in-process/47_templates/01_text-templates/03 golangtraining/27_code-in-process/47_templates/01_text-templates/04 golangtraining/27_code-in-process/47_templates/01_text-templates/05 golangtraining/27_code-in-process/47_templates/01_text-templates/06 golangtraining/27_code-in-process/47_templates/01_text-templates/07 golangtraining/27_code-in-process/47_templates/01_text-templates/08 golangtraining/27_code-in-process/47_templates/01_text-templates/09_function golangtraining/27_code-in-process/47_templates/01_text-templates/10_function golangtraining/27_code-in-process/47_templates/01_text-templates/11 golangtraining/27_code-in-process/47_templates/02_html-templates/01 golangtraining/27_code-in-process/47_templates/02_html-templates/02 golangtraining/27_code-in-process/47_templates/02_html-templates/03 golangtraining/27_code-in-process/47_templates/02_html-templates/04 golangtraining/27_code-in-process/47_templates/02_html-templates/05 golangtraining/27_code-in-process/47_templates/x03_exercises/01 golangtraining/27_code-in-process/47_templates/x03_exercises/02 golangtraining/27_code-in-process/47_templates/x03_exercises/03_template_csv-parse golangtraining/27_code-in-process/47_templates/x03_exercises/03_template_csv-parse/parse golangtraining/27_code-in-process/48_passing-data/01_URL-values golangtraining/27_code-in-process/48_passing-data/02_form-values golangtraining/27_code-in-process/48_passing-data/03_form-values golangtraining/27_code-in-process/48_passing-data/04_form-values golangtraining/27_code-in-process/48_passing-data/05_form-values golangtraining/27_code-in-process/48_passing-data/06_form-values/01 golangtraining/27_code-in-process/48_passing-data/06_form-values/02 golangtraining/27_code-in-process/48_passing-data/07_form-data golangtraining/27_code-in-process/48_passing-data/08_form_file-upload/01 golangtraining/27_code-in-process/48_passing-data/08_form_file-upload/02 golangtraining/27_code-in-process/48_passing-data/08_form_file-upload/03 golangtraining/27_code-in-process/48_passing-data/08_form_file-upload/04 golangtraining/27_code-in-process/49_cookies-sessions/01_set-cookie golangtraining/27_code-in-process/49_cookies-sessions/02_get-cookie golangtraining/27_code-in-process/49_cookies-sessions/03_sessions golangtraining/27_code-in-process/49_cookies-sessions/04_sessions golangtraining/27_code-in-process/49_cookies-sessions/05_sessions-HMAC/01 golangtraining/27_code-in-process/49_cookies-sessions/05_sessions-HMAC/02 golangtraining/27_code-in-process/49_cookies-sessions/06_sessions_GORILLA golangtraining/27_code-in-process/49_cookies-sessions/07_cookies_show-visits golangtraining/27_code-in-process/49_cookies-sessions/08_log-in-out golangtraining/27_code-in-process/49_cookies-sessions/09_HTTPS-TLS golangtraining/27_code-in-process/49_cookies-sessions/10_HTTPS-TLS golangtraining/27_code-in-process/49_cookies-sessions/11_HTTPS-TLS golangtraining/27_code-in-process/49_cookies-sessions/12_GORILLA_photo-blog golangtraining/27_code-in-process/50_exif golangtraining/27_code-in-process/51_appengine-introduction/01_hello-world golangtraining/27_code-in-process/51_appengine-introduction/02_photo-blog_somewhat-crappy-code-FYI golangtraining/27_code-in-process/51_appengine-introduction/03_google-maps-api golangtraining/27_code-in-process/51_appengine-introduction/04_SERVICE_users golangtraining/27_code-in-process/51_appengine-introduction/05_GORILLA_photo-blog golangtraining/27_code-in-process/52_memcache/01_get-nil golangtraining/27_code-in-process/52_memcache/02_set_get golangtraining/27_code-in-process/52_memcache/03_expiration golangtraining/27_code-in-process/52_memcache/04_increment golangtraining/27_code-in-process/52_memcache/05_memcache-session/01i golangtraining/27_code-in-process/52_memcache/05_memcache-session/02i golangtraining/27_code-in-process/52_memcache/05_memcache-session/03i golangtraining/27_code-in-process/52_memcache/05_memcache-session/04i golangtraining/27_code-in-process/52_memcache/05_memcache-session/05i golangtraining/27_code-in-process/53_datastore/00_appengine-documentation-example/01_with-modifications golangtraining/27_code-in-process/53_datastore/00_appengine-documentation-example/02_as-in-documentation golangtraining/27_code-in-process/53_datastore/00_appengine-documentation-example/03_no-favicon golangtraining/27_code-in-process/53_datastore/00_appengine-documentation-example/04_no-favicon golangtraining/27_code-in-process/53_datastore/01_partial-example_does-not-run golangtraining/27_code-in-process/53_datastore/02/01_put golangtraining/27_code-in-process/53_datastore/02/02 golangtraining/27_code-in-process/53_datastore/02/03_get golangtraining/27_code-in-process/53_datastore/02/04_query-filter golangtraining/27_code-in-process/53_datastore/02/05_query-ancestor golangtraining/27_code-in-process/53_datastore/03_users_datastore_exercise golangtraining/27_code-in-process/53_datastore/04_julien-schmidt-router/01 golangtraining/27_code-in-process/53_datastore/04_julien-schmidt-router/02-with-appengine golangtraining/27_code-in-process/54_AJAX/02_users_datastore_exercise_AJAX golangtraining/27_code-in-process/55_todo-list/01v_content-editable golangtraining/27_code-in-process/55_todo-list/02v_input golangtraining/27_code-in-process/56_twitter/02_ListenAndServe golangtraining/27_code-in-process/56_twitter/03_error-handling golangtraining/27_code-in-process/56_twitter/04_template_abstraction golangtraining/27_code-in-process/56_twitter/05_document golangtraining/27_code-in-process/56_twitter/06_document golangtraining/27_code-in-process/56_twitter/07_app-engine golangtraining/27_code-in-process/56_twitter/08_julien-schmidt golangtraining/27_code-in-process/56_twitter/09_login-form golangtraining/27_code-in-process/56_twitter/10_signup-form-validate/01v_form-validation golangtraining/27_code-in-process/56_twitter/10_signup-form-validate/02v_datastore-put golangtraining/27_code-in-process/56_twitter/11_HTTPS-TLS golangtraining/27_code-in-process/56_twitter/12_error-handling golangtraining/27_code-in-process/56_twitter/13_login_unfinished golangtraining/27_code-in-process/56_twitter/14_code-review golangtraining/27_code-in-process/56_twitter/15_memcache-home golangtraining/27_code-in-process/56_twitter/16_abstract-memcache-code golangtraining/27_code-in-process/56_twitter/17_memcache-templates golangtraining/27_code-in-process/56_twitter/18_abstract-API-Model golangtraining/27_code-in-process/56_twitter/18_abstract-API-Model/API golangtraining/27_code-in-process/56_twitter/18_abstract-API-Model/Memcache golangtraining/27_code-in-process/56_twitter/18_abstract-API-Model/Model golangtraining/27_code-in-process/56_twitter/19_abstract-API-Model_AE-fix/API golangtraining/27_code-in-process/56_twitter/19_abstract-API-Model_AE-fix/App golangtraining/27_code-in-process/56_twitter/19_abstract-API-Model_AE-fix/Memcache golangtraining/27_code-in-process/56_twitter/19_abstract-API-Model_AE-fix/Model golangtraining/27_code-in-process/56_twitter/20_reverting_to_only_package-main golangtraining/27_code-in-process/56_twitter/21_set-cookie_no-PATH golangtraining/27_code-in-process/56_twitter/22_set-cookie_PATH golangtraining/27_code-in-process/56_twitter/23_set-cookie-UUID golangtraining/27_code-in-process/56_twitter/24_session golangtraining/27_code-in-process/56_twitter/25_session-all-pages golangtraining/27_code-in-process/56_twitter/26_login golangtraining/27_code-in-process/56_twitter/27_logout golangtraining/27_code-in-process/56_twitter/28_code-review golangtraining/27_code-in-process/56_twitter/29_password-encryption golangtraining/27_code-in-process/56_twitter/30_turn-off-memcache golangtraining/27_code-in-process/56_twitter/31_modal-post-tweet golangtraining/27_code-in-process/56_twitter/32_tweets golangtraining/27_code-in-process/56_twitter/33_display-all-tweets golangtraining/27_code-in-process/56_twitter/34_humanize golangtraining/27_code-in-process/56_twitter/35_schmidt-params/01 golangtraining/27_code-in-process/56_twitter/35_schmidt-params/02 golangtraining/27_code-in-process/56_twitter/35_schmidt-params/03 golangtraining/27_code-in-process/56_twitter/35_schmidt-params/04 golangtraining/27_code-in-process/56_twitter/35_schmidt-params/05 golangtraining/27_code-in-process/56_twitter/36_user-tweets golangtraining/27_code-in-process/56_twitter/37_other-implementations/01_daniel golangtraining/27_code-in-process/56_twitter/37_other-implementations/02_tommy golangtraining/27_code-in-process/56_twitter/37_other-implementations/03_t golangtraining/27_code-in-process/56_twitter/38_follow golangtraining/27_code-in-process/56_twitter/39_unfollow golangtraining/27_code-in-process/56_twitter/40_send-email golangtraining/27_code-in-process/56_twitter/41_twitter-send-email golangtraining/27_code-in-process/56_twitter/42_following golangtraining/27_code-in-process/56_twitter/43_following-me golangtraining/27_code-in-process/56_twitter/44_code-review golangtraining/27_code-in-process/57_appengine-channel/01_basic golangtraining/27_code-in-process/57_appengine-channel/02_chat-room golangtraining/27_code-in-process/58_appengine-search golangtraining/27_code-in-process/59_appengine-GCS-storage/01_NewWriter_PEM-auth golangtraining/27_code-in-process/59_appengine-GCS-storage/02_NewWriter_JSON-auth golangtraining/27_code-in-process/59_appengine-GCS-storage/03_put-get-list_JSON-auth golangtraining/27_code-in-process/60_movie-website/01_search golangtraining/27_code-in-process/60_movie-website/02_image-upload-GCS golangtraining/27_code-in-process/61_http-giffy golangtraining/27_code-in-process/62_self-destructing-message/01 golangtraining/27_code-in-process/62_self-destructing-message/02_crypto/01_nonce golangtraining/27_code-in-process/62_self-destructing-message/02_crypto/02_encrypt golangtraining/27_code-in-process/62_self-destructing-message/02_crypto/03_decrypt golangtraining/27_code-in-process/62_self-destructing-message/02_crypto/04_complete golangtraining/27_code-in-process/63_GCS-filebrowser golangtraining/27_code-in-process/64_csv-example/01 golangtraining/27_code-in-process/64_csv-example/02 golangtraining/27_code-in-process/65_accepting-credit-cards/01_basic-setup golangtraining/27_code-in-process/65_accepting-credit-cards/02_customizing_UI golangtraining/27_code-in-process/65_accepting-credit-cards/03_stripe-token golangtraining/27_code-in-process/65_accepting-credit-cards/04_err-because-of-app-engine golangtraining/27_code-in-process/65_accepting-credit-cards/05_charging golangtraining/27_code-in-process/65_accepting-credit-cards/06_idempotent golangtraining/27_code-in-process/65_accepting-credit-cards/07_complete golangtraining/27_code-in-process/66_authentication_OAUTH/01_app-engine-auth_REVIEW golangtraining/27_code-in-process/66_authentication_OAUTH/02_manual-auth/01_cookie_REVIEW golangtraining/27_code-in-process/66_authentication_OAUTH/02_manual-auth/02_gorilla_REVIEW_photo-blog/01_simple golangtraining/27_code-in-process/66_authentication_OAUTH/02_manual-auth/02_gorilla_REVIEW_photo-blog/02_photo-blog golangtraining/27_code-in-process/66_authentication_OAUTH/02_manual-auth/03_memcache_REVIEW_twitter golangtraining/27_code-in-process/66_authentication_OAUTH/02_manual-auth/04_bcrypt/01 golangtraining/27_code-in-process/66_authentication_OAUTH/02_manual-auth/04_bcrypt/02 golangtraining/27_code-in-process/66_authentication_OAUTH/03_oauth-github/01_authorization-code golangtraining/27_code-in-process/66_authentication_OAUTH/03_oauth-github/02_access-token golangtraining/27_code-in-process/66_authentication_OAUTH/03_oauth-github/03_url-ParseQuery golangtraining/27_code-in-process/66_authentication_OAUTH/03_oauth-github/04_user-email golangtraining/27_code-in-process/66_authentication_OAUTH/03_oauth-github/05_configuration_scheduled-tasks_cron golangtraining/27_code-in-process/66_authentication_OAUTH/03_oauth-github/06-complete golangtraining/27_code-in-process/66_authentication_OAUTH/05_oauth-google golangtraining/27_code-in-process/66_authentication_OAUTH/08_oauth-dropbox golangtraining/27_code-in-process/67_digital-ocean_aerospike/01_helloWorld golangtraining/27_code-in-process/67_digital-ocean_aerospike/02_fullsite golangtraining/27_code-in-process/67_digital-ocean_aerospike/03-aerospike golangtraining/27_code-in-process/68_task-queue/01_delay golangtraining/27_code-in-process/68_task-queue/02_delay-cron golangtraining/27_code-in-process/68_task-queue/03_github golangtraining/27_code-in-process/68_task-queue/04_github-goroutines golangtraining/27_code-in-process/68_task-queue/05_github-cron golangtraining/27_code-in-process/90_append-to-file/01-get-files golangtraining/27_code-in-process/90_append-to-file/02-apply golangtraining/27_code-in-process/97_temp/01 golangtraining/27_code-in-process/97_temp/02 golangtraining/27_code-in-process/98-good-student-code/daniel/Week10/dropbox-api golangtraining/27_code-in-process/98-good-student-code/daniel/Week10/filebrowser golangtraining/27_code-in-process/98-good-student-code/daniel/Week10/payment golangtraining/27_code-in-process/98-good-student-code/daniel/Week7/Converter golangtraining/27_code-in-process/98-good-student-code/daniel/Week7/Hello golangtraining/27_code-in-process/98-good-student-code/daniel/Week7/Loops golangtraining/27_code-in-process/98-good-student-code/daniel/Week7/capitalize golangtraining/27_code-in-process/98-good-student-code/daniel/Week7/distanceConverter golangtraining/27_code-in-process/98-good-student-code/daniel/Week7/findSmallest golangtraining/27_code-in-process/98-good-student-code/daniel/Week7/monuments golangtraining/27_code-in-process/98-good-student-code/daniel/Week7/my-cat golangtraining/27_code-in-process/98-good-student-code/daniel/Week7/my-md5 golangtraining/27_code-in-process/98-good-student-code/daniel/Week7/profileGenerator golangtraining/27_code-in-process/98-good-student-code/daniel/Week7/rotate golangtraining/27_code-in-process/98-good-student-code/daniel/Week7/wordCount golangtraining/27_code-in-process/98-good-student-code/daniel/Week7/yahooFinantial golangtraining/27_code-in-process/98-good-student-code/daniel/Week8/chatRoom golangtraining/27_code-in-process/98-good-student-code/daniel/Week8/colors golangtraining/27_code-in-process/98-good-student-code/daniel/Week8/csv-convert golangtraining/27_code-in-process/98-good-student-code/daniel/Week8/customHttpServer golangtraining/27_code-in-process/98-good-student-code/daniel/Week8/echoServer golangtraining/27_code-in-process/98-good-student-code/daniel/Week8/firstAppEngine golangtraining/27_code-in-process/98-good-student-code/daniel/Week8/firstTemplate golangtraining/27_code-in-process/98-good-student-code/daniel/Week8/formExample golangtraining/27_code-in-process/98-good-student-code/daniel/Week8/httpAnimals golangtraining/27_code-in-process/98-good-student-code/daniel/Week8/json-example golangtraining/27_code-in-process/98-good-student-code/daniel/Week8/photoBlog golangtraining/27_code-in-process/98-good-student-code/daniel/Week8/profile golangtraining/27_code-in-process/98-good-student-code/daniel/Week8/redisDatabase golangtraining/27_code-in-process/98-good-student-code/daniel/Week8/secureHello golangtraining/27_code-in-process/98-good-student-code/daniel/Week8/static-http golangtraining/27_code-in-process/98-good-student-code/daniel/Week8/testExample golangtraining/27_code-in-process/98-good-student-code/daniel/Week8/todolist golangtraining/27_code-in-process/98-good-student-code/daniel/Week9/chat-example golangtraining/27_code-in-process/98-good-student-code/daniel/Week9/movie-search golangtraining/27_code-in-process/98-good-student-code/daniel/Week9/storageExample golangtraining/27_code-in-process/99_svcc/01_string-to-html golangtraining/27_code-in-process/99_svcc/02_os-args golangtraining/27_code-in-process/99_svcc/03_text-template golangtraining/27_code-in-process/99_svcc/04_pipeline golangtraining/27_code-in-process/99_svcc/05_pipeline-range golangtraining/27_code-in-process/99_svcc/06_pipeline-range-else golangtraining/27_code-in-process/99_svcc/07_composition golangtraining/27_code-in-process/99_svcc/08_composition-conditional golangtraining/27_code-in-process/99_svcc/09_methods golangtraining/27_code-in-process/99_svcc/10_xss golangtraining/27_code-in-process/99_svcc/11_html-templates golangtraining/27_code-in-process/99_svcc/12_parsefiles golangtraining/27_code-in-process/99_svcc/13_ParseGlob golangtraining/27_code-in-process/99_svcc/14_tcp_echo-server golangtraining/27_code-in-process/99_svcc/15_tcp_echo-server golangtraining/27_code-in-process/99_svcc/16_redis-clone_step-2 golangtraining/27_code-in-process/99_svcc/17_redis-clone_step-5 golangtraining/27_code-in-process/99_svcc/18_rot13 golangtraining/27_code-in-process/99_svcc/19_DIY_http-server_request-line_headers golangtraining/27_code-in-process/99_svcc/20_DIY_http-server_step-01 golangtraining/27_code-in-process/99_svcc/21_DIY_http-server_step-02 golangtraining/27_code-in-process/99_svcc/22_DIY_http-server_step-03 golangtraining/27_code-in-process/99_svcc/23_DIY_http-server_step-04 golangtraining/27_code-in-process/99_svcc/24_http-server_ServeMux golangtraining/27_code-in-process/99_svcc/25_http-server_DefaultServeMux golangtraining/27_code-in-process/99_svcc/26_serving-files_io-Copy golangtraining/27_code-in-process/99_svcc/27_serving-files_ServeContent golangtraining/27_code-in-process/99_svcc/28_serving-files_ServeFile golangtraining/27_code-in-process/99_svcc/29_serving-files_FileServer golangtraining/27_code-in-process/99_svcc/30_serving-files_FileServer golangtraining/27_code-in-process/99_svcc/31_serving-files_FileServer golangtraining/27_code-in-process/99_svcc/32_static-FileServer golangtraining/27_code-in-process/99_svcc/33_set-cookie golangtraining/27_code-in-process/99_svcc/34_get-cookie golangtraining/27_code-in-process/99_svcc/35_favicon-bye-bye golangtraining/27_code-in-process/99_svcc/36_sessions_cookie golangtraining/27_code-in-process/99_svcc/37_sessions_cookie_log-in-out golangtraining/27_code-in-process/99_svcc/38_HMAC/01 golangtraining/27_code-in-process/99_svcc/38_HMAC/02 golangtraining/27_code-in-process/99_svcc/38_HMAC/03 golangtraining/27_code-in-process/99_svcc/39_AES-encrypt-decrypt golangtraining/27_code-in-process/99_svcc/40_sessions_GORILLA golangtraining/27_code-in-process/99_svcc/41_sessions_GORILLA_log-in-out golangtraining/27_code-in-process/99_svcc/42_JSON golangtraining/27_code-in-process/99_svcc/43_sessions_GORILLA_JSON golangtraining/27_code-in-process/99_svcc/44_file-paths golangtraining/27_code-in-process/99_svcc/45_sessions_GORILLA_photo-blog golangtraining/27_code-in-process/99_svcc/46_HTTPS-TLS Click to show internal directories. Click to hide internal directories.