Thứ Sáu, 8 tháng 10, 2021

Laravel env multiple environments, đặt nhiều biến môi trường

Khi phát triển dự án, bạn nhiều khi cần cài đặt nhiều biến để thích hợp với các cơ sở dữ liệu, các biến cài đặt khác nhau để phù hợp với phiên bản phát triển. Trong ví dụ đơn giản này, mình sẽ trình bày 2 file .local.env và .production.env để miêu tả việc bạn phát triển trên máy local và dự án khi deploy.

Để cấu hình giá trị biến môi trường Laravel, chúng ta dùng thư viện DotEnv, nó đã được cài khi bạn khởi tạo Laravel.

$ composer require vlucas/phpdotenv

 

 

Các bước thực hiện như sau:

1. Sửa file app.php

Đầu tiên chúng ta tìm tới file bootstrap/app.php

Thêm dòng lệnh require file enviroment.php trước dòng: return $app

require __DIR__.’/enviroment.php’;

return $app;

2. Tạo file enviroment.php

Trong folder bootstrap, nó cùng cấp với file app.php vừa chỉnh sửa

a. Nội dung file enviroment.php

<?php

use Dotenv\Dotenv;

// Tìm và đọc nội dung file .env

// Với biến APP_ENV lấy được, gán giá trị này ở file .env tương ứng

// Load file .env tương ứng đã lấy được

$env = $app->detectEnvironment(function(){

$environmentPath = __DIR__.’/../.env’;

$setEnv = trim(file_get_contents($environmentPath));

if (file_exists($environmentPath))

{

putenv(“$setEnv”);

if (getenv(‘APP_ENV’) && file_exists(__DIR__.’/../.’ .getenv(‘APP_ENV’) .’.env’)) {

$dotenv = new Dotenv(__DIR__.’/../’, ‘.’.getenv(‘APP_ENV’).’.env’);

$dotenv->load();

}

}

});

 

b. Với file .env.example mặc định, chúng ta copy nó để tạo ra 2 file .local.env và .production.env. Mỗi file được cấu hình tùy theo dự án của bạn.

c. Tiếp theo tạo file .env có nội dung chỉ một dòng

Nếu bạn connect thông tin của dự án đang phát triển ở local:

APP_ENV=local

Nếu bạn connect thông tin của dự án đã deloy:

APP_ENV=production

Bạn nhớ clear config cache và run lại để test kết quả nhé.

php artisan config:clear

php artisan config:cache

 

Trên đây là cách đơn giản để đặt nhiều biến môi trường trong Laravel, cảm ơn các bạn đã đọc bài viết này.

Link source: https://sharelifeinjapan.com/laravel-env-multiple-environments-dat-nhieu-bien-moi-truong/

Tags: 

Chủ Nhật, 12 tháng 9, 2021

Chuyển đổi tiền tệ với API miễn phí – Sử dụng VueJS kết hợp Laravel

Bạn đã từng sử dụng API miễn phí cho việc chuyển đổi các đơn vị tiền tệ chưa, hãy cùng theo dõi ví dụ dưới đây nhé.

Currency-exchange trong rapidapi cung cấp bản miễn phí cho chúng ta 2 API, đó là: List các đơn vị tiền tệ và Chuyển đổi tiền tệ.

Để sử dụng API này các bạn có thể vào đăng ký miễn phí một tài khoản tại rapidapi.com, bạn sẽ lấy được một API Key như sau: (4929d1ffc6mshdd7c3bea2cb844dp1e83xxxxxxxxxxx). Chúng ta chỉ cần API Key này và bắt đầu thôi.


Chuyển đổi tiền tệ với API miễn phí

 

1. File Api route

Gọi tới hai hàm được xây dựng trong một controller CurrencyController:
– currencyListquotes: Danh sách đơn vị tiền tệ
– currencyConverter: Chuyển đổi các đơn vị tiền tệ

