GithubHelp home page GithubHelp logo

markjprice / cs8dotnetcore3 Goto Github PK

View Code? Open in Web Editor NEW
231.0 23.0 266.0 33.65 MB

Repository for the Packt Publishing book titled "C# 8.0 and .NET Core 3.0" by Mark J. Price

C# 84.41% HTML 12.15% CSS 1.59% JavaScript 0.25% SCSS 1.60%

cs8dotnetcore3's Introduction

Repository for the Packt Publishing book

C# 8.0 and .NET Core 3.0 - Modern Cross-Platform Development, Fourth Edition

.NET Core 3.1 reaches end-of-life on Tuesday, December 13, 2022. I recommend upgrading to .NET 6 or .NET 7.

All of the code examples are 100% compatible with either .NET Core 3.0 or .NET Core 3.1.

Important

Podcast interviews

Podcast interviews with me about the fourth edition:

C# 8.0 and .NET Core 3.0 by Packt Publishing

cs8dotnetcore3's People

Contributors

markjprice avatar semro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cs8dotnetcore3's Issues

Sqllite Decimal type limitation

In Chapter 11, QueryingProducts, the code:

                IQueryable<Product> prods = db.Products
                    .Where(product => product.Cost > price) 
                    .OrderByDescending(product => product.Cost);

It generates the following exception:

Unhandled exception. System.InvalidOperationException: The LINQ expression 'Where<Product>(
    source: DbSet<Product>,
    predicate: (p) => p.Cost > (Unhandled parameter: __price_0))' could not be translated. Either rewrite the query in a form that can be translated, or switch to client evaluation explicitly by inserting a call to either AsEnumerable(), AsAsyncEnumerable(), ToList(), or ToListAsync(). See https://go.microsoft.com/fwlink/?linkid=2101038 for more information.

Sqlite Provider has limitation working with Decimal type.

Add to Northwind.OnModelCreating:

            modelBuilder.Entity<Product>()
                .Property(product => product.Cost)
                .HasConversion<double>();       

Question

Hello @markjprice .My name is zhizhang.
First thank you for your "C# 8.0 and .NET Core 3.0: Modern Cross-Platform Development, 4th Edition".
Recently, I meet a problem.In chapter 11th, use Entity Framework core to process database, I can't download the sqlite3. I input "https://www.sqlite.org/download.html" or "https://sqlite.org/download.html" or search through search engine, but I can't open the website.Please indicate me to continue.
Thank you again.

Another problem, execute "sqlite3 Northwind.db < Northwind.sql" ,vscode warn as following:
“<”运算符是为将来使用而保留的。
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : RedirectionNotSupported
Forget it, I download your db to use.

I am sorry for disturb you.Thanks.

Cannot get property values to display in XML or JSON files.

I have been unsuccessful in getting the properties of the product to display in my XML and JSON. I have reviewed your code against mine and could not determine any variations in the Category, Product, or Northwind classes.

I even straight copied your code from those classes into mine after a few attempts but with no success. If anyone could look at it and see what I'm missing that would be great! I tried using the debugger on the actual item in the foreach loop but wasn't sure how to really trace what was going on.

Link to my GitHub: here

XML code preview:

<?xml version="1.0" encoding="utf-8"?>
<categories>
  <category id="1" name="Beverages" description="Soft drinks, coffees, teas, beers, and ales" count="0">
    <products />
  </category>
  <category id="2" name="Condiments" description="Sweet and savory sauces, relishes, spreads, and seasonings" count="0">
    <products />
  </category>

