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

Россияне доверили цензуру в интернете спецслужбам и правительству



Россияне доверили цензуру в интернете спецслужбам и правительству
2015-08-05 14:04

Почти половина россиян — 42 процента — готовы доверить регулирование интернета правительству, 41 процент — спецслужбам. Об этом свидетельствуют результаты исследования ВЦИОМ и Центра изучения глобальных коммуникаций при университете Пенсильвании. Всего необходимой цензуру в интернете назвали 49 процентов респондентов.



Общественная палата предложила ввести лимит на сим-карты
2015-08-05 14:04

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



C# WCF Сбой web службы, что делать?
2015-08-05 17:45 dr.monstr
Здравствуйте Алексей!

Ситуация следующая:
Есть работающий WebService которые получает данные из интернета и сохраняет их на диск через указанное время, например каждые 40 минут. Пока он их не сохранит данные хранятся в буфере. Допустим произойдет непредвиденный сбой этого ВебСервиса, он закроется, перестанет работать и в таком духе.

Вопрос: Есть ли какой нибудь выход из данной ситуации? Можно ли сделать так, если что нибудь произошло со службой, то она успела сохранить на диск информацию из буфера?

Спасибо :)

RE: C# WCF Сбой web службы, что делать?
2015-08-05 19:34 Алексей Немиро
Сразу записывать

Если приложение будет закрываться нормально, то будет вызван обработчик Application_End, в котором можно указать запись данных из буфера в файл.

Но если приложение будет убито нервным админом (процесс будет закрыт жестко) или неожиданно выключат электричество, то событие Application_End вызвано не будет, либо обработка события не будет завершения, со всеми вытекающими последствиями. С подобными ситуациями ничего не поделать, разве что избегать их появления.

Нормальными условиями считаются условия, когда сервер сам все делает. Или когда остановка приложения делается через IIS (остановка пула). При отправке команды на перезагрузку сервера (нормальным способом, без суеты), тоже все должно работать правильно.

WebApi c#
2015-08-05 19:53 JustArt
С чего начать?

RE: WebApi c#
2015-08-05 21:42 Алексей Немиро
Что, веб-сервис уже не катит?

Под веб API я имел ввиду любую реализацию API в веб. Специально для этого слово "веб" написал "веб", а не "web" WebApi не обязательно использовать, но если очень хочется, то лучше начать с MVC.

wikipedia.org:
API - интерфейс программирования приложений, набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для использования во внешних программных продуктах. Используется программистами при написании всевозможных приложений.

SOAP (используется в web sirvice) грязный протокол, но удобен, т.к. не нужно делать лишних механизмов для отправки запросов и обработки результатов. Можно сказать, это протокол для ленивых.

Ну а что касается API, то вот это тоже метод API:
// http://example.org/CurrentDateTime.aspx
public class CurrentDateTime
{
  protected void Page_Load(object sender, EventArgs e)
  {
    Response.Clear();
    Response.ContentType = "text/plain";
    Response.Write(DateTime.Now.ToString());
  }
}
Т.е. архитектуру вполне можно свою сделать.
В WebForms можно пошаманить с веб-службами, избавиться от SOAP и работать с JSON или любым другим форматом данных.

DataGrid
2015-08-05 22:52 rusiko
Здравствуйте. Не подскажете как можно сделать так, чтобы после редактирования datagrid, выделение оставалось на измененной стоке. По умолчанию выделяется всегда первая строка DataGrid, после того как изменяется какое-то значение (добавляется новая запись, удаляется запись или редактируется), выделение сразу же переходит на первую верхную строку. А мне надо, чтобы (например: изменил 5-ю строку), пока я сам не нажимаю на обновить, выделение оставалось на редактируемой строке. Программа написана на VB.NET

RE: WebApi c#
2015-08-05 23:23 JustArt
Как тогда сделать службу "невидимом" для других пользователей?

RE: WebApi c#
2015-08-05 23:33 Алексей Немиро
Что значит невидимой?

