|
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. |
Does anyone have a detailed explanation of how to use cookies to implement both of the following logins securely.
1) Login meaning either one time login that which is NOT persistant meaning when the browser is closed a new browser is opened to the site a new login is required.
2) Login meaning its persistent for some number of days like you usually see with sites like gmail.
How does one implement this using raw html, javascript for the frontend, and SQL, C++ with a very barebones basic html server for the backend. I would like to understand the low level details. I don't want to see some PHP high level implementation. Oh and it needs to be ultra secure.
|
+ Show Spoiler + public class Driver { public static void main (String[] args) { Person First = new Person (First, 15, 01, 01, 1991); Person Second = new Person (Second, 16, 01, 02, 1990); Person Third = new Person (Third, 14, 12, 03, 1992); Person array = {First, Second, Third}; Person.partition(array, 0, 2); System.out.println("The merge sorted 2nd array is as follows: "); for (int i = 0; i < array.length; i++) { System.out.println(array[i]); } } }
+ Show Spoiler + public class Person { private String name; private int age; private int mm; private int dd; private int yyyy; public Person (String name, int age, int mm, int dd, int yyyy){ this.name = name; this.age = age; this.mm = mm; this.dd = dd; this.yyyy = yyyy; } public static int partition(int arr[], int left, int right) { int i = left, j = right; int tmp; int pivot = arr[(left + right) / 2]; while (i <= j) { while (arr[i].getAge() < pivot.getAge()) i++; while (arr[j].getAge() > pivot.getAge()) j--; if (i <= j) { tmp = arr[i].getAge(); arr[i].getAge() = arr[j].getAge(); arr[j].getAge() = tmp; i++; j--; } }; return i; } void quickSort(int arr[], int left, int right) { int index = partition(arr, left, right); if (left < index - 1) quickSort(arr, left, index - 1); if (index < right) quickSort(arr, index, right); } public int getAge(){ return age; } }
i would like help from TL's java programmers.
im still a complete noob in using java and our prof has given us homework where we have to sort an array of persons based on their name, age and birthdate.
so i made the name a string and the age as a integer. i divided the birthdate into 3 integeres, mm, dd, and yyyy for proper sorting.
my problem now is that if i fill an array with person objects, how do I 'extract' the age data so that i can compare it for my quicksort?
p.s. it has to be quicksort
|
On January 02 2012 21:31 icystorage wrote:+ Show Spoiler + public class Driver { public static void main (String[] args) { Person First = new Person (First, 15, 01, 01, 1991); Person Second = new Person (Second, 16, 01, 02, 1990); Person Third = new Person (Third, 14, 12, 03, 1992); Person array = {First, Second, Third}; Person.partition(array, 0, 2); System.out.println("The merge sorted 2nd array is as follows: "); for (int i = 0; i < array.length; i++) { System.out.println(array[i] ; } } }
+ Show Spoiler + public class Person { private String name; private int age; private int mm; private int dd; private int yyyy; public Person (String name, int age, int mm, int dd, int yyyy){ this.name = name; this.age = age; this.mm = mm; this.dd = dd; this.yyyy = yyyy; } public static int partition(int arr[], int left, int right) { int i = left, j = right; int tmp; int pivot = arr[(left + right) / 2]; while (i <= j) { while (arr[i].getAge() < pivot.getAge()) i++; while (arr[j].getAge() > pivot.getAge()) j--; if (i <= j) { tmp = arr[i].getAge(); arr[i].getAge() = arr[j].getAge(); arr[j].getAge() = tmp; i++; j--; } }; return i; } void quickSort(int arr[], int left, int right) { int index = partition(arr, left, right); if (left < index - 1) quickSort(arr, left, index - 1); if (index < right) quickSort(arr, index, right); } public int getAge(){ return age; } }
i would like help from TL's java programmers. im still a complete noob in using java and our prof has given us homework where we have to sort an array of persons based on their name, age and birthdate. so i made the name a string and the age as a integer. i divided the birthdate into 3 integeres, mm, dd, and yyyy for proper sorting. my problem now is that if i fill an array with person objects, how do I 'extract' the age data so that i can compare it for my quicksort? p.s. it has to be quicksort
Why not just use a Date class for the birthdate or are you not allowed?
|
You want other people to do your homework. Interesting ;-)
First of all. Follow the java conventions. Variables are always lowercase letters. Then you're missing the " for strings. Your code won't even compile. Have you tried it?
Use Calender for dates, not 3 integers. E.g Calendar birthDate= new GegorianCalendar(2000,1,1);
Now about the comparing things. Your Person class needs to implement the Comparable interface. So will force you to implement a compare(...) method, which will in turn allow the Arrays.sort() method to sort your array.
Now you will need to use google and java doc a lot
|
you have
Person First = new Person (First, 15, 01, 01, 1991); Person Second = new Person (Second, 16, 01, 02, 1990); Person Third = new Person (Third, 14, 12, 03, 1992); Person array = {First, Second, Third}; Person.partition(array, 0, 2);
and then
public static int partition(int arr[], int left, int right)
I don't understand what you did there (no pun intended). Shouldn't it be :
Person First = new Person (First, 15, 01, 01, 1991); Person Second = new Person (Second, 16, 01, 02, 1990); Person Third = new Person (Third, 14, 12, 03, 1992); Person[] array = {First, Second, Third}; Person.partition(array, 0, 2);
and then
public static int partition(Person[] array, int left, int right)
Anyway I don't think you can use comparators (yeah it should run in n log n but i guess the point of the exercise is to make a quicksort.
First you should use a java.land.Date for the birthDate, you can then use the before and after methods.
Before I can give other advice it would be good to comment your code so we can know where you're at right now. I don't fully understand your code just by looking at it as it is.
edit : fuck can't bold in code tags...
|
public Person (String name, int age, int mm, int dd, int yyyy){..} Person First = new Person (First, 15, 01, 01, 1991);
that doesn't really match by the way.. you should have:
Person First = new Person ("First", 15, 01, 01, 1991);
also, you should get used to writing variable names in lower case, so ideally it would be:
Person first = new Person ("First", 15, 01, 01, 1991);
same with second, third obviously.
|
now these are the reasons i ask in tl because our profs doesnt teach us anything, i didnt even know theres a Calendar class!
@Sanix yes i have tried compiling it, i didnt expect it to run, just checked for errors, and the errors said the int cant be dereferenced (w/c i didnt understand but i guess my mistake was pointed out by FranzP)
@FranzP thanks for pointing that out ._. im such a noob.
im not asking tl to do my homework for me im just asking for advice on how to proceed coz sometimes people can see what's wrong on your code
thanks guys!
edit: btw, if i use the Calendar datatype, can it determine if one Calendar is larger than the other Calendar? when comparing
|
On January 02 2012 16:46 ccherng wrote: Does anyone have a detailed explanation of how to use cookies to implement both of the following logins securely.
1) Login meaning either one time login that which is NOT persistant meaning when the browser is closed a new browser is opened to the site a new login is required.
2) Login meaning its persistent for some number of days like you usually see with sites like gmail.
How does one implement this using raw html, javascript for the frontend, and SQL, C++ with a very barebones basic html server for the backend. I would like to understand the low level details. I don't want to see some PHP high level implementation. Oh and it needs to be ultra secure.
When you say C++ do you use a web framework or just pure C++. Because I actually have no idea how to develop a web site with just C++ (and I don't think a lot of people do).
I ask that because you won't go anywhere without a big layer of abstraction to handle session and cookie. At least HttpRequest, HttpResponse, Cookie and Session object. The security behind your web site doesn't depend on the language you use but more on how people can interact with it and how you deal with interaction (a website without any user interaction like comment etc will be a lot safer).
As for your points : 1) You should just store a sessionID in a session cookie. It will reset itself when the browser is closed (or leave the website) then reopened. 2) just store a sessionID in a persistent cookie and save it to your DB. He you want to be extra safe use a secure cookie and HTTPS
If you want to understand more about session and cookie implementation just go look for it there is plenty of documentation on different implementation. http://en.wikipedia.org/wiki/HTTP_cookie provides a lot of explanation.
The point is, you can't be more secure than cookie let you be. You can generate the httpresponse with the cookie yourself but I don't think there is any point in that. Just PHP or something else. If you're just curious about cookie implementation read the HTTP specification :D
|
Can anyone recommend me a rather recent tutorial on how to create 3d games in java? All i can find with google are tutorials from 2004 and older, but i guess a lot changed since then so its better to use a more recent one?
|
On January 02 2012 22:31 Warri wrote: Can anyone recommend me a rather recent tutorial on how to create 3d games in java? All i can find with google are tutorials from 2004 and older, but i guess a lot changed since then so its better to use a more recent one?
The most obvious reason I can think of "Why there is no tutorial to do 3D java games" is because java sucks for making games. Most 3D engines are not made for java because it is not in the philosophy of the java language (and it is a lot less efficient than other language because of the JVM).
So you can make a game in 3D using java and Java3D (http://fivedots.coe.psu.ac.th/~ad/jg/) but I don't think that would be the right choice of language.
The simplest way to do a 3D game must be XNA and C# (it's not far from java anyway)
|
On January 02 2012 22:37 FranzP wrote:Show nested quote +On January 02 2012 22:31 Warri wrote: Can anyone recommend me a rather recent tutorial on how to create 3d games in java? All i can find with google are tutorials from 2004 and older, but i guess a lot changed since then so its better to use a more recent one? The most obvious reason I can think of "Why there is no tutorial to do 3D java games" is because java sucks for making games. Most 3D engines are not made for java because it is not in the philosophy of the java language (and it is a lot less efficient than other language because of the JVM). So you can make a game in 3D using java and Java3D (http://fivedots.coe.psu.ac.th/~ad/jg/) but I don't think that would be the right choice of language. The simplest way to do a 3D game must be XNA and C# (it's not far from java anyway)
The JVM does not really add a lot to the pure CPU computations, and it is very possible to make games, even 3D games in Java. Still, I would stick with C++ for anything serious, and most non-serious games as well, as there are lots and lots more tools available for game-making there.
|
Yeah I know, but I actually have no idea how good a library like Java3D is at using openGL, and how easy it is to use the library to do cool stuff.
|
On January 02 2012 22:49 FranzP wrote: Yeah I know, but I actually have no idea how good a library like Java3D is at using openGL, and how easy it is to use the library to do cool stuff. Well, the obvious example would be Minecraft...
|
On January 02 2012 22:18 MisterD wrote: public Person (String name, int age, int mm, int dd, int yyyy){..} Person First = new Person (First, 15, 01, 01, 1991);
that doesn't really match by the way.. you should have:
Person First = new Person ("First", 15, 01, 01, 1991);
also, you should get used to writing variable names in lower case, so ideally it would be:
Person first = new Person ("First", 15, 01, 01, 1991);
same with second, third obviously.
Eh, don't type 01, 02, 03 as an integer value unless you mean octal.... in this case ( 01 ) it's still 1 but if you type 010, it's actually 8 instead of 10
|
On January 02 2012 22:44 pettter wrote:Show nested quote +On January 02 2012 22:37 FranzP wrote:On January 02 2012 22:31 Warri wrote: Can anyone recommend me a rather recent tutorial on how to create 3d games in java? All i can find with google are tutorials from 2004 and older, but i guess a lot changed since then so its better to use a more recent one? The most obvious reason I can think of "Why there is no tutorial to do 3D java games" is because java sucks for making games. Most 3D engines are not made for java because it is not in the philosophy of the java language (and it is a lot less efficient than other language because of the JVM). So you can make a game in 3D using java and Java3D (http://fivedots.coe.psu.ac.th/~ad/jg/) but I don't think that would be the right choice of language. The simplest way to do a 3D game must be XNA and C# (it's not far from java anyway) The JVM does not really add a lot to the pure CPU computations, and it is very possible to make games, even 3D games in Java. Still, I would stick with C++ for anything serious, and most non-serious games as well, as there are lots and lots more tools available for game-making there.
The JVM adds absolutely HUGE overhead to the computations. This doesn't matter for business applications, but it's devastating for games. There are very good reasons why absolutely no high-end ("AAA") game get's made in either Java or C#, and all of them are done in C++ and one of them is that Java is just a lot slower than C++.
That's just that though. I'm not saying "don't use Java". By all means, if you like it, use it. You will never get anywhere near the places of games where you need that performance that C++ gives you.
To answer the question: You use OpenGL (I don't think there are any DirectX ports available) just like you would in C++. For that you use libs like lwjgl, which includes an OpenGL binding for Java.
|
On January 02 2012 21:31 icystorage wrote:+ Show Spoiler + public class Driver { public static void main (String[] args) { Person First = new Person (First, 15, 01, 01, 1991); Person Second = new Person (Second, 16, 01, 02, 1990); Person Third = new Person (Third, 14, 12, 03, 1992); Person array = {First, Second, Third}; Person.partition(array, 0, 2); System.out.println("The merge sorted 2nd array is as follows: "); for (int i = 0; i < array.length; i++) { System.out.println(array[i] ; } } }
+ Show Spoiler + public class Person { private String name; private int age; private int mm; private int dd; private int yyyy; public Person (String name, int age, int mm, int dd, int yyyy){ this.name = name; this.age = age; this.mm = mm; this.dd = dd; this.yyyy = yyyy; } public static int partition(int arr[], int left, int right) { int i = left, j = right; int tmp; int pivot = arr[(left + right) / 2]; while (i <= j) { while (arr[i].getAge() < pivot.getAge()) i++; while (arr[j].getAge() > pivot.getAge()) j--; if (i <= j) { tmp = arr[i].getAge(); arr[i].getAge() = arr[j].getAge(); arr[j].getAge() = tmp; i++; j--; } }; return i; } void quickSort(int arr[], int left, int right) { int index = partition(arr, left, right); if (left < index - 1) quickSort(arr, left, index - 1); if (index < right) quickSort(arr, index, right); } public int getAge(){ return age; } }
i would like help from TL's java programmers. im still a complete noob in using java and our prof has given us homework where we have to sort an array of persons based on their name, age and birthdate. so i made the name a string and the age as a integer. i divided the birthdate into 3 integeres, mm, dd, and yyyy for proper sorting. my problem now is that if i fill an array with person objects, how do I 'extract' the age data so that i can compare it for my quicksort? p.s. it has to be quicksort Use a single int for date, where the int represents the number of days since January 1st, 0 AD.
Sort based on this int.
Then, with a little division, it should be easy to get it back to mm/dd/yyyy.
|
On January 02 2012 22:58 Roban wrote:Show nested quote +On January 02 2012 22:18 MisterD wrote: public Person (String name, int age, int mm, int dd, int yyyy){..} Person First = new Person (First, 15, 01, 01, 1991);
that doesn't really match by the way.. you should have:
Person First = new Person ("First", 15, 01, 01, 1991);
also, you should get used to writing variable names in lower case, so ideally it would be:
Person first = new Person ("First", 15, 01, 01, 1991);
same with second, third obviously.
Eh, don't type 01, 02, 03 as an integer value unless you mean octal.... in this case ( 01 ) it's still 1 but if you type 010, it's actually 8 instead of 10
without looking it up right now, i am quite certain, that 010 is still decimal 10 and you have to write 0x10 to get the hexadecimal 8, at least in java.
|
On January 02 2012 16:46 ccherng wrote: Does anyone have a detailed explanation of how to use cookies to implement both of the following logins securely.
1) Login meaning either one time login that which is NOT persistant meaning when the browser is closed a new browser is opened to the site a new login is required.
2) Login meaning its persistent for some number of days like you usually see with sites like gmail.
How does one implement this using raw html, javascript for the frontend, and SQL, C++ with a very barebones basic html server for the backend. I would like to understand the low level details. I don't want to see some PHP high level implementation. Oh and it needs to be ultra secure.
I don't have exact links, but you should look at the HTTP Protocol documentation.
It will be a bit rough, but if you're interested in the low level, this is where it happens.
You can probably find a tutorial that will teach you how to create a web server that displays some text (Listen Socket, parse the incoming HTTP request, and prepare your answer before sending it back to the client.)
Then you can improve from that to learn new stuff one at a time 
|
On January 02 2012 12:31 CAPSLOCKLOL wrote:Show nested quote +On January 02 2012 12:17 MisterD wrote:On January 02 2012 12:14 CAPSLOCKLOL wrote: Hi guys I'm in an introductory java class (AP Computer Science A) and need some help. I was working on a program that imported information from a text file about hurricane data, applied it to arrays, and used the arrays to categorize the information and calculate some averages and such. At the end I had to write the statistics to an output file.
Well in BlueJ I got the right output whenever I compile the program, but when I write it to a file by replacing all the System.out.print w/ outFile.print I check the text file and the output is ALL messed up in note pad. Literally nothing is neatly organized and overall it looks like a clusterfuck! I have absolutely no idea what to do at this point. I have a feeling it might have something to do with my printf methods, but I don't understand why it would look normal when I compile it in BlueJ but look awful in notepad. I'll post any parts of program if needed. try opening it with a different editor. If your program writes unix line breaks (\n), the windows editor screws up because it doens't display those. The windows editor only displays windows style line breaks (\r\n). Oh ok that's it then. I use a lot of \n in my code. Good to know what the issue is! Thanks for the quick reply! :D I find it odd my class would encourage the use of \n and not mention that issue when outputting data. Does windows editor accept System.out.println(); as it seems my only option is to go back and change all the \n to println(); EDIT: Decided to just go with \r\n and it worked beautifully. If my teacher gives me crap about not yet learning anything about \r I'll just go back and fix it whatever way she wants. Once again thanks for the help! 
if you want a operating system adaptive solution you can use System.getProperty("line.separator"); which will create \n on unix, \r\n on windows and \r on old mac systems. That's the behavior println() achieves, the line breaks are different depending on what system the code is executed.
|
On January 02 2012 22:31 Warri wrote: Can anyone recommend me a rather recent tutorial on how to create 3d games in java? All i can find with google are tutorials from 2004 and older, but i guess a lot changed since then so its better to use a more recent one?
Go with jmonkeyengine http://jmonkeyengine.com/ .
Seems like a very serious project. Think they also support games on android if you want to do that.
|
|
|
|