grunichev.ru Report : Visit Site


  • Server:nginx/1.10.3 (Ubuntu...
    X-Powered-By:PHP/5.6.30

    The main IP address: 85.159.208.45,Your server United Kingdom,London ISP:Linode LLC  TLD:ru CountryCode:GB

    The description :developer's commented lines spb transport online для ios june 10th, 2012 бесплатное социальное приложение для санкт-петербурга “spb transport online” предназначено для тех, кто иногда или постоянно по...

    This report updates in 05-Jul-2018

Created Date:2007-02-13
Expires Date:2019-02-13

Technical data of the grunichev.ru


Geo IP provides you such as latitude, longitude and ISP (Internet Service Provider) etc. informations. Our GeoIP service found where is host grunichev.ru. Currently, hosted in United Kingdom and its service provider is Linode LLC .

Latitude: 51.508529663086
Longitude: -0.12574000656605
Country: United Kingdom (GB)
City: London
Region: England
ISP: Linode LLC

the related websites

HTTP Header Analysis


HTTP Header information is a part of HTTP protocol that a user's browser sends to called nginx/1.10.3 (Ubuntu) containing the details of what the browser wants and will accept back from the web server.

Content-Length:12721
X-Powered-By:PHP/5.6.30
Content-Encoding:gzip
Vary:Accept-Encoding
Server:nginx/1.10.3 (Ubuntu)
Connection:keep-alive
Link:; rel="https://api.w.org/"
Date:Thu, 05 Jul 2018 13:42:48 GMT
Content-Type:text/html; charset=UTF-8

DNS

soa:ns1.linode.com. grunichev.gmail.com. 2017081420 14400 14400 1209600 300
ns:ns4.linode.com.
ns2.linode.com.
ns1.linode.com.
ns3.linode.com.
ns5.linode.com.
ipv4:IP:85.159.208.45
ASN:63949
OWNER:LINODE-AP Linode, LLC, US
Country:GB
mx:MX preference = 10, mail exchanger = ASPMX2.GOOGLEMAIL.COM.
MX preference = 5, mail exchanger = ALT1.ASPMX.L.GOOGLE.COM.
MX preference = 5, mail exchanger = ALT2.ASPMX.L.GOOGLE.COM.
MX preference = 1, mail exchanger = ASPMX.L.GOOGLE.COM.
MX preference = 10, mail exchanger = ASPMX3.GOOGLEMAIL.COM.

HtmlToText

developer's commented lines spb transport online для ios june 10th, 2012 бесплатное социальное приложение для санкт-петербурга “spb transport online” предназначено для тех, кто иногда или постоянно пользуется общественным транспортом: отображение на карте транспорта в режиме реального времени режим автообновления каждые 15 секунд поиск и отображение маршрутов на карте read the rest of this entry » posted in ios | 41 comments » сортировка слиянием december 31st, 2011 posted in screencasts | 1 comment » стэнфордские онлайн-курсы december 22nd, 2011 завершились первые стэнфордские онлайн-курсы и хотелось бы кратко поделиться своими впечатлениями по итогам. во-первых, интересно было взглянуть на образовательный процесс за рубежом. понятно, что онлайн накладывает свою специфику: более широкая аудитория, как следствие, полная автоматизация проверки заданий. в чем-то, конечно, задания становятся более “типовыми” с вариантами ответа, вместо предоставления простора для фантазии. более сжатые сроки – вместо стандартного семестра, курсы были рассчитаны на 10 недель. для преподавателей это, по сути, дополнительная работа, на чистом альтруизме, так что не думаю, что полноценные пилотные курсы были бы возможны в принципе. read the rest of this entry » posted in разное | no comments » тестирование middleware в django november 24th, 2011 для тестирования view в django есть удобный класс django.test.client.client и хорошая официальная документация, но что делать, если нам надо протестировать лишь middleware, а не всю фазу от запроса до ответа? допустим у нас есть middleware, позволяющее задавать маску по урлам для обертывания в login_required и маску с исключениями в конфигурационном файле: import re from django. conf import settings from django. contrib . auth . decorators import login_required class requireloginmiddleware ( object ) : """ middleware component that wraps the login_required decorator around matching url patterns. to use, add the class to middleware_classes and define login_required_urls and login_required_urls_exceptions in your settings.py. for example: ------ login_required_urls = ( r'/topsecret/(.*)$', ) login_required_urls_exceptions = ( r'/topsecret/login(.*)$', r'/topsecret/logout(.*)$', ) ------ login_required_urls is where you define url patterns; each pattern must be a valid regex. login_required_urls_exceptions is, conversely, where you explicitly define any exceptions (like login and logout urls). """ def __init__ ( self ) : self . required = tuple ( [ re . compile ( url ) for url in settings. login_required_urls ] ) self . exceptions = tuple ( [ re . compile ( url ) for url in settings. login_required_urls_exceptions ] ) def process_view ( self , request , view_func , view_args , view_kwargs ) : # no need to process urls if user already logged in if request. user . is_authenticated ( ) : return none # an exception match should immediately return none for url in self . exceptions : if url. match ( request. path ) : return none # requests matching a restricted url pattern are returned # wrapped with the login_required decorator for url in self . required : if url. match ( request. path ) : return login_required ( view_func ) ( request , *view_args , **view_kwargs ) # explicitly return none for all non-matching requests return none import re from django.conf import settings from django.contrib.auth.decorators import login_required class requireloginmiddleware(object): """ middleware component that wraps the login_required decorator around matching url patterns. to use, add the class to middleware_classes and define login_required_urls and login_required_urls_exceptions in your settings.py. for example: ------ login_required_urls = ( r'/topsecret/(.*)$', ) login_required_urls_exceptions = ( r'/topsecret/login(.*)$', r'/topsecret/logout(.*)$', ) ------ login_required_urls is where you define url patterns; each pattern must be a valid regex. login_required_urls_exceptions is, conversely, where you explicitly define any exceptions (like login and logout urls). """ def __init__(self): self.required = tuple([re.compile(url) for url in settings.login_required_urls]) self.exceptions = tuple([re.compile(url) for url in settings.login_required_urls_exceptions]) def process_view(self, request, view_func, view_args, view_kwargs): # no need to process urls if user already logged in if request.user.is_authenticated(): return none # an exception match should immediately return none for url in self.exceptions: if url.match(request.path): return none # requests matching a restricted url pattern are returned # wrapped with the login_required decorator for url in self.required: if url.match(request.path): return login_required(view_func)(request, *view_args, **view_kwargs) # explicitly return none for all non-matching requests return none класс достаточно простой, но в его тестировании есть ряд ньюансов. начнем с того, что на вход подается объект request, который неплохо бы как-то получить в подходящем для тестирования виде. для этого в django есть специальный класс requestfactory: from django. test import testcase from django. test . client import requestfactory class requireloginmiddlewaretest ( testcase ) : def test_url_is_not_in_login_required ( self ) : rf = requestfactory ( ) request = rf. get ( '/abc/test' ) from django.test import testcase from django.test.client import requestfactory class requireloginmiddlewaretest(testcase): def test_url_is_not_in_login_required(self): rf = requestfactory() request = rf.get('/abc/test') возникает вопрос, что делать с масками для url? тест не должен полагаться на данные из конфига, которые могут быть в любой момент изменены. в версии 1.4 будет добавлена возможность временно менять значения из настроек в тестах: overriding settings , но это trunk, а на продакшене стоит последний stable релиз, т.е. 1.3 решение не столь элегантное, но зато доволное простое: тесты запускаются в single-thread, так что мы можем поменять настройки в setup и использовать их далее в тестах: def setup ( self ) : self . old_settings_required_urls = settings. login_required_urls self . old_settings_exceptions_urls = settings. login_required_urls_exceptions settings. login_required_urls = ( r '/test/(.*)$' , ) settings. login_required_urls_exceptions = ( r '/test/exc1(.*)$' , r '/test/exc2(.*)$' , ) self . middleware = requireloginmiddleware ( ) def teardown ( self ) : settings. login_required_urls = self . old_settings_required_urls settings. login_required_urls_exceptions = self . old_settings_exceptions_urls def setup(self): self.old_settings_required_urls = settings.login_required_urls self.old_settings_exceptions_urls = settings.login_required_urls_exceptions settings.login_required_urls = ( r'/test/(.*)$', ) settings.login_required_urls_exceptions = ( r'/test/exc1(.*)$', r'/test/exc2(.*)$', ) self.middleware = requireloginmiddleware() def teardown(self): settings.login_required_urls = self.old_settings_required_urls settings.login_required_urls_exceptions = self.old_settings_exceptions_urls теперь нам осталось добавить атрибут session к request’у, иначе мы получим attributeerror: ‘wsgirequest’ object has no attribute ‘session’ так как сессия к request’у добавляется в отдельном sessionmiddleware. вместо view_func передадим аргументом пустую анонимную функцию, нам важен только возвращаемый результат: none (если пользователь залогинен или url не требует аутентификации) или httpresponseredirect на форму входа. def test_url_is_not_in_login_required ( self ) : rf = requestfactory ( ) request = rf. get ( '/abc/test' ) request. session = { } response = self . middleware . process_view ( request , lambda x: x , [ ] , { } ) self . assertisnone ( response ) def test_access_excluded_from_login_required_urls ( self ) : rf = requestfactory ( ) request = rf. get ( '/test/exc1/foo' ) request. session = { } response = self . middleware . process_view ( request , lambda x: x , [ ] , { } ) self . assertisnone ( response ) def test_redirect_guests ( self ) :

URL analysis for grunichev.ru


http://grunichev.ru/2012/06/spb-transport-online-%d0%b4%d0%bb%d1%8f-ios/
http://grunichev.ru/2011/12/%d1%81%d1%82%d1%8d%d0%bd%d1%84%d0%be%d1%80%d0%b4%d1%81%d0%ba%d0%b8%d0%b5-%d0%be%d0%bd%d0%bb%d0%b0%d0%b9%d0%bd-%d0%ba%d1%83%d1%80%d1%81%d1%8b/#more-189
http://grunichev.ru/category/python/
http://grunichev.ru/category/uncategorized/
http://grunichev.ru/comments/feed/
http://grunichev.ru/about/
http://grunichev.ru/category/linux/
http://grunichev.ru/2010/10/zadachi-s-dominoshkami-na-sobesedovanii/
http://grunichev.ru/2011/12/merge-sort/#comments
http://grunichev.ru/tag/mock/
http://grunichev.ru/category/tools/
http://grunichev.ru/tag/django-2/
http://grunichev.ru/2011/03/
http://grunichev.ru/2011/11/sortirovka-vstavkami/
http://grunichev.ru/wp-login.php
voidspace.org.uk

Whois Information


Whois is a protocol that is access to registering information. You can reach when the website was registered, when it will be expire, what is contact details of the site with the following informations. In a nutshell, it includes these informations;

% By submitting a query to RIPN's Whois Service
% you agree to abide by the following terms of use:
% http://www.ripn.net/about/servpol.html#3.2 (in Russian)
% http://www.ripn.net/about/en/servpol.html#3.2 (in English).

domain: GRUNICHEV.RU
nserver: ns1.linode.com.
nserver: ns2.linode.com.
nserver: ns3.linode.com.
nserver: ns4.linode.com.
nserver: ns5.linode.com.
state: REGISTERED, DELEGATED, UNVERIFIED
person: Private Person
registrar: RU-CENTER-RU
admin-contact: https://www.nic.ru/whois
created: 2007-02-13T21:00:00Z
paid-till: 2019-02-13T21:00:00Z
free-date: 2019-03-17
source: TCI

Last updated on 2018-03-05T17:01:32Z


  REFERRER http://www.ripn.net

  REGISTRAR RUCENTER-REG-RIPN

SERVERS

  SERVER ru.whois-servers.net

  ARGS grunichev.ru

  PORT 43

  TYPE domain

DISCLAIMER
By submitting a query to RIPN's Whois Service
you agree to abide by the following terms of use:
http://www.ripn.net/about/servpol.html#3.2 (in Russian)
http://www.ripn.net/about/en/servpol.html#3.2 (in English).

DOMAIN

  NAME grunichev.ru

NSERVER

  NS1.LINODE.COM 162.159.27.72

  NS2.LINODE.COM 162.159.24.39

  NS3.LINODE.COM 162.159.25.129

  NS4.LINODE.COM 162.159.26.99

  NS5.LINODE.COM 162.159.24.25

  STATUS REGISTERED, DELEGATED, UNVERIFIED

  CREATED 2007-02-13

  EXPIRES 2019-02-13

  SOURCE TCI

  REGISTERED yes

Go to top

Mistakes


The following list shows you to spelling mistakes possible of the internet users for the website searched .

  • www.ugrunichev.com
  • www.7grunichev.com
  • www.hgrunichev.com
  • www.kgrunichev.com
  • www.jgrunichev.com
  • www.igrunichev.com
  • www.8grunichev.com
  • www.ygrunichev.com
  • www.grunichevebc.com
  • www.grunichevebc.com
  • www.grunichev3bc.com
  • www.grunichevwbc.com
  • www.grunichevsbc.com
  • www.grunichev#bc.com
  • www.grunichevdbc.com
  • www.grunichevfbc.com
  • www.grunichev&bc.com
  • www.grunichevrbc.com
  • www.urlw4ebc.com
  • www.grunichev4bc.com
  • www.grunichevc.com
  • www.grunichevbc.com
  • www.grunichevvc.com
  • www.grunichevvbc.com
  • www.grunichevvc.com
  • www.grunichev c.com
  • www.grunichev bc.com
  • www.grunichev c.com
  • www.grunichevgc.com
  • www.grunichevgbc.com
  • www.grunichevgc.com
  • www.grunichevjc.com
  • www.grunichevjbc.com
  • www.grunichevjc.com
  • www.grunichevnc.com
  • www.grunichevnbc.com
  • www.grunichevnc.com
  • www.grunichevhc.com
  • www.grunichevhbc.com
  • www.grunichevhc.com
  • www.grunichev.com
  • www.grunichevc.com
  • www.grunichevx.com
  • www.grunichevxc.com
  • www.grunichevx.com
  • www.grunichevf.com
  • www.grunichevfc.com
  • www.grunichevf.com
  • www.grunichevv.com
  • www.grunichevvc.com
  • www.grunichevv.com
  • www.grunichevd.com
  • www.grunichevdc.com
  • www.grunichevd.com
  • www.grunichevcb.com
  • www.grunichevcom
  • www.grunichev..com
  • www.grunichev/com
  • www.grunichev/.com
  • www.grunichev./com
  • www.grunichevncom
  • www.grunichevn.com
  • www.grunichev.ncom
  • www.grunichev;com
  • www.grunichev;.com
  • www.grunichev.;com
  • www.grunichevlcom
  • www.grunichevl.com
  • www.grunichev.lcom
  • www.grunichev com
  • www.grunichev .com
  • www.grunichev. com
  • www.grunichev,com
  • www.grunichev,.com
  • www.grunichev.,com
  • www.grunichevmcom
  • www.grunichevm.com
  • www.grunichev.mcom
  • www.grunichev.ccom
  • www.grunichev.om
  • www.grunichev.ccom
  • www.grunichev.xom
  • www.grunichev.xcom
  • www.grunichev.cxom
  • www.grunichev.fom
  • www.grunichev.fcom
  • www.grunichev.cfom
  • www.grunichev.vom
  • www.grunichev.vcom
  • www.grunichev.cvom
  • www.grunichev.dom
  • www.grunichev.dcom
  • www.grunichev.cdom
  • www.grunichevc.om
  • www.grunichev.cm
  • www.grunichev.coom
  • www.grunichev.cpm
  • www.grunichev.cpom
  • www.grunichev.copm
  • www.grunichev.cim
  • www.grunichev.ciom
  • www.grunichev.coim
  • www.grunichev.ckm
  • www.grunichev.ckom
  • www.grunichev.cokm
  • www.grunichev.clm
  • www.grunichev.clom
  • www.grunichev.colm
  • www.grunichev.c0m
  • www.grunichev.c0om
  • www.grunichev.co0m
  • www.grunichev.c:m
  • www.grunichev.c:om
  • www.grunichev.co:m
  • www.grunichev.c9m
  • www.grunichev.c9om
  • www.grunichev.co9m
  • www.grunichev.ocm
  • www.grunichev.co
  • grunichev.rum
  • www.grunichev.con
  • www.grunichev.conm
  • grunichev.run
  • www.grunichev.col
  • www.grunichev.colm
  • grunichev.rul
  • www.grunichev.co
  • www.grunichev.co m
  • grunichev.ru
  • www.grunichev.cok
  • www.grunichev.cokm
  • grunichev.ruk
  • www.grunichev.co,
  • www.grunichev.co,m
  • grunichev.ru,
  • www.grunichev.coj
  • www.grunichev.cojm
  • grunichev.ruj
  • www.grunichev.cmo
Show All Mistakes Hide All Mistakes