Random tips

Hello, it's been almost half a year, as I published on habrahabr a small service notes/tips to the programmer. To my great surprise, responded very many people who liked the idea.



Honestly, I still receive e-mail from many people with questions about the status of the service and just wishes. Unfortunately I am really busy (full time work), but decided to finish at least the basic functionality and I would slowly tighten it to if the community and this time will appreciate my efforts.

the

the service


First, here is a quote from the site:
the database contains a list of tips with attached tags. You can specify a filter of interest. Service is not online-textbook/collection of articles/FAQs cataloged. Basic idea: random tips, notes, tasks "trick" for job interviews.

I really like the idea of learning words and the rules of using the card: you have them constantly look over until they learn. The idea of service in the same: no breakdown by topics (except for tagging), you just need to limit the range of "cards" to view them.

I have to remember something special in any field takes a few times to encounter this practice, only then comes the realization and ability to use knowledge in the future, but it needs at least a rough idea of what we have "in the Arsenal". For service.

People with lots of experience I don't expect, all notes were taken from books, were invented by me and my friend, for which many thanks to him. Plans to gradually translate the C++ FAQ with examples and, if possible, links to C++ standard.

How it looked before:

image

the

Changes



the
    the
  • Listen to the opinion of some hapalidae, improved status rating of the notes (+made it interactive)
  • the
  • to make the protection from markups (where ajax is used+get the request introduced csrf tokens
  • the
  • Before the site was with ajax navigation, now it is completely static, which is very good impact on search traffic.
  • the
  • Slightly modified design (due to its programmer-design skills)
  • the
  • To protect against wrapping have entered the authorization through social networks
  • the
  • New notes/tips


Of course, from a list of available cards I could not refuse, we've home page, where you can filter by tags and the context of any record.



Initially the idea was to add comments to notes, but this complicates the perception, and destroys the General idea of the service, so I decided to do it another way: to introduce a system of version control, in the form of additions. Any user can submit a request in the comments to any post and if the moderator can confirm, the change will be added to General list, which is displayed at the bottom of each note.

To somehow attract users not only to read, but the notes (which, frankly, does not expect), to each addition of information (comment/advice) you can "attach" any website address.

I imagine working with the service? In any Board you enter the tags and click the "Random Board", or "I'm feeling lucky" (if you need only records with a high rating).

the

the Technical side


This part is hardly different than something special from of a set of projects, but we are on habré, to remain silent is impossible :)

Took a long time but tested a bunch of php+mysql (this allowed us to take a fast start and quickly develop all the necessary). No cms. The whole logic is divided into 2 files: index.php and Logic.php.
For speed, use data caching (currently disabled, so I hope that habré will assume the domain is not for ages):
Take alias page, check in the cache folder, if a file with that name is created — take the generated html content from it, otherwise the query to the database. In fact, the simplest scheme possible.

the

Conclusion


I will be glad to any criticism. Unfortunately, in the near future will not be able to modify the functionality, only to add to the list of tips. All ratings of the notes I had to clean, because they were not protected against cheating. Hope if someone will find waysfirst/unfiltered data, you will not use it for clogging of the base.

And Yes, a lot of people asked the same interface, but for other programming languages. For the test I created an entry with the tag java, but not sure how it will be convenient to divide the category for programming languages in the tags.

service Address

Thank you for your attention.
Article based on information from habrahabr.ru

Comments

Popular posts from this blog

Powershell and Cyrillic in the console (updated)

Active/Passive PostgreSQL Cluster, using Pacemaker, Corosync

Automatic deployment ElasticBeanstalk using Bitbucket Pipelines