Giter Club home page Giter Club logo

uengine-bpm's People

Contributors

achimhae avatar basquiat78 avatar freshka1 avatar horklim avatar iklim avatar il-kyun avatar jinyoung avatar kim-youngtak avatar limhoo2015 avatar misakamikoto avatar seungpilpark avatar soohwanmin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

uengine-bpm's Issues

Stack overflow when BlockFinder running

Cause anaysis:

  • Feedback sequence flows were included when it searches the block members

Solution:

  • Removes the feedback sequence flows from the list of searching block members

[ProcessDefinition option] Run All Startable Activities option

Currently, uEngine5 runs all the startable activities which are the first found activities. Start activities can be all the activities that doesn't have previous activity any more.

If designer wants to run only the activities which are connected after a StartEvent, this options stands for that intent.

[Form] Tool integration

Approach:

  • Integration form with external tools through iframe and SSO by introducting them as a new type of form field - referencing opensocial or attlassian.

  • It is required for essencia or uEngine5 to integrate user preferred software engineering tools like gliffy or ms office 365 or google docs to attach artifacts.

Client Reference Implementation

Client Reference implementation which is not using metaworks framework

  • JSP implementation or Spring MVC implementation example which embeds the process flow chart, worklists, workitem handlers, which is delivered by metaworks.
  • worklist may be implemented with regular JSP or Spring MVC also.
    or we can provide some RESTful services retreiving the worklist
  • each metaworks objects can be embedded in a single html page.
  • also metaworks work-item handler can embed simple JSPs or htmls with iframe.

looping Transaction

Hi Jinyoung, I have a error with log

TransactionAspectSupport : prepareTransactionInfo Getting transaction for [org.uengine.processmanager.ProcessManagerBean.executeProcessByWorkitem]
10:39:12,427 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,428 INFO [stdout] (http--0.0.0.0-8080-4) ----------- SpringConnectionFactory: getConnection()
10:39:12,430 INFO [stdout] (http--0.0.0.0-8080-4) DEBUG - TransactionSynchronizationManager : getResource Retrieved value [org.springframework.jdbc.datasource.ConnectionHolder@624e746e] for key [org.springframework.jdbc.datasource.DriverManagerDataSource@f9c5bcb] bound to thread [http--0.0.0.0-8080-4]
10:39:12,453 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,513 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,526 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,531 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,541 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,547 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,552 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,560 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,561 INFO [stdout] (http--0.0.0.0-8080-4) 11
10:39:12,561 INFO [stdout] (http--0.0.0.0-8080-4) 31
10:39:12,561 INFO [stdout] (http--0.0.0.0-8080-4) - [uEngine] Start Executing Activity: Tiếp nhận hồ sơ (1)
10:39:12,562 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,562 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,564 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,565 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,566 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,568 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,590 INFO [stdout] (http--0.0.0.0-8080-4) ReceiveActivity::waiting for message : onHumanActivityResult1
10:39:12,591 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,592 INFO [stdout] (http--0.0.0.0-8080-4) [SimpleTransactionContext]: getConnection ()
10:39:12,592 INFO [stdout] (http--0.0.0.0-8080-4) [DefaultConnectionFactory]: getConnection
10:39:12,607 INFO [stdout] (http--0.0.0.0-8080-4) - [uEngine] End Executing Activity: Tiếp nhận hồ sơ (1) - Elapsed Time : 46
10:39:12,609 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,611 INFO [stdout] (http--0.0.0.0-8080-4) ProcessDefinition::fireMessage.message = onHumanActivityResult1
10:39:12,611 INFO [stdout] (http--0.0.0.0-8080-4) distribute message to 1
10:39:12,612 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,613 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,616 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,619 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,621 INFO [stdout] (http--0.0.0.0-8080-4) 11
10:39:12,621 INFO [stdout] (http--0.0.0.0-8080-4) 31
10:39:12,621 INFO [stdout] (http--0.0.0.0-8080-4) - [uEngine] Start Executing Activity: mapping (18)
10:39:12,622 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,624 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,625 INFO [stdout] (http--0.0.0.0-8080-4) 11
10:39:12,625 INFO [stdout] (http--0.0.0.0-8080-4) 31
10:39:12,625 INFO [stdout] (http--0.0.0.0-8080-4) - [uEngine] Start Executing Activity: script (24)
10:39:12,626 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,842 INFO [stdout] (http--0.0.0.0-8080-4) [DefaultConnectionFactory]: getConnection
10:39:12,852 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,861 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,869 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,877 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,885 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,893 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,902 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,911 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,919 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,927 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,936 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,945 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,954 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,963 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,972 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,982 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:12,991 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,000 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,009 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,019 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,029 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,038 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,048 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,057 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,066 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,076 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,085 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,094 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,104 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,113 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,122 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,132 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,141 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,151 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,162 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,171 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,181 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,190 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,199 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,209 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,218 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,228 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,237 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,246 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,256 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,266 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,275 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,284 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,293 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,302 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,312 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,322 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,332 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,341 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,351 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,360 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,370 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,379 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,389 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,399 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,408 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,417 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,427 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,436 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,445 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,455 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,464 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,473 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,483 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,493 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,502 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,512 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,521 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,530 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,540 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,549 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,558 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,568 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,578 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,587 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,596 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,606 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,615 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,624 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,633 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,642 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,652 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,661 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,670 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,679 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,688 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,698 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,707 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,717 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,726 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,736 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,745 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,754 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,763 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,772 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,781 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,790 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,799 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection ()
10:39:13,808 INFO [stdout] (http--0.0.0.0-8080-4) [TransactionContext]: getConnection
17900 Segmentation fault (core dumped) "/usr/java/jdk1.6.0_25/bin/java" -server -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=/home/egov/quangngai/tmp/liferay -Duser.timezone=GMT+7 -XX:MaxPermSize=1024m -Xmx12288m -Xms6144m -verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xloggc:/home/egov/quangngai/logs/gc.log "-Dorg.jboss.boot.log.file=/home/egov/quangngai/liferay/jboss-7.0.2/standalone/log/boot.log" "-Dlogging.configuration=file:/home/egov/quangngai/liferay/jboss-7.0.2/standalone/configuration/logging.properties" -jar "/home/egov/quangngai/liferay/jboss-7.0.2/jboss-modules.jar" -mp "/home/egov/quangngai/liferay/jboss-7.0.2/modules" -logmodule org.jboss.logmanager -jaxpmodule javax.xml.jaxp-provider org.jboss.as.standalone -Djboss.home.dir="/home/egov/quangngai/liferay/jboss-7.0.2"

