• Зачем изучать несколько языков программирования(c++, java)?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Во-первых, гипотеза лингвистической относительности утверждает, что чем больше языков знаешь, тем гибче и богаче твой логический аппарат. По своему опыту могу сказать, что это правда. Например изучение Lisp'ов существенно расширило мои возможности в других языках. Но мой опыт и мнение не так авторитетны, как авторов всемирно известного бестселлера "Программист-прагматик" - Эндрю Ханта и Дэвида Томаса, которые пишут: «Изучайте по крайней мере один новый язык ежегодно. Разные языки решают одни и те же проблемы разными способами. Изучив несколько разных подходов, вы сможете расширить свой кругозор и не погрязнуть в рутине.»

    Во-вторых, рано или поздно профессиональный рост java-программиста, например, неизбежно приводит его к необходимости глубоко понимать работу компилятора и виртуальной машины, а это невозможно без знания C++, на котором они написаны.

    В-третьих, java-программист свободно лазающий за ответами в исходники JVM, способный дебажить сборщик мусора, писать JNI-библиотеки и использовать Compiler API для метапрограммирования имеет больше предложений работы и более выгодные условия.
    Ответ написан
    4 комментария
  • Проблемы трудоустройства и свободного времени в it, насколько все плохо?

    nki
    @nki
    bezkart.ru готовая система лояльности
    вопрос оплаты труда волнует меня в последнюю очередь

    вранье
    с позиции нуба и чайника, нравится эта сфера, процесс обучения доставляет удовольствие.

    просто вы работать еще не начали в этой сфере
    Никто ведь не захочет тратить 90% времени в вузе на учебу, а потом 95% из взрослой жизни.

    Начни с ответа на вопрос - "как я хочу жить?", а потом уже решайте кем работать чтобы обеспечить себе такую жизнь.
    Я часто предлагаю таким не определившимся следующее "упражнение" - представьте себе свой идеальный рабочий день. С самого пробуждения до отхода ко сну. Прямо в мельчайших подробностях. Где и с кем живете, что едите, как и где работаете и т.д. Повторить с выходным днем. Теперь вопрос - ваша выбранная деятельность позволит вам достичь желаемого?

    А трудоустройство, правда ли, что работодатель зачастую требует знания новых технологий, которым там максимум полгода, а у тебя с ними должно уже быть несколько проектов?

    нет
    тем более что профессия подразумевает многочисленные болезни

    Что за бред? Твое здоровье в твоих руках. Не забывай заниматься физической активностью и профилактикой болезней.
    И что делать, если ты занимаешься одним, а в один момент это становиться неактуальным - учить что-то новое заново?

    Это нормально. У тебя будет опыт и выучить что-то новое не так уж и сложно.
    Ответ написан
    12 комментариев
  • Как десериализовать данные если в файлах данных могут быть данные старых версий проекта?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    В одной из ячеек данных хранить номер версии.
    Если информации о версии в данных нет, то сделать её для новых версий проекта, а о старой версии продукта будет сигнализировать отсутствие версии в данных.
    Ответ написан
    Комментировать
  • Как правильно вести и заканчивать проекты?

    tema_sun
    @tema_sun
    Проект не надо заканчивать. Его надо запускать как можно быстрее и потом итеративно развивать.
    Не удивительно, что ни в одной кинги по программированию про это не пишут. Ведь к собственно навыку написания кода это отношения не имеет никакого.
    Ответ написан
    3 комментария
  • Как сделать повторный вызов метода?

    @basrach
    Если хочется "четко и красава чтоб не хуже чем у пацанов", гляньте на либу Polly:
    public async Task<List<AccountListView>> GetAsync()
    {
    	var policy = Policy
    		.Handle<UnauthorizedException>()
    		.RetryAsync(
    			retryCount: 1,
    			onRetryAsync: (e, i) => Context.Renew());
    
    	return await policy.ExecuteAsync(TryGetAccountListAsync);
    }


    Созданную policy можно переиспользовать. Т.е. вам не придется больше плодить копипасту, достаточно объявить одну политику на приложение, и дальше просто вызывайте то что требует обновления токена через эту политику.
    Ответ написан
    2 комментария
  • Как можно раздавать музыку с сайта без возможности сохранить её локально?

    @LiguidCool
    НИКАК
    Ответ написан
    Комментировать
  • Как упаковать файл в проект и затем извлечь на C++ в Visual Studio?

    @res2001
    Developer, ex-admin
    Это делается с помощью ресурсов. Последний раз работал с ресурсами года 3 назад - с текстовым файлом.
    Создаете в студии файл описания ресурсов (.rc), добавляете ваш файл туда. Какие конкретно кнопки жать при этом не скажу.
    Затем в коде с помощью WinAPI функций FindResource и LoadResource загружаете ресурс в память как байтовый массив.
    Дальше делайте с ним, что хотите.
    Смысла сохранять файл на диск нет, т.к. потом снова будете с диска читать.
    Ответ написан
    4 комментария
  • Насколько сложно сделать рефакторинг проекта и переписать код с C# на Python/Java?

    @kttotto
    пофиг на чем писать
    Если, как Вы говорите, проект написан чисто, задокументирован и адекватно выполняет свои задачи, то зачем его переписывать? Если дело только в виндовс, то дешевле и быстрее перевести под Core, будет Вам линукс.

    насколько адекватно оставлять Backend на C# в 2018 году?

    Вот именно сейчас это адекватно) Большинство нового интерпрайза начинают писать на C#. Нам, наоборот, приносили большой проект с Питона переписать.

    Я считаю, что переписывать стоит только если проект не справляется с задачами или затруднена дальнейшая поддержка на этой технологии. А так, какая разница, но чем он.
    Ответ написан
    5 комментариев
  • Хочу сделать систему, чтобы при переводе с карты на карту часть оставалась у меня?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Требования к деятельности платежных агентов
    Так как деятельность платежных агентов заключается в приеме денежных средств, то закон предъявляет к таким организациям особые требования.

    Необходимо открыть специальные счета. Нужно запомнить, что со спецсчета агента деньги поставщику можно перечислить только на спецсчет. За нарушение указанного правила предусмотрена ответственность.
    Агент обязан проводить идентификацию плательщиков.
    Кассовый чек платежного агента должен соответствовать предъявляемым требованиям.
    Платежные агенты обязаны вести отдельную кассовую книгу по средствам, полученным ими в рамках деятельности платежного агента и формировать отдельные приходные кассовые ордера на них. Эти деньги не учитываются при расчете лимита кассы и должны полностью сдаваться в банк. Деньги с момента их поступления в кассу платежного агента принадлежат третьим лицам.
    Отдельные требования есть и для платежных агентов, применяющих в своей работе платежные терминалы или банкоматы:

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

    Но важно понимать, что если агент получает наличные от физических лиц, то всю сумму необходимо перечислить на свой специальный банковский счет (до этого момента вычесть свое вознаграждение нельзя). И уже со спецсчета можно будет перечислять средства на другие счета (п. 4 ч. 16 ст. 4 Закона от 3 июня 2009 г. № 103-ФЗ). При этом 103-ФЗ не конкретизирует, на чьи счета могут списываться средства.

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



    Ответственность
    Если платежный агент перечислит на свой специальный банковский счет не все наличные, полученные от граждан (ч. 2 ст. 15.1 КоАП РФ), он может быть привлечен к административной ответственности.

    За такое нарушение грозит штраф:

    для организации – от 40 000 до 50 000 руб.;
    для должностных лиц (главного бухгалтера, а если его нет – руководителя организации), предпринимателей – от 4000 до 5000 руб.
    Заметим, что индивидуальные предприниматели могут быть привлечены к ответственности только в качестве должностных лиц. Это следует из определения категории «должностные лица», которое дано в статье 2.4 Кодекса РФ об административных правонарушениях.

    Не исключено одновременное привлечение к административной ответственности как организации, так и ее руководителя. Правомерность такой позиции подтверждается письмом Минфина России от 30 марта 2005 г. № 03-02-07/1-83 и арбитражной практикой (см., например, постановления ФАС Московского округа от 14 июля 2005 г. № КА-А40/6231-05, Дальневосточного округа от 17 мая 2005 г. № Ф03-А16/05-2/984, Западно-Сибирского округа от 5 июля 2005 г. № Ф04-4410/2005 (12792-А03-32)).

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

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

    Еще желание осталось ?
    Ответ написан
    4 комментария
  • Как будет выглядеть такой код на C++?

    #include <iostream>
    #include <string>
    
    class Hello {
    public:
    	std::string message() {
    		return "Hello, user!";
    	}
    };
    
    
    int main()
    {
    	Hello hello;
    	std::cout << hello.message();
    	return 0;
    }
    Ответ написан
    4 комментария
  • Чему научиться кроме HTML, CSS, JS для фриланса на upwork?

    @Ravenio
    Доброго времени суток.
    Отвечая на вопрос.
    По количеству заказов, на данный момент, по апворку у заказчиков популярны PHP/Wordpress/Laravel, WP вне конкуренции.
    В сторону JS есть много заказов по React/Angular/Node.JS, меньше по Vue.
    Если же говорить про то, что необходимо, то начиная с самых низов от WP сейчас никуда не деться, просто навыками HTML/CSS на апворке да и вообще уже никого не удивить.
    На JS/React/Node.js заказы выше уровнем, без опыта и хорошего портфолио их брать сложнее чем на том же WP.
    Ну и общее.
    Про идеальный английский - неправда. Знать его конечно необходимо, но уровня intermediate вполне.
    По поводу маленьких ставок и быть первым - тоже, не совсем:
    • Во-первых это не всем известная помойка. Да, заказчики бывают разные, но основаная масса желает платить специалисту, не равняйте менталитет заказчика из США с нашим, у него не укладывается, что специалист ставит 5-8$ за час. В среднем, все начинают в диапазоне 12-15$, хотите можете и с 5$ начинать, но лучше сразу привыкать ценить свой труд. И вас ценить будут в ответ. Пример из опыта заказ на установку WP, и темы без кастомизации и прочего ушел за 35$/час, на вопрос почему, заказчик сказал, потому что я вижу что вы сделаете за час, а человек будет за 7$ ставить мне его неделю, может заказчик и не прав, но такой ход мысли у многих. Повторюсь есть и иные случаи, но потом часто можно в Job feed увидеть - "даю апворку последний шанс, чтобы сделать мою работу, предыдущий фрилансер не справился".

    • Во вторых, там необходимо ответить в течении определенного времени, обычно окно составляет около 10 минут. Ваш cover letter выстраивается у заказчика релевантно вашим скилам, портфолио, последним выполненым работам, но никак не зависит от того вы ответите первая или десятая.

    Ни в коем случае, не при каких обстоятельствах не работайте за отзыв и за очень маленькую ставку, мошенников и сволочей большое количество. Случаев работы за 5$ два месяца - масса. Начиналось все с небольшой правки, и обещаний оставить хороший отзыв, а потом в процессе узнаешь что такое JSS, что такое скрытые отзывы. И так люди работали.
    Старайтесь избегать заказчиков из Пакистана, Индии. Русскоязычных старайтесь тоже избегать, вообщем ищите заказы в странах от Германии и западнее.

    В любом случае, как раз где-то через 6-8 месяцев обучения, вы уже сами будете отвечать на этот вопрос другим. Удачи вам, Марина!
    Ответ написан
    2 комментария
  • Как правильно реализовать IEnumerable для обобщенного класса?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Это ограничение, T должен реализовывать эти интерфейсы
    Ответ написан
    6 комментариев
  • Необходимо передать некий массив с одного процесса на другой, Как это сделать?

    Разделяемая память.
    Ответ написан
    Комментировать
  • Есть смысл написать свою базу данных с использованием txt файлов в go?

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

    Используйте SQLite или другие embedded DB.
    Ответ написан
    Комментировать
  • Как унаследовать абстрактный класс в C#, WPF?

    Griboks
    @Griboks Куратор тега C#
    Что за конченный вопрос? Таким матёрым программистам не место на этом форуме.
    Partial declarations of 'RanksWindow' must not specify different base classes

    Честно говоря, можно просто зайти в переводчик. Но я поясню, что c# сообщает об отсутствии поддержки множественного наследования. Что это значит? Это означает, что у вас в коде есть два объявления класса RanksWindow , один наследуется от BaseWindow, а второй - чего-то ещё, наверное Window. А нужно указать только одного родителя. И ещё выучить английский, или хотя бы научиться пользоваться переводчиком. И самое главное - культурно писать.
    Ответ написан
    1 комментарий
  • Есть ли какие-либо недостатки у статических методов?

    @D3lphi
    Значит так, берем толстую тетрадь, ручку и пишем фразу "Статические методы не имеют отношения к ООП" до тех пор, пока не запомним это на всю жизнь.
    Суть объектно ориентированного программирование, как понятно из названия, заключается в том, что должен существовать объект. Статика существует не в контексте объекта, а в контексте класса! Из этого вытекает то, что на протяжении всего жизненного цикла вашего кода будет существовать лишь одно глобальное состояние статических членов класса.

    Использовать статику нужно в случае, если то, что вы ей описываете принадлежит всей группе объектов, а не одному. Например, у класса Human может быть статический метод numberOfLegs(), который возвращает количество ног у людей. Количество ног - это общее свойство для всех людей (Речь идет о здоровых людях). В данном случае можно было использовать константу класса, но это не так важно, ведь, по сути, константа - это тоже статический контекст. А вот имя - это уже свойство каждого отдельного человека. И очень важно чтобы статические методы не изменяли состояние системы в целом, не содержали побочных эффектов.
    В статические методы можно выносить какую либо служебную логику. Например, метод перевода числа из арабской в римскую запись следует сделать статическим.

    Есть ли у статического варианта какие-то подводные камни

    Большое количество. При чем, не таких уж и подводных. Из-за того, что статика глобальна, она плохо поддается тестированию, ее нельзя замокать. Глобальное состояние плохо поддается отладке. Отсутствует возможность подменить реализацию, так как это позволяют сделать объекты.
    Ответ написан
    4 комментария
  • Что дает добавление ProjectReference в csproj файл?

    @denismaster
    ProjectReference это ссылка на другой проект. Раньше мы ее добавляли через Visual Studio.
    При сборке проекта msbuild строит граф на основе ссылок на проекты и делает билд их всех автоматически.
    Скорее всего, у вас неправильно прописан путь к проекту.
    Желательно конечно иметь еще ссылку на этот подключаемый проект в sln-файле.
    Ответ написан
    1 комментарий
  • Как заставить std::array различать родителя и наследника?

    @res2001
    Developer, ex-admin
    Танцы с virtual. Для того они и придуманы.
    Тут еще вопрос в том как именно вы помещаете объекты в std::array и какие именно это объекты. В вашем случае вам нужно помещать в массив либо ссылки, либо указатели (умные), иначе рискуете словить проблемы.
    Ответ написан
    Комментировать
  • Как решить проблему несовместимости const char* c параметром типа char* в VS?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Поменять в сигнатуре функции char * на const char *. Если я правильно понимаю, hashtab_lookup ищет значение по ключу и соответственно менять его незачем. Да и даже если приведённый код скомпилируется и вы попытаетесь поменять строку по указателю, будет UB.
    А ещё хорошо бы оформлять код в блоки и ставить правильные теги вопросу(C).
    Ответ написан
    Комментировать