Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование (VB,C#,ASP,.NET): новости, советы, примеры


Выпуск # 683

Очередной выпуск рассылки! За последнее время на сайте произошло столько всего, столько всего, что все просто не уместилось в этот выпуск! Но ничего, ведь вы всегда можете ознакомиться со всеми обновлениями непосредственно посетив сайт. Кстати, помимо изменения в содержании Kbyte.Ru, появлении новых интересных материалов, проект постоянно совершенствуется технически, и вы можете принять в этом непосредственное участие, присылая свои идеи и предложения.
Надеюсь, этот выпуск будет интересен для вас. Если вы хотите увидеть в следующих выпусках что-то конкретное, напишите мне об этом на ящик subscribe@kbyte.ru.


Содержание выпуска

Читайте в этом выпуске:

Если у вас есть вопросы по программированию или работе с компьютером, не стесняйтесь, спрашивайте.

Форумы Kbyte.Ru

На форумах Kbyte.Ru постоянно появляются новые интересные темы и обсуждения. В этом выпуске представлены лишь новые темы, с момента прошлой рассылки.

Кстати, любой желающий может на форумах Kbyte.Ru совершенно свободно получить помощь грамотных специалистов в области программирования, да и в целом информационных технологий.

Задать свой вопрос прямо сейчас

Всем привет, есть вопрос и очень буду благодарен за ответ. Суть: на сайте есть форма отправки больших файлов до 200 мб на сервер (хостинг, где расположен сам сайт). Необходимо сделать так, чтобы форма грузила файла на абсолютно другой сервер. Подскажите, пожалуйста, как это можно реализовать. Большое спасибо!

[- к содержанию -]

Ответ #1 @Aleksey Nemiro 12.04.2012 20:52
У формы (form) есть параметр action, в котором указывается адрес страницы, на который будет отправлена форма.
<form action="http://путь к странице, на которую будет отправлена форма" method="post" enctype="multipart/form-data"></form>

Если речь идет о ASP .NET WebForms, то чтобы не мучиться с серверной формой нужно просто за её приделами сделать обычную форму с нужным action. При необходимости, серверную форму можно обрезать программно, путем вывода тега закрытия формы, например: Response.Write("</form>"), и создания обычной формы. Но тогда страница может глючить, все зависит от её структуры.

Либо можно принимать файл к себе на сервер и передавать на нужную страницу программно (после того, как он будет загружен на свой сервер).

[- к содержанию -]

Добавить свой ответ в эту тему
Всем привет.
Недавно столкнулся с проблемой: необходимо организовать отдельную страничку для входа пользователей типа login.domain.com. Подразумевается, что после успешной авторизации пользователя происходит редирект на сайт domain.com, который должен подхватывать созданный предыдущим сайтом файл куки.
Нашел много статей, перепробовал множество вариантов, но запутался еще больше. Подскажите пж, где у меня ошибка?
Вот, возможные варианты настройки куков:
1. В файле web.config прописываю следующую строку:
<authentication mode="Forms">
<forms loginUrl="logon.aspx" domain="domain.com">
</forms>
</authentication>
Возможно,необходимо использовать другие аттрибуты тега forms?
2. В файле web.config прописываю следующую строку:
<machineKey
validationKey="AutoGenerate,IsolateApps"
decryptionKey="AutoGenerate,IsolateApps"
validation="SHA1"/>
и тогда куки, созданные разными сайтами будут подходить друг-другу.

[- к содержанию -]

Ответ #1 @Aleksey Nemiro 10.04.2012 09:25
domain может содержать только один домен, но если поставить точку перед доменом, то куки будут доступны и на всех поддоменах этого домена: domain=".domain.com" (не ниже домена второго уровня, т.е. если поставить .com, куки во всей зоне .com работать не будут).
Блок machineKey должен быть на всех сайтах одинаковый.

Практика показывает, что данная технология работает не во всех браузерах (конкретно: Safari, Maxthon). Лучше реализовать свой механизм авторизации. Сделать это просто:
1. login.domain.com после авторизации делать редирект на нужный домен с передачей в url параметра, содержащего сведения об авторизации.
2. На остальных сайтах проверять в url наличие параметра от login.domain.com, с данными авторизации, проверять их и проводить авторизацию обычным методом. Чтобы юзер ничего не заметил, удалить параметр авторизации из url путем редиректа.

В плане безопасности, лучше всего использовать базу данных, чтобы создавать сессию авторизации. Например, можно сделать таблицу: auth_sessions, поля:
id_auth_sessions - уникальный ключ авторизации, который будет передаваться в url (типа Guid);
id_users - идентификатор юзера, для которого был создан ключ;
ip - ip юзера;
date_created - дата создания ключа, чтобы иметь возможность ограничить его срок жизни.

Например, юзер зашел на страницу: http://site1.domain.com/cabinet.aspx, на которой необходима авторизация. Система редиректит его на http://login.domain.com/cabinet.aspx?returnUrl=http://site1.domain.com/cabinet.aspx
Если юзер не авторизирован на login.domain.com, то ему предлагается ввести логин и пароль.
После авторизации, или если система определила юзера по кукам login.domain.com, в базе данных создается сессия, для прохождения авторизации на сайте site1.domain.com:
id_auth_sessions = 9820ece5-c9aa-4b57-8d1b-00935fb0c853
id_users = 1
ip = 127.0.0.1
date_created = 10.04.2012 8:51:00

Затем происходит редирект на returnUrl, с добавлением к нему параметра id_auth_sessions:
http://site1.domain.com/cabinet.aspx?id_auth_sessions=9820ece5-c9aa-4b57-8d1b-00935fb0c853

В коде site1.domain.com постоянно должна происходить проверка наличия в url параметра id_auth_sessions.
В проектах типа WebForms это можно реализовать в Global.asax в событии Application_BeginRequest. В MVC - в виде глобального фильтра (ActionFilter).
Если в url есть параметр id_auth_sessions, то система должна проверить существование ключа, ip-адрес пользователя и дату создания ключа. Срок жизни ключа необходимо ограничивать, чтобы исключить вероятность использования этого ключа другим пользователем. Для аналогичных целей необходимо проверять ip-адрес пользователя. Если ключ верный, то система проводит авторизацию пользователя стандартным способом и удаляет сессию авторизации с указанным ключом из базы данных, чтобы исключить повторное использование ключа авторизации. Чтобы пользователь ничего не заметил, можно удалить из Request.Url параметр id_auth_sessions и редиректнуть юзера на полученный url.

Это также позволит проводить авторизацию на разных доменах, в отличие от стандартного механизма, где кросс-доменная авторизация возможна лишь в рамках одного домена и его поддоменов.

[- к содержанию -]

Ответ #2 @Павел 10.04.2012 11:21
Спасибо за быстрый и развернутый ответ. Попробую реализовать указанную систему авторизации. Еще пока не знаком с ActionFilter. Надо посмотреть.

[- к содержанию -]

Ответ #3 @Aleksey Nemiro 10.04.2012 11:29
ActionFilter - это класс, наследованный от ActionFilterAttribute. Например:
 public class MyFilter : ActionFilterAttribute
 {
  public override void OnActionExecuting(ActionExecutingContext filterContext)
  {
   // событие OnActionExecuting выполняется до загрузки action
   base.OnActionExecuting(filterContext);
   // через filterContext можно получить доступ к серверным объектам, типа Request, Response, Server, Session
   // например: filterContext.HttpContext.Request
   
   // редирект можно сделать так: filterContext.Result = new RedirectToRouteResult(куда редиректить)// можно использовать и другие Redirect-классы
  }
 }
В контроллере данный атрибут (ActionFilter) можно добавить к классу контроллера:
[MyFilter]
public class HomeController : Controller
{
}
В таком случае фильтр будет срабатывать для всех Action данного контроллера.
Либо можно добавить фильтр на отдельные Action:
public class HomeController : Controller
{

 // добавление фильтра для Index
 [MyFilter]
 public ActionResult Index(){

 }

 // а это action без фильтра
 public ActionResult Yandex(){
 }

}

[- к содержанию -]

Ответ #4 @Павел 11.04.2012 14:20
Не могу понять. в чем проблема.
На своем компьютере в поддомене куки работают отлично, а запускаю на сервере - родительский домен не узнает куков.
Самое интересное, что при входе в login.domain.com создается сразу два кука - для login.domain.com и для .domain.com.
На локальном компе второй кук узнается. а на серваке этого почему-то не происходит!
А как вообще происходит узнавание куков - по имени, по содержимому или по-другому?

[- к содержанию -]

Ответ #5 @Aleksey Nemiro 11.04.2012 14:36
Куки проверяются по домену и, если указан, адресу страницы. Если в куках нет адреса страницы, то куки используются на всех страницах. Если указан домен с точкой - .domain.com, то куки должны (зависит от браузера и параметров безопасности) использоваться в рамках всех поддоменов этого домена.

AutoGenerate в machineKey лучше не использовать, а создать фиксированные ключи (одинаковые для всех сайтов).

Можно посмотреть трафик при помощи Fiddler, там будет видно какие куки отправляет браузер и сервер.

[- к содержанию -]

Добавить свой ответ в эту тему
У меня два вопроса:
1) У меня круг, на границах круга 6 точек, как сделать, чтоб из одной точки можно было провести только 5 линий, если больше, выводилось сообщение "Недопустимый ход!"
2) Как сделать, чтобы при создании треугольника (линиями одного цвета) по этим точкам, выводилось сообщение "Вы проиграли!"
Пожалуйста, очень нужна Ваша помощь, иначе, мне капец!!!

