|
Тяпничная география
|
|||
---|---|---|---|
#18+
whois и who.is и прочие им подобные выдают DNS записи по хостингам. Но среди них я не нашёл гео-привязки. Вообще мне кажется что централизованной детальной БД по geoip не существует. Ну... или по крайней мере каждый повайдер ведёт свою собственную БД сродни техучёта или кабельного хозяйства. И эта БД вряд-ли где-то шарится. Поэтому координаты крупных городов это пожалуй наиболее достоверная инфа. Дальше - приватная. И децентрализованная. Насчёт США с их Prism и прочими системами - очень даже верю. Но... это только под силу таким государствам. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2015, 23:28 |
|
Тяпничная география
|
|||
---|---|---|---|
#18+
По поводу Country-IP диаграммы. Так я буду называть это. Вобщем я подумал. И решил что делать это удобно через конвейер тулзов. Это даёт больше свободы творчества и экспериментов. Я не буду кодить конкретно реализацию рисовалки картинок. А сделаю нечто вроде набора процессов поставщиков-потребителей. Код: powershell 1.
Причём часть из этих утилит возможно есть в линуксе точнее их аналоги такие как sort, awk/gawk, sqlite, grep, imagemagic. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2015, 00:06 |
|
Тяпничная география
|
|||
---|---|---|---|
#18+
Pantone Color Tables. Не знаю нахрена она нужна но выглядит красиво. Пожалуй возьму себе. http://www.novact.info/id40.html Там 121 цвет. Надо еще придумать где найти недостающие. Есть варианты. 1) Генерить случайно. 2) Брать две буквы названия страны (RU,US,CA) и каким-то образом получать RGB тройку. И еще не забыть системные 8 цветов (самые насыщееные типа 'red','cyan','magenta') добавить в top 8 стран чтоб ярче и заметнее было. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2015, 11:33 |
|
Тяпничная география
|
|||
---|---|---|---|
#18+
Значит вот что я придумал. Итак 239 стран. Надо раздать им цвета. Палитру белых-серых-черных я резервирую для системных нужд. Поэтому цвета близкие к FFFFFF, C0C0C0, 000000 будут игнорироваться при маппинге. Top 6 стран должны получить наиболее яркие цвета. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
Поэтому вышеуказанные цвета будут удалены из оставшихся. Будут также удалены все "близкие" к ним цвета. По формуле цветового расстояния RGB. С учётом весов. Итак 239 - 6 = 233 Далее у нас есть две палитры. Pantone, HtmlColors. Грубо говоря 121 + 120 (Я удалил градации серых и белых). Это 241 Цвет. Нужно еще что-то выкинуть. Полагаю в двух палитрах будут цвета дубликаты. Или "близкие" цвета. Буду удалять их до тех пор пока не останется 233. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2015, 12:25 |
|
Тяпничная география
|
|||
---|---|---|---|
#18+
maytonЭто 241 Цвет. Нужно еще что-то выкинуть. Полагаю в двух палитрах будут цвета дубликаты. Или "близкие" цвета. Буду удалять их до тех пор пока не останется 233. Возьми 8 последних стран и дай им такие же цвета как 8 предпоследним. Пусть самые маленькие парами выступают :) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2015, 14:24 |
|
Тяпничная география
|
|||
---|---|---|---|
#18+
Gilbertroute готов. Хехе.... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Терь надо думать над основным алгоритмом. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2015, 18:38 |
|
Тяпничная география
|
|||
---|---|---|---|
#18+
Дальше нужна какая-нить "деревянна" либа для работы с графикой. Желательно несжатой. Т.к. возможно я будут многократно в течение сеанса открывать и закрывать сотни битмапов в режиме update. Кто-нить знает такую? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2015, 18:45 |
|
Тяпничная география
|
|||
---|---|---|---|
#18+
Немного цЫфирей. Что сосбно упадёт в OUTPUT ? На выходе я ожидаю виртуальную картинку размера 64k x 64k. Или 64 * 1024 на 64 * 1024. Или панораму. Множество картинок. Код: plaintext 1. 2. 3.
Размером 1024 на 1024. При палитровом режиме bmp там вобщем-то будет (прибл) 1 пиксел равен 1 байту. Или грубо говоря каждая картинка по 1 Мб. Итого всё хранилище 64 * 64 = 4096 Mб = 4Гб. Что вобщем-то подтверждает расчёт. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2015, 19:55 |
|
Тяпничная география
|
|||
---|---|---|---|
#18+
Но квадратные картинки некрасиво смотреть на мониках 16 на 9. И я решил заложить в спецификацию "выхода" следующие наборы разрешений. Для олд-скульных размеров моников и некоторых планшетов и телефонов. Код: plaintext 1. 2. 3. 4. 5. 6.
Для HD. Для красоты я дал им реальные имена соответвтующие реальным размерам панелей. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Модель с разрешением 1366 на 768 является самой популярной (со ссылкой на http://www.w3schools.com/browsers/browsers_display.asp). Думаю что это связано с тотальным засильем ноутов типа моего HP-ProBook. Буду ориентироваться на этот размерчик как на самый основной. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2015, 20:02 |
|
Тяпничная география
|
|||
---|---|---|---|
#18+
Для панжорамы популярного дисплея. По горизонтали будет 65536 / 1366 = 48 (с округлением в большую сторону). По вертикали. 65536 / 768 = 86. Тоесть панорама 00..47 и 00..85. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2015, 20:07 |
|
Тяпничная география
|
|||
---|---|---|---|
#18+
Более менее причёсанный вариант одной утилиты. gilbertroute.c Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2015, 21:46 |
|
Тяпничная география
|
|||
---|---|---|---|
#18+
Писать CSV-парсер на "C" - это полная печалька. strtok.... мать его так. Думаю что не буду этого делать. Поищу другой инструмент. Я не спец в Питонах и Go и Rust. Но думаю что смогу накрапать нечто. Всё-тки ближе к сути. Я имею в виду к общепринятому подходу к разработке утилит. А запускать консольные инструменты в java - неудобно. Либо очень долго конфигурить environment либо писать алиасы и баш-скрипты. Всё это сужает аудиторию пользователей. Цена вопроса - оперативно конвертить IP => int32. Вобщем чтоб не было офтопика подниму форк в Программировании там прокашлять все вопросы и вернуться обратно с экзешником. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2015, 21:52 |
|
Тяпничная география
|
|||
---|---|---|---|
#18+
maytonквадратные картинкиА почему именно квадратные? Например, если брать в качестве координат части ip-адреса (по 8-16 бит в каждую), то получится прямоугольник с соотношением сторон 0,875. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2015, 21:59 |
|
Тяпничная география
|
|||
---|---|---|---|
#18+
maytonПисать CSV-парсер на "C" - это полная печалька. strtok.... мать его так.(f)scanf не справляется?maytonЦена вопроса - оперативно конвертить IP => int32.В WinApi есть такой вызов. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2015, 22:03 |
|
Тяпничная география
|
|||
---|---|---|---|
#18+
miksoftmaytonквадратные картинкиА почему именно квадратные? Например, если брать в качестве координат части ip-адреса (по 8-16 бит в каждую), то получится прямоугольник с соотношением сторон 0,875. Ну... там ниже по тексту я решил что квадратные это удобно для кодинга. Но не юзабельно для пользователя. Преимущества квадратов есть только для заполняющих областей Гилберта. Но об этом - чуть позже. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2015, 22:10 |
|
Тяпничная география
|
|||
---|---|---|---|
#18+
miksoftmaytonПисать CSV-парсер на "C" - это полная печалька. strtok.... мать его так.(f)scanf не справляется?maytonЦена вопроса - оперативно конвертить IP => int32.В WinApi есть такой вызов. На WinAPI стараюсь не завязываться. Далее... некоторые штуки с PIPE-s не могут быть изящно реализованы в Windows. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2015, 22:12 |
|
Тяпничная география
|
|||
---|---|---|---|
#18+
maytonЦена вопроса - оперативно конвертить IP => int32 IP у тебя уже в БД, если не путаю, добавь поле intIP, конвертни один раз (без разницы чем и как) и используй его. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2015, 09:32 |
|
Тяпничная география
|
|||
---|---|---|---|
#18+
БД вобщем-то была нужна чтобы обеспечить сортированный порядок beginIp-endIp. Иначе основной алгоритм не сработает. Хотя.. это мысль. Нужно 1 раз отсортировать и просто работать с csv файлом. А функцию ip2num(..) я просто портирую в "C". ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2015, 11:04 |
|
Тяпничная география
|
|||
---|---|---|---|
#18+
Кстати из БД ничего неизвестно о перекрытии диапазонов. Возможно такие есть. Это надо проверить. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2015, 11:06 |
|
Тяпничная география
|
|||
---|---|---|---|
#18+
автор(f)scanf не справляется? Думаю... справится. Изначально я предполагал что fscanf будет узким местом. Но из того что на 1 запись сsv приходится более чем сотня операций рисования цветного пиксела - то он не может быть узким местом. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2015, 11:08 |
|
Тяпничная география
|
|||
---|---|---|---|
#18+
maytonА функцию ip2num(..) я просто портирую в "C". Все придумано до нас. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
В линуксе также, только хэдеры другие надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2015, 12:16 |
|
Тяпничная география
|
|||
---|---|---|---|
#18+
Осилил Z-кривую. Z-Рекурсия взлетела с 1 раза. В отличие от Гилберта который был частично украден. Единственный нюанс - автоматическое округление до степени двойки. Позаимствовано у старика Уоррена из книжки. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2015, 12:59 |
|
Тяпничная география
|
|||
---|---|---|---|
#18+
Приступил собсно к парсеру СSV. Хм... небольшая заминка. Как-бы эти запятые поскипать. Кто знаток fscanf ? ipv4filter.c Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93.
Output: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
Код: plaintext 1. 2. 3. 4. 5.
Илья. Сова. Dima. Помогайте. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2015, 19:50 |
|
|
start [/forum/topic.php?fid=57&msg=38904993&tid=2017270]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
164ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
others: | 239ms |
total: | 523ms |
0 / 0 |