https://docs.microsoft.com/en-us/dotnet/csharp/tutorials/
Has a pretty decent set of tutorials and docs, from basics of the language to nice descriptions of new features like record types or new nullable reference type approach.
Not sure about any books, I strongly prefer to just read through 'What's new in C# X' articles every time a new version comes out.
Essential C# 8.0 - hands down. It is awesome both for beginners and experts. I've read it once, and keep it handy for reference. It's written by some of the most knowledgeable people there are on C#/.NET. I have also read one of the Head First C# books, and found it lacking once I got past the basics.
I can think of a couple reasons--not necessarily good reasons, but reasons. One would be a belt-and-suspenders approach: if you think of Security Groups as a network-layer firewall, having host firewalls can be a good second layer of defense in case of misconfiguration or hacking at the network firewalls. That said, it increases complexity and management labor, which can be a net loss--depends on the environment.
A second reason would be for consistency: if you have a mixed environment with some stuff in the cloud and some not (I know, I know, who would ever be so gauche as to not host everything in the cloud? \s), you may want everything configured the same regardless of hosting. In that case, you're trying to reduce your complexity by increasing homogeneity, even if that creates some redundancy for stuff hosted in the cloud.
Third reason would be for achieving specific effects. Security groups is effectively just a stateful ACL, blocking traffic at the layer 3/4 level. It's good, but not terrifically fine-grained. You can use netfilter/iptables to put in NAT, port-level forwarding and translation, complex tricks like port-knocking, and protocol-specific filter tricks. Most of those may fall more into the category of "no one does this in large production environments", but even those large environments will have odd stuff that works better with iptables/netfilter than by trying to do it with ACLs in Security Groups.
If Oracle wins the Supreme Court case against Google, aren't all these "like S3" or S3 API compatible solutions (whether block storage competitors or file systems) at risk?
My suggestion don’t rely too much on S3 API after this ruling and better to have seaweedfs API as primary interface, until Amazon S3 release their API interface as true open source with right to modify for one’s own use.
This is one of the biggest problems with Java, it’s free but not open source (Eric Raymond has been fighting this for a while now that free does not mean open source). Oracle can come after anyone using Java if there is substantial money to be made.
So Java is only free as long as money keeps coming in for Oracle, once it dries like for SCO, they will go after anyone using Java API to extract money.
Also this shows subtle difference between open source and free. In a legitimate open source licensed software copyright and right to change is granted and company cannot sue others just based on copyright like Oracle can sue anyone using Java API.
Amazon wants to open up S3 API for now. I guess my point is launching products with S3 API combability I feel is a legal liability if Oracles wins the case.
I was specifically implying block storage solutions that offer S3 API combability (i.e. use our AWS S3 competitor with matching S3 API).
Is it me, or is the recommendation of adding a level of abstraction less readable than the “bad” example using “by_size_and_color?” Additionally, another example of a developer coming in and making it more extensible when that is not the requirement 80% of the time.
Full disclosure, I’m not a professional C++ developer. I haven’t touched the language in 20 years. However, I’ve attempted to keep up with its development since my hobby game development years in my teens.
(One of the product managers on the Amazon EFS team here). Drupal is a common application that customers use with EFS, both in combination with a CDN and without. The following are two important considerations when running Drupal on an NFS service like EFS:
i) You should configure the OPcache so that it does not revalidate its cache on every request. Cache validation uses stat() in a serial loop on potentially hundreds of files, where each stat() would add O(ms) to the request.
ii) We recommend you store log files locally. NFS does not define an atomic O_APPEND operation, so appends require a file lock to prevent interleaving with appends from other clients. I've seen PHP application do 100s of file locks to a log file per request, each adding O(ms) to the total request latency. This is what you'd like to avoid.
Department of Treasury - Digital Solutions | Washington DC | Full-time | On site + 2 days/week telework | GS13/14 - $96,970 - $148,967
Digital Solutions operates, maintains, modernizes, and secures mission-critical systems and applications for Treasury and other Federal Agencies. Our core focus is the delivery of superior user experiences through Treasury’s web properties.
Specifically, we:
Support Treasury’s Workplace Community Cloud (WC2) environment, which hosts mission-critical public and private applications and web properties;
Build new products and services to support customer missions, including public-facing, extranet, intranet, and development/test web solutions, applications, and mobile apps; and
Provide support for Treasury-wide team collaboration sites, public-facing websites (including Treasury.gov), and bureau/office webmasters and content managers.
Looking forward to hear from you. If you have any questions, feel free to PM.
I'm keeping it on my radar due to cost differences in AWS. A .net web app using 4 EC2 m3.xlarge instances (2 front ends per AZ) would save over $6000 per year in hosting if using Linux AMI versus Windows.
Yes, the Windows tax is not cheap, nor are they nearly as easy to clone and manage in a virtual environment. Linux is simply a superior server in virtually every conceivable way but most especially financially.
For the record, I use Xamarin "classic" and not forms, and my comment was in reference to that. Given the age of X.Forms, what you say sounds par for the course.