Pull to refresh
33
0
sly2m @sly2m

User

Send message

Пишем функцию сохранения картинок на SD-карту

Reading time4 min
Views27K
В процессе написания приложения для андроида у меня возникла задача сохранять произвольное изображение в файл на флешке. В этой статье я опишу, как я решил эту проблему, какие трудности встретились мне в процессе, и как они были решены. Хотелось бы отдельно отметить, что я .NET программист, судьба занесла меня в Java-мир только из-за необходимости создания небольших по размеру (поэтому monodroid сразу нет) и довольно простых с точки зрения интерфейса андроид-приложений. Это означает, что я тоже только учусь, а значит буду рад любым советом и замечаниям профессионалов.

Читать дальше →
Total votes 16: ↑8 and ↓80
Comments12

Статистика LiveJournal Top1000

Reading time7 min
Views2.3K
Что такое блогосфера рунета сегодня. Можете со мной не согласиться, но на мой взгляд 80% того, что люди понимают под словом «блогосфера» — в рунете помещается в Живом Журнале. Да, Яндекс индексирует большое количество блоговых площадок, тут есть и LiveInternet и diary.ru и блоги на mail.ru тоже есть. И много чего еще. Но попробуйте припомнить, когда вы читали что-то интересное, достойное внимания на блоге из LiveInternet? А вообще что-нибудь на блогах mail.ru?

Известное дело, в Живом Журнале бал правят тысячники (а в последнее время уже десятитысячники).
Давайте посмотрим поближе, кто же они такие, топовые блогеры рунета?

На скорую руку я набросал робота, который ходил в профиль к тысяче блогеров, первых по критерию «в друзьях у», согласно рейтингу LiveJournal. Есть еще так называемый рейтинг авторитетности Яндекса, но давайте не будем сегодня о грустном.

Робот собирал личные данные и аккуратно складывал их в общую кучу. Код робота писался на C#, не буду утомлять излишними техническими подробностями, все довольно просто и прямолинейно – зашел на страничку, пропарсил ее на вхождение нужных переменных, сохранил, перешел к следующей.
И так 1000 раз.

Вот код функции, который получает на вход URL адрес страницы, и выдает на выходе HTML страницы в виде string. Теперь ее можно парсить обычными строковыми функциями, или пременить RegExp-ы.

  private string GetPageByURL(string strURL)
  {
    try
    {
      // used to build entire input
      StringBuilder sb = new StringBuilder();

      // used on each read operation
      byte[] buf = new byte[8192];

      // prepare the web page we will be asking for
      HttpWebRequest request = (HttpWebRequest)
        WebRequest.Create(strURL);

      // execute the request
      HttpWebResponse response = (HttpWebResponse)
        request.GetResponse();

      // we will read data via the response stream
      Stream resStream = response.GetResponseStream();

      string tempString = null;
      int count = 0;

      do
      {
        // fill the buffer with data
        count = resStream.Read(buf, 0, buf.Length);

        // make sure we read some data
        if (count != 0)
        {          
          // translate from bytes to ASCII text
          tempString = Encoding.GetEncoding("UTF-8").GetString(buf, 0, count);          

          // continue building the string
          sb.Append(tempString);
        }
      }
      while (count > 0); // any more data to read?

      return sb.ToString();
    }
    catch (Exception ex)
    {
      return "";
    }
  }


* This source code was highlighted with Source Code Highlighter.


Теперь в цикле ходим по страницам:
www.livejournal.com/ratings/users/?page=1

www.livejournal.com/ratings/users/?page=50

выкачиваем их с помощью вышеуказанной функции, потом бегаем по ним как по стрингам и собираем в ArrayList имена юзеров и их «в друзьях у».

Получаем список из 1000 человек. Потом проходим по нему в цикле, и заходим на страницы http://[имя пользователя].livejournal.com/profile и парсим их на вхождения остальных переменных.

После чего все пишем в базу, файл, или просто выплеваем на страницу, а оттуда копипастим ручками в Excel.

А для того, чтобы LiveJournal на моего робота не обижался – поставил существенную задержку между заходами, а то они очень уж строго предупреждают – будете ходить к нам своими роботами и не вытирать ноги – забаним. Поэтому весь процесс занял больше суток – написание робота, тестирование, работа, форматирование результатов. Согласен, на php можно было управиться кодом в полтора экрана и 2 часа на все про все, но мне .NET все-же привычнее.

Получилась вот такая табличка.

Таблица и немножко графиков-чартов под катом
Total votes 9: ↑5 and ↓4+1
Comments8

10 ТОП-ов блогосферы рунета, кто с чем пришел к закрытию ТОПа Яндекса

Reading time5 min
Views2.5K
3 ноября 2009 года компания Яндекс, сами того не подозревая (а может быть наоборот – прекрасно все понимая и втихаря посмеиваясь) организовала интернет-конкурс с весьма необычными условиями.

Все, наверное, помнят, как месяц назад по рунету прокатилась ударная волна информационной бомбы – Яндекс закрывает рейтинг популярных записей дня. Кто-то откопал в этой новости еще один гвоздь в гроб гласности и демократии, кто-то упрекнул Яндекс в прогибе перед властью, а кто-то увидел спрятанную в кармане дулю, потому что формирование рейтинга популярных записей никуда не делось, а просто перешло на «полу-подпольное» положение. Но нашлись и такие, кто закатал рукава и решил попытать счастья – попробовать самому сделать свой самый лучший в рунете рейтинг.

Потому что, если посудить – все сопутствующие атрибуты соревнования налицо.
Официально объявлена конкретная дата завершения приема конкурсных работ – 1 декабря. Был дан целый месяц на воплощение любых творческих идей. Принять участие в конкурсе мог каждый желающий, будь то организация или частое лицо, были даже опубликованы условия участия — проект вступивший в соревнование обязан указать ключевую фразу: «При составлении рейтингов использовались данные, полученные с помощью Яндекс.Поиска по блогам. Яндекс не имеет отношения к методике составления самих рейтингов» и поставить ссылку на сайт организаторов конкурса. Все как у людей. Не хватало только модного в сетевых пиар-кампаниях условия разместить баннер на своей страничке и добавить Яндекс к себе в друзья, но кто же может сказать, что Яндекс ему не друг?

Обзор горячей десятки ТОПов рунета
Total votes 36: ↑22 and ↓14+8
Comments40

Information

Rating
Does not participate
Location
Канада
Registered
Activity