[- к содержанию -]

Всем доброго времени суток.По заданию нужно создать класс с полями и массив-контецнер,куда по индексаторам поместить некоторые эти поля,затем записать поле и массив-контейнер в бинарный файл,считать поле и массив оттуда и вывести на консоль.В моём случае полем для записи является массив jets класса Plain,а контейнером является массив a класса Plains.Я записал их в бинарный файл,а считать что-то не получается.Помогите,пожалуйста.Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;//библиотека для сериализации
 
namespace LabOOP5
{
    [Serializable]
    class Plain
    {
        public int PlNum;//порядковый номер самолёта
        public int FlLen;//дальность полёта самолёта
        private int n=10;
        public static string[] jets = new string[4] { "Airbus А380", "Boeing 757", "An-24", "Il-86" };//поле массив
        public string jet;
        public Plain(int PlNum, int FlLen)//перегруженный метод
        {
            this.PlNum = PlNum;//задаём индексаторы для будущего массива
            this.FlLen = FlLen*n;
            for (int i = 0; i < 4; i++)
            {
                if (PlNum == i + 1)//условие для индексаторов
                    this.jet = jets[i];
            }
           
        }
 
    }
    [Serializable]//позволяет сохранять текущее состояние полей для записи
    class Plains 
    {
        Plain[] Plains1 = new Plain[4];//объявление массива-контейнера
        public Plain this[int pos]
        {
            get
            {
                if (pos >= 0 || pos < 4) return Plains1[pos];
                else throw new IndexOutOfRangeException("Вне диапазона!");//обработка исклечений
            }
            set { Plains1[pos] = value; }//задаем значения массива-контейнера
        }
 
    }
   
