Этот образец показывает, как считать и записать строку в 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
Для программиста критически важно иметь общую картину взгляд на все аспекты разработки программного обеспечения, развертывания, среды выполнения, безопасности и защиты.
В противном случае, могут быть сделаны «невинные ошибки», которые имеют очень дорогостоящие результаты, а чистым результатом является снижение производительности (или хуже).
Достаточно знать , как все работает , чтобы удовлетворить общую картину для вашей среды , но вам не нужно знать , как заставить их работать .
Наличие дополнительных навыков всегда помогает.
Я знал очень сильных разработчиков, которые не могли подключить принтер в Windows. Что довольно забавно.
Если вы планируете заниматься сетевым программированием - выработайте привычку использовать ethereal / wirehark и смотреть на пакеты. В конце концов это окупится.
Я думаю, что чем меньше вы знаете (или дайте людям знать, что вы знаете), тем лучше. Я помню, как в одной компании люди приходили в нашу комнату за помощью с проблемами компьютера. Я всегда делал вид, что не знаю, как им помочь, но один из моих коллег всегда помогал им - они получали бесплатную ИТ-поддержку, и я думаю, что этот парень работал неправильно.
Что касается чисто административных знаний, то это так. сложный вопрос, большинство администраторов, которых я встречал, не знают, как устанавливать или настраивать серверы приложений, базы данных, LDAP. поэтому, чтобы они работали с хорошей производительностью, вам нужно дать им пошаговые инструкции, что делать. это знание действительно полезно.
Это зависит от того, в какой области вы работаете! Когда я (до недавнего времени) занимался разработкой программного обеспечения для управления кластером, очевидно, что системные администраторы и сетевые специалисты были среди моей основной «аудитории», и знание и изучение их задач было абсолютно решающим для моей производительности; Теперь, когда я занимаюсь разработкой программного обеспечения Business Intelligence, все это богатство знаний о системном администрировании (хотя, конечно, далеко не бесполезное ;-), является довольно низким приоритетом по сравнению с пониманием проблем, с которыми сталкиваются бизнес-аналитики, экономисты, специалисты по продажам / финансам / бухгалтерскому учету и лица, принимающие решения на стратегическом уровне.
Я не получаю таких вопросов. Это как «как много программист должен знать о жизни». Ответ всегда - «как можно больше».
Первый вопрос: вам нравится системное администрирование и вы хотите узнать больше? Если вам это нравится, узнайте об этом!
Если системное администрирование вызывает у вас тошноту, не делайте этого, узнайте что-нибудь еще. Вы представляете? Вы очень хорошо разбираетесь в системном администраторе, но вам это не нравится, вы пишете это в своем резюме, чтобы получить работу, где вы получите эти обязанности!
По сути, узнайте как можно больше о вещах, для которых у вас есть какая-то страсть!
Достаточно знать, что вы можете решать проблемы и выполнять свою работу по разработке программного обеспечения. Не знаю так много, чтобы люди путали вас с системным администратором и начали звонить вам по рутинным задачам по обслуживанию системы. Несколько советов о том, что вам следует знать:
Очевидно, я здесь придерживаюсь точки зрения веб-приложений. Может быть, другие могут сделать более общие предложения?
На самом деле зависит от того, на каком языке вы программируете. Раньше я много занимался c / c ++, не много админа.
Но что касается Интернета, мне кажется, что половина моей работы - это научиться быть системным администратором. Здесь можно сделать так много оптимизаций с небольшими знаниями о конфигурации системы, резервном копировании серверов и cronjobs.
Настройка нашего сервера дала больший прирост производительности, чем я когда-либо мог оптимизировать в коде. Провести день в качестве системного администратора для 100% повышения производительности всего сайта или день в качестве программиста для 100% повышения производительности одного компонента? любой программист выбрал бы роль системного администратора на тот день.
И есть автоматическое развертывание нашего сайта, настройка / миграция базы данных. Это может быть так, потому что у нас нет «настоящего системного администратора» (стартапы - выбирайте свое название!), Но я могу » Я не вижу, как я могу программировать хорошие / быстрые / надежные веб-приложения, не зная о системе, стоящей за этим.
И должен сказать, со всеми знаниями системного администратора, которые я недавно получил, я начинаю видеть новые возможности и решения, как программист. Итак, мой совет: узнайте как можно больше о системе, которая стоит за этим.