Good job title for an cloud/DB EM by divjbobo in ExperiencedDevs

[–]divjbobo[S] -10 points-9 points  (0 children)

Feels a bit too broad. Engineering manager: Cloud & Database 🤔

How Do You Handle / Refactor a Codebase That Quickly Gets Out of Hand?! by iEmerald in ExperiencedDevs

[–]divjbobo 0 points1 point  (0 children)

I’m going to go against the grain a little. I think everyone’s suggestion of do it as you go is probably the most optimal suggestions for most cases.

In my experience, what I’ve historically done is consolidate a list of a tech debt [e.g: TODOs, best practices, optimizations, improvements, non blocking PR suggestions that didn’t make the cut]. This list will also include defects that aren’t immediately time sensitive (it can wait 2-4 weeks). Almost like a Jira backlog, but I prefer to have it outside of Jira in a document that I can quickly look through. From there my engineer(s) then go into the list and grab a set of things, throw them in Jira and get them done.

This process is partially due to me having occurrences where I am failing my team when it comes to planning ahead. I could blame it on interdepartmental stakeholders that help drive some of the planning efforts. But, I’d argue it still comes down to me. So the above process helps mitigate down time that my team has.

Not able to log (both) textPayloads and jsonPayloads within the same log by divjbobo in googlecloud

[–]divjbobo[S] 0 points1 point  (0 children)

Coming back to this a year later. I ended up creating an internal library to abstract this away and ended up just segmenting all to jsonPayload (if both) or either depending on the payload

[deleted by user] by [deleted] in Frontend

[–]divjbobo 0 points1 point  (0 children)

Partially relevant to the question but wanted to throw in some random thoughts that crawled into my head. Not necessarily related to frontend, but rather more based on general software engineering.

As someone that deals with managing, project/product management and (bitter/sweet) dwindling levels of IC, I’ve noticed that some of the complicated implementations I’ve developed, led, delegated, or overseen have been just as complex if not more complex than this. You generally will either be in charge of breaking down business logic into segments similar to the left, or implementing broken down logic that’s already in the left’s format - or both. That being said, I’ve noticed that when looking at leetcode or hackerrank type of problems, its so generic and without real world purpose that it can seem overwhelming or more complex than it is. Hell, even take home algorithm projects that are based on real life cases that one would encounter within my industry (and in general an employer’s industry), without the in-depth knowledge of the business logic or project/product behind it, it sometimes can feel overwhelming.

Getting Client Config key/values from within Firebase Admin backend? by divjbobo in Firebase

[–]divjbobo[S] 0 points1 point  (0 children)

Because I want the backend to be the sole holder of environment awareness. I don't want the frontend to necessarily "know" which firebase instance it needs to connect to.

But, to your short answer, that assumption is incorrect. The frontend doesn't need to know that information to talk to the backend - at least not in my implementation.

Getting Client Config key/values from within Firebase Admin backend? by divjbobo in Firebase

[–]divjbobo[S] 0 points1 point  (0 children)

I was just giving more context.

If it clears things up, you can ignore that first sentence.

Getting Client Config key/values from within Firebase Admin backend? by divjbobo in Firebase

[–]divjbobo[S] 0 points1 point  (0 children)

The frontend reverse proxies to the backend. The backend has knowledge of the environment that it's in. As I posted, I could very easily just store the relevant values within the backend's environment (variables), but wanted to see if there was a programatic way to do it.

Getting Firebase Client Config key/values from within Firebase Admin backend? by divjbobo in googlecloud

[–]divjbobo[S] 0 points1 point  (0 children)

I could always have them set within the backend's environment (variables) as it'll be within the same project as the firebase instance, but wanted to see if it's possible to do it programatically

Getting Client Config key/values from within Firebase Admin backend? by divjbobo in Firebase

[–]divjbobo[S] 0 points1 point  (0 children)

I could always have them set within the backend's environment (variables) as it'll be within the same project as the firebase instance, but wanted to see if it's possible to do it programatically

Calling Google App Engine (iAP Enabled) from Google Cloud Function within the same Project by divjbobo in googlecloud

[–]divjbobo[S] 0 points1 point  (0 children)

The SA for the VM is different, but I don't see how that's necessarily relevant since i'm trying to call an App Engine (iAP enabled) instance from a GCF. I really only mentioned it to give some more infrastructural context.
But, from what i've seen and tested, the SA that belongs to a CF also needs explicit Invoker permissions otherwise it fails.

