• Что вообще может C#?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    многие из ответивших, сузили реальность до корпоративного веба и виндового десктопа. но это не верно, есть ряд фактов, которые не так широко известны даже среди программистов:
    - нус, начнем с веба - спрос на .Net Core бакендеров, на hh.ru стремительно растет .. к чему бы это? все озаботились созданием корпоративных сайтов? ;))
    - следующий .Net 5, будет кросплатформенным абсолютно (.Net Core лишь переходный этап)
    - на шарпе даже микроконтроллеры программируют это не значит, что код на си или асме хуже, на шарпе код писать быстрее, а отлаживать легче. чаще всего это не только прихоть программиста, но и коммерческий расчет - продукт можно выпустить быстрее
    - благодаря таким технологиям как WASM, BLAZOR и фреймворк Avalonia, не за горами времена, когда можно будет писать код на C# и интерфейс на XAML, и все это будет работать в браузере (в ролике, фрагмент с 24й минуты, если интересно как это вообще возможно - можно и с начала смотреть ))
    - ну и о производительности, в том же Unity, используют прикольные штуки, типа IL2CPP, благодаря которым, Unity имеет достойную производительность, предоставляя комфорт разработки на C#. это не значит, что IL2CPP не могут использовать простые смертные, но это к сожалению, требует квалификации на много выше среднего )). но можно заметить, что даже штатный NGen используют далеко не все программисты. и даже не все о нем знают ))

    ps да, я шарпист, но за плечами около десятка языков
    (хотя в основном старых..
    но были времена, когда, в TD, я по коду узнавал компиляторы "в лицо" ;)) ... (не не.. не все конечно, но Borland Pascal, Borland C/C++, MS C/C++, Clipper, FoxPro.. ну может что то еще из хитов тех времен - точно )).. борландовские компилеры просто с пол пинка (секунды на опознание.. если кто не понял - визуально по дизасму TD )))


    всем успешного программирования! ))
    Ответ написан
    2 комментария
  • Актуальный стек для начинающего C#?

    GavriKos
    @GavriKos
    Хочу научиться C#

    Вот и учите C#. И не забивайте себе голову какими то сторонними фреймворками - вам для начала с головой хватит дотнета или моно.
    Ответ написан
    2 комментария
  • Что делать если увольняют с работы(IT компания. Скорее всего по статье за несоответствие занимаемой должности)?

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

    Словом, уходите по собственному и при поиске работы объясняйте такой короткий срок. В целом, это нормально - на то испытательный срок и существует, чтобы не только компания к вам присмотрелась, но и вы к компании. Единичная подобная история нормального кадровика не смутит.
    Ответ написан
    4 комментария
  • Какие книги подойдут новичку по языку C#?

    @netcore
    Я как делал:
    Купил справочник c# толстенный.
    Читаешь первые 4 главы как там советуют, въезжаешь, переписываешь код, понимаешь как устроен язык и синтаксис в принципе

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

    Тупо копипастишь код лишь бы заработало.

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

    Далее наращиваешь боту функционал. Например показывать погоду используя сторонние сервисы, там уже поймёшь как работать с API сторонних сервисов.

    + Раз в день читаешь главу, не особо стараясь вникать. Зачем? А затем что когда в жизни столкнешься с проблемой, вспомнишь примерно как это решать и в какую сторону гуглить.

    Справочник год лежал на столе, был отличным помощником в начале пути.
    До сих пор иногда туда заглядываю
    Ответ написан
  • Ember или Angular?

    @Meiblorn
    Angular даст больше профита в будущем. Это быстрорастущий фреймворк с большим коммюнити, большим количеством библиотек и при этом он довольно востребован на бирже труда. Ember давно стал аутсайдером, и не может похвастаться такой востребованностью и интересом, что люди проявляют к ангуляру.

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

    Подходы в написании кода в Англяре очень похожи на подходы в языке Java: те же бесконечные аннотации, типизиация, классы. Ангуляр буквально заставляет вас использовать типизированный джаваскрипт - тайпскрипт. Это тот же джаваскрипт, - не пугайтесь. Тайпскрипт - это суперсет от джаваскрипта ( это значит, что все что есть в джаваскрипте, есть в том же виде и в тайпскрипте). Собственно, если захотите выучить язык для бекенда, после ангуляра вам либо в Java, либо в NodeJS.

    Ближайший конкурент ангуляру - react и vue. Как и ангуляр, реакт имеет поддержку от Facebook. Реакт имеет ещё большее комьюнити чем у Ангуляра, больше библиотек и портирован на iOS и Android.

    Среди двух библиотек (angular и ember) для меня выбор очевиден - это ангуляр. Ангуляр или Реакт - это уже дело вкуса. Мне больше нравится Ангуляр. Вам, видимо, тоже.

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

    И немного комментариев к вашему вопросу:
    1) React не нравится то что html надо писать прямо в коде класса — это уже давно не проблема. Как только Вы станете опытнее, вы быстро разберетесь в том, как спрятать часть кода (в том числе html, css) в отдельный файл: с использованием функции require(<имя файла>) или же импортов (import html_content from — это часть es6). Так что не стоит отсеивать React только из-за этого. Это один из лучших фреймворков для веба, если не самый лучший.
    2) Vue действительно выглядит несколько минималистично. Для меня это несколько упрощенная версия ангуляра — у них очень много общего с ангуляром. Думаю, выучив и разобравшись в ангуляре, вы, если будет необходимость, сможете быстро перейти на Vue. В ином случае, я не вижу смысла останавливаться на Vue.
    Ответ написан
    5 комментариев
  • Отложить загрузку контента из БД?

    OtshelnikFm
    @OtshelnikFm Куратор тега WordPress
    Обо мне расскажет yawncato.com
    Раньше была статья за вредительство.
    Убить бизнес - это про ваш сайт. Никто не будет 160 секунд ждать чтобы ваш сайт загрузился. 10 мегабайт ненужной информации...

    Разбивайте все на экраны. Подгружайте их в момент скролла. lazy load называется.

    Загружайте изображения того размера, что и ваш div. Но не 1 мегабайт пикча размером 2560 пикселей. Нафига она пользователю нужна пока он не нажал на нее? Используйте лайтбоксы.

    Уберите png гигантского размера (ага - рюшечка в виде планшета). Наконец-то его просто в srcset засуньте - разные размеры в зависимости от экрана. Зачем пользователю на экране 1200 пикселей он в 1800 пикселей?
    зачем на экране в 360 пикселей картинка мужика 808х600 пикселей? display: none; - ну что двойка вам за реализацию. Аналогично и слайдер display: none; а js его там переключает. Это жесть

    Откройте для себя squoosh или file optimizer - полезные штуки - планшет ваш сожмут с 817 до 671 килобайт. Но рюшки я бы отменил. Все равно на мобильном чаще заходят, а они там и не выводятся. Десктоп украшаете? а зачем мобильного юзера ими мучаете?

    Наведите порядок со шрифтами. Используйте woff2 - конверторы есть. Думаете покупателю они все нужны на лишний мегабайт? 1 текстовый шрифт и 1 иконочный шрифт. Лишнее убить.

    js - это ад. Выкидывайте кучу аналитики. Оставляйте что-то одно. Или гугл или яндекс. Там и с виджетами беда. Никто не будет вам звонить по ним - т.к. тупо сайта не дождутся загрузки.

    Если делаете пагинацию - делайте её верно: ajax-запрос. Хотя, показывает практика, мало кому интересны слайдеры и пагинация. Сделайте нормальный рубрикатор или ajax фильтр чтоб не гонять ненужные данные. А там на беке не дергайте однотипные данные из базы - есть же кеширование. не... не слышали.
    Хотя "СВЕЖИЕ ЗАЯВКИ НА ПОИСК ЗАПЧАСТЕЙ" - какую полезную инфу несет этот тяжелый блок, да еще якобы с пагинацией?

    ПОНРАВИЛСЯ СЕРВИС
    ПОИСКА АВТОЗАЧАСТЕЙ?

    Нет! потому что так не делают сайты.
    Ответ написан
    Комментировать
  • Есть ли смысл переходить на другой стек?

    1) Уходить с удаленки, которую ты смог найти на опыт джуна - это прямо мега глупо. Надо хотя бы получить 9-12 месяцев работы, тогда тебя уже начнут рассматривать, как разраба.

    А пока HR-видит, что ты через месяц слился и думает: "Да ну его нахер, то ли он конфликтный, то ли он "мамкин айтишник, который хочет 100к со старта", то ли он рукожоп"

    т.е. этот опыт лучше вообще убрать из резюме. (ну это так намек)

    2) Удаленку без опыта реальной разработки на уровне Джуна - очень сложно найти. Будь ты хоть JS, хоть PHP, хоть Java разработчик. Тут дело не в стеки.

    3) В идеале, тебе надо получить строчку в трудовую, что работал программистом условно 9 месяцев (хоть на чем) - после этого, уже и удаленку можно будет найти проще, либо уже уезжать на офер в СПБ, Москву или другой город
    Ответ написан
    Комментировать
  • Почему прямоугольник не является экземпляром класса квадрата?

    @majstar_Zubr
    C++, C#, gamedev
    Дело в том, что в объектно ориентированном программировании обобщаются не понятия, а определённый набор функций, которые совокупно описывают/осуществляют модификацию каких-то логически связанных данных.

    В реализации графического редактора действительно приходишь к выводу, что квадрат и прямоугольник, с точки зрения данных и функционала абсолютно разные - почти все функции, которые не относятся ко всем четерёхугольникам, имеют разные сигнатуры. А все потому, что у квадрата лишь одна сторона. Например, площадь - для метода рассчёта площади квадрата нужен один параметр, а для прямоугольника - два.

    С точки зрения ООП, наследование - это перенятие функциональности, но в случае с прямоугольником и квадратом перенятия функциональности нет, потому что площадь прямоугольника по одной стороне нельзя посчитать, а у квадрата нет второй стороны.

    Ромб от квадрата отличается тем, что у квадрат задаётся 1 углом, а ромб двумя.

    Эллипс от окружности тоже отличается сильно, просто окружность в графическом представлении есть частный случай определенной конфигурации данных, которые описывают эллипс. Но. Графическое представление - это уже за пределами ООП.

    ООП - инструмент для программирования в первую очередь, все сущности представляются относительно минимально необходимого обобщения поведения.

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

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

    @ProkletyiPirat
    ПМСМ авторы привели ЖУТКО НЕПРАВИЛЬНЫЙ пример ООП
    Смотрите
    1)квадрат,
    1.1)имеет переменную A="длина сторон"
    1.2)Имеет функцию площади F=(A^2)

    2)прямоугольник
    2.1)имеет переменную A="длина"
    2.2)имеет переменную B="ширина"
    2.3)Имеет функцию площади F=(A*B)

    3)четырёхугольник
    3.1)имеет переменную A="длина стороны 1"
    3.2)имеет переменную B="длина стороны 2"
    3.3)имеет переменную C="длина стороны 3"
    3.4)имеет переменную D="длина стороны 4"
    3.5)имеет угол Q="угол между сторонами 1 и 2"
    3.6)имеет угол W="угол между сторонами 2 и 3"
    3.7)имеет угол E="угол между сторонами 3 и 4"
    3.8)имеет угол R="угол между сторонами 4 и 1"
    3.9)функция высчитывания площади самопересекающегося четырёхугольника(точнее функция высчитывающая площадь с учётом того что четырёхугольник может быть самопересекающимся)

    А вот теперь ВНИМАНИЕ: В каждом из этих объектов есть что-то что не нужно(излишне) другим объектам, ПОТОМУ данные объекты(классы) не могут быть "наследуемыми" друг от друга.

    А как правильно?
    А правильно сделать "интерфейс"("интерфейс" - это название шаблона(паттерна) проектирования) под названием "объект имеющий площадь" в котором объявить функцию "получить площадь" и сделать 2\3\4\N классов которые будут наследовать данный интерфейс и реализовывать данную функцию.

    p.s.Вообще мне в понимании ООП и того "нахрена это нужно" очень сильно помогли статьи на тему паттернов проектирования, и лично я считаю что одно без другого преподавать нельзя.
    Ответ написан
    2 комментария
  • Почему в mapbox не показываются номера домов?

    freeExec
    @freeExec
    Участник OpenStreetMap
    Так отредактируйте стиль, добавив туда отображение номеров домов.
    5d35c78801960207046743.png
    Ответ написан
    Комментировать
  • Как включить видео с youtube поверх всех остальных открытых окон?

    Astrohas
    @Astrohas
    Python/Django Developer
    Поставить расширение Enhancer for Youtube https://chrome.google.com/webstore/detail/ponfpcno... .
    ИМХО расширение самое полезнейшее из всех для ютуюба, есть блокировка рекламы, скрытые аннотаций, открепление видео плеере, пауза фоновых видео при проигрывании нового, цветовые схемы для ютюба, блекджек и шлюхи. Можно грабить караваны
    Ответ написан
    Комментировать
  • Нужен ли Backend разработчику javascript?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Для начала хорошо освойте питон и джангу, потом уже можно задаваться таким вопросом, но скорее всего ответ у вас уже будет свой
    Ответ написан
    Комментировать
  • Какие темы изучить для прохождения отбора на Python?

    irestone
    @irestone
    Junior Web Developer
    Во-первых: "На все это у меня есть пару недель.(Поверьте я псих, и не такое могу)" - нет, не можешь. За пару недель можно изучить некоторые технологии, но научиться правильно думать нельзя.
    Во-вторых: "На Видеокурсы времени нет! Нужна текстовая информация!" - видео усваивается лучше. Но, в целом, нужно комбинировать все возможные ресурсы.
    В-третьих: "JavaScript (НЕНАВИЖУ)" - нет смысла ненавидеть молоток. Это очень наивная позиция. Выбери задачу и используй то, что нужно.
    В-четвертых: Объем математики определяется целью: занимаешься машинным обучением, искусственным интеллектом и прочим дата сайенс или пишешь физический движок, например, - понадобится серьезная математика. В остальных случая хватит школьного курса, и то средней школы.

    Непосредственно подготовка:
    Cracking the Coding Interview
    Elements of Programming Interviews in Python
    Из этих книг тебе станет ясно, что нужно знать, чтобы пройти собеседование на работу.

    Тренируй problem solving скилл на специальных сервисах. Популярные: https://leetcode.com, https://www.hackerrank.com, https://practice.geeksforgeeks.org
    Нужно не просто решать задачи, а учиться это делать правильно, походу изучая алгоритмы, структуры данных и анализ сложности. Грокаем алгоритмы - хороший выбор. Будет отлично, если найдешь друга, с которым можно будет тренировать witeboard'ы, когда один берет на себя роль интервьюера и задает другому задачу. Это важно. Так вы сможете разобраться, где и почему вы застреваете и научитесь правильно выстраивать мыслительный процесс при решении задач. По большому счету, это твой основной навык как программиста, именно его и будут проверять в первую очередь при собеседовании на работу. По крайней мере, должны. Если спрашивают только конкретные технологии, то тебе стоит задуматься, стоит ли у них работать. (Подсказка: нет)

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

    Изучай инструменты (языки, фреймворки и пр) под конкретную сферу. Не надо изучать все подряд, учи то, что нужно для того, чем ты хочешь заниматься, конкретный стек технологий. Помни про принцип Парето.
    Например, вот хорошие ресурсы по питону:
    https://www.amazon.com/dp/1593279280/
    https://www.amazon.com/dp/1593275994/
    https://www.youtube.com/watch?v=8DvywoWv6fI

    Наконец, ты должен понимать, что нетехнические, т.н. софт-скиллы не менее (а в случае с джуном часто более) важны. Я не зря предлагал ресурсы на английском - этот язык разработчику знать важнее, чем любой язык программирования. Не знаешь, с чего начать? Посмотри "Полиглот. Выучим английский за 16 часов!", начни пользоваться https://lingualeo.com (там есть и тренировки и курсы)

    Окружи себя инфосферой: ютуб, твиттер, телеграм и пр.
    Мне, например, нравятся эти ребята:
    https://www.youtube.com/channel/UCVbz7l0COUdLupcY4...
    https://www.youtube.com/user/HexletUniversity
    https://www.youtube.com/channel/UC4xKdmAXFh4ACyhpi...
    Они помогут тебе начать думать в правильном направлении.

    Удачи!
    Ответ написан
    3 комментария
  • Как объяснять кадровикам быстрые смены работы?

    Выходи из депрессии и иди устраивайся на работу своей мечты.
    Хватит переживать и беспокоиться из-за стечения обстоятельств, тратить на это время, нервы, здоровье. Это не ты им не подошёл как работник, а они тебе не подошли как работодатели.
    Выше голову, шире плечи, улыбка до ушей и вперёд!
    Ответ написан
    3 комментария
  • Как распознавать все существующие модели, подключённых в проект приложений и публиковать REST интерфейс для внешнего взаимодействия?

    @FulTupFul
    Всмысле
    Как распознавать все существующие модели, подключённых в проект приложений
    Через ContentType, вы можете получить все модели зарегистрированные в вашем приложении
    from django.contrib.contenttypes.models import ContentType
    queryset = ContentType.objects.all()
    for model in queryset:
        print(model.model_class())

    REST интерфейс можно написать и при помощи стандартных средств django. Отдаете ему dict, и он его сериализирует и наоборот. В чём проблема?
    https://docs.djangoproject.com/en/2.2/ref/contrib/...
    Ответ написан
    Комментировать
  • Можно ли трудоустроиться программистом в РФ без военного билета?

    Amffore
    @Amffore
    студент, учу c#
    хотелось бы узнать потребуют ли военный билет при устройстве,

    потребуют документ воинского учета, а это либо военный билет, либо приписное свидетельство.

    как к этому моменту относятся в IT

    Как и везде при официальном трудоустройстве.

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

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

    AItF4
    @AItF4
    Помог ответ? Отметь решением.
    Заменить тайтлы в записях можно помощью SQL-запроса в phpMyAdmin:
    UPDATE 'news' SET title = REPLACE ('title', 'текущее значение', 'новое значение');

    Либо поставить очень удобный для этого плагин: Better Search Replace

    А можно просто из phpMyAdmin выгрузить базу, заменить что вам нужно открыв эту базу в обыкновенном блокноте, а потом сохранить с изменениями и загрузить базу обратно.
    Ответ написан
    1 комментарий
  • Нужно ли провинциальное высшее IT образование?

    @secfall
    Я аж зарегистрировался на тостере, когда увидел этот вопрос.
    У меня тема наболевшая.
    Я за свою жизнь получил два высших образования Не для корочки, мне действительно было интересно то, что я изучал. И действительно это использовал.
    Сейчас мне 30+ и я руковожу направлением информационной безопасности в организации численностью over 1,5K человек. До этого руководил тем же самым, но в конторе поменьше. Не самые большие предприятия, но для нашей провинции весьма не плохо.
    У меня в подчинении есть вакансии, которые я не могу заполнить по году. Зарплата выше рынка, требования - адекватные. Я прошу минимум: от сетевого безопасника - знать стек TCP/IP, и хоть в первом приближении понимать - что написано в конфиге маршрутизатора. Я уж перестал спрашивать про типовые уязвимости и атаки! Глухо. Также и с теми, кто позиционируется на администрирование СЗИ. Не могут объяснить чем eToken отличается от флешки.
    Теперь к сути.
    Я собеседовал людей и с вышкой и без нее. И с сертификатами и без них. Я пытался разговорить каждого, найти область, в которой он разбирается, в которой у него горят глаза.
    Я сделал для себя вывод - если человек не осилил классическое высшее образование, он не осилит уже ничего. Да, я читал про уникальных самородков, которые обошлись без вышки. Но мне не попадались ни разу.
    Высшее образование - это не знания, нет. Это кругозор, умение учится, анализировать и думать. Но диплом, не гарантия. Если человек учился на от...сь, то он и дальше развивается также.
    Современное IT, это быстроразвивающаяся область. Учится нужно ежедневно! Свою жизнь нужно выстроить так, чтобы тратить в день не менее одного часа на учёбу. Да, даже в 30+ лет и в позиции руководителя.
    А человеков, которые верили, что обойдутся без вышки, которые нашли нишу, которая как-то кормила их до 30, а потом остались у обочины, я насмотрелся. Фу таким быть.
    Ответ написан
  • Нужно ли провинциальное высшее IT образование?

    @melang
    Автор, ты спрашиваешь у поколения (30+ лет), в котором почти все из "интеллигентных" семей получили вышку, иначе это был в то время просто неадекват. Естественно, признаваться другим и себе, что за 5 лет никаких полезных знаний не было получено, большинство не будет. Я ушла с 5 курса престижного московского вуза и очень рада, что доучилась почти до конца - теперь я наверняка знаю, что там ничему не учат и байки про "специальные предметы начнутся на старших курсах" - это байки. Вузы для программистов - это бизнес на родителях, вот и все. Аргументы любителей вузов:

    - некие большие компании, куда закрыт ход без корочки - если ты нормальный специалист, ты сам выбираешь, где тебе работать, можешь вообще делать свои продукты/плагины/игры/уроки и продавать, получая пассивный доход
    - переезд за границу - см. пункт 1, если ты нужен компании, тебя перевезут. Только часто бывает выгоднее работать по удаленке
    - знания - на деле это черчение, матан, физика, культурология, физра, экономика, экология, философия и какой-нибудь С# и SQL на уровне, который 10-летний ребенок освоит за 2 недели (без преувеличения).
    - "учит учиться" - меня скорее вуз научил пить и списывать, кстати рекомендую сдавать экзамены по билетам с микронаушником в ухе и другом на проводе, острые ощущения
    Ответ написан
    1 комментарий
  • Blueprint (flask)?

    nastya_cyxarik
    @nastya_cyxarik
    php, python dev
    1) что значит все страницы. если у Вас всего 4 екшена , то создаете главный блюпринт и в нем роутеры свои
    Делите все блюпринты. образно говоря главный блюпринт, посты, юзеры.
    Если это все страницы , то смысла особого не вижу.
    2) на 2 Вам ответили в комменте
    3) вопрос ничего не говорит, какие переменные?
    4) можно создать фалй отдельный роутер.пу и его ипортите в инит
    Ответ написан
    Комментировать