    class Executer
    {
        [STAThread]
        static void Main()//точка входа
        {
            Plains a = new Plains();//объект а-массив-контейнер 
            a[0] = new Plain(1, 2500);//заполнение массива
            a[1] = new Plain(2, 4000);
            a[2] = new Plain(3, 7000);
            a[3] = new Plain(4, 12000);
            int n = 4;
            FileStream fs;//объявление потока
            fs = new FileStream("Plain.bin", FileMode.Create, FileAccess.Write);//открытие потока создание файла,режим записи
            BinaryFormatter sw = new BinaryFormatter();//конвертер для преобразования в бинарный формат
            for (int i = 0; i < n; i++)
            {
                sw.Serialize(fs, Plain.jets[i]);//запись массива-поля jets из класса Plain
            }
            for (int i = 0; i < n; i++)
            {
                sw.Serialize(fs, a[i].PlNum + a[i].FlLen + a[i].jet);//запись данных массива-контейнера а класса Plains
            }
            fs.Close();//закрытие потока
 
            fs = new FileStream("Plain.bin", FileMode.Open, FileAccess.Read);//открытие потока
            long m=0, j = fs.Length;//j-длина потока
 
            while (m < j)//считывание побайтно
            {
                for (int i = 0; i < n; i++)
                {
                    Plain.jets[i] = Convert.ToString((Plain)sw.Deserialize(fs));//пытался считать массив jets класса Plain,пишет Не удалось привести тип объекта "System.String" к типу "LabOOP5.Plain".
                    Console.WriteLine(jets[i]);
                }
                //как считать данные из массива-контейнера a?
                m++;//счетчик для считывания
            }
 
            fs.Close();//закрытие потока
            //работал с консолью для самопроверки,это не нужно
            Console.WriteLine("Plain Models:");
             for (int i = 0; i < n; i++)
            {
                 Console.WriteLine(Plain.jets[i]);
             }
            Console.WriteLine("Available plains:");
            for (int i = 0; i < n; i++)
            {
                Console.WriteLine("Номер самолёта:" + a[i].PlNum + " Пробег в полёте:" + a[i].FlLen + "km " + "Марка:" + a[i].jet);
            }
            Console.ReadLine();
            //работал с консолью для самопроверки,это не нужно
        }
    }
}