Route::get(‘/currencyListquotes’, ‘Currency\CurrencyController@currencyListquotes’);
Route::get(‘/currencyConverter/{currency_from}/{currency_to}’, ‘Currency\CurrencyController@currencyConverter’);

2. Controller

Bạn tạo một controller CurrencyController Api, xây dựng hai hàm lấy danh sách tiền tệ và chuyển đổi tiền tệ như dưới đây, chúng ta sử dụng curl của php để lấy kết quả trả về dạng JSON.

namespace App\Http\Controllers\Api\Currency;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class CurrencyController extends Controller
{
public function currencyListquotes()
{
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => “https://currency-exchange.p.rapidapi.com/listquotes”,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_ENCODING => “”,
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => “GET”,
CURLOPT_HTTPHEADER => array(
“x-rapidapi-host: currency-exchange.p.rapidapi.com”,
“x-rapidapi-key: 4929d1ffc6mshdd7c3bea2cb844dp1e83xxxxxxxxxxx” // API Key của bạn
),
));

$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);

return $response;
}

public function currencyConverter($currency_from, $currency_to)
{
$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => “https://currency-exchange.p.rapidapi.com/exchange?q=1.0&from=$currency_from&to=$currency_to”,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_ENCODING => “”,
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => “GET”,
CURLOPT_HTTPHEADER => array(
“x-rapidapi-host: currency-exchange.p.rapidapi.com”,
“x-rapidapi-key: 4929d1ffc6mshdd7c3bea2cb844dp1e83xxxxxxxxxxx” // API Key của bạn
),
));

$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);

return $response;
}
}

 

3. File VueJS

Sau khi đã có kết quả trả về từ Controller, việc tiếp theo là chúng ta xây dựng FrontEnd để show kết quả, File VueJS currency.vue trong đường dẫn /resources/assets/js/views sẽ có nội dung như sau:

<div class=”list-group text-left mb-2″>
<h4 class=”list-group-item list-group-item-action list-group-item-info mb-2 text-center”>Currency Converter</h4>
<div class=”form-group m-2″>
<div class=”row”>
<div class=”col-md-12 mb-2″>
<div class=”row”>
<label for=”amount” class=”float-left text-left col-md-3″>Amount:</label>
<div class=”col-md-9″>
<input type=”number” class=”form-control” id=”amount” v-model=”currency_amount”>
</div>
</div>
</div>
<div class=”col-md-5″>
<label for=”currency_from” class=”float-left”>From:</label>
<select class=”form-control currency_from” v-model=”currency_from_default” id=”currency_from”>
<option v-for=”index in currencyListquotes” v-bind:value=”index”>{{index}}</option>
</select>
</div>

<div class=”col-md-2 text-center pl-0 pr-0″ style=””>
<label></label>
<img :src=”‘https://popularinfo.net/images/arrow-exchange.png'” alt=”exchange” width=”33px” @click=”changePosition”/>
</div>

<div class=”col-md-5″>
<label for=”currency_to” class=”float-left”>To:</label>
<select class=”form-control currency_to” v-model=”currency_to_default” id=”currency_to”>
<option v-for=”index in currencyListquotes” v-bind:value=”index”>{{index}}</option>
</select>
</div>
<div class=”col-md-12 mt-2 mb-2″>
<button type=”button” class=”btn btn-success float-left” @click=”getCurrencyChange” style=”font-size: 15px;text-transform: inherit;”>Convert</button>
<span v-if=”currencyResult” class=”text-right float-right font-weight-bold”>
<span v-if=”loading”>
<img :src=”‘/images/loading-icon2.gif'” alt=”loading” width=”25px”/>
</span>
<span v-if=”!loading”>
{{ currencyResult }}
</span>
</span>
</div>
</div>
</div>
</div>

 

– Đặt mặc định đơn vị chuyển đổi là 1 đơn vị từ USD sang VND
– Đổi ngược lại 2 đơn vị tiền tệ với nút exchange ở giữa
– axios: Hàm này sử dụng get API
– helper: File chứa hàm định dạng lại chuỗi kết quả tiền tệ.

 

