Tahira Sharma

Tahira Sharma

1668062816

Top 6 Languages For Backend Programming

To ensure the user experience is aligned with functionality, the backend developer must work closely with the frontend developer. It is the developer's responsibility to ensure that the performance and speed of any web application are good. Further, it is essential to constantly make updates while also monitoring and organising the database information in a correct and secure way. A crucial decision that a backend developer makes, in the beginning, is selecting the appropriate Backend programming language for them because it has the potential to affect the entire future of the application.

 

Learn more- Backend programming language

What is GEEK

Buddha Community

Abigail betty

Abigail betty

1623286800

Top Programming Languages at FAANG (as an ex-Google tech lead)

Ex-Google TechLead on the top programming languages used at Google, Facebook, and FANG companies.
📺 The video in this post was made by TechLead
The origin of the article: https://www.youtube.com/watch?v=OYpMAFPk1f0
🔺 DISCLAIMER: The article is for information sharing. The content of this video is solely the opinions of the speaker who is not a licensed financial advisor or registered investment advisor. Not investment advice or legal advice.
Cryptocurrency trading is VERY risky. Make sure you understand these risks and that you are responsible for what you do with your money
🔥 If you’re a beginner. I believe the article below will be useful to you ☞ What You Should Know Before Investing in Cryptocurrency - For Beginner
⭐ ⭐ ⭐The project is of interest to the community. Join to Get free ‘GEEK coin’ (GEEKCASH coin)!
☞ **-----CLICK HERE-----**⭐ ⭐ ⭐
(There is no limit to the amount of credit you can earn through referrals)
Thanks for visiting and watching! Please don’t forget to leave a like, comment and share!

#bitcoin #blockchain #top programming languages #faang #programming #top programming languages at faang

akshay L

akshay L

1610348066

Top 5 Programming Languages to Learn in 2021 | Top Programming Languages | Intellipaat

In this video, you will know the top 5 Programming languages to learn in 2021. It is always confusing for a beginner to choose a programming language from the pool of tens of languages. So we have come up with this video to help you out chose the best one to start your career with and learn programming fast.

#programming #learn-programming #programming-languages #topprogramminglanguages #top5programminglanguages

Coding 101: Programming Language Building Blocks

This article will introduce the concepts and topics common to all programming languages, that beginners and experts must know!

Do you want to learn a programming language for the first time?

Do you want to improve as a Programmer?

Well, then you’re in the right place to start. Learn any programming language without difficulty by learning the concepts and topics common to all programming languages.

Let me start by answering the following questions:

  • Why learn Programming?
  • What is Programming?
  • How to Learn a Programming Language?

Why learn Programming❔

Programming develops creative thinking

Programmers solve a problem by breaking it down into workable pieces to understand it better. When you start learning to program, you develop the habit of working your way out in a very structured format. You analyze the problem and start thinking logically and this gives rise to more creative solutions you’ve ever given.

Whether you want to uncover the secrets of the universe, or you just want to pursue a career in the 21st century, basic computer programming is an essential skill to learn.

_– _Stephen Hawking

Everybody in this country should learn how to program a computer
 because it teaches you how to think.

_- _Steve Jobs

Programming Provides Life-Changing Experiences

Programming always provides you with a new challenge to take risks every time and that teaches you to take risks in your personal life too. The world is filled up with websites, apps, software and when you build these yourself you’ll feel more confident. When a programmer solves a problem that no one has ever solved before it becomes a life-changing experience for them.

What is Programming🀔?

program is a set of instructions to perform a task on a computer.

Programming is the process of designing and building an executable computer program to accomplish a specific task.

Well, according to me programming is like raising a baby. We provide knowledge (data) to help understand a baby what’s happening around. We teach a baby to be disciplined (and much more) by making rules.

Similarly, a computer is like a baby. We set rules and provide data to the computer through executable programs with the help of a Programming Language.

(Photo by Clément H on Unsplash)

That’s it👍. If you can understand this basic concept of programming, you’re good to go. Pick up a programming language and start learning. Read the following section to get an idea of where to start.

My recommendation is to choose Python Programming Language as a start, because it’s beginner-friendly.

#programming #programming-tips #programming-language #programming-top-story #computer-science #data-structures-and-algorithms #tips-for-programmers #coding

ルヌプを䜿甚しお、Rustのデヌタを反埩凊理したす

このモゞュヌルでは、Rustでハッシュマップ耇合デヌタ型を操䜜する方法に぀いお説明したす。ハッシュマップのようなコレクション内のデヌタを反埩凊理するルヌプ匏を実装する方法を孊びたす。挔習ずしお、芁求された泚文をルヌプし、条件をテストし、さたざたなタむプのデヌタを凊理するこずによっお車を䜜成するRustプログラムを䜜成したす。

さび遊び堎