RE: WebApi c#
2015-08-05 23:58 JustArt
Чтобы её могли использовать только избоанные

RE: DataGrid
2015-08-06 00:02 Алексей Немиро
Private индексТекущейСтроки As Integer
'перед редактированием
индексТекущейСтроки = DataGridView1.CurrentRow.Index
'после редактирования
DataGridView1.CurrentCell = DataGridView1.Rows(индексТекущейСтроки).Cells(0)


RE: WebApi c#
2015-08-06 00:11 Алексей Немиро
Спрашивать у пользователей логин и пароль, или еще что-нибудь.
В API чаще ключи используются, что по сути тоже самое, что и логин с паролем. Обычно AppId и Secret Key; где AppID - идентификатор приложения (логин), а Secret Key - секретный ключ (пароль).

Для дополнительной защиты можно сделать ограничение доступа по IP-адресу.

Или заставить подписывать запросы. Подпись обычно делается из параметров запроса + секретное слово, известное только API и владельцу учетной записи (ключа). Формируется хеш-сумма md5 или sha1. Но это слишком муторно и сложно будет для пользователей.

Или ограничить типы запросов. Например, принимать только POST-запросы.

Еще можно выдавать маркеры доступа. Пользователь API отправляет подписанный запрос, сервер проверяет его и выдает маркер доступа (например, guid). И далее клиенту не нужно делать сложные запросы, а можно просто использовать полученный маркер доступа. Маркер доступа может быть привязан к IP, с которого был получен. Срок жизни маркера обычно ограничен. Степень надежности будет достаточно высокой.

Можно все сразу использовать

RE: WebApi c#
2015-08-06 00:15 JustArt
Можно по подробнее о маркере доступа

RE: WebApi c#
2015-08-06 00:17 Алексей Немиро
http://api.foxtools.ru/v2/GeoIp.html?auth=1&details=1

http://api.foxtools.ru/v2/Help/GetToken
http://api.foxtools.ru/v2/GetToken.html?auth=1&details=1

В Хитром API, пользователь использует AppId и AppSecret для получения маркера доступа.
Сервер просто генерирует в базе GUID, возвращает клиенту.
Клиент передает маркер своему пользователю.
Пользователь выполняет любой запрос к API, используя полученный маркер (передает его в параметре token).
При первом использовании маркера, в базе к этому маркеру добавляется IP пользователя (Request.UserHostAddress).
И всё. Маркер связывается с определенным IP и другие пользователи не могут его использовать.

Например, ты получишь ошибку, а для меня все ok:
http://api.foxtools.ru/v2/GeoIp.html?details=1&token=5aa12f24c5604994ae253271fea65ad2

Срок действия маркера ограничен. По умолчанию 20 минутами. Потом запись просто удаляется и пользователю нужно будет получать новый маркер.

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

Можно использовать AppId и AppSecret как есть. У меня для этого BASIC авторизация используется (обычная браузерная).
if (String.IsNullOrEmpty(Request.Headers["Authorization"]))
{
  Response.AddHeader("WWW-Authenticate", "Basic realm=\"Enter App ID and Secret Key\"");
  Response.StatusCode = 401;
}
else
{
  var base64 = Request.Headers["Authorization"].Substring(Request.Headers["Authorization"].IndexOf(" ")).Trim();
  var arr = Encoding.ASCII.GetString(Convert.FromBase64String(base64)).Split(':');
  // arr[0] - логин
  // arr[1] - пароль
}
Браузерная - клиентам программно легко сделать, это же обычный HTTP.

В первой версии были POST-запросы и местами нужно было подпись считать. Это слишком сложно для пользователей и толку немного, поэтому пришлось отказаться.

RE: Моя последняя рисовалка ?
2015-08-06 06:52 Akiva
Немного добавлено и убраны некоторые ошибки

RE: Моя последняя рисовалка ?
2015-08-06 06:52 Akiva
Немного добавлено и убраны некоторые ошибки