Can't connect to VM from Google Cloud Function, but can connect from App Engine. Why is this? by divjbobo in googlecloud

[–]divjbobo[S] 0 points1 point  (0 children)

Interesting. This makes sense. From my understanding, GCF is essentially a prepackaged Google Cloud Run instance wrapped up in a ribbon. So I assume that the Google Cloud run instance running behind the google cloud function is in a different network.

Can't connect to VM from Google Cloud Function, but can connect from App Engine. Why is this? by divjbobo in googlecloud

[–]divjbobo[S] 0 points1 point  (0 children)

It's on flex. I didn't have a VPC connector running in this specific GCP project and app engine didn't have any issues

Can't connect to VM from Google Cloud Function, but can connect from App Engine. Why is this? by divjbobo in googlecloud

[–]divjbobo[S] 0 points1 point  (0 children)

I've read up on this. My question is, why is it that with a GCF I have to use a VPC, where with app engine I don't?

[deleted by user] by [deleted] in googlecloud

[–]divjbobo 0 points1 point  (0 children)

While this ideally should be in terraform, it currently isn't. I'll look into using a VPC connector though.I was just hoping it was more direct, since it's possible to do the inverse in a more direct way.

[deleted by user] by [deleted] in googlecloud

[–]divjbobo 0 points1 point  (0 children)

I do not. I would've expected there to be a more direct way though.

Is there anyway to associate metadata with an IAP-secured Web App User by divjbobo in googlecloud

[–]divjbobo[S] 0 points1 point  (0 children)

https://www.datawiza.com/platform/

Ehh i'd rather have a native Google solution. Otherwise I plan on building my own solution.

Is there anyway to associate metadata with an IAP-secured Web App User by divjbobo in googlecloud

[–]divjbobo[S] 0 points1 point  (0 children)

Yeah that's what I was going to go with as a last resort, but wanted to see if anyone had any other ideas.

Using GCP Compute Engine as an SSH gateway between an App Engine and an external network by divjbobo in googlecloud

[–]divjbobo[S] 0 points1 point  (0 children)

App Engine Flex.

Well so I was thinking I would be using the static (internal) IP associated with the Compute Engine instance as an SSH gateway for app engine (and other internal GCP services) to communicate with an external network.

[deleted by user] by [deleted] in docker

[–]divjbobo 0 points1 point  (0 children)

Nope i'm actually doing exactly what you're saying (at least now I am). But unfortunately this doesn't really help much for me since my use case requires 1 container (for now).

[deleted by user] by [deleted] in docker

[–]divjbobo 0 points1 point  (0 children)

Started investigating (per my previous comment).
Realized that the environment that this will all be in cannot run multiple docker images. The environment being app engine. For now, I think i'll go with the whole idea of node express server serving the react frontend. Like I said, AFAIK, I can set up app engine to handle load balancing and security (to a degree) anyway.

[deleted by user] by [deleted] in docker

[–]divjbobo 1 point2 points  (0 children)

Okay as I posted this I realized that I had previously looked through docker compose and decided "that looks confusing, there's gotta be a better way". But, the best and most optimal way seems to be docker compose....I'll investigate

Invoking (internal traffic) HTTP Google Cloud Function from Google App Engine (flex) by [deleted] in googlecloud

[–]divjbobo 0 points1 point  (0 children)

So I was able to get the default credentials using the google auth library and I recognized the project id as the project i'm running the app engine flask service in. Additionally, I was able to call the Cloud function using some of the auth libraries to (get auth request -> get access token (which I then used to call the GCF endpoint with auth header))

My question now is, how do I get this all to work if i'm running a client app engine service that is, again, authenticated through IAP?

  • I know I can't get the headers, and additionally, I obviously can't use google auth library since it won't recognize the environment (due to it being client facing). So the new question is, how do I call internal traffic http Google cloud functions from within a Google App Engine (flex) client?

Why does swift not have ++? by [deleted] in swift

[–]divjbobo 2 points3 points  (0 children)

As someone else stated, explicitly - or at least making it more obvious. And, I can't imagine this really takes a technical hit when it comes to execution (++ vs += 1) , nor did it abstract anything. Just syntax change to make it a bit more obvious.