JSON code preview:

  "categories": [
    {
      "id": 1,
      "name": "Beverages",
      "desc": "Soft drinks, coffees, teas, beers, and ales",
      "product_count": 0,
      "products": []
    },
    {
      "id": 2,
      "name": "Condiments",
      "desc": "Sweet and savory sauces, relishes, spreads, and seasonings",
      "product_count": 0,
      "products": []
    },

cs8.0dotnetcore3, page 95-96, converting from binary object to string

Dear c# developers, dear Mr Price,

I am having difficulties in interpreting the results of the program converting form binary object to string.

Indeed, when converting a 1-byte object to a string I expect to get a one-character long string with would correspond to the character associated to the byte in the ASCII table. But I discovered there is nothing comparable between the resulting string and the initially randomly-provided byte.

Moreover when converting a binary object into a string, how do we get back the binary object from the string?

Any idea to provide me for helping me how to interpret the results?

PS: here is the code below:

        //output a carriage return
        WriteLine();


        WriteLine("allocate an array of 1 bytes named binaryObject2");
        byte[] binaryObject2 =  new byte[1];

        WriteLine("populate array with random bytes");
        (new Random()).NextBytes(binaryObject2);

        WriteLine("output Binary object as bytes in hexadecimal");
        for(int index = 0; index < binaryObject2.Length; index++)
        {
            Write($"{binaryObject2[index]:X}");
            /*
            output this byte using :X, for formatting the value using hexadecimal notation.
            */
        }
        //output a carriage return
        WriteLine();
        WriteLine("Convert to Base64 string");
        string stringEncoded2 = Convert.ToBase64String(binaryObject2);
        WriteLine($"binaryobject2 as Base64 string is:\n{stringEncoded2}");

SQLite Error 14: 'unable to open database file'

For some reason, it is not finding my Northwind.db file.
I have it in the Practical App folder along with my projects.

Practical App

NorthwindWeb
NorthwindMvc
Northwind.db

locahost/5001 error page

A database operation failed while processing the request.
SqliteException: SQLite Error 14: 'unable to open database file'.
Use migrations to create the database for Northwind
In Visual Studio, use the Package Manager Console to scaffold a new migration and apply it to the database:

PM> Add-Migration [migration name]
PM> Update-Database
Alternatively, you can scaffold a new migration and apply it from a command prompt at your project directory:

> dotnet ef migrations add [migration name]
> dotnet ef database update

Terminal Error Message

      Content root path: C:\Users\username\source\repos\cs8dotnetcore3\Practical Apps\NorthwindMvc
fail: Microsoft.EntityFrameworkCore.Database.Connection[20004]
      An error occurred using the connection to database 'main' on server '..:Northwind.db'.
fail: Microsoft.EntityFrameworkCore.Query[10100]
      An exception occurred while iterating over the results of a query for context type 'NorthwindContextLib.Northwind'.
      Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 14: 'unable to open database file'.
         at Microsoft.Data.Sqlite.SqliteException.ThrowExceptionForRC(Int32 rc, sqlite3 db)
         at Microsoft.Data.Sqlite.SqliteConnection.Open()
         at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenDbConnection(Boolean errorsExpected)
         at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open(Boolean errorsExpected)
         at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReader(RelationalCommandParameterObject parameterObject)
         at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.Enumerator.InitializeReader(DbContext _, Boolean result)
         at Microsoft.EntityFrameworkCore.Storage.Internal.NoopExecutionStrategy.Execute[TState,TResult](TState state, Func`3 operation, Func`3 verifySucceeded)
         at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.Enumerator.MoveNext()
Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 14: 'unable to open database file'.
   at Microsoft.Data.Sqlite.SqliteException.ThrowExceptionForRC(Int32 rc, sqlite3 db)
   at Microsoft.Data.Sqlite.SqliteConnection.Open()
   at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenDbConnection(Boolean errorsExpected)
   at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open(Boolean errorsExpected)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReader(RelationalCommandParameterObject parameterObject)
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.Enumerator.InitializeReader(DbContext _, Boolean result)
   at Microsoft.EntityFrameworkCore.Storage.Internal.NoopExecutionStrategy.Execute[TState,TResult](TState state, Func`3 operation, Func`3 verifySucceeded)
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.Enumerator.MoveNext()

NorthwindMvc.csproj

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <UserSecretsId>aspnet-NorthwindMvc-AA6B766E-8F35-4AB9-B13C-CD685F43084D</UserSecretsId>
  </PropertyGroup>

  <ItemGroup>
    <None Update="app.db" CopyToOutputDirectory="PreserveNewest" ExcludeFromSingleFile="true" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference
      Include="..\NorthwindContextLib\NorthwindContextLib.csproj" />
      <ProjectReference
      Include="..\NorthwindEntityLib\NorthwindEntityLib.csproj" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="3.1.3" />
    <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.1.3" />
    <PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="3.1.3" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="3.1.3" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.3" />
  </ItemGroup>

</Project>

HomeController.cs

        private readonly Northwind db;

        public HomeController(ILogger<HomeController> logger, Northwind injectedContext)
        {
            _logger = logger;
            db = injectedContext;
        }

        public IActionResult Index()
        {

            var model = new HomeIndexViewModel
            {
                VisitorCount = (new Random().Next(1, 1001)),
                Categories = db.Categories.ToList(),
                Products = db.Products.ToList()
            };

            return View(model);
        }

AspNetCore.Views_Home_Index.ExecuteAsync() in Index.cshtml, line 9

Everything going well until testing the customized home page. The location in the text is 4th Edition...Chapter 16...Defining a typed view...Step 3... I've been following along and haven't had issues yet so not likely I skipped a step.

After starting the site I see that Model is null. This causes "@for (int c = 0; c < Model.Categories.Count; c++)" to throw a null reference (ie. "NullReferenceException: Object reference not set to an instance of an object.")

Here's the code snippet in question is from ~/Views/Home/Index.cshtml as follows:

@model NorthwindMvc.Models.HomeIndexViewModel
@{
ViewData["Title"] = "Home Page";
string currentItem = "";
}

    @for (int c = 0; c < Model.Categories.Count; c++) // <--Model is NULL { if (c == 0) { currentItem = "active"; } else { currentItem = ""; }
  1. } ... ...

