Задать вопрос
  • Rust unsafe, какие есть подводные камни и как подходить к дизайну C API?

    vabka
    @vabka Куратор тега Rust
    Не пудри себе мозги и возьми уже готовую безопасную обёртку над raylib
    https://crates.io/crates/raylib

    А гайд по работе с unsafe - это rustonomicon

    unsafe сам по себе просто позволяет использовать сырые указатели + вызывать другие unsafe функции.

    Безопасная обётка - это когда ты при помощи типов и всяких валидаций гарантируешь корректное использование.
    Вот пример из того что выше:
    use raylib::prelude::*;
    
    fn main() {
        let (mut rl, thread) = raylib::init()
            .size(640, 480)
            .title("Hello, World")
            .build();
    
        while !rl.window_should_close() {
            let mut d = rl.begin_drawing(&thread);
    
            d.clear_background(Color::WHITE);
            d.draw_text("Hello, world!", 12, 12, 20, Color::BLACK);
        }
    }

    Если для вас это магия, то тогда нужно чуть глубже изучить Rust и посмотреть в исходники.

    На будущее: не пишите огромную портянку текста с кучей вопросов, а пишите только то что непосредственно относится к основному вопросу.
    Другие вопросы задавайте отдельно.
    Ответ написан
    Комментировать
  • Как убрать ошибку cURL error 7: Failed connect to IP:443; Connection timed out?

    @ChertyakaNUB Автор вопроса
    Решение: проблема была на стороне IP, которому отправляли запросы! Сообщил им об ошибках, они устранили их.
    Так что проблема решена!

    Хорошо, что на тостере, там много рук помощи!

    P.S.
    Пользователь JhaoDa, просто дебил, не понимает вопроса, но меняет тему постоянно! Запомни, ты дебил!
    Ответ написан
    1 комментарий
  • Какие паттерны gof используются для геймдева?

    orlov0562
    @orlov0562
    I'm cool!
    слышала мнение, что все их знать не надо

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

    Какие используются в геймдеве?

    полагаю, что геймдев ничем не отличается от обычного программирования, поэтому используются все популярные: раз, два

    Что значит в вакансиях "знание паттернов проектирования"?

    То, что ты отличаешь Singleton от Observer. Реже, нужно знание специфических вещей (например CQRS+ES), в таких случаях это указывают, тк 90% разработчиков никогда о них даже не слышала.

    Как проверяют на их знание?

    • Чем отличается Singleton от Observer?
    • Напишите реализацию обоих
    Ответ написан
    4 комментария
  • OS X Mavericks и kernel_task?

    @oldie_hl
    У меня все получилось. MacBook Pro Retina 15 2012 mid. При включении питания kernel_task стал безбожно жрать всю память. Нужно сбросить SMC контроллер. Полная статья здесь https://support.apple.com/ru-ru/HT201295
    Для моего ноутбука надо было выключить питание поддержать 10 сек shift+opt+contrl и питание. Проблем больше нет.
    Удалить файлы у меня не получилось так как стоит Catalina и отключение SIP не помогает.
    Ответ написан
    Комментировать
  • Что такое замыкание?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    В целом ты все верно понял. Почитал я тут ответы, термины, термины, термины...

    Я люблю простые объяснения, буквально на пальцах.

    Вот ты вызвал функцию, в ней создаются переменные локальной области видимости, т.е. доступные только самой функции. Под эти переменные движок JavaScript выделяет память.

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

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

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

    Один из основных паттернов, для которых применяются замыкания - ограничение доступа к данным, их изоляция (ограничение их области видимости).

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

    В ответах есть пример со счетчиком, который наглядно демонстрирует этот принцип.
    Ответ написан
    2 комментария
  • Чем отличается программист и инженер-программист?

    LenovoId
    @LenovoId
    svg, css,js
    инженер-программист учит алгоритмы , сам язык мало важен
    программист - это некий кодер , который зазубрил некие коды и самостоятельно изменить их не знает как но к счастью есть toster.ru , ru.stackoverflow.com на всех языках где есть настоящие инженеры-программисты которые иногда обращают внимание на таких как я - кодеров
    на инженера надо учится в высших учебных заведениях и работать в солидных организациях для закрепления навыков и получения новых , скажу больше их мало
    Ответ написан
    3 комментария
  • Стоит ли использовать Next.js для крупного ECOM проекта?

    @dimuska139
    Backend developer
    Если фронтенд на React, и при этом нужно, чтобы с сайтом хорошо дружили поисковики, то NextJS обязателен. Да, даже несмотря на то, что гугл давно говорит, что умеет сканировать js сайты. По факту индексирует он их хуже. А другие поисковики вообще с js не дружат.

    какими подводными камнями

    Скорее с летящими в вас камнями. Есть достаточно много людей, которые не хотят использовать React для разработки сайтов и клепают по старинке: весь html генерится на сервере средствами какого-нибудь php + jQuery на фронте. И эти люди будут постоянно швырять в вашу сторону камни, с пеной у рта пытаясь вам доказать, что вы все переусложняете. Но надо понимать, что у крупных интернет-магазинов обычно сложный фронтенд, и пилить его на jQuery или на чистом js - самоубийство, потому что код будет в 99% случаев помойкой.

    А если серьезно, то единственное, что мне в NextJS не понравилось - это роутинг. Но и это субъективно.
    Ответ написан
    Комментировать
  • Что с ajax post запросом в Wordpress?

    san_jorich
    @san_jorich Автор вопроса
    Творческий кодер
    По итогам бессоной ночи:
    1) Wordpress требует локализации вашего скрипта. Его нужно "подружить" с admin-ajax.php
    wp_register_script('js_function_id', plugins_url('functions_js/js_function.js', __FILE__));
    wp_enqueue_script('js_function_id');
    wp_localize_script( 'js_function_id', 'ajaxurl', admin_url( 'admin-ajax.php' ) );

    2) На сколько я понял в Wordpress не нужно декодировать json. Во всяком случае у меня в php-обработке сработало просто присвоение POST переменной
    $my_var = $_POST['my_var'] // без всяких json_decode, stripslashes и т.д.

    3) Следите за выходным массивом. За его сбором - здесь тоже "уходит внимание". Если вы пишите одномерный массив то array_push(array, value) вполне подойдет. Но если выходит многомерная хрень с кучей ассоциативных данных (как было у меня) то с array_push в js приходят NULL. Я сформировал массив иначе:
    $data = ['surname' => $surname, 'name' => $name, 'patronymic' => $patronymic]; // и так далее

    4) Word_сука_press игнорирует echo json_decode($data); Для отправки ответа существут
    wp_send_json($data);
    И еще.. не забывайте про wp_die();

    Надеюсь мои грабли будут для кого-то полезными, чтобы не наступать на них вновь )
    Ответ написан
    Комментировать
  • Как сравнить даты?

    Stalker_RED
    @Stalker_RED
    let now = new Date(),
        birthday = new Date('10/10/2001')
    
    if (now > birthday) {
      // ...
    }

    Правда, если у вас нет машины времени, я не вижу смысла в такой проверке. Для всех уже родившихся людей всегда будет true.
    Ответ написан
  • Как скрыть содержимое div в зависимости от option select?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Задайте себе вопрос: "Что произойдёт, если я точно такой же код пропишу во второй селект?".
    Потом второй вопрос: "Ок, это не то, что мне нужно, что мешает правильному поведению?".
    Потом третий: "Как изменить оригинальную функцию, чтобы она могла работать с любым дивом?".
    Всё, вы молодец, ваша задача решена.

    С опытом первые два вопроса можно будет пропускать и сразу переходить к сути.
    Ответ написан
    Комментировать
  • React, где лучше хранить такие данные?

    edli007
    @edli007
    full stack, team lead
    Redux. Просто не используйте их в верстке, а чтобы не было ререндера, используйте shouldComponentUpdate
    Ответ написан
    Комментировать
  • Почему не работает :hover?

    @Froggyweb
    #div1 .div2:hover #div1 .div2 .div3
    Как перевести эту строку?
    Магии нет, есть мошенничество
    в блоке #div1 нет вложенного #div1 кроме того ид может быть только один на странице....

    #div1 .div2 так писать не надо
    #div1 .div2 .div3 - за это нужно отстреливать
    #div1 .div2:hover #div1 .div2 .div3 это.....
    Ответ написан
    4 комментария
  • Почему не работает код?

    @mrxakerrus
    1) В операторе if, вы пытаетесь ПРИСВОИТЬ ЗНАЧЕНИЕ, А НЕ СРАВНИТЬ
    2) Вызывать свойства у элемента нужно через GetComputedStyle либо через style
    Ответ написан
    5 комментариев
  • Какая разница в пути с слэшем или без?

    amorphis
    @amorphis
    Технолог в Студии Артемия Лебедева
    Первый вариант это относительный адрес (относительно текущего адреса страницы), второй абсолютный - относительно корня сайта.

    Например, вы находитесь на странице test.com/news:
    - указывая адрес картинки <img src="images/picture.jpg"> браузер будет загружать её по адресу test.com/news/images/picture.jpg
    - указывая адрес картинки <img src="/images/picture.jpg"> браузер будет загружать её по адресу test.com/images/picture.jpg
    Ответ написан
    3 комментария
  • Совет по интеграции в WordPress?

    kumaxim
    @kumaxim
    Web-программист
    Лично я сделал бы иначе:
    1. Создать тег "Афиша"
    2. Добавить 3 поста и присвоить им тег "Афиша"
    3. Создать кастомный шаблон страницы
    4. Вывести 3 записи с тегом "Афиша"


    Для того чтобы вывести какие-то страницы/записи внутри шаблона, используя PHP , тебе надо копать в сторону WP_Query
    Ответ написан
    5 комментариев
  • Как загрузить большое количество картинок?

    @AnneSmith
    самая ленивая
    lazy load, иначе ваша страница умрет не родившись
    все 500-1000 картинок же не влезут в один экран
    грузите сначала два экрана и при скроллинге на второй догружайте по одному
    проще сделать pagination - бесконечный сролл, особенно картинок, раздражает, с pagination легче вернуться, если что-то пропустил
    Ответ написан
  • Есть ли возможность в одном проекте использовать react.js, react-redux-router и hashHistory?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Добрый день, ну так и спросить у гугла: react redux react-router
    (четвертая ссылка похожа на что-то максимально подходящее вам)

    А по факту: лучше спокойно разобраться:

    Сначала react, затем асинхронная загрузка чего либо на реакте (без redux, recompose, reselect, immutable, react-router, и прочих библиотек, гы-гы, наболело просто). Все это есть как в видео-уроках, так и в текстовых учебниках. В быстрой и краткой форме - есть официальная документация (хорошая).

    Затем следующий шаг: добавление redux и асинхронная загрузка (да-да, тех же самых данных) - но уже через redux.

    Затем добавляется react-router.

    И в таком случае, даже если вы не успеете сделать что-то сейчас сразу быстро (подозреваю, что либо тестовое задание, либо дружеская "халтурка" в помощь), то вы сможете в будущем без проблем все это реализовать.

    Если нужно быстрее - либо статья выше, либо с ментором.

    P.S. вредный совет - ищите react redux react-router boilerplate - репозитории с шаблоном для новых проектов. Зачастую там все уже есть и настроено. Вредный, потому что будет тяжело вносить изменения в сборку, если нет понимания что откуда и куда. А так как авторы популярных бойлерплейтов уже столько накрутили, то там частенько сложно разобраться.
    Ответ написан
    2 комментария
  • Как правильно подобрать дизайн для сайта?

    nickola105
    @nickola105
    начинающий
    это же целая наука, какой тут совет...много статей есть на эту тему...и потом сколько людей столько и мнений
    Ответ написан
    5 комментариев
  • Чем отличаются эти две записи?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    в 1 случае Вы сразу создали новый объект на основе прототипа AllElemetsParent и присвоили его в переменную CreateNewElement
    во 2 случае, вы присвоили свойству prototype объекта CreateNewElement ссылку на то что хранится в AllElemetsParent, если CreateNewElement - функция, то при вызове ее с оператором new будет создаваться новый объект на основе прототипа AllElemetsParent, он поступит в функцию как объект this и будет возвращен оператором new
    Ответ написан
    Комментировать