• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 16:53
CEST 22:53
KST 05:53
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
TL.net Map Contest #22 - Voting & Ladder Map Selection2Code S Season 2 (2026) - RO8 Preview5[ASL21] Finals Preview: Two Legacies21Code S Season 2 (2026) - RO12 Preview2herO wins GSL Code S Season 1 (2026)7
Community News
[BSL22] Non-Korean Championship from 13 to 28 June0Weekly Cups (May 25-31): Clem doubles, 2v2 circuit heads toward finale0StarCraft II 5.0.16 PTR Patch Notes may 26th150Weekly Cups (May 18-24): MaxPax wins doubles0Crank Gathers Season 4: BW vs SC2 Team League6
StarCraft 2
General
My starcraft 2 changes StarCraft II 5.0.16 PTR Patch Notes may 26th The Death of Cheese: From a Professional Cheeser Oliveira Would Have Returned If EWC Continued SC2 Parody - "Somebody That I Used to Troll"
Tourneys
Maestros of The Game 2 announcement and schedule ! Crank Gathers Season 4: BW vs SC2 Team League GSL Code S Season 2 (2026) Sparkling Tuna Cup - Weekly Open Tournament RSL Revival: Season 5 - Qualifiers and Main Event
Strategy
[G] Having the right mentality to improve
Custom Maps
[D]RTS in all its shapes and glory <3
External Content
The PondCast: SC2 News & Results Mutation # 528 Infection Detected Welcome to the External Content forum Mutation # 527 Hell Train
Brood War
General
BGH Auto Balance -> http://bghmmr.eu/ FlaSh's ASL S21 Finals Review Tesagi Viewer - A new era of replay watching 14k games analyzed: Cross Spawn Nexus first good? VPN experiences
Tourneys
[ASL21] Grand Finals [Megathread] Daily Proleagues Escore Tournament StarCraft Season 2 [BSL22] WB Final & LB Semis - Saturday 21:00 CEST
Strategy
Why doesn't anyone use restoration? Any training maps people recommend? Muta micro map competition [G] Hydra ZvZ: An Introduction
Other Games
General Games
Stormgate/Frost Giant Megathread Warcraft III: The Frozen Throne Path of Exile Nintendo Switch Thread ZeroSpace Megathread
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia Mafia Game Mode Feedback/Ideas TL Mafia Community Thread Five o'clock TL Mafia
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread How cold is too cold to be outdoors? Dating: How's your luck? Trading/Investing Thread
Fan Clubs
The herO Fan Club!
Media & Entertainment
[Manga] One Piece Anime Discussion Thread [Req][Books] Good Fantasy/SciFi books
Sports
2024 - 2026 Football Thread McBoner: A hockey love story TeamLiquid Health and Fitness Initiative For 2023 Formula 1 Discussion
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Facing Challenges in Mobile App Development
TL Community
The Automated Ban List
Blogs
Esportsmanship: How to NOT B…
TrAiDoS
Why RTS gamers make better f…
gosubay
ramps on octagon
StaticNine
ASL S21 English Commentary…
namkraft
StarCraft improvement
iopq
Customize Sidebar...

Website Feedback

Closed Threads



Active: 4370 users

The Big Programming Thread - Page 667

Forum Index > General Forum
Post a Reply
Prev 1 665 666 667 668 669 1032 Next
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.
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
October 03 2015 10:31 GMT
#13321
On October 03 2015 18:34 Itsmedudeman wrote:
Show nested quote +
On October 03 2015 18:21 Manit0u wrote:
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.


First thing you should do in any language is do some research, so you don't end up reinventing the wheel...

https://docs.oracle.com/javase/tutorial/datetime/iso/datetime.html
https://docs.oracle.com/javase/tutorial/datetime/iso/period.html
http://joda-time.sourceforge.net/api-release/org/joda/time/Period.html
http://joda-time.sourceforge.net/api-release/org/joda/time/Interval.html

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.
If you have a good reason to disagree with the above, please tell me. Thank you.
Itsmedudeman
Profile Blog Joined March 2011
United States19229 Posts
October 03 2015 11:27 GMT
#13322
Hm, yeah. Also if I wanna add stuff in the future it would be good having the API already.
Acrofales
Profile Joined August 2010
Spain18302 Posts
October 03 2015 13:11 GMT
#13323
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.
Manit0u
Profile Blog Joined August 2004
Poland17756 Posts
Last Edited: 2015-10-03 17:18:22
October 03 2015 17:14 GMT
#13324
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.
Time is precious. Waste it wisely.
teamamerica
Profile Blog Joined July 2010
United States958 Posts
October 03 2015 20:57 GMT
#13325
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?