<script>
import axios from ‘axios’;
import helper from ‘helper’;

export default {
data () {
return {
currencyResult: ”, currencyListquotes: ”, currency_from_default: ‘USD’, currency_to_default: ‘VND’,
currency_amount: ‘1’,
loading: false,
}
},

created() {
this.listCurrency();
},

methods: {
// Lấy danh sách đơn vị tiền tệ
listCurrency: function () {
axios
.get(‘/api/currencyListquotes’)
.then(response => {
this.currencyListquotes = response.data;

}).catch(error => {

});
},

// Đổi ngược lại 2 đơn vị tiền tệ
changePosition: function () {
let from = document.getElementById(“currency_from”);
let currency_from = from.options[from.selectedIndex].text;

let to = document.getElementById(“currency_to”);
let currency_to = to.options[to.selectedIndex].text;

from.value = currency_to;
to.value = currency_from;
},

// Truyền lên API chuyển đổi với tham số là số tiền, đơn vị tiền tệ
getCurrencyChange: function () {
this.loading = true;

let amount = document.getElementById(“amount”).value;
if (!amount || amount == 0) { amount = 1; }

let from = document.getElementById(“currency_from”);
let currency_from = from.options[from.selectedIndex].text;

let to = document.getElementById(“currency_to”);
let currency_to = to.options[to.selectedIndex].text;

this.getCurrencyConverter(amount, currency_from, currency_to);
},

// Lấy kết quả chuyển đổi
getCurrencyConverter(amount, currency_from, currency_to) {
this.loading = true;
axios
.get(‘/api/currencyConverter/’ + currency_from + ‘/’ + currency_to)
.then(response => {
let data = response.data;

if (data) {
data = amount * data;
this.currencyResult = helper.numberWithCommas(data) + ‘ ‘ + currency_to;
} else {
this.currencyResult = data;
}
this.loading = false;
}).catch(error => {

});
},
}
}
</script>

4. File helper.js

Hàm định dạng lại chuỗi thập phân
// Ví dụ:
// 12.34546 -> 12.345
// 42345255.356 -> 42,345,255.356

export default {
numberWithCommas: function(x) {
return (x).toFixed(3).replace(/\d(?=(\d{3})+\.)/g, ‘$&,’)
},
}

Tags: 

Thứ Ba, 24 tháng 8, 2021

12 đoạn mã code Javascript sau sẽ khiến bạn giống như một chuyên gia

Ngôn ngữ lập trình Javascript hoặc Typescript chạy rất nhanh và nhẹ. Sau khi nhận kết quả từ Server, chúng ta xử lý phía Client và các mã code của bạn khi được tối ưu tốt sẽ giảm tải rất tốt cho hệ thống.

Dưới đây là 12 đoạn mã code Javascript khi thực hiện sẽ khiến bạn giống như một chuyên gia vậy. Mình lưu lại bài viết này để khi cần có thể lấy ra tham khảo.

 

1. Xét kết quả ngẫu nhiên giá trị boolean (true / false)

Hàm này sẽ trả về một boolean (true hoặc false) bằng phương thức Math.random(). Math.random sẽ tạo một số ngẫu nhiên từ 0 đến 1, sau đó chúng ta kiểm tra xem nó cao hơn hay thấp hơn 0,5. Điều đó có nghĩa là 50% / 50% tỷ lệ nhận được true hay false.

const randomBoolean = () => Math.random() >= 0.5;
console.log(randomBoolean());

 

2. Kiểm tra xem ngày là trong tuần hay cuối tuần

Sử dụng phương pháp này, bạn sẽ có thể kiểm tra xem ngày bạn cung cấp trong hàm là ngày trong tuần hay ngày cuối tuần.

const isWeekday = (date) => date.getDay() % 6 !== 0;
console.log(isWeekday(new Date(2021, 0, 11)));
// Result: true (Monday)
console.log(isWeekday(new Date(2021, 0, 10)));
// Result: false (Sunday)

 

