Sơ đồ kích thước fan máy tính 120mm
Reference:
- GDSTIME 5Volt 120mm Fan, 1500RPM 120mm x 25mm DC Brushless Cooling Fan, Amazon 2019, https://www.amazon.com/GDSTIME-5Volt-1500RPM-Brushless-Cooling/dp/B07Y7XB6G2
Reference:
Edit /usr/share/dbeaver-ce/dbeaver.ini
, change the -Xms
and -Xmx
. In the example belows, check line 20 and 21.
-Xms
: It is used for setting the initial and minimum heap size. I set to 1GB.-Xmx
: It is used for setting the maximum heap size. I set to 6GB.On Window, it’s C:\Users\user\AppData\Local\DBeaver\dbeaver.ini
or C:\Program Files\DBeaver\dbeaver.ini
On Mac, it’s /Applications/DBeaver.app/Contents/Eclipse/dbeaver.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
-vmargs
-XX:+IgnoreUnrecognizedVMOptions
-Dosgi.requiredJavaVersion=17
--add-modules=ALL-SYSTEM
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
--add-opens=java.base/java.net=ALL-UNNAMED
--add-opens=java.base/java.nio=ALL-UNNAMED
--add-opens=java.base/java.nio.charset=ALL-UNNAMED
--add-opens=java.base/java.text=ALL-UNNAMED
--add-opens=java.base/java.time=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED
--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED
--add-opens=java.base/jdk.internal.vm=ALL-UNNAMED
--add-opens=java.base/sun.nio.ch=ALL-UNNAMED
--add-opens=java.base/sun.security.ssl=ALL-UNNAMED
--add-opens=java.base/sun.security.util=ALL-UNNAMED
-Xms1G
-Xmx6G
-Ddbeaver.distribution.type=rpm
Latest Update: 16/8/2023
Downdown cura profile here: Dropbox link
Example error:
Solution: Add connection parameter named :read_timeout
in repo config. In the follow example, I change :read_timeout
to 5 minutes, see line 11.
Besides, I add :timeout
to :infinity
, see line 10.
1
2
3
4
5
6
7
8
9
10
11
config :app, App.OracleRepo,
hostname: "******",
port: 1521,
database: "******",
username: "******",
password: "******",
stacktrace: true,
show_sensitive_data_on_connection_error: true,
pool_size: 10,
timeout: :infinity,
parameters: [ read_timeout: :timer.minutes(5)]
First of all, let start with definition of reaml, it’s what I got from KeyCloak official website.
Realms A realm manages a set of users, credentials, roles, and groups. A user belongs to and logs into a realm. Realms are isolated from one another and can only manage and authenticate the users that they control.
Realms (Tiếng Việt): cõi, địa hạt, vương quốc, vùng Một realm quản lý một tập hợp user, thông tin xác thực - credential, role và group. Một user sẽ thuộc một realm, một realm sẽ có nhiều user, user sẽ đăng nhập vào reaml mà nó thuộc về. Một server KeyCloak tạo được rất nhiều realm, và chúng bị cô lập với nhau. Những realm này chỉ có thể quản lý và cho đăng nhập những user mà chúng quản lý.
As the definition of realm , this step is only used for testing only, normaly, if your KeyCloak did create a realm, you can skip this step and go to step 2.
In new client form, I would like to input the following parameters, then submit.
redash
saml
After that, edit that new client named redash
Client ID: redash
Redash
empty
on
off
off
keycloak
saml
on
off
off
off
on
RSA_SHA256
KEY_ID
EXCLUSIVE_WITH_COMMENTS
off
off
off
off
off
off
email
ignored
https://redash.local-domain.com/*
https://redash.local-domain.com/
https://redash.local-domain.com/saml/callback?org_slug=default
ignored
ignored
ignored
ignored
ignored
In the saml response that Redash expected to received, it requires
FirstName
LastName
However, in the KeyCloak, the attribute names are different from what Redash expected, as a consequence, we need to configure client’s mappers
For first name and last name, use Add Builtin
feature.
lastName
LastName
LastName
firstName
FirstName
FirstName
After login using admin credential, go to Settings → General → Saml
Enable (Dynamic)
https://keyclock.local-domain.com/apps/keycloak/realms/{REALM_NAME}/protocol/saml/descriptor
redash
urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
You are done! Enjoy!
In the Log4j template, use the following template.
You then can RUN your talend job, the output should look like the following.
Trong bài hướng dẫn này, chúng ta sẽ tìm cách nâng cấp firmware cho máy in 3D Creality Ender-3 Pro. Trước khi đi vào chi tiết, đây là thông số máy in 3D của tôi trước khi nâng cấp.
Cá nhân tôi khi bắt đầu mò mẫm cài đặt firmware mới, tôi cảm giác mình đang đi vào một cái lỗ thỏ. Đây là những phần việc chính mà chúng ta sẽ làm
Đây là cách các phần cứng nối với nhau.
Ở bước này, tôi sẽ dụng Arduino UNO như một công cụ trung gian để rồi cài đặt bootloader cho máy in 3D.
Để tránh nhầm lẫn, chỉ cắm Arduino UNO
vào máy tính, chúng ta chưa kết nối thứ gì vào máy in 3D.
Sau khi cắm Arduino UNO vào máy tính, mở phần mềm Arduino IDE, chọn File > Example > 11. ArduinoISP > ArduinoISP
.
Ở mục Tools > Programmer hãy chọn AVRISP mkII
. Sau đó, hãy verify và upload sketch này lên Arduino UNO.
Lưu ý là vẫn giữ kết nối giữa máy tính và Arduino sau khi upload thành công.
Bây giờ là lúc cắm Arduino UNO vào máy in 3D Creality Ender-3 Pro thông qua cổng ISP. Các linh kiện sẽ kết nối như thế này.
Đây là mạch của máy in 3D.
Còn đây là mạch Arduino UNO. Khi nối dây, lưu ý là socket số 10 của Arduino sẽ nối vào chân số 3 trên mạch máy in 3D. Các chân còn lại 1, 2, 4, 5, 6 nối như bình thường.
Sau khi kết nối mạch máy in 3D vào Arduino UNO, mặc dù chúng ta không cấp nguồn cho mạch máy in 3D, màn hình vẫn sẽ sáng vì nó lấy điện thông qua Arduino.
Giờ chúng ta quay trở lại với chương trình Arduino IDE để burn bootloader
vào mạch máy in 3D thông qua Arduino UNO. Thao tác như sau
Tools > Board
, chọn Sanguino,Tools > Port
, vẫn giữ port cũ, cái mà đang kết nối với Arduino.Tools → Processor
, chọn ATmega1284 or ATmega1284P (16MHz)
Tools → Programmer
, chọn Arduino as ISP
(quan trọng)Sau đó, ấn nút Tools → Burn Bootloader
. Lúc này bootloader sẽ được cài vào mạch máy in 3D thông qua Arduino UNO.
Màn hình của máy in 3D sẽ có màu xanh, không có chữ gì cả. Đừng lo lắng. Bootloader đã cài đặt thành công rồi.
Bây giờ hãy tháo Arduino UNO và cable ISP, vai trò của Arduino UNO đã kết thúc.
Bước đầu tiên, hãy download Marlin Firmware va Marlin Configration ở link dưới đây https://marlinfw.org/meta/download/
Từ bây giờ, tôi sẽ gọi thư mục sau khi giải nén MarlinFirmware.zip là thư mục MarlinFirmware, còn thư mục sau khi giải nén MarlinConfiguration.zip là MarlinConfiguration.
Trong thư mục MarlinFirmware, sẽ có một thư mục con tên là Marlin
hãy copy những file sau từ MarlinConfiguration
/config/examples/Creality/Ender-3 Pro/CrealityV1
, vào thư mục này:
_Bootscreen.h
Configuration.h
Configuration_adv.h
_Statusscreen.h
Trong thư mục MarlinFirmware
, Edit file platformio.ini
, thay đổi default_envs = melzi_optimized
Tôi sẽ giả định rằng bạn đã cài đặt xong phần mềm python và platformio. Trong thư mục MarlinFirmware, hãy chạy lệnh sau
để compile firmware mới, ở thời điểm tôi viết bài này, phiên bản marlin là 2.0.9.6Firmware đã được build xong, nó nằm ở .pio/build/melzi_optimized/firmware.hex
Bây giờ chúng ta sẽ nối máy tính với máy in 3D thông qua cổng mini USB và upload firmware.
Tôi sử dụng -v
(verbose), nó sẽ hiển thị chính xác command mà platformio sử dụng để upload firmware lên mạch máy in 3D.
Command đó nằm ở dòng thứ 6.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
AVAILABLE: arduino
CURRENT: upload_protocol = arduino
BeforeUpload(["upload"], [".pio/build/melzi_optimized/firmware.hex"])
Auto-detected: /dev/ttyUSB0
avrdude -v -p atmega1284p -C /home/nguyenvinhlinh/.platformio/packages/tool-avrdude/avrdude.conf -c arduino -b 57600 -D -P /dev/ttyUSB1 -U flash:w:.pio/build/melzi_optimized/firmware.hex:i
avrdude: Version 6.3, compiled on Sep 12 2016 at 15:21:49
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "/home/nguyenvinhlinh/.platformio/packages/tool-avrdude/avrdude.conf"
User configuration file is "/home/nguyenvinhlinh/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : /dev/ttyUSB0
Using Programmer : arduino
Overriding Baud Rate : 57600
Khả năng rất cao là chạy lệnh platformio run --target upload -v
không thành công, nó chí build xong firmware chứ ko có upload được. Error log như sau:
Lý do bị lỗi này là vì baud rate -b 57600
không chính xác , Để khắc phục lỗi này, bạn chỉnh sửa -b 115200
sau đó chạy lại trên terminal.
Command sẽ trông như sau.
Đến đây là đã kết thúc quá trình upload firmware mới lên máy in 3D Creality Ender-3 Pro. Trên máy in 3D, nó sẽ yêu cầu bạn initialize lại EPROOM
,
bạn hãy đồng ý. Nếu không hãy làm như sau Configuration > Advanced Settings > Initialize EPROOM
. Sau đó, hãy kiểm tra version
About Printer > Printer Info
, nó sẽ là 2.0.9.6
.
In this tutorial, I would like to introduce a new topic - How to override context params when deploy talend job. In general, there are two method
Before going further with these two method, I would like to establish a list of context variable and write a small tJava
code to print out these context variables.
Variable Name | Variable Type | Value |
---|---|---|
var_1 | String | var_1_original_content |
_var_2 | String | var_2_original_content |
var_3 | Password | password |
var_4 | int - Integer | 1 |
var_5 | float - Float | 2.2 |
var_6 | double - Double | 3.3 |
var_7 | Date | 2023-05-11 00:00:00 |
Then, I create a new tJava component with the following content.
Now, I build job, choose Override parameter’s value, for quick value defining, I choose Value from selected context, and Finish. A zip file will be generated and it’s ready to execute.
After you extract the zip file, you gonna see file directory tree like this.
To execute the job, in my case, you need to run the following command. And, as you can see, our context parameters has been printed well.
Now, we are ready to go the main part - Config runtime parameters via file & executable scripts.
file.properties
Open Default.properties
with your your favorite text editor and edit this file to update context params.
At this step, it’s important to escape special character if you play with datetime type. In my case, it’s var_7.
This is my content of files
etl_01_test_override_context_params_run.ps1
$args
will pass all arguments to running script.
etl_01_test_override_context_params_run.sh
$@
similar to $args
but in shell script, it will pass all arguments to running script.
To override context parameters, I just need to add --context_param var_1=var_1_value
when execute the script. For example
Good luck!
java-11-openjdk
Due to Talend Open Studio prerequisites link, we need to install OpenJDK 11 (recommended distribution: Zulu)
or OracleJDK 11
.
In this tutorial, I used OpenJDK 11
provided by Fedora package repository.
Package information:
Package installation:
java
with alternatives
commandIn this step, we use command alternatives
to set java version systemwide, java-11-openjdk.x86_64
is selected with option 3.
JAVA_HOME
I used shell named zsh
, I will configure JAVA_HOME
in .zshrc
file which located in ~/.zshrc
. If you use bash
, you will need
to configure .bashrc
. You can trace the java home path using alternatives
in Step 2. For me, the value is /usr/lib/jvm/java-11-openjdk-11.0.18.0.10-1.fc37.x86_64
After download Talend Open Studio TOS_DI-20211109_1610-V8.0.1.zip
, and extract, you gonna see a list of file & directory.
You need to execute this file named TOS_DI-linux-gtk-x86_64
and done. Good luck.
Sometimes, playing CSGO on Fedora (Gnome) gives you this message.
It’s because GNOME detects csgo_linux64
process unresponsive. You can fix this issue by setting the timeout to 0, by default, it’s 5000
milliseconds.