Задать вопрос
  • Как найти ссылку на морду phpmyadmin?

    dima9595
    @dima9595
    Junior PHP
    Как вариант попробуйте использовать вместа Localhost -> IP адрес сервера. Лично у меня: IP/phpmyadmin
    Ответ написан
    2 комментария
  • 1с программист. Какой обычно состав команды разработки?

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

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Да почти так же. Один или несколько кодеров, тимлид, аналитик(и), спецы по БД. В простых случаях все упрощается вплоть до одного-двух программеров.
    НО: 1С-программист всегда немного бухгалтер (или что он там программит - складской работник, хыр...), потому что знать предметную область для него так же обязательно, как для сетевика уровни OSI/ISO
    Ответ написан
    Комментировать
  • 1с программист. Какой обычно состав команды разработки?

    @Dementor
    программист, архитектор, аналитик
    Не учитывая, что веб-разработка указана в вопросе абстрактно, все точно так же.
    Особенно если серверная разработка на ноде - т.е. всюду единый ЯП, как в 1С.

    1) маленькие проекты - один фулстек (что веб, что 1С)
    2) чуть крупнее делает команда - один тимлид/архитектор/директор и несколько прогеров, которые могут быть фулстек или разделить между собой работы на фронт и бек.
    3) средние проекты обслуживают полноценные фирмы с продавцами, маркетологами, службой поддержки и так далее, а к ИТ-спецам добавляются выделенные админы (виндузятники, линуксоиды и ДБА).
    4) на крупных проектах полноценный DevOps, юнит и сценарное тестирование, релизные циклы, SLA и так далее
    Ответ написан
    Комментировать
  • Почему yandex блокирует запрос?

    freeExec
    @freeExec
    Участник OpenStreetMap
    API-ключ привязан к домену и localhost в нём исключение. Добавьте свой IP как разрешённый для ключа.
    Ответ написан
    2 комментария
  • Nginx redirect from http to https?

    @metajiji
    Согласно официальной документации рекомендуют использовать такую конструкцию:
    server {
            listen 80;
            server_name example.com;
            return 301 https://$server_name$request_uri;  # enforce https
    #        rewrite ^(.*) https://www.example.com$uri permanent;
    }
    Ответ написан
    6 комментариев
  • Как сделать ссылку на Viber?

    @SVZhidkow
    Бэкенд-разработчик
    У меня в 2020 сработало следующее:

    <a href="viber://chat?number=%2B***********">Viber</a>

    И на ПК, и на смартфоне (и Андроид и iOS).

    Где %2B - это "плюс", дальше идёт номер в международном формате (с кодом страны), например %2B79876543210.
    Ответ написан
    2 комментария
  • Чем отличаются JSON от JSONB?

    @curator
    JSONB — двоичная разновидность формата JSON, у которой пробелы удаляются, сортировка объектов не сохраняется, вместо этого они хранятся наиболее оптимальным образом, и сохраняется только последнее значение для ключей-дубликатов. JSONB обычно является предпочтительным форматом, поскольку требует меньше места для объектов, может быть проиндексирован и обрабатывается быстрее, так как не требует повторного синтаксического анализа.

    Источник: https://habrahabr.ru/post/282764/
    Ответ написан
    1 комментарий
  • Зачем хранить state в localStorage c помощью react-persist?

    gadfi
    @gadfi
    https://gamega.org
    ну в localStorage я бы не стал, он не типизирован, есть же indexDB, хотя на маленьких размерах пофиг
    пригодится может в любом offline first приложении, и не только
    Ответ написан
    Комментировать
  • Зачем хранить state в localStorage c помощью react-persist?

    @slide13
    frontend/web-developer
    Скорее всего имеется в виду redux-persist? Он нужен, чтобы, например, после перезагрузки вашего приложения состояние возвращалось к тому, которое было до перезагрузки, что экономит время на инициализацию, запросы данных, которые ранее уже были загружены и т.д.
    Не обязательно хранить состояние в localStorage, для этого рекомендуется использовать библиотеку localForage, которая позволяет использовать IndexedDB или WebSQL
    Ответ написан
    Комментировать
  • Inline svg vs svg sprite?

    Odisseya
    @Odisseya
    Оптимизирую PageSpeed & Performance
    Для множества иконок обычно использую спрайты во внешнем файле. Преимущество: кэшируется и отчасти управляемо из стилей, не мусорит разметку. Спрайт генерируется галп-таском из папки с отдельными svg. Для IE полифилл.
    Ответ написан
    4 комментария
  • Как загрузить ES6-модуль?

    @egyptForce Автор вопроса
    проблема решена. был неправильно прописан путь до .js файла
    Ответ написан
    Комментировать
  • JavaScript: объясните return в конструкторе

    apangin
    @apangin
    Для простоты понимания примеры можно сократить до следующих.
    Первый: function Test() { this.qqq = a; }
    Второй: function Test() { return {qqq: 'a'}; }

    Теперь обратимся к спецификации ECMA-262, пункт 13.2.2. [[Construct]]

    When the [[Construct]] property for a Function object F is called, the following steps are taken:
    1. Create a new native ECMAscript object.
    2. Set the [[Class]] property of Result(1) to «Object».
    3. Get the value of the prototype property of the F.
    4. If Result(3) is an object, set the [[Prototype]] property of Result(1) to Result(3).
    5. If Result(3) is not an object, set the [[Prototype]] property of Result(1) to the original Object prototype object as described in 15.2.3.1.
    6. Invoke the [[Call]] property of F, providing Result(1) as the this value and providing the argument list passed into [[Construct]] as the argument values.
    7. If Type(Result(6)) is Object then return Result(6).
    8. Return Result(1).

    Разгадка кроется в двух последних строках: если функция возвращает объект, то результатом работы конструктора считается этот объект, если же функция возвращает что-либо другое (либо ничего не возвращает), результатом работы конструктора считается новый объект, созданный на шаге 1.
    Ответ написан
    1 комментарий
  • Что такое Error.captureStackTrace()?

    @SimasikS
    Я есть
    У тебя есть код
    function a() {}
    function b() { a(); }
    function c() { c(); }

    Если у тебя при вызове a() произойдет ошибка, то ты сможешь узнать откуда был вызван a()
    Что от куда вызывается это собственно и есть stack trace

    Нужно это для того, что функция a может вызываться не только из b и а например из функции h

    То есть ты сможешь проследить и быстрее отладить

    Error.captureStackTrace() позволяет получить как раз таки этот самый stack trace
    Ответ написан
    Комментировать
  • Что значит " _ " в следующей arrow function: _ => store.shift()?

    @grinat
    Да это из go пошло, там если есть много аргументов в функции, и какой-то не используется, то его надо обозначать как _
    _, y, _ := coord(p)
    потому что если есть неиспользуемые переманные, то программа не скомпилится.
    Ответ написан
    Комментировать
  • Что значит " _ " в следующей arrow function: _ => store.shift()?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Так записывают неиспользуемую переменную.

    Когда в функции не требуется аргумент, экономят 1 символ, чтобы не писать, как положено:
    () => somecode;

    Линтер такой юмор не оценит и будет ругаться.
    Ответ написан
    1 комментарий
  • Как в mongoose сделать свойство-ссылку на существующую коллекцию?

    @aivazovski Автор вопроса
    Разобрался. Надеюсь ответ кому то поможет.
    Дока вот тут

    Вот код с пояснениями:
    const mongoose = require("mongoose");
    const Schema = mongoose.Schema;
    
    // подключение
    mongoose.connect("******", { useNewUrlParser: true });
    
    //создаём схему и модель для вложенной колекции.
    const userScheme = new Schema({
        name: String,
        age: Number
    });
    const User = mongoose.model("User", userScheme);
    
    
    //создаём схему и модель для основной колекции.
    const taskScheme = new Schema({
        user: [{ type: Schema.Types.ObjectId, ref: 'User' }], //свойство-ссылка на МОДЕЛЬ дочерней коллекции
        text: String
    });
    const Task = mongoose.model("Task", taskScheme);
    
    
    //вот так выглядит создание документа со ссылкой на документ из другой коллекции
    const task = new Task({
        user: mongoose.Types.ObjectId("5c17505032389130da703ab0"), //_id документа user который нам нужен.
        text: "Task Text Example",
    });
    task.
    save(function(err){
        mongoose.disconnect();  // отключение от базы данных
    
        if(err) return console.log(err);
        console.log("Сохранен объект", task);
    });
    
    
    //вот так посиск с подзапросом содаржимого дочернего элемента.
    Task.
    findById("5c17538f570dc7339c732b3b").
    populate('user').
    exec(function (err, docs) {
        console.log(docs);
    });
    Ответ написан
    1 комментарий
  • Что означает стрелочная функция обернутая в круглые скобки? var x = ( () => this )?

    BRAGA96
    @BRAGA96
    Это просто скобки выражения, в этих строках нет разницы
    (((((3 + 2)))))
    3 + 2


    Но есть частые случаи, когда они нужны. Это только то, что сходу вспомнил, случаев на самом деле больше:
    (function () {
    	// ...
    })();
    
    (3).toString();
    
    // a() - return object
    const a = () => ({})
    
    // a() - return undefined
    const a = () => {}
    Ответ написан
    4 комментария
  • Что означает стрелочная функция обернутая в круглые скобки? var x = ( () => this )?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    ничего не значит.
    что со скобками, что без них, без разницы.
    Смысл в том, что в переменную x записывается ссылка на функцию
    А сама суть примера в том, что стрелочная функция не создает новый контекст, и this будет указывать на ту область, в которой была определена функция.
    Ответ написан
    2 комментария
  • Что значит оборачивание функции в скобки (function() { ... })?

    copist
    @copist
    Empower people to give
    Короткий ответ
    (function() { ... })()
    Это определение анонимной функции без параметров и непосредственный вызов её, так же, без параметров

    Длинный ответ
    Зачем оборачивать значение в круглые скобки?

    Оборачивание функции в скобки, так же как и оборачивание константы в скобки - это просто способ показать интерпретатору, что это значение внутри скобок может быть использовано как возвращаемое значение.
    var var_a = 5
    (var_a) /* или */ (5) // не является ошибкой, возвращает значение переменной или выражения
    function func_b() { }
    (func_b) /* или */ (function func_b() { }) // не является ошибкой, возвращает ссылку на функцию
    var var_c = { key: "val" }
    (var_c) /* или */ ({ key: "val" }) // не является ошибкой, возвращает объект
    var var_d = [ "one", "two" ]
    (var_d) /* или */ ([ "one", "two" ]) // не является ошибкой, возвращает массив


    Ну а раз (func_b) - это ссылка на функцию func_b, то значит её можно сразу же вызвать.
    A если (var_c) - это объект, то значит можно сразу же использовать его
    Аналогично (var_d) - это массив, то значит можно сразу же использовать его

    (func_b)() или (function func_b() { })() вызвать функцию
    (var_c).key или ({ "key": "val" }).key использовать объект
    (var_d)[0] или ([ "one", "two" ])[0] использовать массив

    Синтаксической ошибкой было бы использование функции, массива, объекта без скобок ( )
    function func_b() { }() ошибка "Unexpected token )"

    Хотя нет ошибки, по крайней мере в Google Chrome
    { key: "val" }["key"]
    ["one", "two"][0]

    Для чего вообще придумали самовызывающиеся функции?
    Для того, чтобы изолировать переменные и функции, чтобы они не попадали в глобальную область видимости.

    Сравни
    var a = "test"
    alert(a)

    по завершении этого блока переменная a болтается в глобальной области видимости

    и
    (function(){
        var a = "test"
    })()
    
    alert(a) // недоступно, потому что она была локальной переменной внутри анонимной функции


    Почему скобки ( ) пустые?
    В данном случае у функции function() { ... }нет формальных параметров, значит и вызывать можно без параметров.

    Но вообще в самовызывающуюся функцию можно передавать параметры. Это общая практика передачи ссылок на глобальные объекты:

    (function (w, d, $) {
       // некоторым нравится сокращать код путём использования коротких имён переменных
       w['fizz'] = "buzz" // вот так можно принудительно зарегистрировать
                           // глобальную переменную fizz
       $('body').css({background: 'red'}) // вот так можно работать с jQuery через привычную $
                           // даже если библиотека была загружена в режиме noСonflict
    }(window, document, jQuery))


    Некоторым не нравится длинный вариант проверки на undefined и они специально предусматривают лишний параметр, который не инициализируют

    (function (message1, message2, empty) {
        // это и есть проверка на undefined
        if (message1 === empty)
            alert('message1 is undefined')
        else
            alert('message1 = ' + message1)
    
        if (message2 === empty)
            alert('message2 is undefined')
        else
            alert('message2 = ' + message2)
    })("test") // вызвана только с одним параметром, значит второй по имени message2
    //  будет пустой, а третий empty специально ввели в качестве образца
    //  данных с типом "undefined", для служебного использования

    Зачем функция анонимная?
    Аналогично - чтобы не регистрировать её имя в глобальной области видимости, если она нужна один раз.
    Ответ написан
    7 комментариев