3. Đảo ngược một chuỗi

Có một số cách để đảo ngược một chuỗi. Đây là một trong những cách đơn giản nhất sử dụng kết hợp các phương thức split(), reverse() và join().

const reverse = str => str.split(”).reverse().join(”);
reverse(‘hello world’);
// Result: ‘dlrow olleh’

 

4. Kiểm tra xem tab hiện tại có ở chế độ xem/focus

Chúng ta có thể kiểm tra xem tab trình duyệt hiện tại có ở trong chế độ xem/focus hay không bằng cách sử dụng thuộc tính document.hidden

const isBrowserTabInView = () => document.hidden;
isBrowserTabInView();
// Result: returns true or false depending on if tab is in view / focus

5. Kiểm tra xem một số là chẵn hay lẻ

Một nhiệm vụ siêu đơn giản có thể được giải quyết bằng cách sử dụng toán tử modulo(%).

const isEven = num => num % 2 === 0;
console.log(isEven(2));
// Result: true
console.log(isEven(3));
// Result: false

6. Chỉ lấy thời gian từ một ngày cho trước

Bằng cách sử dụng phương thức .toTimeString() và cắt chuỗi vào đúng vị trí, chúng ta có thể lấy thời gian từ ngày mà chúng ta cung cấp hoặc lấy thời gian hiện tại.

const timeFromDate = date => date.toTimeString().slice(0, 8);
console.log(timeFromDate(new Date(2021, 0, 10, 17, 30, 0)));
// Result: “17:30:00”
console.log(timeFromDate(new Date()));
// Result: will log the current time

7. Cắt bớt một số thành một dấu thập phân cố định

Sử dụng phương thức Math.pow(), chúng ta có thể cắt bớt một số đến một dấu thập phân nhất định mà chúng ta cung cấp trong hàm.

const toFixed = (n, fixed) => ~~(Math.pow(10, fixed) * n) / Math.pow(10, fixed);
// Examples
toFixed(25.198726354, 1); // 25.1
toFixed(25.198726354, 2); // 25.19
toFixed(25.198726354, 3); // 25.198
toFixed(25.198726354, 4); // 25.1987
toFixed(25.198726354, 5); // 25.19872
toFixed(25.198726354, 6); // 25.198726

8. Kiểm tra thiết bị của user có hỗ trợ các sự kiện cảm ứng không

const touchSupported = () => {
(‘ontouchstart’ in window || window.DocumentTouch && document instanceof window.DocumentTouch);
}
console.log(touchSupported());
// Result: will return true if touch events are supported, false if not

9. Kiểm tra xem người dùng hiện tại có đang sử dụng thiết bị Apple không

Chúng ta có thể sử dụng Navigator.platform để kiểm tra xem người dùng hiện tại có đang sử dụng thiết bị Apple hay không.

const isAppleDevice = /Mac|iPod|iPhone|iPad/.test(navigator.platform);
console.log(isAppleDevice);
// Result: will return true if user is on an Apple device

10. Cuộn lên đầu trang Back to top

Phương thức window.scrollTo() sẽ lấy một tọa độ x và y để cuộn đến. Nếu chúng ta đặt chúng thành 0 và 0, nó sẽ di chuyển lên đầu trang.
Lưu ý: phương thức .scrollTo() không được hỗ trợ trên Internet Explorer.

const goToTop = () => window.scrollTo(0, 0);
goToTop();
// Result: will scroll the browser to the top of the page

11. Nhận giá trị trung bình của các đối số

Chúng ta có thể sử dụng phương thức rút gọn để lấy giá trị trung bình của các đối số mà chúng ta cung cấp trong hàm.

const average = (…args) => args.reduce((a, b) => a + b) / args.length;
average(1, 2, 3, 4);
// Result: 2.5

12. Quy đổi độ F / độ C

