{"id":20581225,"url":"https://github.com/jonathas/top10ips","last_synced_at":"2026-04-09T17:03:44.979Z","repository":{"id":26366492,"uuid":"29815682","full_name":"jonathas/top10ips","owner":"jonathas","description":":computer: Reading an Apache log file and parsing the 10 most repeated IP addresses. Developed in C++, C#, Groovy, Java, JavaScript, Lua, Perl, PHP, Python and Ruby","archived":false,"fork":false,"pushed_at":"2015-01-25T14:34:03.000Z","size":392,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-16T22:37:34.071Z","etag":null,"topics":["apache","cpp","csharp","groovy","java","javascript","logfile","lua","perl","php","python","ruby"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jonathas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-25T13:56:32.000Z","updated_at":"2017-09-14T09:26:40.000Z","dependencies_parsed_at":"2022-08-28T15:33:10.342Z","dependency_job_id":null,"html_url":"https://github.com/jonathas/top10ips","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathas%2Ftop10ips","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathas%2Ftop10ips/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathas%2Ftop10ips/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathas%2Ftop10ips/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonathas","download_url":"https://codeload.github.com/jonathas/top10ips/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242206045,"owners_count":20089255,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apache","cpp","csharp","groovy","java","javascript","logfile","lua","perl","php","python","ruby"],"created_at":"2024-11-16T06:27:31.936Z","updated_at":"2025-12-30T19:04:23.118Z","avatar_url":"https://github.com/jonathas.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Top10IPs\n\n\u003cp\u003eThis software enables you to read an Apache log file, showing you it's TOP 10 most repeated IP addresses.\u003c/p\u003e\n\n\u003cp\u003eI've had this idea after being on an interview for a Software Engineer position at Google. \nThe interviewer gave me a format example:\u003c/p\u003e\n\n\u003cp\u003e1233454356\\tGET /index.html\\t10.10.10.1\\n.\u003cbr\u003e\n123345343\\tGET /index.html\\t10.10.10.1\\n.\u003cbr\u003e\n123345435\\tGET /index.html\\t10.10.12.1\\n.\u003c/p\u003e\n\n\u003cp\u003eAnd asked me to write an algorithm on Google Docs shared with him (while he would give me a very short time and be watching me real time on Hangouts) to read that file and output it's top 10 ip addresses in the following format:\u003c/p\u003e\n\n\u003ctable\u003e\n\u003ctr\u003e\u003cth\u003eRANK\u003c/th\u003e\u003cth\u003eIP\u003c/th\u003e\u003cth\u003eCOUNT\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e1\u003c/td\u003e\u003ctd\u003e10.10.10.1\u003c/td\u003e\u003ctd\u003e2\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e2\u003c/td\u003e\u003ctd\u003e10.10.12.1\u003c/td\u003e\u003ctd\u003e1\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003cp\u003eThough that would have been easy to develop, things didn't go as expected at the time for me, as I wasn't able to think normally the way I usually do.\u003c/p\u003e\n\u003cp\u003eI told them I strongly disagree with that interview format, and they'd be missing some good people with that, as I've also heard that many people who have been through that have experienced the same as me.\u003c/p\u003e\n\n\u003cp\u003eThen, as they thought I wasn't able to develop that, I decided to develop the code for that in 10 different languages and reading from a real log file I got from a random day.\u003c/p\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathas%2Ftop10ips","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonathas%2Ftop10ips","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathas%2Ftop10ips/lists"}