Задать вопрос
  • Как начать зарабатывать начинающему web-разработчику в 17 лет?

    Zoominger
    @Zoominger
    System Integrator
    Как начать зарабатывать начинающему web-разработчику в 17 лет?

    Макдональдс, стройка, кошение травы.

    зарабатывать на вебе

    Пхаха.

    Хочу устроиться джуном в веб-студию удаленно

    Никто. Никогда. Не берёт. Джунов. На удалёнку. Точка.

    Может устроиться к кому-нибудь на фриланс

    Нет.

    Как начать зарабатывать на фрилансе?

    Никак.

    Каждую, чёрт бы её побрал, неделю такие посты. Ну погуглите хоть по Тостеру-то.

    Коротко: это очень плохой план, дикая конкуренция людей со знаниями и опытом выше вашего не дадут вам никаких шансов. Выбирайте другую область.
    Ответ написан
    29 комментариев
  • Почему чувствую себя бесполезным и ни на что не способным на первой работе по специальности?

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

    1) Косяк в организации работ на фирме.
    2) С вами не должны нянчиться, про все детали как вы работаете не должны помнить. Если у вас проблема - общайтесь с руководителем непосредственным.

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

    И кто за вас будет задавать вопросы?
    Выяснение задачи до конца, прежде чем начать работу - один из основных навыков программиста.

    Каждое задание мне приходилось переспрашивать по 5 раз, а если вскрывался подводный камень, о котором мне не говорили, то ещё по 5 раз.

    Абсолютно нормально для начинающего.
    Более того - абсолютно нормально даже для сеньора, который только входит в новый для себя проект.

    Да и вообще - подводные камни - это "наше все" в программировании.

    Знаний для позиции Junior C# с головой

    Нет. Вы не джун еще. Вы всего лишь "трейни".

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

    Один из типовых навыков программиста - это все выяснять.
    Постоянно, каждодневно.
    Это нормально.

    Получается, что каждое задание - это постоянные вопросы, непонимание, моральное давление


    А вы часом не перехвалили себя в резюме?

    От вас поди ожидали большей квалификации.

    За всё время я лишь подтянул знания о git'е и не более.


    Вас никто не будет учить, кроме вас самого.

    можно ли назвать позицию "Разработчик C#/.NET", если за месяц стажировки я написал максимум 10 строчек ?

    Вполне.
    Дело трейни - разбираться, вникать. Тем более первый месяц.
    И вообще производительность труда программиста отнюдь не в количестве строк меряется. Я с месяц назад за исправление значения 2 констант взял 6 000 рублей за свою работу.

    После своего первого опыта чувствую себя ни на что неспособным в программировании. Со стажировки ушёл.


    Вход в профессию программиста тяжел.
    Вход и вникание на новом месте работы тоже не прост. Даже если вы уже сложившийся программист.

    Большинство программистов, кстати, предпочитают не вникать.
    А писать свои велосипеды.
    В частности потому так очень популярен фриланс "в одного".

    Не нашел ничего такого эдакого в вашем описание.
    Все норм. Примерно так и должно быть

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

    Все остальное:
    Исключительно ваши косяки.


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

    Есть 2 пути программиста:

    1) Индивидуализм. Фриланс. Говносайты, говноприложения. Работа в не ИТ-шных фирмах или в мелких фирмочках где не поставлен процесс и по сути делаешь все один. Плохо тем, что не от кого получить обратную связь не с кем учиться, нет опытных коллег рядом. Всю жизнь будешь делать говносайты и говноприложения. Ну чуть чуть более цивильно. И все. Это предел.

    2) Если хотите все же заниматься в жизни чем посложнее и поинтереснее и поденежнее - учиться в большой конторе с коллегами. Где поставлен процесс. Где твою работу контролируют. Да придется ковыряться в куче чужого года, в куче легаси. Это нормально. Для высококвалифицированного программиста - чужой код и взаимодействие с коллегами крайне важно. Технически серьезные проекты делаются только большими группами программистов.
    Ответ написан
    4 комментария
  • Как начать зарабатывать начинающему web-разработчику в 17 лет?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Блин, а я-то думал - что же так прорвало-то? А это ж отгремели "ночи пьяных бантиков" :)

    ТС и все бывшие уже школьники - во-первых, внимательно, по буквам перечитайте ответ Рональд Макдональд - это сбережет вам всем множество нервов, времени, самооценки и здоровья.

    В-вторых:
    Никто и никогда не берет джунов на удаленку

    На удаленку берут только матерого спеца, у которого есть свой портфолио и который сам может диктовать условия найма. Джуна могут взять только в офис, потому что никому не надо отвечать за то, что он сорвал очередной дедлайн - и спросить-то с него нечего! Если джун устроился в офис - за любые деньги (здесь любые - это в совершенно буквальном смысле!) - он должен корпоративный гимн распевать от счастья :) И жужжать электровеником, работать, набираться опыта, помня что он никто и звать его никак.

    Да, на фрилансе люди зарабатывают. И иногда даже прилично так, что не стыдно сказать :)

    Но они к этому заработку идут годами. Если кто-то думает, что вот он зарегился на freelance.ru и тут же к нему потекут дорогие и простые заказы - ему лучше треснуть себя по лбу, чтобы проснуться.

    Быстро и много в ИТ во фрилансе джуну заработать невозможно

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

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

    Добро пожаловать в жесткий и безжалостный мир взрослых. Вы все, кажется, в него так торопились - бухать и девок щупать? You are welcome. Но не обижайтесь на жесткость реакции - миру на вас на самом деле плевать...
    Ответ написан
    2 комментария
  • Болезнь творца или как создать свой виртуальный мир?

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

    3D графику позволить себе не могу
    поищите начинающих художников

    в виде обычных графиков и цифр
    их еще сложнее придумать

    Город будет иметь небольшие окрестности, в которых необходимо реализовать рост растительности и активность некой фауны.
    и как она буде симулироваться? Есть уже соотношения, сколько нужно вырастить деревьев и живности за один тик?

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

    Начать вам стоит с создания своей версии игры Life
    Там поймете в чем суть и проблематика вашей затеи
    Сразу определитесь, как будут взаимоействовать между собой игроки и будут ли
    Несколько серверов не понадобится - для обсчета симуляции много ресурсов не требуется (если не написать фигни вместо кода)

    Фреймворк в данной задаче не сильно поможет, если только не сумеете спроектировать все так, чтоб валидации и сохранение через него проходили
    Ответ написан
  • Как грамотно написать интерпретатор?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Собственно классика - Книга красного дракона
    Ответ написан
    Комментировать
  • Java или C++ в качестве первого языка. Что выбрать?

    @Mercury13
    Программист на «си с крестами» и не только
    Только Java. Почему…
    1. Достаточно удачная стандартная библиотека.
    2. Проверка массивов на индекс — для начинающего бесценно.
    3. Не настолько полагается на указатели, когда человек ещё толком не знает, что это такое.
    4. Очень строгая проверка типов.
    5. Статическая типизация, Си-подобный синтаксис (хотя всё это у обоих).
    6. Сообщения об ошибках не настолько страшны (стандартная библиотека Си++ полагается на шаблоны).
    Вторым языком человек уже съест что угодно, но Си без плюсов — один из худших первых. Си++ не так плох, но Java, по-видимому, лучше.
    Ответ написан
    4 комментария
  • JPA и Hibernate или Hibernate?

    @bobzer
    Java EE Developer
    JPA - это интерфейс языка JAVA, не имеющий реализации в самом языке. Если просто добавить аннотации JPA в свои классы, то не произойдет ровным счетом ничего. Для того, чтобы аннотации начали "работать", следует развернуть и настроить в проекте фреймворк, который "найдет" все классы с JPA-аннотациями и "состыкует" их с сущностями СУБД. Этим фреймворком у вас является Hibernate.

    По поводу "работать с hibernate можно и через JPA или отдельно от него" - тут в основном дело вкуса. У вас есть два варианта сообщить Hibernate какие классы "замапить" на таблицы БД:
    1. Добавить в классы аннотации JPA
    2. Создать XML-файлы, в которых будет описано сопоставление классов объектам БД.

    По доступной функциональности оба метода равны между собой, при этом аннотации JPA более современны. Я бы рекомендовал JPA, т.к. при открытии класса сразу будет видно, что он "замаплен", а в случае использования XML, "замапленный" класс визуально неотличим от других классов.
    Ответ написан
    1 комментарий
  • Как сделать документацию к коду?

    @kn0ckn0ck
    Продюсер
    Есть две крайности, которых лучше избегать:
    1. красивая и исчерпывающая документация требует колоссальных ресурсов на поддержку
    2. сложно воспринимаемый код, без малейших подсказок с чего все начинается и чем заканчивается

    Стандартные решения:
    1. самодокументируемый код, составленный так, что читающий может понять что для чего и в какой последовательности работает.
    2. описание интерфейсов (назначение метода, тип/суть параметров и т.п.) в форме комментов в коде.
    3. автоматическая документация (генерится из комментариев) - эффективно, только если сам код закрыт.
    4. модульные тесты, фиксирующие требования к коду и демонстрирующие его использование.
    5. описание высокоуровневого дизайна (High Level Design, HLD), описывающий какие элементы существуют, их взаимосвязь друг с другом и основные сценарии взаимодействия.

    Работающая документация - это компромисс из этих практик, релевантный конкретной ситуации.

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

    pm_wanderer
    @pm_wanderer
    junior-HTML
    Чтобы увидеть преимущества функционального подхода, лучше написать пример немного другим образом. Сейчас у Вас в общем ничего функционального там и нет (наличие функций !== ФП):

    function formatter(item) {
        return "0" + item.toString();
    }
    
    function validator(number) {
        if (typeof number !== "number") {
            throw new Error("invalid argument: Number expected");
        }
        return number;
    }
    
    function formatData(array, formatter, validator) {
        return array.map(item => formatter(validator(item)));
    }
    
    alert(formatData([1, 2, 3], formatter, validator));


    PS: можно заморочиться и спроектировать более универсальные функции, но в качестве примера и так сойдет)
    Ответ написан
    6 комментариев
  • Что перспективнее изучать и под что перспективнее учится программировать: под windows или linux?

    Antonchik
    @Antonchik
    Программирую на HTML
    Под браузер)
    Ответ написан
    Комментировать
  • Что перспективнее изучать и под что перспективнее учится программировать: под windows или linux?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Перспективно стать хорошим специалистом, а под windows, linux, андроид или мак или вообще кроссплатформенно это уже второстепенно.
    Прикладное программирование особо не отличается, и для этого уровня нужно знать и windows и linux на продвинутом уровне.

    К сожалению, вам сейчас большинство аргументов будут непонятны - сама постановка вашего вопроса говорит, что еще рано такое спрашивать.
    Ответ написан
    Комментировать
  • Что делает функция JS?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Логическое И && принимает значение true в единственном случае – если оба операнда true.

    a && b проверяет по очереди: сначала, приводится ли к значению true первый операнд, a? Если нет, то дальше проверять нет смысла и выражение возвращает первый операнд, а.

    Если же a не пустой и при переводе в логическое true | false даёт таки true, то так же проверяется второе выражение, b.

    В вашем примере сначала проверяется, что там в jj. Если пустота, то более ничего не делается. Если же там, например, функция, то надо проверить и второй операнд. Для этого надо выполнить функцию jj(false).

    Таким образом, проверяется, не пусто ли jj, и если не пусто, то вызывается функция jj(false).
    Ответ написан
    Комментировать
  • Какую книгу почитать что бы писать на ассемблере под arm?

    @nirvimel
    1. ARM Architecture Reference Manual
    2. ARM Developer Suite. Developer Guide
    3. ARM System Developer’s Guide Designing and Optimiz...

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

    printf
    @printf
    Ем детей.
    TDD на практике встречается довольно редко, чаще код пишут сорт оф одновременно с тестами.

    С багами мы боремся сейчас так:

    * «первая линия» – юнит-тесты
    * автоматические интеграционные тесты: эмулируют пользователя, елозят мышкой, жмут кнопки. Проверяют несколько сотен наиболее востребованных сценариев.

    Это всё происходит в CI каждый коммит. Дерево всегда должно быть «зелёным»: если тесты не проходят, задачей с самым высоким приоритетом становится починка.

    Затем (перед релизом) наступает:

    * мануальный QA
    * догфидинг: компания всё время использует собственный продукт. Таким образом, ручным тестированием занимаются вообще все, в той или иной степени.
    Ответ написан
    1 комментарий
  • С чего начать разбираться с этичным хакингом?

    @ralaton121
    Обращу внимание, что реверс-инжиниринг в США вне закона, даже если хакайте свою собственную вещь.
    https://geektimes.ru/post/261130/

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

    Если в программе есть срез, значит в памяти есть соответствующий ему массив. Вы сами его не создаёте, но рантайм гошки его создаёт.
    Массив нужен как более низкоуровневый примитив, для ускорения работы в некоторых случаях, чтобы не плодить лишних указателей.
    Ответ написан
    Комментировать
  • QThread работает медленно на macOS. В чем причина?

    IGHOR
    @IGHOR Куратор тега Qt
    Qt/C++ DEV/CTO
    Попробуйте использовать таймер с QEventLoop вместо msleep.
    Лучше подключать QThread::finished() а не worker в deleteLater().
    Да и a.exec(); сам по себе не будет ждать тех сигналов удаления, надо еще thread->wait() после a.exec() а потом уже return 0;
    Ответ написан
    2 комментария
  • Почему не работает такая конструкция?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Тернарный оператор возвращает значение. Это не то же самое, что if .. else

    условие ? выражение_1 : выражение_2 – эта конструкция принимает то или иное значение: выражение_1 или выражение_2.

    Нельзя ставить в тернарный оператор continue или return потому, что это не выражения, принимающие какие-то значения, а управляющие структуры.

    Если бы вы выбирали, что вернуть, можно было бы написать return isItTrue ? A : B;

    В вашем же случае выбора между return и continue годится только старый добрый if .. else
    Ответ написан
    4 комментария
  • Буква в переменной. Как узнать?

    Bastax13
    @Bastax13
    text = "автобус"
    i = input("Введите букву: ")
    
    for s in text: #Перебираем и сравниваем каждую букву
    	if s.lower() == i.lower(): #Переводим обе буквы в нижний регистр, ибо 'А' и 'а' - разные вещи
    		print('Буква совпадает')
    	else:
    		print('Буквы не совпадает')


    Или, если нужен сам факт наличия буквы, такой вариант:
    if i.lower() in text.lower(): #Переводим букву и текст в нижний регистр, ибо 'А' и 'а' - разные вещи
    	print('Буква есть')
    Ответ написан
    3 комментария