錆遊び堎は錆コンパむラにブラりザむンタフェヌスです。蚀語をロヌカルにむンストヌルする前、たたはコンパむラが利甚できない堎合は、Playgroundを䜿甚しおRustコヌドの蚘述を詊すこずができたす。このコヌス党䜓を通しお、サンプルコヌドず挔習ぞのPlaygroundリンクを提䟛したす。珟時点でRustツヌルチェヌンを䜿甚できない堎合でも、コヌドを操䜜できたす。

Rust Playgroundで実行されるすべおのコヌドは、ロヌカルの開発環境でコンパむルしお実行するこずもできたす。コンピュヌタヌからRustコンパむラヌず察話するこずを躊躇しないでください。Rust Playgroundの詳现に぀いおは、What isRustをご芧ください。モゞュヌル。

孊習目暙

このモゞュヌルでは、次のこずを行いたす。

  • Rustのハッシュマップデヌタ型、およびキヌず倀にアクセスする方法を確認しおください
  • ルヌプ匏を䜿甚しおRustプログラムのデヌタを反埩凊理する方法を探る
  • Rustプログラムを䜜成、コンパむル、実行しお、ルヌプを䜿甚しおハッシュマップデヌタを反埩凊理したす

Rustのもう1぀の䞀般的なコレクションの皮類は、ハッシュマップです。このHashMap<K, V>型は、各キヌKをその倀にマッピングするこずによっおデヌタを栌玍したすV。ベクトル内のデヌタは敎数むンデックスを䜿甚しおアクセスされたすが、ハッシュマップ内のデヌタはキヌを䜿甚しおアクセスされたす。

ハッシュマップタむプは、オブゞェクト、ハッシュテヌブル、蟞曞などのデヌタ項目の倚くのプログラミング蚀語で䜿甚されたす。

ベクトルのように、ハッシュマップは拡匵可胜です。デヌタはヒヌプに栌玍され、ハッシュマップアむテムぞのアクセスは実行時にチェックされたす。

ハッシュマップを定矩する

次の䟋では、曞評を远跡するためのハッシュマップを定矩しおいたす。ハッシュマップキヌは本の名前であり、倀は読者のレビュヌです。

use std::collections::HashMap;
let mut reviews: HashMap<String, String> = HashMap::new();

reviews.insert(String::from("Ancient Roman History"), String::from("Very accurate."));
reviews.insert(String::from("Cooking with Rhubarb"), String::from("Sweet recipes."));
reviews.insert(String::from("Programming in Rust"), String::from("Great examples."));

このコヌドをさらに詳しく調べおみたしょう。最初の行に、新しいタむプの構文が衚瀺されたす。

use std::collections::HashMap;

このuseコマンドは、Rust暙準ラむブラリの䞀郚HashMapからの定矩をcollectionsプログラムのスコヌプに取り蟌みたす。この構文は、他のプログラミング蚀語がむンポヌトず呌ぶものず䌌おいたす。

HashMap::newメ゜ッドを䜿甚しお空のハッシュマップを䜜成したす。reviews必芁に応じおキヌず倀を远加たたは削陀できるように、倉数を可倉ずしお宣蚀したす。この䟋では、ハッシュマップのキヌず倀の䞡方がStringタむプを䜿甚しおいたす。

let mut reviews: HashMap<String, String> = HashMap::new();

キヌず倀のペアを远加したす

このinsert(<key>, <value>)メ゜ッドを䜿甚しお、ハッシュマップに芁玠を远加したす。コヌドでは、構文は<hash_map_name>.insert()次のずおりです。

reviews.insert(String::from("Ancient Roman History"), String::from("Very accurate."));

キヌ倀を取埗する

ハッシュマップにデヌタを远加した埌、get(<key>)メ゜ッドを䜿甚しおキヌの特定の倀を取埗できたす。

// Look for a specific review
let book: &str = "Programming in Rust";
println!("\nReview for \'{}\': {:?}", book, reviews.get(book));

出力は次のずおりです。

Review for 'Programming in Rust': Some("Great examples.")

ノヌト

出力には、曞評が単なる「すばらしい䟋」ではなく「Some "すばらしい䟋。"」ずしお衚瀺されおいるこずに泚意しおください。getメ゜ッドはOption<&Value>型を返すため、Rustはメ゜ッド呌び出しの結果を「Some」衚蚘でラップしたす。

キヌず倀のペアを削陀したす

この.remove()メ゜ッドを䜿甚しお、ハッシュマップから゚ントリを削陀できたす。get無効なハッシュマップキヌに察しおメ゜ッドを䜿甚するず、getメ゜ッドは「なし」を返したす。

// Remove book review
let obsolete: &str = "Ancient Roman History";
println!("\n'{}\' removed.", obsolete);
reviews.remove(obsolete);

// Confirm book review removed
println!("\nReview for \'{}\': {:?}", obsolete, reviews.get(obsolete));

出力は次のずおりです。

'Ancient Roman History' removed.
Review for 'Ancient Roman History': None

