Maybe Angular needs to take a more constricted approach and integrate naturally with something like browserify.
You are correct that you should be writing your actual angular code in those separate files. And doesn't it make sense that the export of a controller file is an injectable controller? None of this "dependency injection via a string which gets turned into a reference to real code later"
"
λ 5 + 7
12 :: Num a => a
What the christ? The 12 I get. Got it. The colons? Not sure. I think it's just a dumb separator. Num is type! What the hell is a => a? I have no idea."
:: means "the stuff after this is the type signature"
Normally, a type signature can be as simple as something like
'x' :: Char
which is the type signature of the character 'x'. Looking at the type signature of 12 shows two parts "Num a =>" and "a". This can be read as "it returns a generic type `a` that must be an instance of the type class Num", which sounds really complicated but isn't.
The "Num a =>" is a type class constraint on the returned type "a". Type classes are basically like interfaces, they set up constraints and methods that need to be implemented for that type, analogous to how in other languages a class can implement an interface. For example, the Eq type class mandates you define the (==) and (/=) methods for that type, analogous to how something like the interface Comparable in Java requires you to define the compareTo method.
Thus the concrete type "Integer" is an instance of type class "Eq" because it implements those (==) and (/=)
Num is an example of a type class, just like Eq. But Num requires you to define a few more methods
class Num a where
(+) :: a -> a -> a
(*) :: a -> a -> a
(-) :: a -> a -> a
negate :: a -> a
abs :: a -> a
signum :: a -> a
fromInteger :: Integer -> a
So all of the things you think of as "numbers" are all types that implement "Num", e.g. an Integer, a Float, a Double.
So going back, "12 :: Num a => a" means 12 can be any type which implements Num, which is really just a fancy way of saying "this number can be cast into any numeric type". You can perform this casting manually!
> Whenever I tried to learn TDD, it only seemed relevant for back-end testing (eg REST APIs). But is there anyone left who is strictly a back-end guy? Most programmers now bill themselves as full-stack app developers, and probably spend at least half their time working on the front-end/UI.
yes?
> So what does it mean to write functional tests? I'd argue that writing modular React components is a form of functional testing. Devcards[1] is similar, and looks to me exactly like what would be considered functional testing. These two workflows feel much more natural than testing UIs methods like automated selenium browser interactions to generate screenshots.
Lotus was never a ruby web application framework. Guess Apple's going to have to change the name of Swift because of that other programming language, amirite?
> Lotus was never a ruby web application framework.
A trademark's domain is nowhere near that specific. Recall that Apple was sued by Apple Records because it made devices capable of being used "in the record business".
> Guess Apple's going to have to change the name of Swift because of that other programming language, amirite?
Interesting that you say this. Apple certainly has a history of trademarking its languages. Apple has trademarks on Objective-C and on AppleScript. Its trademark on Dylan was abandoned and its trademark on Hypertalk was cancelled. I'm guessing that Apple hasn't trademarked Swift because it can't: there are two many other items already named Swift in the area. And the Swift scripting language is hardly a threat to them: it's an NSF-funded research effort.
The amount of money you have to grow your business is directly proportional to the cost overheads of running your app minus the revenue it generates. We are assuming that the larger your internet service is the more money you will make.
A service that processes tweets from the firehose in realtime. Assuming you decide to process everything day 1, thats a case where the overhead from running your app could greatly outweigh the revenue it generates.
I mean, I guess? I would question that business and processing model heavily, though. Most sustainable business models show growing from some kind of smaller MVP to a larger full-featured application.
Significant overhead costs to go from nothing to steady-state instantaneously would be enough to scare me.
It's an interesting question as it was exactly a concern we had when we started to design the product we're currently working on (visualops.io). We realised that many people struggle hiring one (or more) ops people when they feel they're not big enough, although already too big to actually keep going without.
Usually, at that point, from our experience, we see two types of choices: 1- as you're suggesting, hire an actual ops person (but switching from a platform like Heroku to something like AWS where everything should be configured manually, and constantly updated, may require more than one person in some cases...) 2- keep on using platforms like Heroku (and get ripped off).
We have been ourselves in this situation when we have launched the first version of our product, and are now happy users of our own solution ;)
I don't think with the way technology is now, even without utilizing all the advanced services that AWS offers (so simply using the basics like ec2 / s3 / ebs / etc) you need a full full time ops person until you're paying 50k/month + in server hosting, on AWS reserved instances.
Well it all depends of your application and which level of automation you're looking for. If your growth require you to often scale your infrastructure, and you want to save your developers to deal with operations, then you may need someone.
No, that wasn't a jab at feminism in tech! Feminism is great and there are some big problems to address in tech. But paying people to stir up heated conflicts and throw Tumblr-style tantrums isn't fixing anything, it is actually misrepresenting women in tech and doing harm to their cause.
Women in tech certainly aren't a problem! Feminism isn't a problem. Pointing out problems isn't a problem. Affirmative action isn't a problem. Even being angry isn't a problem.
Another poster made a useful comparison to QA. One imagines an otherwise mild-mannered QA Engineer becoming righteously angry about a very scummy feature, or a software defect which threatens lives. But this QA Engineer has better and worse ways to channel that anger into buy-in for a fix. The anger in itself may be useful by leading to useful things, but it may also be harmful if it leads to harmful things. Anyone can understand this if they want to.
Okay, I'll compare "You are hurting your cause by being angry" and "[stirring] up heated conflicts and [throwing] Tumblr-style tantrums."
The former is perfectly fine in many situations, and I don't see many people saying that being angry is inherently counterproductive or bad. The latter is widely accepted to be immature and counterproductive.
You are correct that you should be writing your actual angular code in those separate files. And doesn't it make sense that the export of a controller file is an injectable controller? None of this "dependency injection via a string which gets turned into a reference to real code later"