|
Thread Rules 1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution. 2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20) 3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible. 4. Use [code] tags to format code blocks. |
On October 03 2015 18:34 Itsmedudeman wrote:It's cool there's an existing class for this and all, but it doesn't really solve my problem/answer my question. My point being that I feel it would be best for me to hold my times as a set of 2 to represent a beginning and an end, my interest is not with the duration between those two time periods. I would still have to create 2 localtime objects for each set of values. So the essence of my question is how should I structure this in my class? Even if I use these APIs? To explain a bit further on what I'm working on, I want to hold multiple time sets for each person object. Later on I'm going to use these time sets in an algorithm which, as far as I know, isn't covered by existing APIs. Also, I feel that the localtime class is overly complex for what I want to store which doesn't involve minutes or seconds. edit: I guess the interval class structures it the way I'm thinking of now that I look at it. It still has a lot of fields that I find unnecessary so I might make my own class. You're optimizing prematurely. If you want to store a time, use an existing time class. If you want to store a range, use an existing range class. Only if you have actual performance or memory problems and used a profiler to determine that this algorithm is part of the problem, consider using a custom implementation.
|
Hm, yeah. Also if I wanna add stuff in the future it would be good having the API already.
|
General rule of thumb. If there's a standard library that does what you want, use it.
Not only will it save you time programming, but standard libraries are usually debugged pretty thoroughly and optimized quite well. This is especially true for Java.
|
On October 03 2015 22:11 Acrofales wrote: General rule of thumb. If there's a standard library that does what you want, use it.
Not only will it save you time programming, but standard libraries are usually debugged pretty thoroughly and optimized quite well. This is especially true for Java.
Not to mention interoperability with other libraries (possibly written by someone else entirely) if you have to do it somewhere down the line.
And of course debugging/refactoring by someone else if such need arises. It's much easier to understand what someone else's code does (or even your own if you have to return to it after a while) if it's using standard libraries and built-in functionality for the most part.
|
On October 03 2015 17:03 SacredCoconut wrote: I started internship 2 weeks ago, and using mainly python. I had no experience before, but it feels quit natural to use.
But i would be interested in reading some book/online guide on good practices. I have been reading python hitchhiker's guide little.
Commenting has been makeing me wonder for while already. Not only python, but in each lanquage i have no idea how, much should i comment. It feels like it would be stupid to comment on everything, but then again something clear to me might not be clear to the reader.
For signal/noise ratio I haven't found better Python guide then http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html.
On October 03 2015 18:07 Itsmedudeman wrote: Quick question, might be a meaningless one and I might be overthinking it but I feel like I'm not since I've heard different things about coding practices. Anyways, I'm working in java and I have a class that stores different information like strings, integers, and also a list of arrays that's of size 2. The array is supposed to store a time range. So if 6 is the first value, and 7 is the second value then that represents 6 am to 7 am. So I was just wondering if it's correct to code this way or should I define a separate class for time range that holds a value for start and end? I feel like that would make the code more readable and easy to understand, but it might be a bit "out of the way" to code in such a fashion.
1) If you're determined not to use anything like Duration (java 8 date api basically Joda now I think), I'd go with a class with start/end LocalDate objects or something.
Say I have a service that downloads something every 5 minutes. How to set it up so I can run multiple nodes but only one goes does download? Do I use zookeeper and have shared lock?
|
On October 04 2015 05:57 teamamerica wrote: Say I have a service that downloads something every 5 minutes. How to set it up so I can run multiple nodes but only one goes does download? Do I use zookeeper and have shared lock?
Only one can download at a time or only one can download ever?
In the first case, you may use the zookeeper with distributed lock, in the second case you should be fine with just a regular event listener.
Anyway, you may want to take a look at the Curator library for some ideas (or just use it).
|
On October 04 2015 05:57 teamamerica wrote:
Say I have a service that downloads something every 5 minutes. How to set it up so I can run multiple nodes but only one goes does download? Do I use zookeeper and have shared lock?
Are you in java? You can also use quartz with a jdbc job store and DisallowConcurrentExecution.
|
Why are so many java class objects immutable? Really annoying sometimes when I want to change fields later.
|
On October 05 2015 11:01 Itsmedudeman wrote: Why are so many java class objects immutable? Really annoying sometimes when I want to change fields later. There are some languages where every variable is immutable. The reason is to make it easier to avoid bugs.
When programmers become more advanced, they stop thinking, "how can I make this work?" and start thinking, "How can I avoid bugs?"
|
On October 05 2015 11:01 Itsmedudeman wrote: Why are so many java class objects immutable? Really annoying sometimes when I want to change fields later.
immutable is great. do you want to change a field within an immutable object? then you probably didnt understand the API correctly.
if you have a class of your own with an immutable object in a field, just assign a new value to the field.
|
On October 05 2015 11:37 phantomfive wrote:Show nested quote +On October 05 2015 11:01 Itsmedudeman wrote: Why are so many java class objects immutable? Really annoying sometimes when I want to change fields later. There are some languages where every variable is immutable. The reason is to make it easier to avoid bugs. When programmers become more advanced, they stop thinking, "how can I make this work?" and start thinking, "How can I avoid bugs?" So in the case of the Date class which is mutable and the DateTime class which is immutable is Date safe against changes that those who created DateTime wanted to prevent? Or is that just up to the programmer to take as a risk and hope that the user uses the library correctly? It just seems strange to me that there's no consistency in libraries and no concrete coding practice to make class objects mutable or immutable. For example, in the case of Strings, people clearly wanted a mutable variation for easier String manipulation so that's why StringBuffer exists. Does that mean String avoids bugs that StringBuffer doesn't?
|
Are you talking about Joda or standard Java here? Because Date class has been deprecated ages ago in Java and is not present in Joda at all.
Edit: Come to think of it, Joda is being shelved for java.time too...
|
When writing integration tests for a web service (people will be hitting a REST endpoint) how many integration tests should there be?
I need to populate the database with data before running the integration tests.
Do I just proceed with pretending it's a black box and making all my business tests at the integration level? Like should I just test that the integration hooks are in place or should I test the logic of the service from end to end?
Concrete example: Starcraft 2 releases an API giving you access to player data. Do I test that given X parameters(tier,region) I get Y(winrate,game length) output for Z(20) test cases? Or do I write one test for the endpoint just making sure it's connected all the way through?
|
On October 05 2015 11:01 Itsmedudeman wrote: Why are so many java class objects immutable? Really annoying sometimes when I want to change fields later. Above answers are good. For more detail, get a copy of this:
http://www.amazon.com/gp/product/0321356683/ (which you should do if you're going to be programming a significant amount of Java)
then read item 15
On October 10 2015 00:28 obesechicken13 wrote: When writing integration tests for a web service (people will be hitting a REST endpoint) how many integration tests should there be?
I need to populate the database with data before running the integration tests.
Do I just proceed with pretending it's a black box and making all my business tests at the integration level? Like should I just test that the integration hooks are in place or should I test the logic of the service from end to end?
Concrete example: Starcraft 2 releases an API giving you access to player data. Do I test that given X parameters(tier,region) I get Y(winrate,game length) output for Z(20) test cases? Or do I write one test for the endpoint just making sure it's connected all the way through? There's no hard & fast rule here. end-to-end tests are always good to have. Separate tests for bits in the middle are good, especially if you can get them to run more quickly.
I'm not clear on what you're getting at, but these are two distinct types of tests to have, and both are good:
1) A test which hits a real, live endpoint, just to see if it's alive. This should be pretty low qps, and resilient to flakes - especially considering whatever the SLA of the endpoint is
2) Tests which stand up the whole stack inside the test, with fake test data, and verify that endpoints return expected results (populate a database with test data, clean up after you're done).
Both are good to have.
|
Hey guys, it's been a while since I've done C++ and I'm really confused about a problem I'm having.
I have a class ColonneCartes.h such as
#include <vector> #include "Carte.h" namespace solitaire { class ColonneCartes { ... public: friend std::ostream operator<<(std::ostream& p_sortie, const ColonneCartes& p_colonneCartes); ... } }
and in ColonneCarte.cpp
#include "ColonneCarte.h" using namespace std; namespace solitaire { ostream& operator<<(ostream& p_sortie, const ColonneCartes& p_colonneCartes) { //some code } }
Now when attemping to compile I get "ambiguating new declaration of 'std::ostream& solitaire::operator<<(std::ostream&, const solitaire::ColonneCartes&)' on my implementation in my .cpp when I try to implement my operator<<.
Now I'm not sure what's going on here, I did not try to implement it twice, and I do not have another operator<< overload with the same parameters, although I do have another operator<< overload take a const Carte& as parameter in my namespace. I guess the problem stems from here but I have no idea why, or how to fix it ?
Is it wrong to include my operator overload in my namespace ?
Thanks
|
|
On October 11 2015 05:47 Nesserev wrote:Show nested quote +On October 11 2015 05:36 SpiZe wrote:Hey guys, it's been a while since I've done C++ and I'm really confused about a problem I'm having. I have a class ColonneCartes.h such as #include <vector> #include "Carte.h" namespace solitaire { class ColonneCartes { ... public: friend std::ostream operator<<(std::ostream& p_sortie, const ColonneCartes& p_colonneCartes); ... } }
and in ColonneCarte.cpp #include "ColonneCarte.h" using namespace std; namespace solitaire { ostream& operator<<(ostream& p_sortie, const ColonneCartes& p_colonneCartes) { //some code } }
Now when attemping to compile I get "ambiguating new declaration of 'std::ostream& solitaire::operator<<(std::ostream&, const solitaire::ColonneCartes&)' on my implementation in my .cpp when I try to implement my operator<<. Now I'm not sure what's going on here, I did not try to implement it twice, and I do not have another operator<< overload with the same parameters, although I do have another operator<< overload take a const Carte& as parameter in my namespace. I guess the problem stems from here but I have no idea why, or how to fix it ? Is it wrong to include my operator overload in my namespace ? Thanks You return a std::ostream object in your function's friend declaration, but you return a reference to an std::ostream object in the function definition.
Oh well would you look at that I'm retarded, thanks a lot friend.
|
Don't sweat it. The number of hours you spend on single character mistakes during your career will keep on increasing roughly linearly.
|
Hey can anyone point me toward some resources into learning why it's not possible (or is it?) to save state of a warmed up JVM? I've seen stuff about lowing JIT compilation threshold but that isn't quite what I don't want everything compiled, just what was compiled after running my program through normal workload.
From my understanding, there are lisps where you can basically save image of application state and run it later?
|
|
|
|
|