[- к содержанию -]

Ответ #1 @Aleksey Nemiro 09.04.2012 12:01
Структура у классов какая-то странная
Статичные (static) методы, в данном случае, лучше не использовать. Вместо массивов удобней использовать коллекции, типа: List<type>, например List<string>:
List<Plain> plains = new List<Plain>();

Сериализация/денсериализация делается буквально одной строкой, в этом вся прелесть её использования:
  class Program
  {
    static void Main(string[] args)
    {
      Plains a = new Plains(); //объект а-массив-контейнер 
      a[0] = new Plain(1, 2500); //заполнение массива
      a[1] = new Plain(2, 4000);
      a[2] = new Plain(3, 7000);
      a[3] = new Plain(4, 12000);
      int n = 4;

      #region сериализация
      //открытие потока создание файла,режим записи
      using (FileStream fs = new FileStream("Plain.bin", FileMode.Create, FileAccess.Write))
      {
        BinaryFormatter sw = new BinaryFormatter(); //конвертер для преобразования в бинарный формат
        sw.Serialize(fs, a); // сериализация экземпляра объекта Plains
      } //закрытие потока, освобождение ресурсов
      #endregion

      #region десериализация
      Plains b = null;// отдельная переменная, для наглядности, в которую будут помещены данные из файла
      using (FileStream fs = new FileStream("Plain.bin", FileMode.Open, FileAccess.Read))
      {
        BinaryFormatter sw = new BinaryFormatter(); //конвертер для преобразования в бинарный формат
        b = sw.Deserialize(fs) as Plains; // десериализация
      }
      #endregion
      
      // вывод десериализованных данных
      Console.WriteLine("Plain Models:");
      if (b != null)
      {
        for (int i = 0; i <= b.Items.Length - 1; i++)
        {
          for (int j = 0; j <= b.Items[i].jets.Length - 1; j++)
          {
            Console.WriteLine(b.Items[i].jets[i]);
          }
        }
      }

      Console.ReadLine();
    }


  }
  
  #region классы для сериализации

  [Serializable]
  class Plain
  {
    public int PlNum;//порядковый номер самолёта
    public int FlLen;//дальность полёта самолёта
    private int n = 10;
    public string[] jets = new string[4] { "Airbus А380", "Boeing 757", "An-24", "Il-86" };//поле массив
    public string jet;

    public Plain(int PlNum, int FlLen) //перегруженный метод
    {
      this.PlNum = PlNum; //задаём индексаторы для будущего массива
      this.FlLen = FlLen * n;
      for (int i = 0; i < 4; i++)
      {
        if (PlNum == i + 1) //условие для индексаторов
          this.jet = jets[i];
      }
    }
  }

  [Serializable]//позволяет сохранять текущее состояние полей для записи
  class Plains
  {
    public Plain[] Items = new Plain[4]; //объявление массива-контейнера
    public Plain this[int pos]
    {
      get
      {
        // размер массива можно проверить
        // Items.GetLowerBound(0) - минимальный индекс массива
        // Items.Length - длина массива
        if (pos >= 0 || pos < 4) return Items[pos];
        else throw new IndexOutOfRangeException("Вне диапазона!");//обработка исклечений
      }
      set { Items[pos] = value; }//задаем значения массива-контейнера
    }

  }
  #endregion
