Companies Home Search Profile

Building a module in Go (Golang)

Focused View

Trevor Sawler

4:13:15

14 View
  • 1. Introduction.mp4
    03:19
  • 2. A bit about me.mp4
    01:01
  • 3. How to ask for help.mp4
    01:14
  • 1. Installing Go.mp4
    00:51
  • 2. Installing an IDE.mp4
    01:28
  • 3.1 toolkit-project.zip
  • 3. Setting up our Go Workspace.mp4
    04:59
  • 1. What well cover in this section.mp4
    00:53
  • 2.1 toolkit-project.zip
  • 2. Generating a random string.mp4
    05:11
  • 3.1 toolkit-project.zip
  • 3. Trying out our new module in a simple Go application.mp4
    03:40
  • 4.1 toolkit-project.zip
  • 4. Writing a test for our RandomString function.mp4
    03:15
  • 5.1 Git for Mac.html
  • 5.2 Git for Windows.html
  • 5. Pushing our module up to GitHub.mp4
    05:58
  • 1. What well cover in this section.mp4
    01:23
  • 2.1 toolkit-project.zip
  • 2. Getting started with the UploadFiles method.mp4
    24:26
  • 3.1 toolkit-project.zip
  • 3. Adding a project to our workspace to test uploading files.mp4
    01:31
  • 4.1 index.html.zip
  • 4.2 toolkit-project.zip
  • 4. Trying out our new upload functionality.mp4
    12:19
  • 5.1 toolkit-project.zip
  • 5. Adding a convenience method, UploadOneFile.mp4
    05:55
  • 6.1 img.png.zip
  • 6.2 toolkit-project.zip
  • 6. Writing a test for the UploadFiles method in our module.mp4
    15:29
  • 7.1 toolkit-project.zip
  • 7. Writing a test for UploadOneFile.mp4
    04:34
  • 8.1 Archive.zip
  • 8. Pushing our changes to GitHub.mp4
    03:04
  • 1. What well cover in this section.mp4
    00:52
  • 2.1 toolkit-project.zip
  • 2. Writing the CreateDirIfNotExists method.mp4
    02:20
  • 3.1 toolkit-project.zip
  • 3. Trying out our new method.mp4
    02:21
  • 4.1 toolkit-project.zip
  • 4. Writing a test for CreateDirIfNotExists.mp4
    02:12
  • 5.1 toolkit-project.zip
  • 5. Updating the UploadFiles method to take advantage of our new method.mp4
    01:32
  • 6.1 toolkit-project.zip
  • 6. Updating our readme and pushing changes to GitHUB.mp4
    01:09
  • 1. What well cover in this section.mp4
    00:42
  • 2.1 toolkit-project.zip
  • 2. Writing the Slugify method for our module.mp4
    03:43
  • 3.1 toolkit-project.zip
  • 3. Adding an app-slug project to our Go workspace and trying things out.mp4
    03:32
  • 4.1 toolkit-project.zip
  • 4. Update our tests.mp4
    07:57
  • 5. Pushing our changes to GitHub.mp4
    01:30
  • 1. What well cover in this section.mp4
    00:58
  • 2.1 toolkit-project.zip
  • 2. Writing the DownloadStaticFile function.mp4
    03:59
  • 3.1 pic.jpg.zip
  • 3.2 toolkit-project.zip
  • 3. Trying things out.mp4
    07:52
  • 4.1 toolkit-project.zip
  • 4. Writing a test for DownloadStaticFile.mp4
    05:49
  • 5. Pushing our changes to GitHub.mp4
    01:16
  • 1. What well cover in this section.mp4
    00:56
  • 2.1 toolkit-project.zip
  • 2. Reading JSON.mp4
    08:34
  • 3.1 toolkit-project.zip
  • 3. Improving error messages in ReadJSON.mp4
    08:09
  • 4.1 toolkit-project.zip
  • 4. Writing a test for ReadJSON.mp4
    07:37
  • 5.1 toolkit-project.zip
  • 5. Adding additional cases to our table test for ReadJSON.mp4
    06:41
  • 6.1 toolkit-project.zip
  • 6. Writing JSON.mp4
    03:53
  • 7.1 toolkit-project.zip
  • 7. Writing a test for WriteJSON.mp4
    02:49
  • 8.1 toolkit-project.zip
  • 8. Creating the ErrorJSON function.mp4
    02:48
  • 9.1 toolkit-project.zip
  • 9. Writing a test for ErrorJSON.mp4
    04:01
  • 10.1 toolkit-project.zip
  • 10. Pushing JSON to a remote service.mp4
    06:54
  • 11.1 toolkit-project.zip
  • 11. Writing a test for PushJSONToRemote.mp4
    06:17
  • 12.1 index.html.zip
  • 12.2 toolkit-project.zip
  • 12. Setting up our simple web app and adding some HTML.mp4
    04:49
  • 13.1 toolkit-project.zip
  • 13. Getting started with the web app.mp4
    05:36
  • 14.1 toolkit-project.zip
  • 14. Handling a simple JSON Post.mp4
    04:33
  • 15.1 toolkit-project.zip
  • 15. Handling pushing to a remote service.mp4
    05:21
  • 1. What well cover in this section.mp4
    01:03
  • 2.1 Semantic Versioning.html
  • 2. What is semantic versioning.mp4
    02:06
  • 3.1 toolkit-project.zip
  • 3. Tagging version 1.0.0 of our module.mp4
    02:10
  • 4.1 Go Modules Version 2 and Beyond.html
  • 4.2 toolkit-project.zip
  • 4. Updating the version to 2.0.0.mp4
    06:10
  • 1. What well cover in this section.mp4
    00:39
  • 2.1 api-test.zip
  • 2. Creating a simple (dummy) API.mp4
    03:08
  • 3.1 api-test.zip
  • 3. Importing our toolkit module to the project and trying one endpoint.mp4
    03:05
  • 4.1 api-test.zip
  • 4.2 index.html.zip
  • 4. Trying out the login handler.mp4
    07:42
  • Description


    Learn to build a reusable, well-tested module in Go

    What You'll Learn?


    • How to build a platform agnostic, re-usable Go module
    • How to share your module with other Go developers
    • How to write tests for your module
    • How to manage multiple versions of your module
    • How to use Go 1.18's new go work feature, workspaces

    Who is this for?


  • This course is intended for Go developers who want to build and share modules (sometimes called packages) for use by other developers, or in their own projects.
  • What You Need to Know?


  • Some experience with the Go programming language is required.
  • More details


    Description

    Working with web applications in Go is remarkably easy, but it does not take too long to realize that in a lot of cases, we end up writing the same kind of code every time we start a new project. You might need to read JSON, write JSON, upload files, or any of the commonly used features of a given web application. In other words, we often rewrite code that we have already written, many times over.

    Rather than simply copying and pasting code from one project to another, it makes sense to take advantage of Go modules -- reusable code that can be included in a project by simply issuing a "go get" command. That way, if new functionality is added to that module, any project that imports it can take advantage of that functionality simply by updating its dependencies, and if a bug is discovered, you can fix it by updating the module; every project that uses that module gets the bug fix with a single "go get -u" command.

    Building a robust, secure, well-tested module is not difficult, but it does require careful planning to ensure that it will work across different operating systems.

    This course will take you through the steps necessary to produce a module that includes many of the tasks commonly used in web applications, including:

    • reading JSON

    • writing JSON

    • producing well formatted, informative error messages

    • uploading one or more files to a server, and limiting uploads by mime type and file size

    • creating directories on the server

    • generating random strings

    • downloading static files

    • posting JSON to a remote service

    • creating a URL safe slug from a string

    We'll build our module using Go 1.18's new workspaces tools, and we'll ensure that the entire module is well-tested.

    Our final module will not have any external dependencies, and will only use functionality found in Go's standard library.

    By the time you have finished this course, you'll have a Go module that will make starting a new web application much faster, and you won't be depending on someone else's code to do so.

    Who this course is for:

    • This course is intended for Go developers who want to build and share modules (sometimes called packages) for use by other developers, or in their own projects.

    User Reviews
    Rating
    0
    0
    0
    0
    0
    average 0
    Total votes0
    Focused display
    Category

    Go

    Trevor Sawler
    Trevor Sawler
    Instructor's Courses
    I have twenty years of experience in professional software development, and twenty years of experience as a University professor. As an entrepreneur, I have worked with a broad range of clients, including Thomson Nelson, Hewlett Packard, the Royal Bank of Canada, Keybank, Sprint, and many, many others. I also have extensive management and project management experience. I have led teams of fifty developers and artists on multi-million dollar projects, and much smaller teams on much smaller projects.As a professor, I have taught in a wide variety of course areas, including Computer Science, English, Irish, and American literature, and a number of "crossover" courses that bridge the liberal arts and technological fields.I have won regional, national, and international awards for my work in the IT field, and have also won awards for my teaching and research as a University professor.
    Students take courses primarily to improve job-related skills.Some courses generate credit toward technical certification. Udemy has made a special effort to attract corporate trainers seeking to create coursework for employees of their company.
    • language english
    • Training sessions 58
    • duration 4:13:15
    • English subtitles has
    • Release Date 2024/03/21

    Courses related to Go