soa | 完全将页面 和后台开发进行分离

 by   qingmu-io Java Updated: 1 year ago - Current License: No License

Download this library from

Build Applications

kandi X-RAY | soa REVIEW AND RATINGS

##基于dubbo的一个分布式项目基架## 实现每层之前互相独立,后台系统以service为分割点,打包为一个一个的服务jar包,服务之间的通信目前使用dubbo协议。 服务的管理、集群、负载均衡,均使用dubbo内置功能。 为了方便使用,使用了控制器进行一次代理和数据验证等等工作,采用了一个springMVC+fastJSON的方式进行json处理和jsonp的支持。 在前端使用angularJS(MVC)实现了后台的独立开发,即后台服务器只需要运行控制器即可,webpage则可以直接跑在nginx下,完全将页面 和后台开发进行分离,开发部署。.

kandi-support
Support

  • soa has a highly active ecosystem.
  • It has 103 star(s) with 86 fork(s).
  • It had no major release in the last 12 months.
  • On average issues are closed in 1445 days.
  • It has a positive sentiment in the developer community.

quality kandi
Quality

  • soa has 0 bugs and 0 code smells.

security
Security

  • soa has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
  • soa code analysis shows 0 unresolved vulnerabilities.
  • There are 0 security hotspots that need review.

license
License

  • soa does not have a standard license declared.
  • Check the repository for any license declaration and review the terms closely.
  • Without a license, all rights are reserved, and you cannot use the library in your applications.

build
Reuse

  • soa releases are not available. You will need to build from source code and install.
  • Build file is available. You can build the component from source.
  • soa saves you 2435 person hours of effort in developing the same functionality from scratch.
  • It has 5304 lines of code, 327 functions and 82 files with 0 % test coverage
  • It has medium code complexity. Code complexity directly impacts maintainability of the code.
Top functions reviewed by kandi - BETA

kandi has reviewed soa and discovered the below as its top functions. This is intended to give you an instant insight into soa implemented functionality, and help decide if they suit your requirements.

  • Load class .
  • Begin transaction .
  • Query and compile all classes
  • query by namespace
  • perform pagination tool
  • Call transaction .
  • Registers the job listener .
  • Convert an object to a map .
  • Load properties from one or more resources
  • Handle node data changed event .

soa Key Features

spring(ioc)并没有使用AOP进行事物的管理,采用手动的方式进行的处理

spring mvc(控制器)

mybatis (持久)

quartz(调度集群)

dubbo (服务治理)

fastjson (json处理)

logback (日志处理)

Jquery (简化DOM操作)

angularJS (MVC框架,实现前后端分离开发) 前端页面点我

bootstarp2 (CSS 布局)

soa examples and code snippets

  • Filter Array based on if contains php
  • Redirect a AWS static IP to domain
  • java.util.concurrent.TimeoutException: Did not observe any item or terminal signal within 10000ms in 'map' (and no fallback has been configured)
  • How to run dockerized protractor project which included Angular?
  • Get second last value in each row of dataframe, R
  • Adding ggsignif to plot with numeric x axis results in the error "Can only handle data with groups that are plotted on the x-axis"
  • Read SOAP XML from php CURL
  • Re-Running the function in case "if" condition fails or else continue
  • My domain is pending validation in AWS Certificate Manager
  • How to configure ibm cloud application to Godaddy domain

Filter Array based on if contains php

<?php
$result = array_filter(
    $arr,
    function (array $record) {
        if (isset($record['record_type'])) {
            return $record['record_type'] != "NS";
        } return null;
    }
);
<?php
$result = array_filter(
    $arr,
    function (array $record) {
        if ($record['type'] == 'record') {
            return true;
        } return false;
    }
);
-----------------------
<?php
$result = array_filter(
    $arr,
    function (array $record) {
        if (isset($record['record_type'])) {
            return $record['record_type'] != "NS";
        } return null;
    }
);
<?php
$result = array_filter(
    $arr,
    function (array $record) {
        if ($record['type'] == 'record') {
            return true;
        } return false;
    }
);
-----------------------
array_filter($arr, fn($el)=>isset($el["record_type"]));

Redirect a AWS static IP to domain

> host  fatcow.com
fatcow.com has address 65.254.254.33
fatcow.com mail is handled by 10 mail.fatcow.com.

java.util.concurrent.TimeoutException: Did not observe any item or terminal signal within 10000ms in 'map' (and no fallback has been configured)

server:
  port: 8002

spring:
  application:
    name: user-service
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test
    username: root
    password: root
    
  jpa:
    generate-ddl: true
    hibernate:
      ddl-auto: create
 
#  zipkin:
#    base-url: http://127.0.0.1:9411/

eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
  instance:
    prefer-ip-address: true
    hostname: localhost
    

How to run dockerized protractor project which included Angular?

COPY /path/to/source /path/to/destination

Get second last value in each row of dataframe, R

first_job <- function(x)   {x1 <- x[!is.na(x)];x1[length(x1) - 1][1]}
apply(data[-(1:4)], 1, first_job)

#[1] "PhD fellow"               "Java developer Intern"    "Optical Engineer" 
#[4] "Senior DWH&BI Engineer"   "Senior Software Engineer" "Software Developer"
-----------------------
df %>% select(1:4, starts_with('Job')) %>%
  pivot_longer(starts_with('Job'), values_drop_na = T) %>%
  group_by(Index) %>%
  slice_tail()


# A tibble: 57 x 6
# Groups:   Index [57]
   Index FromJob          Highest_education_achiev~ Skills                                     name  value        
   <dbl> <chr>            <chr>                     <chr>                                      <chr> <chr>        
 1     1 Senior Machine ~ PhD                       "Machine Learning, Mathematical Modeling,~ Job5  PhD fellow   
 2     2 Senior Machine ~ MSc Computer Science      "Java, AngularJS, frontend, backend, Azur~ Job5  Java develop~
 3     3 Senior Machine ~ MSc                       "Biometrics, Machine Learning, Pattern Re~ Job4  Optical Engi~
 4     4 Senior Machine ~ MBA                       "Databricks, Spark, Airflow, AWS Sagemake~ Job2  Senior DWH&B~
 5     5 Senior Machine ~ MSc                       "Spark, Tensorflow &TFX, Kubeflow, BigQue~ Job5  Senior Softw~
 6     6 Python Data Eng~ MSc                       "PythonC++, C, OpenCV, OpenCL, MatLab, Te~ Job3  Software Dev~
 7     7 Python Data Eng~ MSc                       "Microsoft SQL Server, Hadoop,SQL Server ~ Job2  Data Engineer
 8     8 Python Data Eng~ MSc Communication and Me~ "Keras, TensorFlow, scikit-learn, NLTK, O~ Job2  Application ~
 9     9 Lead Backend De~ High School               "ElasticSearch, OOP, NoSQL, SQL, Docker, ~ Job3  Software Dev~
10    10 Lead Backend De~ BSc Informatics           "PHP, Java Script, CSS, (X)HTML, MySQL., ~ Job3  Senior Web D~
# ... with 47 more rows
#Ex for 2nd job

df %>% select(1:4, starts_with('Job')) %>%
  pivot_longer(starts_with('Job'), values_drop_na = T) %>%
  group_by(Index) %>%
  filter(rev(row_number()) == 2)
#> # A tibble: 57 x 6
#> # Groups:   Index [57]
#>    Index FromJob     Highest_education_a~ Skills             name  value        
#>    <dbl> <chr>       <chr>                <chr>              <chr> <chr>        
#>  1     1 Senior Mac~ PhD                  "Machine Learning~ Job4  Research Sci~
#>  2     2 Senior Mac~ MSc Computer Science "Java, AngularJS,~ Job4  Analytics An~
#>  3     3 Senior Mac~ MSc                  "Biometrics, Mach~ Job3  Senior Devel~
#>  4     4 Senior Mac~ MBA                  "Databricks, Spar~ Job1~ Senior Data ~
#>  5     5 Senior Mac~ MSc                  "Spark, Tensorflo~ Job4  Graduate Tea~
#>  6     6 Python Dat~ MSc                  "PythonC++, C, Op~ Job2  Software Dev~
#>  7     7 Python Dat~ MSc                  "Microsoft SQL Se~ Job1~ Machine Lear~
#>  8     8 Python Dat~ MSc Communication a~ "Keras, TensorFlo~ Job1~ Akademischer~
#>  9     9 Lead Backe~ High School          "ElasticSearch, O~ Job2  Backend Deve~
#> 10    10 Lead Backe~ BSc Informatics      "PHP, Java Script~ Job2  Lead PHP Dev~
#> # ... with 47 more rows
df %>% select(1:4, starts_with('Job')) %>%
  pivot_longer(starts_with('Job'), values_drop_na = T) %>%
  group_by(Index) %>%
  slice(n() -1)
-----------------------
df %>% select(1:4, starts_with('Job')) %>%
  pivot_longer(starts_with('Job'), values_drop_na = T) %>%
  group_by(Index) %>%
  slice_tail()


# A tibble: 57 x 6
# Groups:   Index [57]
   Index FromJob          Highest_education_achiev~ Skills                                     name  value        
   <dbl> <chr>            <chr>                     <chr>                                      <chr> <chr>        
 1     1 Senior Machine ~ PhD                       "Machine Learning, Mathematical Modeling,~ Job5  PhD fellow   
 2     2 Senior Machine ~ MSc Computer Science      "Java, AngularJS, frontend, backend, Azur~ Job5  Java develop~
 3     3 Senior Machine ~ MSc                       "Biometrics, Machine Learning, Pattern Re~ Job4  Optical Engi~
 4     4 Senior Machine ~ MBA                       "Databricks, Spark, Airflow, AWS Sagemake~ Job2  Senior DWH&B~
 5     5 Senior Machine ~ MSc                       "Spark, Tensorflow &TFX, Kubeflow, BigQue~ Job5  Senior Softw~
 6     6 Python Data Eng~ MSc                       "PythonC++, C, OpenCV, OpenCL, MatLab, Te~ Job3  Software Dev~
 7     7 Python Data Eng~ MSc                       "Microsoft SQL Server, Hadoop,SQL Server ~ Job2  Data Engineer
 8     8 Python Data Eng~ MSc Communication and Me~ "Keras, TensorFlow, scikit-learn, NLTK, O~ Job2  Application ~
 9     9 Lead Backend De~ High School               "ElasticSearch, OOP, NoSQL, SQL, Docker, ~ Job3  Software Dev~
10    10 Lead Backend De~ BSc Informatics           "PHP, Java Script, CSS, (X)HTML, MySQL., ~ Job3  Senior Web D~
# ... with 47 more rows
#Ex for 2nd job

df %>% select(1:4, starts_with('Job')) %>%
  pivot_longer(starts_with('Job'), values_drop_na = T) %>%
  group_by(Index) %>%
  filter(rev(row_number()) == 2)
