Рейтинг
0.00
голосов:
0
avatar

Интернет, программирование и всё такое!  

Немного о новом блоге "Интернет, программирование и всё такое!"

Друзья, в следствие того, что IT-проекты МИЦ получили новый импульс развития и в данный момент делается много приятных штук, а задумано сделать ещё больше, было решено создать блог, в котором мы можем немного побалакать по теме информационных технологий.
Прошу вас, если у вас есть какие-нибудь предложения, вопросы или пожелания, которые относятся к данной теме, пишите их сюда. Думаю, нам всем будет интересно писать и обсуждать информационные технологии здесь. Но прошу также, чтобы посты не состояли из трёх строк (вот как это например ;) ), а то блог превратиться не пойми во что.

Ё-приложение загрузилось не туда...


Как только увидела новость о том, что Ё-приложение вышло, сразу скачала его себе на ноутбук. Думала:«Сейчас проверю. Посмотрим, как это работает». Однако, использовать его не выпадало возможности — двое суток провалялась в кровати с температурой, а потом поехала к родителям в Пермский край, оставив ноутбук дома.
Прошли каникулы, вернулась домой. Пересматривая все программы на рабочем столе ноутбука, обнаружила «Ё-приложение». Твёрдо решила:«Завтра после школы приду и попробую использовать программу». Со спокойной душой легла спать, строя уже в голове планы, как я буду пытаться проверить программу.
Но вот что заметила в школе на уроках, меня немного поразило. Во всех лекциях, классных работах за весь день я везде, где надо, ставила «Ё», хотя обычно не утруждала себя поставлением этих двух точек над буквой. Придя домой, проверила все блокноты, все записи, что были сделаны в каникулы. И какое было моё удивление, когда я обнаружила, что везде буква «Ё» на своём месте, даже в сообщениях в социальных сетях.
Из этого всего следует вопрос: куда я загрузила «Ё-приложение»? В ноутбук или себе в голову? Хотя, наверно, Паша Калашников и преследовал эту цель, когда создавал эту вещь.
Программа осталась не тронута, но результат на лицо.

Вертикальный прогресс-бар (шкала загрузки)

Говорят: «Хороший программист напишет, гениальный программист найдёт». Я — хороший программист. Печально это или нет, но это так. В который раз уже встречаюсь с той ситуацией, когда приходится тратить время на реализацию какой-нибудь фигни, которая тебе пригодится один раз в жизни и её сто пудов уже кто-нибудь написал, но ты её не можешь найти.
К сожалению, в языке C# — не было реализовано вертикальной шкалы загрузки. Возможно, потому что не правилам и не по канонам создания интерфейсов программ делать шкалу загрузки вертикальной, мы все привыкли к горизонтальной (и желательно слева направо). А мне вот прямо никуда не деться, нужна эта шкала. Поискав в интернете я свыкся с мыслью, что писать придётся самому этот класс. При том написать его красиво, чтобы потом написать эту запись и пафосно выложить его.
Здравствуй, Ищущий, я помогу тебе. Вот, бери код и пользуйся им сколько хочешь. Не думай как он работает, просто пользуйся им! Он не так красив, как стандартный, зато такой же логичный. Им можно пользоваться так же, как стандартным. Достаточно посмотреть на public-члены класса. Они все закомментирован
Только учти, что при переполнении прогресс-бара будет выкидываться исключение ;) Это принципиально. То есть значение 101 ты уже не поставишь.
using System;
using System.Drawing;
using System.Windows.Forms;

namespace MICComponents {
  public class VerticalProgressBar : PictureBox {

    private int progressValue;
    private int endValue;
    private Timer timer;

    private void constructor(Point point, Size size) {
      this.Location = point;
      this.Size = size;
      this.Paint += new PaintEventHandler(pict_Paint);
      this.BorderStyle = BorderStyle.Fixed3D;
      progressValue = 0;
      endValue = 0;
      timer = new Timer();
      timer.Interval = 10;
      timer.Tick += new EventHandler(timer_Tick);
    }

