@CSharpChatЭта группа больше не существует

Страница 369 из 1888
Лёша
17.02.2017
08:41:03
Открываю проект и закрываю

Лёша
17.02.2017
08:41:33
работать 24/7 зло крыша съедет рано или поздно
Согласен. Я когда практику проходил думал что сейчас то я забабахаю что-нить, но обосрарлся

Владимир
17.02.2017
08:41:43
а технически как реализовано? кто меня одёргивает от использования неподдерживаемых классов?
тебе придется менять таргет платформу и твоя библиотека будет работать только на новом таргете

Google
Timur
17.02.2017
08:41:59
Открываю проект и закрываю
у меня такое же бывает. тут либо водка, либо к бабам. а лучше и то, и другое © Кино

User
17.02.2017
08:42:04
Ну специальность то информатик-экономист, но вот работаю эникейщиком
Если сама специальнсть тебе интересна то попробуй по ней развиваться. Аналитиком по бизнес системам можно для начала

Летучая
17.02.2017
08:42:48
главное чтоб потом откачивать не пришлось

Сергей
17.02.2017
08:42:55
пуэр помогает =)
В радио - т обсуждали https://www.reddit.com/r/microdosing/

Timur
17.02.2017
08:42:58
тебе придется менять таргет платформу и твоя библиотека будет работать только на новом таргете
указывают таргет платформу, компилятор сверяет мой код с NetStandarts, и если я неправ, выкидывает ошибку?

Лёша
17.02.2017
08:43:03
Хочу создать среду, в которой бы работали другие люди, данные забивались, а я бы мастурьировал от удовольствия

User
17.02.2017
08:43:06
Работая с бизнесом напрямую ты тоже будешь видеть результат причем на лицах конкретных людей

Ты улучшаешь жизнь не абстрактного пользователя, а вполне конкретного человека/группы лиц

Плюс фидбек тебе напрямую обеспечен, причем без всяких нежностей и компромисов

)))

Artem
17.02.2017
08:46:12
Может кто знает, нужно проверять номер на доступность. Есть готовые решения? (ну кроме как самому настроить asterisk и т.п.)

Google
Alex
17.02.2017
09:09:01
http://stackoverflow.com/questions/42293703/multiple-independent-locks-on-several-objects поможите люди добри

Сергей
17.02.2017
09:11:07
Странный вопрос...

Есть Mutex но вопрос все равно странный

Alex
17.02.2017
09:15:20
если я правильно понимаю, ни mutex, ни semaphore мyе не нужны: http://stackoverflow.com/questions/2332765/lock-mutex-semaphore-whats-the-difference

нужен просто массив локов

Есть Mutex но вопрос все равно странный
есть несколько папок. в каждую можно пускать только по одному человеку. и всё

Сергей
17.02.2017
09:16:18
а

Владимир
17.02.2017
09:16:22
Можно лочить прям директори инфо объекты.

Если они у тебя где-то хранятся вне пользовательских сессий

Alex
17.02.2017
09:16:55
причём без очередей, кто влез в залоченую – слать с соответствующим сообщением

Владимир
17.02.2017
09:17:45
Лок не может чекать сам по себе

Artem
17.02.2017
09:18:23
причём без очередей, кто влез в залоченую – слать с соответствующим сообщением
Я уже вроде писал тебе. два ваарианта сходу - 1. Mutex по полному пути папки 2. Делаешь массив ConcurrentDictionary<string, object> где ключ - это полный путь папки, а значение объект для лока

Владимир
17.02.2017
09:18:49
Придется заводить какой-нибудь флаг и делать дабл лок, либо таки использовать семафор

Alex
17.02.2017
09:19:34
да, я помню, спасибо) что-то у меня пока там не вышло

лан, пока ещё покопаюсь, всем спасибо