Пример во вложении.

[- к содержанию -]

Ответ #2 @Aleksey Nemiro 09.04.2012 12:10
В 38 строке j в массиве jets вместо i:
Console.WriteLine(b.Items[i].jets[j]);
или даже так:
// вывод десериализованных данных
Console.WriteLine("Plain Models:");
if (b != null)
{
  for (int i = 0; i <= b.Items.Length - 1; i++)
  {
    Console.WriteLine(b.Items[i].FlLen);
    Console.WriteLine(b.Items[i].jet);
    Console.WriteLine(b.Items[i].PlNum);
    for (int j = 0; j <= b.Items[i].jets.Length - 1; j++)
    {
      Console.WriteLine(b.Items[i].jets[j]);
    }
  }
}

[- к содержанию -]

Добавить свой ответ в эту тему
Регулярка2 @i32 07.04.2012 12:16
День добрый.Подскажите как можно РеГуЛяРкОй выдернуть текст из XTML если ТЭГ на странице повторяется (к примеру 3 раза.А мне кокраз нужен ТРЕТИЙ)
 <li>Первый</li>
<li>Второй</li>
<li>Третий</li>
-----------------------
vb.net
Dim mm As Match = Regex.Match(soqurce, "<li>(?<Blw>.*?)</li>"
---------
Ищет только ПЕРВОЕ - Нужно ТРЕТЬЕ..
СПС.

[- к содержанию -]

Ответ #1 @Aleksey Nemiro 07.04.2012 12:57
Dim mс As MatchCollection = Regex.Matches(soqurce, "<li>(?<Blw>.*?)</li>"
Dim mm As Match 
If mc.Count > 0 Then mm = mc(mc.Count - 1)
'mm - будет содержать последнее найденное совпадение

[- к содержанию -]

Добавить свой ответ в эту тему
Есть таблица домашние животные.Ссылка на таблицуНужно создать кластеризованный индекс по полю Id,создать хранимую процедуру с входным параметром id и вывести на экран все сведенья о домашнем животном.если пользователь не ввел параметра,то вывести все записи таблицы.Создать триггер,который будет выводить на экран подтверждения при успешном удалении записи из таблицы.Создать триггер,который должен предотвратить удаление цвета домашенго животного коричневый.Помогите,пожалуйста.

[- к содержанию -]

Ответ #1 @Aleksey Nemiro 09.04.2012 15:11
Индекс можно создать в SQL Server Management Studio визуально

либо кодом:
CREATE CLUSTERED INDEX [название индекса] ON [название таблицы]([поле]);
+можно добавить команду UNIQUE, если поле имеет уникальные значения.

[- к содержанию -]

Добавить свой ответ в эту тему
Необходимо написать программу для поиска простых чесил в интервале от 1 до 100 на языке СИ.Простое число — это натуральное число, имеющее ровно два различных натуральных делителя: единицу и самого себя.Помогите.

[- к содержанию -]

Ответ #1 @Edlin 09.04.2012 12:31
Код будет выглядеть примерно так:


int[] primes = new int[100];
int pos = 0;

for(int i = 2; i <= 100; i++)
{
   bool isPrime = true;
   for(int j = 0; j < pos; j++)
   {
      if(i % primes[j] == 0)
      {
         isPrime = false;
         break;
      }
   }

   if(isPrime)
   {
      primes[pos] = i;
      pos++;
   }
}


После этого в массиве primes будут содержаться искомые тобой простые числа на местах с индексами от 0 до pos.

[- к содержанию -]

Добавить свой ответ в эту тему
Нужно написать программу,которая принимает строку и слово.Haпример введена строка computer center и слово center,на экран должно быть введено следующее:Start location of center in the string is 10.Программу нужно написать на языке СИ.Помогите,пожалуйста.

[- к содержанию -]

Ответ #1 @Edlin 09.04.2012 12:37
Алгоритм может быть примерно таким:


string text = "computer center";
string word = "center";

int textLenght = text.Length;
int wordLength = word.Length;

var position = -1;

for(int i = 0; i < textLenght - wordLength)
{
   bool match = true;

   for(int j = 0; j < wordLength; j++)
   {
      if(text[i + j] != word[j])
      {
         match = false;
         break;
      }
   }

   if(match)
   {
      position = i;
      break;
   }
}


Конечно, в C нет типа string и некоторые другие вещи делаются иначе, но суть остается той же. В конце в переменной position будет содержаться искомая позиция или -1, если слово не найдено в строке.

[- к содержанию -]

Добавить свой ответ в эту тему
Нужно написать программу для ввода строки и вывода этой строки на экран с удалёнными гласными.Например строка This is a pen должна быть выведена на экран как Ths s pn.Как написать эту программу, используя указатели?Нужно сделать программу на языке СИ.Прошу,помогите.

[- к содержанию -]

Ответ #1 @Aleksey Nemiro 07.04.2012 13:23
Примерно так:
string str = "This is a pen";
string result = "";
string excludeChars = "eyuioaуеыаоэяию";
for(int i = 0; i != str.length(); i++)
{
 bool allow = true;
 for(int j = 0; j != excludeChars.length(); j++)
 {
  if (tolower(str[i]) == tolower(excludeChars[j]))
  {
   allow = false; символ находится в списке запрещенных, не даем добавлять его в результат
   break;
  }
 }
 if (allow)
 {
  result += str[i];
 }
}
Или сделать replace запрещенных символов, примерно так:
string str = "This is a pen";
string result = str;
for(int i = 0; i != excludeChars.length(); i++)
{
 result = result.replace(result.begin(), result.end(), excludeChars[i], "");
}
Еще можно регулярные выражения использовать.


PS: Код примерный, си у меня нет.

[- к содержанию -]

Добавить свой ответ в эту тему
Привет всем. У меня вопрос. Допустим у меня есть NotePad или какой-нибудь другой текстовый редактор на рабочем столе. Я ввожу что-то в этот редактор. И когда что-то записываеться в этот редактор чтоб эти данные одновременно записывались в TextBox или во что-нибудь другое в программе на Visual Basic 2010.
То есть я хочу чтоб программа автоматически записывала данные из текстового редактора на рабочем столе в программу. Спасибо заранее. И пожайлуста если можно опишите поподробнее.

[- к содержанию -]

Все темы и обсуждения

Вакансии в IT

Web-программист

Россия, Санкт-Петербург | Работа в офисе | 40 000.00 KBP

Web-программист

Россия, Санкт-Петербург | Работа в офисе | 25 000.00 KBP

Веб-программист

Россия, Санкт-Петербург | Работа в офисе | 50 000.00 KBP

Веб дизайнер

Россия, Санкт-Петербург | Работа в офисе | 50 000.00 KBP

Web-дизайнер

Россия, Санкт-Петербург | Работа в офисе | 25 000.00 KBP

Руководитель направления SEO

Россия, Санкт-Петербург | Работа в офисе | 50 000.00 KBP

Менеджер по продажам SEO

Россия, Санкт-Петербург | Работа в офисе

SEO специалист

Россия, Санкт-Петербург | Работа в офисе | 25 000.00 KBP

SEO-специалист

Россия, Санкт-Петербург | Работа в офисе | 60 000.00 KBP

SEO-оптимизатор

Россия, Санкт-Петербург | Работа в офисе | 35 000.00 KBP

Все вакансии в IT · Создать резюме

[- к содержанию -]

Новости мира IT

Анонсирован планшет с 13-дюймовым экраном

Toshiba представила планшет Excite с диагональю экрана в 13 дюймов. У большинства планшетов на Android размер экрана колеблется от семи до десяти дюймов. Аппарат Toshiba весит килограмм, а в толщину насчитывает один сантиметр. В основе планшета лежит платформа Tegra 3.

12.04.2012 11:11 · Категория: Железо · Источник: Lenta.ru

[- к содержанию -]

Программа поддержки молодых программистов «IT start»

Федеральное агентство по делам молодежи в 2012 году запускает программу поддержки молодых программистов IT start .

В рамках программы в 9 регионах пройдут IT-школы молодых программистов, где помимо мастер-классов и тренингов Вы можете принять участие в грантовом конкурсе лучших IT-проектов.

 

Программа IT – школ состоит из следующих блоков:

- мастер-классы и тренинги по следующим направлениям:

·        Web программирование;

·        Разработка мобильных приложений;

·        Облачные технологии;

·        3D технологии в программировании;

·        Обеспечение информационной безопасности персональных данных;

·        Компьютерные угрозы. Угрозы для мобильных устройств;

·        Методы обнаружения и предотвращения компьютерных угроз;

·         Средства анализа и тестирования современных средств защиты;

·         Системы дистанционного контроля, сбора информации и мониторинга;

·        современные сетевые решения.

 

- индивидуальная работа в малых группах с проектами участников (консультации, доработка проектов, подготовка к презентации);

- презентационная сессия и определение победителей.

 

Организационное сопровождение мероприятий – Фонд «Национальные перспективы»,  PricewaterhouseCoopers;

 

Партнеры: компания Parallels, компания Mail.ru.

 

Операторы: всероссийский конкурс IT-планета, Федерация компьютерного спорта России (ФКС России), компания «Открытый код», проект IT-прорыв.

 

График проведения IT-школ:

 

1)    Ростовская область – 27.04 – 2.05;

2)    Саратов – 11.05-14.05;