    void timer_Tick(object sender, EventArgs e) {
      if (progressValue < endValue) {
        progressValue++;
        this.Invalidate();
      }
      if (progressValue > endValue) {
        progressValue--;
        this.Invalidate();
      }
      if (progressValue == endValue) {
        timer.Stop();
      }
    }

    public int Value {                              // почти асболютный аналог свойства Value в классе ProgressBar
      get {
        return endValue;
      }
      set {
        if (value == 0) {
          progressValue = value;
          endValue = value;
          this.Invalidate();
          return;
        }
        if ((value > 100) || (value < 0)) {
          throw new Exception("Неверный ввод числа!");
        }
        endValue = value;
        timer.Start();
      }
    }

    public void Increment(int value) {              // увеличение значения шкалы на определённую величину
      if (((endValue + value) > 100) || ((endValue + value) < 0)) {
        endValue = 100;
        return;
      }
      endValue += value;
      timer.Start();
    }

    private int getPercents() {
      return (int)((float)this.Height * (float)progressValue / 100);
    }

    private void pict_Paint(object sender, PaintEventArgs e) {
      Graphics g = e.Graphics;
      DrawRectangle(g, 0, this.Height - getPercents(), this.Width, getPercents());
    }

    public VerticalProgressBar() {                      // конструктор без параметров
      constructor(new Point(0, 0), new Size(50, 200));
    }

    public VerticalProgressBar(Point point) {           // конструктор с координатами
      constructor(point, new Size(50, 200));
    }

    public VerticalProgressBar(Size size) {             // конструктор с размерами
      constructor(new Point(0, 0), size);
    }

    public VerticalProgressBar(int x, int y, int widht, int height) { // хороший конструктор 
      constructor(new Point(x, y), new Size(widht, height));
    }

    public VerticalProgressBar(Point point, Size size) {        // ещё один хороший конструктор 
      constructor(point, size);
    }

    private void DrawRectangle(Graphics g, int x, int y, int widht, int height) {
      Rectangle pict = new Rectangle(0, 0, this.Width, this.Height);
      System.Drawing.Drawing2D.LinearGradientBrush empty = new System.Drawing.Drawing2D.LinearGradientBrush(pict, Color.Gray, Color.White, System.Drawing.Drawing2D.LinearGradientMode.Horizontal);
      g.FillRectangle(empty, pict);

      Rectangle rec = new Rectangle(x, y, widht, height);
      if ((widht != 0) && (height != 0)) {
        System.Drawing.Drawing2D.LinearGradientBrush gradient = new System.Drawing.Drawing2D.LinearGradientBrush(rec, Color.FromArgb(251, 188, 59), Color.White, System.Drawing.Drawing2D.LinearGradientMode.Horizontal);
        g.FillRectangle(gradient, rec);
        return;
      }
      Brush brush = new SolidBrush(Color.FromArgb(251, 188, 59));
      g.FillRectangle(brush, rec);
    }
  }
}


Если добавить экземпляр этого класса, прямо в файл Form1.Designer.cs. и скомпилировать, то Visual Studio сама добавит его в дизайнер интерфейса и им можно будет управлять, как стандартным элементом.
Вы увидите эту шкалу-загрузки во второй версии Ё-приложения, которая выйдет в конце января, а также чуть позже выпустим add-in для Visual Studio, который будет добавлять этот прогрессбар, как стандартный элемент в ToolBox. А может сможем сделать, чтобы стандартный прогресс-бар принимал вертикальные и горизонтальные позиции. Посмотрим, вообщем =)

Вроде уникальный скрипт для редиректа и переадресации сайтов

