• Какие стратегии повышения зарплаты существуют?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Центральный показатель для бизнеса, а следовательно и руководителей, как людей представляющих интересы этого самого бизнеса - это коэффициент возврата инвестиций (ROI). Соответственно, сотрудник должен приносить компании больше денег, чем потребляет. Естественно, что чем выше разрыв между затратами и прибылью, тем лучше, поэтому фонд оплаты труда руководитель должен держать на том минимальном уровне, который гарантирует бесперебойную работу сотрудников. Один из факторов этой бесперебойности - низкая текучка. Сотрудников терять нежелательно. И чем ценнее для компании сотрудник, чем более он профессионален и/или чем больше на него завязано, тем дороже обходится его потеря. Натурально в деньгах. Придётся затратить больше, чем обычно, денег на поддержание работы без него. Придётся затратить деньги и время (те же деньги) на поиск, найм, введение в работу, возможно, обучение нового сотрудника. При этом он может оказаться совсем неподходящих и цикл придётся повторить. Или может оказаться просто хуже прошлого и эффективность отдела снизится. Поэтому, когда сотрудник приходит просить прибавку, руководитель оценивает может ли этот сотрудник уйти или только блефует, насколько легко его будет заменить, какой урон компании будет нанесён его уходом. Потом руководитель оценивает стоимость расширения ФОТ - есть ли резервы, какой сейчас ROI, будет ли больший ROI от реинвестиции этих средств во что-то другое? Если уход сотрудника будет стоить меньше, чем увеличение ФОТа, сотруднику откажут.

    Естественно, всё описанное справедливо для случая, когда руководитель - профессиональный менеджер. А то часто на месте руководителя сидит человек руководствующийся эмоциями и мутными соображениями вычитанными в сомнительной бизнес-литературе.

    Из этого вывод, стратегия проста - увеличивайте собственный профессиональный уровень на столько, чтобы свободно менять компанию, как только вас что-то перестало устраивать.
    Ответ написан
    4 комментария
  • Автозамена английского в Google Docs/Drive

    Alroniks
    @Alroniks
    MODX Джедай, работаю с Laravel
    Есть кнопка на панели
    Ответ написан
    1 комментарий
  • Как отправить Json строку (файл) на сервер с помощью JS?

    Kozack
    @Kozack Куратор тега JavaScript
    Thinking about a11y
    Предполагаю, что вам нужно использовать POST.
    И ради всего святого, используйте fetch. Разве что у вас есть какие-то железобетонные причины юзать XMLHttpRequest
    И по моему вы вообще не правильно выполняете запрос. не понимаю как вы пытаетесь получить ответ не слушая onreadystatechange
    Ответ написан
    Комментировать
  • Где взять первых клиентов?

    myfirepukan
    @myfirepukan
    Жарим поиск
    У меня была такая "конторка" контекст и вообще графическую рекламу в сети не давайте - всё скликают нафиг. Никто не заказывает сейчас сайт погуглив "Сделать сайт в Урюпинске" все идут к знакомым и знакомым знакомых - это ваш канал. У меня по нему приходило 90% клиентов.

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

    @IvanG
    <тут был старый ответ, на устаревшее апи>
    информация по новому апи (август 2020)
    тут в комментах: leftjoin.ru/all/sobiraem-dannye-s-chekov-gipermark...
    и тут в ишью разбирают новый формат запросов:
    https://github.com/kosov/fns-check/issues/3#issuec...
    https://github.com/DmitriyBobrovskiy/CheckReceiptS...

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

    p.s. ссылки взяты из темы обсуждения приложения, может еще что полезное там есть: https://4pda.ru/forum/index.php?showtopic=835790&s...
    Ответ написан
    3 комментария
  • Как запретить просмотр отдельных листов Таблицы Гугл?

    ProgrammerForever
    @ProgrammerForever Автор вопроса, куратор тега Google Sheets
    Учитель, автоэлектрик, программист, музыкант
    Нашёл как обойти все ограничения. IMPORTRANGE не подходил, т.к. была вероятность того что юзер скопирует ссылку, скопирует документ и расчехлит документ как захочет. Сделал так: Файл - Опубликовать в Интернете. И юзеры видят свои данные, и до материнского файла не докопаться. Спасибо всем откликнувшимся
    Ответ написан
    2 комментария
  • С чего начать и как писать Unit-тесты для проектов на PHP?

    janson
    @janson
    PHP-разработчик
    1. установить PHPUnit
    2. научится запускать тесты на PHPUnit. Самые банальные по мануалу. Просто запускать и понять, как они срабатывают.
    3. опробовать подход на небольших учебных задачах (всякие code-kata подойдут, задачи типа FizzBuzz, конвертёр температур из шкалы Цельсия в шкалу Фаренгейта, любые простые, алгоритмизируемые задачи с проверяемым результатом).
    4. После понимания сути тестов, заводим tests/ в реальном проекте, и начинаем думать, как это всё завести. В первый раз достаточно сложно сообразить как всё это добро соединить. Постепенно прикручиваем тесты, осваиваем технику работы со стабами (Stub) и моками (Mock).

    В процессе освоения шага №3, опробовать TDD: до написания кода, решающего задачу, пишем тесты для будущего кода. Это потребует в процессе написания теста продумать, как будут называться классы, методы, функции, какие граничные условия для прохождения тестов и проч.

    Очень вероятно, что с первого раза не всё будет понятно и просто. Пробуйте.

    Как пища для размышлений и осваивания методологии TDD, подборка задач:
    codekata.com

    Во многих там даже условия тестов прописаны, остаётся подкорректировать под себя и принятся за реализацию.
    Ответ написан
    Комментировать
  • Сетевой диск из php-скрипта?

    А чем веб дав не подходит? В нем же есть авторизация, значит имя юзера у вас есть, осталось только каждому свой список файлов выдавать.
    Ответ написан
    2 комментария
  • Почему в OS X Mountain Lion изменяется порядок рабочих столов?

    forefinger
    @forefinger
    Все намного проще: в Lion были переделаны рабочие и столы и система научилась их переставлять в зависимости от частоты использования, эта опция включена по-умолчанию, но еще можно отключить: System Preferences -> Mission Contol -> [ ] Automatically rearrange spaces based on most recent use, тогда столы всегда будут в том порядке — как вы их выстроили.
    Ответ написан
    4 комментария
  • Среда разработки для Node.JS?

    @Ualde
    Посмотрите WebStorm, возможно, полностью подойдет
    Ответ написан
    1 комментарий
  • Помогите составить регулярное выражение для замены первого вхождения слова в HTML, но строго вне анкоров и атрибутов?

    @dsd_corp
    По просьбам выше выкладываю.
    Идем в этот репозиторий.
    Тащим оттуда три файла: xmlp.inc, progress.inc и cucumbers.zip.
    Сам пример по вашему вопросу в cucumbers.zip.
    xmlp.inc — парсер типа DOM.
    progress.inc — просто вспомогательный, используется примером для замера и вывода на экран времени работы.

    Нужно распаковать zip и в получившуюся директорию скопировать остальные два файла.

    Собственно запускаем пример example.php

    Основная нужная вам функция: replace_text()
    Первые два параметра понятны и так — это текст для поиска и искомое.
    Четвертый параметр $ignore_tags — это массив имен тегов, которые мы пропускаем. В вашем случае по условию это 'A'. 'IMG' в примере можно исключить из этого массива — я просто так добавил )
    Третий параметр — на что заменить найденные вхождения.
    Но если этот третий параметр false(я так сделал опцию), то функция вернет не измененную строку, а массив оффсетов найденных вхождений.
    Функция не останавливается на первом валидном вхождении — заменяет все, что найдет, и все, что подходит по условию.
    Если вы не хотите, чтобы функция правила косяки HTML/XML ее собственному разумению, ну и заодно хотите заменить только определенные по счету вхождения, тогда вы можете получить оффсеты, и потом либо в цикле заменить все PHP-шной функцией substr_replace(т.к. оффсеты вхождений у вас есть, а длину искомой строки вы тоже знаете), либо заменить только первое вхождение по первому оффсету из возвращенного массива.

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

    Файл cucumbers.txt — это ваш пример, в cucumbers1.txt я напихал еще огурцов в разные места )))
    Эти файлы используются как входные, ну там разберетесь, видно все по коду.
    Результаты работы экзампла тоже в файлы выплевываются, вы их увидите в той же директории после отработки скрипта.
    Будут вопросы — задавайте.
    Ответ написан
    5 комментариев
  • Помогите составить регулярное выражение для замены первого вхождения слова в HTML, но строго вне анкоров и атрибутов?

    @Ents
    Сделать подобное невозможно никаким регулярным языком. Если интересно почему — читайте про конечные автоматы (частным случаем которых, являются регулярки)

    Смотрите в сторону DOM
    Ответ написан
    3 комментария
  • Помогите составить регулярное выражение для замены первого вхождения слова в HTML, но строго вне анкоров и атрибутов?

    Jaguar_ko
    @Jaguar_ko
    /(search)(?!.*(?:)|(".*>))/
    Это чисто теоретически:)
    Проверить в час ночи на телефоне нет возможности)
    П.С: search — искомое слово :)
    Ответ написан
    63 комментария
  • Как запомнить что юзер выбрал десктоп-версию и не давать сработать мобильному css?

    1.На главной или в любом другом месте выбор:
    web / mobile

    2.Проверяем GET и ставим куку:
    if($_GET['stheme']=="html")
    {
    setcookie('stheme', "html");
    define(HTML_STYLE,'on');
    }
    if($_GET['stheme']=="mobile")
    {
    setcookie('stheme', "mobile");
    define(MOBILE_STYLE,'on');
    }


    3. В зависимости от куки ставим стиль или уже как там захотите.
    Ответ написан
    Комментировать
  • Как запомнить что юзер выбрал десктоп-версию и не давать сработать мобильному css?

    1. Если нету куки с версией сайта то определить по браузеру. Если есть кукис то применить стиль что в кукисе.
    2. Сделать выбор стиля мобильный/css и через GET передать параметр (1 раз хватит передать для создания куки).
    После перехода по ссылке if($_GET['style']=='mobile') {Подгружаем мобильный стиль… создаем куку что пользователь выбрал мобильный}

    Могу показать как у меня все организовано на некоторых сайтах.
    Ответ написан
    Комментировать
  • JavaScript: что делает Function.call.apply(…)?

    mnasyrov
    @mnasyrov
    Всё просто :). Цель этого трюка — написать обёртку foo(), которая вызывает bar() в указанном контексте context и с переданными аргументами arg1, arg2 без лишних теложвижений.

    В традиционном виде, это выглядело бы так

    function bar(arg1, arg2) {}

    function foo(context, arg1, arg2) {
    bar.call(context, arg1, arg2);
    }


    Или так для произвольного числа аргументов:

    function bar() {}

    function foo() {
    var context = arguments[0];
    var args = Array.prototype.slice.call(arguments, 1); //делаем массив аргументов для bar
    bar.apply(context, args);
    }


    Вместо этого салата использовать трюк с call.apply:

    function foo() {
    Function.call.apply(bar, arguments);
    }


    Работает это так: aplly вызывает Function.call на объекте bar c переданными в foo параметрами. То есть получаем следующее для самого первого примера с context и arg1, arg2:

    bar.call(context, arg1, arg2)

    Что нам и нужно.
    Ответ написан
    Комментировать