|
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. |
Client request: This page loads really slow, could you take a look at it?
Single entity view. 3850 database queries, 2500 forms inside a single modal that's used in 0.01% cases, 700MB memory use, 23sec response time...
Further inspection shows building an enourmous select, each option containing an entire form (all that inside the modal), just for the ajax request when the modal is fired up to select one of those forms and discard the rest using JS html manipulation.
Working with legacy code is rarely a pleasure.
Edit: I guess I'll post here a bit of my history and mention my first true mentor. The owner of one of the companies I used to work for. He was "The Man". Every time someone said something like "It's impossible" he would make everyone stop what they're doing and publicly lecture the person who used those words about the company policy: "We don't use the word 'impossible' here".
Anyway, every time I mentioned I had a problem (I was a mere intern at the time) he would come over and ask me "What is your problem?". Then, I'd tell him that "This and that doesn't work", "This is overly convoluted" etc. and every single time he would simply respond: "That's not your problem. What is your problem?", and he'd repeat that question over and over again until I finally got it. Then, he'd ask me to take pen and paper and show him how I intend to solve it. Many questions and many sheets of paper later I'd come to the conclusion that my problem wasn't as problematic as I thought it was.
There's a lesson in there for anyone who wants to learn coding.
|
Hyrule18969 Posts
who builds a single entity like that? what the hell
|
The queries come from fetching objects with relations, hydrating them and populating all those forms with them. Just commenting out this collection of forms cuts the number of queries down to 20 and all the other parameters get a lot closer to acceptable limits. There's so much work to be done
|
On February 13 2016 08:35 Manit0u wrote: Edit: I guess I'll post here a bit of my history and mention my first true mentor. The owner of one of the companies I used to work for. He was "The Man". Every time someone said something like "It's impossible" he would make everyone stop what they're doing and publicly lecture the person who used those words about the company policy: "We don't use the word 'impossible' here". There are impossible things in software development though. Every now and then we get requests from our customers that are either mutually exclusive with existing intended behavior or even downright contradictory in themselves. Usually there are other ways to get the customer a satisfying result, but still, we don't do the impossible.
|
On February 13 2016 17:58 spinesheath wrote:Show nested quote +On February 13 2016 08:35 Manit0u wrote: Edit: I guess I'll post here a bit of my history and mention my first true mentor. The owner of one of the companies I used to work for. He was "The Man". Every time someone said something like "It's impossible" he would make everyone stop what they're doing and publicly lecture the person who used those words about the company policy: "We don't use the word 'impossible' here". There are impossible things in software development though. Every now and then we get requests from our customers that are either mutually exclusive with existing intended behavior or even downright contradictory in themselves. Usually there are other ways to get the customer a satisfying result, but still, we don't do the impossible.
It's all about how you look at it. If you gave the customer satisfying results then it sounds like you did just do the impossible. There are lots of times, especially in working with customers, that you get unreasonable requests. It's all about realizing that everything in software development becomes a trade off. I'm still a firm believer and tell our customers that anything is possible...given enough time and money. You and I both know that that last part is laughable, but it's true. How bad does the customer really want what they are asking for?
All that being said, I still like a culture that believes that nothing is impossible because it lends itself well to always trying to think through the problem to find a solution. I hate it when people just throw their hands in the air and say that it's impossible or can't be done. Find the solution certainly doesn't mean that it's reasonable, but it still exists, and sometimes... it might just be crazy enough to work.
|
Does StarCraft need any application which we could develop in our free time as a group?
|
On February 14 2016 07:16 Shield wrote: Does StarCraft need any application which we could develop in our free time as a group? I heard we need a new MapHack
...
There are always nice applications that could improve the QOL of players.
|
On February 06 2016 14:34 vik7 wrote: Hey I never really posted on this thread before, I'm just wondering If I could find a mentor or something I've been learning Java, yes I watch videos and read about java, and practice, however hopefully I can find a mentor I can skype here and there with questions =D
Funny I was just thinking the same thing. Its not so much that I can't be bothered to google the question, but that I don't know how to phrase the question in a way that returns the answer I'm looking for..
|
On February 15 2016 04:57 Railgan wrote:Show nested quote +On February 14 2016 07:16 Shield wrote: Does StarCraft need any application which we could develop in our free time as a group? I heard we need a new MapHack ... There are always nice applications that could improve the QOL of players. Come help me do StarGraphed. I'm time limited.
|
Anyone here got experience with AngularJS and Typescript? I've got everything working fine except for directives. I can't seem to figure out how to get them to work with Typescript. I've done some googling, but nothing I've tried, when it comes to declaring them etc, just getting them setup so that I can use them.
|
|
Basically, the N sailors do this:
int coconuts = ...; for(int i = 0; i < N; ++i) { // at this point coconuts % N must be 1 coconuts -= 1; // goes to the monkey // at this point coconuts % N must be 0 coconuts -= coconuts / N; // hidden by a sailor } // at this point coconuts % N must be 0 // split the remaining coconuts among N sailors
The question asks you to work out the lowest possible number of initial coconuts of any N > 1.
Also this is more of a math puzzle than a programming question.
|
On February 17 2016 05:14 spinesheath wrote:Basically, the N sailors do this: int coconuts = ...; for(int i = 0; i < N; ++i) { // at this point coconuts % N must be 1 coconuts -= 1; // goes to the monkey // at this point coconuts % N must be 0 coconuts -= coconuts / N; // hidden by a sailor } // at this point coconuts % N must be 0 // split the remaining coconuts among N sailors
The question asks you to work out the lowest possible number of initial coconuts of any N > 1. Also this is more of a math puzzle than a programming question.
Would you be kind to solve it mathematically as I still don't quite get the whole idea of the question... Yes I'm very slow at getting things... T_T
|
Hyrule18969 Posts
Watch the video in the reddit OP, they go over the math quite well
|
On February 17 2016 05:52 WrathSCII wrote:Show nested quote +On February 17 2016 05:14 spinesheath wrote:Basically, the N sailors do this: int coconuts = ...; for(int i = 0; i < N; ++i) { // at this point coconuts % N must be 1 coconuts -= 1; // goes to the monkey // at this point coconuts % N must be 0 coconuts -= coconuts / N; // hidden by a sailor } // at this point coconuts % N must be 0 // split the remaining coconuts among N sailors
The question asks you to work out the lowest possible number of initial coconuts of any N > 1. Also this is more of a math puzzle than a programming question. Would you be kind to solve it mathematically as I still don't quite get the whole idea of the question... Yes I'm very slow at getting things... T_T Play through the events of a random example.
Let's say you have 72 coconuts. You have 5 sailors. There's the monkey.
It turns dark, the night starts. The first sailor has his go at the pile.
The first sailor's calculates 72 / 5 = 14 * 5 + 2. He takes 14 coconuts and the monkey gets 2. What happens to the pile of coconuts is 72 - 14 - 2 = 56.
The second sailor calculates 56 / 5 = 11 * 5 + 1. He takes 11 coconuts and the monkey gets 1. The changes in the pile are 56 - 11 - 1 = 44.
Third: 44 -> (8, 4) and 32
Fourth: 32 -> (6, 2) and 24
Fifth: 24 -> (4, 4) and 16
Then the night ends and on the next day the pile is 16 coconuts. That divides into 3 coconuts per sailor and remainder 1.
As you can see, if you have 72 coconuts in the starting pile, the rules that are mentioned in the question don't work out. For each sailor, there's supposed to always be a remainder of one coconut for the monkey, but in this play-through here, this was different for each sailor. The pile at the end is supposed to have a number of coconuts that divide by the number of sailors, but here this wasn't the case.
You are now supposed to search for a number of coconuts for the pile where this all works out.
|
On February 15 2016 15:42 phiinix wrote:Show nested quote +On February 06 2016 14:34 vik7 wrote: Hey I never really posted on this thread before, I'm just wondering If I could find a mentor or something I've been learning Java, yes I watch videos and read about java, and practice, however hopefully I can find a mentor I can skype here and there with questions =D Funny I was just thinking the same thing. Its not so much that I can't be bothered to google the question, but that I don't know how to phrase the question in a way that returns the answer I'm looking for..
Well like 80% of real programming is communication, so it's definitely a skill worth working on. Try to read programming blogs if you want to get a feel for talking about technical topics, or listen to Youtube tutorials, or best of all write some (a lot).
And honestly I'm pretty sure if you just post in here random mumbo jumbo someone's bound to guess at what you're talking about. If you have questions people can answer, or if you want code review just throw stuff on a Github repo and link it.
---
side tangent, but Ive been blogging in my free time for the last 4 years and I've totally noticed that my written communication skills have gotten a lot better. Creative writing in school is pretty fun to me now that writing comes more naturally.
|
Anyone here have experience with using websites in Azure? First time for me and I'm trying to figure out how to use the session in an Azure web app. From what I've read, the typical way of using session is not supported by Azure. Before, I used to do something like this:
public ViewState GetViewState(bool refresh) { ViewState viewState = (ViewState)Session["ViewState"]; if (viewState == null || refresh) { viewState = new ViewState(); Session["ViewState"] = viewState; } return viewState; }
ViewState is an object I use to hold all other objects I want to save in session. I can't seem to find a way to do it as simply as this that Azure supports. Everything else I've found requires me to either (1) specify key-value pairs of data, thereby making complex objects to store a nightmare, (2) serialize all objects into a string, meaning now I have to make sure all my objects are serializable and the objects they use are seriablizable, etc, or (3) use some kind of table data storage, meaning now I have to manage tables, and any changes to what I want to store in session will be double the work with having to keep the tables up to date.
I tested the code above, and it seems to work just fine in Azure as it does in IIS on my personal machine. Am I at risk if I just do it the way I've always done it?
|
|
It's what I've always done at work since we have full IIS servers dedicated to the web sites we build, so I'm trying to do the same thing at home with my own personal project. It's a huge time saver. When the business logic and class structures are complex, it saves me from having to manage an additional layer that extracts the raw data, saves it elsewhere, and has to know how to instantiate and reload all the objects again with that raw data.
|
More legacy code adventures...
Boss: "Can you check what's wrong with this module?"
*taking a peek* + Show Spoiler + function func1() { foreach () { foreach () { foreach () { if () { if () { } } } } }
return; }
function func2() { if () { } else { if () { } else { } }
if () { if () { }
if () { }
if () { }
if () { } }
if () { } else { }
if () { } else { }
if () { }
if () { }
if () { if () { if () { } else { } } else { } } else { if () { if () { } else { } } elseif () { if () { if () { if () { } else { } } else { if () { } else { } } } else { if () { if () { } else { } } else { if () { } else { } } } } else { if () { } else { } } }
if () { if () { if () { } } }
return; }
function func3() { if () { } else { }
if () { if () { }
if () { }
if () { }
if () { } }
if () { } else { }
if () { } else { }
if () { }
if () { }
if () { if (]) { if () { } else { } } else { } } else { if () { if () { } else { } } elseif () { if () { if () { if () { } else { } } else { if () { } else { } } } else { if () { if () { } else { } } else { if () { } else { } } } } else { if () { if () { }
if () { } } else { if () { }
if () { } } } }
if () { if () { if ()) { foreach () { } } } }
return; }
Me:
|
|
|
|