Сколько программист должен знать о системном администраторе?

Этот образец показывает, как считать и записать строку в MemoryStream.

<час>
Imports System.IO

Module Module1
  Sub Main()
    ' We don't need to dispose any of the MemoryStream 
    ' because it is a managed object. However, just for 
    ' good practice, we'll close the MemoryStream.
    Using ms As New MemoryStream
      Dim sw As New StreamWriter(ms)
      sw.WriteLine("Hello World")
      ' The string is currently stored in the 
      ' StreamWriters buffer. Flushing the stream will 
      ' force the string into the MemoryStream.
      sw.Flush()
      ' If we dispose the StreamWriter now, it will close 
      ' the BaseStream (which is our MemoryStream) which 
      ' will prevent us from reading from our MemoryStream
      'sw.Dispose()

      ' The StreamReader will read from the current 
      ' position of the MemoryStream which is currently 
      ' set at the end of the string we just wrote to it. 
      ' We need to set the position to 0 in order to read 
      ' from the beginning.
      ms.Position = 0
      Dim sr As New StreamReader(ms)
      Dim myStr = sr.ReadToEnd()
      Console.WriteLine(myStr)

      ' We can dispose our StreamWriter and StreamReader 
      ' now, though this isn't necessary (they don't hold 
      ' any resources open on their own).
      sw.Dispose()
      sr.Dispose()
    End Using

    Console.WriteLine("Press any key to continue.")
    Console.ReadKey()
  End Sub
End Module
8
задан Graviton 30 December 2016 в 00:58
поделиться

7 ответов

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

В противном случае, могут быть сделаны «невинные ошибки», которые имеют очень дорогостоящие результаты, а чистым результатом является снижение производительности (или хуже).

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

6
ответ дан 5 December 2019 в 11:26
поделиться

Наличие дополнительных навыков всегда помогает.

Я знал очень сильных разработчиков, которые не могли подключить принтер в Windows. Что довольно забавно.

Если вы планируете заниматься сетевым программированием - выработайте привычку использовать ethereal / wirehark и смотреть на пакеты. В конце концов это окупится.

2
ответ дан 5 December 2019 в 11:26
поделиться

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

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

1
ответ дан 5 December 2019 в 11:26
поделиться

Это зависит от того, в какой области вы работаете! Когда я (до недавнего времени) занимался разработкой программного обеспечения для управления кластером, очевидно, что системные администраторы и сетевые специалисты были среди моей основной «аудитории», и знание и изучение их задач было абсолютно решающим для моей производительности; Теперь, когда я занимаюсь разработкой программного обеспечения Business Intelligence, все это богатство знаний о системном администрировании (хотя, конечно, далеко не бесполезное ;-), является довольно низким приоритетом по сравнению с пониманием проблем, с которыми сталкиваются бизнес-аналитики, экономисты, специалисты по продажам / финансам / бухгалтерскому учету и лица, принимающие решения на стратегическом уровне.

2
ответ дан 5 December 2019 в 11:26
поделиться

Я не получаю таких вопросов. Это как «как много программист должен знать о жизни». Ответ всегда - «как можно больше».

Первый вопрос: вам нравится системное администрирование и вы хотите узнать больше? Если вам это нравится, узнайте об этом!

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

По сути, узнайте как можно больше о вещах, для которых у вас есть какая-то страсть!

1
ответ дан 5 December 2019 в 11:26
поделиться

Достаточно знать, что вы можете решать проблемы и выполнять свою работу по разработке программного обеспечения. Не знаю так много, чтобы люди путали вас с системным администратором и начали звонить вам по рутинным задачам по обслуживанию системы. Несколько советов о том, что вам следует знать:

  • Как войти в систему развертывания
  • Журналы доступа
  • Установить / перезапустить приложение в системе развертывания
  • Понять топологию производственного развертывания и уметь устанавливать приблизительное значение на вашей машине (ах) разработки
  • Установите и разверните вашу базу данных и другие службы инфраструктуры (например, JMS), а также выполните базовый мониторинг и устранение неполадок

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

2
ответ дан 5 December 2019 в 11:26
поделиться

На самом деле зависит от того, на каком языке вы программируете. Раньше я много занимался c / c ++, не много админа.

Но что касается Интернета, мне кажется, что половина моей работы - это научиться быть системным администратором. Здесь можно сделать так много оптимизаций с небольшими знаниями о конфигурации системы, резервном копировании серверов и cronjobs.

Настройка нашего сервера дала больший прирост производительности, чем я когда-либо мог оптимизировать в коде. Провести день в качестве системного администратора для 100% повышения производительности всего сайта или день в качестве программиста для 100% повышения производительности одного компонента? любой программист выбрал бы роль системного администратора на тот день.

И есть автоматическое развертывание нашего сайта, настройка / миграция базы данных. Это может быть так, потому что у нас нет «настоящего системного администратора» (стартапы - выбирайте свое название!), Но я могу » Я не вижу, как я могу программировать хорошие / быстрые / надежные веб-приложения, не зная о системе, стоящей за этим.

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

1
ответ дан 5 December 2019 в 11:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: