teleren/devto huggingface dataset:
5章7
Published: 2024-04-16 02:34:51

このJavaのコードにはいくつかの配列宣言と初期化が含まれています。問題は、どの配列宣言がコンパイルエラーを起こさないかということです。選択肢B, C, Dが正解である理由を一つ一つ見ていきましょう。

A. `int[] a = new int[2]{ 2, 3 };`
この行は、サイズが2のint型の配列を宣言し、同時に初期化しようとしていますが、Javaではサイズを宣言時に指定してはならず、初期化時にのみ値を提供する必要があります。したがって、コンパイルエラーとなります。

B. `int b[][] = { };`
ここではサイズが不定の2次元配列を宣言し、空のブレースを使用して初期化しています。これはコンパイルエラーになりません。配列は空でも、正しい構文です。

C. `int[][] c = new int[][]{ };`
これも2次元配列を宣言しており、新しいint型の配列を空で初期化しています。これも正しい構文で、コンパイルエラーは発生しません。

D. `int[] d; d = new int[]{2, 3};`
最初に1次元配列を宣言し、次に新しいint型の配列である{2, 3}で初期化しています。この初期化は匿名配列を使用しており、合法です。したがって、ここでもコンパイルエラーは発生しません。

E. `int e[]; e = {2,3};`
この行は、1次元配列を宣言してから、ブレース内に直接値を入れて初期化しようとしていますが、これはJavaでは許されていません。値を直接割り当てる場合は、宣言時にしなければなりません。または、新しい配列として初期化する必要があります。このため、コンパイルエラーが発生します。

以下は、コンパイルエラーを起こさないよう修正したコードです。

```java
// A. コンパイルエラー: 配列の宣言時にサイズを指定することはできない。[2]× []なら⚪︎
int[] a = new int[2]{ 2, 3 };

// B. 正しい構文: 空の2次元配列を宣言している。
int b[][] = { };

// C. 正しい構文: 空の2次元配列を宣言し、新しい配列で初期化している。
int[][] c = new int[][]{ };

// D. 正しい構文: 1次元配列を宣言し、後で匿名配列で初期化している。
int[] d; 
d = new int[]{2, 3};

// E. コンパイルエラー: 配列の宣言後にブレースで直接値を割り当てることはできない。
int e[]; 
e = {2,3};
```
How to assign the foreign key in the existing table.
Tags: mysql, oracle, beginners, database
Published: 2024-04-16 02:25:57

**I have a state_list table with a countryID field, but it's currently set as an index and not a foreign key. Now, I want to change it to be a foreign key referencing the country_list table's countryID primary key. How can I make this change?**

To change the existing index on the countryID column in the state_list table to a foreign key that references the countryID primary key column in the country_list table, you can follow these steps in MySQL:

