Back
Similar todos
Started looking into how to debug Go code: blog.jetbrains.com/go/2019/02… #govuetifytemplate
bought IntelliJ Ultimate All Products Pack annual subscription b/c I want to use GoLand and paying for that and PyCharm is close to the same price as getting all the rest of the IDEs/tools as well; installed GoLand and WebStorm (for Vue dev work); learned I seem to need to open my 'backend' subdirectory as a root project in GoLand to avoid 'unknown dependency' errors; switch from using the gorilla/mux router to chi b/c apparently it's more actively developed(?) and more popular(?); look into using the Huma REST API framework; got the Huma "Hello World" example working in my code
Continue reading the IntelliJ tutorial on debugging Go; was told I needed to install the ARM version of Go so I did that; trying to resolve other errors when I try to run the debugger.
today was my first day actually doing Go development instead of just tutorials: took a magnesium tablet b/c I felt anxious last night, I think from the caffeine in the cocoa I had been drinking; copied my frontend code from my flask/vuetify template repo to my go/vuetify template repo; confirmed I can serve the frontend code locally; installed Go; drank an iced cocoa; successfully started my 'Hello World' main.go backend file as a web app server; asked ChatGPT for help converting my "POST /users/" request to use Go; created a Go module; installed Postman macOS; took a 15min break after an hour; got my frontend app "talking to" my Go backend (successfully returned "Hello World" and had it on-screen in my frontend app); added Go middleware to log every request to the console so I can see what is happening; renamed my (default) branch from 'master' to 'main'; got live reloading for my Go backend (it automatically reloads the backend when I make changes to the code); confirmed my "POST /users/" returns 201 when I use the frontend registration form; came up with a task for tomorrow: get "POST /api/session" working; set up PyCharm to be able to explore my SQLite db from within the DB toolbar; confirmed that my user registration created a new user record in the db
My next goal is to get postgres working locally instead of sqlite b/c apparently it's easier to use postgres on dokku(?). Installed postgres on my macbook using postgresapp.com, it was so easy 😭 Connected GoLand to a new postgres db for my backend; got my backend code working with the postgres db; committed and pushed my code. Next step is to continue with this guide: shellbear.me/blog/go-dokku-de…
Got my frontend app deployed to Netlify, it was surprisingly easy. Changed my Cloudflare DNS settings for the domain to point to Netlify, and turned off the 'Proxy' setting in Cloudflare. Changed my frontend and backend code to use the new setup of having the api at a different domain instead of at `/api/` at the same domain. Tomorrow I'll need to test that local development is still working properly and then see if I can get it working on Netlify/DigitalOcean.
Got "Hello World" working on Digital Ocean with Go!!!!!!!!!!!!!!!!! Holy shit that was easy, I don't even need to use Apache.
Started going through the "Let's Go" ebook, started my first Go web app.
Add Go language server #vimrc
Continuing to look into the CORS error I'm getting when my frontend tries to make an API request to my backend; it seems my backend dokku app wasn't deployed for some reason; destroyed my existing go dokku app and recreated it and then struggled with an error for a while before realizing I had the same issue a few days ago and the solution was to run `dokku builder:set backend-app build-dir backend`; now getting an error saying the download for my specified version of Go is "unknown to the buildpack"; after much trial-and-error I realized the problem was that Dokku has a stupid error message that makes it sound like it has already automatically chosen a Go buildpack when in fact it has not. I was additionally getting confused because I was seeing Dokku installing Go and not realizing that was because of my +heroku instruction in my go.mod file rather than Dokku automatically using a Go buildpack. The solution was to specify a Go buildpack for my app with `dokku buildpacks:add <my-app> heroku/go`. Now getting a new error: "Failed to connect to database". Fixed it by switching my code to use the `DATABASE_URL` environment variable that Dokku creates for your code to connect to the db. My `git push dokku main` finally succeeded, but I'm still getting a CORS error. Eventually figured out it was because my Dokku app name was `whatdo-backend` when I had forgotten that that would also be the name of the subdomain, so I had to delete the app and recreate it with the name `api`. I also created a `/ping` health-check URL to help me debug this more quickly. I'm now getting a 521 error, I think maybe because Dokku is running on http and Cloudflare is reaching out via https?
make a go app and put it online
- follow up with dockerhub abt debug mode on laptop ✅ #greendeploy
figured out a nice proxy+livereload setup using devd that I like a lot. #mylife
finally setup golang for development
Got back into working on my HN-jobs-auto-applier: Built the UI to allow a user to click a button to connect their gmail account to my app and have it save access / refresh tokens to the backend...fixed misc things that broke for unknown reasons...got the backend deploying to digital ocean without erroring, not sure why it stopped working...currently trying to figure out why, when I ssh into my server, it seems to show me at an older commit, when my github action seems to be working without errors and having me at the newest commit...figured out that I was running the wrong command to check the current commit, IDK why an older commit was still present in some of the files...FINALLY got prod working where I can sign into gmail, upload my resume, and send an email to myself. FUCK that was so much harder than it should've been...added a netlify.toml redirect so that I can go to whatdo.com/jobs and have it load the SPA instead of 404ing...fixed a bug where a refresh token wasn't being saved to the db in prod...
Find a way to attach debugger to #pathwar golang code #amazing #roadtoglobal #golangbestlanguageever???
🔥 broke #djangobuild but rebuilt it using a devcontainer and debugging just works now
Continuing to try to get Dokku working with a monorepo; I think I got past my last problem of how to deploy both apps by running on the server `dokku builder:set backend-app build-dir backend` (and similar for the frontend); now I'm seeing a new error when I try to deploy the frontend app: `Two different lockfiles found: package-lock.json and yarn.lock`; I seemed to fix it by deleting the yarn.lock. New error: "Missing script: start"; fixed that by adding a 'start' entry to my package.json. New error: "Cannot find module '@vitejs/plugin-vue'"; maybe because it's listed as a devDependency? I found this SO post where the guy said he ended up just putting his frontend on Netlify, so maybe I'll try that instead: stackoverflow.com/a/62455021/… ChatGPT is saying the way to do it is to deploy my API at api.mydomain.com and then direct traffic at other subdomains to Netlify to handle frontend requests. So I'll try that tomorrow.
Spent time learning about using Go for a web app back-end to see if it would be better than using Python.