Data comes out as a map or keyword list, which is then turned into the repository struct in question. If you want raw db data you can get that too. And you can have multiple structs that are backed by the same persistent dataset. It's quite elegant.
Queries themselves are constructed using a language that is near SQL, but far more composable:
Repo.one(from p in Post, join: c in assoc(p, :comments), where: p.id == ^post_id)
Queries themselves are composable
query = from u in User, where: u.age > 18
query = from u in query, select: u.name
And can be written in a keyword style, like the above examples, or a functional style, like the rest of elixir:
User
|> where([u], u.age > 18)
|> select([u], u.name)
None of these "queries" will execute until you tell the Repo to do something. For that, you have commands like Repo.all and Repo.one, the latter of which sticks a limit: 1 on the end of the provided query
I much prefer the repository pattern, as used by sequel and Ecto
Your models are essentially just enhanced structs. They hold information about the shape of data. Generally don't hold any validations or logic related to storing the data. You perform changes on the data using changesets, which handle validation and generating the transaction to persist the data
It works extremely well, and I've yet to encounter the funky problems ActiveRecord could give you
Considering skylines is basically the only surviving city sim franchise, not much. But city sims have always had difficulty with performance. Sim city 4 was notorious for how badly it performed in hardware, even to this day
And yeah, I think it really has had that effect. Most people don't know about it; I had to show my father how to set it up. They put a banner up on the app once when they introduce it, or when you first open Messages, but a ton of people just dismiss the banner and then don't see it.
Versus apple who has a big show where they show off all the new shit they're doing, and the press breathlessly covers it, trickling it down to the average consumer.
All the people I've seen playing it don't seem to show any specific way to do mixed use, so if it does exist it's probably just a thing that happens automatically on high density housing units
BluRay works excellent, and if you unlock your drive via LibreDrive (also on makemkv's site) you can do discs from all regions and up to 4k.
I will buy foreign films off eBay and copy them into my media server. Also like to go to the library and find films that can be hard to obtain off Usenet or torrents
As for paying, it's actually free if you keep checking the beta form, and getting a new key. The keys last a few months
They should have IPOd in 2020, like everyone else did, but they didn't. Why is anyone's guess. Greed, skeletons in the closet, or whatever, doesn't really matter, they missed the boat
Look up something like schnitzel and you'll have 7 paragraphs of AI slop, telling you about the author, the history of the dish, the weather, a new cookbook for sale, before you get to the actual recipe
I really hope its good. From the YT videos I've seen of people who got it early, it looks great.
But I still have a little bit of hesitation about how the roads continue to work. They're still mostly "plop a road of X type", and upgrades you just either connect in, or plop on top of an existing road. Finessing lane changes, i.e. merges or adding a new lane, still looks to be mostly an issue of getting the game to do what you want. If you sat me down and asked me to do a fun game based way of drawing road and other networks, I'd probably go with something loosely similar to how OpenStreetMap represents roads, but with more graphical flair. Roads are just collections of points, in whats called a "way." You can set attributes on a way, which are things such as lanes, speed, lighting, material, etc. For a game, you could basically draw a line of where you want the road, and then set how many lanes it is, and see that footprint, before you apply it. Also lets you do things like take a 5 lane road and split it up into a big mess, so you can make abominations like the hi-5 in Texas, or even things as simple as diverging diamond or SPUI. Not sure if thats possible in CS2, I haven't seen any youtubers do it. Getting them working in CS1 was possible, but required a ton of mods.
Maybe I'm overthinking it, and maybe the CS2 approach is better. I'll have to get my hands on it to try it.
As for zoning, its okay, but I wish we'd really start to see some divorce from what SimCity invented back in 1989, and allow for more granular mixed-use zoning. I want apartment buildings that have light commercial at the ground floor, like you see in basically every major city
Also really hoping that it has proper M+KB on xbox. Starfield doesn't, and it leaves whole sections of the game essentially broking (i.e. crafting 99 items requires you to press RB a shitload)
Data comes out as a map or keyword list, which is then turned into the repository struct in question. If you want raw db data you can get that too. And you can have multiple structs that are backed by the same persistent dataset. It's quite elegant.
Queries themselves are constructed using a language that is near SQL, but far more composable:
Queries themselves are composable
And can be written in a keyword style, like the above examples, or a functional style, like the rest of elixir:
None of these "queries" will execute until you tell the Repo to do something. For that, you have commands like
Repo.all
andRepo.one
, the latter of which sticks alimit: 1
on the end of the provided query