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

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    У меня есть проект на BitBucket в репозитарии закрытого типа. Написан на C++. Не заброшен. Пилятся фичи, проводятся рефакторинги. Пока все делаю в одиночку. Проект нацелен на разработку тулзы для reverse-engineering-специалистов, т.е. малварщики, антивирусные спецы, пишущие защиты ПО и снимающие эти защиты и др.

    Если интересно, то можешь найти меня на habrahabr и написать в личку
    Ответ написан
    Комментировать
  • Есть видеоуроки по с++?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Достаточно хороших и качественных уроков нет. Большинство из уроков больше учит использовать ту или иную среду разработки, чем самому языку. На мой взгляд, не следует учить этот серьезный язык программирования по видео-фрагментам и куда лучше брать книгу, а об их выборе здесь на тостере уже не мало тем! Если Вам что-то непонятно,берете диктофон(почти любой смартфон эту фичу имеет) идете к ближайшему гуру и задаете вопрос. В последствии у Вас появляется так база вопросов и ответов на них, которая нужна именно ВАМ!
    Ответ написан
    Комментировать
  • Как найти значения в огромном массиве?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    XOR - задачка тривиальная!!!
    Задам другую:
    Напишите рекурсивную функцию для вычисления факториала, которая будет вычислять результат итеративно.
    Ответ написан
  • Выбор метода обучения программированию: колледж или самообразование?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    В частности, неуспеваемости в математических дисциплинах.

    Это ты зря! В этой жизни нам дается только лишь один шанс. Ошибки вообще не правятся! Мы лишь пытаемся снизить печальные последствия их допущения. Мой Вам совет: Если Вы хотите стать программистом РАЗВИВАЙТЕСЬ МАТЕМАТИЧЕСКИ! Это ставит Ваш мозг в нужном направлении. Даже если Вам какой-нибудь дифур нафиг нигде не пригодится тем не менее это будет Вам полезно! Потому что человек досих пор не знает как работает его головной мозг. Изучая Математику Вы развиваете те отделы мозга, которые очень важны технарю.

    Вот пример задачки где-нужна математика:
    Для веб-приложения написать код получающий перестановку, которая будет использоваться для показывания банеров, каждый из которых будет показан один раз. Код должен быть написан без использования динамических структур данных и массивов!

    Решение этой задачки можно применить и для компьютерных вирусов, когда очередное число в ряде перестановки это индекс в области которую надо расшифровать. Другими словами известная технология PRIDE - pseudo random index decryption engine. При такой технологии многие движки антивирусов не могут автоматически распознать цикл расшифровки и следовательно не могут накрутить бал-подозрительности файла.

    Изучайте математику. Это важно!
    Ответ написан
    2 комментария
  • Какие могут быть практические рекомендации по переезду разработчика на постоянную работу из региона в Москву?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Тут все как в переходе на FreeBSD или Linux. Да, просто берешь и переходишь.

    Я в 2007-м переехал так из глубинки(Татарстан):
    1) На старте было 27.000 руб
    2) Нашел через интернет человека которым был нужен программист за 35. 000 руб в в то время (Декабрь 2007)
    3) По чистой случайности именно он и предложил место для жилья. За 10.000 руб. в месяц.

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

    В Москве ща можно найти, уверенно причем, 1-комн квартиру без хозяев за 25 и того с тебя будет 12.5 в месяц. Я к тому что нужно будет поискать компаньона чтобы на двоих платить! Ну на проезд в метро 1200 это 60 поездок, где-то 1.000 интернет и где-то 5-6.000 руб на покушать. И того готовь 12.5 + 1.200 + 1.000 + 6.000 руб. это из расчета на месяц, но лучше накопи 40-50 чтобы на 2 месяца уверенным быть.

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

    Да. По опыту скажу, первые 5-6 месяцев всех "понаехали" тянет обратно домой. Поэтому будь готов психологически, что придется окрепнуть морально ;)

    Также, забыл сказать, если переедешь, первое время билет не важно какой должен быть с собою. В течении 90 дней любой билет ЖД-поезда будет служить тебе временной регистрацией. Другими словами, если домой не поехал, а 90 дней проходят, иди и купи за 500-600 до какого-нибудь Владимира главное из него до Москвы, а в кассе на вопрос: "А туда как?", так и отвечай что кто-нибудь докинет, походу дела придумаешь.
    Ответ написан
  • Перспективы C++ разработчика

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Узнавайте что конкретно Вы хотите! Узнавайте это ни у кого-нибудь а задавая вопросы самому себе! Это как спросить у админа : "А стоит ли изучать security level при использовании FreeBSD?" ответ админа прост до безумия: "А почему возник такой вопрос?". Вот и Ваши про стоит или нет! Всегда нужно отталкиваться от чего-то конкретного! Некоторые думают что так они заработаю кучу бабла, а кто-то думает что он засядет и напишет лучшую программу мира и получит "перфект и уважуху", кто-то еще что-то думает. Определитесь точнее Что именно Вы хотите получить и к чему именно лежит душа?
    Ответ написан
    Комментировать
  • Какие книги читать и изучать, чтобы стать настоящим программистом, а не кодером?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    На мой взгляд Ничего специально читать не надо! Программист характеризуется не знанием большого количества технологий и языков, а умением разобраться и решить за приемлемый срок. Очень часто бизнес ставит новые задачи и на скрам-митингах идут обсуждения как бы решить очередную задачу и кому лучше поручить. Так вот, как правило кто-то справляется быстрее, а кто-то медленнее. Все дело в том, что тот кто справляется быстрее зачастую знает не больше чем второй, просто он имеет своего рода универсальный подход к решению задач. Мой Вам совет: развивайте этот самый универсальный подход. Учитесь самому Важному навыку программиста "уметь решать задачи". Разные люди по разному подходят к этому! На страницах одной из классических книг "Искуство программирования под Unix" Роб Пайк сказал про своего коллегку Кернигана "Будучи хорошим программистом я с удивлением обнаружил что очень многому научился у него! Очень часто там где казалось что без отладчика не обойтись ему удавалось выяснить причину ошибки без отладки". Это один из примеров того каким должен программер, а их этих примеров массы!
    Ответ написан
  • Научить племянника (10 лет) программированию

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Уважаемый топик-автор:
    Отстаньте от ребенка! Дайте ему возможность развиваться!!! Да, играя в игрушки, пусть и компьютерные он развивается.

    >>В своё время, мы с одноклассником самостоятельно
    У каждого свои игры! Вам вот нравится «играться» с компами, а кто-то смотрит на Вас и думает «Что этот придурковатый ботаник вообще делает?»

    Мой бывший коллега отличный программист и умеет написать статический распаковщик для почти любого современного протектора исполняемых файлов. Когда просил совета у него по какой-либо ситуации: «Ты что в игры вообще не играл? Это же...». Он достаточно увлеченный играми человек, но при этом является очень сильным системным программистом.

    Резюме: Не лишайте ребенка детства! А если хотите сделать что-то полезное для него, то лучше сводите раз в день в спортивную секцию(бокс, футбол или еще чего-нибудь).
    Ответ написан
    3 комментария
  • С чего начать?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Еще рекомендую развивать навыки решения задач. Это если абстрактно, а если предметно, то рекомендую оглядеться вокруг себя на знакомых\друзей\коллег\родственников или еще кого и увидеть того кого Вы уважаете за то что он может решить почти любую задачу.
    Дело в том, что получает очень много тот, да и живет хорошо, кто может решать задачи и решать правильно, эффективно и с меньшими потерями как финансовыми так и временными.

    Мне сложно посоветовать книгу по развитию таких навыков, но такие навыки нужно прокачивать регулярно.
    Ответ написан
    Комментировать
  • Первая книга по программированию

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    1)
    Я бы посоветовал прочитать «UNIX программное окружение» Б.Кернигана.
    Дело в том что программист в первую очередь пользователь и только потом разработчик. Если он пользуется своими инструментами эффективно, то это будет сказываться на его результатах! В данной книге показано как лучше всего использовать командную строку, а она как известно, позволяет очень много автоматизировать.
    2) После прочтения п.1. рекомендую «Искусство программирования для UNIX» Реймонда.
    В этой книге показана практическая сторона дела. Когда надо оптимизировать? Какими вопросами задаваться при выборе между текстовой и двоичной формой представления данных? Когда прятать поток ошибок от пользователя а когда нет? Если прятать, то что выводить? и много много других ответов на вопросы которые возникают очень часто!!!

    Смею заверить подходы используемые в UNIX-подобных системах можно успешно применять и в Windows. Я побольшей части сижу на Windows 7 и то чему научился из этих книг очень помогает мне сейчас!
    Ответ написан
    Комментировать
  • Как нужно обрабатывать исключения, если возникает "цепочка исключений"?

    EvilsInterrupt
    @EvilsInterrupt Автор вопроса
    System programming, Reversing Engineering, C++
    Вопрос исчерпан, по невнимательности допустил ошибку логирования в except-блоке, а объект логера при этом получен в try-блоке.
    Ответ написан
    Комментировать
  • Си в качестве «первого» языка

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Мой совет начинать в таком порядке, свою карьеру программером:

    1) Плаксин.М «Тестирование_и_отладка_программ». Начните ковыряться с существующими программами, за основу можно взять calc.exe или еще что-либо. Умение тестировать дает возможность беспощадной работы со своим собственным кодом за который вы будете в ответе перед своими коллегами. Это очень полезный навык, пусть даже в минимальном объеме но программер должен уметь тестировать!

    2) Язык С среди компьютерных языков сейчас занимает туже роль что и Английский среди человеческих. Зная С вам легче будет понять другие!

    3) Никогда не делайте ничего что лично Вам хоть как-то не интересно. Любой проект, любая задача, любое действие должно быть интересно не только поставившему вам задачу, но и лично Вам!

    4) Алгоритмы, без них никуда! Чем больше вы их знаете и умете применять на практике и давать оценку по сложности, тем лучше!

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

    6) Будьте прагматичны! Любое действие должно Вас приводить к какой-либо ранее поставленной Вами цели.

    7) Почитайте «Мифический человеко-месяц» Брукса. То что изложено в книге нужно понимать для того чтобы знать какие конкретно задачи следует выполнять, а какие нет! Умение поправить руководителя правильно и корректно, причем аргументировано дает Вам возможность принести больше в программный проект и следовательно даст Вам преимущество перед коллегами.
    Ответ написан
    1 комментарий