Ответы пользователя по тегу IT-образование
  • Самообразование по «Информационной безопасности» и в IT-сфере в целом (для новичка)?

    AlexZaharow
    @AlexZaharow
    Программист.
    А почему вы решили, что к ИБ у вас интерес меееедленно не угаснет?
    Вот честно - не очень понимаю людей, которые объявляют о том, что хотят чему-то научиться. Чем меньше вы будете распространяться о том, чему вы хотите научиться, тем меньше у вас будет обязательств и оправданий перед другими. Думаете, что ИБ возникла сначала, а потом под неё подтянулись знания, которые в неё сейчас входят? Не разговоры об ИБ сделают из вас инженера по ИБ, а ваши действия будут подходить или нет подходить под действия инженера по ИБ. Вот это я буду учить, т.к. это подходит под гордое звание инженер по ИБ, а вот это не буду, т.к. это не сочетается с должностью. Гыгыгы.
    Ответ написан
  • Как включить 5и летного ребёнка во весь движ технологий?

    AlexZaharow
    @AlexZaharow
    Программист.
    Читал как-то, что лучший способ попросить что-то сделать ребёнка - поиграть в беспомощность. Начните ему задавать вопросы, чтобы ему пришлось разбираться, чтобы вам объяснить.
    Ответ написан
  • Как перейти из инженера в программисты?

    AlexZaharow
    @AlexZaharow
    Программист.
    Этот вопрос задают себе и новички (какую тему выбрать для дипломного проекта) и специалисты из других областей, не связанных с программированием (например, периодически на хабре проскакивают статьи "Джун в 40 лет").

    Я немного скажу вам свой путь в этой сфере.
    1. С самого начала хотел быть программистом. Вот прям со школы, с 7-го класса. Раньше не получилось - персоналок ещё не было, поэтому начинал на терминалах. Но это не критично. Поэтому и в 30 лет, думаю, можно и не надо себе запрещать. Пластика мозга.
    2. Пробовал программировать что в голову взбредёт. Это, видимо, важный этап, когда учишься отделять мух от котлет - когда и где вообще имеет смысл применять программирование.
    3. Бесчисленное количество попыток заставить работать идею в виде программы. Иногда это не 1-2 попытки. 20, 30 и больше. Сутки, двое, неделю, чтобы заставить "это" работать. И это далеко не предел.
    4. Со временем учишься ставить себе задачу в более-менее ясном виде и на техническом языке, своего рода "техзадание", только внутреннее, когда вы самому себе по шагам расписываете решение (уверен, что этот этап вам хорошо знаком по вашей профессии).
    5. А вот теперь самое главное - работа программистом в "чистом виде" называется "кодировщик". И это вообще не интересное занятие. Даже низкоквалифицированное. Поэтому, самое интересно в программирование - личное общение с людьми других профессий. Вот представьте себе, что квалифицированный спец или даже ГИП рассказывает вам как что-то проектируется и строится! Да ни один препод в институте вам так интересно и с энтузиазмом не расскажет как идёт этот процесс. А вы слушаете, мотаете на ус и размышляете, что вы можете для этого человека сделать, чтобы автоматизировать его деятельность (п.2 и 4). Так сказать ищете своё место в этой работе. Фактически, имея одну профессию программиста можно познакомится с большим количеством разных профессий и поучаствовать в них. И на этом уровне недостатка в работе вроде как и не будет больше. Но тут надо решить для себя, что вы готовы к такой смене профессий, но к ней люди идут годами и таких людей не так уж много.

    Ну и самое неожиданное - вы себе не представляете, сколько нужных программ и утилит ещё не написано!

    Скажу вам пару секретов из опыта:

    1. Нет хорошего или плохого кода (типа "говнокод"). Если код работает и выполняет свою задачу - он хороший. Остальные идут лесом. Можно спросить коллег, чтобы они вам подсказали, как можно было бы решить задачу проще, но их советами можно игнорировать, т.к. они не живут в контексте вашей задачи и именно вы несёте ответственность, что в вашей программе окажется тот или иной кусок кода. Поэтому не вставляйте в программу код, который вы не понимаете.
    2. Как и в любой другой профессии вас будут учить только как делать правильно, но никто не будет вас учить как не надо делать (думаю, что и это вам должно быть хорошо знакомо по своей профессии). Тут только на своём опыте. И эти два понятия по времени прохождения очень сильно отличаются.
    3. Ведите журнал. Записывайте, что получилось, потом перечитывайте. Начните с простого, "написал программу Hello World на C#" и сделал это следующим образом - скрин запуска Visual Sudio, создание нового класса, указание места, куда вписал текст "Hello World". Потом через пару дней будете делать другую программу будете быстрее вспоминать как вы начинали первую программу. Лично я себе стал делать такие заметки лет 8 назад. И писать доки в своим программам. Очень помогает, когда выдёргивают из контекста на полгода, потом просят доработать.

    У меня тоже получилось несколько сумбурно, но как есть. )))

    P.S.
    программирование контроллеров для инженерных систем зданий
    - с моей точки зрения отличается от "обычного" программирования инструментами разработки и возможностями отладки и имитации тестовой среды. Поэтому с контроллерами - это лучше после некоторого опыта программирования. Хотя само программирование контроллеров может быть и проще чем обычное программирование под Windows/Linux.
    Ответ написан
  • Языки программирования, какой перспективнее?

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

    AlexZaharow
    @AlexZaharow
    Программист.
    Нужно по капле выдавливать из себя раба.
    Программирование - это образ мышления. Думать умеешь? - значит догадаешься. Вот это и есть главное правило. Приготовься к тому, что нужно будет много думать, очень много. В программировании много взаимосвязей. Нужно развить в себе навык видения конечного результата и свою роль в нем. Без этого ты не сможешь работать.
    Скажу один секрет, о котором вообще никто не пишет, но если понравится программировать, то поймёшь (не каждый секрет можно понять сразу) - обработка ошибок. Пользователь всегда ждёт, что программа предупредит его о том, что он, пользователь, делает что-то не так. Поэтому, очень много времени в программировании уходит на обработку ошибок. По моим ощущениям процентов на 90 работа программиста - обработка ошибок. А уж в сетевом программировании без этого никак.
    А так будет как везде - никто не будет тебе ничего разжёвывать, возиться как с писаной торбой и т.д. Учись решать проблему самостоятельно, веди дневник (очень рекомендую), технический, конечно, со скриншотами и описанием: проблема, скриншот, решение - скриншот + текст, скриншот, скриншот, скриншот (поищи хороший скриншотер). Периодически перечитывай записи.
    Поставь цель - каждый день узнать минимум что-то новое, что тебя удивит. Удивился - записал! День прошёл не зря. Больше одного раза удивился - супер. Опять записал. За год накопишь хорошую базу.
    Совершенствуйся в инструментах, но не зацикливайся, узнавай новинки. Возможно, что однажды сам начнёшь писать себе инструменты.
    Лично мне программирование нравится тем, что даёт возможность общаться с разными людьми разных профессий. И вместе мы делаем что-то новое. Здорово.
    Ответ написан
  • Как перерасти из кодера в программиста?

    AlexZaharow
    @AlexZaharow
    Программист.
    Пока что штудирую книги по алгоритмам, но мне этого кажется мало
    Есть ещё необъятный пласт - бизнеслогика. Там математикой не особо пахнет. Это особое колдунство.
    Ответ написан
  • Где можно практиковаться в программирование на С++ и Java?

    AlexZaharow
    @AlexZaharow
    Программист.
    Я не поклонник А. Лебедева, но иногда он говорит правильные вещи. Например, по поводу "Вышлете мне тестовое задание?" Он говорит - "а придумайте его сами!" Так и вообще с задачами. Нужно увидеть задачу. Точнее увидеть, как с помощью программирования вы можете перевести проблему из некоторого нерешённого состояния в решённое. В жизни задача никогда не скажет вам, что "вот она я, задача" и добровольно отдаст своё решение.
    Когда я занимался легкой атлетикой, то думал, что есть два состояния, одно, когда я тренируюсь, а второе, когда я выступаю. Тренер мне объяснил, что состояние только одно - тренировка. Только на соревнованиях выкладываешься больше. Это вообще изменило моё отношение к поиску задач.
    Если вы считаете, что способны решить задачу, то разве вы не способны её придумать? Каждая задача - это проверка своих возможностей, вызов. Если вы не работаете над решением задачи в таком ключе, значит вы неправильно и занимаетесь и работаете, т.к. нет развития.
    Ответ написан
  • Изучение математики через программирование, глупое решение?

    AlexZaharow
    @AlexZaharow
    Программист.
    Пока задача не решена у неё нет алгоритма решения.
    Бывает, что задача не решается. В этом случае надо доказать, что решения нет.
    Можно быть умным человеком и без знания математики.
    В фильме "Западня" главный герой сказал: "Сюрпризы бывают всегда".
    Бумага иногда помогает.
    Ответ написан
  • Тема для диплома (специалист) Компьютерные науки?

    AlexZaharow
    @AlexZaharow
    Программист.
    Быть придатком своей программы на много лет вперёд - не завидная участь. Лучше выберите проект, который можно сделать за небольшое количество времени, хоть за неделю, но тщательно его обдумайте, пока не получите четкое видение результата. (У математиков такое есть - перед решением интеграла "увидеть" ответ, а потом его проверить).
    Хорошая программа - это и хороший интерфейс, и хороший хелп, и хороший установщик, и хороший саппорт. Вряд ли от диплома требуется все это. Спрашивать у бизнеса - идея так себе, т.к. бизнесу нужны решения, а не ваш диплом и далеко не все задачи бизнеса тянут на диплом. Я на работе, например, две недели писал синхронизатор каталогов файлового сервера (несколько десятков тыщ документов и это только для одного проекта) между файловым сервером и Sharepoint. Для моей фирмы очень актуальная задача, но как дипломная работа - не очень. Утилита и только.
    Но вот на выходных попалась интересная задачка - снимать значения с бумажных графиков, номограмм (эмпирические графики). Надо снимать с них значения по заданным параметрам. Оцифровка не катит, Надо было написать графический редактор, чтобы можно было масштабировать рисунок (взял leaflet), добавил к нему редактор полилиний (leaflet.editor), чтобы обводить линии номограммы и написал небольшой матаппарат, чтобы достроить графики по промежуточным значениям (применил morphing). Получилась неплохая утилита для старых расчетных методичек, чтобы не пользоваться линейкой, когда снимаешь как и показания с заданных линий, так и с промежуточных. И снимает достаточно точно. Ну, вот такой способ втащить научные legacy данные в сегодняшний день. Ну вот такая задача вполне могла пойти за диплом или как минимум за заготовку.
    Если интересно, то могу дать список некоторых проектов на моей работе, вдруг вам ещё какая-то мысль придёт в голову, для вашего диплома.
    Ответ написан
  • Нужна ли программисту профильная математика?

    AlexZaharow
    @AlexZaharow
    Программист.
    Чем больше вы знаете, тем лучше. Как обычно, самым важным качеством программиста является поиск решения. Сначала правильного, потом оптимального. Иногда это математическое решение, иногда нет. Но если уж речь идёт об образовании, то его никогда мало не бывает. Неочевидное, нелогичное следствие - учиться надо будет всю жизнь. Эх, если бы мне об этом сказали в первом классе, я бы очень расстроился )))
    Ответ написан
  • Как вернуть "любовь" к программированию?

    AlexZaharow
    @AlexZaharow
    Программист.
    Можно попробовать что-то вообще с нуля. Мой пример: никогда не занимался музыкой, в смысле вообще. Потихоньку осваиваю музыкальную/нотную грамоту, жму на клавиши на фортепиано. Помогает отвлечься.
    Ответ написан
  • Как понять высшую математику?

    AlexZaharow
    @AlexZaharow
    Программист.
    >> ибо идет обучение туго
    Если что-то идёт туго, значит вы неправильно это применяете. Если мозг туго воспринимает объяснение, то проблема как правило не в мозге. Начните с научно-популярных статей по теме, вдохновляйтесь, анализируйте, размышляйте. Не бойтесь ошибаться. Open your mind. Расслабьтесь. )))
    Ответ написан
  • Как обучить девушку основам тестирования веб-приложений?

    AlexZaharow
    @AlexZaharow
    Программист.
    Мне кажется, что после слов
    Девушка, можно сказать, моя гражданская жена
    многие перестали читать... Вам такую информацию надо было поместить в конце. В стиле "да, вот ещё - эта девушка моя гражданская жена".
    Есть всякие исторические анекдоты на эту тему. Мне нравится следующий:
    Поклонник: Шерр Моцарт, я подумываю начать писать симфонии. Не могли бы Вы подсказать, как мне начать?
    Моцарт: Симфония – это очень сложная музыкальная форма. Начинайте с каких-нибудь простых частушек, и постепенно усложняя, двигайтесь к симфонии.
    Поклонник: Но герр Моцарт, Вы начали писать симфонии с 8 лет.
    Моцарт: Всё верно. Потому что никогда ни у кого не спрашивал, как их надо писать.


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

    AlexZaharow
    @AlexZaharow
    Программист.
    Ну, по мне так у вас нормальный старт. Знать админское ремесло для разработчика очень даже важно. Программы же приходиться разворачивать, а иногда и работать сразу в разных средах, когда программа многоуровневая, а иногда и до начала разработки желательно придумать архитектуру где всё будет работать, чтобы и себе жизнь упростить и админам сказать, как разворачивать и поддерживать. А раз уже и сборщики использовали, то вообще всё ок - идёте в правильном направлении. Сегодня сделать что-то с нуля и стать заметным почти нереально. А вот научиться интегрировать opensource и заставлять компоненты работать - тут профессионалов всегда было и будет немного.
    Ответ написан
  • Как вы храните накопленные знания?

    AlexZaharow
    @AlexZaharow
    Программист.
    zim desktop wiki: zim-wiki.org
    Уже два года пользуюсь. Архив почти на 1Gb. Отличное хранилище текста и картинок. Текст можно сделать жирным, наклонным с подчёркиванием. Картинки можно прямо из буфера обмена вставлять. Т.е. сделал скриншот и нажал Ctrl-V. Ссылки на html узнаёт и выделяет. Картинки придпочитаю делать в FastStone (лучше всех грабит по скролу), но отлично подходит и greenshot (getgreenshot.org). Между zim и скриншотером хорошо повесить хороший менеджер буфера обмена. Пользуюсь ditto (ditto-cp.sourceforge.net)
    Zim Может экспортировать текст в разные форматы, если надо (latex, md, html), хотя внутри хранит только текст + немного формата для жирности, наклонов и подчёркивания.

    Для краткости:

    zim desktop wiki: zim-wiki.org
    greenshot: getgreenshot.org
    ditto: ditto-cp.sourceforge.net
    Ответ написан