Cuối cùng là một trong 2-trong-1!
Đôi khi đối phó với nhiệt độ có thể khiến bạn bối rối. 2 chức năng này sẽ giúp bạn chuyển đổi độ F sang độ C và ngược lại.

const celsiusToFahrenheit = (celsius) => celsius * 9/5 + 32;
const fahrenheitToCelsius = (fahrenheit) => (fahrenheit – 32) * 5/9;
// Examples
celsiusToFahrenheit(15); // 59
celsiusToFahrenheit(0); // 32
celsiusToFahrenheit(-20); // -4
fahrenheitToCelsius(59); // 15
fahrenheitToCelsius(32); // 0

 

Cảm ơn vì đã đọc! Tôi hy vọng bạn đã học được một cái gì đó mới trong bài viết này.

Bài viết được tham khảo tại: https://sharelifeinjapan.com/12-doan-ma-code-javascript-sau-se-khien-ban-giong-nhu-mot-chuyen-gia/


Thứ Năm, 19 tháng 8, 2021

Select List 都道府県 Tỉnh, thành phố, khu phố ở Nhật Bản

Chúng ta đã biết đất nước Nhật Bản được chia làm 47 tỉnh thành, gọi tắt là 都道府県 (Todoufuken). Trong đó có 1 都(Tokyo), 1 道(Hokaido), 2 府(Kyoto, Osaka) và 43 tỉnh khác gọi chung là 県 (Ken). Những tên khu vực nhỏ hơn của 県 (Ken) là 市町村(しちょうそん)tức Thành phố thuộc tỉnh, khu phố,…

Với những website cần danh sách cách tỉnh thành, địa phương của toàn nước Nhật thì chúng ta cần 1 API để giải quyết vài toán như vậy. Bài viết này sẽ sử dụng Geoapi để lấy danh sách các địa phương nhỏ nhất nhé.

 

Select List 都道府県 Tỉnh, thành phố, khu phố ở Nhật Bản

Select List 都道府県 Tỉnh, thành phố, khu phố ở Nhật Bản

 

Đầu tiên khi chỉ hiển thị Select box chứa danh sách của tỉnh. Khi chọn tỉnh nào thì danh sách thành phố, khu phố tương ứng của tỉnh đó mới được xuất hiện để chúng ta lựa chọn.

Dưới đây mình sử dụng thêm thư viện Bootstrap cho select box dễ nhìn, còn bắt buộc phải có thư viện Jquery và Geoapi nhé.

<script src=”https://code.jquery.com/jquery-3.5.1.min.js”></script>
<script type=”text/javascript” src=”http://geoapi.heartrails.com/api/geoapi.js”></script>
<link rel=”stylesheet” href=”https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css”>

 

Phần HTML, cần chú ý thẻ ID của các Select box, lần lượt là: geoapi-prefectures, geoapi-cities, geoapi-towns

<div class=”container”>
<h2 class=”text-center”>Select List 都道府県 Tỉnh, thành phố, khu phố ở Nhật Bản sử dụng Geoapi js</h2>

<div class=”col-md-3″>
<select id=”geoapi-prefectures” class=”form-control”>
</select>
</div>
<div class=”col-md-3″>
<select id=”geoapi-cities” class=”form-control”>
</select>
</div>
<div class=”col-md-3″>
<select id=”geoapi-towns” class=”form-control”>
</select>
</div>
</div>

 

Full code như hình dưới đây:

Source: https://sharelifeinjapan.com/select-list-tinh-thanh-pho-khu-pho-o-nhat-ban/

Thứ Ba, 17 tháng 8, 2021

Số trẻ sơ sinh giảm kỷ lục tại Nhật

Theo công bố vào thời điểm công bố ngày 20-01-2021: Tổng dân số Nhật Bản là khoảng 125.570.000 người, giảm hơn 42.000 người so với cùng thời điểm năm 2020.