#> # A tibble: 57 x 6
#> # Groups:   Index [57]
#>    Index FromJob     Highest_education_a~ Skills             name  value        
#>    <dbl> <chr>       <chr>                <chr>              <chr> <chr>        
#>  1     1 Senior Mac~ PhD                  "Machine Learning~ Job4  Research Sci~
#>  2     2 Senior Mac~ MSc Computer Science "Java, AngularJS,~ Job4  Analytics An~
#>  3     3 Senior Mac~ MSc                  "Biometrics, Mach~ Job3  Senior Devel~
#>  4     4 Senior Mac~ MBA                  "Databricks, Spar~ Job1~ Senior Data ~
#>  5     5 Senior Mac~ MSc                  "Spark, Tensorflo~ Job4  Graduate Tea~
#>  6     6 Python Dat~ MSc                  "PythonC++, C, Op~ Job2  Software Dev~
#>  7     7 Python Dat~ MSc                  "Microsoft SQL Se~ Job1~ Machine Lear~
#>  8     8 Python Dat~ MSc Communication a~ "Keras, TensorFlo~ Job1~ Akademischer~
#>  9     9 Lead Backe~ High School          "ElasticSearch, O~ Job2  Backend Deve~
#> 10    10 Lead Backe~ BSc Informatics      "PHP, Java Script~ Job2  Lead PHP Dev~
#> # ... with 47 more rows
df %>% select(1:4, starts_with('Job')) %>%
  pivot_longer(starts_with('Job'), values_drop_na = T) %>%
  group_by(Index) %>%
  slice(n() -1)
-----------------------
df %>% select(1:4, starts_with('Job')) %>%
  pivot_longer(starts_with('Job'), values_drop_na = T) %>%
  group_by(Index) %>%
  slice_tail()


# A tibble: 57 x 6
# Groups:   Index [57]
   Index FromJob          Highest_education_achiev~ Skills                                     name  value        
   <dbl> <chr>            <chr>                     <chr>                                      <chr> <chr>        
 1     1 Senior Machine ~ PhD                       "Machine Learning, Mathematical Modeling,~ Job5  PhD fellow   
 2     2 Senior Machine ~ MSc Computer Science      "Java, AngularJS, frontend, backend, Azur~ Job5  Java develop~
 3     3 Senior Machine ~ MSc                       "Biometrics, Machine Learning, Pattern Re~ Job4  Optical Engi~
 4     4 Senior Machine ~ MBA                       "Databricks, Spark, Airflow, AWS Sagemake~ Job2  Senior DWH&B~
 5     5 Senior Machine ~ MSc                       "Spark, Tensorflow &TFX, Kubeflow, BigQue~ Job5  Senior Softw~
 6     6 Python Data Eng~ MSc                       "PythonC++, C, OpenCV, OpenCL, MatLab, Te~ Job3  Software Dev~
 7     7 Python Data Eng~ MSc                       "Microsoft SQL Server, Hadoop,SQL Server ~ Job2  Data Engineer
 8     8 Python Data Eng~ MSc Communication and Me~ "Keras, TensorFlow, scikit-learn, NLTK, O~ Job2  Application ~
 9     9 Lead Backend De~ High School               "ElasticSearch, OOP, NoSQL, SQL, Docker, ~ Job3  Software Dev~
10    10 Lead Backend De~ BSc Informatics           "PHP, Java Script, CSS, (X)HTML, MySQL., ~ Job3  Senior Web D~
# ... with 47 more rows
#Ex for 2nd job

df %>% select(1:4, starts_with('Job')) %>%
  pivot_longer(starts_with('Job'), values_drop_na = T) %>%
  group_by(Index) %>%
  filter(rev(row_number()) == 2)
#> # A tibble: 57 x 6
#> # Groups:   Index [57]
#>    Index FromJob     Highest_education_a~ Skills             name  value        
#>    <dbl> <chr>       <chr>                <chr>              <chr> <chr>        
#>  1     1 Senior Mac~ PhD                  "Machine Learning~ Job4  Research Sci~
#>  2     2 Senior Mac~ MSc Computer Science "Java, AngularJS,~ Job4  Analytics An~
#>  3     3 Senior Mac~ MSc                  "Biometrics, Mach~ Job3  Senior Devel~
#>  4     4 Senior Mac~ MBA                  "Databricks, Spar~ Job1~ Senior Data ~
#>  5     5 Senior Mac~ MSc                  "Spark, Tensorflo~ Job4  Graduate Tea~
#>  6     6 Python Dat~ MSc                  "PythonC++, C, Op~ Job2  Software Dev~
#>  7     7 Python Dat~ MSc                  "Microsoft SQL Se~ Job1~ Machine Lear~
#>  8     8 Python Dat~ MSc Communication a~ "Keras, TensorFlo~ Job1~ Akademischer~
#>  9     9 Lead Backe~ High School          "ElasticSearch, O~ Job2  Backend Deve~
#> 10    10 Lead Backe~ BSc Informatics      "PHP, Java Script~ Job2  Lead PHP Dev~
#> # ... with 47 more rows
df %>% select(1:4, starts_with('Job')) %>%
  pivot_longer(starts_with('Job'), values_drop_na = T) %>%
  group_by(Index) %>%
  slice(n() -1)

Adding ggsignif to plot with numeric x axis results in the error &quot;Can only handle data with groups that are plotted on the x-axis&quot;

dat %>% 
ggplot(aes(SOA, y, group = 1)) +
  geom_point() +
  geom_signif(
    annotations = "*",
    y_position = 150,
    xmin = 50,
    xmax = 300,
  )

Read SOAP XML from php CURL

$soap = simplexml_load_string($data);
$soap->registerXPathNamespace("ns3", "http://example.com/ptfall");
$resultSet = $soap->xpath('//ns3:resultSet');

foreach ($resultSet as $rs)
{   
    $infos  = $rs->xpath('.//*[local-name()="descrizione"]/text()');
    foreach ($infos as $target) {
        echo $target ."\r\n";
    }   
}
Esempio xxx
Annullo Mancato
-----------------------
$soap = simplexml_load_string($data);
$soap->registerXPathNamespace("ns3", "http://example.com/ptfall");
$resultSet = $soap->xpath('//ns3:resultSet');

foreach ($resultSet as $rs)
{   
    $infos  = $rs->xpath('.//*[local-name()="descrizione"]/text()');
    foreach ($infos as $target) {
        echo $target ."\r\n";
    }   
}
Esempio xxx
Annullo Mancato

Re-Running the function in case &quot;if&quot; condition fails or else continue

max_tries = 3
for _ in range(max_tries):
    response1 = cloudwatch.get_metric_statistics(
        Namespace='AWS/SQS',
        MetricName='ApproximateNumberOfMessagesVisible',
        Dimensions=[
            {
                'Name': 'QueueName',
                'Value': step1
            },
        ],
        StartTime=datetime.utcnow() - timedelta(minutes=1),
        EndTime=datetime.utcnow(),
        Period=60,
        Statistics=[
            'Average',
        ],
        
        Unit='Count'
    )
    if response1['Datapoints']:
        break
else:
    raise RuntimeError

datapoints = response1['Datapoints']
-----------------------
#try 5 times?
for attempt in xrange(5):
    try:
        #do_your_stuff()
        result = SumOfAverages(queuelist, soa, response, cloudwatch)
        print(result)

    except Exception as e:
        #manage exception if you need
        print("*except* %s" %e)
    else:
        #If do_your_stuff() run and ends correctly then break for loop
        break

My domain is pending validation in AWS Certificate Manager

ns-1502.awsdns-59.org.
ns-1757.awsdns-27.co.uk.
ns-319.awsdns-39.com.
ns-621.awsdns-13.net.
$ dig @ns-1502.awsdns-59.org mydomain.com
...
;; ANSWER SECTION:
mydomain.com.       21599   IN  NS  ns-1502.awsdns-59.org.
mydomain.com.       21599   IN  NS  ns-1757.awsdns-27.co.uk.
mydomain.com.       21599   IN  NS  ns-319.awsdns-39.com.
mydomain.com.       21599   IN  NS  ns-621.awsdns-13.net.
$ dig @8.8.8.8 mydomain.com ns
...
;; ANSWER SECTION:
mydomain.com.       21599   IN  NS  ns-1502.awsdns-59.org.
mydomain.com.       21599   IN  NS  ns-1757.awsdns-27.co.uk.
mydomain.com.       21599   IN  NS  ns-319.awsdns-39.com.
mydomain.com.       21599   IN  NS  ns-621.awsdns-13.net.
...
$ dig <your validation record>.mydomain.com
;; ANSWER SECTION:
<your validation record>.mydomain.com. 299 IN CNAME <some random value>.<some random value>.acm-validations.aws.
-----------------------
ns-1502.awsdns-59.org.
ns-1757.awsdns-27.co.uk.
ns-319.awsdns-39.com.
ns-621.awsdns-13.net.
$ dig @ns-1502.awsdns-59.org mydomain.com
...
;; ANSWER SECTION:
mydomain.com.       21599   IN  NS  ns-1502.awsdns-59.org.
mydomain.com.       21599   IN  NS  ns-1757.awsdns-27.co.uk.
mydomain.com.       21599   IN  NS  ns-319.awsdns-39.com.
mydomain.com.       21599   IN  NS  ns-621.awsdns-13.net.
$ dig @8.8.8.8 mydomain.com ns
...
;; ANSWER SECTION:
mydomain.com.       21599   IN  NS  ns-1502.awsdns-59.org.
mydomain.com.       21599   IN  NS  ns-1757.awsdns-27.co.uk.
mydomain.com.       21599   IN  NS  ns-319.awsdns-39.com.
mydomain.com.       21599   IN  NS  ns-621.awsdns-13.net.
...
$ dig <your validation record>.mydomain.com
;; ANSWER SECTION:
<your validation record>.mydomain.com. 299 IN CNAME <some random value>.<some random value>.acm-validations.aws.
-----------------------
ns-1502.awsdns-59.org.
ns-1757.awsdns-27.co.uk.
ns-319.awsdns-39.com.
ns-621.awsdns-13.net.
$ dig @ns-1502.awsdns-59.org mydomain.com
...
;; ANSWER SECTION:
mydomain.com.       21599   IN  NS  ns-1502.awsdns-59.org.
mydomain.com.       21599   IN  NS  ns-1757.awsdns-27.co.uk.
mydomain.com.       21599   IN  NS  ns-319.awsdns-39.com.
mydomain.com.       21599   IN  NS  ns-621.awsdns-13.net.
$ dig @8.8.8.8 mydomain.com ns
...
;; ANSWER SECTION:
mydomain.com.       21599   IN  NS  ns-1502.awsdns-59.org.
mydomain.com.       21599   IN  NS  ns-1757.awsdns-27.co.uk.
mydomain.com.       21599   IN  NS  ns-319.awsdns-39.com.
mydomain.com.       21599   IN  NS  ns-621.awsdns-13.net.
...
$ dig <your validation record>.mydomain.com
;; ANSWER SECTION:
<your validation record>.mydomain.com. 299 IN CNAME <some random value>.<some random value>.acm-validations.aws.
-----------------------
ns-1502.awsdns-59.org.
ns-1757.awsdns-27.co.uk.
ns-319.awsdns-39.com.
ns-621.awsdns-13.net.
$ dig @ns-1502.awsdns-59.org mydomain.com
...
;; ANSWER SECTION:
mydomain.com.       21599   IN  NS  ns-1502.awsdns-59.org.
mydomain.com.       21599   IN  NS  ns-1757.awsdns-27.co.uk.
mydomain.com.       21599   IN  NS  ns-319.awsdns-39.com.
mydomain.com.       21599   IN  NS  ns-621.awsdns-13.net.
$ dig @8.8.8.8 mydomain.com ns
...
;; ANSWER SECTION:
mydomain.com.       21599   IN  NS  ns-1502.awsdns-59.org.
mydomain.com.       21599   IN  NS  ns-1757.awsdns-27.co.uk.
mydomain.com.       21599   IN  NS  ns-319.awsdns-39.com.
mydomain.com.       21599   IN  NS  ns-621.awsdns-13.net.
...
$ dig <your validation record>.mydomain.com
;; ANSWER SECTION:
<your validation record>.mydomain.com. 299 IN CNAME <some random value>.<some random value>.acm-validations.aws.

