|
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 12 2016 03:08 Nesserev wrote:It seems like its original implementation is: Vector_ref(T* a, T* b = 0, T* c = 0, T* d = 0) { if (a) push_back(a); if (b) push_back(b); if (c) push_back(c); if (d) push_back(d); }
This constructor allows you to initiate the vector with between 1 and 4 pointers. The first parameter cannot have a default parameter, otherwise there would be ambiguity with the other constructor. The second to last parameters all have a nullptr as their default parameter, so if you don't pass any extra parameters, nothing extra is pushed at the back of the list.
I understand. Thank you Sensei Nesserev.
|
hey guys,
i have a bit of a simple sql insert query issue.
Here is the context;
http://imgur.com/a/QBVGf
Using MySQL & C# with Visual Studio
string insertImageQuery = "INSERT INTO image_table (image_name, image, status_id, user_id, tag_id) VALUES ('" + prov_imgname_tb.Text + "', @IMG, '" + prov_imgstatus_tb.Text + "', '" + prov_uid_tb.Text + "', '" + (this.prov_imgtag_cb.SelectedIndex + 1) + "');";
I want to put focus on the bolded part. Just to get the system working I'm using that line of code as a work-around, and it could stay that way however this could cause issues down the road so I would like to find a proper fix.
The combo box is filled from a method which just grabs all the tag_description entries from the tags_table (two columns in the table, tag_id and tag_description), when inserting a new image into the database, I want the insert to contain the matching tag_id from the selected tag_description in the combo box, but I am unsure how to do this.
I looked into INSERT SELECT and came up with this statement;
INSERT INTO image_table (tag_id) SELECT tags_table.tag_description FROM tags_table WHERE image_table.tag_id = tags_table.tag_id
So I'm thinking I need two separate insert statements within the same query but I am unsure if that is possible?
Pretty new to SQL so sorry if this is an easier question.
Cheers!
|
On October 12 2016 18:12 Sedzz wrote:hey guys, i have a bit of a simple sql insert query issue. Here is the context; http://imgur.com/a/QBVGfUsing MySQL & C# with Visual Studiostring insertImageQuery = "INSERT INTO image_table (image_name, image, status_id, user_id, tag_id) VALUES ('" + prov_imgname_tb.Text + "', @IMG, '" + prov_imgstatus_tb.Text + "', '" + prov_uid_tb.Text + "', '" + (this.prov_imgtag_cb.SelectedIndex + 1) + "');"; I want to put focus on the bolded part. Just to get the system working I'm using that line of code as a work-around, and it could stay that way however this could cause issues down the road so I would like to find a proper fix. The combo box is filled from a method which just grabs all the tag_description entries from the tags_table (two columns in the table, tag_id and tag_description), when inserting a new image into the database, I want the insert to contain the matching tag_id from the selected tag_description in the combo box, but I am unsure how to do this. I looked into INSERT SELECT and came up with this statement; INSERT INTO image_table (tag_id) SELECT tags_table.tag_description FROM tags_table WHERE image_table.tag_id = tags_table.tag_id So I'm thinking I need two separate insert statements within the same query but I am unsure if that is possible? Pretty new to SQL so sorry if this is an easier question. Cheers!
First things first, never use string concatenation to create queries, use prepared statements. In your current query, a text containing the ' character would cause the statement to fail.
As for the query, you are looking for, I don't completely understand what you actually want to do and what data you actually have available, but it might be that this is what you are looking for:
INSERT INTO image_table (image_name, image, status_id, user_id, tag_id) SELECT @name, @image, @statusText, @userID, tag_table.tag_id FROM tag_table WHERE tag_table.tag_description=@tagDescription
|
@seedzz Always sanitize your SQL inputs and use prepared statements.
If the user inputs
a', 'b', 0, 0, 0); drop table image_table; --
your table is gone.
|
|
So, we had lecture today, and professor was going over binary trees.
And he said:
"There's so much you to know about trees, I could fill an entire course. And we do, it's called 420. Take 420 if you want to know about trees."
- intentional ? No one laughed but I had to stifle mine.
(cmsc 420 is the course on data structures, apparently)
...if you guys are too nerdy to see why this is funny I will be disappointed
|
On October 12 2016 18:12 Sedzz wrote:hey guys, i have a bit of a simple sql insert query issue. Here is the context; http://imgur.com/a/QBVGfUsing MySQL & C# with Visual Studiostring insertImageQuery = "INSERT INTO image_table (image_name, image, status_id, user_id, tag_id) VALUES ('" + prov_imgname_tb.Text + "', @IMG, '" + prov_imgstatus_tb.Text + "', '" + prov_uid_tb.Text + "', '" + (this.prov_imgtag_cb.SelectedIndex + 1) + "');"; I want to put focus on the bolded part. Just to get the system working I'm using that line of code as a work-around, and it could stay that way however this could cause issues down the road so I would like to find a proper fix. The combo box is filled from a method which just grabs all the tag_description entries from the tags_table (two columns in the table, tag_id and tag_description), when inserting a new image into the database, I want the insert to contain the matching tag_id from the selected tag_description in the combo box, but I am unsure how to do this. I looked into INSERT SELECT and came up with this statement; INSERT INTO image_table (tag_id) SELECT tags_table.tag_description FROM tags_table WHERE image_table.tag_id = tags_table.tag_id So I'm thinking I need two separate insert statements within the same query but I am unsure if that is possible? Pretty new to SQL so sorry if this is an easier question. Cheers! If you've already pulled the list of id's and descriptions to fill the combo box, why not just use that list to build the SQL statement? You can use the selected index property of the combo box to know which item in the list is selected.
|
|
when I open up twitch chat www.twitch.tv and open network tab of my developer console, I see no requests going and no response containing new chat messages. How does it work? when chat is very fast how does it refresh so fast without making get requests 100 times a second?
|
On October 13 2016 05:43 mantequilla wrote:when I open up twitch chat www.twitch.tv and open network tab of my developer console, I see no requests going and no response containing new chat messages. How does it work? when chat is very fast how does it refresh so fast without making get requests 100 times a second?
That's what WebSockets are for. You make only a single request to the application and you have an open connection over which you can send data back and forth in various formats until the connection is closed.
You can obviously use stuff like socket.io for that, but that's yet another JS framework...
Example (really old one): https://www.sanwebe.com/2013/05/chat-using-websocket-php-socket
|
On October 13 2016 04:04 Nesserev wrote:Show nested quote +On October 13 2016 02:14 travis wrote: So, we had lecture today, and professor was going over binary trees.
And he said:
"There's so much you to know about trees, I could fill an entire course. And we do, it's called 420. Take 420 if you want to know about trees."
- intentional ? No one laughed but I had to stifle mine.
(cmsc 420 is the course on data structures, apparently)
...if you guys are too nerdy to see why this is funny I will be disappointed Sorry, I almost didn't recognize that internet meme without all the BLAZE IT references, Snoop Dogg images and MLG airhorns.
programmers r 2 serious 4 me
|
On October 12 2016 18:35 Morfildur wrote:First things first, never use string concatenation to create queries, use prepared statements. In your current query, a text containing the ' character would cause the statement to fail. As for the query, you are looking for, I don't completely understand what you actually want to do and what data you actually have available, but it might be that this is what you are looking for: INSERT INTO image_table (image_name, image, status_id, user_id, tag_id) SELECT @name, @image, @statusText, @userID, tag_table.tag_id FROM tag_table WHERE tag_table.tag_description=@tagDescription
Cheers. This is a university level unit I'm taking and I think it's either intentionally vague or not very well run because so far there has been no mention of prepared statements nor sanitisation (in-fact, our lecturer encourages the way I've done it) but I think I'm going to incorporate the prepared statements into the code as it's good practice.
|
I giggled at 420. Heh
(Deleted)
|
|
On October 13 2016 11:25 Sedzz wrote:Show nested quote +On October 12 2016 18:35 Morfildur wrote:First things first, never use string concatenation to create queries, use prepared statements. In your current query, a text containing the ' character would cause the statement to fail. As for the query, you are looking for, I don't completely understand what you actually want to do and what data you actually have available, but it might be that this is what you are looking for: INSERT INTO image_table (image_name, image, status_id, user_id, tag_id) SELECT @name, @image, @statusText, @userID, tag_table.tag_id FROM tag_table WHERE tag_table.tag_description=@tagDescription Cheers. This is a university level unit I'm taking and I think it's either intentionally vague or not very well run because so far there has been no mention of prepared statements nor sanitisation (in-fact, our lecturer encourages the way I've done it) but I think I'm going to incorporate the prepared statements into the code as it's good practice.
And please use LINQ for that. It's way clearer what's going on in the code this way.
|
This is a more math and less programming, but I figured it might be relevant since I'm trying to solve this problem: https://projecteuler.net/problem=213
Suppose I throw two dice. What are the chances that at least one die will be a 1? I know that the calculation would be the chances of rolling a 1 on either die minus the changes of rolling a 1 on both dice: (1/6) + (1/6) - ((1/6) * (1/6))
Suppose I throw three dice (or more). What are the chances that at least one die will be a 1? The logic is the same, add up the probabilities of rolling a 1 on either die and subtract all the potential overlaps, but I'm not sure how to calculate that. Any help?
|
Probability of [X] is the same as 1 - [NOT X]. In this case [NOT X] is very easy to calculate, so do that instead of figuring all the ways [X] can happen.
If you do want to do it the hard way you need to figure out and add together all the different ways to get to the expected outcome. In the case of 2 dies:
- First dice is 1, second dice is not 1. 1/6 * 5/6
- First dice is not 1, second dice is 1. 5/6 * 1/6
- First dice is 1, second dice is 1. 1/6*1/6
Result: 1/6 * 5/6 + 5/6 * 1/6 + 1/6 * 1/6 = 11/36
|
On October 14 2016 10:19 slmw wrote: Probability of [X] is the same as 1 - [NOT X]. In this case [NOT X] is very easy to calculate, so do that instead of figuring all the ways [X] can happen. Thank you! I knew it wasn't as complicated as I was imagining.
|
On October 14 2016 10:25 enigmaticcam wrote:Show nested quote +On October 14 2016 10:19 slmw wrote: Probability of [X] is the same as 1 - [NOT X]. In this case [NOT X] is very easy to calculate, so do that instead of figuring all the ways [X] can happen. Thank you! I knew it wasn't as complicated as I was imagining. What slmw said will help you a lot if you increase the number of dice from 2 to 200.
|
Trying to make may way through:
Programming: Principles and Practice Using C++ Second Edition Bjarne Stroustrup
So at the end of chapter 19, there are talks about implementing a version of the standard library vector. One of the suggested versions has a base class, that handles the resources.
template<typename T, typename A = allocator<T>> class myvector : private vector_base<T,A>{ public: using vector_base<T,A>::vector_base; };
template<typename T, typename A> struct vector_base{ A alloc; //allocator long unsigned int sz; //number of elements T* elem; //start of allocation long unsigned int space; //amount of allocated space
vector_base(const A& a, long unsigned int n) :alloc{a}, sz{n}, elem{alloc.allocate(n)}, space{n} {}
~vector_base(){ for(long unsigned int i=0; i < sz; ++i) alloc.destroy(&elem[i]); alloc.deallocate(elem,space); } };
So my question is mostly about the destructor. The for loop, is it nessecary? It is not in the destructor in the book, but in the reserve function. There it is called after copying the original elements into a new vector:
template<typename T, typename A> void myvector<T,A>::reserve(long unsigned int newalloc) { if( newalloc <= this->space )return; //never decrease allocation vector_base<T,A>b(this->alloc,newalloc); //allocate new space uninitialized_copy(this->elem,&this->elem[this->sz],b.elem); //copy old elements /*for(long unsigned int i=0; i < this->sz; ++i) // this->alloc.destroy(&this->elem[i]); // */ b.sz = this->sz; //about to swap, preserve number of elements(constructor of b has set b's size to b's capacity) this->space = b.space; //about to swap, this space still is < newalloc swap<vector_base<T,A>>(*this,b); }
I am totally in over my head here, it "felt" right. Now why is it actually wrong, right, good or bad?
|
|
|
|