my srcipt:

java.lang.StringBuffer userSql  = new StringBuffer();
java.sql.ResultSet userRs = null;
java.sql.Statement stmt2  = null;
java.sql.Connection   conn = null;
try{
java.lang.Object ma_hs_obj= instance.get("noiNopHoSo");
 java.lang.String ms= ma_hs_obj.toString();
 conn = org.uengine.util.dao.DefaultConnectionFactory.create().getConnection();
stmt2 = conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_SENSITIVE,java.sql.ResultSet.CONCUR_UPDATABLE);
 userSql.setLength(0);
 userSql.append(" select a.EMPCODE,a.ISADMIN,a.EMPNAME,a.JIKNAME,a.EMAIL");
userSql.append("  FROM emptable a where a.partcode = concat('" + ms + "','26')");       
userRs = stmt2.executeQuery(userSql.toString());
java.lang.String EMPCODE = null;
 java.lang.String EMPNAME = null;
 java.lang.String roleName="VPD";
org.uengine.kernel.RoleMapping roleMapping=activity.getProcessDefinition().getRole(roleName).getMapping(instance);
 while(userRs.next()){
  EMPCODE = userRs.getString("EMPCODE") == null ? "" : userRs.getString("EMPCODE");
  EMPNAME = userRs.getString("EMPNAME") == null ? "" : userRs.getString("EMPNAME");
  roleMapping.setResourceName(EMPNAME);
  roleMapping.setEndpoint(EMPCODE);
  if(!userRs.isLast()){
   roleMapping.moveToAdd();
  }
 }
 instance.putRoleMapping(roleName,roleMapping);
 userRs.close();
 return roleMapping;
 } catch(Exception e) { 
  throw new RuntimeException(e); 
  } finally {
   if (stmt2 != null)
   try {
    stmt2.close();
   } catch (Exception e) {
   }
   if (conn != null)
   try {
    conn.close();
   } catch (Exception e) {
   }
  }

It's loop until my jboss is Segmentation.!
But I don't know why, pls give me some ideas?

[Web Service] Web Service Call Activity

Requirements:

  • Generic web service payload generation by mapper setting
  • RESTful service json body generation by mapper setting
  • Pool modeling to accept a RESTful or Web Service invocation from external party.

Approach:

  • Analysing existing source code
  • Using Apache CXF or Spring MVC or something better ?

Maven Dependency Strucuture Refactoring

Currently ProcessCodi project and the uEngine-bpm project has recursive reference relationship. So we need to build the project twice -

cd ../uengine-bpm
mvn install         <---- will fail when to build the final child project - uengine-social-bpm due to it has some API dependency from process-codi 
cd ../process-codi
mvn install         <---- will succeed
cd ../uengine-bpm
mvn install          <---- will now succeed.

To Remove its recursive dependency, just separate the uengine-social-bpm project as standalone project from the uengine-bpm.

[URMF] Couchbase based Persistence

Why NoSQL (couchbase) ??

  1. Easy multi-tenancy support - Horizontally scalable and Schema Free
  2. Web browser optimized - JSON data can be parsed by web browser directly and performantly.
  3. High Performance - Memory cached and fast read
  4. Easy to implement Analytic services (MR) and Full Text Search
  5. Event-driven architecture - no need to care about CQRS something
  6. Some NoSQL products provides pessimistic locking and ANSI SQL let you can easily migrate to them.

Parameter Value Selection UI (or Activity) for Sub Process Instance

When a sub process instance begins, normally all the values would be transferred to the sub process instance, but sometimes we need to select some values rather the all the values.

Case: in a scrum process, a sprint will be started with only the some part of the backlogs.

Solution:

  • Provide a human activity that can select and reduce the target parameter values for a SubProcess transferred from the main process

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.