Совсем недавно Блогам активной молодёжи МИЦ понадобился переезд из-за неактуальности данного адреса сайта. В итоге передо мной встала задача, решение которой я таки не нашёл в интернете, и пришлось делать самому.
Новый адрес Блогов, на которых вы сейчас находитесь выглядит так: blog.ulmic.ru. Если не верите, посмотрите в адресную строку. Задача состояла в том, чтобы перенести весь сайт, при том сохранив ссылки в социальных сетях на этот блог, так как их за несколько существования Блогов существует уже достаточно много.

( Читать дальше )

Самая сложная регистрация в моей жизни

Настоящие программисты постоянно читают книжки по программированию, написанные метрами программирования. Находят в этих книжках методы, которые потом применяют в своих программах. Я не настоящий программист. Мною не было прочитано ни одной книжки по программированию. Всё, что я знаю — это набитые шишки в процессе (умные учатся на чужих, дураки на своих =) ) и прочитанные на всяких форумах по программированию материалы написанные простыми смертными как я.
Так как таких форумов очень много и становится всё больше. По каждой теме по программированию можно найти три-четыре форума. Например, форумов по программированию для Андроид-систем вы найдёте больше одной совершенно не напрягаясь. Лишь вбив, в строчке гугла, программирование под андроид. У меня лично есть регистрация на многих из этих форумах. Регистраций 20 точно уже есть, пришлось даже придумать собственную систему для запоминания паролей, чтобы пароли не повторять, но и не забывать =)

Одним из таких форумов оказалася Boolean.name. Но регистрация, которая включает в себя ввод логина и пароля не встретила меня. Вместо неё пришёл тест на знание элементарных вещей. Всего вопросов было шесть, я никак не мог пройти регистрацию, потому что ровно два вопроса меня вгоняли в заблуждение:
1. Сколько будет, если сложить грушу и яблоко?
1) Сложить невозможно
2) Ничего не будет
2. На сколько вопросов надо ответить правильно, чтобы пройти регистрацию?
1) Пять
2) Восемь
3) Хотя бы один
4) Все

В первом вопросе я пробовал отвечать, что сложить невозможно, а во втором, что надо ответить на все. Регистрацию не разрешали. Я никак не мог понять почему?
Потом решил поставить во втором вопросе ответ: «Хотя бы один». И регистрацию прошёл. Я не стал проверять, действительно ли мой ответ на этот вопрос зависит от моей судьбы в принятии на этот форум. Но всё-таки мне кажется, если эти ребята клёвые, то они сделали именно такую систему =)

P.S. Это, кстати, 300 пост на корпоративных блогах МИЦ!!! Это очень хорошо!!! Значит медленно двигаемся всё-таки =)

Гугл полностью переходит на облачную слежку

Член Молодёжного инициативного центра Андрей Сверчков сегодня рассказал мне, что после переустановки системы на компьютере и Google Chrome не смотря ни на что гугл хром восстановил всем вкладки, закладки, все аккаунты и даже тему поставил ту же. Приятно! Не спорю. НО! Не означает ли это то, что за нами постоянно медленно но верно, устанавливают тотальный контроль?

У компании Google есть очень много интересных интернет приложений, которые относятся к числу так называемых «облачных». То есть, эти приложения не находятся на компьютере клиента интернета (т.е. пользователя), а находятся на серверах Google. Почти полгода назад открылась социальная сеть Google+, которая просто напросто объединила все облачные сервисы в одно место. Теперь Google стал знать ещё и нашу переписку. Недавно, адвокатом Google пришлось очень хорошо пообщаться с представителями антимонопольной службы Соединённых Штатов Америки на предмет открытия Google+ и, в следствие этого, полный захват рынка интернет приложений. С одной стороны, есть ведь facebook, но Google+ рос так быстро, что я понимаю представителей антимонопольной службы США. Проблем Google избежал.

Если у вас есть аккаунт в Google+ и вы постоянно пользуетесь поиском Google, то вы заметили строчку под некоторыми найденными объектами: «Вы здесь были такого-то числа». Что?! Они теперь запоминают, куда я хожу!!! Теперь придётся ограничить себя в посещении разного рода «некачественных» сайтов. Печаль. Google Maps, ага и это тоже.

