What exactly is "integration" and why do services like Travis-CI exist? [closed] - continuous-integration

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
I always see .travis-yml files in github repositories so I decided to google what they were used for. I found Travis-CI and and I've been reading, trying to understand what integration really is, but without an example, it's still just a general vague term to me. When do developers utilize integration and what exactly happens during integration? How does integration differ from continuous integration?

Integration, in Software Engineering, is the action of merging code from different developers (or for instance, from different modules of the same whole project) while trying to avoid errors in the process. It tries to make sure all the pieces of code that are not being made in the same place, by the same person, or that don't belong to the same main portion of the software, can interact without problems.
Talking about Travis-CI, there's a concept called Continuous Integration (as referred by #Simeon Visser) in the comments, that focuses on integrating the code in fixed periods of time (maybe once a day, or once every 12 hours for example) to assure the integrity of the whole system as it is being developed.

Related

compile code online for coding competitions [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I want to conduct online coding competitions. For that I am developing a website. I have a webpage to take the code from user. Once the user has finished his coding, on submitting I want to send that code to some compiler to check the code. And I can check with the test cases if its compiled without errors. Is there any online compilers available for that. I mean, Is there any site to send my_code, test_cases, programming_languages to that and get back the results? Or should I use system commands to do this process?
Compiling requires a fair amount of computation. You will have to consider how well your system will scale to user demand. Most online services would eventually charge a fee to cover their infrastructure costs (+ profit).
See ideone.com/sphere-engine
Depending on the scale, you may want to use system commands. I would suggest doing so until your project reach a certain maturity. You could also have a setup like Jenkins, were compilation work is dispatched to build nodes which can be added for increased demand.
Existing software like PC2 ask the hosts of the competition to provide the compilation server. However, the setup is local.

Best way to get feedback on open sourced project [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
What is the best way to open source a project I would like help on? I'm aware of source forge, but is there some way to advertise "I'm a newbie looking to improve my coding skills, so here is a working project I'm uploading in hopes of learning how to code better?" I currently have a Cocoa program I wrote that works fine, but I'm certain there are inefficiencies and leaks in my code that I will never know about unless someone with more experience points them out.
Judging from my experience, if your project is considered to be useful, people will start submitting bug reports and patches by themselves. If that happens, get in touch with your submitters, offer them write access to the code base, distribute responsibility.
That way, you'll learn a lot about coding and, more importantly, team management.
That having said, why don't you participate in existing projects in order to improve your coding skills? Reading other people's code will boost your capabilities far more than just writing your own stuff.

Pitfalls to avoid when writing project specs [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
I'm currently trying to write up some software specs for a large-ish project that I'd like to bid out on oDesk (maybe 3k-6k). I have a classical education in computer science, but minimal work experience and I've never worked in a corporate environment.
I've written up 15 pages of project specs for an API that I want to run on Google App Engine. I'm finding the subtleties difficult with issues such as: where to draw the line on what to specify and what not to; how to break the project up into pieces so that if one part goes wrong, other parts can still be used; where and how to set milestones; and how to screen for a candidate who has the skills to properly implement the specs.
I asked a friend what issues I should watch out for and he said:
Make sure specs do not have contradictory information
Make sure specs are not unnecessarily specific because this will turn off more skilled developers
What other pitfalls and common mistakes should I look out for while drawing up project specs?
While it is important to focus on the functionality of what you want to achieve, also keep in mind the non-functional requirements as well. Think about how you want it to perform, security considerations, etc.
One to add to the list
Make sure the specs are unambiguous. (Can only be interpreted one way...Hopefully)
I think these two links will help:
On Reqs And Specs: http://www.pragmaticmarketing.com/publications/topics/02/0204sj
Painless Functional Specifications - Part 2: What's a Spec?: http://www.joelonsoftware.com/articles/fog0000000035.html

how to manage a compiler project? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
I am a CS student and I have a compiler project this year.
I want to know how to manage my project with my three partners.
I know that the compiler has many level and process, and I want to make use of these features to mange my project.
Thanks for any tips/pointers/resources you can provide for me to start.
You haven't really specified what it is that you are compiling, so it's a little difficult to make specific recommendations.
If you're doing something novel, I wrote a blog post a couple of weeks ago that has some specific things to consider:
http://www.plsadventures.com/2009/09/why-programming-language-design-is-hard.html
If it is a pre-existing language you are compiling, then I would work to generate a decent test corpus, and consider using test-driven development to manage your progress.
As you mentioned, there are some obvious components in most compilers that are relatively discrete. I would consider documenting the interfaces that connect these components. For example, if one person is writing the lexer and another is writing the parser, then ensure that you have a list of tokens written down somewhere. The format for your parse and/or abstract syntax trees should be defined and written down so that anybody working on optimisation or code generation is on the same page.
Above all, tests really help this kind of integration. You should be able to build these components separately and put them together, for the most part.
You should use a DCVS like Git or Mercurial, so each of you can develop individually while it's still easy to merge changes.
Next, you should define test cases to know which features you'll need and how you will know that a feature works.
That should help to figure out different areas of the project which don't overlap too much so each member of the team can work without stepping on each others toes.

Buy or build tool for Data Reporting? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
We have been asked to provide a data reporting solution. The followng are the requirements:
i. The client has a lot of data which is generated everyday as an outcome of the tests they run. These tests are run at several sites and they get automatically backed up into a central server.
ii. They already have perl scripts which post process them and generates excel based reports.
iii. They need a web based interface for comparing those reports and they need to mark and track issues which might be present in those data.
I am confused if we should build our own tool for this or we should go for already exiting tool(any suggestions?). Can you please provide supportive arguments for the decision that you would suggest?
You need to narrow down your requirements (what kind of data needs to be compared, and in which format?). Then check if there is already a software available (commercial or free) that fulfills your needs. Based on that, decide if its better (i.e. cheaper) to implement the functionality yourself, or use the other software.
Don't reinvent the wheel.
There are quite a few tools out there that specialise in this sort of thing, my gut feeling is that you can find something ready made that does what you need.
As a side note, that tool may also be a better solution for creating those excel reports than the perl scripts.

Resources