How to configure ibm cloud application to Godaddy domain

Type        Complete Name   Value                                                           TTL
A           @                           Parked                                                          600 segundos    Editar
CNAME   mydomain.com    custom-domain.us-south.cf.cloud.ibm.com 1 hora  
CNAME   www                 @                                                                   1 hora  
NS          @                           ns09.domaincontrol.com                                  1 hora  
NS          @                           ns10.domaincontrol.com                                  1 hora  
SOA @                           Servidor de nome principal: ns09.domaincontrol.com. 1 hora

COMMUNITY DISCUSSIONS

Top Trending Discussions on soa
  • Is my application architecture still SOA?
  • Filter Array based on if contains php
  • Cannot deploy rest service in EBS when DB upgraded to 19c
  • Redirect a AWS static IP to domain
  • java.util.concurrent.TimeoutException: Did not observe any item or terminal signal within 10000ms in 'map' (and no fallback has been configured)
  • How to run dockerized protractor project which included Angular?
  • Get second last value in each row of dataframe, R
  • Adding ggsignif to plot with numeric x axis results in the error &quot;Can only handle data with groups that are plotted on the x-axis&quot;
  • How to configure Firewall Rules and DNS settings on GCP with VPC Service Controls when using Cloud Composer and Cloud Functions in the same project?
  • Read SOAP XML from php CURL
Top Trending Discussions on soa

QUESTION

Is my application architecture still SOA?

Asked 2021-Jun-10 at 09:32

I'm using Laravel for the backend, Vue.js for the frontend and Inertia.js to build my application. Since Inertia.js makes it so that without having to manually create an API or anything, you can easily get data from models and controllers into views, I was wondering if the architecture of my application is SOA (Service Oriented Architecture).

Ps: I used APIs too.

ANSWER

Answered 2021-Jun-10 at 09:32

I believe it's still SOA, since you still have APIs in your application.

Refer to this link to learn more about SOA:

https://www.ibm.com/cloud/learn/soa

Source https://stackoverflow.com/questions/67890880

QUESTION

Filter Array based on if contains php

Asked 2021-Jun-01 at 18:35

My aim here is to remove the whole object from the array if "record_type" is null. I should then only be left with data that has a record_type set in the array.

I've looked into the array filter not sure how I target the data within the array "record_type". My only other thought is to import to a database and then SQL query what I want then delete data I've had which is much more overkill.

<pre>


array:36 [▼
  0 => array:3 [▼
    "type" => "comment"
    "line_index" => 0
    "text_b64" => "OyBjUGFuZWwgZmlyc3Q6ODguMC4xMiAodXBkYXRlX3RpbWUpOjE2MTg1NDYxNDIgQ3BhbmVsOjpab25lRmlsZTo6VkVSU0lPTjoxLjMgaG9zdG5hbWU6cjExOC5sb24yLm15c2VjdXJlY2xvdWRob3N0LmNvbSBs ▶"
  ]
  1 => array:3 [▼
    "line_index" => 1
    "text_b64" => "OyBab25lIGZpbGUgZm9yIG9ha3RyZWVkZW50YWxtb3J0aW1lci5jby51aw=="
    "type" => "comment"
  ]
  2 => array:3 [▼
    "text_b64" => "JFRUTCAxNDQwMA=="
    "line_index" => 2
    "type" => "control"
  ]
  3 => array:6 [▼
    "line_index" => 3
    "dname_b64" => "b2FrdHJlZWRlbnRhbG1vcnRpbWVyLmNvLnVrLg=="
    "record_type" => "SOA"
    "ttl" => 30
    "type" => "record"
    "data_b64" => array:7 [▶]
  ]
  4 => array:6 [▼
    "dname_b64" => "b2FrdHJlZWRlbnRhbG1vcnRpbWVyLmNvLnVrLg=="
    "line_index" => 10
    "record_type" => "NS"
    "ttl" => 30
    "type" => "record"
    "data_b64" => array:1 [▶]
  ]
  5 => array:6 [▼
    "ttl" => 30
    "dname_b64" => "b2FrdHJlZWRlbnRhbG1vcnRpbWVyLmNvLnVrLg=="
    "line_index" => 11
    "record_type" => "NS"
    "data_b64" => array:1 [▶]
    "type" => "record"
  ]
</pre>

ANSWER

Answered 2021-Jun-01 at 18:35

Goal: only be left with data that has a 'record_type' set (not null) in the array

Solution: use array_filter() on your source array ($arr) and filter for records with 'record_type' != "NS" (assuming "NS" is what you refer to as null, or not set).

<?php
$result = array_filter(
    $arr,
    function (array $record) {
        if (isset($record['record_type'])) {
            return $record['record_type'] != "NS";
        } return null;
    }
);

working demo

EDIT

If you want to filter for only those records that are of a certain type, e.g. type 'record', following should help:

<?php
$result = array_filter(
    $arr,
    function (array $record) {
        if ($record['type'] == 'record') {
            return true;
        } return false;
    }
);

working demo

Source https://stackoverflow.com/questions/67775646

QUESTION

Cannot deploy rest service in EBS when DB upgraded to 19c

Asked 2021-May-31 at 10:31

We recently upgraded our DB from 12c (12.1.0.2.0) to 19c(19.0.0.0.0) in EBS 12.1.3 environment on test instance. After upgrade I am unable to deploy custom web services using SOA rest services integration repository. I am getting following error on deployment:

Service Provider Access resulted in exception 'oracle.apps.fnd.isg.client.IREPException' when attempting to perform 'DEPLOY'. Please view Service Provider logs for more details

I reviewed log files but nothing informative found. One thing I noticed that I was able to deploy web services with simple out parameters with VARCHAR2 data type. But when there is an out parameter defined based on table type, I am receiving above mentioned error. I defined table type out parameter as follows which returns data in form of json array.

TYPE XRCL_TMS_PICKED_ORDERS1 IS TABLE OF ROCELL.XRCL_TMS_PICKED_ORDERS1%ROWTYPE INDEX BY BINARY_INTEGER;

It would be better to mention that on application with 12c database, web service can be deployed with no issue.

ANSWER

Answered 2021-May-31 at 10:31

I resolved this problem by finding cause of collection type compatibility in 12c and 19c versions of databases.

In 12c below declaration of plsql collection type works fine:

TYPE type_name IS TABLE OF Table_Name%ROWTYPE INDEX BY BINARY_INTEGER;

but in 19c above declaration of plsql collection type has following error. I found this error after trying to recompile collection type:

PLS-00355: use of pl/sql table not allowed in this context

In 19c below declaration worked fine (created type as nested table):

CREATE TYPE type_name AS OBJECT

( column_name datatype );

CREATE TYPE type_name_nt AS TABLE OF type_name;

Source https://stackoverflow.com/questions/67704036

QUESTION

Redirect a AWS static IP to domain

Asked 2021-May-30 at 17:41

I have deployed a django based website on my AWS lightsail instance. the web address has a port 8000 (:8000). I own a domain on (host =fatcow.com). I have created a hosted zone on AWS and pasted the ns values to my provider(factor)'s Nameservers values. In the amazon route53, I have created a new record with a simple redirect A ipv4 and entered the resolver IP address value - my web address with port value. it doesn't work.

Also, I have read that the redirect will not work for its with port numbers. I have tried redirecting my domain to the static ip, then created another hosted zone record trying to redirect the static ip to the ip+port value - error pops up saying it is not a valid address.

I currently use the development server provided by django as it is a personal website and currently it will not have a lot of traffic - portfolio website.

Also, on my fatcow.com domain settings, the Nameservers are updated and in the whois values, new Nameservers are seen. I have only added the 4 NS values. AWS also created SOA ip values but I was not able to add them to the domain (Inputs were not taken by fatcow ).

In the NSLookup website, I can see NS values and SOA values which are on the AWS hosted zone but A records show none.

Edit: sorry for the confusion. my domain is www.chandradhar.com. I'm not a web dev but I'm trying to deploy a django based portfolio website. I have added Amazon Lightsail DNS nameservers to my domain (host=fatcow.com). the web address is :8000 port. Without the port number, the website isn't loading at all. Only with the port number along the static IP, the website loads. 'A' record isn't taking the port number. I did add a SRV record with the port number(in AWS route 53) but still doesn't work. when checked from the website nslookup.io, the nameservers are updated correctly

ANSWER

Answered 2021-May-11 at 21:52

Not reproduceable.

> host  fatcow.com
fatcow.com has address 65.254.254.33
fatcow.com mail is handled by 10 mail.fatcow.com.

Most probably your changes in DNS have already propagated.

Source https://stackoverflow.com/questions/67492067

QUESTION

java.util.concurrent.TimeoutException: Did not observe any item or terminal signal within 10000ms in 'map' (and no fallback has been configured)

Asked 2021-May-29 at 09:49

I'm building the Spring Boot Admin code and getting the below error.

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.2</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>admin-server</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>admin-server</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
        <spring-boot-admin.version>2.3.1</spring-boot-admin.version>
        <spring-cloud.version>2020.0.2</spring-cloud.version>
    </properties>
    <dependencies>
        <!-- Spring Boot Admin -->
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-server</artifactId>
        </dependency>
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-server-ui</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        
        <!-- Third-party librairies -->
        <dependency>
            <groupId>org.jolokia</groupId>
            <artifactId>jolokia-core</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>de.codecentric</groupId>
                <artifactId>spring-boot-admin-dependencies</artifactId>
                <version>${spring-boot-admin.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

bootstrap.yml

spring:
  cloud:
    config:
      enabled: true
      uri: http://localhost:9296
      
  application:
    name: admin-server
    
server:
  port: 9090
  
eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
  instance:
    hostname: localhost
    prefer-ip-address: true

AdminServerApplication.java

@SpringBootApplication
@EnableAdminServer
@EnableEurekaClient
public class AdminServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(AdminServerApplication.class, args);
    }

}

Error:

2021-05-04 13:39:12.290  WARN 36752 --- [ctor-http-nio-1] io.netty.resolver.dns.DnsQueryContext    : Received a mismatching DNS response: DatagramDnsResponse(from: /172.30.160.1:53, to: /0:0:0:0:0:0:0:0:56414, 52280, QUERY(0), NoError(0), RD RA)
    DefaultDnsQuestion(XXXXXXXXorg. IN A)
    DefaultDnsRawRecord(XXXXXXXXorg. 171 IN A 4B)
    DefaultDnsRawRecord(OPT flags:0 udp:4096 0B)