Số liệu thống kê 12/2019, có khoảng 864.000 trẻ sơ sinh được sinh ra, đạt kỷ lục thấp nhất từ trước tới nay. Thấp hơn năm 2018 là 54.000 trẻ. Ở phía số lượng người mất là 1.376.000 người. Nếu tính theo tổng dân số thì năm 2019 ở Nhật đã bị giảm ước tính 512.000 người và cũng đạt kỷ lục về số lượng dân số giảm trong một năm.

Tính từ năm 2007 tới nay thì số lượng sinh luôn nhỏ hơn số lượng người mất, dân số vẫn đang ngày một giảm dần.

Thống kê thời điểm 01-08-2020:
– Tổng dân số Nhật Bản là 125.809.000 người
– Tổng số người dưới 15 tuổi: 15.064.000 người
– Tổng số người trong khoảng 15 tuổi ~ 64 tuổi: 74.606.000 người
– Tổng số người từ 65 tuổi: 36.139.000 người.

 

 

Source: Số trẻ sơ sinh giảm kỷ lục tại Nhật

Thứ Năm, 5 tháng 8, 2021

Một số lưu ý về thủ tục tái nhập cảnh trước khi về nước

 Khi nhập cảnh vào Nhật Bản chúng ta cần làm thủ tục ghi vào tờ khai hải quan và tờ khai nhập cảnh, vậy khi xuất cảnh chúng ta cũng cần làm thủ tục để rời nước Nhật. Nhưng về hẳn, chưa có ý định quay lại hoặc về một thời gian rồi quay lại thì cách ghi có chút khác biệt, cần chú ý để chúng ta không bị nhầm lẫn.

Sau khi làm thủ tục checkin máy bay, check qua máy soi an ninh thì chúng ta xếp hàng để làm thủ tục với nhân viên hải quan. Trước khi xếp hàng để làm thủ tục và ra khu chờ cửa lên máy bay, việc nhất định cần làm là điền vào tờ khai tái nhập cảnh (再入国入国記録).

Phiếu ghi thông tin khi xuất cảnh

Phiếu ghi thông tin khi xuất cảnh

 

I. Cách điền thông tin khi xuất cảnh như sau:

A. Form điền bên trái, nơi đến (Arrival):

  1. Family name: Tên Họ của bạn.
  2. Given names: Tên đệm và tên của bạn.
  3. Ngày tháng năm sinh của bạn, chú ý ghi theo định dạng trên đấy, như ảnh trên của mình là Ngày/tháng/năm.
  4. Tên chuyến bay mà bạn sẽ bay về nước.
  5. Hai nút check いいえ No, để khai rằng tôi chưa có tiền án, tiền sự, không mang vận dụng, thuốc cấm…
  6. Chữ ký của ban.

B. Form điền bên phải, nơi xuất phát (Departure):

  1. Family name: Tên Họ của bạn.
  2. Given names: Tên đệm và tên của bạn.
  3. Ngày tháng năm sinh của bạn.
  4. Tên nước mà bạn sẽ đến.
  5. Tên chuyến bay của bạn
  6. Tích chọn thời gian mà bạn dự định quay lại.
  7. Chọn 1 để mong muốn sẽ quay lại, 2 là sẽ về hẳn, chưa có dự định quay lại. 
  8. Chữ ký của bạn.

Lưu ý mục 7 là quan trọng nhất, vì nếu bạn chọn sẽ quay lại mà lại tích mục 2 thì sau một thời gian bạn quay lại sẽ phải xin visa từ đầu mới được nhập cảnh. Đôi khi nhân viên an ninh sẽ hỏi đi hỏi lại bạn kỹ càng rằng thời gian bạn sẽ quay lại là khi nào hoặc có dự định quay lại hay không để họ xác nhận cho đúng.

Sau khi xác nhận xong nhân viên an ninh sẽ ghim một phần tờ khai của bạn vào Hộ chiếu, sau này khi tái nhập cảnh, bạn có thể dễ dàng thông qua mà không gặp phải những câu hỏi như khi nhập cảnh lần đầu.

II. Thủ tục tái nhập cảnh Nhật Bản

