• Расширение кругозора, или что изучать java junior разработчику?

    abs0lut
    @abs0lut
    1) Java
    Думаю, никогда нельзя знать всех тонкостей языка и платформы, но к этому нужно стремиться.
    Если не прочитали базовую литературу, наверстывайте. Если прочитали - повторите:
    • "Thinking in Java"
    • "Effective Java"
    • "Core Java"
    • "Java Concurrency"
    2) Spring
    "Spring in Action"
    Что то, кроме этой книги не могу советовать - про Spring книг достаточно, но о качестве судить сложно.

    3)CS
    • SICP
    • Архитектура корпоративных программных приложений
    • Совершенный код
    • Чистый код
    • Алгоритмы. Построение и анализ
    • Объектно-ориентированный анализ и проектирование с примерами приложений
    • Приемы ООП Паттерны проектирования
    • Рефакторинг. Улучшение существующего кода
    • Современные операционные системы
    • Компьютерные сети
    Ответ написан
    2 комментария
  • Как самому доучить математику?

    Keyten
    @Keyten
    Серьёзная математика разделяется на много областей, тут, наверное, имеют смысл только:
    - Алгебра.
    - Анализ.
    - Геометрия.
    - Дискретная.
    - Возможно, логика, но это больше в плане подготовки к 1 курсу.

    По алгебре стоит почитать Шеня и Гельфанда (гуглится). Там очень много, от сложения столбиком и до p-адических чисел. Это школьный уровень, дальше -- если хочешь круто знать математику, то Винберг, если освоить линейную алгебру универа -- Ильин-Позняк (профи-математики плюются, правда)), mathprofi, можно Беклемишева, но он нечитаем, имхо. Гайд по решению простейших задач линала универа -- Просветов.
    Анализ... тут, наверное, порекомендую просто почитать mathprofi.ru для начала. Стандартно анализ в школе состоит из производной и интеграла на начальном уровне, имхо, имеет смысл учить сразу на более высоком уровне, так что сначала mathprofi, чтобы разобраться в основных определениях, дальше Зорича. Можно полистать Фихтенгольца. Дальше Лорана Шварца и лекции Львовского, но это реально очень высокий уровень.
    По геометрии совет мне дать сложно. Впрочем, если говорить не о школьной, а о высшей, то Прасолова-Тихомирова "Геометрия". Дальше была какая-то отдельная геометрия Прасолова, может, даже "Сферическая геометрия", но не уверен. "Geometries" Сосинского, но это на английском. Ну и мне на мой скромный взгляд понравилось у Берже, но это очень-очень серьёзный уровень.
    Дискретку, наверное, Хаггарти "Дискретная математика для программистов", можно ещё Новикова. Но тут у меня опыта меньше в знании книг :с
    Логика -- Шень, Верещагин.
    Общематематическое: Курант, Роббинс.

    Можешь порешать листки 57 школы: www.mccme.ru/~merzon/v14 , такой уровень в редком вузе есть.
    Если в Москве, то забегай в НМУ (гуглится) на следующий год, если нет -- vk.com/clubium, посмотри лекции. НМУ действительно очень серьёзно апает математический уровень.

    Если есть задача сдать ЕГЭ, то reshuege.ru

    P.S. познакомился с "Mathematics for Computer Science" от MIT, очень понравилось, если английский не пугает, то очень советую. Гуглится.
    Ответ написан
    2 комментария
  • Что нужно знать, чтобы стать хакером?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    Ей, хе хей!

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

    Хакер - это не тот, кто взламывает, ломает. Ближе всего, конечно, определение, как хулиган. Но тоже не совсем верное. Это скорее безбашенный человек, который не знает слова "невозможно" и пытается докопаться до порой недокапываемого. Но к тому же, он весьма просвещён в области Computer Science (понимает, когда есть смысл, а когда нет смысла вскрывать RSA и подобное). К тому же он далеко не профан в схемотехнике: паяльник держит ровно, мозг может выдать схемку, а руки всё ровно сотворить.

    В общем хакер - это тот парень, кто без ума от компьютерной техники. Конечно, в современном мире это слово искажено, не без успеха небезызвестного Кевина Митника (можете почитать "Искусство обмана" с комментариями Митника).

    Теперь о том, что собственно хакеры делают. Они исследуют. Исследуют новое и, возможно, не очень важное. Но весьма и весьма интересное. Если Вам не интересно, почему виртуалиция кода очень крута и зачем в Windows до сих пор литеральное монтирование дисков, то возможно стезя хакера не Ваша. Научиться этому всему можно, но вряд ли Вам это будет интересно.

    Многие мои знакомые узнавали об устройстве компьютера едва ли не сами, методом проб и ошибок. Запомните это: на границе исследованного этот метод, пожалуй, единственный. Больше ничего нет просто потому что никто ничего не продумал.

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

    Кевин Митник - хакер информационной безопасности
    Джон Кармак - хакер трёхмерной графики
    Джулиан Ассанж - хакер информационной безопасности
    Линус Торвальдс - хакер just for fun'а

    Есть ещё много реально крутых хакеров. Если Ваш путь - информационная безопасность, то вот небольшой roadway: в первую очередь следует изучить теорию чисел, разобраться в криптографии, потом разобраться в сетевых технологиях (здесь очень много всего: от iptables до сетевых интерфейсов как в софте, так и в железе), наконец потом немного драйверов, userland'а и kerneland'а: как работает ОС, где слабые места. В перерывах кормим себя web'ом: apache, ngix и прочая сетевая утварь; также изучаем багрепорты и те дыры, которые уже были найдены когда-то, пытаемся найти и то, как они были найдены, в каких обстоятельствах.

    Проникаемся всей этой атмосферой. Порой вытворяем безумное. Нет, не пытаясь получить премию Дарвина, скорее пытаемся решить задачу тысячелетия и/или взломать пентагон.
    Ответ написан
    3 комментария