API

An interactive map requires to save a lot of vector tiles for each zoom level and location. These tiles include, for example, information about streets or the terrain. As these vector tiles are available as open-source version I first planned to host them on my own server. However, due to the size of these tiles (hundreds of gigabytes), this would have required a lot of resources and computing power and exceeds the budget of any small project.

As I was looking for alternatives, I found several map services, which host these tiles and offer them over their API. I finally chose Mapbox, since it allows 50,000 free map loads per month, which is perfect for smaller/hobby projects. Furthermore, it offers a lot of additional features (e.g. dynamical data display, tooltips), which I was able to make use of.

Technology:

I agree with Masood that there is no clear answer - it depends on the technology you need use / develop for or software you need to use thus it is very subjective. If you need to develop for any Apple API macOS is a must. But you may install your Hackintosh and run it on regular PC. Microsoft came out with .NET Core which allows to white .NET C# for any OS in any OS. If you want to combine both world at the same time you may use Virtual Machines or when on macOS you can use Parallels or VMWare Fusion. Each 'world' has its cons and pros. Last but not least, I would not say that Mac are more secured - macOS is based on Unix thus it is safer than Windows but still has vulnerabilities - no software is perfect.

ProgrammingLanguage:

Technology:

There is a HTML 5 File API which you can use to read files without uploading: https://www.html5rocks.com/en/tutorials/file/dndfiles/

Taggings:

Technology:

The problem can be solved by using a Nginx reverse proxy. Each application will be exposed through a corresponding sub-domain.

Dockerfile:

FROM nginx:alpine
COPY nginx.conf /etc/nginx/conf.d/default.conf
COPY proxy.conf /etc/nginx/includes/proxy.conf

proxy.conf:

proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_buffering off;
proxy_request_buffering off;
proxy_http_version 1.1;
proxy_intercept_errors off;

nginx.conf:

# pm config.
server {
listen 80;
server_name site1.myproject.com;
location / {
include /etc/nginx/includes/proxy.conf;
proxy_pass http://site1_webserver_1;
}
access_log off;
error_log /var/log/nginx/error.log error;
}
# api config.
server {
listen 80;
server_name site1.myproject.com;
location / {
include /etc/nginx/includes/proxy.conf;
proxy_pass http://site2_webserver_1;
}
access_log off;
error_log /var/log/nginx/error.log error;
}
# Default
server {
listen 80 default_server;
server_name _;
root /var/www/html;
charset UTF-8;
access_log off;
log_not_found off;
error_log /var/log/nginx/error.log error;
}

The proxy_pass is the name of the application's docker container.

Technology:

introduction to OWL API

-What is OWL API: Java API to work in OWL 2.0 DL
-Why we need OWL API:
+The use of a higher level data model can help to
+ insulate us from the vagaries of concrete syntax.
+ make it clear what is happening in terms of functionality.
+ increase the likelyhood of interoperating applications.
-OWL Abstract Syntax
+Provides a definition of the language in terms of the
constructs and assertions allowed.
+Semantics are then defined in terms of this abstract
syntax.
+Our OWL API data model is based largely on this abstract
syntax presentation.
+Conceptually cleaner.
+Syntax doesn’t get in the way
-example:
The following examples serve to illustrate various aspects
of the API and how we might use it.
1. Producing a basic hierarchy
2. Adding Closure Axioms
3. Rendering Alternative Concrete Syntaxes
4. Black Box Debugging
We won’t go into all the details of how these are done
Source for the examples will be available on line (OWPAPI.org)

Subscribe to API