[How can I check the existing FOREIGN KEY?](https://dgihost.com/index.php/2024/04/16/how-can-i-check-the-existing-foreign-key/)


[Difference between in Index and Foreign Key](https://dgihost.com/index.php/2024/04/16/difference-between-in-index-and-foreign-key-dgi-host-com/)

```
-- First, ensure that there is an index on the `countryID` column in the `state_list` table
SHOW INDEX FROM state_list WHERE Key_name = 'index_name';

-- If there is no index, you can create one using the following command
CREATE INDEX index_name ON state_list (countryID);

-- Then, you can add the foreign key constraint to the `countryID` column in the `state_list` table
ALTER TABLE state_list
ADD CONSTRAINT fk_countryID
FOREIGN KEY (countryID) REFERENCES country_list(countryID)
ON DELETE CASCADE
ON UPDATE CASCADE;

```
In this script:

Replace index_name with the name of the existing index on the countryID column in the state_list table.
Replace fk_countryID with a suitable name for your foreign key constraint.
ON DELETE CASCADE and ON UPDATE CASCADE are optional clauses that define the action to take when a referenced row in the country_list table is deleted or updated. You can adjust these clauses based on your specific requirements.
After running these SQL commands, the countryID column in the state_list table will be changed to a foreign key that references the countryID primary key column in the country_list table. Make sure to back up your data before making any structural changes to your database.

Thanks for reading,
Dgi Host.com
５章６
Published: 2024-04-16 02:17:27

このJavaのプログラムは配列の要素を出力するものですが、出力される内容に関する問題のようですね。このコードを見ると、次のような動作をします：

1. `String`型の配列`array`が宣言され、`{"A", "B", "C", "D"}`の4つの要素で初期化されます。
2. `array[0]`が`null`に設定されます。これにより、配列の最初の要素が`null`参照になります。
3. 拡張`for`ループを使用して配列の各要素を取り出し、`str`という変数に代入しています。
4. `System.out.print(str)`が呼び出され、`str`変数の値が出力されます。`null`を含むすべての要素が出力されるので、出力は`nullBCD`となります。

コードの動作を詳しく解説すると以下のようになります：

```java
public class Main {
    public static void main(String[] args) {
        // String型の配列を宣言し、4つの文字列"A", "B", "C", "D"で初期化する。
        String[] array = {"A", "B", "C", "D"};
        
        // 配列の最初の要素をnullに設定(上書き)する。
        array[0] = null;
        
        // 配列の各要素に対してループを行う。
        for (String str : array) {
            // 現在の要素の値を出力する。
            // この時、配列の最初の要素はnullなので、文字列ではなくnullとして出力される。
            System.out.print(str);
        }
        // ループが終わると、出力はnullを含んだ形で"nullBCD"となる。
    }
}
```

そのため、選択肢Cの「[nullBCD] と表示される」というのが正解になります。配列の最初の要素が`null`に設定されたため、出力時に`null`がそのまま表示され、残りの要素"B", "C", "D"が続きます。

## 追記

`for (String str : array)` はJavaの「拡張for文」（別名「for-eachループ」）と呼ばれる構文です。このループは配列やコレクションのすべての要素を順番に処理するために使われます。

この拡張for文の働きを説明すると、以下のようになります：

1. `array` 配列の最初の要素から始めます。
2. 配列の要素を一つ取り出し、その値を `str` という変数に代入します。
3. `str` 変数を使ってループ内の処理を行います（この場合は`System.out.print(str);`によって出力する）。
4. 次の要素に進み、2-3のステップを配列の最後の要素まで繰り返します。

ループの各繰り返しでは、`str` は `array` の現在の要素の値を参照しています。このプログラムでは、ループは4回実行されます。最初の繰り返しでは、`str` は `array[0]`（`null`に設定された）の値を持ちます。次の繰り返しでは、`str` は `array[1]` の `"B"`、それから `"C"`、そして `"D"` と進みます。ループの各繰り返しで `System.out.print(str);` が呼ばれるため、出力は `nullBCD` となります。
Want to Fail? FastAPI on Cloudflare Is Asking.
Tags: discuss
Published: 2024-04-16 02:15:30

I attempted the Cloudflare sponsored A.I. challenge and whew boy. FastAPI does not live on Wrangler. 

The docs will mislead you. I read those docs up down and sideways. FastAPI does not have access to several of its own imports including but not limited to Static, Form, oh, _anything_ that relies on python-multipart. 

Think you can just add libraries?

Cool, bro.
BY88 - Nhà Cái Uy Tín - Bảo Mật Lớn Nhất Hiện Nay
Published: 2024-04-16 02:11:02

BY88 một trong những sòng bạc hội tụ đầy đủ các thể loại trò chơi cá cược đỉnh cao, Ưu đãi ngập tràn, điểm đến của mọi dân chơi. hãy tham gia ngay nhà cái BY88 để tận hưởng trò chơi cá cược trực tuyến.
Địa chỉ: 14 P. Khúc Thừa Dụ, Dịch Vọng, Cầu Giấy, Hà Nội 11311, Việt Nam
Post Code: 11000
SDT: (+63) 9392188504
Email: by88tours1@gmail.com
Website: https://by88.tours
#by88 #by88tours 
 
Social Links:

https://www.facebook.com/by88.tours/

https://twitter.com/by88tours

https://www.pinterest.com/by88tours

https://500px.com/p/by88tours?view=photos

https://www.youtube.com/channel/UCHizm8LSoX87G7ZNobz9KpQ

https://www.reddit.com/user/by88tours/

https://www.blogger.com/profile/07700066109846447025

https://linktr.ee/by88tours

https://www.twitch.tv/by88tours/about

https://ok.ru/by88tours/statuses/156320951987617

https://profile.hatena.ne.jp/by88tours/profile

https://issuu.com/by88tours

https://www.liveinternet.ru/users/by88tours/

https://dribbble.com/by88tours/about

https://about.me/by88tours/

https://www.deviantart.com/by88tours

https://ko-fi.com/by88tours

https://www.provenexpert.com/by88tours/

https://hub.docker.com/u/by88tours

https://independent.academia.edu/By88tours

https://profile.ameba.jp/ameba/by88tours

https://sketchfab.com/by88tours

https://gitee.com/by88tours

https://public.tableau.com/app/profile/by88tours

https://connect.garmin.com/modern/profile/b4f2aec5-1577-4fe0-9fe7-9924b9a98d3b

https://fliphtml5.com/homepage/bfhfv/

https://www.reverbnation.com/by88tours

https://dev.to/by88tours
Why are foreign keys and primary keys used in databases?
Tags: mysql, oracle, webdev, beginners
Published: 2024-04-16 02:08:35

In MySQL and other relational database management systems (RDBMS), foreign keys and primary keys serve crucial roles in maintaining data integrity and establishing relationships between tables. Here's how they work:

[How to Set a Foreign key](Set a Foreign key)

[What is the Difference between in Index and Foreign Key?](https://dgihost.com/index.php/2024/04/16/difference-between-in-index-and-foreign-key-dgi-host-com/)

**Primary Key:** A primary key uniquely identifies each record in a table. It ensures that each row in a table is uniquely identifiable and cannot contain duplicate values. In MySQL, a primary key is typically created using the PRIMARY KEY constraint when defining a table. For example:

```
CREATE TABLE Employees (
    EmployeeID INT PRIMARY KEY,
    Name VARCHAR(50),
    ...
);

```
In this example, EmployeeID is the primary key of the Employees table.

**Foreign Key:** A foreign key establishes a link or relationship between two tables. It ensures referential integrity by enforcing a relationship between the data in the referencing table (child table) and the referenced table (parent table). The values in the foreign key column(s) of the child table must match the values in the primary key column(s) of the parent table. In MySQL, a foreign key is created using the FOREIGN KEY constraint. For example:

```
CREATE TABLE Orders (
    OrderID INT PRIMARY KEY,
    CustomerID INT,
    ...
    FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);

```

In this example, CustomerID in the Orders table is a foreign key that references the CustomerID primary key in the Customers table.

By using primary keys and foreign keys, you can create relationships between tables, enforce data integrity, and ensure consistency in your database. This allows for efficient data retrieval and manipulation, as well as maintaining the integrity and reliability of your data.


Thanks for reading,
Dgi Host.com
５章５
Published: 2024-04-16 01:45:52

このJavaコードのスニペットには、`Item`クラスと`Main`クラスの2つのクラスが含まれています。`Item`クラスには`name`という`String`型の変数と`price`という`int`型の変数があり、`price`は100に初期化されています。

`Main`クラスには`main`メソッドがあり、ここでプログラムが実行されます。`main`メソッドは`Item`オブジェクトの配列`items`を作成し、その長さを3に設定します。その後、整数型の変数`total`を0で初期化し、`for`ループを使用して各`Item`オブジェクトの`price`を`total`に加算します。

しかし、このコードには`Item`オブジェクトを実際に`items`配列に割り当てるコードがありません。つまり、`items`配列にはデフォルトで`null`が設定されているため、`Item`のインスタンスが存在せず、`items[i].price`を参照しようとすると`NullPointerException`が発生します。

そのため、選択肢E「実行時に例外がスローされる」という答えが正しいです。`Item`オブジェクトが`items`配列に割り当てられていないため、`for`ループの実行時に`null`の`price`にアクセスしようとして例外がスローされます。

コードにコメントを加えて説明すると以下のようになります：

```java
public class Item {
    String name; // 商品名を保存する変数
    int price = 100; // 商品の価格を保存する変数、デフォルトは100
}

public class Main {
    public static void main(String[] args) {
        Item[] items = new Item[3]; // Itemオブジェクトの配列を長さ3で初期化するが、各要素はnullである
        int total = 0; // 総価格を保存する変数、初期値は0

        for (int i = 0; i < items.length; i++) { // items配列を繰り返し処理する
            total += items[i].price; // items配列の各Itemの価格をtotalに加算する
            // ↑ この時点でitems[i]はnullなので、NullPointerExceptionがスローされる
        }

        System.out.println(total); // 総価格を出力する
        // ↑ 例外がスローされた場合、この行は実行されない
    }
}
```

コメントアウトはコードに直接加えることはできませんが、上記のコメントで各行が何を意味しているかを説明しています。例外が発生するため、`System.out.println(total);`は実際には実行されないことに注意してください。


## 追記
例外を回避し、コードが正常に実行されるようにするには、`Item`クラスのオブジェクトを`items`配列に各要素ごとにインスタンス化して割り当てる必要があります。これは、配列を宣言した後に`for`ループを使用して行うことができます。

以下のように修正します：

```java
public class Item {
    String name; // 商品名を保存する変数
    int price = 100; // 商品の価格を保存する変数、デフォルトは100
}

public class Main {
    public static void main(String[] args) {
        Item[] items = new Item[3]; // 長さ3のItemオブジェクト配列を初期化

        // 配列の各要素にItemのインスタンスを割り当てる
        for (int i = 0; i < items.length; i++) {
            items[i] = new Item(); // 新しいItemオブジェクトを作成して配列に割り当てる
        }

        int total = 0; // 総価格を保存する変数、初期値は0
        for (int i = 0; i < items.length; i++) { // items配列を繰り返し処理する
            total += items[i].price; // items配列の各Itemの価格をtotalに加算する
        }

        System.out.println(total); // 総価格を出力する
    }
}
```

この修正により、`Item`オブジェクトが配列の各要素に適切に割り当てられ、`for`ループが各`Item`オブジェクトの`price`を`total`に加算する際に例外が発生しなくなります。修正後のコードでは、`total`には300が出力されるはずです（3つの`Item`オブジェクトそれぞれに`price`が100設定されているため）。
５章4
Published: 2024-04-16 01:32:51

```
A. int a[] = new int[2][3]; // １次元配列の変数で　a[]　を宣言しているが、２次元配列の　new int[3][]; インスタンスを生成して代入しようとしている。変数とインスタンス間で次元数を一致させる必要がある。

B. int[] b = new int[2.3]; // 誤り。配列のサイズを指定するには整数を使用する必要があり、小数点は使用できない。

C. int c[] = new int[2 * 3]; // 誤り。これは6要素の1次元配列を宣言している。

D. int x = 2, y = 3;
   int[] d = new int[x * y]; // 誤り。こちらもCと同様に、1次元配列を宣言している。

E. int[][] e = new int[2][]; // 正しい。最初の次元のサイズが2である可変長の2次元配列を宣言している。2行目以降の列の数は別途指定可能。

F. int f[][] = new int[][3]; // 誤り。Javaでは最初の次元のサイズを省略することはできず、必ず指定する必要がある。

```
Short codes in Ruby on Rails
Tags: rails, shortcodes
Published: 2024-04-16 01:16:02

I was working on a Custom CMS developed by myself in Ruby on Rails. I wanted to use short codes to display the images into my pages. I am posting this part of my work here, which I posted in medium a year ago.

![Image gallery in Pages, rendered with Short codes.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2ox985wsvhuavc0d2mun.jpg)

I was able to detect the short codes saved in db and convert into respective gallery. Its very easy and simple to do.

**Create shortcodes of Gallery**

Create a short codes of each gallery items like [media slug=”gallery”], each gallery has unique slug and are associated with the images or media uploads of any types. You can implement any of our own methods on creating gallery.

**Add a helper to detect shortcode and display gallery.**

I added a page_helper to detect the shortcode and convert the shortcode into the responsive gallery.

```
module PagesHelper
    def render_media_gallery(content)
      content.to_s.gsub(/\[media slug="([^"]+)"\]/) do |match|
        slug = $1
        uploads = MediaLibrary.friendly.find(slug).uploads
        if uploads.any?
            links = uploads.map do |upload|
              content_tag(:div, link_to(image_tag(upload.file, class: "img-responsive img-responsive-1x1 rounded border"), rails_blob_path(upload.file, disposition: "attachment")), class: "col")
            end.join("\n").html_safe
    
            content_tag(:div, links, class: "row row-cols-6 g-3", "data-controller": "lightbox")
          else
            "Media not found for slug: #{slug}"
          end
      end.html_safe
    end
end
```

For references, following are the models used to create a media manager with the power of Rails and StimulusController.

```
class MediaLibrary < ApplicationRecord
  has_many :uploads
  extend FriendlyId
  friendly_id :slug_candidates, use: :slugged
  
  def slug_candidates
      [:name] + Array.new(6) {|index| [:name, index+2]}
  end

  def should_generate_new_friendly_id? #will change the slug if the name changed
    name_changed? || super
  end
end
```

```
class Upload < ApplicationRecord
    belongs_to :media_library, optional:  true
    has_one_attached :file, dependent: :destroy
end
```

Thank you! Happy Coding.
Dev Unity ☕
Tags: discord, webdev, community, spanish
Published: 2024-04-16 01:13:26

🚀 ¡Una comunidad de discord de desarolladores web en español donde la code es nuestra lengua común y la innovación es nuestra pasión! 🚀

🎨 ¿Sos un maestro del diseño? ¿Un ninja del frontend? ¿O un genio del backend? ¡Acá es donde pertenecés! Desde HTML y CSS hasta JavaScript , Python o Bases de Datos, ¡todos son bienvenidos a bordo!

🔧 Dentro de nuestro server, encontrarás:

🌐 Canales dedicados a hablar de las últimas tendencias y tecnologías en desarrollo web. 
💡 Espacios para compartir tus proyectos y recibir feedback de la comunidad.
📚 Recursos útiles, tutoriales y guías para ayudarte a mejorar tus skills de coding.
💬 Zonas de discusión para intercambiar ideas, resolver problemas y colaborar en proyectos.
🤝🏻 Una comunidad amigable y solidaria lista para ayudarte en cada paso de tu viaje de desarrollo.

💻 No importa si sos un novato entusiasta o un experto experimentado, ¡acá todos aprendemos y crecemos juntos!

Enlace de invitación a la comunidad:
_https://discord.gg/r8AXd72FMr_
How to resolve requireNativeComponent: "RNSScreenStackHeaderConfig" was not found in the UIManager in React Native
Tags: reactnative, debugging, reactnavigation, javascript
Published: 2024-04-16 00:57:55

Here's a step-by-step guide on how I effectively tackled the `requireNativeComponent: "RNSScreenStackHeaderConfig" was not found in the UIManager` error that arose during an Android development project using React Native:

**1. Identify the Error:** Run ./gradlew build in the project's android directory. This command attempts to build the project and often unveils the root cause of the error, in this case, it was `CXX1101] NDK at ~/Library/Android/sdk/ndk/25.1.8937393 did not have a source.properties file`. Which meant that there was a missing source.properties file within the NDK.

**2. Address the Missing File:** Navigate to the NDK version folder using the path specified in the error message (e.g., ~/Library/Android/sdk/ndk/25.1.8937393). Since the source.properties file is likely corrupt or incompatible, delete this entire NDK version folder.

**3. Clean and Rebuild:** Return to the project's android directory and execute `./gradlew clean` to remove any leftover build artifacts. Finally, run `./gradlew build` again to initiate a fresh build process with the corrected NDK setup.


**Additional Considerations:**
- If the issue persists after these steps, it might be necessary to reinstall or update the NDK using the Android SDK manager.
- Double-check your React Native and NDK version compatibility to ensure they align with project requirements.
Easily monitor your server's stats
Tags: monitoring, devops, operations, systems
Published: 2024-04-16 00:55:46

## TL;DR
One can use Glances along with a reverse proxy to easily monitor the health of their Server/PC from any location by simply accessing a link. This tutorial walks you through exactly that.

## Introduction
Many of us want a straightforward solution to monitoring the health of their Home server, Web server, or essentially any PC. While Grafana and Metabase are good realtime dashboard solutions, their setup can be difficult, which is why we will explore and setup Glances.

## Steps to set it up
1. Install Glances (cross-platform) on your system.
2. Enable its monitoring feature via a web browser.
3. Run a reverse proxy on the server.
4. Access the link from anywhere.

## Prerequisites
As is from their [github repository](https://github.com/nicolargo/glances).
- `python>=3.8` (use Glances 3.4.x for lower Python version)
- `psutil` (better with latest version)
- `defusedxml` (in order to monkey patch xmlrpc)
- `packaging` (for the version comparison)
- `ujson` (an optimized alternative to the standard json module)
- `pytz` (for the timezone support)
- `pydantic` (for the data validation support)

## Step 1: Install Glances
Can be done via the `pip` package manager for python.
```pip install --user 'glances[all]'```
Note that you may need to type `pip3` instead of `pip`, depending on your Python installation.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v49vonw17kzvxkcnfuw8.png)

## Step 2: Run glances and monitor the system
To run it in the terminal, run the command:
`glances`

In our case, we want to run it in a browser, so we type:
`glances -w`

which gives us the following.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ekcp84le81ukanejebtl.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bxthwfco5n17fufhx6cu.png)

## Step 3: Access from anywhere
Many good reverse proxy solutions currently exist on the market such as [ngrok](https://ngrok.com/) and [Cloudflare tunnels](https://www.cloudflare.com/products/tunnel/). They give one the ability to reliably run a tunnel and ensure it does not go down. They also offer the ability to securely access their links using whitelisted IP addresses or by using HTTP Basic Authentication.

For this tutorial, however, we will go with the simpler solution [serveo.net](https://serveo.net/) for demonstration purposes.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4gb2tukdtj50hweia6cw.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t84joq9q5yd02n5qrq9s.png)

Voila! That link can now allow us to monitor the system from anywhere with very minimal setup and installation.

## Final Thoughts
I hope you found this tutorial useful, and please feel free to comment below if you have questions, additions, modifications, or criticism of this method. All the best!
Mastering SEO with React: Strategies and Code Insights
Tags: abotwrotethis, webdev, javascript, beginners
Published: 2024-04-16 00:53:34

React is widely used in various web application developments, but understanding SEO optimization techniques is necessary. This article will explain the key elements of SEO optimization using React, with specific code examples.

**Implementing Server-Side Rendering (SSR):** Using SSR with Next.js can significantly enhance the SEO of a React app. For example, by pre-rendering pages on the server, search engines can easily recognize content at the initial load.

```
// pages/index.js
import { useEffect, useState } from 'react';

function Home() {
  const [data, setData] = useState(null);

  useEffect(() => {
    // Logic to pre-fetch data from the server
    fetch('/api/data')
      .then(response => response.json())
      .then(data => setData(data));
  }, []);

  return (
    <div>
      <h1>Home Page</h1>
      <p>{data ? data.content : 'Loading...'}</p>
    </div>
  );
}


export default Home;
```

**Dynamic Meta Tag Management:** In React, you can use React Helmet to set different meta tags for each page. This is crucial for proper recognition and indexing by search engines like Google.

```
// components/SEO.js
import { Helmet } from 'react-helmet';

function SEO({ title, description }) {
  return (
    <Helmet>
      <title>{title}</title>
      <meta name="description" content={description} />
    </Helmet>
  );
}

export default SEO;
```

**Code Splitting and Routing Optimization:** Implementing code splitting using libraries like React Router allows loading only necessary components, reducing user loading times and enhancing SEO scores.

```
// App.js
import React, { Suspense, lazy } from 'react';
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';

const Home = lazy(() => import('./Home'));
const About = lazy(() => import('./About'));

function App() {
  return (
    <Router>
      <Suspense fallback={<div>Loading...</div>}>
        <Switch>
          <Route exact path="/" component={Home} />
          <Route path="/about" component={About} />
        </Switch>
      </Suspense>
    </Router>
  );
}

export default App;
```
React can be very effective for SEO when the right technologies and strategies are used. Utilize server-side rendering, dynamic meta tag management, and code splitting to meet search engine requirements and optimize user experience.

## Related Posts

<a href="https://blog.function12.io/tag/react/why-react-is-the-optimal-framework-for-responsive-web-design/"><img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v62a6cq4aaorbnv8f8pc.jpg" alt="캡션을 입력해주세요"/></a>

<a href="https://blog.function12.io/tag/react/react-18-the-big-new-features/"><img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cgvhc10872feguch8lq0.jpg" alt="캡션을 입력해주세요"/></a>