Artem
17.02.2017
09:24:46
public class TestController : ControllerBase { public ActionResult Get(string folder) { var fullPath = HostingEnvironment.MapPath(folder); using (new Mutex(true, fullPath)) { //do stuff } return View(); } }

вот вариант с мьютексом

Alex
17.02.2017
09:27:19
то есть, если folder в запросах будет разная, то Get смогут выполнить одновременно сколько угодно людей?

Google
Artem
17.02.2017
09:27:47
вот вариант со ConcurrentDictionary public class TestController : ControllerBase { public static readonly ConcurrentDictionary<string, object> Locks = new ConcurrentDictionary<string, object>(); public ActionResult Get(string folder) { var fullPath = HostingEnvironment.MapPath(folder); var lockObject = Locks.GetOrAdd(fullPath, new object()); lock (lockObject) { //do stuff } return View(); } }

то есть, если folder в запросах будет разная, то Get смогут выполнить одновременно сколько угодно людей?
да. при варианте с мьютексом - у каждого мьютекса свое имя при варианте со словарем - на каждый путь - свой объект синхронизации

Alex
17.02.2017
09:29:02
то, что надо

Artem
17.02.2017
09:31:23
вот ктстаи вопрос на собеседование public ActionResult Get(string folder) { int syncRoot = 0; lock (syncRoot) { //do stuff } return View(); } что не так?

Сергей
17.02.2017
09:31:52
Что не так? Боксинг и лок на нем?

Владимир
17.02.2017
09:31:56
синк рут каждый раз новый

бесполезный лок

Artem
17.02.2017
09:32:28
ну проблема в том, что это не скомпилируется

это раз

Aleksey
17.02.2017
09:32:59
lock object принимает только ?

Artem
17.02.2017
09:33:31
lock object принимает только ?
да. Вопрос почему?

Сергей
17.02.2017
09:34:27
Да потому что у вэлб. типов нет синкблока

Artem
17.02.2017
09:34:35
например, если следать так: public class TestController : ControllerBase { public static int syncRoot = 0; public ActionResult Get(string folder) { lock ((object)syncRoot) { //do stuff } return View(); } } вудет ок?

Сергей
17.02.2017
09:35:06
нет не будет

Aleksey
17.02.2017
09:35:30
Artem
17.02.2017
09:36:07
правильный ответ - нет, не будет

но скомпилируется

Сергей
17.02.2017
09:36:33
??

Artem
17.02.2017
09:36:56
Только вот лок стал бесполезным. Вопрос почему?

Alex
17.02.2017
09:38:11
потому что объект новый каждый раз будет создаваться?

Google
Artem
17.02.2017
09:38:50
Alex
17.02.2017
09:39:28
нет смысла лочить получается

Владимир
17.02.2017
09:39:51
?object)syncRoot вот это выглядит слишком костыльно, раз нельзя инт локать по умолчанию, значит не стоит этого делать

Alex
17.02.2017
09:40:19
?

Aleksey
17.02.2017
09:40:26
да почему, компилируется же :)

упакованный инт получается, чем тебе не объект

Сергей
17.02.2017
09:41:45
Это скучно, и слшком очевидно с локом, попробуйте вот это разгадать https://pbs.twimg.com/media/CeN8-sSWAAA_Ze5?format=jpg&name=large

Владимир
17.02.2017
09:41:45
упакованный инт получается, чем тебе не объект
упаковываться будет каждый раз в новый объект?

Vyacheslav
17.02.2017
09:42:32


Admin
ERROR: S client not available

Igor
17.02.2017
09:43:38
Сергей
17.02.2017
09:44:02
Я про окно locals

Artem
17.02.2017
09:44:10
если говорить проще - лок делается на адрес в памяти. Упаковываая каждый раз ты присваиваешь каждый раз новый адрес

Aleksey
17.02.2017
09:44:31
на память

почаще такие вопросы в чат кидай :)

Igor
17.02.2017
09:45:22
this == null
А если брейкпоин поставить на return?

Сергей
17.02.2017
09:45:39
Google
Сергей
17.02.2017
09:45:55
Вопрос в том как добиться того этого

Aleksey
17.02.2017
09:45:59
там дело в том что this указывает на непонятно что

Axm
17.02.2017
09:46:00
пакет json.net? короче в любом случае десериализуй в готовый тип. чтобы подготовить просто, скопипасть в студию json через edit - paste special - json as classes.

Axm
17.02.2017
09:47:01
public class Dog { public string Name { get; set; } } var json = @"{ ""name"" : ""Spot"" }"; var spot = JsonParser.Deserialize<Dog?json); Console.WriteLine(spot.Name)

вот у них в примере

JsonParser.Deserialize<Dog?json);

Vyacheslav
17.02.2017
09:48:03
это я видел, у меня структура сложная



и он не хочет искать

null постоянно возвращает

Axm
17.02.2017
09:48:38
у меня гораздо сложнее и все хорошо работает. что искать-то?

Alexander
17.02.2017
09:48:55
Axm
17.02.2017
09:49:00
может структура твоя не соответствует json и он ее не может десереализовать

Vyacheslav
17.02.2017
09:49:22
http://json2csharp.com/ вот сюда пихал свой json

потом класс сделал

Igor
17.02.2017
09:49:40
Вопрос в том как добиться того этого
Что-нибудь с "самописный код на IL"/рефлекшен/unsafe

Alexander
17.02.2017
09:50:16
Axm
17.02.2017
09:50:56
покажи json

Сергей
17.02.2017
09:51:15
ну да рефлекшен

но без emit и unsafe

Страница 369 из 1888

Эта группа больше не существует Эта группа больше не существует