• Не получается верстать самостоятельно. Как преодолеть это?

    AngryYumy
    @AngryYumy
    Заплати фрилансеру чеканой монетой
    Теги нужно не заучивать как стишок в школе, а понимать.
    Ибо скорее всего вы вместо практики сидели и тупо запоминали теги/стили, а как оно работает хз. Это как тактика студента заучить , заучил, а как работает хз.
    Просто начните с чего-то маленькое. Сперва какой нить элемент сверстате, потом соберите их в див. И так пару раз, а потом бац - и что-то, да готово.
    Ответ написан
    1 комментарий
  • Как можно корректно написать асинхронный метод у объекта в typescript с дженериком?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Что именно ты хочешь сократить, вроде ж дальше некуда: один тип на вход - один на выход?

    Ну можешь убрать async и await, они здесь не нужны:
    const ApiServiceModule = {
      get: <T>(url: string): Promise<T> => fetch(url)
        .then(response => response.json())
        .catch(err => console.error(err))
    }
    async/await всего лишь сахар над Promise и в данном случае ничего не делают, т.к fetch и так возвращает Promise.

    P.S. Ну и методом я бы это не назвал, это свойство с функцией. Метод имеет доступ к this.
    Ответ написан
    Комментировать
  • Почему clearTimeout не работает?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Ээээ, интересно, вы сами найдёте отсутствующую букву в строке javascipt:stop(), которая используется в ссылке отключения таймера?
    Ответ написан
    1 комментарий
  • Попинайте. Работодатель сказал, что у меня код PHP устаревший. В чем именно проблемы?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    В общем да, на первый взгляд этот код производит ужасное впечатление
    Тут даже не 2010-е, тут скорее 1990-е

    По пунктам
    - конструктор, совпадающий с именем класса, уже отсутствует в языке
    - в конструктор передается бессмысленная переменная дб, которая нигде не используется
    - функции вида formField() - это явно какой-то адок и инъекции
    - про mysql_query уже сказали
    - про собаку уже сказали. причём она здесь не нужна, mysql_query практически не выдаёт ошибок
    - die ( mysql_error () ); - это вообще зашквар. Я кстати однажды наблюдал результат похожего кода на тостере много лет назад, хе-хе. На боевом сайте системные сообщения об ошибках никогда не должны выводиться в браузер. Вообще, это родовая ошибка похапешников, сохранившаяся до наших дней - у них все ошибки в обязательном порядке обрабатываются здесь и сейчас. В то время как код приложения должен только выбросить ошибку, а обрабатываться все ошибки должны централизованно, в другом месте.

    Однако есть и хорошее.
    Сам по себе класс неплохой, и довольно грамотный ООП в целом.
    пожалуй, надо только подправить синтаксис, и задействовать какой-нибудь осмысленный объект $db, чтобы запрос выполнялся как-то так

    function addPlace($place) {
        $query = "INSERT INTO place
            (name,english, countryID, globalRatingID, typeID, worldPartID, datecreated,
            datelastmodified,datepublished,permissionLevel,tansliterated)
            VALUES (
            (:name,:english, :countryID, :globalRatingID, :typeID, :worldPartID, now(),now(),
            now(),:permissionLevel,:tansliterated)";
        $this->db->query($query, [
            'name' => $place->getName(),
            'english' =>$place->getEnglish(),
            // и так далее, всё массивом
        ]);
        return true;
    }
    Ответ написан
    2 комментария
  • Как автоматически проверить верстку?

    xez
    @xez
    TL Junior Roo
    Jest умеет в снапшоты
    https://jestjs.io/docs/en/snapshot-testing
    Ответ написан
    Комментировать
  • Как автоматически проверить верстку?

    sharnirio
    @sharnirio
    Front-end developer
    в закладках лежат пару ссылок по этой теме - ждут своего часа ) - link и link2
    Ответ написан
    1 комментарий
  • Как автоматически проверить верстку?

    Psixodelik
    @Psixodelik
    Преподаватель на Hexlet
    Я использую два инструмента:

    1. jest-dom. Это если надо точечно проверить элементы на странице. Удобно, если нет необходимости тестировать прям всё всё всё. Стучишься до нужно элемента и проверяешь его.

    2. jest-image-snapshot. Тестирование через скриншоты отлично помогает при тестировании пользовательского поведения. Там всякие скроллы, ховеры, фокусы и так далее. По сути просто делаешь эталонный скриншот страницы, вбиваешь поведение страницы. После этого при тестировании проверяется, не сломалось ли поведение
    Ответ написан
    Комментировать
  • Почему у тега a отступ справа?

    AntonLitvinenko
    @AntonLitvinenko
    HTML coder
    Это не у тега a. Это особенности inline-block. Отступ справа около 4х пикселей.
    https://css-live.ru/articles/zagadochnye-otstupy-m...
    Ответ написан
    Комментировать
  • Остались ли еще толковые русскоязычные биржи?

    @Stalinko Куратор тега Фриланс
    PHP'шник и фрилансер до мозга костей
    какие отклики можете дать?

    Учите английский и не связывайтесь с русскими биржами.
    Ответ написан
    4 комментария
  • Как развернуть сайт на весь экран?

    @marioKun
    <button data-fullscreen>В полный экран</button>

    document.addEventListener('click', function (event) {
    
    	// Игнорируем клики, которые не относятся к нашей кнопке
    	if (!event.target.hasAttribute('data-fullscreen')) return;
    
    	// Если уже в полном, выйти
    	// Иначе, снова открыть полный экран
    	if (document.fullscreenElement) {
    		document.exitFullscreen();
    	} else {
    		document.documentElement.requestFullscreen();
    	}
    
    }, false);
    Ответ написан
    3 комментария
  • А вы правда умеете программировать?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Уметь программировать - это уметь решать поставленные задачи быстро и качественно с помощью написания кода.
    А сколько чего вы там помните или не помните, не так неважно, если вы хорошо делаете свое дело. Если вам шпаргалки помогают решать задачи - пишите шпаргалки, если помогает что-то другое - делайте что - то другое.
    Ответ написан
    1 комментарий
  • Где начать поиски ментора по Javascript?

    @Albano
    есть бесплатный (опенсорс) курс от RS School, менторы в комплекте
    https://habr.com/ru/post/465463/
    Ответ написан
    Комментировать
  • Как добавить идентификатор в тегу script?

    Benzin102
    @Benzin102
    Shitcoder
    <script id="test" src="#"></script>
    Ответ написан
    Комментировать
  • Как правильно работать с фрилансером?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Если даешь доступ только к одной определенной папке, где нужно только там работать, фрилансеры просят доступ ко всему исходнику, тоже самое если ты отправляешь один файл ему, в котором нужно сделать правки.

    Приходишь в автосервис, говоришь, что автомобиль не заводится, на предложение притащить автомобиль к ним в бокс выдаёшь открученную педаль газа.

    Боитесь слива, наймите в штат разработчиков и взращивайте в них высокий уровень лояльности.
    Ответ написан
    5 комментариев
  • Событие ховер на ромб в canvas?

    twobomb
    @twobomb
    Про колижины
    Ответ написан
    Комментировать
  • Формирование зарплаты у веб разработчиков?

    @dimoff66
    Кратко о себе: Я есть
    Это всегда торговля, фактически покер. На самом деле начальная зарплата не имеет особого значения. Если вы показываете себя ценным специалистом, неважно во фрилансе или на постоянке, тогда условия диктуете уже вы, потому что ценных специалистов всегда недобор. Если вы еще только учитесь или вы ленивы или бог обделил вас талантом, тогда конечно лучше устраиваться по договору и получать гарантированную зарплату, оговоренную на собеседовании.
    Ответ написан
    Комментировать
  • Формирование зарплаты у веб разработчиков?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Хороший вопрос!
    Я интересовался и получил ряд ответов от самих Заказчиков. Так, сказать, их мировозрение в этом плане.

    Со стороны Заказчиков:
    1. Раз ты работаешь на фрилансе - ты лох, потому, что не смог никуда устроиться.
    2. Если ты фрилансер - ты раб, который зарабатывает, чтобы не умереть с голоду. Поэтому, много тебе и платить не за чем.
    3. Нет гарантий для нас, что ты сделаешь всё на совесть. Мы не понимаем как сделать самим и, при этом, хотим хорошо сэкономить.
    4. (Про время) Мы оцениваем не сложность проекта и твоё умение и опыт, а время, которое никак не может быть дороже медианы фриланса по этому направлению.
    5. Нам нужно быстрее, т.к. это получается дешевле для нас, т.к. мы оцениваем время, а не сложность нашего проекта.
    6. Все фрилансеры низкоквалифицированные рабы.
    7. Каждый, кто мнит себя опытным и будет просить больше, будет сидеть без работы, т.к. высокая конкуренция и есть большой выбор исполнителей на рынке за копейки.
    8. Фриланс - это рабы IT сферы для нашего бизнеса.
    9. Мы всегда ищем тех, кого сможем обмануть в плане оплаты за работу и их почти 100%.
    10. Нам ничего не стоит сбросить сумму оплаты в любой момент сославшись на угрозу отрицательного отзыва.
    11. Мы не дорожим репутацией, в отличие от фрилансеров.
    12. Вы сами ничего не делаете: всё берёте с гитхаба уже готовое. За что вам платить?!

    (и ещё можно продолжать и продолжать...)

    И сразу возникает вопрос:
    Ждать ли роста дохода фрилансеров IT-сферы и когда?
    Ответ прост: когда все IT-шники поймут, что нужно ценить труд друг друга, что они не конкуренты друг другу, а единый целый "организм", который может сам за себя постоять и накормить вне зависимости от места работы и размера дохода.
    Итог: Не нужно работать и "ломать" глаза на тех, кто этого не понимает, а значит, и НЕ ЦЕНИТ!

    А пока разделяйте качество своих трудозатрат на "хлеб" и на "работу" и сразу озвучивайте 2 суммы заказчикам.
    Ответ написан
    10 комментариев
  • Как сделать пазл на js?

    twobomb
    @twobomb
    Крч грубо сделал, разбивает на квадратные части и колизия тож по квадратам,а не по контуру. Количество частей разбивки можно переменной настроить. Зато без всяких библиотек
    Ответ написан
    1 комментарий