Ответы пользователя по тегу Программирование
  • Поиск решения задачи, не похожей на предыдущие. Есть ли идеальный алгоритм?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Обычная ситуация. 90% людей - тупые.
    Программирование - такая же профессия как и все остальные, и чтобы программировать не обязательно быть умным или пройти IQ тест на 100+. Можно просто зазубрить ключевые слова и синтаксис, и получается джун, который способен решать только то, чему его научили.
    Просто раньше в ИТ таких встречалось меньше, теперь больше.
    Почитайте статью про "функциональная безграмотность" - там неплохо описано что происходит. А возникает это, потому что очень мало людей занимаются своими детьми. Их воспитывают, что в основном выглядит как помыли-накормили-иди-играйся. А надо развивать. Чтобы мозг с детства учился решать задачи.
    Ответ написан
    Комментировать
  • Программист может быть только в одном яп профи или в нескольких?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Может в нескольких. Особенно если они в одном стеке.
    В разных стеках - если ты работаешь в определенном проекте какое-то время (пару лет), ты естественно помнишь больше нюансов одного и остальные подзабываешь.

    Многие языки требуют глубокого изучения в подходе а не синтаксисе
    Ответ написан
    3 комментария
  • Существует ли программируемая система мониторинга?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    zabbix? nagios? monit?
    Ответ написан
    3 комментария
  • UML и паттерны проектирования - это одно и то же?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Вы путаете теплое с мягким.

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

    Паттерны программирования - это архитектурное решение популярных задач, чтобы не изобретать велосипед, которое не имеет отношение к языку программирования. Просто у вас есть некая задача, вы придумаваете алгоритм, который ее решает. Паттерны позволяют вам не выдумывать алгоритм, а глянуть - вдруг подобные задачи уже до вас решали, и есть подходящие паттерны. После чего на нужном языке вы этот паттерн реализуете. А если коллектив большой, то общаясь с коллегами вы не будете им полтора часа рассказывать идею, а просто назовете имя паттерна и все кто с ними знаком вас поймут с полуслова.
    Ответ написан
    4 комментария
  • Как происходит "соединение" языков при создании игры?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Почитайте что такое API.

    Например онлайн игры - клиент написан на одном языке, а серверная часть, которая обрабатывает запросы - на другом.
    А в Counter Strike есть внутри встроенный язык, на котором можно писать плагины - аналог LUA
    А многие языки поддерживают регулярные выражения.

    В общем разные компоненты могут быть написаны на удобных языках
    Ответ написан
    Комментировать
  • Куда можно поступить учиться заочно на программиста в Украине?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Если сами знания вы уже имеете, и нужна только корочка, то в Украине я бы порекомендовал универ Шевченка и КПИ.
    Если взять зарубежный рейтинг вузов, то это единственные вузы Украины, которые там вобще в списке. Причем Шевченка - лучше чем КПИ.
    Ответ написан
    Комментировать
  • Что делает техник-программист?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    А что такое техник-программист, где вы взяли такой термин?
    Может быть спросить у тех, кто такое написал?

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Рост обычно идет так:

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

    Но нормальное становление идет так:
    Просто пишешь программы. Много. Или много мелких или одну крупную. Решаешь конкретные задачи. Написал свой калькулятор. Написал себе программу, которая выводит расписание в html, написал сайт по сбору статистики матчей в дотку и работаешь с этой статистикой чтобы прикинуть порядок сборки или еще какие-то моменты. Написал свой скрипт бэкапа важных документов. Написал свой конвертер-ресайзер фоток.
    Главное чтобы конечный результат выполнения программы был понятен лично тебе, и ты мог сам решать когда он тебя устраивает, а когда допилить.

    Между написанием программ читаешь различные книжки, и уже тогда, когда у тебя есть ПРАКТИЧЕСКИЙ опыт написания программ, ты в книжках можешь наткнуться на более удачное решение проблемы, с которой ты сталкивался и уже писал велосипед.

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

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Один из нормальных путей - дорасти до архитектора своим ходом в крупном проекте и попытаться его переделать в лучшую сторону. Хороший архитектор растет на личном опыте, а книжки помогают избегать совсем детских болезней и расширять видение.

    Хорошим архитектором невозможно стать в мелких проектах, где отлично может работать и плохая архитектура. Чем сложнее проект, тем больше необратимых или "дорогих" факапов может произойти из-за ошибок архитектора.
    Ответ написан
    Комментировать
  • Почему в VC++ криво выводится кириллица?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Исправить консоль, задать для консоли нормальные шрифты. Использовать conemu в качестве стандартной консоли.

    Проблема - с кодировкой.
    Ответ написан
    Комментировать
  • Функция в математике?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Функция - это некий алгоритм, который берет данные (аргументы) и возвращает их в обработаном виде (результаты).
    Например:
    x = 1 + y, математическая запись f x(1+y)

    В данном случае y - это данные, которые функция берет, а x = это куда она их возвращает.
    В программировании данные не могут быть невнятные, они типизированы - то есть это должно быть число, строка, массив данных или еще что. Может быть и пустой тип данных, но это уже частности.
    Ответ написан
    Комментировать
  • Есть в языке С++ средства для создания GUI?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    1. С++ кроссплатформенный язык, поэтому под разными платформами будут разные api для GUI, которые принадлежат платформе, а не С++.
    2. Чтобы работать с устройствами средствами Windows, которая предлагает свой UAC и другие средства/аттрибуты, присущие windows системе.
    3. Нет, но штатные методы подразумевают прямой доступ к устройству, а winapi - через драйвера windows.
    Ответ написан
    Комментировать
  • Стоит ли учить ассемблер для глубокого понимания архитектуры компьютера?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Учить ассемблер глубоко необязательно.
    Будет достаточно, если вы на ассемблере сможете написать Hello World, и что-нить не намного сложнее, но главное что поймете принцип работы машинного кода.

    То есть вам нужно почитать на досуге, и понять что такое инструкция, что такое регистр, что такое битность (размер инструкций), что такое такт.
    Ответ написан
    Комментировать
  • Можно ли использовать скрипты в проекте C#?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Неудачно ник себе выбрали. Даже как-то объяснять не хочется.
    Ответ написан
    1 комментарий
  • Писать ли уроки по программированию?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Если вы хотите кого-то конкретного научить, и у вас есть кандидат - делайте.
    Если нет - не делайте, потому что мне кажется вы сперва хотите сделать техническое решение (урок), что вы делать умеете. А уже затем хотите заработать (его продать), что вы не умеете. В таком ракурсе вы не сможете заработать, поскольку конкуренция высока, и если вы сможете ваших знакомых убедить, что ваши уроки классные, но выделиться на рынке - маловероятно.

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

    Вот вас спрашивают кто вы такой, известный человек, профессор и так далее, а вы рефлексуете и воспринимате вопрос в штыки, вместо того, чтобы понять смысл этого вопроса:
    >@Nominom: Nominom @Nominom
    >Какая разница? Изучающему важен товар, эффективность и отзывы о нем, а не кто его создатель.

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

    Посмотрите же на это (на бизнес) с точки зрения бизнесмена, а не технаря.
    Ответ написан
    1 комментарий
  • Как лучше организовать электронную библиотеку?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Все существующие онлайн библиотеки хранят архивы по xx книг, и базу, в которой указано имя архива и имя файла.
    Так получается и удобнее и быстрее и меньше файлов, и меньше зависимость от файловой системы.
    Ответ написан
    Комментировать
  • Нужно ли тратить кучу времени на задачу, которую знаешь как можно решить, но не до конца получается самому реализовать решение?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Сохраняй написанные тобой скриптики в какую-то папку.
    И подсматривай в них, если нужно написать банальные циклы.
    Иногда можно найти новый алгоритм в инете и сравнить у тебя так же или что-то новое.

    А на самом деле, 2 месяца - ОЧЕНЬ МАЛО. Копи опыт и примеры своих рабочих скриптов. Каждый программист юзает свои шпаргалки
    Ответ написан
    Комментировать
  • Что должен знать junior С#?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Зайти на сайты IT контор, почитать требования к джуниорам на C#
    Ответ написан
    Комментировать
  • Как объяснить девушке что такое "некрасивый" код?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Если некрасивый код не видять говнокодеры программисты, то почему вы считаете, что его сможет увидеть девочка, которая вообще не программист?
    Красивый код - это понимание нюансов программирования. Вполне возможно, что вы найдете парочку примернов достаточно наглядных, чтобы продемонстрировать разницу, потратив полчаса на пояснение. Но научить видеть - не выйдет.
    Ответ написан
    1 комментарий
  • Поиск текста в кавычках?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    replace(/(['"])[^'"]*\1/g,'<span class="r">\'$1\'</span>')
    replace(/('|")[^'"]*\1/g,'<span class="r">\'$1\'</span>')


    чтобы обратиться к \1, его нужно оформить группировкой.
    Можно было оставить (["']) или упростить до ("|')
    Ответ написан
    Комментировать