2021-05-04 13:39:12.882  INFO 36752 --- [           main] com.example.demo.AdminServerApplication  : Started AdminServerApplication in 6.649 seconds (JVM running for 7.875)
2021-05-04 13:39:17.355  WARN 36752 --- [ctor-http-nio-1] io.netty.resolver.dns.DnsQueryContext    : Received a mismatching DNS response: DatagramDnsResponse(from: /172.30.160.1:53, to: /0:0:0:0:0:0:0:0:56414, 3238, QUERY(0), NoError(0), RD AA RA)
    DefaultDnsQuestion(XXXXXXXXorg. IN CNAME)
    DefaultDnsRawRecord(corp.mastercard.org. 3600 IN SOA 56B)
    DefaultDnsRawRecord(OPT flags:0 udp:4000 0B)
2021-05-04 13:39:22.211  INFO 36752 --- [     parallel-5] d.c.b.a.server.services.StatusUpdater    : Couldn't retrieve status for Instance(id=162455d08d2a, version=0, registration=Registration(name=CONFIG-SERVER, managementUrl=http://XXXXXXXXorg:9296/actuator, healthUrl=http://XXXXXXXXorg:9296/actuator/health, serviceUrl=http://XXXXXXXXorg:9296, source=discovery), registered=true, statusInfo=StatusInfo(status=UNKNOWN, details={}), statusTimestamp=2021-05-04T08:09:12.195Z, info=Info(values={}), endpoints=Endpoints(endpoints={health=Endpoint(id=health, url=http://XXXXXXXXorg:9296/actuator/health)}), buildVersion=null, tags=Tags(values={}))

java.util.concurrent.TimeoutException: Did not observe any item or terminal signal within 10000ms in 'map' (and no fallback has been configured)
    at reactor.core.publisher.FluxTimeout$TimeoutMainSubscriber.handleTimeout(FluxTimeout.java:294) ~[reactor-core-3.4.2.jar:3.4.2]
    Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: 
Error has been observed at the following site(s):
    |_ checkpoint ⇢ Request to GET health [DefaultWebClient]
Stack trace:
        at reactor.core.publisher.FluxTimeout$TimeoutMainSubscriber.handleTimeout(FluxTimeout.java:294) ~[reactor-core-3.4.2.jar:3.4.2]
        at reactor.core.publisher.FluxTimeout$TimeoutMainSubscriber.doTimeout(FluxTimeout.java:279) ~[reactor-core-3.4.2.jar:3.4.2]
        at reactor.core.publisher.FluxTimeout$TimeoutTimeoutSubscriber.onNext(FluxTimeout.java:418) ~[reactor-core-3.4.2.jar:3.4.2]
        at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79) ~[reactor-core-3.4.2.jar:3.4.2]
        at reactor.core.publisher.MonoDelay$MonoDelayRunnable.run(MonoDelay.java:119) ~[reactor-core-3.4.2.jar:3.4.2]
        at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68) ~[reactor-core-3.4.2.jar:3.4.2]
        at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28) ~[reactor-core-3.4.2.jar:3.4.2]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_171]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[na:1.8.0_171]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[na:1.8.0_171]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_171]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_171]
        at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_171]

ANSWER

Answered 2021-May-04 at 08:45

I was able to solve this issue. Basically all your microservices should use below configuration. Here prefer-ip-address: true and fetch-registry: true is the key here.

server:
  port: 8002

spring:
  application:
    name: user-service
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test
    username: root
    password: root
    
  jpa:
    generate-ddl: true
    hibernate:
      ddl-auto: create
 
#  zipkin:
#    base-url: http://127.0.0.1:9411/

eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
  instance:
    prefer-ip-address: true
    hostname: localhost
    

Source https://stackoverflow.com/questions/67381065

QUESTION

How to run dockerized protractor project which included Angular?

Asked 2021-May-24 at 16:41

I'm new to the protractor. I created a project with angular and its works fine without docker. However, when I build the image it's successfully created. Unfortunately unable to run that one.

Folder : protractor Contents below

.
./Dockerfile
./protractor.sh
./protractor.conf.js
./package-lock.json
./node_modules
./package.json
./specs

I've run it manually using this command

protractor$ ./protractor.sh protractor.conf.js

Then results as follows

[14:36:13] I/launcher - Running 1 instances of WebDriver
[14:36:13] I/local - Starting selenium standalone server...
[14:36:14] I/local - Selenium standalone server started at http://192.168.8.103:53238/wd/hub
[14:36:14] I/start - java -Djava.security.egd=file:///dev/./urandom -Dwebdriver.gecko.driver=/usr/lib/node_modules/protractor/node_modules/webdriver-manager/selenium/geckodriver-v0.29.1 -Dwebdriver.chrome.driver=/usr/lib/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_90.0.4430.24 -jar /usr/lib/node_modules/protractor/node_modules/webdriver-manager/selenium/selenium-server-standalone-3.141.59.jar -port 4444
[14:36:14] I/start - seleniumProcess.pid: 14964
14:36:14.643 INFO [GridLauncherV3.parse] - Selenium server version: 3.141.59, revision: e82be7d358
14:36:14.710 INFO [GridLauncherV3.lambda$buildLaunchers$3] - Launching a standalone Selenium Server on port 4444
2021-05-23 14:36:14.744:INFO::main: Logging initialized @260ms to org.seleniumhq.jetty9.util.log.StdErrLog
14:36:14.951 INFO [WebDriverServlet.<init>] - Initialising WebDriverServlet
14:36:15.069 INFO [SeleniumServer.boot] - Selenium Server is up and running on port 4444
Started
[14:36:20] W/element - more than one element found for locator By(css selector, .ng-binding) - the first result will be used
.


1 spec, 0 failures
Finished in 7.482 seconds

[14:36:22] I/local - Shutting down selenium standalone server.
[14:36:22] I/launcher - 0 instance(s) of WebDriver still running
[14:36:22] I/launcher - chrome #01 passed

Docker build command as per below

sudo docker build -t priyanwso2/protractor-docker .
Sending build context to Docker daemon   36.5MB
Step 1/8 : FROM         node:latest
 ---> 7493e35c7ffa
Step 2/8 : WORKDIR  /tmp
 ---> Using cache
 ---> d1941bcedacd
Step 3/8 : RUN      apt-get update --fix-missing &&         apt-get install -y xvfb wget openjdk-11-jre-headless libgconf-2-4 libexif12 chromium &&         apt-get clean
 ---> Using cache
 ---> 0f440f61b0f9
Step 4/8 : RUN      mkdir /protractor &&            npm install -g protractor
 ---> Using cache
 ---> eca289196866
Step 5/8 : RUN      webdriver-manager update
 ---> Using cache
 ---> fa2d0cc0ca06
Step 6/8 : ADD      protractor.sh /protractor.sh
 ---> Using cache
 ---> 83ef2046c6b0
Step 7/8 : WORKDIR  /protractor
 ---> Using cache
 ---> 0f7bb601e197
Step 8/8 : ENTRYPOINT   ["/protractor.sh"]
 ---> Using cache
 ---> a25c6c8f566b
Successfully built a25c6c8f566b
Successfully tagged priyanwso2/protractor-docker:latest

When I run the docker images, it listed in docker images list

priyanwso2/protractor-docker   latest    a25c6c8f566b   47 minutes ago   1.69GB

When I try to run the docker image it will give below error

sudo docker run priyanwso2/protractor-docker protractor.conf.js
[09:09:57] E/configParser - Error code: 105
[09:09:57] E/configParser - Error message: failed loading configuration file protractor.conf.js
[09:09:57] E/configParser - Error: Cannot find module '/protractor/protractor.conf.js'
Require stack:
- /usr/local/lib/node_modules/protractor/built/configParser.js
- /usr/local/lib/node_modules/protractor/built/launcher.js
- /usr/local/lib/node_modules/protractor/built/cli.js
- /usr/local/lib/node_modules/protractor/bin/protractor
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:941:15)
    at Function.Module._load (node:internal/modules/cjs/loader:774:27)
    at Module.require (node:internal/modules/cjs/loader:1013:19)
    at require (node:internal/modules/cjs/helpers:93:18)
    at ConfigParser.addFileConfig (/usr/local/lib/node_modules/protractor/built/configParser.js:135:26)
    at Object.initFn [as init] (/usr/local/lib/node_modules/protractor/built/launcher.js:93:22)
    at Object.<anonymous> (/usr/local/lib/node_modules/protractor/built/cli.js:227:10)
    at Module._compile (node:internal/modules/cjs/loader:1109:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1138:10)
    at Module.load (node:internal/modules/cjs/loader:989:32)

OS Ubuntu 18.04 LTS (64bit)

Dockerfile

FROM            node:latest

WORKDIR         /tmp

RUN             apt-get update --fix-missing && \
                apt-get install -y xvfb wget openjdk-11-jre-headless libgconf-2-4 libexif12 chromium && \
                apt-get clean

RUN             mkdir /protractor && \
                npm install -g protractor

RUN             webdriver-manager update

ADD             protractor.sh /protractor.sh

WORKDIR         /protractor

ENTRYPOINT      ["/protractor.sh"]

package.json file as per below

{
  "name": "test",
  "version": "1.0.0",
  "description": "Test e2e package",
  "main": "conf.js",
  "dependencies": {
    "chromedriver": "^90.0.1",
    "jasmine": "^3.7.0",
    "protractor": "^7.0.0",
    "webdriver-manager": "^12.1.8"
  },
  "scripts": {
    "test": "protractor.conf.js"
  },
  "author": "SOAS",
  "license": "ISC"
}

protractor.conf.js as per below

exports.config = {
  multiCapabilities: [{browserName: 'chrome'}],
  specs: ['specs/superCalculatorTest.js' ],
  onPrepare: function(){browser.ignoreSynchronization = true;},
};

See here for code in protractor.sh

#!/bin/bash
webdriver-manager start &
protractor $@

under the specs folder one js (superCalculatorTest.js) is exists. here is the code of it

const { $, browser } = require("protractor");
let url = 'https://juliemr.github.io/protractor-demo/';

describe('Super Calculator Test suite', () => {
    it('Verify Adding two Integers', () => {
        browser.get(url);
        browser.sleep(2000);
        element(by.model('first')).sendKeys(2);
        element(by.model('second')).sendKeys(5);
        element(by.id('gobutton')).click();
        browser.sleep(2000);
        expect(element(by.className('ng-binding')).getText()).toEqual('7');
        browser.sleep(2000);
    });
});

Please help to sortout this issue. I use this medium page to write testing part. https://bytes.grubhub.com/end-to-end-testing-with-docker-71008dca11a0

ANSWER

Answered 2021-May-24 at 16:41

You are missing the most important part in your dockerfile. You need to copy all the files over into the container. You are running mkdir and then immediately running npm install but there is nothing in your protractor directory. It's empty.

COPY /path/to/source /path/to/destination

See docs https://docs.docker.com/engine/reference/builder/#copy

Source https://stackoverflow.com/questions/67658099

QUESTION