Sau khi về nước một thời gian, bạn sẽ quay lại Nhật Bản và bạn sẽ phải ghi thủ tục hải quan mà không cần ghi vào tờ khai nhập cảnh. Lưu ý nếu khách quá đông thì xếp hàng dành cho ngừời tái nhập cảnh (再入国) và hàng dành cho người nhập cảnh là khác nhau.

Khi tái nhập cảnh, bạn chỉ cần điền giấy khai hải quan này

Khi tái nhập cảnh, bạn chỉ cần điền giấy khai hải quan này

Bạn cần chú ý hoặc hỏi nhân viên an ninh ở đó cho đỡ mất thời gian xếp hàng. Sân bay Nhật Bản thường có rất nhiều an ninh hướng dẫn cho người nước ngoài nên bạn cứ yên tâm. Nhân viên an ninh hỏi những ai có thẻ ngoại kiều và họ sẽ hướng dẫn cho bạn xếp đúng hàng để làm thủ tục nhập cảnh.

Xem cách điền tờ khai hải quan khi nhập cảnh tại đây: Thủ tục nhập cảnh, cách điền tờ khai hải quan khi đến Nhật Bản

Nguồn: sharelifeinjapan.com


Thứ Năm, 22 tháng 7, 2021

Xếp hạng thiếu hụt lao động các nghành nghề tại Nhật Bản

Bài viết này cung cấp một bảng xếp hạng các lĩnh vực nghề nghiệp đang thiếu hụt và có nguy cơ thiếu hụt tại Nhật Bản. Chính phủ Nhật Bản cũng đã có những biện pháp tích cực để tuyển dụng người nước ngoài tới làm việc.

Trong bài viết này, dựa trên kiểm đếm của Hello Work, Bộ Y tế, Lao động và Phúc lợi công bố và giải thích bảng xếp hạng các ngành nghề có thiếu nguồn nhân lực, nghề nghiệp và dự báo xu hướng.

1. Ví trí số 1: Xây dựng

Vị trí đầu tiên thuộc về công việc xây dựng và tháo dỡ các tòa nhà và nhà chung cư. Chung cư thấp đang được xây dựng xung quanh nhà ga, việc xây dựng khách sạn. Việc đăng cai thế vận hội Olympic cũng là một phần nguyên do, các toà nhà cũng được sửa chữa và dẫn đến tình trạng không có đủ nhân lực, liên tục được tuyển dụng.

Thu nhập hàng năm trong năm năm qua đã tăng lên khoảng 420 man yên.

Độ tuổi của công nhân xây dựng, hơn 30% là từ 55 tuổi trở lên, và những người ở độ tuổi 20 chỉ khoảng 10%, những người trẻ tại Nhật phần nhiều không muốn làm việc trong ngành xây dựng. Do đó, tỷ lệ cung cấp công việc vẫn cao và thu nhập trung bình hàng năm đang tăng lên.

Ví dụ, trong việc xây dựng giàn giáo ở độ cao lớn và chuyên chở các vật nặng, thu nhập hàng năm trong năm năm qua đã tăng lên khoảng 420 man yên.

2. Vị trí thứ 2: An ninh

An ninh là một lĩnh vực nghề nghiệp bao gồm các công chức như cảnh sát và sĩ quan tự vệ, và nhân viên bảo vệ xây dựng.

Tất nhiên, do tình hình tài chính, số lượng công chức đang có xu hướng giảm, do đó tỷ lệ cơ hội việc làm cao đối với nhân viên an ninh tư nhân. Công việc xây dựng ngày càng tăng, nhân viên bảo vệ cũng đang tăng cơ hội việc làm.

Thu nhập hàng năm khoảng hơn 300 man yên, có thể thấp hơn so với một số nghành nghề. Tuy nhiên, vì đây không phải là một công việc khó khăn, tuổi trung bình là 51,9 tuổi, vậy người lớn tuổi vẫn có thể đảm nhận những công việc như thế này.