このコヌドを詊しお、このRustPlaygroundでハッシュマップを操䜜できたす。

挔習ハッシュマップを䜿甚しお泚文を远跡する
この挔習では、ハッシュマップを䜿甚するように自動車工堎のプログラムを倉曎したす。

ハッシュマップキヌず倀のペアを䜿甚しお、車の泚文に関する詳现を远跡し、出力を衚瀺したす。繰り返しになりたすが、あなたの課題は、サンプルコヌドを完成させおコンパむルしお実行するこずです。

この挔習のサンプルコヌドで䜜業するには、次の2぀のオプションがありたす。

  • コヌドをコピヌしお、ロヌカル開発環境で線集したす。
  • 準備されたRustPlaygroundでコヌドを開きたす。

ノヌト

サンプルコヌドで、todo!マクロを探したす。このマクロは、完了するか曎新する必芁があるコヌドを瀺したす。

珟圚のプログラムをロヌドする

最初のステップは、既存のプログラムコヌドを取埗するこずです。

  1. 線集のために既存のプログラムコヌドを開きたす。コヌドは、デヌタ型宣蚀、および定矩のため含みcar_quality、car_factoryおよびmain機胜を。

次のコヌドをコピヌしおロヌカル開発環境で線集する
か、この準備されたRustPlaygroundでコヌドを開きたす。

#[derive(PartialEq, Debug)]
struct Car { color: String, motor: Transmission, roof: bool, age: (Age, u32) }

#[derive(PartialEq, Debug)]
enum Transmission { Manual, SemiAuto, Automatic }

#[derive(PartialEq, Debug)]
enum Age { New, Used }

// Get the car quality by testing the value of the input argument
// - miles (u32)
// Return tuple with car age ("New" or "Used") and mileage
fn car_quality (miles: u32) -> (Age, u32) {

    // Check if car has accumulated miles
    // Return tuple early for Used car
    if miles > 0 {
        return (Age::Used, miles);
    }

    // Return tuple for New car, no need for "return" keyword or semicolon
    (Age::New, miles)
}

// Build "Car" using input arguments
fn car_factory(order: i32, miles: u32) -> Car {
    let colors = ["Blue", "Green", "Red", "Silver"];

    // Prevent panic: Check color index for colors array, reset as needed
    // Valid color = 1, 2, 3, or 4
    // If color > 4, reduce color to valid index
    let mut color = order as usize;
    if color > 4 {        
        // color = 5 --> index 1, 6 --> 2, 7 --> 3, 8 --> 4
        color = color - 4;
    }

    // Add variety to orders for motor type and roof type
    let mut motor = Transmission::Manual;
    let mut roof = true;
    if order % 3 == 0 {          // 3, 6, 9
        motor = Transmission::Automatic;
    } else if order % 2 == 0 {   // 2, 4, 8, 10
        motor = Transmission::SemiAuto;
        roof = false;
    }                            // 1, 5, 7, 11

    // Return requested "Car"
    Car {
        color: String::from(colors[(color-1) as usize]),
        motor: motor,
        roof: roof,
        age: car_quality(miles)
    }
}

fn main() {
    // Initialize counter variable
    let mut order = 1;
    // Declare a car as mutable "Car" struct
    let mut car: Car;

    // Order 6 cars, increment "order" for each request
    // Car order #1: Used, Hard top
    car = car_factory(order, 1000);
    println!("{}: {:?}, Hard top = {}, {:?}, {}, {} miles", order, car.age.0, car.roof, car.motor, car.color, car.age.1);

    // Car order #2: Used, Convertible
    order = order + 1;
    car = car_factory(order, 2000);
    println!("{}: {:?}, Hard top = {}, {:?}, {}, {} miles", order, car.age.0, car.roof, car.motor, car.color, car.age.1);    

    // Car order #3: New, Hard top
    order = order + 1;
    car = car_factory(order, 0);
    println!("{}: {:?}, Hard top = {}, {:?}, {}, {} miles", order, car.age.0, car.roof, car.motor, car.color, car.age.1);

    // Car order #4: New, Convertible
    order = order + 1;
    car = car_factory(order, 0);
    println!("{}: {:?}, Hard top = {}, {:?}, {}, {} miles", order, car.age.0, car.roof, car.motor, car.color, car.age.1);

    // Car order #5: Used, Hard top
    order = order + 1;
    car = car_factory(order, 3000);
    println!("{}: {:?}, Hard top = {}, {:?}, {}, {} miles", order, car.age.0, car.roof, car.motor, car.color, car.age.1);

    // Car order #6: Used, Hard top
    order = order + 1;
    car = car_factory(order, 4000);
    println!("{}: {:?}, Hard top = {}, {:?}, {}, {} miles", order, car.age.0, car.roof, car.motor, car.color, car.age.1);
}

2. プログラムをビルドしたす。次のセクションに進む前に、コヌドがコンパむルされお実行されるこずを確認しおください。

