• Не подкинете тему для курсовой работы с использованием PIC?

    @AVKor
    Темы курсовых и дипломных работ обсуждают с научным руководителем, а не в интернетиках спрашивают.
    Ответ написан
    7 комментариев
  • Что стало с информацией,хранившейся на эВм СССР?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    В момент распада СССР стала информацией, хранящейся на ЭВМ России и других стран.
    Ответ написан
    Комментировать
  • Какие книги посоветуете прочитать начинающему WEB-разработчику?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Web-разработка - область обширная и разнообразная. Конечно, есть книги полезные широкому кругу специалистов, но они скорее не для начинающих.
    Ответ написан
    Комментировать
  • С чего стоит начать свой путь в сфере ИБ?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Курсы полезны только их создателям.
    Ответ написан
    Комментировать
  • Могу ли я устроиться в компанию, с неофициальным опытом программирования на python?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Изучаю python с 14 лет, после вуза у меня будет официально junior?

    Нет.
    1. Потому что за стаж обучение в универе считается разве что в гос конторах.
    2. Понятие junior в каждой компании значит что-то свое.

    Можно ли как-то доказать что-ли что у тебя большой опыт, там проекты предоставить?

    Можно. Приходите на собеседование и доказываете. Правда под опытом обычно понимается коммерческая разработка.

    Могу ли я устроиться в компанию, с неофициальным опытом программирования на python?

    Лично я не против, устраивайтесь.
    Ответ написан
    Комментировать
  • Существуют ли онлайн-школы с моделью обучения "оплата = % от заработка за определённый период"?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Такие школы и курсы есть.
    Но любые курсы или онлайн школы не гарантируют трудоустройства.
    Просто есть способные люди, которые по какой-то причине считают что им курсы необходимы, и идут на курсы, хотя могли бы все освоить и самостоятельно.

    Такие могут теоретически трудоустроиться, и школы с оплатой за будущий процент - это просто дешевые курсы, которые охотятся на тех, кто может трудоустроиться и потом год или два отстегивать им с зарплаты.
    Еще раз выделю важное - те, кто после таких курсов смог трудоустроиться - это как раз именно те, кто мог бы это сделать и без курсов.
    Ответ написан
    Комментировать
  • Существуют ли онлайн-школы с моделью обучения "оплата = % от заработка за определённый период"?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Бывали такие. Только они выпускников продавали в шарашкины конторы на выполнение предельно тупого труда на отвратительных условиях. Как только жертва обучения начинал гундеть, что не растёт профессионально и слишком долго сидит в джунах, его выпинывали на мороз, где он быстро обнаруживал, что полученные знания и опыт абсолютно не ценятся другими участниками рынка. Наверное, и сейчас бывают.
    Ответ написан
    Комментировать
  • Как избежать повтора инклюдов в ООП PHP?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    Во первых, в современном коде файлы никто не инклюдит - много лет назад для автоматической загрузки классов придумали https://www.php.net/manual/ru/language.oop5.autolo.... И во всём коде сайта остаётся 2-3 include, один из которых - внутри генрируемого composer'ом автозагрузчика.

    Во вторых, все современные фреймворки имеют единственную точку входа: файл index.php, которому передаются все обращения к сайту. В этом файле производятся подключение конфига, и инициализация фреймворка. После чего управление передаётся роутеру, который разбирает URL запроса и передаёт управление нужному классу-контроллеру.

    В третьих, для автоматического создания объектов с автоматической же передачей конструктору нужных данных (в том числе и конфигурации) и исключения дублирования создаваемых объектов давным-давно придумали контейнеры внедрения зависимостей (DI) https://elisdn.ru/blog/116/psr7-framework-container (советую посмотреть все уроки этого цикла).
    Ответ написан
    23 комментария
  • Какая должна быть скорость работы веб-программиста?

    xez
    @xez
    TL Junior Roo
    Программист не каменщик. Никакой "нормы" не существует.
    Почитайте "Мифический человекомесяц" Брукса.
    Ответ написан
    5 комментариев
  • К какому виду программирования относиться разработка ботов?

    vabka
    @vabka
    Токсичный шарпист
    Прикладное от слова Application
    Ответ написан
    Комментировать
  • Что означают три точки впереди функции во vue шаблоне?

    0xD34F
    @0xD34F Куратор тега Vue.js
    Это означает, что вы не знаете js.

    Да и в целом - плохо понимаете смысл используемых вами слов. Какой шаблон, вы чего? Шаблон vue - это html, который компилируется в render-функцию. А вы что показали?
    Ответ написан
    4 комментария
  • Как составить план развития для сильного разработчика?

    @majstar_Zubr
    C++, C#, gamedev
    Мы все идём разными дорогами, и обычно, если смотреть вперёд, то всегда видны разные пути.
    Обычно, хватает того, что вы смотрите вперёд и пытаетесь пройти по всем путям, что вы сможете увидеть. Появилась новая технология, решающая не новую проблема - и открылся не один путь, а множество, потому что кроме разработки есть ещё в частности, проблема интеграции новых решений и devops, в который погружаться советую всем.

    По большому счету есть две дороги: дорога самурая и дорога сёгуна.

    У самурая нет цели и есть только путь. Этот путь может вести вглубь технологии, к истокам её проектирования, к особенностям её устройства. Но путь может быть извилистым. Так же этот путь может вести в смежные вопросы, где технология имеет несколько иное воплощение. Всегда есть несколько способов и инструментов решения одной проблемы, пускай же идущий путем самурая изучит их все. Пишите в стеке Node.js+Typescript, но не было случая, когда нужно было узкие места оптимизировать на C++ - и вот вам ещё один непройденный путь. Но ведь модно было бы и на Rust. И на C. Или заменить целый модуль с узким местом, которое переписывалось на Net core. Может быть ещё и заменить часть фронта с Blazor? А какие проблемы в процессе могу возникнуть?

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

    Чтобы идти дорогой сёгуна, нужно отринуть рамки привычного мира самурая и обрести цель. Эта цель должна быть перевоплощением в новое существование. Идущий путем сёгуна должен идти в гору до самого солнца, и с каждой новой вершиной будет открываться перспектива и сотни путей, но сегун по ним не будет ходить. Его путь состоит в том, что сегун видит перспективу, с высоты ему видна иная сторона горизонта и весь рисунок путей. Ему видно, как пути, словно реки, сливаются в дороги, многие из которых ведут к обрывам и тупикам. Дорога сёгуна должна привести его в к смыслу. Возможно, это открытие своего коммерческого предприятия, или же это (F)OSS, или же должность сёгуна-тимлида, или же менеджера, имеющего цели стать часть руководства текущей компании.

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

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Если кто-то готов вас взять на бо́льшие деньги и лучшие условия, то стоит уйти. Если нет, то не стоит.
    Ответ написан
    Комментировать
  • В чем причина прерывной работы интернета на ПК?

    @pfg21
    ex-турист
    порт усб неконтачит, свисток не до конца воткнут, порт усб чутка сожми, антенна в месте изгиба надломилась, просто комп стоит в неудачном интерференционном месте, драйвера перестали дружить с очередным обновлением микрософта...
    чистишь комп, перетыкаешь все разъемы, в общем проводишь ТО компутера (кторое должно быть ежегодным и никогда не помешает), потому думаешь дальше...

    для стационарного компа выкинь вафлю нафих. протяни 1 гбитный провод и живи спокойно.
    Ответ написан
    Комментировать
  • Discord bot Нужно написать Скрипт. Сколько стоит написать скрипт?

    Alexandre888
    @Alexandre888 Куратор тега Боты
    Javascript-разработчик
    Сколько стоит написать скрипт?

    до тысячи рублей.
    заказать можно здесь > freelance.habr.com
    Ответ написан
    Комментировать
  • Можно ли использовать один метод для 2-х роутов?

    JhaoDa
    @JhaoDa
    LaravelRUS Team
    Можно. Даже для трёх можно. И для десяти тоже.
    Ответ написан
    Комментировать
  • Могу ли я в чистом javascript в асинхронной функции подождать возникновения события?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    Первое что нужно понимать, что async/await - это всего лишь синтаксический сахар над промисами, а значит имеет все особенности работы с ними:
    Во-первых, промис может разрешится (или отклонится, но в этой задаче reject не нужен) только единожды. Это сильно отличает их от событий, которые могут происходить многократно.
    Во-вторых, промисы обрабатываются на особой фазе event loop называемой microtasks, что опять же отличается от событий, которые выполняются на другой фазе (tasks). Это означает, что обработка промиса (колбэк метода then, или сахар над ним в виде await оператора) всегда произойдет асинхронно от возникновения события. Это накладывает ряд ограничений, например не получится сделать preventDefault у объекта или не получится запустить действия требующие синхронной работы из trusted события (play не muted video/audio, вход в фулскрин и тд).

    В простом варианте можно слушать событие разово, для чего можно использовать параметр once. Так же для оптимизации можно использовать параметр passive, так как нам все равно поздно вызывать preventDefault, а в некоторых случаях это может дать нам оптимизацию. Ну и управлять параметром capture попросту бесполезно, так как обработка будет в любом случае после обеих фаз. В итоге для этого можно пользоваться такой функцией хелпером:
    function listenOnce(target, event) {
        return new Promise(resolve => {
            target.addEventListener(event, resolve, {
                once: true,
                passive: true
            });
        });
    }
    
    // использование
    const event = await listenOnce(document, 'DOMContentLoaded');
    console.log(event);


    Если же нужно слушать событие многократно, то разумно обернуть прослушивание события в асинхронный итератор. Здесь так же присутствуют все ограничения связанные с промисами, но за счет того, что у нас будет итератор по множеству промисов, мы сможем слушать событие многократно. так же тут нужно предусмотреть возможность отписаться от события. Хелпер для данного случая получится такой:
    function listen(target, event) {
        let currentResolve = () => {};
        const handler = event => currentResolve({value: event, done: false});
        return {
            [Symbol.asyncIterator]() {
                target.addEventListener(event, handler, {passive: true});
                return {next: () => new Promise(resolve => {
                    currentResolve = resolve;
                })};
            },
            stop() {
                target.removeEventListener(event, handler);
                currentResolve({done: true});
            }
        };
    }
    
    // использование
    for await(const event = listenOnce(window, 'scroll')) {
        console.log(event);
    }
    
    // с отпиской
    const eventIterator = listenOnce(window, 'scroll');
    let count = 10;
    for await(const event = eventIterator) {
        console.log(event);
        if(--i === 0) {
            eventIterator.stop();
        }
    }
    Ответ написан
    4 комментария
  • Могу ли я в чистом javascript в асинхронной функции подождать возникновения события?

    lazalu68
    @lazalu68
    Salmon
    Конечно можете. После await у вас должен идти промис, который будет ресолвиться из обработчика события. Если речь о событиях DOM, то как-то так:

    HTMLElement.prototype.waitFor = function(event_name) {
        if (event_name) {
            return new Promise((res, rej) => {
            	const listener = function() {
            		res()
            		this.removeEventListener(event_name, listener)
            	};
    
            	this.addEventListener(event_name, listener);
            })
        } else {
            throw 'No event passed to waitFor method!';
        }
    }
    
    async function foo() {
    	const start = new Date();
    	await document.querySelector('body').waitFor('click');
    	console.log('uspeshno dojdalis clicka, jdali celih ' + ((new Date().getTime() - start.getTime())/1000) + ' sekund');
    }
    
    foo();
    Ответ написан
    7 комментариев
  • Что почитать по разработке безопасных сайтов на php, если уже знаком с asp.net?

    DevMan
    @DevMan
    на пхп точно такие же принципы и подходы к безопасности как и на асп/яве/питоне/любом другом языке.

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

    cr1gger
    @cr1gger
    Все дороги ведут в Рим — встретимся в Риме!
    учить фрейм
    Ответ написан
    Комментировать