RIP GOMTV. RIP PROLEAGUE.
Manit0u
Profile Blog Joined August 2004
Poland17756 Posts
Last Edited: 2015-10-04 22:50:44
October 04 2015 22:46 GMT
#13326
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).
Time is precious. Waste it wisely.
berated-
Profile Blog Joined February 2007
United States1134 Posts
Last Edited: 2015-10-05 00:18:53
October 05 2015 00:15 GMT
#13327
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.
Itsmedudeman
Profile Blog Joined March 2011
United States19229 Posts
October 05 2015 02:01 GMT
#13328
Why are so many java class objects immutable? Really annoying sometimes when I want to change fields later.
phantomfive
Profile Joined April 2010
Korea (South)404 Posts
October 05 2015 02:37 GMT
#13329
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?"
To ease another's heartache is to forget one's own - Lincoln
r3dox
Profile Blog Joined May 2003
Germany261 Posts
October 05 2015 17:54 GMT
#13330
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.
Itsmedudeman
Profile Blog Joined March 2011
United States19229 Posts
Last Edited: 2015-10-05 23:50:34
October 05 2015 23:44 GMT
#13331
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?
Manit0u
Profile Blog Joined August 2004
Poland17756 Posts
Last Edited: 2015-10-07 07:39:06
October 06 2015 00:12 GMT
#13332
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...
Time is precious. Waste it wisely.
obesechicken13
Profile Blog Joined July 2008
United States10467 Posts
Last Edited: 2015-10-09 15:31:33
October 09 2015 15:28 GMT
#13333
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?
I think in our modern age technology has evolved to become more addictive. The things that don't give us pleasure aren't used as much. Work was never meant to be fun, but doing it makes us happier in the long run.
phar
Profile Joined August 2011
United States1080 Posts
Last Edited: 2015-10-10 08:03:44
October 10 2015 07:56 GMT
#13334
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.
Who after all is today speaking about the destruction of the Armenians?
SpiZe
Profile Joined December 2010
Canada3640 Posts
October 10 2015 20:36 GMT
#13335
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
Nesserev
Profile Blog Joined January 2011
Belgium2760 Posts
Last Edited: 2015-10-10 21:06:18
October 10 2015 20:47 GMT
#13336
--- Nuked ---
SpiZe
Profile Joined December 2010
Canada3640 Posts
October 10 2015 20:49 GMT
#13337
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.
phar
Profile Joined August 2011
United States1080 Posts
October 10 2015 23:55 GMT
#13338
Don't sweat it. The number of hours you spend on single character mistakes during your career will keep on increasing roughly linearly.
Who after all is today speaking about the destruction of the Armenians?
teamamerica
Profile Blog Joined July 2010
United States958 Posts
October 12 2015 04:33 GMT
#13339
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?
RIP GOMTV. RIP PROLEAGUE.
Nesserev
Profile Blog Joined January 2011
Belgium2760 Posts
October 12 2015 05:47 GMT
#13340
--- Nuked ---
Prev 1 665 666 667 668 669 1032 Next
Please log in or register to reply.
Live Events Refresh
Next event in 3h 7m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
elazer 439
SteadfastSC 176
ProTech106
StarCraft: Brood War
Calm 4980
Dewaltoss 193
910 24
NaDa 13
Dota 2
420jenkins311
capcasts56
League of Legends
Doublelift1940
Counter-Strike
FalleN 626
Heroes of the Storm
Liquid`Hasu468
Other Games
Grubby5117
summit1g2316
FrodaN689
mouzStarbuck429
C9.Mang0215
ArmadaUGS153
XaKoH 90
UpATreeSC75
Trikslyr61
fpsfer 1
Organizations
StarCraft 2
angryscii 36
Other Games
Algost 11
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 17 non-featured ]
StarCraft 2
• mYiSmile18
• Reevou 7
• Response 3
• IndyKCrew
• sooper7s
• AfreecaTV YouTube
• intothetv
• Kozan
• LaughNgamezSOOP
• Migwel
StarCraft: Brood War
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
Dota 2
• lizZardDota249
League of Legends
• TFBlade1435
Other Games
• imaqtpie1294
• Shiphtur261
Upcoming Events
Replay Cast
3h 7m
Replay Cast
12h 7m
uThermal 2v2 Circuit
18h 7m
Maestros of the Game
18h 37m
Clem vs Lambo
Zoun vs SKillous
Replay Cast
1d 3h
Replay Cast
1d 12h
Solar vs Classic
uThermal 2v2 Circuit
1d 18h
Grudge Match
1d 19h
FlaShFTW vs A.Alm
OSC
2 days
GSL
2 days
herO vs Rogue
Maru vs Cure
[ Show More ]
Patches Events
2 days
uThermal 2v2 Circuit
2 days
BSL
2 days
Monday Night Weeklies
3 days
Replay Cast
4 days
Sparkling Tuna Cup
4 days
Replay Cast
5 days
Kung Fu Cup
5 days
Maestros of the Game
5 days
Replay Cast
6 days
The PondCast
6 days
Liquipedia Results

Completed

KK 2v2 League Season 1
RSL Revival: Season 5
Heroes Pulsing #1

Ongoing

BSL Season 22
IPSL Spring 2026
KCM Race Survival 2026 Season 2
Acropolis #4
CSCL: Masked Kings S4
YSL S3
SCTL 2026 Spring
WardiTV Spring 2026
Maestros of the Game 2
2026 GSL S2
Murky Cup 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
BLAST Rivals Spring 2026
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
BLAST Open Spring 2026

Upcoming

BSL 22 Non-Korean Championship
CSLAN 4
Blizzard Classic Cup 2026
Kung Fu Cup 2026 Grand Finals
CranK Gathers Season 4: BW vs SC2 Team League
HSC XXIX
uThermal 2v2 2026 Main Event
Heroes Pulsing #3
Heroes Pulsing #2
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
XSE Pro League 2026
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Disclosure: This page contains affiliate marketing links that support TLnet.

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.