An Observation regarding using Web Services in chapter 18.

This issue is not an error and it is just an observed behavior which I decided to share it and would be greatfull for your comment.
Regrading using REST API Created in chapter 18, When I use them with HTTPS endpoints I got an error in the customers page (An error at controller's action and then page crashes regarding this error). After changing endpoint to HTTP at HTTPClient Registration at mvc project and removing HTTPS redirection at service projects this problem solved.
I am using Ubuntu and I can't use dotnet dev-certs command to register self signed certification and I trust them at browser level.
Regards

Downloading Northwind.sql results in an html doc

I might be missing something. If so, let me know and I'll delete this if needed. (4th Ed)

Following the directions:
"Download the script to create the Northwind database for SQLite from the following link ... sql-scripts/Northwind.sql"
sent me down a rabbit hole as there is no "download" button.
I ended up downloading the file from here: ... Chapter11/WorkingWithEFCore.

As this downloads as an html file, this will result in an error when attempting to create the Northwind database, even if you've corrected the '<' error.

So Don't. Copy the contents of the file from the original link and paste it into your own blank file and save it as something.sql

a mistake in the book.

On page 114,
// RunTimesTable();
RunSalesTax();

I guess you meant RunCalculateTax()

If I am wrong, please ignore this.

error message: "The '<' operator is reserved for future use"

(4th Ed)
Windows 10 Powershell no longer recognizes the '<', which means that attempting to

"pipe the script to SQLite to create the Northwind.db database as shown in the following command:
sqlite3 Northwind.dp < Northwind.sql"

will result in the error "The '<' operator is reserved for future use".

Use "-init" instead: sqlite3 Northwind.db -init Northwind.sql

Source: https://stackoverflow.com/questions/14765688/sqlite3-not-working-on-powershell

-I didn't know where else to put this information

Chapter 08 - Page 281 - Error

On step 3 you have the following code:

WriteLine("Assembly metadata:");
Assembly = Assembly.GetEntryAssembly();
WriteLine($" Full name: {assembly.FullName}");
WriteLine($" Location: {assembly.Location}");
var attributes = assembly.GetCustomAttributes();
WriteLine($" Attributes:");
foreach (Attribute a in attributes)
{
 WriteLine($" {a.GetType()}");
}

Line 2 shows Assembly = Assembly.GetEntryAssembly(); but Assembly is a type that is being used like a variable. I believe this should be changed to Assembly assembly = Assembly.GetEntryAssembly();

Chapter 2, page 58

Replace: dotnet new console -lang "F#" -name "ExploringConsole"
with dotnet new console -lang "F#" --name "ExploringConsole"
The command needs an extra dash before the name.

P.S. I've submitted this errata in September to Packt Customer Care, but I still don't know if it reached you.
(Sorry, GitHub responded 404 on the first submission, so submitted the issue again and it doubled)

Duplication of one-to-many relationship using has/with pattern - configured from "both ends"

Excellent book, thank you!

modelBuilder.Entity<Category>()

Can lines 30-32 of NorthwindContextLib/Northwind.cs be commented out i.e. do they duplicate functionality provided by lines 81-83 ? Also for same reason lines lines 85-87 vs 111-113?

Please could you clarify, is this duplication and can these lines be removed? Otherwise in what situation would problems occur? What happens with duplication of relationships when specified using the has/with pattern in fluent?

More generally it would be very much appreciated if you could comment on the pros and cons of using fluent to specify these relationships vs relying upon One To Many Relationships Conventions:

It seems that the relationship is fully defined already by convention due to both ends being present in the entity classes i.e. public ICollection<Product> Products { get; set; } in Category and public Category Category { get; set; } in Product along with the foreign key public int? CategoryID { get; set; } in Product.

If so maybe we could add a comment to this affect - such that the code demonstrates both relationships by convention and by fluent API?

Chapter 2, page 58

Replace: dotnet new console -lang "F#" -name "ExploringConsole"
with dotnet new console -lang "F#" --name "ExploringConsole"
The command needs an extra dash before the name.

P.S. I've submitted this errata in September to Packt Customer Care, but I still don't know if it reached you.

Two issues with NorthwindWeb using VS 2019

Sorry to keep pestering!

The first issue I came across was

The entity type requires a primary key to be defined.

From this line of code in :

public void OnGet()
        {
            ViewData["Title"] = "Northwind Web Site - Suppliers";

            Suppliers = db.Suppliers.Select(s => s.CompanyName); <====== Here
        }

This was fixed by using an [Key] attribute on the Suppliers.cs property SupplierID
Article I used was https://stackoverflow.com/questions/48225989/the-entity-type-requires-a-primary-key-to-be-defined

I found it odd to have to use that since the SupplierID property IS the primary key. Maybe it is the cause of the second problem as well...

The second issue I came across after fixing that was "No such table: Suppliers'. I have not been able to solve this issue yet.
The error came from suppliers.cshtml in the foreach loop

@page
@model NorthwindWeb.Pages.SuppliersModel
@{
    ViewData["Title"] = "supplier";
    Layout = "~/Pages/Shared/_Layout.cshtml";
}

<div class="row">
    <h1 class="display-2">Suppliers</h1>
    <table class="table">
        <thead class="thead-inverse">
            <tr><th>Company Name</th></tr>
        </thead>
        <tbody>
            @foreach (string name in Model.Suppliers)  <===== Here
            {
                <tr><td>@name</td></tr>
            }
        </tbody>
    </table>
</div>

I've uploaded my project to Github https://github.com/kenthub/PracticalApps

Chapter 11: SqliteException is thrown: SQLite Error 1: 'no such table: Categories

In Chapter 11, before running project for the first time you need to set working directory.

To set the working directory:
In Solution Explorer, right click the project and then select Properties.
Select the Debug tab in the left pane.
Set Working directory to the project directory.
Navigate to Chapter11\WorkingWithEFCore folder
Save the changes.

This should fix the problem.

errata

In Windows, to create Northwind.db, de command in TERMINAL:

sqlite3 Northwind.db < Northwind.sql

generate the error:

En línea: 1 Carácter: 22
     + sqlite3 Northwind.db < Northwind.sql
     +                      ~
     El operador '<' está reservado para uso futuro.

The command must be:

sqlite3 Northwind.db -init Northwind.sql

A few curiosity

Are you the climb-roker in the windows10 backimage on desktop?

Chapter 11 : function QueryingProducts()

Change:

IQueryable<Product> products = db.Products   
    .Where(product => product.Cost > price)  
        .OrderByDescending(product => product.Cost);  

to:

 var products = db.Products  
    .AsEnumerable() // or ToList()  
        .Where(product => product.Cost > price)
        .OrderByDescending(product => product.Cost);

this should fix the problem

Pg 113 - ME is Maine, not Maryland

A very small nitpick in a code example on Page 113. In the switch statement there's a case that says:

    case "ME": // Maryland

ME is the standard abbreviation for Maine. MD is the abbreviation for Maryland. They're easy to confuse between starting with the same two letters and both being known for their crustacean-based seafood.

NuGet package install issues

PacktLibrary.dll is not available for the csproj files. There are a ton of Packt CS8 nuget packages. Which one is the core package that contains "PacktLibrary.dll"?

Trying to resolve build issues from "using Packt.Shared;" in the source classes.

Using Cache in Customer Repository

In case of Repository we created for working with customer (Work with Web APIs), we added service Scoped implementation of it to our container. Since we create it to use cache dictionary and it should persist over different requests, Why we could not injected it Singleton?
Thanks in advance
services.AddScoped<ICustomerRepository, CustomerRepository>();

The Result doesn't sort as expected

I use your example in page 412 which Joins Categories and Products in Northwind.db.
As you mentioned in the result and I expected the result should be sorted by Categories because it is outer sequence. But the result for me always sorted on Product.ProductID.
Any hint for why this happens? Am I wrong about something?
I am using Ubuntu 20.04 and SQLite.
Thanks in advances
Code is as follows just for mentioning:

`

var queryJoin = db.Categories.Join(
                    db.Products, cat => cat.CategoryID,
                    p => p.CategoryID, (c, p) => new
                    {
                        c.CategoryName,
                        p.ProductName,
                        p.ProductID
                    }
                );
                foreach (var item in queryJoin)
                {
                    WriteLine("{0}: {1} is in {2}", item.ProductID, item.ProductName, item.CategoryName);

                }
                WriteLine();

`

NorthwindCms Import fails

Here are the steps I take and the errors I get:

git clone [email protected]:markjprice/cs8dotnetcore3.git
cd cs8dotnetcore3\PracticalApps\NorthwindCms
dotnet run

I then go to https://localhost:5001/import and I get this error:

 An exception occurred in the database while saving changes for context type 'Piranha.Data.EF.SQLite.SQLiteDb'.
      Microsoft.EntityFrameworkCore.DbUpdateException: An error occurred while updating the entries. See the inner exception for details.
       ---> Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 19: 'UNIQUE constraint failed: Piranha_Pages.SiteId, Piranha_Pages.Slug'.

okay, there is a duplicate. Let's try from scratch

rm piranha.blog.db
dotnet run

I then go to https://localhost:5001/import again and I get this error:

System.NullReferenceException: Object reference not set to an instance of an object.
   at NorthwindCms.Controllers.ImportController.Import() in C:\code\cs8dotnetcore3\PracticalApps\NorthwindCms\Controllers\ImportController.cs:line 49

Your Book's Syntax Error in Chapter 6.

I found your a syntax error on your book in chapter 6. See below code and my comment. I think the code in github is correct, so it is not a big deal. I just wanna report the syntax error to you.

namespace Packt.Shared
{
public class Employee : Person
{
public string EmployeeCode { get; set; }
public DateTime HireDate { get; set; }
public void WriteToConsole()
{
WriteLine(format:
"{0} was born on {1:dd/MM/yy} and hired on {2:dd/MM/yy}",
arg0: Name,
arg1: DateOfBirth,
arg2: HireDate)); <-- this should be one closed parenthese, not double.
}
}
}