Get second last value in each row of dataframe, R

Asked 2021-May-14 at 14:45

I am trying to get the second last value in each row of a data frame, meaning the first job a person has had. (Job1_latest is the most recent job and people had a different number of jobs in the past and I want to get the first one). I managed to get the last value per row with the code below:

first_job <- function(x) tail(x[!is.na(x)], 1)

first_job <- apply(data, 1, first_job)

structure(list(Index = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 
13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 
29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 
45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59), 
    FromJob = c("Senior Machine Learning Engineer", "Senior Machine Learning Engineer", 
    "Senior Machine Learning Engineer", "Senior Machine Learning Engineer", 
    "Senior Machine Learning Engineer", "Python Data Engineer (m/w/d)", 
    "Python Data Engineer (m/w/d)", "Python Data Engineer (m/w/d)", 
    "Lead Backend Developer (f/m/d)", "Lead Backend Developer (f/m/d)", 
    "Lead Backend Developer (f/m/d)", "Lead Backend Developer (f/m/d)", 
    "Python Data Engineer (m/w/d)", "Python Data Engineer (m/w/d)", 
    "Lead Developer", "Lead Developer", "Lead Developer", "Lead Developer", 
    "Lead Developer", "Lead Developer", "Team Lead Software Development", 
    "(Senior) Frontend Engineer", "(Senior) Frontend Engineer", 
    "(Senior) Frontend Engineer", "(Senior) Frontend Engineer", 
    "(Senior) Frontend Engineer", "(Senior) Frontend Engineer", 
    "Data Scientist", "Data Scientist", "Senior Backend (Java) Engineer", 
    "Senior Backend (Java) Engineer", "Senior Backend (Java) Engineer", 
    "Lead Developer", "Mobile Software Engineer", "Mobile Software Engineer", 
    "Mobile Software Engineer", "Mobile Software Engineer", "Mobile Software Engineer", 
    "Mobile Software Engineer", "Mobile Software Engineer", "Mobile Software Engineer", 
    "Mobile Software Engineer", "Mobile Software Engineer", "Mobile Software Engineer", 
    "Mobile Software Engineer", "Lead UI/UX Designer", "Lead UI/UX Designer", 
    "Lead UI/UX Designer", "Lead UI/UX Designer", "Head of Software Development", 
    "Head of Software Development", "Head of Software Development", 
    "Head of Software Development", "Head of Software Development", 
    "Head of Software Development", "Head of Software Development", 
    "Head of Software Development", "Jnuior Fullstack Developer", 
    NA), Highest_education_achieved = c("PhD", "MSc Computer Science", 
    "MSc", "MBA", "MSc", "MSc", "MSc", "MSc Communication and Media Engineering", 
    "High School", "BSc Informatics", "BSc Software engineering", 
    NA, "MSc in Electronic Engineering", "MSc in Communication and Media Engineering", 
    "BSc in Computer Engineering", "BSc in Technology", "MSc in Computer Science", 
    "BSc in Automatic Control System", "Dipl. Wirtschaftsinformatik", 
    "MCs Computer Science", "Dipl. Ing. in Software Development - Economics", 
    "MSc in Computer Science", "BSc. in Information Technology", 
    "MSc in Big Data and Business Analyst", "MSc. in Computer Science", 
    "Dipl.", "BSc.", "MSc. in Scientific Computing and Biomechanics", 
    "MSc. in Computational Engineering", "MSc. in Information Technology", 
    "MSc. in Computer Science", "MSc. in Informatics", "BSc.", 
    "BSc.", "BSc.", "BSc.", "BSc.", "BSc.", "BSc.", "BSc.", "Highschool", 
    "BSc.", "BSc.", "Highschool", "BSc.", "MCs.", "BSc.", "BSc.", 
    "BSc.", "MCs.", "BSc.", "Dipl.", "BSc.", "BSc.", "BSc.", 
    "BSc.", "MSc.", "BSc.", NA), Skills = c("Machine Learning, Mathematical Modeling, Scientific Computing, Linux, python, numpy, scipy, scikit-learn, keras, pandas, javascript, react.js, AWS, Lambda, EMR, EC2, S3, Glue, CloudFormation, git,  Image recognition, deep learning, Natural language processing, Big data integration, cloud migration, Azure, Fortran, OpenFOAM, mercurial", 
    "Java, AngularJS, frontend, backend, Azure, data collection, modelbuilding, evaluation, deployment, serving and computing online metrics,  Apache Spark, AWS Sagemaker, Airflow, MLflow, MLOps", 
    "Biometrics, Machine Learning, Pattern Recognition, AI, scrum, matlab, C++, Azure, logistics", 
    "Databricks, Spark, Airflow, AWS Sagemaker, Other AWS Services, Docker, Microstrategy, Presto, Python, PL/SQL, JavaScript, Shell Scripting, BigQuery (Google), Hadoop, Exasol, Kafka", 
    "Spark, Tensorflow &TFX, Kubeflow, BigQuery, Apache Beam (Dataflow), Google Cloud Platform", 
    "PythonC++, C, OpenCV, OpenCL, MatLab, TensorFlow/PyTorch, Caffe/Keras, Scikit-learn, Pandas/NumPy, Seaborn/Matplotlib, NLTK/spaCy, Computer Vision, Machine Learning, NLP, Linear/LogisticRegression, Naive Bayes/PCA, SVM/K Means, RandomForest, CNN/LSTM/GRU, Reinforcement Learning", 
    "Microsoft SQL Server, Hadoop,SQL Server Management Studio, VisualStudio(DataTools), PyCharm, Sublime text 3, SSIS, python, C#, \nC++, Html/Css, Java,T-SQL, git", 
    "Keras, TensorFlow, scikit-learn, NLTK, OpenCV, NumPy, pandas,Python, Java, PHP, HTML, CSS, JavaScript, Angular, React, jQuery, Bootstrap, Flask, SQL, MongoDB, Git, Docker", 
    "ElasticSearch, OOP, NoSQL, SQL, Docker, Kibana, Git, Unittest, Openshift", 
    "PHP, Java Script, CSS, (X)HTML, MySQL., NodeJS", "JavaScript (Vue.js, React, jQuery), Node.js (Express), PHP (Yii, Laravel, Symfony), JAVA (Spring Boot), .NET C#, SQL(postregsql, mysql), Elastic, MongoDB, HTML + CSS, Sketch, InVision Studio", 
    NA, "Python, C++, HTML/CSS, Java, C#, T-SQL, Microsoft SQL Server, Hadoop, Pycharm, Sublimetext 3, SISS, Git,Liquid Planner,", 
    "Keras, TensorFlow, scikit-Learn, NLTK, openCV, NumPy, pandas, Python, Java, PHP, HTML, JavaScript,CSS, Angular, React, jQuery, Bootstrap, Flask, SQL, MonoDB, Git, Android, PhoneGap, Docker", 
    "Java, PL/SQL, HTML, JavaScript, PHP, Bash, AngularJs, ReactJs, Python, Weblogic, Jboss, Tomcat, Jetty, Apache, IIS, Unix, Windows, Oracle 8i, 9i, 10g, MySql, MariaDB, PostgrwSql, MS Sql Server, GIT, Mercury, Jira", 
    "JavaScript, AngularJs, Angular Next, jQuery, RequireJS, React, WebPack, Typescript, Node, PWA, Socket Programming, Kong,", 
    "GIT, SME, API's, iOS, UI, Mobile application, SVN, Epic, Apple, SAML,", 
    "Kotlin, Java, JavaScript, Typescript, Pytion ML, AI, Spring, NoSQL, SQL, Microservices, AWS, Azure, Angular9, React, Kafka, Jenkins, Cloud, Rancher, K8s, Cloud foundry, MSSQL, Elas, Tensorflow, Boot, Teras, Hibernite, RabbitMQ, JUnit, AWS SQS, Docker, C++, STL, XML, Linux, Bash,", 
    "Scrum, Code Reviews, JIRA, Mantis, Kanban, Trello, Java, Kotlin, Typescript, Groovy, JavaScript, Delphi, Openshift, Kubernetes, Docker, Azure, Open Telekom Cloud, CosmosDB, Heroku, REST, SOAP, XMPP, NATS, JMS, ActiveMQ, Gatling, Mocktesting, Mockito, EasyMock, Cucumber, Angular 8, React, GWT, JSF, JSP, Struts, Spring Boot, JEE, Hibernate, JPA, MongoDB, Oracle, Postgres, CosmosDB, MySQL, DB2, SQL-Tuning, Maven, Ant, Gradle, GIT, SVN, CVS, BIRT, JasperReports, MicroStrategy, Maven,", 
    "Kotlin, Java 11, Docker, AWS, GCP, Kubernetes,Neo-4j, Solr, Spring-boot, Postgres, Hibernate, Flyway, sendGrit, Gradl, rxJava, Freemaker, Grafana, Prometheus,Oauth 2, Spring-gateway, Microservices, AWS, Amazon EMR, DynamoDB, S3, Hive, hdfs, storm, kafka, reactive programming, spring-cloud, groovy, elasticsearch, hystrix, ribbon, eureka, API, java 8, grunt, bamboo, jenkins, JavaScript, Junit, jbpm, jmx, C++, j2ee, servlet,", 
    "Scrum, SAP, NetWeaver 7.40", "CSS. Html, Bootstrap, Php, MySQL, JavaScript, Wordpress, Typo 3, Google Analytics, Google Adwords, React, GatsbyJS, Nextjs, Flutter, Postgres, AWS, Docker, Google Cloud Platform,", 
    "Node JS, JavaScript, ES6, CSS, PHP, XML, JQuery, Lambda, Appsync, React, JS, HTML5, CSS3, Bootstrap, REST web services, Microservices, JSON, Elasticsearch, Java, React JS, AWS Server, MAMP, Maven, Laravel, Codeigniter, MySQL, Dynamo DB, SQLite, Oracle, MS SQL, MAC, UNIX, Windows, Git, AWS-EC2, S3, Cloud Formation, Cloudwatch, SNS, PhpStorm, WebSorm, Visual Studio Code, Eclipse, Netbeans, Android Studio", 
    "C, C++, Java, J2EE, Dotnet, Angular, React, JS, JavaScript, Query, CSS, HTML, Microsoft SQL Server, GIT, React JS with Redux, Vue JS, CSS3, Bootstrap, Media query, AEM, Jest test, Python, Tabeleau, AWS, Miro", 
    "JavaScript, ReactJs, TypeScript, Python, C++, HTML, ASP, C#", 
    "SPA, TypeScript, React Hooks, Jest, Lerna, React Query, Azure DevOps, Storybook, RxJx, Socket.io, OpenAPI, SCSS,", 
    "JavaScript, React JS, Flow, Redux, React SSR, urql graphql client, Java 11, HTML5, CSSS3, JavaScript (ES6+), TypeScript, jQuery, AJAX, webpack, NodeJS, PHP, Express, MongoDB, SASS, Heroku, Linux, Hetzner, Git, AngularJS,", 
    "Linux, Windows, MS Office, Libre office, Python, SQL, Bash, C/C++, MATLAB, NumPy, SciPy, pandas, SciKit-Learn, statsmodels, Keras, TensorFlow, Flask, Matplotlib, Seaborn, Tableau, ParaView, Tecplot, Inkscape, GIMP, PyCharm, jupyter, Eclipse, Visual Studio, Git, Docker, Poetry, Pytest, Unittest, Pylint, Pre-commit", 
    "Python, C/C++, SQL, MySQL, Numpy, Pandas, Scipy, Scikit-Learn, Keras, Tensorflow, Theano, PyTorch, Visual Studio, Pycharm, Jupyter Notebook, Vscode, PowerBi, MS Office, Sourcetree, Jira, Git, Linux, Mac, Windows", 
    "NPM, Webpack, Bower, Gruntjs, Gulp, JavaScript, Angular, CSS, Animation, Angular-animation, TypeScript, ReactJS, Node.js, Lombok, Vue.js, Visual Studio, HTML, Maven, Redux, Chart.js, Kotlin,", 
    "Java. Web Services, Design Patterns, Agile Methodologies, Spring Hibernate, JSF, JUnit, Maven Eclipse, SQL, XML, Linux, Websphere, Tomcat, jQuery, Ant, JDBC, Subversion, JavaScript, CSS, JPA, Git, Jenkins, REST, services, AJAX, Glassfish, Java Enterprise Edition, Apache, Lucene, Artifactory,", 
    "Java, HTML, Perl, Programming, SQL, JavaScript, CSS, Oracle, C++, Linux, CSS, PHP, C#, Ruby, C", 
    NA, "Jira, Git, Scrum, Agile, Retrofit, Picasso, Volley, RESTful, HTTP, JSON, Asyns-task, Dagger2, MVVM Architecture, API, SQLite, Pandas, NumPy,", 
    "Kotlin, MVVM Archtiecture, Firebase, Google-Services, Git, Retrofit, JSON, Material Design UI, Constrains Layout Animations, Jira, Figma, Zeplin, Agile, Scrum", 
    "C++, Java, MVC Design, AdMob, Google Maps API Keys, Retrofit, Gson, SQLite, Picasso, Google Vision, Play Services, SQL, iOS Develpment, JSON, C#, XML, Android", 
    "Server-Side, Client-Side, NOSQL, Agile Development, Machine Learning, Elastic Search, AWS, C#, OOP, Object Oriented, Programming, SQL, DB, RDBMS, Relational Database, CSS, Angular, AngularJs, JavaScript, TypeScript, JQuery, HTML, PHP, .NET, MVC.NET, DOT.NET, HADOOP, Java, Apache Hive, XML, JSON, AJAX,MySQL, Visual Studio, Bootstrap, XCode, Android, IOS,", 
    "Kotlin, Java, Rx, Dagger, Retrofit, Data Binding, Glide, Picasso, Leak Canary,Git, Flow, MVP, MVVM, Junit, Mockito, Espresso, Repository, Pattern, Singleton Pattern, CI/CD, Python, C/C++, C#, HTML, CSS, JavaScript, React, Spring Boot, Slack, XML, Android Arch Components, Material Design, Timber, ML, Kit,", 
    "Android SDK, Java, Kotlin, XML, Firebase, Android Studio, GIMP, Illustrator, PHP, API,", 
    "Android Development, Java, Firebase, Kotlin, SQLite, Android Studio, SDK Implementation, Mobile Application, Version Control, JSON, IMA SDK, Google AdSense,  Jira, C#, Swift", 
    "Java, Android SDK, Java SE, GWT, AWT, SWT, JSP, JSTL, JSF, Hibernate, Struts, Kotlin, Swift, JavaScript, jQuery, Oracle, MySQL, SQLite, PHP, HTML, CSS, C#,GWT, Angular, Bootstrap, Junit, Selenium, Appium, JavaServer Faces, Zend, Eclipse, XCode, Unity, iOS, Firebase, Open Source, Atlassian, Apache, Microsoft, Adobe,", 
    "Android, Kotlin, Java, Dart, MVVM, UAT, CI/CD, UI/UX,", 
    "GoF Design Patterns, SOLID, MVVM, MVP, MVC, Android Development, AppoloGraphQL, Dagger2, RxJava, Jetpack Components, Kotlin, iOS, Swift, Autolayout, Python, JavaScript", 
    "Git, Youtrack, Trello, Jira, CI/CD, Gitlab, Teamcity, Kotlin, Java, Retrofit, Ktor, Android Architechture Compor Room, SQLDelight, RxJava2, Coroutines/Flow, MVP, MVVM, MVI, Python, Scrum, Waterfall", 
    "Java, Kotlin, XML, Android SDK, Retrofit, Okhttp, Dagger 2, Eventbus, Multithreating, Design Patterns, RX, Coroutines, Picasso, Glide, MVM, MVVM, MVP, Clean Architecture, Android Jetpack, Android Architecture Component, Espresso, Junit, Mockito, Cucumber, SQLite, Realm, Room, Firebase, Git", 
    "invison, Uxpin, Sketch, Figma, Slack Abstract, Adobe XD, Adobe InDesign, Illustrator, Adobe Photoshop, Adobe Muse, Rhinoceros, Animation Studio, MacOS, Microsoft Office, Material Design, Fluent Design, Swift, React, Angular, HTML, CSS, JS, GitHub", 
    "PHP, HTML, CSS, JavaScript, React, Python, CRO,  Adobe XD, Sketch, InVision, Lingo App, TripleTex,", 
    "Figma, Sketch, Invision, Adobe XD, Adobe Creative Cloud, Craft Marvel,", 
    "Figma, Sketch, Photoshop, Illustrator, Adobe After Effects, Maya, Cinema 4D, JavaScript, HTML, CSS, React, Node, Next.js, TailwindCSS, Firebase, MongoDB,", 
    "Java, C#.NET, PHP, Python, JavaScript, HTML, CSS, XML, Datenbanken, SQL, Geodaten, CMS Systeme, Jira, Confluence, Linux, Webserver-Betrieb, Catching, Load Balancing, Monitoring CI Systeme, automatisiertes Testen, Deployment,", 
    "Software Engineering, DevOps, System Architecture, Agile Transformation, IT Security, Python, Java, CI, CD, Docker, iOS, C++, C#, Golang, Ruby, Node JS, PostgrSQL, MySQL, RethinkDB, Cassandra, Consul", 
    "Cobol, Delta, ISAM, Java, JavaScript, CSS, Eclipse RCP, ANTLR, JPA, Maven, JPA/Hibernate, Lucene, HSQL, Oracle, Tomcat, Jetty, Axis, JBoss, JAX-WS, SOAP, WSDL, HBase, Jenkins, SNS, S3, SASS, Jira, Github, SEO/SM, Gitlab, Kotlin, Kafka,", 
    "AWS, Azure, Angular, MongoDB, Node.js, iOS,", "Java, RIM, COM Interfaces, Edifact, MT940, XSLT, XML, Tomcat, JMS, Arvo Workflowsystem, XSL-FO, Xalan, JSP, Servlets, JavaScript, Struts, EJB, JPA, Trinidad, Drools, XFire, Eclipse, Springframework, Dozer Framework,", 
    "Android, Java, Python, Rails, Ruby, SQL, Kotlin, Git, Redmine, MariaDB, Gitlab, Jira, Bitbucket, Mattermost, Docker, Jenkins CI,", 
    "Trello, Asana, Microsoft Office, Photoshop, Unity 3D,", 
    "Java, CMS, Scrum, C++, SOA, EDA, Cloud,", "SQL, Adobe, Python, SQL, ABAP, React + TypeScript, Node.js, CMS, REST API, Tensorflow + Pytorch, Flutter, AWS Deployment, SAP, Jira, AutoCAD", 
    NA), Job1_latest = c("Senior Engineer - Machine learning", 
    "Senior Machine Learning Engineer", "Application Developer Associate Manager", 
    "Senior Data & ML  Engineer", "Senior Machine Learning Engineer", 
    "Software Developer", "Machine Learning Engineer", "Akademischer  Mitarbeiter, Machine  Learning  and Analytics", 
    "Senior Backend Developer", "Senior Web Developer", "Software Architect / Development lead", 
    NA, "Data Analysing (Researcher)", "Software Engineer", "Sofware Developer", 
    "Senior Associate Experience Technology", "Senior Software Architect", 
    "Senior Software Developer / Tech Lead", "Fullstack Developer/ ProductOwner", 
    "Freelancing Software Developer", "Senior Software Developer / Teamlead", 
    "Fullstack JavaScript Developer", "Blowoutandgo Application Developer", 
    "Software Developer", "Software Engineer", "Senior Frontend Engineer and Lead Developer", 
    "Javascript Developer", "Data  Scientist/ Python Developer", 
    "Research Assistant", "Fullstack Engineer", "Backend Developer", 
    "App-Backend Developer", "Senior Software Developer", "Android Developer", 
    "Android Software Engineer", "Senior Android Developer", 
    "Senior C# Developer", "Software Developer", "Applications Developer", 
    "Senior Android Developer", "Android Developer", "Senior Android Engineer", 
    "Mobile Engineer", "Senior Android Developer", "Software Engineer", 
    "Senior UX/UI Designer", "User Experience Designer", "Design Consultant", 
    "Frontend Product Designer", "Team Lead Payment Page and Processing", 
    "Head of Engineering", "Senior Software Engineering Manager", 
    "Head of Technology", "Head of Development", "Senior Software Developer", 
    "Producer", "Vice President", "Software Developer", NA), 
    Years1 = c(3, 1, 2, 1, 2, 2, 2, 1, 5, 5, 5, NA, NA, 1, 4, 
    1, 6, 1, 2, 4, 2, 3, 3, 3, 1, 1, 2, 2, 1, 2, 4, 1, 1, 1, 
    2, NA, 1, 1, 4, 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, 2, 3, 3, 4, 
    2, 2, 6, 1, 2, NA), Job2 = c("Data Scientist", "Machine Learning Engineer", 
    "Machine Learning Developer - Associate Manager", "Senior DWH&BI Engineer", 
    "Co-Founder & CTO", "Software Developer", "Data Engineer", 
    "Application Software Engineer", "Backend Develope", "Lead PHP Developer", 
    "Lead PHP developer", NA, "Machine Learning Engineer", "Software Engineer", 
    "Expert Application Development Specialist", "SDE 3", "Developer Trainer & Mentor", 
    "Senior Software Developer", "Senior Software Developer", 
    "AI Developer", "Software Developer & Consulatance", "Web & Communication Consultance", 
    "Mobile Application Development", "Frontend Developer", "Web Developer", 
    "Fullstack Engineer", "Javascript Developer", "Junior Research Scientist", 
    "Junior Data Analyst", "Frontend Engineer", "Senior Software Developer", 
    "Fullstack Developer", "Senior Software Developer", "Android Developer", 
    "Android Software Engineer", "Mobile Application Developer", 
    "Senior Java Developer", "Android Developer", "Android Developer", 
    "Mobile Application Developer", "Mobile Developer", "Senior Android Engineer", 
    "Senior Android Developer", "Senior Android Developer", "Software Engineer", 
    "UI/UX Designer", "Senior Information Technology Consultant", 
    "Global Head of Design", "Lead Product Desiger", "Product Manager / Product Analyst", 
    "Lead DevOps Engineer", "Vice President Tech", "Head of Product", 
    "IT Lead", "Android Consultant", "Social Game Designer", 
    "Head of Enterprise Architecture", "Team Supervisor", NA), 
    Years2 = c(1, 2, 2, 3, 5, 2, 1, 3, 1, 8, 2, NA, 2, 2, 1, 
    2, 8, 1, 1, 1, 6, 4, 2, NA, 1, 1, 1, 1, 1, 2, 6, 1, 1, 2, 
    2, 2, 2, 2, 4, 1, 2, 1, 1, 1, 1, 1, 8, 3, 6, 3, 1, 1, 1, 
    2, 2, 2, 5, 1, NA), Job3 = c("Senior Research Scientist", 
    "Senior Analytics Analyst", "Senior Developer", NA, "Graduate Research Assistant", 
    "Software Developer", NA, NA, "Software Developer", "Senior Web Developer", 
    "Lead PHP/SugarCRM developer", NA, "Data Engineer", "Software Engineer", 
    "Senior Application Development Specialist", "Manager L1 (UI/ Frontend)", 
    "Application Infrastructor Lead", "Software Developer", "Software Developer & Consultance", 
    "Software Developer", "Student Assistant", NA, "HEB Retail Application", 
    NA, NA, "Senior Software Engineer", "Frontend Web Developer", 
    "Computational Scientist/ Backend Developer", NA, "Fullstack Engineer", 
    "IT Specialist - Application Developer", "Insurance Software Programmer", 
    "Software Developer", "Android Developer", NA, "Software Developer", 
    "Senior C# Developer", "Embedded Software Intern", "Android Developer", 
    "Android Developer", "Java Developer", "Senior Android Engineer", 
    NA, "Techlead of Mobile Development Group", "Software Engineer", 
    "Product Designer", "User Experience Designer", "Chief UX and Product Architect", 
    "Product Designer UI/UX & Motion", "Senior Web Developer", 
    "Lead Developer", "Senior Manager Digital Platform Development", 
    "Head of Engineering", "IT Manager", "Head of Software Development", 
    "QA Tester", "Head of Enterprise Archticture, Lead of EA & Innovation", 
    "Videography Consultant", NA), Years3 = c(1, 1, 5, NA, 2, 
    1, NA, NA, 2, 3, 2, NA, 1, 1, NA, 1, 7, 2, 2, 5, 1, NA, 2, 
    NA, NA, 1, 1, 4, NA, 1, 1, 4, 2, 2, NA, 1, 1, 1, 1, 1, 4, 
    2, NA, 1, 1, 1, 1, 1, 1, 3, 2, 2, 1, 1, 2, 1, 4, 1, NA), 
    Job4 = c("Research Scientist", "Analytics Analyst", "Optical Engineer", 
    NA, "Graduate Teaching Assistant", NA, NA, NA, NA, NA, "PHP/ZEND Developer", 
    NA, "Software Engineer", NA, "Senior Application Development Specialist Consultance", 
    "Senior Engineer- Technology", "Fullstack IOS Developer", 
    "Software Engineering Manager/ Solution Architect", "Senior Software Developer", 
    "Software Developer", NA, NA, NA, NA, NA, "Frontend Engineer and Teamlead Frontend", 
    "Forensic Principal Expert at Special Technical Department", 
    NA, NA, "Fullstack Engineer", "Java Web Developer", "Perl & Oracle Programmer", 
    "Software Engineering Manager", NA, NA, NA, "Senior Web Developer", 
    NA, NA, "Software Developer", "Android Developer", "Senior Android Engineer/Team Lead", 
    NA, "Android/iOS App Developer", "Software Engineer", "Art Director, Lead UX/UI Designer", 
    "Founder & CEO", "Director, User Experience", "Senior Product Designer UI/UX & Motion", 
    "Senior Consultant/ Senior Software Engineer", "CTO & Partner", 
    "Senior Consutant/ Architect", NA, "Managing Director IT", 
    "Android Developer", NA, "Enterprise Architect", "Software Modification Consultant", 
    NA), Years4 = c(5, 2, 3, NA, 5, NA, NA, NA, NA, NA, 3, NA, 
    2, NA, 6, 1, 9, 2, 8, 1, NA, NA, NA, NA, NA, 2, 1, NA, NA, 
    1, 1, 3, 2, NA, NA, NA, 3, NA, NA, 1, 1, 4, NA, 1, 2, 2, 
    2, 1, 5, 3, 2, 2, NA, 2, 4, NA, 1, 2, NA), Job5 = c("PhD fellow", 
    "Java developer Intern", NA, NA, "Senior Software Engineer", 
    NA, NA, NA, NA, NA, "PHP System Analytic / Software specialist", 
    NA, NA, NA, "Application Developer Consultance", "Frontend Engineer", 
    NA, "Technical Delivery Manager", "Application Developer", 
    "Software Developer", NA, NA, NA, NA, NA, NA, "Web Designer/ Developer", 
    NA, NA, NA, "Java Software Developer", "Java Junior Programmer", 
    "Technical Delivery Manager", NA, NA, NA, "Senior Mobile Developer", 
    NA, NA, "Software Developer Intern", "Technical Consultant", 
    "Software Engineer", NA, "Fullstack Android Developer", "Software Engineer", 
    "Senior Designer", "CEO, PR & Marketing", "Managing Partner/ User Experience", 
    "Art Director", "Software Entwickler", "Developer & Consultant", 
    "Extern Senior Java Developer", NA, "Vice President Solution Delivery", 
    "Development & Sales", NA, "Senior Architect E-Commerce", 
    "IT & Custom Computer Service", NA), Years5 = c(3, 1, NA, 
    NA, 2, NA, NA, NA, NA, NA, 1, NA, NA, NA, 1, 1, NA, 2, 2, 
    2, NA, NA, NA, NA, NA, NA, 7, NA, NA, NA, 1, 1, 5, NA, NA, 
    NA, 1, NA, NA, 1, 2, 1, NA, 1, 1, 1, 2, 3, 3, 2, 2, 1, NA, 
    4, 2, NA, 1, 3, NA), Job6 = c(NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, "Web Developer", NA, NA, NA, "Software Instrocture", 
    "Associate Software Engineer", NA, "Software Engineer", "Software Architect", 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "Software Engineer", 
    NA, NA, NA, "Senior Web Developer", NA, NA, NA, "Software Engineer", 
    NA, NA, NA, NA, NA, NA, "Regional Head of Experience", NA, 
    NA, "Junior IT Security Analyst", "Feelance Consulant", NA, 
    "Senior Software Engineer", NA, NA, "Team Lead E-Commerce", 
    NA, NA), Years6 = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    2, NA, NA, NA, 1, 2, NA, 3, 3, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, 1, NA, NA, NA, 2, NA, NA, NA, 2, 
    NA, NA, NA, NA, NA, NA, 1, NA, NA, 1, 2, NA, 1, NA, NA, 4, 
    NA, NA), Job7 = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, "Assistant Network Administrator", NA, NA, 
    "Technical Delivery Manager/ Project Manager", NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    "Senior Mobile Developer", NA, NA, NA, "Web Developer", NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, "Developement Lead", 
    NA, "Chief Software Architect", NA, NA, "Senior Software Developer", 
    NA, NA), Years7 = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, 1, NA, NA, 3, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1, NA, NA, NA, 
    3, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 10, NA, 1, NA, 
    NA, 3, NA, NA), Job8 = c(NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, "Trainee ES Computer", NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, "Big-Data Developer", NA, NA, NA, "Supervisor Support", 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "Product Development", 
    NA, NA, NA, NA, NA), Years8 = c(NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, 1, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1, 
    NA, NA, NA, 3, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, 1, NA, NA, NA, NA, NA), Job9 = c(NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, "Fullstack Developer", NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, "Software Architecture", 
    NA, NA, NA, NA, NA), Years9 = c(NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 3, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, 6, NA, NA, NA, NA, NA), Job10 = c(NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, "Senior Software Developer", NA, NA, NA, NA, 
    NA), Years10 = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 3, NA, 
    NA, NA, NA, NA), Job11 = c(NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    "Software Developer", NA, NA, NA, NA, NA), Years11 = c(NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, 4, NA, NA, NA, NA, NA), Job12 = c(NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, "IT/ Organisation", NA, NA, NA, 
    NA, NA), Years12 = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 8, 
    NA, NA, NA, NA, NA)), problems = structure(list(row = c(13L, 
24L, 36L), col = c("Years1", "Years2", "Years1"), expected = c("no trailing characters", 
"no trailing characters", "no trailing characters"), actual = c("0,2", 
"0,6", "0,4"), file = c("'Recruitee Tech CVs - Tabellenblatt1 (1).csv'", 
"'Recruitee Tech CVs - Tabellenblatt1 (1).csv'", "'Recruitee Tech CVs - Tabellenblatt1 (1).csv'"
)), row.names = c(NA, -3L), class = c("tbl_df", "tbl", "data.frame"
)), class = c("spec_tbl_df", "tbl_df", "tbl", "data.frame"), row.names = c(NA, 
-59L), spec = structure(list(cols = list(Index = structure(list(), class = c("collector_double", 
"collector")), FromJob = structure(list(), class = c("collector_character", 
"collector")), Highest_education_achieved = structure(list(), class = c("collector_character", 
"collector")), Skills = structure(list(), class = c("collector_character", 
"collector")), Job1_latest = structure(list(), class = c("collector_character", 
"collector")), Years1 = structure(list(), class = c("collector_double", 
"collector")), Job2 = structure(list(), class = c("collector_character", 
"collector")), Years2 = structure(list(), class = c("collector_double", 
"collector")), Job3 = structure(list(), class = c("collector_character", 
"collector")), Years3 = structure(list(), class = c("collector_double", 
"collector")), Job4 = structure(list(), class = c("collector_character", 
"collector")), Years4 = structure(list(), class = c("collector_double", 
"collector")), Job5 = structure(list(), class = c("collector_character", 
"collector")), Years5 = structure(list(), class = c("collector_double", 
"collector")), Job6 = structure(list(), class = c("collector_character", 
"collector")), Years6 = structure(list(), class = c("collector_double", 
"collector")), Job7 = structure(list(), class = c("collector_character", 
"collector")), Years7 = structure(list(), class = c("collector_double", 
"collector")), Job8 = structure(list(), class = c("collector_character", 
"collector")), Years8 = structure(list(), class = c("collector_double", 
"collector")), Job9 = structure(list(), class = c("collector_character", 
"collector")), Years9 = structure(list(), class = c("collector_double", 
"collector")), Job10 = structure(list(), class = c("collector_character", 
"collector")), Years10 = structure(list(), class = c("collector_double", 
"collector")), Job11 = structure(list(), class = c("collector_character", 
"collector")), Years11 = structure(list(), class = c("collector_double", 
"collector")), Job12 = structure(list(), class = c("collector_character", 
"collector")), Years12 = structure(list(), class = c("collector_double", 
"collector"))), default = structure(list(), class = c("collector_guess", 
"collector")), skip = 1L), class = "col_spec"))