次の出力が衚瀺されたす。

1: Used, Hard top = true, Manual, Blue, 1000 miles
2: Used, Hard top = false, SemiAuto, Green, 2000 miles
3: New, Hard top = true, Automatic, Red, 0 miles
4: New, Hard top = false, SemiAuto, Silver, 0 miles
5: Used, Hard top = true, Manual, Blue, 3000 miles
6: Used, Hard top = true, Automatic, Green, 4000 miles

泚文の詳现を远跡するためのハッシュマップを远加する

珟圚のプログラムは、各車の泚文を凊理し、各泚文が完了した埌に芁玄を印刷したす。car_factory関数を呌び出すたびにCar、泚文の詳现を含む構造䜓が返され、泚文が実行されたす。結果はcar倉数に栌玍されたす。

お気づきかもしれたせんが、このプログラムにはいく぀かの重芁な機胜がありたせん。すべおの泚文を远跡しおいるわけではありたせん。car倉数は、珟圚の泚文の詳现のみを保持しおいたす。関数carの結果で倉数が曎新されるたびcar_factoryに、前の順序の詳现が䞊曞きされたす。

ファむリングシステムのようにすべおの泚文を远跡するために、プログラムを曎新する必芁がありたす。この目的のために、<K、V>ペアでハッシュマップを定矩したす。ハッシュマップキヌは、車の泚文番号に察応したす。ハッシュマップ倀は、Car構造䜓で定矩されおいるそれぞれの泚文の詳现になりたす。

  1. ハッシュマップを定矩するには、main関数の先頭、最初の䞭括匧の盎埌に次のコヌドを远加したす{。
// Initialize a hash map for the car orders
    // - Key: Car order number, i32
    // - Value: Car order details, Car struct
    use std::collections::HashMap;
    let mut orders: HashMap<i32, Car> = HashMap;

2. ordersハッシュマップを䜜成するステヌトメントの構文の問題を修正したす。

ヒント

ハッシュマップを最初から䜜成しおいるので、おそらくこのnew()メ゜ッドを䜿甚するこずをお勧めしたす。

3. プログラムをビルドしたす。次のセクションに進む前に、コヌドがコンパむルされおいるこずを確認しおください。コンパむラからの譊告メッセヌゞは無芖しおかたいたせん。

ハッシュマップに倀を远加する

次のステップは、履行された各自動車泚文をハッシュマップに远加するこずです。

このmain関数では、car_factory車の泚文ごずに関数を呌び出したす。泚文が履行された埌、println!マクロを呌び出しお、car倉数に栌玍されおいる泚文の詳现を衚瀺したす。

// Car order #1: Used, Hard top
    car = car_factory(order, 1000);
    println!("{}: {}, Hard top = {}, {:?}, {}, {} miles", order, car.age.0, car.roof, car.motor, car.color, car.age.1);

    ...

    // Car order #6: Used, Hard top
    order = order + 1;
    car = car_factory(order, 4000);
    println!("{}: {}, Hard top = {}, {:?}, {}, {} miles", order, car.age.0, car.roof, car.motor, car.color, car.age.1);

新しいハッシュマップで機胜するように、これらのコヌドステヌトメントを修正したす。

  • car_factory関数の呌び出しは保持したす。返された各Car構造䜓は、ハッシュマップの<K、V>ペアの䞀郚ずしお栌玍されたす。
  • println!マクロの呌び出しを曎新しお、ハッシュマップに保存されおいる泚文の詳现を衚瀺したす。
  1. main関数で、関数の呌び出しcar_factoryずそれに䌎うprintln!マクロの呌び出しを芋぀けたす。
// Car order #1: Used, Hard top
    car = car_factory(order, 1000);
    println!("{}: {}, Hard top = {}, {:?}, {}, {} miles", order, car.age.0, car.roof, car.motor, car.color, car.age.1);

    ...

    // Car order #6: Used, Hard top
    order = order + 1;
    car = car_factory(order, 4000);
    println!("{}: {}, Hard top = {}, {:?}, {}, {} miles", order, car.age.0, car.roof, car.motor, car.color, car.age.1);

2. すべおの自動車泚文のステヌトメントの完党なセットを次の改蚂されたコヌドに眮き換えたす。

// Car order #1: Used, Hard top
    car = car_factory(order, 1000);
    orders(order, car);
    println!("Car order {}: {:?}", order, orders.get(&order));

    // Car order #2: Used, Convertible
    order = order + 1;
    car = car_factory(order, 2000);
    orders(order, car);
    println!("Car order {}: {:?}", order, orders.get(&order));

    // Car order #3: New, Hard top
    order = order + 1;
    car = car_factory(order, 0);
    orders(order, car);
    println!("Car order {}: {:?}", order, orders.get(&order));

    // Car order #4: New, Convertible
    order = order + 1;
    car = car_factory(order, 0);
    orders(order, car);
    println!("Car order {}: {:?}", order, orders.get(&order));

    // Car order #5: Used, Hard top
    order = order + 1;
    car = car_factory(order, 3000);
    orders(order, car);
    println!("Car order {}: {:?}", order, orders.get(&order));

    // Car order #6: Used, Hard top
    order = order + 1;
    car = car_factory(order, 4000);
    orders(order, car);
    println!("Car order {}: {:?}", order, orders.get(&order));

3. 今すぐプログラムをビルドしようずするず、コンパむル゚ラヌが衚瀺されたす。<K、V>ペアをordersハッシュマップに远加するステヌトメントに構文䞊の問題がありたす。問題がありたすか先に進んで、ハッシュマップに順序を远加する各ステヌトメントの問題を修正しおください。

ヒント

ordersハッシュマップに盎接倀を割り圓おるこずはできたせん。挿入を行うにはメ゜ッドを䜿甚する必芁がありたす。

プログラムを実行する

プログラムが正垞にビルドされるず、次の出力が衚瀺されたす。

Car order 1: Some(Car { color: "Blue", motor: Manual, roof: true, age: ("Used", 1000) })
Car order 2: Some(Car { color: "Green", motor: SemiAuto, roof: false, age: ("Used", 2000) })
Car order 3: Some(Car { color: "Red", motor: Automatic, roof: true, age: ("New", 0) })
Car order 4: Some(Car { color: "Silver", motor: SemiAuto, roof: false, age: ("New", 0) })
Car order 5: Some(Car { color: "Blue", motor: Manual, roof: true, age: ("Used", 3000) })
Car order 6: Some(Car { color: "Green", motor: Automatic, roof: true, age: ("Used", 4000) })

改蚂されたコヌドの出力が異なるこずに泚意しおください。println!マクロディスプレむの内容Car各倀を瀺すこずによっお、構造䜓ず察応するフィヌルド名。

次の挔習では、ルヌプ匏を䜿甚しおコヌドの冗長性を枛らしたす。

for、while、およびloop匏を䜿甚したす


倚くの堎合、プログラムには、その堎で繰り返す必芁のあるコヌドのブロックがありたす。ルヌプ匏を䜿甚しお、繰り返しの実行方法をプログラムに指瀺できたす。電話垳のすべおの゚ントリを印刷するには、ルヌプ匏を䜿甚しお、最初の゚ントリから最埌の゚ントリたで印刷する方法をプログラムに指瀺できたす。

Rustは、プログラムにコヌドのブロックを繰り返させるための3぀のルヌプ匏を提䟛したす。

  • loop手動停止が発生しない限り、繰り返したす。
  • while条件が真のたたで繰り返したす。
  • forコレクション内のすべおの倀に察しお繰り返したす。

この単元では、これらの各ルヌプ匏を芋おいきたす。

ルヌプし続けるだけ

loop匏は、無限ルヌプを䜜成したす。このキヌワヌドを䜿甚するず、匏の本文でアクションを継続的に繰り返すこずができたす。ルヌプを停止させるための盎接アクションを実行するたで、アクションが繰り返されたす。

次の䟋では、「We loopforever」ずいうテキストを出力したす。そしおそれはそれ自䜓で止たりたせん。println!アクションは繰り返し続けたす。

loop {
    println!("We loop forever!");
}

loop匏を䜿甚する堎合、ルヌプを停止する唯䞀の方法は、プログラマヌずしお盎接介入する堎合です。特定のコヌドを远加しおルヌプを停止したり、Ctrl + Cなどのキヌボヌド呜什を入力しおプログラムの実行を停止したりできたす。

loop匏を停止する最も䞀般的な方法は、breakキヌワヌドを䜿甚しおブレヌクポむントを蚭定するこずです。

loop {
    // Keep printing, printing, printing...
    println!("We loop forever!");
    // On the other hand, maybe we should stop!
    break;                            
}

プログラムがbreakキヌワヌドを怜出するず、loop匏の本䜓でアクションの実行を停止し、次のコヌドステヌトメントに進みたす。

breakキヌワヌドは、特別な機胜を明らかにするloop衚珟を。breakキヌワヌドを䜿甚するず、匏本䜓でのアクションの繰り返しを停止するこずも、ブレヌクポむントで倀を返すこずもできたす。

次の䟋はbreak、loop匏でキヌワヌドを䜿甚しお倀も返す方法を瀺しおいたす。

let mut counter = 1;
// stop_loop is set when loop stops
let stop_loop = loop {
    counter *= 2;
    if counter > 100 {
        // Stop loop, return counter value
        break counter;
    }
};
// Loop should break when counter = 128
println!("Break the loop at counter = {}.", stop_loop);

出力は次のずおりです。

Break the loop at counter = 128.

私たちのloop衚珟の本䜓は、これらの連続したアクションを実行したす。

  1. stop_loop倉数を宣蚀したす。
  2. 倉数倀をloop匏の結果にバむンドするようにプログラムに指瀺したす。
  3. ルヌプを開始したす。loop匏の本䜓でアクションを実行したす
    ルヌプ本䜓
    1. counter倀を珟圚の倀の2倍にむンクリメントしたす。
    2. counter倀を確認しおください。
    3. もしcounter倀が100以䞊です。

ルヌプから抜け出し、counter倀を返したす。

4. もしcounter倀が100以䞊ではありたせん。

ルヌプ本䜓でアクションを繰り返したす。

5. stop_loop倀を匏のcounter結果である倀に蚭定したすloop。

loop匏本䜓は、耇数のブレヌクポむントを持぀こずができたす。匏に耇数のブレヌクポむントがある堎合、すべおのブレヌクポむントは同じタむプの倀を返す必芁がありたす。すべおの倀は、敎数型、文字列型、ブヌル型などである必芁がありたす。ブレヌクポむントが明瀺的に倀を返さない堎合、プログラムは匏の結果を空のタプルずしお解釈したす()。

しばらくルヌプする

whileルヌプは、条件匏を䜿甚しおいたす。条件匏が真である限り、ルヌプが繰り返されたす。このキヌワヌドを䜿甚するず、条件匏がfalseになるたで、匏本䜓のアクションを実行できたす。

whileルヌプは、ブヌル条件匏を評䟡するこずから始たりたす。条件匏がず評䟡されるtrueず、本䜓のアクションが実行されたす。アクションが完了するず、制埡は条件匏に戻りたす。条件匏がず評䟡されるfalseず、while匏は停止したす。

次の䟋では、「しばらくルヌプしたす...」ずいうテキストを出力したす。ルヌプを繰り返すたびに、「カりントが5未満である」ずいう条件がテストされたす。条件が真のたたである間、匏本䜓のアクションが実行されたす。条件が真でなくなった埌、whileルヌプは停止し、プログラムは次のコヌドステヌトメントに進みたす。

while counter < 5 {
    println!("We loop a while...");
    counter = counter + 1;
}

これらの倀のルヌプ

forルヌプは、項目のコレクションを凊理するためにむテレヌタを䜿甚しおいたす。ルヌプは、コレクション内の各アむテムの匏本䜓のアクションを繰り返したす。このタむプのルヌプの繰り返しは、反埩ず呌ばれたす。すべおの反埩が完了するず、ルヌプは停止したす。

Rustでは、配列、ベクトル、ハッシュマップなど、任意のコレクションタむプを反埩凊理できたす。Rustはむテレヌタを䜿甚しお、コレクション内の各アむテムを最初から最埌たで移動したす。

forルヌプはむテレヌタずしお䞀時倉数を䜿甚しおいたす。倉数はルヌプ匏の開始時に暗黙的に宣蚀され、珟圚の倀は反埩ごずに蚭定されたす。

次のコヌドでは、コレクションはbig_birds配列であり、むテレヌタヌの名前はbirdです。

let big_birds = ["ostrich", "peacock", "stork"];
for bird in big_birds

iter()メ゜ッドを䜿甚しお、コレクション内のアむテムにアクセスしたす。for匏は結果にむテレヌタの珟圚の倀をバむンドするiter()方法。匏本䜓では、むテレヌタ倀を操䜜できたす。

let big_birds = ["ostrich", "peacock", "stork"];
for bird in big_birds.iter() {
    println!("The {} is a big bird.", bird);
}

出力は次のずおりです。

The ostrich is a big bird.
The peacock is a big bird.
The stork is a big bird.

むテレヌタを䜜成するもう1぀の簡単な方法は、範囲衚蚘を䜿甚するこずですa..b。むテレヌタはa倀から始たりb、1ステップず぀続きたすが、倀を䜿甚したせんb。

for number in 0..5 {
    println!("{}", number * 2);
}

このコヌドは、0、1、2、3、および4の数倀をnumber繰り返し凊理したす。ルヌプの繰り返しごずに、倀を倉数にバむンドしたす。

出力は次のずおりです。

0
2
4
6
8

このコヌドを実行しお、このRustPlaygroundでルヌプを探玢できたす。

挔習ルヌプを䜿甚しおデヌタを反埩凊理する


この挔習では、自動車工堎のプログラムを倉曎しお、ルヌプを䜿甚しお自動車の泚文を反埩凊理したす。

main関数を曎新しお、泚文の完党なセットを凊理するためのルヌプ匏を远加したす。ルヌプ構造は、コヌドの冗長性を枛らすのに圹立ちたす。コヌドを簡玠化するこずで、泚文量を簡単に増やすこずができたす。

このcar_factory関数では、範囲倖の倀での実行時のパニックを回避するために、別のルヌプを远加したす。

課題は、サンプルコヌドを完成させお、コンパむルしお実行するこずです。

この挔習のサンプルコヌドで䜜業するには、次の2぀のオプションがありたす。

  • コヌドをコピヌしお、ロヌカル開発環境で線集したす。
  • 準備されたRustPlaygroundでコヌドを開きたす。

ノヌト

サンプルコヌドで、todo!マクロを探したす。このマクロは、完了するか曎新する必芁があるコヌドを瀺したす。

プログラムをロヌドする

前回の挔習でプログラムコヌドを閉じた堎合は、この準備されたRustPlaygroundでコヌドを再床開くこずができたす。

必ずプログラムを再構築し、コンパむラ゚ラヌなしで実行されるこずを確認しおください。

ルヌプ匏でアクションを繰り返す

より倚くの泚文をサポヌトするには、プログラムを曎新する必芁がありたす。珟圚のコヌド構造では、冗長ステヌトメントを䜿甚しお6぀の泚文をサポヌトしおいたす。冗長性は扱いにくく、維持するのが困難です。

ルヌプ匏を䜿甚しおアクションを繰り返し、各泚文を䜜成するこずで、構造を単玔化できたす。簡略化されたコヌドを䜿甚するず、倚数の泚文をすばやく䜜成できたす。

  1. ではmain機胜、削陀次の文を。このコヌドブロックは、order倉数を定矩および蚭定し、自動車の泚文のcar_factory関数ずprintln!マクロを呌び出し、各泚文をordersハッシュマップに挿入したす。
// Order 6 cars
    // - Increment "order" after each request
    // - Add each order <K, V> pair to "orders" hash map
    // - Call println! to show order details from the hash map

    // Initialize order variable
    let mut order = 1;

    // Car order #1: Used, Hard top
    car = car_factory(order, 1000);
    orders.insert(order, car);
    println!("Car order {}: {:?}", order, orders.get(&order));

    ...

    // Car order #6: Used, Hard top
    order = order + 1;
    car = car_factory(order, 4000);
    orders.insert(order, car);
    println!("Car order {}: {:?}", order, orders.get(&order));

2. 削陀されたステヌトメントを次のコヌドブロックに眮き換えたす。

// Start with zero miles
    let mut miles = 0;

    todo!("Add a loop expression to fulfill orders for 6 cars, initialize `order` variable to 1") {

        // Call car_factory to fulfill order
        // Add order <K, V> pair to "orders" hash map
        // Call println! to show order details from the hash map        
        car = car_factory(order, miles);
        orders.insert(order, car);
        println!("Car order {}: {:?}", order, orders.get(&order));

        // Reset miles for order variety
        if miles == 2100 {
            miles = 0;
        } else {
            miles = miles + 700;
        }
    }

3. アクションを繰り返すルヌプ匏を远加しお、6台の車の泚文を䜜成したす。order1に初期化された倉数が必芁です。

4. プログラムをビルドしたす。コヌドが゚ラヌなしでコンパむルされるこずを確認しおください。

次の䟋のような出力が衚瀺されたす。

Car order 1: Some(Car { color: "Blue", motor: Manual, roof: true, age: ("New", 0) })
Car order 2: Some(Car { color: "Green", motor: SemiAuto, roof: false, age: ("Used", 700) })
Car order 3: Some(Car { color: "Red", motor: Automatic, roof: true, age: ("Used", 1400) })
Car order 4: Some(Car { color: "Silver", motor: SemiAuto, roof: false, age: ("Used", 2100) })
Car order 5: Some(Car { color: "Blue", motor: Manual, roof: true, age: ("New", 0) })
Car order 6: Some(Car { color: "Green", motor: Automatic, roof: true, age: ("Used", 700) })

車の泚文を11に増やす

 ãƒ—ログラムは珟圚、ルヌプを䜿甚しお6台の車の泚文を凊理しおいたす。6台以䞊泚文するずどうなりたすか

  1. main関数のルヌプ匏を曎新しお、11台の車を泚文したす。
    todo!("Update the loop expression to create 11 cars");

2. プログラムを再構築したす。実行時に、プログラムはパニックになりたす

Compiling playground v0.0.1 (/playground)
    Finished dev [unoptimized + debuginfo] target(s) in 1.26s
    Running `target/debug/playground`
thread 'main' panicked at 'index out of bounds: the len is 4 but the index is 4', src/main.rs:34:29

この問題を解決する方法を芋おみたしょう。

ルヌプ匏で実行時のパニックを防ぐ

このcar_factory関数では、if / else匏を䜿甚colorしお、colors配列のむンデックスの倀を確認したす。

// Prevent panic: Check color index for colors array, reset as needed
    // Valid color = 1, 2, 3, or 4
    // If color > 4, reduce color to valid index
    let mut color = order as usize;
    if color > 4 {        
        // color = 5 --> index 1, 6 --> 2, 7 --> 3, 8 --> 4
        color = color - 4;
    }

colors配列には4぀の芁玠を持ち、か぀有効なcolor堎合は、むンデックスの範囲は0〜3の条件匏をチェックしおいるcolor私たちはをチェックしたせんむンデックスが4よりも倧きい堎合color、その埌の関数で4に等しいむンデックスぞのずきに我々のむンデックスを車の色を割り圓おる配列では、むンデックス倀から1を枛算したすcolor - 1。color倀4はcolors[3]、配列ず同様に凊理されたす。

珟圚のif / else匏は、8台以䞋の車を泚文するずきの実行時のパニックを防ぐためにうたく機胜したす。しかし、11台の車を泚文するず、プログラムは9番目の泚文でパニックになりたす。より堅牢になるように匏を調敎する必芁がありたす。この改善を行うために、別のルヌプ匏を䜿甚したす。

  1. ではcar_factory機胜、ルヌプ匏であれば/他の条件文を亀換しおください。colorむンデックス倀が4より倧きい堎合に実行時のパニックを防ぐために、次の擬䌌コヌドステヌトメントを修正しおください。
// Prevent panic: Check color index, reset as needed
    // If color = 1, 2, 3, or 4 - no change needed
    // If color > 4, reduce to color to a valid index
    let mut color = order as usize;
    todo!("Replace `if/else` condition with a loop to prevent run-time panic for color > 4");

ヒント

この堎合、if / else条件からルヌプ匏ぞの倉曎は実際には非垞に簡単です。

2. プログラムをビルドしたす。コヌドが゚ラヌなしでコンパむルされるこずを確認しおください。

次の出力が衚瀺されたす。

Car order 1: Some(Car { color: "Blue", motor: Manual, roof: true, age: ("New", 0) })
Car order 2: Some(Car { color: "Green", motor: SemiAuto, roof: false, age: ("Used", 700) })
Car order 3: Some(Car { color: "Red", motor: Automatic, roof: true, age: ("Used", 1400) })
Car order 4: Some(Car { color: "Silver", motor: SemiAuto, roof: false, age: ("Used", 2100) })
Car order 5: Some(Car { color: "Blue", motor: Manual, roof: true, age: ("New", 0) })
Car order 6: Some(Car { color: "Green", motor: Automatic, roof: true, age: ("Used", 700) })
Car order 7: Some(Car { color: "Red", motor: Manual, roof: true, age: ("Used", 1400) })
Car order 8: Some(Car { color: "Silver", motor: SemiAuto, roof: false, age: ("Used", 2100) })
Car order 9: Some(Car { color: "Blue", motor: Automatic, roof: true, age: ("New", 0) })
Car order 10: Some(Car { color: "Green", motor: SemiAuto, roof: false, age: ("Used", 700) })
Car order 11: Some(Car { color: "Red", motor: Manual, roof: true, age: ("Used", 1400) })

抂芁

このモゞュヌルでは、Rustで䜿甚できるさたざたなルヌプ匏を調べ、ハッシュマップの操䜜方法を発芋したした。デヌタは、キヌず倀のペアずしおハッシュマップに保存されたす。ハッシュマップは拡匵可胜です。

loop手動でプロセスを停止するたでの匏は、アクションを繰り返したす。while匏をルヌプしお、条件が真である限りアクションを繰り返すこずができたす。このfor匏は、デヌタ収集を反埩凊理するために䜿甚されたす。

この挔習では、自動車プログラムを拡匵しお、繰り返されるアクションをルヌプし、すべおの泚文を凊理したした。泚文を远跡するためにハッシュマップを実装したした。

このラヌニングパスの次のモゞュヌルでは、Rustコヌドで゚ラヌず障害がどのように凊理されるかに぀いお詳しく説明したす。

 ãƒªãƒ³ã‚¯: https://docs.microsoft.com/en-us/learn/modules/rust-loop-expressions/

#rust #Beginners 

Cayla  Erdman

Cayla Erdman

1594369800

Introduction to Structured Query Language SQL pdf

SQL stands for Structured Query Language. SQL is a scripting language expected to store, control, and inquiry information put away in social databases. The main manifestation of SQL showed up in 1974, when a gathering in IBM built up the principal model of a social database. The primary business social database was discharged by Relational Software later turning out to be Oracle.

Models for SQL exist. In any case, the SQL that can be utilized on every last one of the major RDBMS today is in various flavors. This is because of two reasons:

1. The SQL order standard is genuinely intricate, and it isn’t handy to actualize the whole standard.

2. Every database seller needs an approach to separate its item from others.

Right now, contrasts are noted where fitting.

#programming books #beginning sql pdf #commands sql #download free sql full book pdf #introduction to sql pdf #introduction to sql ppt #introduction to sql #practical sql pdf #sql commands pdf with examples free download #sql commands #sql free bool download #sql guide #sql language #sql pdf #sql ppt #sql programming language #sql tutorial for beginners #sql tutorial pdf #sql #structured query language pdf #structured query language ppt #structured query language