3)    Астрахань – 15.05 &‐ 17.05;

4)    Томск – 23.05 – 26.05;

5)    Нижний Новгород – 29.05 – 1.06

6)    Москва – 6.06 – 9.06

7)    Екатеринбург – 14.06 – 17.06

8)    Санкт-Петербург – даты уточняются

9)    Казань – даты уточняются

 

Для того, чтобы принять участие в работе IT-школы необходимо зарегистрироваться на сайте программы www.it-start.pro

 

 

 

11.04.2012 10:45 · Категория: Новости Kbyte.Ru · Источник: Kbyte.Ru

[- к содержанию -]

Toshiba анонсировала линейку новых планшетов Excite

Toshiba сегодня анонсировала линейку своих новых интерет-планшетов Excite, работающих под управлением ОС Android 4.0 Ice Cream Sandwich. Выйдут в продажу новинки в мае и июне этого года. В линейку планшетов входят три модели: с диагональю экрана 7,7 дюйма, 10,1 дюйма, а также нетрадиционный для планшетов формат 13 дюймов. Все три разновидности планшетов работают под управлением SoC-систем Nvidia Tegra 3 с четырьмя ядрами.

Все три планшета работают только через WiFi и имеют 1 Гб оперативной памяти, 5-мегапиксельную переднюю камеру и 2-мегапиксельную заднюю. 13-дюймовая модель работает в разрешении 1600х900 пикселей, заявленное время работы от аккумуляторов составляет 13 часов. 10-дюймовая модель планшета имеет разрешение 1280х800 пикселей и обеспечивает автономное время работы в 10 часов. Два планшета поддерживают карты памяти SD (7,7-дюймовый вариант - microSD).

