This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Deploying software can be a cumbersome task that often occurs without complete testing of new features being pushed into production. To combat this, continuous deployment(CD) provides an automatic way to push new code out to production while still validating that your changes integrate and don’t break existing features. | |
| Most CD solutions are either proprietary or costly. We will develop a simplified version of continuous deployment that can be utilized easily and cheaply by anyone. | |
| Our workflow for this is as follows: A user utilizes our client side application to enter the details of their GitHub repository to be monitored and their server credentials for automatic application deployment. This information is securely transferred to our server where we begin to monitor the github repository on a timed loop. When we detect new changes being pushed into the user specified branch, we pull the branch and compile the application source on our central server. Next, we begin to attempt to deploy their changes to |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| int countLines (FILE* file) { | |
| int counter = 0; | |
| char character; | |
| fscanf (file, "%c", &character); | |
| while (!feof(file)) { | |
| if(character == '\n') { | |
| counter++; | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| public static String Mirror(){ | |
| int i = myCurrentRow; | |
| int j = myCurrentColumn; | |
| Point opp = getOppMove(); | |
| if(opp.x - oppLastMove.x == 1) { | |
| //Move Up | |
| if(isInsideBoard(i+1, j)) { | |
| if(gameBoard[i+1][j] != 1 && gameBoard[i+1][j] != -1 && gameBoard[i+1][j] != 2 && gameBoard[i+1][j] != -2) { | |
| return "UP"; | |
| } |
NewerOlder