Секундомер (StopwatchTime)
2015-08-06 07:12 Akiva
С убыванием(-) и увеличением(+) mSecond.

Управление и технологии автоматизации учета на платформе 1С:Предприятие
2015-08-06 15:18

 

Компания «Инфостарт» - Сообщество по автоматизации учета и управления (490 000 участников) – приглашает гостей на V всероссийскую профессиональную конференцию INFOSTART EVENT 2015 CONNECTION, которая состоится 15-17 октября в Санкт-Петербурге, в КЗ «Колизей» на Невском проспекте, 100.

 

Эксперты индустрии, представители ведущих ИТ-компаний, успешные предприниматели, а также независимые аналитики расскажут аудитории о том, что нового появилось в автоматизации учета и управления на 1С за последнее время, и каких изменений и нововведений стоит ожидать в дальнейшем.

 

INFOSTART EVENT 2015 CONNECTION соберет в октябре в стенах «Колизея» самых значимых и заинтересованных участников рынка, как со стороны заказчиков, так и со стороны исполнителей.

 

Более подробная информация о мероприятии на сайте - http://event.infostart.ru/2015/

8-800-5555-256



Import Excell to SQL Server
2015-08-06 20:37 rusiko
Привет всем. Не скажете как можно импортировать данные из таблицы Excell в SQL. Когда импортирую используя мастер все нормально идет, в случае, если типы данных в SQL NChar или NVarChar. Но если, есть типы вроде datetime, integer и decimal, то по окончании импорта вылетает ошибка. Смотрел в интернете как это делают и сделал точно также, но как уже сказал в конце вылетает ошибка. Взял и изменил все типы на NVarChar и запустил мастер. Все прошло нормально, все данные успешно импортировались. Но когда, после того как заполнил таблицу SQL, опять захотел вернуть некоторые типы к первоначальному состоянию, то стало невозможно вернуть типы (все типы стали NVarChar). Чтобы исправить типы нужно опустошить таблицу. Вот такая проблема. Спасибо заранее.

RE: Import Excell to SQL Server
2015-08-06 23:04 Алексей Немиро
Каким кодом делается импорт?


RE: Import Excell to SQL Server
2015-08-07 01:05 rusiko
Не кодом, а хочу сделать через мастер.

За месяц число слушателей Apple Music достигло 11 миллионов
2015-08-07 15:03

На музыкальный стриминговый сервис Apple Music подписались 11 миллионов человек спустя месяц после его запуска. Среди них 2 миллиона пользователей выбрали семейную подписку (благодаря ей можно подключить к сервису до шести родственников). В компании отметили, что довольны такими цифрами.



Управление и технологии автоматизации учета на платформе 1С:Предприятие
2015-08-07 15:18

 

Компания «Инфостарт» - Сообщество по автоматизации учета и управления (490 000 участников) – приглашает гостей на V всероссийскую профессиональную конференцию INFOSTART EVENT 2015 CONNECTION, которая состоится 15-17 октября в Санкт-Петербурге, в КЗ «Колизей» на Невском проспекте, 100.

 

Эксперты индустрии, представители ведущих ИТ-компаний, успешные предприниматели, а также независимые аналитики расскажут аудитории о том, что нового появилось в автоматизации учета и управления на 1С за последнее время, и каких изменений и нововведений стоит ожидать в дальнейшем.

 

INFOSTART EVENT 2015 CONNECTION соберет в октябре в стенах «Колизея» самых значимых и заинтересованных участников рынка, как со стороны заказчиков, так и со стороны исполнителей.

 

Более подробная информация о мероприятии на сайте - http://event.infostart.ru/2015/

8-800-5555-256



RE: Окно настроек приложения на wpf, Вертикальное меню ScrollViewer
2015-08-08 23:14 Shark1
Я думаю,что ScrollViewer здесь не нужен.

Самый простой примерный метод реализован без единой строчки кода и в основном используются привязки в XAML. (см. прикрепленный файл)

Прилагаю скриншоты.











Удачи.

В избранное