Цены на разработки компании достаточно высокие: Excite 7.7 стартует с 500 долларов, Excite 10 - с 550 долларов, Excite 13 с 650 долларов, что превышает показатели Asus Transformer Prime и Samsung Galaxy Tab 2.

Согласно заявлению компании, Excite 10 поступит в продажу с 6 мая, Excite 7.7 и 13 - с 10 июня.

11.04.2012 10:38 · Категория: Железо · Источник: CyberSecurity.ru

[- к содержанию -]

Все новости


Подпишитесь на тематические RSS-ленты Kbyte.Ru, чтобы быть в курсе последних новостей:

Основная лента · Форумы (темы и сообщения) · Visual Basic 5.0/6.0 · Visual Basic .NET · C# (Си шарп) · Delphi · JavaScript · ActionScript · ASP .NET · ASP .NET MVC

Ищите Kbyte.Ru в социальных сетях FaceBook, ВКонтакте, Twitter.

Если вы занимаетесь программированием, то наверняка вам пригодятся хитрые инструменты.


Международный портал для программистов и разработчиков Kbyte.Ru основан в 2006 году. Целью портала является объединение программистов и специалистов IT-бизнеса, студентов и преподавателей для обмена опытом и знаниями, оказания помощи во всех делах и начинаниях в области IT.
Kbyte.Ru является парнёром компаний Mail.Ru Group, WebMoney Transfer, Ozon.Ru и др.
Выпуск рассылки подготовлен автоматически. Все права на материалы выпуска принадлежат Kbyte.Ru если иное не указано отдельно.


В избранное