ANSWER

Answered 2021-May-11 at 13:56

You can get the value which is next to last non-NA value.

first_job <- function(x)   {x1 <- x[!is.na(x)];x1[length(x1) - 1][1]}
apply(data[-(1:4)], 1, first_job)

#[1] "PhD fellow"               "Java developer Intern"    "Optical Engineer" 
#[4] "Senior DWH&BI Engineer"   "Senior Software Engineer" "Software Developer"

Source https://stackoverflow.com/questions/67486393

QUESTION

Adding ggsignif to plot with numeric x axis results in the error &quot;Can only handle data with groups that are plotted on the x-axis&quot;

Asked 2021-May-06 at 18:11

I would like to add a significance layer to a plot using the ggsignif package. However, when trying to add this layer to a plot with a numeric x-axis, I get the message:

Error in f(...) : Can only handle data with groups that are plotted on the x-axis

Here is a reprex:

library(tidyverse)
library(ggsignif)

dat <- 
  structure(list(
    SOA = c(50, 150, 300, 900),
    y = c(119, 121, 132, 209)), 
  row.names = c(NA,-4L),
  class = c("tbl_df", "tbl", "data.frame")
)

dat %>% 
ggplot(aes(SOA, y)) +
  geom_point() +
  geom_signif(
    annotations = "*",
    y_position = 150,
    xmin = 50,
    xmax = 300)