Вообщем, перечислять это можно сто лет. Но друзья, Эквилибриум не за горами ;)

facebook боится ;)


Некоторое время назад Google+ открыл регистрацию без приглашений, этим самым стимулировав приток пользователей на страницы социальной сети. По данным на 22 сентября количество пользователей Google+ составляет 43,4 млн человек, для сравнения подобного результата facebook добивался почти 3 года. Кстати, несмотря ни на что ВКонтакте тоже достигал отметки в 50 млн пользователей около трёх лет.

Google+ ещё далеко до facebook по популярности и распространённости, и вроде детищу Цукерберга боятся нечего, но что может обусловить появления нереального количества новых функций на страницах facebook за последние несколько дней. Почти каждый я читаю в новостях про новые функции в этой социальной сети. Всё просто, инновациями facebook пытается удержать своих пользователей, часть из которых уже переселилась в Google+.

Последним случаем, который абсолютно убедил меня в том, что facebook начал работу по удержанию пользователей новый вид письма пришедшего мне на почту. Обычно facebook не напоминает по почте о новых уведомлениях в сети. Порой у меня было по 40 всякого рода уведомления и ничего не почту по этому поводу не приходило. Сегодня же я получил письмо: «У вас непросмотренные уведомления». Зайдя на свою страницу я увидел, что этих уведомлений всего одно. А задача администрации facebook была в том, чтобы я зашёл на сайт!

Хотя отечественного пользователя в большинстве своём мало волнуют происшествия заморских социальных гигантов. У нас есть контакт и больше ничего не надо =)

Google+ Хватит впечатлений.

Итак, самая быстрорастущая социальная сеть в истории Google+ наконец открыта для всех желающих. Что это значит? Это значит, что теперь не надо просить кого-нибудь, что тебе отправляли приглашение в эту социальную сеть, а просто зарегистрироваться как на любом другом сайте. И опять пиар-работники компании Google сделали это вовремя. Ибо интерес к этой социальной сети начал постепенно падать. Что же надо теперь делать, чтобы социальная сеть процвеетала?? Всё очень просто, если теперь специалисты компании Google будут вводить в работу всё новые и новые функции и включат наконец возможность кросс-постинга в другие социальные сети, тогда интерес к Google+ падать не будет.

Google+ Часть 3

Итак, Google+ растёт быстрее чем какая-либо социльная сеть в мире!!! К началу августа в ней было зарегистрировано уже более 25 миллионов человек!!! По параметру первичного роста, т.е. роста в первый год работы, Google+ обошла facebook. Всё дело в создании заинтересованности у населения=)
Из функций, которые меня порадовали — первая, возможность отмечать ссылками пользователей, которые у тебя в кругах. Аналогичная функция есть во ВКонтакте, когда после звёздочки пишешь имя пользователя, который есть у тебя в друзьях, его имя высвечивается в виде ссылки на его страницу. В Google+ то же самое происходит только вместо звёздочки пишется "+".
Вторая, если вы авторизованы в Google+, и занимаетесь поиском информации в Google, то любую найденную гуглом ссылочку можно опубликовать, путём обыкновенного нажатия на кнопочку "+1" около ссылочки, которая очень приятного появляется и исчезает взависимости от наведённой на неё мыши. Вообще у Гугла куча всяких приложений в интернете, которыее постепенно все объдиняются в Google+. Эта социальная сеть постепенно становится центром управления всеми приложениями Google. И для человека, который пользуется ими на протяжении многих лет — Google+ самая родная социальная сеть =)

Google+ впечатление два

Радостно. Не смотря на то, что доступ в социальную сеть Google+ ограничен, количество его пользователь превысило значение в 20 миллионов ещё в начале августа. А всё почему? Потому что создали ажиотаж!!! Браво, компания Google!!!

( Читать дальше )