• Как правильно расчитать стоимость своего часа работы?

    @Stalinko Куратор тега Фриланс
    PHP'шник и фрилансер до мозга костей
    По поводу стоимости часа поддерживаю 2 подхода выше:
    1. Изучить рынок, посмотреть ставки людей со схожими знаниями
    2. Поделить полную стоимость проекта на количество затраченных часов

    По поводу мелких задач. Я, например, никому не навязываю минимальный объём работ. Если задача реально мелкая и с клиентом хорошие отношения, то могу сделать бесплатно. Если мне пришлось ради этого сильно отвлечься, то могу округлить до 10-20 минут. Заказчику об этом не сообщаю. Просто говорю, что на выполнение задачи ушло столько времени. Мне кажется, заказчику приятнее думать, что вы работали 20 минут, чем знать, что вы работали 3 минуты и накинули 17.
    Ответ написан
    2 комментария
  • Как правильно расчитать стоимость своего часа работы?

    opium
    @opium
    Просто люблю качественно работать
    Рассчитать стоимость часа логично поделив стоимость проекта на количество потерянных часов, благо у вас есть оттуда данные взять

    Все мелкие задачи делать скопом раз в сутки если много или раз в неделю если свои

    Если человек хочет адхок решения то минимальный биллинг для этого у меня полчаса, плюс есть обязательная часть за то что я доступен. То есть скажем в месяц 200 баксов, и полчаса за каждую мелочь решению сразу то есть 15 баксов например, если час стоит 30. Если считать две минуты и отрыв из потока, и заказчик не согласен, я его всегда отправлять поискать человека который готов в любую минуту поднять жопу и потратить минуту времени на него.
    Ответ написан
    Комментировать
  • Где найти мелкую работу начинающему программисту?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    найти и исправить ошибку в коде

    Боюсь вы не осознаете всю массовость данной работы, так как иногда дебагинг занимает еще более большую часть времени, нежели плохая реализация на колене.
    Ответ написан
    Комментировать
  • Где найти мелкую работу начинающему программисту?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Устроится на работу стажером или джуном.
    Ответ написан
    Комментировать
  • Как поступать в такой ситуации?

    Вы можете показать верстку при звонке через скайп/зум. Я иногда сам так работы принимаю, когда работаем без предоплаты. Это удобно для обеих сторон.
    Ответ написан
    Комментировать
  • Переход к PHP-фреймворку. Какому?

    @galliard
    Laravel - если нужно быстро собрать MVP из говна и палок.
    Symfony - для всего остального (хотя лично я и MVP предпочитаю на нем собирать).
    Ответ написан
    Комментировать
  • Переход к PHP-фреймворку. Какому?

    myks92
    @myks92 Куратор тега PHP
    Нашёл решение — пометь вопрос ответом!
    Порядок:
    1. Yii2
    2. Laravel
    3. Symfony

    Yii2 слишком старый, но очень хорош для старта. Можно подождать Yii3, либо сразу начинать с Symfony. Это вам обеспечит много сложностей, но при этом даст хорошее будущее. Так как в хороших компаниях практически все используют Symfony. Если покажется сложным и не подъёмным - вернитесь к Yii2.

    Рекомендую к прочтению:
    Ответ написан
    2 комментария
  • Алгоритм гарантированного бронирования. Какие есть идеи?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Супер-пупер-дупер-алгоритм гарантированного бронирования:
    1. Ищем 4 номера, свободные в указанные даты.
    2. Если нашли, то бронируем их, иначе выдаём сообщение, что забронировать невозможно.

    При чём тут API, интерфейсы и овербукинг - совершенно непонятно.
    Ответ написан
    Комментировать
  • Если ли существенная разница между 1600 и 4000 DPI обычному юзеру?

    @123459
    Если эти 4к dpi честные, то мышка будет удобнее в использовании, чем другая, с меньшим dpi - можно будет точнее перемещать курсор.

    Честность можно узнать спросив какой сенсор используется (или почитав отзывы) - не стесняйтесь, поддержка производиткля для ответов на такие вопросы и создана, т.к. любые более сложные вопросы решать не умеет.
    Когда узнали сенсор, если заявленное разрешение мышки выше, чем нативное разрешение сенсора и нельзя выбрать нативное, то такая мышь - неточное говно, интерполяция будет мешать вам доводить курсор небольшими движениями например при кликах на иконки.
    Узнайте, есть ли сглаживание у самого сенсора - оно снижает эффективную точность сглаживая очень маленькие перемещения.
    Если мышь хорошая - без интерполяции, то посмотрите скорость срыва, она должна быть не хуже чем у обычны офисных мышек и даже больше, по мере повышения dpi.
    Если скорость срыва будет низкой, то курсор будет замирать при очень резких движениях - матрица в мышке не успевает замечать изменение изображения коврика.
    На нативных 4к dpi скорость срыва должна быть очень большой, иначе будет замирать даже при плавных длинных движениях.
    Если dpi нечестный или срыв слишком рано, то вы фактически платите за то, чем не сможете нормально пользоваться.

    https://www.overclockers.ru/lab/34517_2/Myshi_opti...
    Это два главных критерия при выборе мышки, тк в остальном мыши различаются только корпусом.

    Но для вас корпус может иметь значение - например если не все мышцы в руке накачаны и вы не кладете локоть на стол, то в зависимости от размера корпуса мыши(он определяет ваш хват), мышь может быть тяжело возить весь день.
    Или ножки у мыши могут быть очень маленькими - если мышь тяжеловата для вас, маленькие ножки будут мешать плавно начинать движение тк чем меньше площадь контакта, тем выше давление и на пластиковых ковриках (и гладких столах) мышь на маленьких ножках будет буквально прилипать к коврику, потому совсем чуть чуть подвинуть мышь после остановки будет трудно. Это можно вылечить - спиливаются "гнёзда" в которых наклеены ножки, берется клеющаяся тефлоновая лента(в китае за пару долларов можно заказать ptfe teflon mouse feet mouse skates)такой же высоты как спиленные гнёзда+высота старых ножек(а иначе сенсор не будет точно сфокусирован - у всех сенсоров есть определенное фокусное рассточние как у фотоаппаратов и на нём они видят ваш коврик лучше всего) и клеится сзади и спереди - на всю ширину мышки.
    После этого прилипать будет меньше, но нужен ровный коврик/стол - если есть выпуклости или вмятины то будет цепляться, но есть очень тонкие пластиковые ковры вроде razer sphex(если вам не нравится ощущение от тряпичных)
    Вот это https://i.stack.imgur.com/NEhQm.jpg намного удобнее чем это aphnetworks.com/review/icemat_2nd_edition/007.JPG

    Если мышь беспроводная, то читайте по отзывам насколько быстро она уходит в сон при отсутствии движения - иначе первое короткое движение после простоя будет неточным - супердешевые китайские страдают этим, но с их dpi это почти незаметно - их и так надо огого как далеко двигать при типичном разрешении экрана full hd, неточность не замечается, тк ощущения от управления отвратительные.

    Теперь как правильно пользоваться мышами с высоким dpi:
    Ставите нативное разрешение сенсора, или следующее кратное ниже - если мышь срывается на нативном.
    (А она может срываться, если у вас плохой или грязный коврик - https://youtu.be/HEXfLdYH42w , либо стол слишком блестящий - это касается даже лазерных, кроме некоторых хитрых, например logitech darkfield, ms bluetrack )
    После этого нужно понизить скорость курсора в windows: снижая реальную чувствительность на самой мыши вы огрубляете точность наведения - ваши плавные короткие движения мышь просто не регистрирует, проявляется дискретность, движения курсора ступенчатые - это называется pixel skipping https://youtube.com/watch?v=NUiGkDB_48s
    https://youtube.com/watch?v=16CI_Qdhpaw
    https://youtu.be/pglPJlZm09c
    https://youtu.be/OYjEdFfmrts
    и ваша 4к dpi мышь работает как кусок говна за десять $
    А когда вы ставите максимальный dpi и снижаете скорость курсора в программах, то все ваши точные движения чуть сглаживаются самой windows и передаются программам почти нетронутыми
    Видео выше - из игр, но точно так же скорость курсора настраивается в windows для всех программ - зайдите в панели управления в настройки мыши снимите галку с повышенной точности указателя - это отключит ускорение: быстрые движения мыши будут перемещать курсор на такое же расстоянин, что и медленные, это важно, вы будете меньше промахиваться по мелким кнопкам когда перемещаете курсор на большое расстояние - например из центра в угол.
    https://youtu.be/_zk1B8u-A5Q
    Теперь настраивайте скорость курсора пока не получите привычное вам соотношение перемещения мыши к перемещению курсора по экрану.

    Затем сделайте фикс через markc mouse fix donewmouseaccel.blogspot.com/2010/03/markc-windows... чтобы полностью отключить акселерацию курсора - алгоритм интерполяции скорости курсора в windows сделан так, что интерполирует нелинейно - фактически внося акселерацию(даже при снятой галке), причем количество акселерации зависит от dpi монитора. Markc fix подменяет значения в интерполяторе делая его полностью линейным (не бойтесь сломать, там есть файл который возвращает всё как было).
    После этого управлять интерфейсом программ станет удобнее - меньше будете промахиваться по мелким кнопкам.

    Кратко:
    Поставьте нативный dpi сенсора
    Или кратно ниже(нацело поделенный нативный) - если ваша мышь срывается на вашем коврике
    Отключите повышенную точность наведения указателя
    Подберите соотношение скорости курсора к расстоянию перемещения мыши такое, на которое привыкли перемещать мышь.
    Окончательно отключите акселерацию, применив фикс

    Если некомфортно из за медленной мыши - возьмите коврик больше размером, наклейте на мышь большие ножки
    Или подстройте скорость курсора и dpi опять

    При каждой смене dpi мыши/скорости курсора/dpi интерфейса windows - пересоздавайте фикс акселерации, он зависит от этих параметров, при смене любого из них без фикса у вас появится акселерация.
    Ответ написан
    Комментировать
  • Является ли нормой работа без ТЗ?

    NeiroNx
    @NeiroNx
    Программист
    Думаю это связано с особенностью менталитета в конкретной стране. То что вам кажется раздолбайством - у них считается нормой.
    Думаю там заказчик платит за время разработчиков и от того что он меняет требования - стоимость только растет.
    Ответ написан
    7 комментариев
  • Возможно ли видеть названия файлов с кириллицей на WindowsServer в каталоге, примонтированном по NFS?

    @pfg21
    ex-турист
    тут предлагаю костыль с виртуальной фс на линухе, которая транскодирует имена файлов и отдает немощным в той кодировке которую они умеют
    https://superuser.com/questions/302407/what-to-do-...
    Ответ написан
    Комментировать
  • Как ускорить работу с массивами?

    Kozack
    @Kozack Куратор тега JavaScript
    Thinking about a11y
    А что подразумевается под "обработать"?
    Выносите тяжелые вычисления в Web Worker. Это позволит распаралелить вычисления.
    Можно вынести какую-то логику в модуль webassembly.
    Можно не рисовать в графике 2000 точек. А сделать динамическую точность. Рисовать, скажем 200 точек. В заданном интервале. Пользователь зумит -- изменяется интервал -- увеличивается точность.
    Можно не рисовать все графики сразу. Например свойство content-visibility может помочь.
    Или изменить способ отрисовки графиков.
    И ещё очень много вариантов.

    Прежде чем задавать такой вопрос, стоит розобраться что именно тормозит и почему. Загрузка сырых данных? Математика? Отрисовка браузером? И уже исходя из этого гуглить как исправить.
    Ответ написан
    1 комментарий
  • Скрыть windows из меню загрузки?

    kekekeks
    @kekekeks
    1) копипастите строчку, связанную с виндой, из grub.cfg в конец /etc/grub.d/40_custom, переименовываете как надо
    2) удаляете злополучный os-prober
    3) sudo update-grub
    Ответ написан
    3 комментария
  • Почему в среде Linux админов Vim - это тру, а Nano - для слабаков?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Исторически vi более старый, при этом весьма функциональный.

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

    Я вот вырос на волков коммандере и обожаю редактор FAR как и сам менеджер.
    Но при этом в линуксе предпочитаю пользоваться vi и считаю его даже ближе к far editor, чем nano, хотя визуально кажется наоборот.
    Также максимально избегаю midnight commander, пользуясь просто командной строкой, хотя mc - панельный менеджер.
    Ответ написан
    2 комментария
  • В чем разница между dependency injection и методом, который возвращает тип класса?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    В чем разница между поехать в отпуск и футболом?
    И в том и в другом случае мы будем носить обувь.
    Вот пример: в холодильник можно поставить пиво, а по карточке можно снять деньги в банкомате.

    Ты, во-первых, не понимаешь что такое dependency injection, а во-вторых - что делает твой код.

    Если отбросить все умные и красивые слова которые ты тут наскреб по сусекам, то оба твоих примера - про type hinting. Только в первом кусочеке кода мы просим интерпретатор проверять входящий параметр, а во втором - возвращаемое значение.
    Type hinting двольно размытый термин, мне больше нравится "контроль типов", который используется в документации. Поскльку в данном случае это не "подсказка", а строгий контроль: скрипт упадёт с ошибкой если в первом примере в метод придет что-то отличное от класса реализующего интерфейс Foo, а во втором - если метод вернет что-то отличное от такого класса.

    Контроль типов надо использовать, чтобы твой код был чище и работал предсказуемее.

    При этом dependency injection вообще не имеет никакого отношения ни к твоим примерам, ни к контролю типов. Внедрение зависимости относится к классам, а не методам. И означает, что если твой класс использует в работе какие-то инструменты, то он берет их не из воздуха - из всяких жлобал, синглетонов, контейнеров, или клепает прямо на месте - а явно получает при создании в виде параметров конструктора.
    Внедрение зависимостей следует использовать, чтобы твой код было легче изменять и поддерживать.
    Ответ написан
    6 комментариев
  • Почему Linux предпочтительнее для администрирования и чем? Почему многие предпочитают её?

    @Karpion
    Есть масса причин, часть тут назвали.Добавлю:
    1. Открытость. К системе с открытым кодом - больше доверия.
    2. Разнообразие. Есть много дистрибутивов Linux, можно выбрать по себе. Для выполнения задач - можно выбрать из многих инструментов (почтовых серверов - штук пять).
    3. Совместимость с иными видами Unix. Можно перейти с Linux на FreeBSD, Solaris и много чего ещё.
    4. Квалификация админов. Порог вхождения в Linux - существенно выше, чем в Windows. Поэтому меньше риск нарваться на криворукого фуфлодела.
    5. Лучше документация. А если документации не хватает - можно посмотреть исходники.
    6. Меньше вирусов.
    7. Меньше потребность в ресурсах. Впрочем, на тяжёлой нагрузке - ресурсы требует задача, а не сама система.
    Ответ написан
    Комментировать
  • Почему Linux предпочтительнее для администрирования и чем? Почему многие предпочитают её?

    dyuriev
    @dyuriev
    A posteriori
    Скорее всего под таким вопросом начнется всем уже известный срач. А пару человек еще упрекнут вас в том, что у них 30-50-70 процентов серверов под FreeBSD

    Мое скромное мнение
    • Бесплатность
      Да, сейчас кто-нибудь заявит о том что на Red Hat не дешевле, а иногда и дороже Windows, но большинство дистрибьютивов Linux бесплатны
    • Открытость
      Данный факт не ценишь ровно до того момента, как приходится сделать что-то, что не разжевано в интернете. Рано или поздно разработчик доходит до того момента, когда ползет в исходники с глубоким душевным вопросом "как это %&$ должно работать?". Ибо некоторые моменты либо документированы неправильно, либо не полностью, либо в коде досадная ошибка, которую никто не замечал ранее, ну или замечал, но багрепорт/коммит с фиксом разрабу не кидал.
      В Windows-среде, особенно если это сама система, а не прикладной софт, данный баг может вылиться в недели или месяцы страданий. Там только реверс-инжиринг, если саппорт вас игнорит.
    • Документированость
      Команда не сработала как ожидалось? man commandname
      Не помогло? Гляньте сайт разработчика, там обычно на столько обширное вики/документация, что увлечетесь чтением.
      Программа свежая и документация пока не исчерпывающая? Гляньте репозиторий, поиском найдите по исходнику место которое хотите вызвать параметрически - скорее всего там увидите комментарий разраба, кто писал этот код, заодно еще парочку недокументированных возможностей почерпнете.
      В конце концов, если вдруг вам станет интересно, почему сделано так, а не иначе - гляньте багзиллу проекта - скорее всего поиском найдете обсуждение данного куска кода.
    • Гибкость
      Воткнуть свой драйвер в прямо в ядро? Легко (если уж научитесь драйвера писать, то внедрить в ядро особых проблем не составит)
    • Повсеместность
      Че уж там сервера. Роутеры, телефоны, embedded-решения - там везде в кулуарах за редким исключением крутится ядро Linux и знакомые пакеты и команды. Этакая стандартизация.
    • Эффект IKEA
      Вы сами того не подозреваете, но когда по кирпичикам соберете этот чертов конструктор, заставите каждый винтик крутиться (с вероятностью стремящейся к 100%) так как вам надо, вы полюбите эту систему.

    И еще раз напоминаю, что это мое скромное личное мнение.

    Несомнено, сервера и на Windows бывают быстрые, стабильные, работающие 24/7/365 годами. Но так уж повелось.
    Ответ написан
    2 комментария
  • NVME vs Sata SSD почему нет значительного прироста скорости?

    Jump
    @Jump Куратор тега Твердотельные накопители
    Системный администратор со стажем.
    Смена HDD на SSD показывает просто изумительный результат и в тестах и в работе, но смена sata SSD на NVME показывает только в тестах чудовищное преимущество, а в работе - на грани погрешности.
    Элементарно!

    Я ходил на работу пешком (моя скорость 5км/ч) - это занимало у меня час.
    Я взял мопед у которого максимальная скорость 40км/ч - и стал добираться до работы за 10минут.
    Явный прирост скорости.

    Я купил спорткар у которого скорость у которого 250км/ч - до работы добираюсь за 10минут.
    Вообще нет прироста скорости.

    Удивительное дело- дорогущий спорткар стоя в пробке со скоростью 0км/ч или двигаясь в потоке со скоростью 15км/ч не может обогнать мопед!

    Когда у вас стоял HDD - он был узким местом. И все тормозило из-за него.
    Вы поставили SSD - теперь накопитель не является узким местом, и производительность от него не зависит.
    Ответ написан
    7 комментариев
  • NVME vs Sata SSD почему нет значительного прироста скорости?

    nidalee
    @nidalee
    Потому что основной прирост от NVME - в линейных чтениях и записях, это касается больших файлов, например фильмов.
    Файлы ОС и программ, как правило - куча мелких, там нужны высокие показатели случайного чтения, и если в случае HDD vs SSD там огромная разница, то для SATA SSD vs NVME - не то чтобы.
    spoiler

    0.6 vs 36 и 36 vs 66
    Прирост скорости отличается... Примерно также, как и прирост производительности. Разница есть, просто не в 60 раз, а в 2.
    Первая строчка - линейные чтение и запись, остальные - случайные.
    4t37x6aqq2v11.jpg
    Ответ написан
    24 комментария
  • Очень хорошо знаю PHP - куда двигаться дальше?

    Во-первых, мир PHP сильно шире, чем то, что вы описали.
    Например, умеете вы из PHP работать с
    - RabbitMQ
    - Redis
    -MongoDB
    - ElasticSearch
    Умеете писать автотесты?
    Умеете деплоить через Docker? Хоть один CI/CD?
    Если все ответы "нет", то могу вас обрадовать - вы знаете PHP не "очень хорошо", а средненько, и ответ на ваш вопрос очевиден.

    Во-вторых, Если это всё умеете, и развиваться хотите именно как бэкенд, лично мои предпочтения - Go и/или Node..JS.
    Аргументировать не стану, вам же готовый ответ нужен.
    Ответ написан
    Комментировать