по поводу последней фразы — не, сразу копировать нельзя. по крайней мере, не через memcpy а через memmove.
А то они пересекающиеся строки подсунут, типа вот из задания:
str_cpy(&s, s+5);
Так никто не мешает выставлять рейт на 8.75% больше заказчику и на eLance. Там два поля для суммы/ставки — в одном то, что получает фрилансер, в другом — то, что выставляется заказчику. Заполняй то, что нравится — второе заполнится автоматом.
Я давно уже так делаю. Единственный минус — заказчик всей этой арифметики не видит и часто спрашивает, почему такая сумма странная
Спасибо, но это пока довольно примитивное описание, с использованием высокоуровневого API. Как руки дойдут, я более интересный случай опишу — как напрямую работать с HID-устройством, используя спецификацию USB HID и библиотеку libusb.
ура! я почти универсал ) из вашего списка не делал только вот этого:
"— выйти в третий раунд Google Code Jam"
"— сломать БД вместе с бекапом, починить БД"
а вот этого лучше не делать )))
я как-то раз, разворачивая дамп из бакапа, вместо Imp написал exp и перетер единственный экземпляр с актуальными данными.
инкрементальным потом вернул все кроме последних суток. было стыдно. и немножко больно )))
Ну в общем-то, при желании что-то такое изобразить можно… по аналогии с java runtime.
Сделать отдельный инсталлятор, будет, допустим, ставиться в c:\Program Files\Nokia Qt Runtime\5.1.0\
и прописывать веточку в реестре SOFTWARE\Nokia\Qt Runtime\
а в каждом своем приложении при запуске читать реестр, находить нужную веточку (допустим, одно приложение хочет 4.7, другое 5.0.1, третье 5.1.0) — и прописывать у себя пути через setLibraryPaths перед инциализацией QApplication.
В этом отдельном инсталляторе даже крыжики можно предусмотреть для отдельных модулей, а в приложениях проверять весь ли нужный набор установлен.
Остается вопрос: стоит ли этот велосипед потраченных усилий?
Так я же писал про это.
Не работает, потому что addLibraryPath добавляется уже после создания QApplication, когда приложение уже упало на строчке
QApplication app(argc, argv);
А во-вторых, метод-то статический. Мне кажется неправильным вызывать его через экземпляр, надо как-то так:
QCoreApplication::addLibraryPath();
это верно, зоопарк виртуалок у меня есть с разными ОС/сервис-паками/браузерами, остался после тестирования совместимости тулбара который я делал.
а тут что-то поторопился, перепроверять не стал
ну я встречал вот такое там, где я работал: устраивается человек C#-программистом, работает. А потом ему говорят — не знаешь Pl/sql? Читал что-то? Вот тут отчет считается неверно — разберись, плиз. Дальше — больше: слушай, а ты же Java в университете изучал? Проект горит, все сроки сорваны, подключайся. Подскажем, поможем. Хорошо это или плохо — я пока не решил.
1. А зачем? Писать код действительно интереснее, и зарплату платят не за маркетинг, и доли в компании все равно не дадут, так в чем тогда мотивация? Вот предметную область знать надо, но лишь для того чтобы проще было код писать.
2. палка о двух концах. Если время позволяет, хороший способ разогнаться в поток — взять простую интересную задачу и, выполнив ее, переключиться на сложную нудную.
3. всегда так делаю, грешен :) но я еще и объясню, почему нельзя. а если не смогу — придется делать :)
4. я бы скайп и вовсе выключал, кроме каких-то оговоренных часов. когда работаешь в потоке — все эти штуки ужасно мешают. отключился от всего — сделал задачу, открыл почту/скайп и ответил всем.
11,12. все верно. а в чем мой интерес поступать иначе?
интересная работа и возможность работать так как я хочу, хороший климат? ок, вот я уже и сам не заметил, что давно домой пора.
хороший бонус за сдачу проекта вовремя или раньше сроков? доля в компании? ок, я буду сидеть до победного и проверю чем занимаются остальные. помогу отстающим.
Вы не поверите, но у программистов бывают такие же проблемы.
Работал на куче платформ — C#, C++, Java; мобильные платформы — iOS, Android, Blackberry (все на нативных SDK, да еще на marmalade позанимался); просто перечислить все технологии с которыми работал и которые более-менее успешно изучил — очень сложно. Составить резюме — бррр, кошмар. Недавно в Калифорнию в стартап набор объявляли, не прошел техническое собеседование. Слишком много всего знаю, но знания неглубокие. С одной стороны, я-то точно знаю, что справлюсь, с другой стороны — работодатель этого не знает и рисковать не хочет.
А еще беда — мне-то хочется, чтобы меня взяли на такую же позицию — решать новые проблемы, использовать весь багаж знаний. А существующие вакансии — C#-программист, Java-программист, тимлид, архитектор — будут использовать процентов 10 от него. Устроиться-то можно, но работать я так долго не смогу, надоест очень быстро.
Выход уже озвучили — фриланс. Сидеть в офисе с 9 до 6 и годами пилить один проект — не для нас.
А то они пересекающиеся строки подсунут, типа вот из задания:
str_cpy(&s, s+5);
Я давно уже так делаю. Единственный минус — заказчик всей этой арифметики не видит и часто спрашивает, почему такая сумма странная
"— выйти в третий раунд Google Code Jam"
"— сломать БД вместе с бекапом, починить БД"
а вот этого лучше не делать )))
я как-то раз, разворачивая дамп из бакапа, вместо Imp написал exp и перетер единственный экземпляр с актуальными данными.
инкрементальным потом вернул все кроме последних суток. было стыдно. и немножко больно )))
Сделать отдельный инсталлятор, будет, допустим, ставиться в c:\Program Files\Nokia Qt Runtime\5.1.0\
и прописывать веточку в реестре SOFTWARE\Nokia\Qt Runtime\
а в каждом своем приложении при запуске читать реестр, находить нужную веточку (допустим, одно приложение хочет 4.7, другое 5.0.1, третье 5.1.0) — и прописывать у себя пути через setLibraryPaths перед инциализацией QApplication.
В этом отдельном инсталляторе даже крыжики можно предусмотреть для отдельных модулей, а в приложениях проверять весь ли нужный набор установлен.
Остается вопрос: стоит ли этот велосипед потраченных усилий?
вот конструктор:
в методе init() идет разбор аргументов командной строки, он длинный, весь приводить его не буду. а еще там есть такое:
Посмотрим на этот метод:
На init_platform все и падает
Наследование классов выглядит так:
QCoreApplication->QGuiApplication->QAppplication
Не работает, потому что addLibraryPath добавляется уже после создания QApplication, когда приложение уже упало на строчке
QApplication app(argc, argv);
А во-вторых, метод-то статический. Мне кажется неправильным вызывать его через экземпляр, надо как-то так:
QCoreApplication::addLibraryPath();
а тут что-то поторопился, перепроверять не стал
1. А зачем? Писать код действительно интереснее, и зарплату платят не за маркетинг, и доли в компании все равно не дадут, так в чем тогда мотивация? Вот предметную область знать надо, но лишь для того чтобы проще было код писать.
2. палка о двух концах. Если время позволяет, хороший способ разогнаться в поток — взять простую интересную задачу и, выполнив ее, переключиться на сложную нудную.
3. всегда так делаю, грешен :) но я еще и объясню, почему нельзя. а если не смогу — придется делать :)
4. я бы скайп и вовсе выключал, кроме каких-то оговоренных часов. когда работаешь в потоке — все эти штуки ужасно мешают. отключился от всего — сделал задачу, открыл почту/скайп и ответил всем.
11,12. все верно. а в чем мой интерес поступать иначе?
интересная работа и возможность работать так как я хочу, хороший климат? ок, вот я уже и сам не заметил, что давно домой пора.
хороший бонус за сдачу проекта вовремя или раньше сроков? доля в компании? ок, я буду сидеть до победного и проверю чем занимаются остальные. помогу отстающим.
Работал на куче платформ — C#, C++, Java; мобильные платформы — iOS, Android, Blackberry (все на нативных SDK, да еще на marmalade позанимался); просто перечислить все технологии с которыми работал и которые более-менее успешно изучил — очень сложно. Составить резюме — бррр, кошмар. Недавно в Калифорнию в стартап набор объявляли, не прошел техническое собеседование. Слишком много всего знаю, но знания неглубокие. С одной стороны, я-то точно знаю, что справлюсь, с другой стороны — работодатель этого не знает и рисковать не хочет.
А еще беда — мне-то хочется, чтобы меня взяли на такую же позицию — решать новые проблемы, использовать весь багаж знаний. А существующие вакансии — C#-программист, Java-программист, тимлид, архитектор — будут использовать процентов 10 от него. Устроиться-то можно, но работать я так долго не смогу, надоест очень быстро.
Выход уже озвучили — фриланс. Сидеть в офисе с 9 до 6 и годами пилить один проект — не для нас.