When I plot exactly the same data but transform the x-axis to factor, the significance layer is added successfully. Like so:

dat %>% 
ggplot(aes(as.factor(SOA), y)) +
  geom_point() +
  geom_signif(
    annotations = "*",
    y_position = 150,
    xmin = "50",
    xmax = "300")

enter image description here

Note that this is not what I want, since the distances between the points do not reflect the real distance between them.

How can I make ggsignif work with a numeric x-axis?

ANSWER

Answered 2021-May-06 at 18:11

While fixing an unrelated problem, I found out that adding group = 1 to aes() seems to fix the problem:

dat %>% 
ggplot(aes(SOA, y, group = 1)) +
  geom_point() +
  geom_signif(
    annotations = "*",
    y_position = 150,
    xmin = 50,
    xmax = 300,
  )

enter image description here

I do not know why it works, but it does.

Source https://stackoverflow.com/questions/67423427

QUESTION

How to configure Firewall Rules and DNS settings on GCP with VPC Service Controls when using Cloud Composer and Cloud Functions in the same project?

Asked 2021-May-04 at 14:42

We have troubles with the configuration of two GCP components (the GCP Cloud Composer, the GCP Functions) under VPC Service Controls for a single project. We can configure them separately with VPC Service Controls, but as soon as we add the second component we experience troubles.

