Details
-
Skills.NET, angular, SQL
-
LocationMelbourne
Joined devRant on 11/16/2018
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
-
https://typescriptlang.org/play/...
I don't see the problem -
Never forget your typescript becomes javascript at runtime
-
@johnmelodyme They do teach. They're just not the only source for any information they teach. They're arguably not even the best source. It's like 50/50. Depends on your personal preference.
And yeah most people have to supplement uni with their own study anyway. Uni doesn't cover everything and it would be impractical for them to try. -
They don't teach anything in a comp sci degree that you can't learn on the internet. If she knew what she was talking about she'd know that.
But hey, it's not like it's any great loss to you. If that's how they're hiring developers they have no idea what they're doing. You don't want to deal with that inevitable mess. -
Imagine if your boss called you on the way to work to ask when you'll be in. For some reason you mention the brand of car you're driving and they freak out. They say what are you doing in a Toyota, get yourself to an airfield right now and grab a Cessna. What kind of idiot drives a Toyota to work when the British could invade at any moment.
I'm sorry I can't go into more detail. -
@C0D4 Yeah that's what I did. And someone on another team is losing their mind. The twist: the server they prefer isn't apache
-
@HiFiWiFiSciFi all my homies use angular
-
@HiFiWiFiSciFi what.
-
is it because the emulator is a VM with its own operating system and that's just what android's DNS does?
-
@SortOfTested koobs
-
@SortOfTested
So all of this talk about making promises when you make things virtual is true - in C#. Because it's designed that way. Because it's not the default. If I flip that on I am broadcasting to everyone that I support anything they can do by overriding my methods. I suppose it's trending that way in java too with all this finality.
But that's not how I think it should be. Just because I'm not preventing you from doing something doesn't mean I'm pledging to support it. If I haven't documented use cases for overriding a method I don't support them. If it works, great. But it's your responsibility. If you're not ok with that, don't override. I'm not going to stop you though. You can make your own decisions.
Look at python - no privates. All you can do is say loud and clear "touch this at your own risk" and that's the way it should be. But I don't make everything public in C# because when you make something public in C# you're promising to support code that touches it. -
@hbr147 It can be lot of boilerplate and refactoring. And it won't work if I need to pass it back to the library it came from.
-
@M3m35terJ05h that someone somewhere is you mate
-
@IntrusionCM So don't do it then. I'll make my own risk assessment.
A trivial example is for logging for auditing purposes. You might want to override methods on a particular class and add log statements before calling super. Or maybe you want to fire some events. Subclassing is a lot easier than modifying every call. But no, I can't do that because someone somewhere might do something stupid. I say let em. -
@IntrusionCM Access to the source code. I'm talking about libraries. And sure most popular libraries are open source so I could just grab that, add it my project and change it as needed... but it's a bit of a hassle innit.
If it's in the same project I'm working in then yeah I can just change it. And I might not even need to subclass in the first place because it might be appropriate to change the class directly. -
Ok so I am of the opinion that when you provide a qualified person with tools you should let them proverbially shoot themselves in the foot with them.
I feel that java programmers who final all their things are arrogant. They're saying "I considered every possible use case there is no need for you to modify my perfect class" or "You are not worthy to touch my perfect class. You simply cannot grasp its complexity."
Don't try to predict how people will use your stuff. Don't try to protect your fellow programmers from themselves. Some of them will make a mess. Some people's code might break when you change your class. That is ok and it's not your fault no matter how many morons say it is. Do not make your tools lesser for the sake of morons.
Imagine if someone was selling tractors to farmers and preventing them from being modified or repaired because someone might hurt themselves if they open the hood. Oh wait, that's already happening and it's bullshit. Don't be like John Deere. -
ah yes, let's couple our product to a cloud provider for no reason
-
What's bluntly obvious is you're reporting expected behaviour as a bug. They're not going to fundamentally change their api because you don't like the way it's designed
-
I mean if it's really just money you're gonna want to get into management. No programming skills required there.
I would definitely not show up at work if they didn't pay me. But at the same time I have no interest in moving up the hierarchy. I'm in it for the money but at the same time I don't want to spend all day doing something I hate. Like talking to managers. -
@ddit Bruh. Are you seriously complaining about powershell's if after comparing powershell to bash? With all the bloody double square brackets and significant whitespace and cryptic one letter operators. Try and remember what it was like to figure all that out
-
Code Artisan
-
Yeah this is unintuitive in javascript. You have to read about its behaviour in depth to understand it. And frankly I don't think it's reasonable to expect people to read the friggin spec to use a language. I mean, I understand why it's like this. It's unfortunate but we have to live with it. Y'all javascript fanboys needa chill. No one's favourite language is perfect.
Thank god they added arrow functions though -
@JKyll I do devops. Anyone who thinks naming the default branch anything can cause problems doesn't understand git fundamentals. It's sadly common for people who use git every day to not understand it
-
wtf?! I have that exact reaction when I open vs instead of vscode. What extensions do you have? One of them is probably mining crypto
-
@AlmondSauce hmmm yeah actually I guess it wouldn't since the tests just depend on the already compiled main project so the tests don't need to know what to do with the annotation. Carry on.
-
@AlmondSauce Yeah that's what I'm saying. I don't want that therefore I don't want annotations therefore I want di
-
more like rm -r
F
amirite -
What if I don't want my tests project to have a dependency on whatever log framework we use?
And it should be pretty easy to mock a logger. The mock framework I use does it for free -
@Lor-inc What you can do is request the whole entity of the "main" table you're querying and then dynamically tell it which of its relationships to include.
Like if Bar has a one to many relationship with Foo, you're querying Foo and the user might sometimes request data from Bar, you can have say:
var query = context.Foos:
if (request.IncludeBar)
query = query.Include(f => f.Bar);
and that's a join that only happens sometimes. Entity framework will go and modify the select to include all the columns from Bar. You'll get a sequence of Foos and their Bar will be null or an object depending on if you ran that include. You're probably getting more columns back than you need but that's probably not the worst thing in the world for something like a report or search.
Of course you can narrow the select to specific columns but you do have to know what those columns are at compile time. -
@Lor-inc Entity framework won't generate a query until it needs to. It'll convert your lambda expressions into *something* at compile time, but it doesn't know what sql it needs generate until it's time to generate it.
You can do something like:
var query = context.Foos;
if (request.HasBarFilter)
{
var value = request.BarFilter;
query = query.Where(foo => foo.Bar > value);
}
return query.ToList(); // database call here