Профиль пользователя заблокирован сроком с 16 октября 2023 г. и навсегда по причине: систематические нарушения правил сервиса
  • Как научиться объяснять?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    надежнее всего, конечно, как Барри Креститель,
    но можно и полуакадемически подойти

    я использую такой подход, т.е. сжато идею и потом развить с акцентами куда не надо сворачивать

    и всегда, если хочешь чтобы дело было сделано, подчиненного нужно переспрашивать, как он понял,
    а еще лучше - мнение по сказанному/описанному, тогда точно будет ясно понял ли и слушал ли вообще
    терминологию желательно использовать употребимую собеседником ("таски" а не "задачи" и т.п.)
    Ответ написан
    4 комментария
  • Как научиться объяснять?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    Есть хорошая притча, как объяснить слепому, что такое белый цвет. Вроде он как снег, но не холодный, как песок, но не сладкий...
    Надо больше читать художественной литературы, тогда вы сможете проще подбирать метафоры и аналогии.
    Также надо понимать, кто перед вами, в какой предметной области он специалист. Медикам надо объяснять на их языке, логистам - на их, программистам - на их.
    Ещё рекомендую смотреть ролики TED, там за короткие 15-им минутные ролики объясняют сложные штуки для широкой аудитории.
    Ответ написан
    7 комментариев
  • Как правильно работать с большим количеством данных?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Не хочется ругаться, но вопрос очень бессвязный и в нем перемешаны реальные проблемы с нелепыми фантазиями.

    И проблема тут не в незнании как работать с большими базами данных, а в неумении работать с БД в целом.

    Про идею "всем индекс не поставишь" надо сразу забыть. Там где индекс нужен, он должен стоять без вариантов. Другое дело что тупо натыкать индексов по всем полям, по которым идёт поиск - это тоже глупость. Индекс в запросе может использоваться только один, и индексы по второму-третьему полю уже будут бесполезны. Надо анализировать запросы и, возможно, делать составные индексы.

    Детсадовский запрос вида like '%...%' - это отдельный ужас. Надо смотреть на полнотекстовый поиск. А лучше вообще его избегать. На крайний случай использовать внешние поисковые сервисы типа эластика. И только не говори что этот лайк у тебя идёт по полю типа джейсон или "через запятую"

    Но самый конечно кошмар - это select distinct для фильтров. То есть неумение проектировать бд на самом базовом уровне, непонимание самых начальных принципов реляционных бд, нормализации. Вот с этих принципов и надо начать. В потом уже хвататься за большие объемы. Очевидно, что поля по которым ты собрался делать "distinct" - это должны быть отдельные таблицы, от которых в основной таблице будет просто id. поле размером в 4 байта.

    Непонятно, откуда взялись фантазии про гигабайтные индексы, кстати. Большая часть полей в нормальной бд - это не больше десятка байт. То есть индекс - это десятки мегабайт, а не "гигабайты".

    В общем, куда лучше бы смотрелись здесь не абстрактные рассуждения про большие объёмы, а конкретный запрос, который "отваливается". С обязательным результатом EXPLAIN

    А ответ на абстрактный вопрос "как работать с большими объемами" очень простой: точно так же, как с небольшими. Реляционные бд изначально проектировались под большие размеры. То есть надо просто уметь работать с бд. Читать про реляционную модель, нормализацию, индексы, оптимизацию запросов.

    Конкретно для грида надо смотреть в сторону Эластика/Сфинкса. В смысле чтобы не только для полнотекстового поиска, а чтобы все фильтры, которые есть выборке, были забиты в поисковый индекс. И все выборки - через поисковый сервис, а не через прямой запрос к базе
    Ответ написан
    8 комментариев
  • На чём мне написать десктопное приложение?

    @cicatrix
    было бы большой ошибкой думать
    Я бы посоветовал вообще разделить функционал и GUI.
    Весь функционал обернул бы в class library (dll), а gui уже потом просто дописал бы к этой либе.
    А писать - да, на чём угодно.
    Если XP, то C# + WinForms.
    Без XP можно WPF (с ним удобно реализовать это):
    Немного нестандартный GUI, в частности нужны ListBox'ы с иконками и чекбоксами.

    На винформах тоже можно, но трудозатрат побольше.

    Ну и экзотический вариант (но не без шарма) - сделать гуй на html + css, а само приложение может реализовывать простейший веб-сервер (ну отдать по запросу html-файлик get-ом и принять инфу post-ом) - зато вообще практически без платформенных зависимостей.
    Ответ написан
    Комментировать
  • Как узнают о включении записи разговора?

    Jump
    @Jump
    Системный администратор со стажем.
    Технически - никак.
    А так - банальное чутье.
    Ответ написан
    Комментировать
  • Программирование таблицы Excel с привязкой к дате, возможно?

    @cicatrix
    было бы большой ошибкой думать
    Есть функция СЕГОДНЯ() (TODAY), она возвращает сегодняшнюю дату.
    В целом, можно заморочиться, в ячейках указывать условия (если дата < сегодня... ) и далее - условным форматированием по ячейкам.
    Но вообще, есть неплохая коллекция программ - 1С называется. Уверен, что подойдёт.
    Ответ написан
    Комментировать
  • Как импортировать таблицу Excel в C#?

    FoggyFinder
    @FoggyFinder
    Существует множество библиотек для работы с Excel. Что из них выбрать зависит от задачи (например, нужно только читать данные или нужно формировать полноценный отчет, со стилями и так далее).

    Судя по описанию, здесь вам нужно только чтение, причем с поддержкой устаревшего формата xls, поэтому рекомендую библиотеку ExcelDataReader

    Если у вас .Net Core приложение не забудьте добавить строку

    Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);


    А теперь пример.

    1. В C# не принято для классов использовать публичные поля, поэтому перепишем их на свойства

    public class Questions
    {
        public string Question { get; set; }
        public string Theme { get; set; }
        public string Description { get; set; }
        public string QuestionEn { get; set; }
        public string DescrEn { get; set; }
    }


    2. Само чтение

    const string FilePath = "sample.xls";
    var qs = new List<Questions>();
    
    using var stream = File.Open(FilePath, FileMode.Open, FileAccess.Read);
    using var reader = ExcelReaderFactory.CreateReader(stream);
    do
    {
        while (reader.Read())
        {
            var question = reader.GetString(0);
            var theme = reader.GetString(1);
            var description = reader.GetString(2);
    
            qs.Add(new Questions()
            {
                Question = question,
                Theme = theme,
                Description = description
            });
        }
    } while (reader.NextResult());


    3. Выводим результат

    foreach(var q in qs)
    {
        Console.WriteLine($"{q.Question}");
        Console.WriteLine($"{q.Theme}");
        Console.WriteLine($"{q.Description}");
        Console.WriteLine(new string('-', Console.WindowWidth));
    }


    4. Запускаем, проверяем

    Индейцы в знак примирения хлопали в ладоши
    history
    Они закапывали топор войны
    ----------------------------------------------------------------------------------------------------
    Моряки пропитывали свою одежду смолой, чтобы она не рвалась
    history
    Чтобы она не пропускала воду
    ----------------------------------------------------------------------------------------------------
    Ответ написан
    1 комментарий
  • Как заглянуть "под капот" JavaScript?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    3 комментария
  • Можно ли файл виртуальной машины преобразовать в iso образ?

    justhostRU
    @justhostRU
    чтобы на флешку ставить, не нужно iso,
    просто копируйте файлы ФС на флешку и прописывайте загрузчик
    Ответ написан
    Комментировать
  • Как узнать названия компонента?

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист
    Можно взять GetType - тогда вы получите тип объекта.
    Из типа можно вытащить его полное или неполное имя.
    https://docs.microsoft.com/ru-ru/dotnet/api/system...
    Ответ написан
    1 комментарий
  • Почему обучение продвигается так медленно?

    @AstraVlad
    Финансист, консультант, программист-любитель
    Я может быть и не программист по профессии, но есть одна вещь, которую могу сказать совершенно точно: в программировании главное это не изучение языков программирования. Программа это алгоритм, записанный машиночитаемым языком. Знание языка программирования позволяет написать программу, но если у вас нет алгоритма, вам нечего будет записывать. Поэтому самое главное это научиться мыслить алгоритмически, то-есть начать у себя в уме раскладывать задачу на последовательность взаимосвязанных действий, которые будут всегда, гарантированно, приводить вас к нужному результату. Для начала эту последовательность можно просто записывать обычным русским языком на бумаге и проходиться по ней самому, пытаясь исполнить шаг за шагом. И только потом пытаться записать "на машиночитаемом языке".

    Как только выработается дисциплина ума, остальное станет намного проще. И станет совершенно неважно на каком языке записывать ваш алгоритм.
    Ответ написан
    Комментировать
  • Как сделать графический интерфейс на Java, а логику на C#?

    @rPman
    Не нравится WFP, попробуй WinForms вдруг будет по душе?
    Java не лучшее место для создания UI, удобным я бы это не назвал

    Моста не будет, точнее любые средства создадут еще больше неудобств

    p.s. попробуй java mono
    Ответ написан
    Комментировать
  • Фриланс верстка под Vue/React?

    Если апи нет, то просто верстаете так, как написано в требованиях. По-другому впринципе никак. Если api нет, то должны быть примеры json, с помощью которых можно использовать fakeApi.
    Ответ написан
    Комментировать
  • Существует ли сборная книга по LAMP?

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

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Одна из самых больших возможностей, среди открываемых учёбой в ВУЗе - это налаживание ценных связей. В более престижном ВУЗе более качественная выборка контактов и соответственно больший потенциал связей.
    Ответ написан
    1 комментарий
  • Как начать цикл не в перовом байте файла?

    А для чего к длине файла добавлять startbyte? У вас пооучается длина ыайла +4 и т.д.
    Ответ написан
    Комментировать
  • Как начать цикл не в перовом байте файла?

    @rPman
    В коде отсутствует смещение позиции чтения файла, перед циклом for нужно сделать Seek?

    И в цикле ошибка, в условии окончания его зачем то к length прибавляется startByte
    Ответ написан
    Комментировать
  • Объясните работу get и set в c#?

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист
    get и set во время компиляции просто превращаются в два метода.
    Если это автосвойства, то ещё и поле добавляется.
    имена у них будут get_НазваниеСвойства и set_НазваниеСвойства.
    Ответ написан
    Комментировать
  • Разные уровни администрирования?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Стандартный подход - это расписать требования, создать структуру групп безопасности с разными правами и четкой структурой их имен, описаний и местоположения в AD (последнее - для того, чтобы исключить несанкционированное добавление в эти группы).
    Затем каждой группе делегировать необходимые права.
    Ну а затем уже просто добавлять учетные записи администраторов в группы.
    Ответ написан
    Комментировать
  • Какая есть простая программа для представления БД в визуальном виде - чтобы таблички с полями и отношения между ними?

    agoalofalife
    @agoalofalife
    Team Lead
    Раньше использовал dbdesigner но после стало не хватать и нашел dbdiagram
    Ответ написан
    Комментировать