Задать вопрос
  • Как провести грамотный апгрейд сервера 1С?

    @Maximus-nsk
    Конечно лучше перевести бд на ssd
    Также важно чтобы оперативная память работала в двух канальном режиме и ее должно быть с запасом и с максимальной поддерживаемой частотой. По поводу процессора - у вас предел, если начнут сразу запускать несколько отчетов в разных конфигурациях то проц может не вывезти(мало ядер и Кеша 3-го уровня). Подумайте над тем чтобы начать хотябы с перехода на ssd и добавить памяти с запасом в двух канале чтоб было. Если не поможет то тогда можно перейти на ксеон v3 серии (с Али экспресс можно купить не так дорого материнскую плату под два процессора и недорогую серверную память. )
    Ответ написан
    Комментировать
  • Насколько полное изучение Java c работой над реальными проектам поможет php программисту в его работе?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Несмотря на то что в вопросе немного каша, а в ответах - ад, ответ на вопрос, в общем-то, очевидный.

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

    Но помимо общих соображений есть и вполне практические.
    Надо понимать, что ООП везде один и тот же. Пхпшники учат ООП по книжкам, где все примеры на яве. То есть в предположении что никакой пользы потому что синтаксис разный ты неправ. Уровень синтаксиса в какой-то момент перестает иметь значение, когда ты начинаешь думать не синтаксисом, а паттернами.
    При том что учить ООП работая с по сути процедурным языком, и с исходно ОО-языком - две большие разницы.
    То есть, ты абсолютно прав том посыле, что изучение явы придаст мощное ускорение твоему пониманию ООП в пыхе.

    Хайлоад же проекты - это из немного другой области. Тут идет откат скорее в обратном направлении. Это как с денормализацией - БД должна быть нормализована, но из соображений производительности иногда приходится денормализовывать. ПОСЛЕ того как нормализовал.
    SOLID помогает делать большие проекты управляемыми. Но когда большой проект сталкивается с высокими нагрузками, иногда приходится жертвовать принципами ради производительности. Но тут главное, опять же, не путать направление: СНАЧАЛА делаем правильный дизайн, и только потом в критических точках снижаем накал абстракции, переходим на более низкий уровень. Самый наглядный пример - ORM, когда критические запросы переписываются на чистый SQL.

    Ну и пройти "полный курс" не имеет ничего общего с "полным изучением". С полного курса изучение всегда только начинается.
    Ответ написан
    Комментировать
  • Не могу решить, что лучше: простое чтение learn.javascript или проходить курсы на ютубе попутно выполняя задачки на том же learn javascript?

    @historydev
    long long long long long .... int
    Всё что хочешь делай, но не покупай аутист-курсы у челов, которые обещают слепить из тебя супер-залупер кодера, которого гугл с руками и ногами заберёт и это за 2 месяца или сколько там) Ютуб + гугл, на learn js мало того, что тебе реально пригодится, именно по задачам.
    Ответ написан
    5 комментариев
  • Как сделать одинаковый отступ вниз для всех кнопок?

    MrDecoy
    @MrDecoy Куратор тега CSS
    Верставший фронтендер
    Вариантов масса, но, пожалуй, лучшим в данном случае будет:
    • сделать карточке display: flex; flex-direction: column;
    • кнопке - margin-top: auto;
    Профит - кнопка всегда прижата к низу карточки.

    Таким образом, если у контейнера карточек так же стоит display: flex, то все карточки в рамках одной строки будут всегда одной высоты, и в рамках одной строки все кнопки будут на одном уровне. При этом в каждой карточке может быть любое количество текста.
    Ответ написан
    Комментировать
  • Сохранение действий пользователя?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Например, можно сохранить в localStorage сайта,
    либо в localStorage фоновой страницы.
    Ответ написан
    1 комментарий
  • Как организовать резервное копирование Windows?

    Jump
    @Jump Куратор тега Windows
    Системный администратор со стажем.
    Во первых есть встроенная архивация - прекрасно работает, и без проблем делает снимок состояния системы из которого потом можно восстановить систему.
    Во вторых - есть прекрасная утилита Руссиновича disk2vhd которая без всяких заморочек делает образ указанных дисков.
    Причем имеет как GUI так и CLI, в общем можно делать по расписанию из батника образ. Еще этот образ удобен тем, что его можно моментально подключить к VM и загрузиться с него.

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

    Например пользователю переставили систему с windows 7 на windows 10, и через неделю обраружилось что пользователь не помнит пароль от онлайн сервиса, в старой системе он был у него сохранен в браузере и нужен криптоключ и сертификат которые хранились в реестре старой ОС - загружаем виртуальную машину с резервного диска и вытаскиваем все, что нужно.

    На диске С: в Windows 10 есть файлы, жёстко привязанные к секторам, которые нельзя перемещать?
    Нет.

    Понятно, что все копируется, но вот заработает ли этот бэкап после восстановления?
    Все люди деляться на три типа
    • Те кто не делает бэкапы.
    • Те кто делает бэкапы
    • И те кто не только делает бэкапы, но еще и проверяет их.
    Ответ написан
    4 комментария
  • Не работает метод filter, что не так?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Всё так, всё работает. Между "не работает" и "работает не так, как я задумал" есть существенная разница, попытайтесь её осознать.

    Во-первых, чтобы результирующий массив был непустым, надо, как минимум, из коллбека фильтрации что-то возвращать. При использовании map'а - тоже. Кстати, а зачем map? Непонятно. Возможно, вместо него нужен some.

    Во-вторых - в dataset лежат строки, сравниваете их вы с числами. Без приведения типов. Очевидно, что результаты подобных проверок всегда будут ложными.
    Ответ написан
    4 комментария
  • Могу ли я в чистом javascript в асинхронной функции подождать возникновения события?

    lazalu68
    @lazalu68
    Salmon
    Конечно можете. После await у вас должен идти промис, который будет ресолвиться из обработчика события. Если речь о событиях DOM, то как-то так:

    HTMLElement.prototype.waitFor = function(event_name) {
        if (event_name) {
            return new Promise((res, rej) => {
            	const listener = function() {
            		res()
            		this.removeEventListener(event_name, listener)
            	};
    
            	this.addEventListener(event_name, listener);
            })
        } else {
            throw 'No event passed to waitFor method!';
        }
    }
    
    async function foo() {
    	const start = new Date();
    	await document.querySelector('body').waitFor('click');
    	console.log('uspeshno dojdalis clicka, jdali celih ' + ((new Date().getTime() - start.getTime())/1000) + ' sekund');
    }
    
    foo();
    Ответ написан
    7 комментариев
  • Как запомнить число?

    @KingstonKMS
    Массив с цифрами, которые использовали и по нему проверяете
    Ответ написан
    3 комментария
  • Какая сейчас лучшая читалка для Windows?

    @argumentvoid Автор вопроса
    Остановился на Sumatra PDF, отредактировав конфиг. Скрыл навигационную панель (чтобы не видеть эти древнейшие иконки) и ещё подправил под себя несколько деталей. На данный момент это лучшее, что смог сделать для своей задачи. Прикрепляю скрин того, как сейчас выглядит книга в этой читалке.5fd9cf036b0ca631731368.png
    Если кому вдруг понадобится, вот конфиг:
    MainWindowBackground = #80fff200
    EscToExit = false
    ReuseInstance = false
    UseSysColors = false
    RestoreSession = true
    TabWidth = 300
    
    FixedPageUI [
    	TextColor = #000000
    	BackgroundColor = #ffffff
    	SelectionColor = #f5fc0c
    	WindowMargin = 2 4 2 4
    	PageSpacing = 4 4
    ]
    EbookUI [
    	FontName = Arial
    	FontSize = 12.5
    	TextColor = #5f4b32
    	BackgroundColor = #fbf0d9
    	UseFixedPageUI = false
    ]
    ComicBookUI [
    	WindowMargin = 0 0 0 0
    	PageSpacing = 4 4
    	CbxMangaMode = false
    ]
    ChmUI [
    	UseFixedPageUI = false
    ]
    ExternalViewers [
    ]
    ShowMenubar = true
    ReloadModifiedDocuments = true
    FullPathInTitle = false
    ZoomLevels = 8.33 12.5 18 25 33.33 50 66.67 75 100 125 150 200 300 400 600 800 1000 1200 1600 2000 2400 3200 4800 6400
    ZoomIncrement = 0
    
    PrinterDefaults [
    	PrintScale = shrink
    ]
    ForwardSearch [
    	HighlightOffset = 0
    	HighlightWidth = 15
    	HighlightColor = #6581ff
    	HighlightPermanent = false
    ]
    CustomScreenDPI = 0
    
    RememberStatePerDocument = true
    UiLanguage = en
    ShowToolbar = false
    ShowFavorites = false
    AssociateSilently = false
    CheckForUpdates = true
    RememberOpenedFiles = true
    EnableTeXEnhancements = false
    DefaultDisplayMode = single page
    DefaultZoom = fit page
    WindowState = 1
    WindowPos = 743 0 1074 1390
    ShowToc = true
    SidebarDx = 0
    TocDy = 0
    ShowStartPage = false
    UseTabs = true
    
    FileStates [
    ]
    SessionData [
    ]
    TimeOfLastUpdateCheck = 0 0
    OpenCountWeek = 519
    Ответ написан
    1 комментарий
  • Как стать джуном backend Java/kotlin?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Знания брать в учебниках. Это выгодно выделяет на фоне жертв курсиков.
    Ответ написан
    Комментировать
  • JS. Как из массива объектов сделать объект с параметрами из свойств?

    0xD34F
    @0xD34F Куратор тега JavaScript
    const obj = Object.fromEntries(arr.map(n => [ n.name, n.number ]));
    // или
    const obj = arr.reduce((acc, n) => (acc[n.name] = n.number, acc), {});
    // или
    const obj = Object.assign({}, ...arr.map(n => ({ [n.name]: n.number })));

    Или, в более общем виде:

    function toObj(data, key, val = n => n) {
      const getKey = key instanceof Function ? key : n => n[key];
      const getVal = val instanceof Function ? val : n => n[val];
      const obj = {};
    
      for (const n of data) {
        obj[getKey(n)] = getVal(n);
      }
    
      return obj;
    }

    Пользоваться этим можно так (ваш случай):

    const obj = toObj(arr, 'name', 'number');
    // {Kolya: '5', Olga: '10'}

    А можно так:

    const charCodes = toObj('abc', n => n.charCodeAt());
    // {97: 'a', 98: 'b', 99: 'c'}

    И даже так тоже можно:

    <input name="xxx" value="69">
    <input name="yyy" value="187">
    <input name="zzz" value="666">

    const inputValues = toObj(document.querySelectorAll('input'), 'name', 'value');
    // {xxx: '69', yyy: '187', zzz: '666'}
    Ответ написан
    3 комментария
  • C# требуется совет. Реализация функционала обмена с сервером?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    напишите свой протокол обмена с сервером. Не скрипт.
    Десириализуйте пакеты и выпоняйте команды которые в них.
    Ответ написан
    2 комментария
  • Почему нельзя найти длину массива?

    freeExec
    @freeExec
    Участник OpenStreetMap
    Длинна массива не итерируется. Уберите foraech и просто присвойте длину. Но вообще да, похоже у вас смешались знания на тему массивов.
    Ответ написан
    Комментировать
  • Как правильно организовать показ информации на дисплеях?

    Zoominger
    @Zoominger Куратор тега Компьютерные сети
    System Integrator
    Если нет интерактива, то тупо запишите скринкаст и крутите информацию на ТВ в виде готовых видеороликов, VLC в помощь.
    Ответ написан
    1 комментарий
  • Как правильно организовать показ информации на дисплеях?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Сайт может состоять из 1 страницы с тегом video и дивом с абсолютным позиционированием где выводится время. Браузер запускайте в kiosk mode, в теге video ставьте автозапуск и зацикливание в качестве примера смотрите лендинги с видеофоном
    Ответ написан
    Комментировать
  • Как правильно организовать показ информации на дисплеях?

    vvpoloskin
    @vvpoloskin Куратор тега Компьютерные сети
    Инженер связи
    Все-таки у телевизора основная задача - показывать видео, а не серфить в интернете. Сделайте видеопоток (iptv или dvb) или используйте его как монитор (hdmi+матричный коммутатор)
    Ответ написан
    Комментировать
  • Почему много людей в IT недовольны своей работы?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    В ИТ, как и везде, есть люди, которых в специальность занесло случайно, и просто нытики. Первые страдают потому, что находятся не на своём месте, занимаются неподъёмной для них работой и не могут достичь успеха. Вторые потому, что не страдать просто не могут.
    Ответ написан
    4 комментария