uchicago-mobi / 2015-Winter-Forum

8 stars 1 forks source link

My iOS app - LeetCoding launched on App Store #169

Closed yiqin closed 9 years ago

yiqin commented 9 years ago

leetcoding-58 Hi everyone. My latest iOS app - LeetCoding launched on App Store.

LeetCoding lets you review coding interview questions in your phone. Just review. Use your spare time to review these questions. No coding until you know how to solve the problem. LeetCoding is definitely the app you want to use at the first step of your interview preparation.

https://itunes.apple.com/us/app/leetcoding/id963066061?mt=8

screen322x572-8 screen322x572-9

JRam13 commented 9 years ago

Great job! Feels like I'm back in Algorithms with Brady...

johnnypaper commented 9 years ago

Very nice work!...Is that your final project?

johnnypaper commented 9 years ago

@xctom ... And how does that make you feel?

yiqin commented 9 years ago

@johnnypaper It was developed from one of our homework - build an app for GitHub. I reused most part of the code. I planed. But I found that the final project require a lot of staff.... The app maybe not good enough to be a final project.

JRam13 commented 9 years ago

Missed an opportunity to name it 1337Coding!

yiqin commented 9 years ago

@JRam13 Thanks. That's the most difficult course I have even took.

yiqin commented 9 years ago

@JRam13 What does 1337 mean?

JRam13 commented 9 years ago

leet in nerdspeak.

yiqin commented 9 years ago

@JRam13 I like this name. Let me change the name now.

bobby-digital-23 commented 9 years ago

http://en.m.wikipedia.org/wiki/Leet

Congrats!!!! :)

johnnypaper commented 9 years ago

*fun with binary --- it always warms the soul

narvemp commented 9 years ago

cool app! just out of curiosity, where did you find the problems?

JRam13 commented 9 years ago

yiqin commented 9 years ago

@narvemp I used Kimono Lab https://www.kimonolabs.com/ to scratch questions from different websites. Then put all data to the cloud database https://parse.com/customers Parse.com is super easy to use. If you want to a backend for your final project, I can help you to setup in 10 mins.

johnnypaper commented 9 years ago

@yiqin seems only problem is the exponential scale...I looked at parse and they nail you if you're over the 30 req/s

Did you throttle that in some sort of way... like hit it in a loop to see what occurs after you hit the mark?

JRam13 commented 9 years ago

@johnnypaper we use Parse.com for Qualia, we have over 1Million requests a month (scripts that sync with Fitbit/Withings/iHealth data). We don't reach nowhere near 30 req/s.

If you're getting 30req/sec, you can afford the heavy price tag.

JRam13 commented 9 years ago

@johnnypaper Ok I lied a bit, and req/sec is very different than total requests. However, my conclusion still stands, 30 req/sec is pretty good for a free tier. Also, there are ways you can control this, it all depends how you implement requests and data transfers in your code.

johnnypaper commented 9 years ago

I was just doing some math...and I'm not very good with it...but I don't believe 30/s is outside the realm. In totality perfectly synchronized in a month that would be 77.76M...and yeah that seems like plenty. However, clustering is the real issue. And I bet you're gonna have to roll out that checkbook pretty soon. Question is, what occurs with the app ONCE that is hit. Timeout? Halt of API key until you put in a credit card? timeout for a second ....who cares. Halt until pay or auto pay...mmmm. That's not good news.

yiqin commented 9 years ago

@johnnypaper It returns an error that states "something wrong bararaba ". I think you don't need to worry about it. Few apps can reach 30 req/sec.

JRam13 commented 9 years ago

@johnnypaper You don't even start thinking about req/sec with under 10,000 users. If you have more than 10,000 users, you should have enough revenue to cover your backend costs. On top of that, the way you save data in parse is by calling saveInBackgroundWithCompletion: which returns a success block if the transfer was successful (or an error). If by some chance there's an error, you can handle this scenario in code.

My point is, this shouldn't discourage you from using something like Parse.com. I know you either love it or hate it, but it truly is one of the simplest backend services I've used.

bobby-digital-23 commented 9 years ago

Downloaded your app and gave it 5 stars. Great job!

johnnypaper commented 9 years ago

All interesting points. And that seems nice to handle any errors in that manner. I'll have to give it another look. Thanks for the pointers. And nice job once again @yiqin!

yiqin commented 9 years ago

@bobby-digital-23 @johnnypaper Thanks.

tabinks commented 9 years ago

Congrats. It's always a big deal to get anything in the store. I agree about Parse, it is a great way to get up and running. Once you are dealing with 1M+ requests/month, you can either afford to pay them or get someone to develop a cheaper backend. Also, don't forget about CloudKit...if its on iOS, you get all this for free.