Задать вопрос
  • Стоит ли подписывать такой nda ???

    BasiC2k
    @BasiC2k
    .NET developer (open to job offers)
    В договоре можно указать штраф хоть на миллиард. Но при взыскании этой суммы в судебном порядке (только так, если Вы не согласны) судья попросит обосновать эту сумму, т.е. пояснить - какой ущерб был причинен работодателю. И есть ли причинно-следственная связь между Вашими действиями и последствиями. Также в организации должен быть закреплен приказом перечень сведений, составляющих коммерческую тайну. И, что важно, должны проводиться конкретные мероприятия по защите этой самой тайны. Разумеется со всеми документами Вы должны быть ознакомлены под роспись.

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

    PS Разглашать чужие тайны плохо.
    Ответ написан
    Комментировать
  • Как отражается изменения словаря на присваиваемые?

    ayazer
    @ayazer
    Sr. Software Engineer
    https://docs.microsoft.com/en-us/dotnet/csharp/lan...

    как я понимаю если я буду менять значения в Dictionary1 то они будут меняться и в 2 и 3 словарях?

    да, так как все будут ссылатся на один и тот-же объект

    но если я буду менять значения в 2 и 3 словарях они не будут затрагивать друг друга?

    будут, т.к. они будут ссылатся на один и тот-же объект

    то есть меняя значения в 2 словаре это никак не отразится на 3 словарь, я правильно понимаю?

    нет

    А то просто во недавно столкнулся с такой проблемой что присвоил один словарь другому Dictionary2 = Dictionary1 потом 1й очистил и 2й автоматом тоже оказался очищенным


    это один и тот-же словарь. просто на него ссылаются две переменные.

    те
    private Dictionary<string, ClassTest> Dictionary1  // переменная Dictionary1 типа Dictionary<> 
        = new Dictionary<string, ClassTest>(); //которая ссылается на объект Dictionary [id=1]
    private Dictionary<string, ClassTest> Dictionary2 // переменная Dictionary2 типа Dictionary<> 
        = new Dictionary<string, ClassTest>(); //которая ссылается на объект Dictionary [id=2]
    private Dictionary<string, ClassTest> Dictionary3 // переменная Dictionary3 типа Dictionary<> 
        = new Dictionary<string, ClassTest>(); //которая ссылается на объект Dictionary [id=3]
    
    //Dictionary1 -заполняем данными
    Dictionary2 = Dictionary1; //переменная Dictionary2 теперь ссылается туда-же, куда и переменная Dictionary1, 
    // т.е на Dictionary [id=1]
    
    Dictionary3 = Dictionary1; //переменная Dictionary3 теперь ссылается туда-же, куда и переменная Dictionary1, 
    // т.е на Dictionary [id=1]
    
    // a объекты Dictionary [id=2] и Dictionary [id=3] будут собраны сборщиком мусора, т.к. они больше не нужны


    UPD:

    а как мне сделать 2 словаря по типу 1го, то есть у меня есть 1й словарь шаблон, я хочу чтобы 2й и 3й словари изначально так же и выглядели (имели все те же данные), но далее данные в них менялись независимо друг от друга?


    ну например как-то так:
    var dict1 = new Dictionary<int, int>()
    {
        [1] = 2,
    };
    
    var dict2 = new Dictionary<int, int>(dict1);
    
    dict1.Add(2, 3);
    dict2.Add(2, 1);
    
    
    var log = new Action<Dictionary<int,int>>((dict) =>
    {
        Console.WriteLine(string.Join(", ", dict.Select(c => $"{c.Key}={c.Value}")));
    });
    
    log(dict1);  //1=2, 2=3
    log(dict2);  //1=2, 2=1
    Ответ написан
  • Что проще — написать стили с нуля или пользовать Bootastrap?

    Pavel-ww
    @Pavel-ww
    Тут вопрос требований к проекту. Если в ТЗ четкое указание использовать Bootstrap, то куда вы от этого денетесь. Придется изучать. Главное понять его принцип, тогда ничего муторного не будет. Есть классы с интуитивно понятными именами, добавляя которые в html код вы используете уже написанные заготовки css из bootstrap.

    Если требование к проекту не регламентируют обязательное использование Bootstrap, то тут конечно проще и быстрее (хотя это субъективно) написать свой код. У своего кода неоспоримое преимущество в том, что его будет значительно меньше и можно использовать легкие и быстрые технологии , такие как css grid. Все это позитивно скажется на проекте в плане чистоты кода и скорости загрузки, так как не надо тянуть весь фреймворк если вам требуется всего 10% его возможностей. Или использовать длиннющий стек классов в html тегах.

    То есть, вопрос ставить так - "что проще?" - не корректно. Проще то что вы лучше знаете. Есть люди которые слабо знают css и зазубрили классы bootstrap, есть те, которые отлично знают css но слабо ориентируются в классах Bootstrap. И нивелируют все эти метания требования ТЗ. ))

    Удобной практикой является использование полностью своего CSS в связке с JS компонентами Bootstrap. Компоненты - это то чем стоит пользоваться. Зачем писать свой JS если всё уже написано или если нет навыков JS, тем более можно подключить только то, что нужно.
    Ответ написан
    Комментировать
  • Разница CompareTo() в IComparable и Equals() в IEquatable?

    Nipheris
    @Nipheris Куратор тега C#
    IComparable предназначен для установления отношения порядка между объектами, реализующими этот интерфейс, ну или грубо говоря, для сортировки. Т.е. когда для двух данных объектов А и Б вы можете утверждать, что А < Б ИЛИ А == Б ИЛИ А > Б.

    IEquatable предназначен для установления отношения равенства. Когда для двух данных объектов А и Б вы можете утверждать, что А == Б или А != Б.

    Далеко не для всех типов данных вы хотите и можете устанавливать отношение порядка, в то время как для большинства типов с value-семантикой вы захотите иметь отношение равенства/неравенства. Это настолько частая и необходимая вещь, что записи в C# автоматически реализуют для вас IEquatable.
    Ответ написан
    1 комментарий
  • Разница CompareTo() в IComparable и Equals() в IEquatable?

    @oleg_ods
    IComparable - больше/меньше
    IEquatable - равен/не равен
    Ответ написан
    Комментировать
  • Как Console.WriteLine() воспринимает объект StringBuilder-а?

    edward_freedom
    @edward_freedom
    Прочитай в книге про переопределение ToString
    public class Test
            {
                private string _text;
                public Test(string text)
                {
                    this._text = text;
                }
    
                public override string ToString()
                {
                    return _text;
                }
            }


    var x = new Test("текст");
                Debug.WriteLine(x);
    Ответ написан
    Комментировать
  • Visual Basic - почему строка из .txt файла считывается не полностью?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988

    почему этот код записывает в переменную getDublicateColumn только часть строки из файла,

    Примечание
    Input Функция не локализована. Например, в немецкой версии при вводе 3, 14159 возвращает только 3, поскольку запятая обрабатывается как разделитель переменных, а не как десятичная точка.

    В документации же написано, что запятая разделитель переменных.
    Ответ написан
    Комментировать
  • Как исправить ошибку в VS2019 С# "Индекс находился вне границ массива."?

    @none7
    Максимально возможное значение line1 и line2 равно pow(block_size,3), а размер map pow(block_size,2). Естественно, что значение переполняется.
    Ответ написан
    Комментировать
  • Проблема в "нерандомности" рандома или ошибка в реализации?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    В C#, при создании объекта Random без параметра, он инициализируется системным временем, которое имеет конечное разрешение. Если два объекта созданы с одним значением инициализатора, то они будут выдавать одинаковую последовательность.
    В вашем случае надо один раз до цикла создавать объект Random, а в цикле только вызывать его метод Next.
    Ответ написан
    3 комментария
  • Как правильно использовать фотографии взятые из Яндекс.Картинки и подобных мест?

    @neerro
    Начнем с того, что сервис Яндекс.Картинки, это агрегатор, который посредством ботов и размещенного на сайте скрипта парсит в том числе и фотографии с последующим предоставлением в поисковой выдаче. По вашей ссылке видно, что фото было спарсено с сайта фотосентра точка ру, а в свою очередь на сайте внизу страницы прописаны основные условия вида:

    Внимание: Все права на размещенные работы принадлежат авторам
    Использовать фотографии без их личного разрешения запрещается


    А также информация расположенная в пользовательском соглашении сайта:


    4. Авторское право

    Мы являемся владельцами всех авторских прав на всю информацию находящуюся на сайте, если не указано иное.
    Авторы, добавляющие работы на сайт должны являться полноправными владельцами авторских прав на данные работы, либо владельцами смежных прав, либо иметь официальное разрешение владельца авторских прав, либо обладать правами любым иным образом, разрешенным законом.

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

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


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

    В итоге:
    1) Без разрешения лучше не использовать, учитывая, что информация об этом прямо указана на сайте;
    2) Условия об указании автора, необходимо выяснять, либо у самого автора, либо у владельца сайта на котором эта фотография размещена.
    Ответ написан
    2 комментария
  • Как передать данные через точку доступа?

    @rPman
    Самое простое, договориться двум машинам (pc и смартфон) о том какие у них ip адреса через третью машину-сервер, обе машины отсылают сообщение о себе на сервер, а тот в свою очередь смотрит ip адрес, с которого оно пришло и если он одинаковый - значит эти два сообщения пришли от машин, размещенных рядом.

    В редких случаях это не сработает, если стоит к примеру 'ускоритель интернета' на основе балансировки нагрузки между двумя и более провайдерами, так же если в момент отправки сообщения ip адрес поменяется (да должно сильно не повезти но то возможно)

    Правильно - реализовать широковещательную рассылку в пределах локальной сети, сервер не понадобится но на android это сделать проблематично

    Зато там есть network service discover (работает на основе DNS-SD механизма) первый же пример кода из гугла
    Ответ написан
    Комментировать
  • Ошибка при попытке компиляции кода Unity?

    GavriKos
    @GavriKos Куратор тега Unity
    Все скомпилировалось - в логе success. Запустить нельзя - потому что запускать нечего - библиотека а не исполняемый бинарник.
    Юнитевые проекты запускают в юнити, а не в вижле. Компилирует тоже в целом юнити
    Ответ написан
    2 комментария
  • Как получить доступ к файлу?

    borisdenis
    @borisdenis
    Ленив и вреден...
    File.Create(path); а закрытие файла после создания где? Поэтому он и используется другим процессом.
    Ответ написан
    Комментировать
  • Как из string получить int?

    Например вариант через регулярки:
    var regex = new Regex(@"\d+", RegexOptions.Compiled);
    var text=  "is2 Thi1s T4est 3a";
    var matches = regex.Matches(text);
    var result = matches.Select(x=>x.Value).Select(int.Parse).ToArray(); // {2, 1, 4, 3}

    Кроме этого только циклом вручную
    Ответ написан
    Комментировать
  • Как сделать автокомплит в интерактивной консоли?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    что то типа этого

    using System;
    using System.Linq;
    
    public class Program
    {
    	public static void Main()
    	{
    		var path = "file.txt";
    		var lines = new string[]{"123456789", "bbbb"};
    		// lines = File.ReadAllLines(path);
    		string FindSubString(string substring) => lines.FirstOrDefault(x => x.StartsWith(substring));
    		var res = FindSubString("1");
    		Console.WriteLine(res);
    	}
    }
    Ответ написан
  • Не работает https на OpenStreetMap?

    @pfg21
    ex-турист
    хех тайлики тоже по https надо отдавать.
    ибо современные суперсекурные правила не дадут отображать картинки, принятые по нешифрованному каналу.
    включай в бравзере инструменты разработчика и изучай что у тебя там происходит.
    Ответ написан
    Комментировать
  • Легально ли торговать номерами телефонов пользователей?

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

    На всякий случай дважды проверьте ФЗ о персональных данных
    Ответ написан
    Комментировать
  • Есть ли более быстрый генератор случайных чисел чем стандартный rand()?

    Вспомнилось:
    random_number.png

    А если серьёзно, то зависит от задачи: нужно получить настоящие случайные числа, либо же просто создать у пользователя ощущение случайности.

    Самым быстрым будет неслучайный рандом, который просто возвращает число и заранее предопределённой последовательности.
    Самым медленным - трушный рандом на основе какого-нибудь физического эффекта. (например бросания кубика)

    https://habr.com/ru/post/499490/
    Ответ написан
    4 комментария
  • Договор о непереманивании: можно ли обойти?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Есть договор. В Европе. Можно как-то обойти?

    На любой подобный вопрос ответ один - нужен текст договора и юрист, шарящий в ваших юрисдикциях. В угадайку играть смысла нет. Кто-то может и был в похожей ситуации, но конкретно ваши договоры - это конкретно ваши договоры, а не какие-то похожие на них. Плюс, помимо формальных законов есть эффект редиски. Если кто-то ведет себя как редиска, с ним никто не хочет иметь дел. Может быть ваш стартап по закону и не будет должен денег аутсорсу, но аутсорс потом этот стартап пошлет куда подальше, а им это может не нужно. И снова, мы не знаем ваших конкретных деталей и мотиваций участников конфликта.
    Ответ написан
    1 комментарий
  • Как быть с приватным токеном?

    Все ключи/пароли/логины/ссылки на другие сервисы выносят в переменные окружения, и не хранят их в исходниках.
    Ответ написан
    3 комментария