• Как подключить proto файлы к проекту?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Клик сюда
    660ebe1a9e832661047201.jpeg

    Далее сюда
    660ebe371e0df243799837.png

    Подключаете .proto файл. После этого делает Rebuild вашего solution'а. Потом даблклик по проекту, в этом .csproj файле ищите секцию ItemGroup в которой будут ваши Protobuf. К ним додаёте аттрибут ProtoRoot, который (Для удобной работы) должен быть таким же как и пусть в аттрибуте Include без указания названия файла .proto

    UPD:
    Так же стоит отметить, чтобы импортировать в .proto ваш другой .proto, они должны быть хотя бы на одном уровне. Другими словами, вы можете импортировать только файлы, который находятся по архитектуре на том же уровне или ниже, потому что в import запрещено использования символа точки и запятой. Это значит, что вы не сможете выйти на уровень выше
    Ответ написан
    7 комментариев
  • Миддл без юнит тестирования?

    vabka
    @vabka
    Токсичный шарпист
    Апплайся на мидла, а там разберутся.
    Ответ написан
    Комментировать
  • В поиске первой работы програмистом, предлагают бесплатную стажировку. Соглашаться?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Народ тут накинул на вентилятор, попробую раскидать по фактам: Варианта на самом деле 3, но мы сведем к очевидным 2:
    1) Вы ищете первую работу в стеке, из опыта у вас приложение ТуДуЛист и Хеловорлд.
    Такое предложение как минимум подарок, как максимум большая удача. Подарок если вам просто дадут поколупаться в серьезном проекте и покажут как работает команда в целом. Большая удача если при этом у вас будет вменяемый ментор и ревьювер, а кода писать вам дадут много. Для конторы это скорее всего в минус, но если у вас все пойдет норм, то к концу срока вы в любом случае уже будете тянуть на джуна. Даже если после этого вы расстанетесь, опыт штука которая навсегда останется с тобой, в крайнем случае вы в первый месяц можете спокойно свалить, если видите что вам там ничего не светит в плане роста. Короче кейс - "надо брать".

    2) Вы уже работали со стеком, знаете как работать с основными инструментами и работали с проектами посложнее чем в первом варианте.
    Если еще и в конторе с какой-никакой командой, то вообще другой коленкор. В данном случае спокойно отказывайтесь, если вам жалко 3 месяца нахаляву работать. Опять же, неплохо было бы хотя бы узнать что в эти 3 месяца вы будете делать забесплатно, возможно ли перейти сразу к фазе 2 в случае вашей очевидной компетенции и т.д., короче есть смысл разговаривать ртом. Короче кейс - "надо поговорить".

    третий вариант по сути нечто среднее, но опять же сводится к 2 - надо говорить.
    Ответ написан
    3 комментария
  • Где искать верстальщиков и бекендеров?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    не справился, пропал, дико задержал
    По тому что чисто версткой заниматься могут только от безнадеги полные неумехи/новички, или в другой крайней ипостаси - работники постигшие этот мир и им этот мир абсолютно понятен, и они здесь ищу только одного - огромных денег за свое бесконечно-вечное. С бэкендерами тоже сложно, на вольных хлебах это редкий зверь, а на фрилансе он пасется только с условием, что капуста за разовый напряг будет крупнее кочана на постоянном месте работы, ибо нафига тогда париться.

    Короче, на фрилансе и прочих вольных пастбищах чаще всего пасутся 2 типа: Индусы по доллару за пучёк, и профи (скорее всего тоже индусы, но постигшие мудрость Шивы), работающие за ценник сильно выше часовой оплаты на ставке.
    Ответ написан
    Комментировать
  • Где найти других программистов?

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

    вот самый полный список со списками, есть группировка по тематике и всё такое.
    по плюсам, например, сразу несколько чатов нашлось поиском по странице
    https://github.com/goq/telegram-list
    Ответ написан
    Комментировать
  • Как намекнуть начальству, что agile не избавляет от тз?

    @Zephyroche
    Исходя из ваших ответов и комментариев, очевидным выходом будет сменить работу и не пытаться что-то кому-то объяснить или намекнуть
    Ответ написан
    Комментировать
  • Стоит ли выбирать ИП, СЗ вместо ТК?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    За редкими исключениями ИП/СЗ - это либо галеры, либо временные сотрудники на малозначимых должностях. Так что вы этим сильно ограничиваете для себя рынок труда и ухудшаете условия труда.
    Ответ написан
    1 комментарий
  • Где найти недостающие куски пазла, что лежат между сеньором и архитектором?

    opium
    @opium
    Просто люблю качественно работать
    Чувак у тебя гигантский опыт в 20 лет и если ты не можешь ответить на эти вопросы то наверно уже и не надо, в целом этого срока достаточно чтобы уже уходить на пенсию
    Ответ написан
    5 комментариев
  • Почему C# не кроссплатформенный?

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист

    Почему C# не кроссплатформенный?

    На этот вопрос нельзя ответить сразу по двум причинам:
    1. C# - это язык, а язык не может быть кросс-платформенным, так как платформы в разрезе языка и нет.
    2. .NET уже много лет как кросс-платформенный.
    Начиная с уже мейнстримного .NET 8, заканчивая mono и всякой экзотикой типа nano framework


    но при этом, это не так

    Ничто нельзя запустить на "чём угодно"


    но в неё вопрос кроссплатформенности решена абсолютно полностью

    Если вопрос "абсолютно полностью" решён, то почему я не могу запускать программы, написанные на Java, на любом железе?
    Ответ написан
    Комментировать
  • Что стоит учить с или c++ или c#?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Добрый вечер! Столкнулся с такой проблемой: Мне очень нравятся семейство языков Си, у меня есть выбор учить C++ либо C#, хочу разрабатывать ПО для ПК. Подумал начать с C++ и говорят что сначала поучить чистый СИ, а после переходить на C++, так что же из этого правильно? Надо ли учить Си? Или может лучше начать с C#, а дальше уже выучу C++?

    Тема сравнения С/C++/C# в публичном пространстве - опасная тема. Она обычно заканчивается
    топиком в 1000 страниц и великой войной всех против всех. Я видел много таких войн.
    Они ничем не заканчиваются. Специалисты остаются при своих мнениях. А зритель просто развлекается.

    Сам по себе выбор языка ставят только новички. Професиионалу безразличен язык (почти). Его может больше интересует отрасль, стек технологий, стандарты и протоколы. С моей точки зрения сегодня
    таким стандартом может быть выбор облака (AWS, Azure, GCP).

    Чистый СИ учить смысла нет. Учи сразу С++. Но даже его создатель Бьорн Страуструп считает что С++ это
    сложный язык и он настаивает чтобы новички не брались учить все фичи сразу. Исключение по языку
    СИ может быть в том случае, если ты собрался быть инженером по разработке микро-контроллеров
    и у тебя скорее всего будет только СИ как основной (на 80-90%) инструмент взаимодействия с таким железом. Выйти на мидловый или синьорный уровень в С++ очень тяжело. Тяжелее чем в других языках.
    Поэтому будь готов терпеть. Вот когда виски станут седые - тогда и будешь господин-синьор.

    C# - это очень сильно корпоративный стандарт от Microsoft. Никакой связи с С++ он не имеет. Он конечно
    внешне похож но это сходство обманчиво. Да изучать его тоже можно. Он учится легко. Существуют книги
    вроде ".... C# за 14 дней". Разработка бизнес-приложений на шарпах идет гораздо быстрее чем на С++
    например. И завалить систему в синий экран в этом языке гораздо труднее. В нем реализованы методы
    защиты памяти и нельзя грязно трюкачить с указателями как это любят в С или С++. Производительность
    шарпов в численных методах будет слабее чем в С++ но обычно бизнес не ставит таких задач и чаще
    надо будет писать веб-хендлеры или хендлеры MQ-систем. Кач уровней синьорити идет быстрее в шарпах.
    Ответ написан
    2 комментария
  • Как защитить postgresql в контейнере докера?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Уберите из docker-compose
    "ports:
    - "5400:5432"
    и порт не будет публиковаться наружу, будет доступен только на внутреннем ip адресе вашего контейнера docker.
    Для подключения или используйте внутренние имена контейнеров, или создайте отдельную подсеть docker (подсеть по умолчанию не дает выдавать контейнерам статические ip адреса) и переведите оба контейнера на ее использование с выдачей статических ip адресов.
    Ответ написан
    1 комментарий
  • К чему готовиться работая преподом в колледже?

    Snakecharmer
    @Snakecharmer
    Широкопрофильный менеджер и аналитик
    Коллега преподает по субботам ит-дисциплину. Просто для души.
    Вам готовиться нужно к тому, что придется выбирать: либо преподавание в колледже (там еще большая бюрократия), либо работа на коммерческих проектах. Дело в том, что все ищут сотрудника на полный день. 4 дня на обычной работе, и 1 день в колледже - так не будет. Нормальная пятидневная рабочая неделя - вот что нужно работодателю.

    Есть и промежуточный вариант - устроиться в частную школу программирования. Там можно подбирать удобные для вас часы после основной работы.

    Есть компании, которые сами проводят обучающие курсы на базе колледжей или вузов. Либо принимают у себя студентов на преддипломную практику. Тут вы сможете пригодиться, если есть тяга к преподаванию :)
    Ответ написан
    Комментировать
  • К чему готовиться работая преподом в колледже?

    vabka
    @vabka
    Токсичный шарпист
    4 дня работаешь на нормальной работе, 1 день преподаёшь.
    Преподавание - это 90% педагогики и 10% собственно программирования.
    Прогрессировать, очевидно, будешь только в умении доносить какие-то знания до людей сильно глупее тебя (ну или хотябы в умении не сходить с ума от того что на паре студенты ничего не делают)
    Ответ написан
    4 комментария
  • Как лучше учиться архитектуре?

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

    vabka
    @vabka Куратор тега .NET
    Токсичный шарпист
    Хочется ответить цитатой:
    Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
    Ответ написан
    Комментировать
  • Зависит ли поиск работы от наличия высшего образования?

    @turdubekov
    Студент
    Учитывая текущий тенденции курсов и их репутацию, наличие ВО думаю дает преимущество перед теми, кто окончил курсы (Для первый работы)
    Ответ написан
    2 комментария
  • Как найти работу со сложными и комплексными проектами если нету опыта работы в таких проектах?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    У большинства программистов первое рабочее место - это унылая маленькая компания с примитивными технологиями и простыми задачами. Следующая работа немного лучше. Следующая ещё лучше. И так пока не заберëшься на максимально доступную тебе высоту. Потолок и скорость развития у всех разные, зависят в основном от того, на сколько сильно стараешься. Некоторые так никогда и не выбираются из эникейщиков и крутильщиков cms'ок. Немало тех, кто выбирается лет десять.
    Ответ написан
    Комментировать
  • Как структурировать и наладить процессы в "галере"?

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

    Значит канбан напрашивается.


    У нас в команде из 16 человек сейчас около 12-15 активных проектов и каждый член команды нагружен иногда сразу несколькими проектами (Понятно что это суть галеры, но как улучшить этот опыт?)

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

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Мне кажется, что все прочитали только заголовок, а на текст поста никто не обратил внимания. Как обычно
    А там-то и лоснится самый ЖЫР:

    Но в этом случае мне придется выполнить 2 запроса к базе данных

    То есть вся "проблема" тут из-за каши в голове клиента, который откуда-то взял, что во втором варианте у него будет не два запроса, а один. Ну то есть понятно откуда - очередной разрабончик баз данных, который SQL видел только в кино, а база данных для него - это вот это вот prisma create.

    И только из-за этих нелепых страхов он ломает всю логику и сервис юзеров у него начинает лазить в БД постов. Что и является здесь проблемой. А не какие-то, опять же, дурацкие страхи про дублирование вызова нотификации.
    Ответ написан
    6 комментариев
  • В чём отличие многопоточности и асинхронности в контексте .NET C#?

    Nipheris
    @Nipheris Куратор тега C#
    Асинхронность - это способ организации вычислений, когда код, вызывающий какую-либо операцию/подпрограмму /функцию, не дожидается завершения работы этой операции, а если ему интересен результат вычислений, то он получает вместо готового результата некий способ запросить результат позже, когда он будет готов (то, что называется промисом или фьючером или ещё как-то в зависимости от языка). Это по сути противоположность "обычному" синхронному вызову, когда вызывающий код останавливается и ждёт завершения функции, чтобы получить результат. Как это будет достигнуто - это уже другой вопрос, это зависит от сути операции, запускаемой асинхронно.

    Но ведь при классической многопоточности никакой поток так же не блокируется

    Что такое "классическая многопоточность"? Что это за термин? Что такое неклассическая многопоточность?
    Если брать потоки ОС, то операционка просто передаёт управление созданному потоку в желаемую точку входа и дальше уже поток решает что и как делать. Поток может молотить вычисления 10 минут, потом записать их куда-нибудь в файл и завершиться. Никаких кормлений задачами не будет (хотя я не совсем понимаю что такое кормить задачами в вашем контексте).

    Тем более при асинхронности практически всегда подразумевается многопоточность

    С чего бы? Асинхронный код полезен при большом количестве операций ввода-вывода - диск, сеть и т.д. Не обязательно это должно быть что-то, вычисляющееся в отдельном потоке. Вот, почитайте хорошую статью: There is no thread.

    Вам будет полезно ознакомиться с асинхронностью в какой-нибудь изначально однопоточной среде, например JS в браузере не считая вебворкеров. Тогда вы поймёте разницу.
    Ответ написан
    5 комментариев