Evidently ".NET Native" project has been renamed to 'CoreRT"

Their new README also states that they are an experimental project and that they don't expect to be productized.
I don't know if you want to add that to the errata or not.

Love the book! Will be using it as the textbook for my C# class in the fall.

Unhandled exception in Chapter 12, part FilterAndSort() - page 409

An issue in part Chapter 12: Querying and Manipulating Data Using LINQ, sub-part Filtering and sorting sequences on page 409.
When I start the application, there is Unhandled exception (below). There is some problem with

var query = db.Products
            .Where(product => product.UnitPrice < 10)
            // // IQueryable<Product>
            .OrderByDescending(product => product.UnitPrice);

It seems like same problem like in page 375. With method AsEnumerable() it also works:

var query = db.Products.AsEnumerable()
            .Where(product => product.UnitPrice < 10M)
            // IQueryable<Product>
            .OrderByDescending(product => product.UnitPrice);

But how to fix it to be the right one?

The exeption:

C:\dev\C#\Projects-training\Core\Chapter12\LinqWithEFCore>dotnet run
Products that cost less than 10:
Unhandled exception. System.InvalidOperationException: The LINQ expression 'DbSet<Product>
    .Where(p => p.UnitPrice < 10)' could not be translated. Either rewrite the query in a form that can be translated, or switch to client evaluation explicitly by inserting a call to either AsEnumerable(), AsAsyncEnumerable(), ToList(), or ToListAsync().

