NtpClient
Source: Enable Windows NTP Client
NtpClient
Source: Enable Windows NTP Client
Modbus is a data communications protocol originally published by Modicon (now Schneider Electric) in 1979 for use with its programmable logic controllers (PLCs). Modbus has become a de facto standard communication protocol and is now a commonly available means of connecting industrial electronic devices.[1] Modbus is popular in industrial environments because it is openly published and royalty-free. It was developed for industrial applications, is relatively easy to deploy and maintain compared to other standards, and places few restrictions – other than the datagram (packet) size – on the format of the data to be transmitted. Modbus uses the RS485 or Ethernet as its wiring type. Modbus supports communication to and from multiple devices connected to the same cable or Ethernet network. For example, a device that measures temperature and a different device to measure humidity, both of which communicates the measurements to a computer.
Modbus is often used to connect a plant/system supervisory computer with a remote terminal unit (RTU) in Supervisory Control and Data Acquisition (SCADA) systems in the electric power industry. Many of the data types are named from industrial control of factory devices, such as Ladder logic because of its use in driving relays: A single physical output is called a coil, and a single physical input is called a discrete input or a contact.
The development and update of Modbus protocols have been managed by the Modbus Organization since April 2004, when Schneider Electric transferred rights to that organization. The Modbus Organization is an association of users and suppliers of Modbus-compliant devices that advocates for the continued use of the technology.
Source: Modbus – Wikipedia
sudo chsh -s /bin/bash <username>
Source: command line – Arrow keys, Home, End, tab-complete keys not working in shell – Ask Ubuntu
The application/x-www-form-urlencoded Content-type header is not needed. Unless the request handler expects the parameters coming from request body. Try it out:
curl -X DELETE "http://localhost:5000/locations?id=3"
or
curl -X GET "http://localhost:5000/locations?id=3"
Source: http – CURL Command Line URL Parameters – Stack Overflow
curl –silent –output /dev/null http://example.com
ios.supportsTablet: false configured, your app will still render at phone resolution on iPads and must be usable.app.json file to specify the version of your app, but there are a few different fields each with specific functionality.version will apply both to iOS and Android. For iOS, this corresponds to CFBundleShortVersionString, and for Android this corresponds to versionName. This is your user-facing version string for both platforms.android.versionCode functions as your internal Android version number. This will be used to distinguish different binaries of your app.ios.buildNumber functions as your internal iOS version number, and corresponds to CFBundleVersion. This will be used to distinguish different binaries of your app.Constants.nativeAppVersion to access the version value listed above.Constants.nativeBuildVersion to access either android.versionCode or ios.buildNumber values (depending on the current platform)Note: No data is sent to Branch, Facebook, Segment, or Amplitude from your app unless you explicitly do so using the APIs. For more information on how Expo handles your data, and your end users’ data, take a look at our Privacy Explained page.
android.permissions key in your app.json fileCAMERA permission upon installation. Your users may be wary of installing since nothing in the app seems to use the camera, so why would it need that permission?android.permissions key in your app.json file, and specify which permissions your app will use. A list of all Android permissions and configuration options can be found here."permissions" : []. To use those in addition to CAMERA permission, for example, you’d set "permissions" : ["CAMERA"].NSURLSession, which is IPv6-compatible. More info.app.json, for example:"infoPlist": {
"NSCameraUsageDescription": "This app uses the camera to scan barcodes on event tickets."
},
infoPlist configuration. Because these strings are configured at the native level, they will only be published when you build a new binary with expo build.ios.infoPlist.CFBundleAllowMixedLocalizations: true, then provide a list of file paths to locales. "expo" : {
...
"ios" : {
"infoPlist": {
"CFBundleAllowMixedLocalizations": true
}
},
"locales": {
"ru": "./languages/russian.json"
}
}
locales should be the 2-letter language code of your desired language, and the value should point to a JSON file that looks something like this:// russian.json
{
"CFBundleDisplayName": "Привет",
"NSContactsUsageDescription": "Эти слова по русски"
}
Привет whenever it’s installed on a device with the language set to Russian.<VirtualHost *:80>
ServerName domain.org
ServerAlias www.domain.org
ProxyPass /blog !
Alias /blog /var/apache-vhosts/www.domain.org-blog
<Directory /var/apache-vhosts/www.domain.org-blog/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyPass / http://localhost:8884/
ProxyPassReverse / http://localhost:8884/
ProxyPreserveHost on
LogLevel debug
</VirtualHost>
Source: node.js – how to achieve an apache Alias with a proxy pass on the same domain – Stack Overflow
Yes, you have learned React and now you can develop a full-fledged front end application. The create-react-app helps you to set up and run a React project, including it code transpiling, basic linting, testing, and build systems. In short, you can start writing React code with minimal preparation. But once your application is done, it is time to deploy the same on the server, you are stuck and you will seek help from your backend or DevOps mates.
Wait!! Being a front end guy it seems to be difficult, but depolying your application on server is relatively easier than writing state management in redux.
In this post, we will learn how to deploy a React application on an Ubuntu 18.04 server using Node.js, serve, and pm2
pm2 is a process manager for the JavaScript runtime Node.js. This is an open-source daemon process manager that helps to manage and keep application 24/7
To follow this tutorial, you’ll need the following:
sudo apt-get update
sudo apt-get install nodejs
node -v or node –version
npm -v or npm –version
create-react-app tool
npm install -g create-react-app
1.First of all, create the app using npx create-react-app
npx create-react-app my-app
2.Now you can run the app by running following command in the project directory root
npm start
3.The default react app will run in http://localhost:3000
4.Now install serve and pm2 packages globally on the system/server
npm install -g serve
npm install -g pm2
5.Since you are in the root directory of your project, run the following command to create a production build of your app. This will create a directory named build in the project root directory
npm run build
6.Now we can run the following command to deploy the app
pm2 serve <path> <port> --spa
In our case, we can run the following command
pm2 serve build 8082 --spa
PM2 can serve static files very easily with the pm2 serve feature. It supports serving raw files from a specified folder or you can serve a SPA (Single Page Application) with it.
Now you can see that your application is running on 8081 port while you have logged out from your ssh terminal of the browser.
pm2 list
Bonus: Below are some utility commands to manage the pm2 process
pm2 --name <app-name>pm2 delete allpm2 delete <app-name>pm2 monitReference links :-
Source: Deploying a react app using pm2 and serve · LoginRadius Engineering