We have started a new Intermediate SQL class. We have reviewed the basics and we will start programmability right away.
Download the class notes for day 1.
Just another CUNY Academic Commons site
We have started a new Intermediate SQL class. We have reviewed the basics and we will start programmability right away.
Download the class notes for day 1.
This is not an advert.
According to Dice and GitHub, the fastest growing language is Hashicorp Configuration Language (HCL).
I don’t think I’ve ever heard of HCL for Terraform.
“an open-source infrastructure as code software tool that enables you to safely and predictably create, change, and improve infrastructure”
If interested in this language, refer to the following links.
The National Security Agency (NSA) has released a report of what programming languages people should use because of memory safety (leaks, exploits, etc.).
The “Software Memory Safety” Cybersecurity Information Sheet highlights how malicious cyber actors can exploit poor memory management issues to access sensitive information, promulgate unauthorized code execution, and cause other negative impacts.
https://www.nsa.gov/Press-Room/News-Highlights/Article/Article/3215760/nsa-releases-guidance-on-how-to-protect-against-software-memory-safety-issues/
The report goes into some detail pointing out that older languages may be exploited.
Memory issues in software comprise a large portion of the exploitable vulnerabilities in existence. NSA advises organizations to consider making a strategic shift from programming languages that provide little or no inherent memory protection, such as C/C++, to a memory safe language when possible. Some examples of memory safe languages are C#, Go, Java, Ruby™, and Swift®. Memory safe languages provide differing degrees of memory usage protections, so available code hardening defenses, such as compiler options, tool analysis, and operating system configurations, should be used for their protections as well. By using memory safe languages and available code hardening defenses, many memory vulnerabilities can be prevented, mitigated, or made very difficult for cyber actors to exploit.
https://media.defense.gov/2022/Nov/10/2003112742/-1/-1/0/CSI_SOFTWARE_MEMORY_SAFETY.PDF
The Memory Safety (Internet Security Research Group) has a list of languages that are memory safe.
Memory safe languages include Rust, Go, C#, Java, Swift, Python, and JavaScript.
https://www.memorysafety.org/docs/memory-safety/
This means that we should learn and use the following languages.
We have arrived to the end of SF22SQL1001.
CREATE SCHEMA lab15; GO CREATE PROCEDURE lab15.thanks_sp AS BEGIN PRINT 'Thank you for being part of SF22SQL1001!' END; EXEC lab15.thanks_sp;
Download the class notes for day 10.
One more session to go before you hand me the final.
Download the class notes for day 9.
We are two (2) more sessions away from the SF22SQL1001 final.
We have covered lots of material —
I hope you have been having lots of fun.
Download the class notes for day 8 — 22 pages’ worth of material.
We are three (3) more sessions to go.
We have started using variables (DECLARE @parameter) in order to avoid re-writing code every time the values in the WHERE clause change. Parameters will also help us create our own functions.
Download the class notes for day 7 — 29 pages’ worth of material.
We have finally started making (CREATE), deleting (DROP) and changing (ALTER) data objects. We can now use all the material we have covered when getting data (SELECT) from tables and views in a database.
Download the class notes for day 6.
We are half-way done with the course. Can you handle having so much fun?
Download the class notes for day 5.
We continue working with functions. Some affect strings (RIGHT, LEFT, SUBSTRING, etc.) while others affect numbers (TIME, DATE, FORMAT, etc.) as well as aggregate functions, which need the GROUP BY clause.
SELECT field1, aggregate_function(field2), field3 -- other fields if any FROM table1 INNER|LEFT|RIGHT JOIN table2 ON table1.shared_data1 = table2.shared_data2 AND table1.shared_data2 = table2.shared_data2 -- other tables if any WHERE condition1 AND|OR condition2 -- other conditions if any GROUP BY field1 ORDER BY field1 ASC|DESC, field2 ASC|DESC, field3 ASC|DESC, ...; -- other fields if any
Download the class notes for day 4.