Pg 503 Employees Razor class library

Hi @markjprice, first, thanks for the informative book! I'm picking up programming again after 15 years of being on the Ops side. A lot has changed! Please excuse if this is a noob Q.

My issue is trying to get the partial view working for the employees. I resolved the issue of not having employee data due to the date check; thanks for the updated sql script.

But I still can't seem to get the cards to display. If I enter static data, for some cards, they display, but it's like the employee data either isn't getting loaded into the array, or there's some formatting issue in the HTML that I just don't have the experience to troubleshoot. I have done a compare of my employees.cshtml, employees.cshtml.cs, and _Employee.cshtml to what you have in the repo and they all seem to match up.

Any thoughts?

Ben H.

Book error

on page 217 e1.TimeTravel should be john.TimeTravel.

erreta

At the beginning of page 203, the following is written.

Stack memory is faster to work with (because it is managed directly by the CPU
and because it uses a frst-in, frst-out mechanism, it is more likely to have the data
in its L1 or L2 cache) but limited in size, while heap memory is slower but much
more plentiful.

But I think it should be

Stack memory is faster to work with (because it is managed directly by the CPU
and because it uses a last-in, frst-out mechanism, it is more likely to have the data
in its L1 or L2 cache) but limited in size, while heap memory is slower but much
more plentiful.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.