Popular Tags:

Простой бэкенд для игры

20.11.2017 at 08:43

Часто при разработке игры требуется сделать серверную часть. Сегодня я покажу как просто и быстро можно это сделать на примере хранения таблицы рекордов.
Использовать буду .net core 2.0 потому, что с одной стороны это позволяет писать на C#, с другой код можно запустить на любой дешевой виртуалке.

В качестве фреймворка я буду использовать NancyFx. read more

Полезности №2

13.11.2017 at 18:00

Human eye viewing data on virtual screen — Biometrics concept

Изменение дефолтной версии node в nvm

nvm alias default v6.9.1

apt-get install без необходимости вводить подтверждение

apt-get install package-name --yes

универсальный вариант:

yes | apt-get install package-name

yes — это утилита, которая бесконечно выводит y

Запуск дартиума так, чтобы после ошибки не терялось содержимое консоли

--enable-logging --v=1 --checked

Флаг —checked здесь не обязателен, но очень полезен для отладки Dart кода read more

Программное создание приватного прокси

31.10.2017 at 08:09

Я уже рассказывал о том, как можно создать приватный прокси. У таких прокси только один существенный недостаток — необходимость ручных действий. Так что я решил этот процесс автоматизировть.
К счастью Digital Ocean предоставляет удобное API для управления дроплетами.

Создание SSH ключей

Для подключения к виртуалке и настройки прокси сервера потребуются SSH ключи. read more

Создание приватного прокси

16.10.2017 at 13:58

Часто прокси нужен на 10-15 минут или нужно передать через прокси конфеденциальные данные. В таких ситуациях желательно иметь свой личный прокси. Покупать так называемые «приватные» прокси я не рекомендую потому что это кот в мешке и вы никогда не узнаете скольким людям продали тот же прокси. Я в таких случаях быстро создаю прокси на VPS а после использования удаляю. read more

Использование proxy в selenium

14.10.2017 at 10:15

Я уже писал о парсинге сайтов с помощью библиотеки selenium. Иногда бывает нужно использовать прокси при парсинге. Сделать это не трудно:

var proxy = new Proxy();
proxy.HttpProxy = "<ip>:<port>";
var options = new ChromeOptions();
options.Proxy = proxy;
IWebDriver driver = new ChromeDriver(options);

для socks прокси с логином и паролем настройка будет выглядеть так:

var proxy = new Proxy();
proxy.SocksProxy = "<ip>:<port>";
proxy.SocksUserName = "<login>";
proxy.SocksPassword = "<password>";
var options = new ChromeOptions();
options.Proxy = proxy;
IWebDriver driver = new ChromeDriver(options);

Самое главное: никогда не передавайте через прокси важные данные, если это не ваш прокси! read more

Использование прокси на C#

13.10.2017 at 13:51

Часто при парсинге данных можно столкнуться с защитой от парсинга. Чаще всего сервер банит IP адрес с которого идет слишком много запросов. Для обхода такой защиты нужно использовать proxy.

Ранее я уже писал о парсинге сайтов с помощью создания WebRequest. Добавить к нему прокси очень просто:

static void AddProxy(HttpWebRequest request) {
    var proxy = new WebProxy(proxyip, proxyport);            
    request.Proxy = proxy;
}

Некоторые прокси могут требовать авторизации по логину и паролю. read more

Переопределение урла сервера из конфига в asp.net core 2.0

05.10.2017 at 21:32

Для того, чтобы переопределить урл в коде, нужно в метод BuildWebHost добавить строку

.UseUrls("http://localhost:60000", "http://localhost:60001")

UseUrls это метод расширения, который выглядит так:

public static IWebHostBuilder UseUrls(this IWebHostBuilder hostBuilder, params string[] urls)
{
    if (urls == null)
    {
        throw new ArgumentNullException(nameof(urls));
    }

    return hostBuilder.UseSetting(WebHostDefaults.ServerUrlsKey, 
        string.Join(ServerUrlsSeparator, urls));
}

т.е. на самом деле он устанавливает настройку с названием WebHostDefaults.ServerUrlsKey, записывая туда урлы, разделенные ServerUrlsSeparator. read more

Легковесная встраиваемая база данных LiteDB

04.10.2017 at 20:57


Я часто пишу небольшие домашние проекты и постоянно приходится решать проблему хранения данных. Полноценный сервер БД это слишком сложно для такого проекта, а сериализация в файлы требует слишком много сил. На помощь приходят различные встраиваемые БД. Сегодня посмотрим на одну из них — LiteDB.

Авторы рекомендуют базу для небольших десктоп приложений и веб сервисов. read more

Генерация тестовых данных на C#

02.10.2017 at 22:20

Для генерации данных я использую библиотеку Bogus. Начнем с примеров:

using Bogus;
using Bogus.DataSets;
...
var faker = new Faker();
Console.WriteLine(faker.Company.CompanyName()); //Keebler LLC
Console.WriteLine(faker.Name.FullName(Name.Gender.Male)); //Werner Rath
Console.WriteLine(faker.Image.Animals()); //http://lorempixel.com/640/480
Console.WriteLine(faker.Internet.Avatar()); //https://s3.amazonaws.com/uifaces/faces/twitter/rehatkathuria/128.jpg

Методы генерации сгруппированы по датасетам. Bogus умеет генерировать следующие данные:
Address — почтовый индекс, улица, страна, штат, широта и долгота и т.д. read more

Парсинг сайтов на C#

11.09.2017 at 11:55

Использование Selenium на C#

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

Подключение Selenium к проекту

В контекстном меню проекта выбираем пункт «Manage NuGet Packages…»

Далее на вкладке «Browse» находим и устанавливаем пакеты Selenium.WebDriver и Selenium.WebDriver.ChromeDriver. read more