Контакты

Достижения

Все достижения (1)

Наибольший вклад в теги

Все теги (18)

Лучшие ответы пользователя

Все ответы (23)
  • Какие хорошие книги вы знаете по системному мышлению (на русском)?

    @thenno
    Проектирую, разрабатываю, преподаю.
    Самое лучшее, что я видел на русском о мышлении - это книги по ТРИЗ от Альтшуллера. Сами книги легко гуглятся.
    Ответ написан
  • Как IT компании обеспечивают сохранность исходников от кражи?

    @thenno
    Проектирую, разрабатываю, преподаю.
    Я думаю, что защита есть только для некоторых ключевых компонентов.

    В большинстве случаев утечка исходников - это не так страшно, как кажется на первый взгляд. Помимо исходников компания обладает:
    1. Необходимой инфраструктурой. Сюда входит не только железо, но и экосистема ПО. Обычно разные сервисы крупных компаний взаимодействуют друг с другом и, как следствие, тесно связаны. Например, система авторизации, поиск, платформа для высокопроизводительных вычислений, платформа для хранения данных. Просто так взять и развернуть готовый отдельно взятый продукт у себя вряд ли получится.
    2. Разработчиками, знакомыми с кодом (я не представляю, сколько нужно потратить ресурсов на анализ исходников той же гуглопочты). В то время, пока конкуренты будут анализировать исходный код, компания-собственник уже реализует множество новых фич.

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

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

    @thenno
    Проектирую, разрабатываю, преподаю.
    Как же умиляют эти вопросы "за сколько можно выучить N с нуля". При этом, конечно, никто и не подозревает, что за тем же JavaScript'ом стоит не только синтаксис, но и системы сборки, шаблонизаторы, банальный HTML, без знания которого во фронтенде делать нечего (за очень редким исключением).

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

    А если с программированием человек вообще не знаком - то после краткого знакомства с языком ему предстоит открыть для себя чудесный мир алгоритмов и структур данных (и не нужно говорить, что это все не нужно фронтендеру - мне, как бэкендеру, уже доводилось видеть примеры оптимизации фронтендерских поделий путем замены структур данных и правкой алгоритма), работы процессора и памяти, сетевых протоколов (хотя бы HTTP и HTTPS), методологий разработки, принципов проектирования API (чтобы помочь бэкэнду это API создать) и прочих лучших практик. И это помимо освоения систем контроля версий и всего того, без чего современный разработчик может восприниматься окружающими только как древнее необразованное быдло.

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

    @thenno
    Проектирую, разрабатываю, преподаю.
    На самом деле, правильнее переключать раскладку в самом emacs'е через C-\ и не городить костыли:)
    Ответ написан
  • COMMON LISP как первый язык программирования. Плюсы и минусы?

    @thenno
    Проектирую, разрабатываю, преподаю.
    COMMON LISP как первый язык - это хардкорно. Нужно понимать, что Лисп - это не совсем обычный язык программирования - он чрезвычайно мощен и выразителен, но новичок вряд ли сможет это оценить и понять. К тому же, именно стандарт CL для изучения не прост, да и я бы не сказал, что начав писать на CL можно сразу найти хорошие библиотеки на все случаи жизни.

    Лучше всего начать в Python - довольно простой язык, огромное сообщество, множество готовых библиотек и фреймворков. Не стоит недооценивать эти три фактора при выборе первого языка - очень неприятно бросить все, потому что-то не понимаешь какие-то идеи, на которых язык основан, при этом нет сообщества, которое готово помочь и ответить на вопросы, а писать свои первые проекты намного приятнее, когда не нужно разрабатывать с нуля нужные, но нетривиальные в реализации вещи (обработку http-запросов, создание GUI и ORM для базы данных).

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

    Потом, если очень хочется работать именно с лиспами - лучше всего начать с SICP и Sheme, а потом уже посмотреть в сторону современного диалекта лиспа - Clojure (Clojure я бы новичку сразу точно не посоветовал, ибо она заточена на разработку многопоточных приложений, что само по себе является достаточно сложной и обширной темой).
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (1)