Задать вопрос
  • Как передать информацию из текстового файла на сервер?

    @Vitsliputsli
    Владимир Куц,
    Для тех кто в танке - с левой стороны cat <файл> указан в качестве примера, и его можно заменить каким-нибудь tail либо другой последовательностью команд, которая генерирует текстовый пайплайн в зависимости от поставленных задач.

    да, не догадался, что подразумевалось. Тогда еще для "тех кто в танке", когда это команда "отвалится", как ее заново запустить и не потерять данные?
    И я так понимаю, у каждого пользователя будут доступы по ssh к серверу?
  • Можно ли изучать c++ и python параллельно?

    @Vitsliputsli
    Некоторые сложности? Это совершенно разные языки, плюсы компилируемые, статически типизированные, это сравнительно низкоуровневый язык требующий ручного управления памятью. В python легко накидать код не заботясь о том как будет выделена и освобождена память, мусорщик почистит ненужное автоматом, в плюсах все это придется делать вручную. Поэтому проблемы, которые возникнут в процессе работы будут совершенно разные в этих языках.
  • Как передать информацию из текстового файла на сервер?

    @Vitsliputsli
    ну ничего себе однострочник, два ката, конвейер. почему бы просто не скопировать? scp?
  • Какой подход к проектированию бэкенда лучше? В чем принципиальная разница между подходами?

    @Vitsliputsli
    true, на любом языке "много чего можно сделать". А в чем заключается "простота" js? Ну если не сравнить с Си или C++, а с каким-нибудь python или php.
  • Выполнение команды Jenkins от имени пользователя?

    @Vitsliputsli
    Pegas12345, программисты пишут код, пушат его в git. Если сборку запускают они же, то все что требуется от них это нажать кнопку в Jenkins. Внутри, Jenkins собирает от одного пользователя. Разграничение прав делайте в Jenkins по доступу к джобам.
  • На собеседовании сказали, что не все функции - замыкания. Так ли это?

    @Vitsliputsli
    dollar, а, понял, что имеется ввиду. Когда мы функцию сохраняем в переменную, она очевидно будет хранится в куче, а ссылка на нее будет передана во внешнюю функцию, вместе с функцией очевидно нужно передать и значения переменных которые используются замыканием, они тоже будут хранится с телом функции, и очевидно в куче. Тут вы правы, согласен.
    Хотя я бы не сказал, что это принцип замыкания, это больше о том, как мы сохраняем замыкание при сохранении функции в переменную.
    Что касается ЯП, я имел ввиду, что в PHP, С++ лямбда функции могут быть замыканием, но не все функции замыкания. В Си и Java замыкания вообще нет.
  • Ошибка установки соединения с базой данных в Wordpress?

    @Vitsliputsli
    Проверьте по инструкции установки, что все шаги выполнены. В первую очередь пункт о разворачивании СУБД, создании базы данных и пользователя с доступом к ней.
  • На собеседовании сказали, что не все функции - замыкания. Так ли это?

    @Vitsliputsli
    Матвей Румынин,
    Глобальный объект window существует весь рантайм от запуска программы до ее завершения.

    Да, но какая связь между этим и определением замыкания? Не говоря уже о фразе: "In JavaScript, closures are created every time a function is created, at function creation time." (https://developer.mozilla.org/en-US/docs/Web/JavaS...).
  • На чем лучше написать веб-сервис с обработкой файлов/запросов?

    @Vitsliputsli
    Svoboo, веб-приложение ничем не отличается от консольного скрипта, просто результат работы скрипта пересылается браузеру. Соответственно взаимодействовать они будут как и обычные консольные скрипты: СУБД, файловая система (те же pipes), брокеры сообщений, сетевые или Unix сокеты, или просто входные параметры.
  • На собеседовании сказали, что не все функции - замыкания. Так ли это?

    @Vitsliputsli
    Матвей Румынин, определения пишутся, чтобы что-то определить. Если чтобы правильно понять "определение", нужно присовокупить еще текст, который будет изменять его или вносить новые правила о которых не говорилось в "определении", то это уже не "определение", а бесполезный хлам.
    Автор спросил конкретную вещь, привел конкретное определение этой вещи, а ему начинают рассказывать, что определения не верны, что нужно "прочувствовать" опытным путем. Язык - это конкретная вещь, а не шаманство, автора тут можно понять, он подходит к делу как технарь, оперируя документаций, а ему "тут читай, тут не читай, тут мы рыбу заворачивали", причем еще и с нападками что ему никогда не понять тайных знаний "специалистов по жеэсу".
    "интерпретация в отрыве этого определения из контекста статьи неверна" - верно. Никто их в отрыве и не рассматривает. Никто не спорит, что в примере с 2 функциями - замыкание. Т.е. в статье все верно, но это вы ее считаете неверной, както умудряясь согласиться с примерами в статье, но не согласиться с определением в ней.
    p.s. Возьмем к примеру конструкцию for (;false;) { ... }, можно ли на этом примере объяснить что такое цикл? нет, нельзя. Перестает ли от этого такая конструкция быть циклом - нет, не перестает. Так и в статье, рассматривается вариант, где практически можно показать наиболее интересное использование.
  • На собеседовании сказали, что не все функции - замыкания. Так ли это?

    @Vitsliputsli
    dollar, Матвей Румынин,
    По-простому можно считать, что "захваченные" переменные выделяются не на стеке, а в куче. А уж как именно движок понимает, что произошел захват, я вам не подскажу. По программисту обычно как бы очевидно, что захвачено, а что - нет.

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

    @Vitsliputsli
    dollar,
    Очевидно, что любая функция может использовать внешние переменные. Причём, это верно практически для любого ЯП.

    Прям "практически для любого ЯП"? Навскидку, это не так для Cи, C++, Java, PHP.
  • На собеседовании сказали, что не все функции - замыкания. Так ли это?

    @Vitsliputsli
    DollyPapper,
    Execution Scope это стек вызовов, и на стеке как раз хранятся локальные переменные контекста, лексическое окружение дает нам возможность их видеть, а вот возможность на них сослаться и не отпускать, даже когда родительская функция померла и есть замыкание

    Как вы себе представляете "видить переменные"? Если вы их используете в функции, вы уже создаете ссылку на них в стеке. Что значит "не отпускать"? Если ссылка создана она создана, более ничего делать не нужно, ссылка будет существовать до бесконечности, и не важно что там с родительской функцией, главное чтобы из корневого объекта можно было бы получить к ней доступ. А так как мы функцию вывели из родительской функции, значит доступ есть, и мусорщик эту ссылку не тронет.
    Т.е. замыкание это не какой-то специальный механизм защиты ссылок, это просто возможность обратиться в внешним переменным из функции, все остальное лишь следствие.
  • На собеседовании сказали, что не все функции - замыкания. Так ли это?

    @Vitsliputsli
    Матвей Румынин,
    И все же, если мы говорим про js, то в данном примере действительно замыкания нет ;-)

    Ну как же нет, когда вы сами в своем ответе привели статью, где определение замыкания следующее:
    Замыкание (Closure) или более полно — лексическое замыкание (Lexical closure) — это совокупность блока кода и данных того контекста, в котором этот блок порождён.

    Что абсолютно соответствует функции созданной автором.
  • Как разделять названия коммитов на гите на фронт и бэк?

    @Vitsliputsli
    Георгий Кузнецов, посмотрите на варианты решения с 1 репом: помечать коммиты. Т.е. тот кто будет работать с репом в голове должен отсеивать ненужные коммиты. Зачем? Если можно этого не делать. Не только коммиты, но и релизы общие. Если работаете по gitflow и создаёте release из dev, то например front будет ждать back, даже если мог бы зарелизится без него. То же самое с пулреками, все в одной куче, ревьюиров дефолтных не назначить, придётся выбирать для каждого пулрека. Разграничить доступ тоже нельзя, весь код в одном месте.
  • Выполнение команды Jenkins от имени пользователя?

    @Vitsliputsli
    Что значит 'доступы только по Jenkins'?
    Настройте sudo для пользователя Jenkins и пишите от имени других пользователей.

    Но обычно, Jenkins пишет от имени своего пользователя и таким не занимается. А пользователям на сервере делать нечего.
  • Как разделять названия коммитов на гите на фронт и бэк?

    @Vitsliputsli
    Нет смысла принципиально разный код держать в одном репе. Неудобно может быть только, если фронт и бек неразрывно связаны.
  • Как вырасти до системного администратора?

    @Vitsliputsli
    evgeniy_lm,
    Сисадмин который все зацикливает на себя и обкладывает во круг себя "секретами" и "тайнами" это не плохой сисадмин, это просто идиот, по этому подобные случаи рассматривать вообще глупо.

    как раз нет, он далеко не идиот, а очень хитрожопый тип.

    Я о том, что в книгах описываются технические аспекты администрирования, но кроме железа "веселья" админу добавляет любопытный зоопарк юзверей и как их правильно готовить в умных книжках ничего не пишут

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