Once we have configured the Firewall rules and DNS settings for the Cloud Function, the Composer starts to fail. The Composer monitoring tool (for webserver, SQL server, etc.) shows that the composer is unhealthy.

What are we doing wrong?

The docs we've used:
https://cloud.google.com/functions/docs/securing/using-vpc-service-controls
https://cloud.google.com/composer/docs/configuring-vpc-sc

For the Composer we use these settings:

  • 3 node
  • standard machine type
  • image version: composer-1.16.3-airflow-1.10.15
  • python: v3
  • private IP Composer

The APIs what we have enabled for VPC Service Controls:

  • Google Cloud Dataproc API
  • Cloud Functions API
  • Google Cloud Pub/Sub API
  • Cloud SQL API
  • Google Cloud Storage API
  • Google Compute Engine API
  • Google Kubernetes Engine API
  • Google Container Registry API
  • Cloud Monitoring API
  • Cloud Composer API
  • Artifact Registry API

The FireWall settings (based on the documentation):

Name Type Targets Filters Protocols / Ports Action Priority
composer-egress-gke-cluster-all-port Egress Apply to all IP ranges: 10.10.0.0/16 tcp, udp Allow 1000
composer-egress-healthcheck Egress Apply to all IP ranges: 130.211.0.0/22, 35.191.0.0/16 tcp:80,443 Allow 1000
composer-egress-port53 Egress Apply to all IP ranges: 0.0.0.0/0 tcp:53, udp:53 Allow 1000
composer-egress-webserver Egress Apply to all IP ranges: 172.31.251.0/24 tcp:3306,3307 Allow 1000
restricted-google-apis Egress Apply to all IP ranges: 199.36.153.4/30 tcp:443 Allow 1000
composer-deny-all Egress Apply to all IP ranges: 0.0.0.0/0 all Deny 2000
composer-ingress-helthcheck Ingress Apply to all IP ranges: 130.211.0.0/22, 35.191.0.0/16 tcp:80,443 Allow 1000
ingress-iap Ingress Apply to all IP ranges: 35.235.240.0/20 tcp Allow 1000
gke-europe-west1-composer-dns-xxx-xxx-all Ingress gke-europe-west1-composer-dns-xxx-xxx-node IP ranges: 10.124.0.0/14 tcp;udp;esp;ah;sctp;icmp Allow 1000
gke-europe-west1-composer-dns-xxx-xxx-master Ingress gke-europe-west1-composer-dns-xxx-xxx-node IP ranges: 172.16.8.0/28 tcp:10250,443 Allow 1000
gke-europe-west1-composer-dns-xxx-xxx-vms Ingress gke-europe-west1-composer-dns-xxx-xxx-node IP ranges: 10.10.0.0/16 tcp:1-65535;udp:1-65535;icmp Allow 1000

The DNS settings (based on the documentation):

DNS name: googleapis.com. Type: Private

DNS name Type TTl(Seconds) Data
*.googleapis.com. CNAME 300 restricted.googleapis.com.
googleapis.com. SOA 21600 ns-gcp-private.googledomains.com. cloud-dns-hostmaster.google.com. 1 21600 3600 259200 300
googleapis.com. NS 21600 ns-gcp-private.googledomains.com.

DNS name: cloudfunctions.net. Type: Private

DNS name Type TTl(Seconds) Data
*.cloudfunctions.net. A 300 199.36.153.4,199.36.153.5,199.36.153.6,199.36.153.7
cloudfunctions.net NS 21600 ns-gcp-private.googledomains.com. cloud-dns-hostmaster.google.com. 1 21600 3600 259200 300
cloudfunctions.net. SOA 21600 ns-gcp-private.googledomains.com.

DNS name: pkg.dev. Type: Private

DNS name Type TTl(Seconds) Data
*.pkg.dev. CNAME 300 pkg.dev.
pkg.dev. SOA 21600 ns-gcp-private.googledomains.com. cloud-dns-hostmaster.google.com. 1 21600 3600 259200 300
pkg.dev. NS 21600 ns-gcp-private.googledomains.com.
pkg.dev. A 300 199.36.153.4,199.36.153.5,199.36.153.6,199.36.153.7

DNS name: gcr.io. Type: Private

DNS name Type TTl(Seconds) Data
*.gcr.io. CNAME 300 gcr.io.
gcr.io. SOA 21600 ns-gcp-private.googledomains.com. cloud-dns-hostmaster.google.com. 1 21600 3600 259200 300
gcr.io. NS 21600 ns-gcp-private.googledomains.com.
gcr.io. A 300 199.36.153.4,199.36.153.5,199.36.153.6,199.36.153.7

Thank you for any idea or help what you can give.

ANSWER

Answered 2021-May-04 at 14:42

Meanwhile we've figured out the problem:

  • The most problematic is that an A type DNS record was missing from googleapis.com. which contains the IP addresses.
  • The second problem was that a firewall rule coming from the documentation of VPC SC settings of the Cloud Function has blocked the communication between:
    • the nodes of the Composer on the subnet
    • between the Worker nodes and the Master node (of the Kubernetes cluster created for composer) which is created automatically in a different project and connected by network peering to the subnet of the Composer workers

The two documentations obviously does not cover this special case when two of these services should be used together. After fixing the issues above it has started to work.

The problems what we still experience:

  • it's hard to debug this kind of problem, because the monitoring UI of the composer seems to show the information in non-consistent way
  • it's hard to use the StackDriver logs for debugging after enabling it on the subnet, because it's simply too much information and they are logged on "info" level, not on "warning" or "error" level

Source https://stackoverflow.com/questions/67367863

QUESTION

Read SOAP XML from php CURL

Asked 2021-May-04 at 13:48

Hi I've this xml from a soap service.I obtain xml with curl. How can access nodes in php? results can have more resulSets

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <ns3:ExampleResponse xmlns:ns3="http://example.com/ptfall" xmlns:ns2="http://example.com/soa">
            <return>
                <ns3:resultSet>
                    <ns3:categoria>
                        <ns2:codice>1</ns2:codice>
                        <ns2:descrizione>Esempio xxx</ns2:descrizione>
                    </ns3:categoria>
                    <ns3:causale>
                        <ns3:codice>_XXXXX</ns3:codice>
                        <ns3:descrizione>Annullo Mancato</ns3:descrizione>
                        <ns3:identificativo>
                            <ns2:long>74</ns2:long>
                        </ns3:identificativo>
                    </ns3:causale>
                    
                </ns3:resultSet>
               
                <ns3:serviceInfo>
                    <ns2:codiceErroreOccorso>0</ns2:codiceErroreOccorso>
                    <ns2:erroreOccorso>false</ns2:erroreOccorso>
                    <ns2:executionId>xxxxxxxxxxx</ns2:executionId>
                    <ns2:tipoErroreOccorso>0</ns2:tipoErroreOccorso>
                </ns3:serviceInfo>
            </return>
        </ns3:ExampleResponse>
    </soap:Body>
</soap:Envelope>

For example i wanted to return just ns3:descrizione node for each resultSet I tried use this but no works

$soap = simplexml_load_string($data);
$response = $soap->children('http://schemas.xmlsoap.org/soap/envelope/')->Body->children()->ExampleResponse->........DUNNO HOW TO DO IT;
echo $response;

ANSWER

Answered 2021-May-04 at 13:48

It's a little more complicated than that, but - for your example of ns3:descrizione - it can be done this way:

$soap = simplexml_load_string($data);
$soap->registerXPathNamespace("ns3", "http://example.com/ptfall");
$resultSet = $soap->xpath('//ns3:resultSet');

foreach ($resultSet as $rs)
{   
    $infos  = $rs->xpath('.//*[local-name()="descrizione"]/text()');
    foreach ($infos as $target) {
        echo $target ."\r\n";
    }   
}

Output:

Esempio xxx
Annullo Mancato

Source https://stackoverflow.com/questions/67384755

Community Discussions, Code Snippets contain sources that include Stack Exchange Network

VULNERABILITIES

No vulnerabilities reported

INSTALL soa

You can use soa like any standard Java library. Please include the the jar files in your classpath. You can also use any IDE and you can run and debug the soa component as you would do with any other Java program. Best practice is to use a build tool that supports dependency management such as Maven or Gradle. For Maven installation, please refer maven.apache.org. For Gradle installation, please refer gradle.org .

SUPPORT

For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .

Implement soa faster with kandi.

  • Use the support, quality, security, license, reuse scores and reviewed functions to confirm the fit for your project.
  • Use the, Q & A, Installation and Support guides to implement faster.

Discover Millions of Libraries and
Pre-built Use Cases on kandi