3. Vị trí thứ 3: Bác sĩ, nha sĩ, bác sĩ thú y, dược sĩ

Các bác sĩ và dược sĩ dường như cũng thiếu nhân viên, đặc biệt đối với các bác sĩ, ngay cả ở những nơi bận rộn như bệnh viện chăm sóc cấp tính (bệnh viện cấp cứu) và phẫu thuật, nhãn khoa và da liễu, nơi có tương đối nhiều thời gian, có cùng chi phí y tế, vì vậy không có bệnh viện cấp tính hoặc phẫu thuật.

Mặc dù tỷ lệ tuyển dụng việc làm cao hơn 8 lần thông thường, nhưng chỉ 19% số lượng nhân sự có thể đáp ứng nhu câù tuyển dụng.

Thu nhập trung bình hàng năm của bác sĩ là 1.100 man yên đến 1.200 man yên, trong độ tuổi trung bình 40,9 tuổi. Thực sự rất cao so với mặt bằng chung.

4. Vị trí thứ 4: Thợ làm tóc

Có rất nhiều công việc cho thợ làm tóc và thợ cắt tóc. Đặc biệt, các thợ làm tóc sẽ mất khoảng ba năm để trở thành người có thu nhập hàng năm cao hơn. Mặt khác, trong những số liệu về số lượng thợ cắt tóc và thẩm mỹ viện, số lượng thợ cắt tóc đang giảm dần qua từng năm, nhưng số lượng các thẩm mỹ viện đang tăng lên.

Thu nhập bình quân hàng năm khoảng 300 man yên.

5. Vị trí thứ 5: Thợ điện

Số lượng người nghỉ hưu cùng lớp trẻ kế cận đang thay đổi đã dẫn đến tình trạng thiếu nhân lực trầm trọng.

Thợ điện là một nghề nghiệp thực hiện các công việc liên quan đến điện từ việc xây dựng các nhà máy điện và dây điện đến lắp đặt máy điều hòa không khí. Việc xây dựng năng lượng mặt trời, pin lưu trữ, thiết bị sạc cho xe điện, v.v … ngày càng tăng, và việc số lượng người nghỉ hưu cùng lớp trẻ kế cận đang thay đổi đã dẫn đến tình trạng thiếu nhân lực trầm trọng.

Do đó, tỷ lệ tuyển dụng việc làm đã vượt quá 5 lần và thu nhập hàng năm đã tăng lên khoảng 500 man yên khi khoảng 40 tuổi.

6. Vị trí thứ 6: Bảo dưỡng và sửa chữa máy

Cụ thể hơn, điều này áp dụng cho thợ sửa xe và sửa chữa máy, hầu hết tất cả là cơ khí xe hơi.

Điều này là do số lượng xe chở khách ở Nhật Bản vẫn đang tăng lên và việc sửa chữa đòi hỏi nguồn nhân lực dồi dào. Số người muốn trở thành thợ sửa xe đang giảm dần qua từng năm.

Thu nhập bình quân hàng năm khoảng 430 man yên với tuổi trung bình là 36 tuổi.

7. Vị trí thứ 7: Người chăm sóc, y tá, điều dưỡng

Chắc hẳn nhiều người đã nghe về việc này, nghành nghề này đang được tuyển mộ rất nhiều qua nguồn lao động nước ngoài. Mức lương dành cho công việc này đang tăng dần lên, dù rằng tỷ lệ lương thấp hơn so với các ngành khác, vì vậy tỷ lệ tuyển dụng việc làm vẫn luôn luôn được quan tâm.

Thu nhập bình quân hàng năm: 300 man yên ~ 340 man yên, độ tuổi trung bình 41 tuổi.

Xếp hạng thiếu hụt lao động các nghành nghề tại Nhật Bản

Trích dẫn số liệu tại: https://sharelifeinjapan.com/xep-hang-thieu-hut-lao-dong-cac-nghanh-nghe-tai-nhat-ban/