Путь разработчика    

Что такое скрипт Bash?

Содержание

Подумайте о сценарии для пьесы или фильма или телешоу. Сценарий рассказывает актерам, что они должны сказать и делать. Скрипт для компьютера сообщает компьютеру, что он должен делать или сказать. В контексте сценариев Bash мы сообщаем оболочке Bash, что она должна делать.

Сценарий Bash - это простой текстовый файл, содержащий ряд команд. Эти команды представляют собой смесь команд, которые мы обычно будем вводить в командной строке (например, ls или cp ) и команды, которые мы могли бы вводить в командной строке, но обычно не могли (вы обнаружите их на следующих нескольких страницах ). Важно помнить, однако, что:

Все, что вы можете запускать нормально в командной строке, можно поместить в скрипт, и он будет делать то же самое. Точно так же все, что вы можете поместить в скрипт, также можно запустить в командной строке, и оно будет делать то же самое.

Вам ничего не нужно менять. Просто введите команды, как обычно, и они будут вести себя так, как обычно. Просто вместо того, чтобы вводить их в командной строке, мы теперь вводим их в текстовый файл. В этом смысле, если вы знаете, как делать вещи в командной строке, вы уже знаете справедливый бит с точки зрения сценариев Bash.

Согласие давать файлы, которые являются сценариями Bash, расширением .sh (например, myscript.sh). Как вам было бы известно (и если вам, возможно, не стоит рассматривать обзор нашего учебника по Linux ), Linux - это система без расширения, поэтому для работы сценария необязательно иметь эту характеристику.

Как они работают?

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

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

По сути, процесс - это исполняемый экземпляр программы.

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

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

Как мы их запускаем?

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

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

Вот содержание myscript.sh

Shell

Давайте разберем это:

  • Строка 1 - это то, что называется shebang . См. Ниже, что это.
  • Строка 2 - это комментарий. Ничего после # не выполняется. Это только для нашей справки.
  • Строка 4 - это эхо-команда, которая выводит сообщение на экран. Вы можете ввести эту команду самостоятельно в командной строке, и она будет вести себя точно так же.
  • Подсветка синтаксиса предназначена только для упрощения чтения и не требуется делать что-то в ваших собственных файлах (помните, что это просто текстовые файлы).

Почему ./

Возможно, вы заметили, что когда мы запускаем обычную команду (например, ls ), мы просто вводим ее имя, но при запуске сценария выше я помещаю a ./ перед ним. Когда вы просто вводите имя в командной строке, Bash пытается найти его в серии каталогов, хранящихся в переменной с именем . Мы можем увидеть текущее значение этой переменной с помощью команды echo (вы узнаете больше об переменных в следующем разделе).

Каталоги разделяются символом " : "

Bash только просматривает эти конкретные каталоги и не рассматривает вспомогательные каталоги или ваш текущий каталог. Он будет просматривать эти каталоги в порядке и выполнять первый экземпляр программы или скрипта, который он находит.

Переменная - это индивидуальная пользовательская переменная, поэтому каждый пользователь в системе может настроить ее на соответствие.

Это делается по нескольким причинам.

  • Это позволяет нам иметь несколько различных версий установленной программы. Мы можем контролировать, какой из них выполняется, основываясь на том, где он находится в нашей .
  • Это позволяет для удобства. Как вы видели выше, первый каталог для меня - это каталог bin в моем домашнем каталоге. Это позволяет мне создавать свои собственные скрипты и программы, и я могу использовать их независимо от того, где я нахожусь в системе, просто набрав их имя. Я мог бы даже создать сценарий с тем же именем, что и программа (для работы в качестве обертки), если бы я хотел немного по-другому.
  • Это повышает безопасность. Например, злоумышленник может создать скрипт ls, который фактически удаляет все в вашем домашнем каталоге. Вы не захотите случайно запустить этот скрипт. Но пока это не в вашей , этого не произойдет.

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

Shebang(#!)

#!/bin/bash

Это первая строка сценария выше. Символьная последовательность символов хеш-символа (#!) Называется Shebang. После этого это путь к интерпретатору (или программе), который должен использоваться для запуска (или интерпретации) остальных строк в текстовом файле. (Для сценариев Bash это будет путь к Bash, но есть много других типов скриптов, и каждый из них имеет свой собственный интерпретатор.)

Здесь важно форматирование. Шейнг должен находиться в самой первой строке файла (строка 2 не будет выполняться, даже если первая строка пуста). Также не должно быть пробелов перед символом # или между ними и путь к интерпретатору.

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

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

Вы также можете запустить Bash, передавая скрипт в качестве аргумента.

Хотя это и безопасно, это также требует ненужного ввода при каждом запуске скрипта.

Учитывая вышеизложенные наблюдения, лучше всегда включать shebang ( #! ). Это самый надежный и удобный подход.

Форматирование

Как мы видели выше, форматирование для shebang было важно (т.е. не было пробелов, должно быть на первой линии). В сценариях Bash есть много областей, где важно форматирование. Обычно это подразумевает пробелы, и наличие или отсутствие пробела может быть разницей между командой, работающей или нет. Я укажу на них, когда мы встретим их. Также получайте привычку помнить о наличии или отсутствии пробелов при просмотре кода.

Основной причиной этого является то, что Bash изначально был разработан как интерфейс для пользователей, взаимодействующих с системой, а затем расширенный, чтобы иметь более мощные возможности сценариев. Многие решения, касающиеся его поведения, были сделаны с учетом только потребностей пользователя, а затем в этих решениях пришлось работать над сценариями. Люди обычно не возражают против этого, так как сценарии Bash по-прежнему являются прекрасным инструментом для быстрого и простого присоединения существующих программ к более мощным решениям.

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

Отступом кода является еще одна область форматирования, которая важна. Мы рассмотрим отступ кода в разделе 5 ( If Statement ), когда это станет актуальным. Отступы не требуются, но это делает ваш код более легким для чтения и затрудняет выполнение простых ошибок.

Часть 2. Переменные в Bash

Источник: https://ryanstutorials.net/bash-scripting-tutorial/bash-script.php



Отзывы (через Facebook):

Оставить отзыв с помощью аккаунта FaceBook:

Используйте tristate CheckBox в C#

Обычно CheckBox проверяется или не проверяется. Вы можете поймать обработчик события CheckedChanged, чтобы узнать, когда значение элемента управления было...

21 10 2020 4:31:36

Область из непрозрачных пикселей в C#

Пример Создание профилей PictureBoxes в C# устанавливает Region из двух элементов управления PictureBox для круговых областей. Это хорошо работает в этом п...

20 10 2020 4:32:19

Функции в Bash

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

19 10 2020 6:27:17

Как преобразовать TimeStamp в Date в Java?

API JDBC использует отдельный класс Date, Time и Timestamp для подтверждения типа данных DATE, TIME и DATETIME из базы данных, но большая часть объектно-ор...

18 10 2020 4:36:33

Печать в полном масштабе на C#

В этом примере показано, как вы можете печатать в полном масштабе, поэтому объекты, нарисованные на экране, имеют одинаковый размер при печати. Обратите вн...

17 10 2020 23:37:42

Как вычислить и выделить значения DataGridView в C#

В этом примере показано, как вычислять и выделять значения DataGridView во время выполнения. Он использует следующий код для инициализации элемента управле...

16 10 2020 6:34:48

Как найти число вхождения символа в строке

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

15 10 2020 21:42:18

Создание и отображение HTML в C#

Этот пример фактически выполняет две вещи: он делает элемент управления WebBrowser перемещаться по домашней странице пользователя и показывает, как создава...

14 10 2020 10:42:32

C# 4.0 Полное руководство (Герберт Шилдт)

В книге "C# 4.0 Полное руководство" Г. Шилдта по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все осно...

13 10 2020 16:46:48

Исключения в Java

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

12 10 2020 1:59:17

Рекурсивно решить проблему Башни Ханоя в C#

Пример Рекурсивно рисуем двоичное дерево в C# использует рекурсию для рисования ветвей дерева. Хороших примеров рекурсии трудно найти, потому что человечес...

11 10 2020 15:19:32

Метод «bind» в JavaScript?

Метод bind() сохраняет контекст «this» и текущих параметров для будущего выполнения. Как правило, он используется для сохранения контекста выполнения для ф...

10 10 2020 9:50:32

Что такое объектная модель браузера в JavaScript

Модель объекта браузера (BOM) - это соглашение, специфичное для браузера, относящееся ко всем объектам, открываемым веб-браузером. Когда браузер анализируе...

09 10 2020 2:55:42

Простой регистратор событий в C#

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

08 10 2020 15:47:53

Как записать write() в файл Python

После изучения того, как открыть и закрыть файл в Python , откройте файл, тогда мы напишем в него случайный текст с помощью метода write() . Чтобы записать...

07 10 2020 13:19:20

Операции Java ArrayList

Программирование Java для начинающих... ArrayList - одна из самых гибких структур данных из коллекций Java. Arraylist - это класс, который реализует интерф...

06 10 2020 13:57:56

Самоучитель C++ (Г. Шилдт)

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

05 10 2020 2:41:33

Eclipse

Eclipse — бесплатная IDE модульных кроссплатформенных приложений. В первую очередь служит для разработки расширений, в чем и заключается главное её преимущ...

04 10 2020 11:19:19

Отображение пользовательских цветов в диалоговом окне выбора цвета в C#

В диалоговом окне выбора цвета можно отображать пользовательские цвета в 16-ю блоках в левом нижнем углу (см. рисунок). Ваш код может инициализировать эти...

03 10 2020 7:53:16

Завершение работы Windows, перезагрузка, выход из системы, блокировка, спящий режим и спящий режим на C#

В этом примере показано, как программа C# может отключить Windows, перезагрузить, заблокировать, выйти из системы или спящий режим. Некоторые из этих опера...

02 10 2020 23:53:44

Какова цель сериализации / десериализации в Java?

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

01 10 2020 14:31:47

Данные графика со стандартными диапазонами отклонения в C#

Примеры Нарисуйте нормальную кривую распределения в C# и Нарисуйте масштабированное нормальное распределение на C# , покажите один подход для визуализации...

30 09 2020 20:52:21

Обучение мобильной разработке на Delphi (В. Леонов)

Основной целью данной книги является наглядная демонстрация приёмов создания программ в одной из самых популярных и доступных сред разработки Delphi/C++Bui...

29 09 2020 6:11:57

Список языков, которые вы можете компилировать во время выполнения в C#

Пример Запуск введенного пользователем кода в C# показывает как позволить пользователю вводить код C#, компилировать во время выполнения и выполнять резуль...

28 09 2020 22:11:14

Delphi 6. Учебный курс (В. В. Фаронов)

В книге "Delphi 6. Учебный курс" даются начальные сведения по системе программирования Delphi, разработанной американской корпорацией Borland International...

27 09 2020 14:19:16

Метод Substring() в Java

Подстрока является частью строки. Метод String substring() Java String возвращает новый строковый объект из данной строки. Синтаксис String str = "Java Str...

26 09 2020 14:34:36

Печать в полном масштабе на C#

В этом примере показано, как вы можете печатать в полном масштабе, поэтому объекты, нарисованные на экране, имеют одинаковый размер при печати. Обратите вн...

25 09 2020 9:55:33

Добавьте экран UAC для управления в C#

В Windows Vista и более поздних версиях Windows вы должны добавить экран UAC (контроль доступа пользователя) к кнопкам, запускающим процессы, требующие пов...

24 09 2020 12:55:30

Как генерировать случайные целые числа в определенном диапазоне в Java

В Java 1.7 или более поздней версии стандартный способ сделать это выглядит следующим образом: min: минимальное значение max: максимальное значение Пример...

23 09 2020 6:18:37

Выполнение нескольких действий по умолчанию в C#

Иногда (но не часто!) полезно, чтобы форма выполняла несколько действий по умолчанию в зависимости от той части формы, которую использует пользователь. В э...

22 09 2020 3:12:19

Итерации над элементами массивов и списков в C#

Вы можете использовать цикл foreach для перебора элементов массивов, списков, коллекций и других объектов с методом GetEnumerator. Этот цикл часто больше п...

21 09 2020 11:56:45

Разработка веб-приложений с помощью PHP и MySQL (Люк Веллинг, Лора Томсон)

Эта книга предназначена для тех, кто уже знаком, по крайней мере, с основами HTML и ранее разрабатывал программы на современных языках программирования, но...

20 09 2020 17:38:31

Qt 5.3. Профессиональное программирование на C++ (Шлее М.)

  Книга посвящена разработке приложений для Windows, Mac OS X и Linux с использованием библиотеки Qt версии 5.3. Подробно рассмотрены возможности, предостав...

19 09 2020 10:31:43

Как аннотации работают на Java?

Аннотации Java используются для предоставления метаданных для Java-кода, хотя они не являются частью самой программы. Метаданные - это данные о данных. Так...

18 09 2020 0:57:59

Что такое компилятор Just-In-Time (JIT) в Java?

Компилятор Just-In-Time (JIT) является компонентом JRE (Java Runtime Environment), который повышает производительность приложений Java во время выполнения....

17 09 2020 16:43:56

Сделайте CAPTCHA изображения с перекрывающимися символами в C#

Следующий MakeCaptchaImage2 метод создает Bitmap, содержащий изображение CAPTCHA. Источник: http://csharphelper.com/blog/2015/01/make-captcha-images-with-o...

16 09 2020 19:36:59

Что такое сборщик мусора в Java?

Для многих программистов управление памятью Java является одной из наиболее привлекательных функций, потому что Java-программисту никогда не приходится име...

15 09 2020 10:11:12

Как удалить часть изображения в C#

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

14 09 2020 22:56:19

Как использовать FTP в Python

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

13 09 2020 20:16:41

Изучаем HTML, XHTML и CSS (Эрик Фримен, Элизабет Робсон)

Устали от чтения книг по HTML, которые понятны только специалистам в этой области? Тогда самое время взять в руки новое издание " Изучаем HTML, XHTML и CSS....

12 09 2020 23:50:19

Разница между system.gc() и runtime.gc() в Java

Типичный алгоритм сбора мусора (GC) в Java идентифицирует мусор, перемещая все ненужные объекты в куче и предполагая, что любой объект, который не был посе...

11 09 2020 21:42:53

Выполнить анимацию свойств Windows Forms в C#

Изменение свойств элемента управления со временем называется анимацией свойств. Отслеживание того, где свойства элемента управления, например, его положени...

10 09 2020 10:58:16

Сделать свойство индексатора по умолчанию для класса в C#

Классы, такие как Dictionary и List предоставляют свойство индексатора по умолчанию, которое позволяет вам получать доступ к значениям, используя синтаксис...

09 09 2020 22:29:27

Сравнение скорости арифметических операций в C#

В этом примере сравниваются скорости арифметических операций с разными типами данных. Существует большая разница между скоростями операций с использованием...

08 09 2020 20:38:48

List (список) в Python

List ( Список) в Python - один из наиболее часто используемых и очень универсальных типов данных, используемых в Python. Списки являются объектами и содержа...

07 09 2020 0:40:41

Класс Java Scanner

Класс Java Scanner - это класс в пакете Java.util, который позволяет пользователю считывать значения различных типов. Это простой текстовый сканер, который...

06 09 2020 23:48:51

Как создать форматированный XML-документ в памяти в C#

В этом примере используется XmlTextWriter для создания форматированного XML-документа в памяти и отображения его в текстовом поле. Когда вы нажимаете кнопк...

05 09 2020 20:50:31

Delphi в примерах, играх и программах (Валерий Рубанцев)

В январе 2011 года в питерском издательстве Наука и техника вышла книга Валерия Рубанцева "Delphi в примерах, играх и программах". К сожалению, в ней не на...

04 09 2020 17:48:56

Нарисуйте текст на кривой в C#

Пример Нарисуйте текст в сегменте линии в C# показывает, как рисовать текст, следующий за сегментом линии. В этом примере этот код используется для рисован...

03 09 2020 18:33:27

Стоимость автомобиля, включая долгосрочный пробег в C#

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

02 09 2020 0:43:40

Метод Replace() в Java

Метод Java String replace() заменяет все существующие вхождения символа в String другим символом. Синтаксис Замена последовательностей символов Метод Java...

01 09 2020 2:26:51

Перезапустите диспетчер очереди печати в C#

Время от времени мой компьютер запутывается и думает, что принтер отключен. Это не так уж плохо, за исключением того, что Windows не предоставляет простой...

31 08 2020 0:38:14

Delphi 6. Учебный курс (В. В. Фаронов)

В книге "Delphi 6. Учебный курс" даются начальные сведения по системе программирования Delphi, разработанной американской корпорацией Borland International...

30 08 2020 7:14:39

Сделайте мигающую метку в WPF и C#

В Windows Forms тривиально сделать мигающую метку. Что касается большинства других задач, WPF делает это намного сложнее, но дает вам дополнительную гибкос...

29 08 2020 17:11:15

Ассемблер на примерах. Базовый курс (Рудольф Марек)

Эта книга рассказывает о двух основных режимах работы процессора, которые обязан знать каждый профессионал программирования. Тут будет описываться работа и...

28 08 2020 7:47:17

Методы расширения для генерации случайных чисел двойной дочности в C#

В этом примере добавляются методы расширения класса Random для генерации двойных значений в указанном диапазоне. Класс Random предоставляет методы для гене...

27 08 2020 17:59:44

Что такое делегаты в C#?

Делегаты - это указатель функции безопасного типа.  Он содержит ссылку на функцию. Подпись делегатов соответствует сигнатуре функции, которая указывает на т...

26 08 2020 14:51:32

Как избежать использования данных класса, совместно используемых экземплярами в Python?

Атрибуты класса - это атрибуты, которые принадлежат самому классу. Они будут использоваться всеми экземплярами класса. Поэтому они имеют одинаковое значени...

25 08 2020 13:29:26

HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера, 4-е издание (Николай Прохоренок, Владимир Дронов)

Рассмотрены вопросы создания интерактивных Web-сайтов с помощью Н ТML, Javascript, PHP и MySQL, форматирования Web-страниц при помощи CSS. Даны основы Р Н Р и...

24 08 2020 10:22:54

Изучаем Python, 4-е издание (Марк Лутц)

Такие известные компании, как Google и Intel, Cisco и Hewlett-Packard, используют язык Python, выбрав его за гибкость, простоту использования и обеспечивае...

23 08 2020 22:55:30

Программирование под Android (Брайан Харди, Билл Филлипс)

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

22 08 2020 20:47:46

События JavaScript DOM

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

21 08 2020 0:55:13

Изменение разрешения изображения в C#

В этом примере показано, как изменить разрешение изображения. Это еще один пример, который я создал для написания книг. Обычно компьютеры работают с изобра...

20 08 2020 2:41:19

Язык JavaScript (Илья Контор)

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

19 08 2020 4:10:20

Используйте ColorMatrix для добавления водяного знака к изображению на C#

Пример Добавьте водяной знак к изображению в C# объясняет, как добавить полупрозрачный водяной знак к изображению. Этот пример делает то же самое в немного...

18 08 2020 7:40:43

Сделайте движущийся фон в C#

В этом примере отображается текст с движущимся цветовым градиентом. Следующий ShadeRect метод содержит наиболее интересный код программы. Этот метод заполн...

17 08 2020 11:32:40

Назначение оператора «/» и «//» в python?

Разделение («/»): делит левый. Отдел работает на Python так, как он математически определен. Floor Division ("//"): разделение операндов, где результатом я...

16 08 2020 15:51:30

Используйте массив управления в C#

Иногда бывает полезно использовать массив управления. Еще до .NET, Visual Basic позволяет определять массивы управления во время разработки. Концепция исче...

15 08 2020 13:28:27

Комментарии в C#

Комментарии используются для документирования того, что делает программа, и каких конкретных блоков или строк кода.  Компилятор C# игнорирует комментарии. Е...

14 08 2020 13:23:17

LINQ. Карманный справочник (Джозеф Албахари, Бен Албахари)

Справочник посвящен технологии LINQ (Language Integrated Query) — новой функциональной возможности языка C# и платформы .NET Framework, которая позволяет п...

13 08 2020 7:43:31

Самоучитель C++ (Г. Шилдт)

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

12 08 2020 1:25:33

Является ли Java «pass-by-reference» или «pass-by-value»?

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

11 08 2020 12:41:15

Циклы в Java Примеры и синтаксис

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

10 08 2020 11:11:22

Вставка строки в C#

Функция Insert () в String Class введет String в указанный индекс в экземпляре String. Синтаксис: string string.Insert (int ind, string str) Параметры: ind...

09 08 2020 22:16:30

Открытие нового окна в JavaScript

Вы можете использовать JavaScript для запуска нового окна. Метод window.open(), который позволяет открыть новое окно браузера без перехода от текущей стран...

08 08 2020 3:14:25

Как работать с Raycast в 2D пространстве в Unity 5

В данном уроке мы разберем как работать с Raycast в 2D пространстве в Unity 5. Для этого мы будем использовать библиотеку Physics2d...

07 08 2020 8:44:51

Выберите разрешение принтера в C#

В этом примере показано, как разрешить пользователю выбирать разрешение принтера. Когда вы устанавливаете принтер объекта PrintDocument, его коллекция Defa...

06 08 2020 21:14:35

1С: Бухгалтерия 8.3 для бухгалтера (Николай Селищев)

1 С: Бухгалтерия 8.3 для бухгалтера является иллюстрированным практическим руководством по работе с новейшим и самым современным программным продуктом по ве...

05 08 2020 1:32:26

Создайте список недавно использованных файлов (MRU) в C#

В списке MRU отображаются файлы, которые программа использовала совсем недавно в меню. Если пользователь выбирает файл из списка, программа снова открывает...

04 08 2020 5:26:54

Перемещение элементов между двумя ListBoxes в C#

Один из способов позволить пользователю выбрать элементы из списка - использовать ListBox или CheckedListBox. Пользователь может щелкнуть, Ctrl + Click, Sh...

03 08 2020 6:28:35

Получите серийные номера системной платы и идентификаторы ЦП в C#

В этом примере показано, как получить серийные номера системной платы и идентификаторы Ц П. WMI ( Инструмент управления Windows) позволяет использовать SQL-п...

02 08 2020 23:14:44

Список уникальных слов в текстовом файле в C#

В этом примере используются регулярные выражения и LINQ для отображения уникальных слов, содержащихся в текстовом файле на C#. Когда вы вводите имя файла и...

01 08 2020 7:34:59

Преобразовать строку в число в Java? String to Int

Преобразование String в int или Integer - очень распространенная операция в Java. Существует несколько простых способов сделать это преобразование. Часто и...

31 07 2020 0:48:23

Самый сложный язык программирования

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

30 07 2020 16:28:12

Что такое карта, фильтр и сокращение в python?

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

29 07 2020 13:45:20

Разница между статическими и нестатистическими методами Java

Статический метод принадлежит классу, а нестатический метод принадлежит объекту класса. Статические методы полезны, если у вас есть только один экземпляр,...

28 07 2020 21:39:45

Самоучитель Java (Хабибуллин И.Ш)

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

27 07 2020 20:19:42

Способы создать строку (String) в Java?

Существуют различные способы создания объекта String в Java: Использование строкового литерала Вы можете создавать объекты String со строковым литералом Ис...

26 07 2020 3:42:34

Как использовать тернарный оператор в Java?

Java-тернарный оператор является единственным условным оператором, который принимает три операнда. Это условный оператор, который обеспечивает более коротк...

25 07 2020 3:34:17

Что такое скрипт Bash?

Сценарий Bash - это простой текстовый файл, содержащий ряд команд.  Эти команды представляют собой смесь команд, которые мы обычно будем вводить в командной строке...

24 07 2020 9:23:34

Может ли класс верхнего уровня быть закрытым или защищенным в Java

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

23 07 2020 1:33:28

Определите, является ли год високосным в C#

Обнаружение високосных лет в основном тривиально, потому что тип данных DateTime предоставляет метод IsLeapYear для этого. В примере используется следующий...

22 07 2020 19:58:14

Привязать DataGrid к набору данных, содержащему несколько таблиц во время выполнения в C#

В этом примере показано, как можно привязать элемент DataGrid к DataSet, загруженному из файла MDB во время выполнения. Когда форма загружается, следующий...

21 07 2020 17:14:50

Получить имя исполняемого метода в C#

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

20 07 2020 0:53:51

Преобразования десятичного числа в двоичное в C#

В этой статье мы напишем программу на C# для преобразования десятичного числа в двоичное. Вывод:  ...

19 07 2020 17:29:59

Получить информацию о формате даты для локали компьютера в C#

Объект System.Globalization namespace's InstalledUICulture предоставляет множество статических методов, предоставляющих информацию о численном, дате и врем...

18 07 2020 9:44:43

Сделать созданный владельцем ListBox в C#

В этом примере показано, как вы можете сделать созданный владельцем ListBox. Обычно ListBox отображает текстовое представление своих объектов, но вы можете...

17 07 2020 12:32:12

Операторы, типы и переменные в C#

Переменные и типы « Переменные» - это просто места хранения данных.  Вы можете поместить в них данные и получить данные как часть выражения C#. Интерпретация...

16 07 2020 16:53:15

Что такое отказобезопасные и отказоустойчивые итераторы в Java

Неуправляемые итераторы Fail-Fast iterators, возвращенные большинством типов коллекций, не переносят каких-либо структурных изменений в коллекции, итерации...

15 07 2020 17:44:57

Почему класс Java не может быть объявлен как статический?

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

14 07 2020 23:13:17

Генерация случайных полигонов в C#

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

13 07 2020 13:22:50

Как сделать класс с определением и повышением событий в C#

В этом примере используется класс BankAccount для управления банковским счетом (и для определения способов и событий события). Если программа пытается удал...

12 07 2020 20:13:45

Глаза, которые следят за мышью в C#

В этом примере используется Timer с именем tmrTick для отслеживания мыши. Его обработчик событий Tick, который показан в следующем коде, обновляет глаза. О...

11 07 2020 12:10:39

Преобразование Float в String в C#

В этой статье мы напишем программу в C# для преобразования Float в String с использованием метода float.ToString(). Вывод: 37,33 49,29 Источник: http://www...

10 07 2020 3:45:59

Стабильные встречи в C#

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

09 07 2020 22:52:46

Преобразования типов в C#

Что такое конверсии в C#? Преобразование - это механизм преобразования значения одного типа в эквивалентное значение другого типа.  Давайте рассмотрим ниже...

08 07 2020 8:19:47

1С-программирование как дважды два. Самоучитель (Михайлов Сергей)

Книга "1 С-программирование как дважды два. Самоучитель" основана на личном опыте предпринимательской деятельности автора в сфере 1 С-программирования. Начин...

07 07 2020 19:15:52

Что такое литералы в Python?

Литерал - это краткий и легко видимый способ написать значение. Литералы представляют собой возможные варианты примитивных типов для этого языка. Некоторые...

06 07 2020 5:39:47

Масштабируйте рисунок, чтобы он соответствовал целевой области в C#

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

05 07 2020 12:59:17

Что подразумевается под анонимным классом в Java?

Анонимный класс в Java - это класс, которому не присвоено имя, и объявляется и создается в одном выражении. Анонимный класс обычно используется на платформ...

04 07 2020 13:37:55

Чистые функции VS. Нечистые функции в JavaScript

Чистые функции всегда возвращают один и тот же результат, если одни и те же аргументы передаются. Он не зависит от какого-либо состояния или данных, которы...

03 07 2020 7:51:22

Модификаторы доступа в Java

Одним из основных принципов объектно-ориентированного программирования является «скрытие информации», что означает, что объекты не раскрывают все их детали...

02 07 2020 15:45:58

JavaScript: логические операторы

  AND оператор: & & OR оператор: || NOT оператор: ! Логические операторы обычно используются с логическими (логическими) значениями. Когда они...

01 07 2020 4:52:23

Рисование, перемещение и удаление сегментов линии в C#

В этом примере показано, как сделать программу рисования, которая позволяет рисовать, перемещать и удалять сегменты линии. Он основан на примере Нарисуйте...

30 06 2020 4:21:45

Как перезагрузить страницу в JavaScript

Поскольку существует много способов сделать это, но следующий способ - перезагрузить один и тот же документ с помощью JavaScript. Свойство Window.location...

29 06 2020 10:27:49

Перемещение формы без заголовка в C#

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

28 06 2020 12:59:25

Что такое перечисления Java и почему они полезны?

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

27 06 2020 6:46:58

Форматировать текст в RichTextBox в C#

В этом примере используется следующий код для форматирования трех фрагментов текста в первом RichTextBox. Чтобы упростить форматирование, следующий метод S...

26 06 2020 18:22:37

Получить рабочую область экрана в C#

Рабочая область является частью экрана, который обычно может занимать приложение. Эта область может находиться в разных частях экрана в зависимости от разм...

25 06 2020 9:48:33

Введение в потоки Thread в Java

В чем разница между Reader и InputStream в Java Процесс представляет собой экземпляр выполняемой компьютерной программы. Процесс может выполняться процессо...

24 06 2020 18:57:20

Заменить текст, соответствующий шаблону в C#

В этом примере используется следующий код для замены текста, соответствующего шаблону в строке. Этот код создает объект Regex, передавая его конструктору ш...

23 06 2020 12:53:13

Сделайте карту крупным планом в C#

В этом примере карта крупным планом отображает увеличенную область под мышью, когда вы перемещаете ее по карте. Программа хранит увеличенную версию карты в...

22 06 2020 17:54:43

Запись данных Excel в C#

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

21 06 2020 16:54:46

Java 8. Полное руководство (Шилдт Герберт)

Книга Java 8. Полное руководство является исчерпывающим руководством по программированию на языке Java. В этом справочном пособии, полностью обновленном с...

20 06 2020 17:47:46

Что такое ссылки на методы в Java?

Ссылки на методы являются признаком Java 8. Самое большое дополнение в Java8 - это лямбда-выражения. Ссылка на метод - это сокращенный синтаксис выражения...

19 06 2020 23:18:40

Сделайте диалог выбора, в котором используется цветное колесо в C#

Пример Нарисуйте цветное колесо с альфа-и насыщенными значениями в C# позволяет пользователю выбрать цвет на цветном колесе. В этом примере используется эт...

18 06 2020 12:34:41

Определение и использование бит-маски в C#

Пример Понимание бит-масок в C# объясняет, как использовать бит маски. Чтобы определить битовую маску, просто создайте enum и присвойте ему атрибут Flags,...

17 06 2020 21:37:48

В чем смысл System.out.println в Java?

System.out.println - это оператор Java, который печатает переданный аргумент, в System.out, который обычно является stdout. System - класс out - это переме...

16 06 2020 22:46:17

Что значит Static в Java?

Static - это модификатор без доступа. Это означает, что что-то (поле, метод, блок или вложенный класс) связано с типом, а не с каким-либо конкретным экземп...

15 06 2020 5:36:59

Создайте улучшенный собственный шаблон TabControl в C#

Сообщение Создайте собственный шаблон TabControl в C# показывает, как создать управляемый вкладкой элемент управления вкладками. К сожалению, управление ве...

14 06 2020 0:26:49

Как найти шаблоны в Pi в C#

Март 14 известен как день Pi, потому что его числовое представление 3/14 включает в себя первые три цифры Pi: 3.14. ( По крайней мере, в Соединенных Штатах....

13 06 2020 2:23:26

Ассемблер - это просто. Учимся программировать. (Калашников О. А.)

Подробно и доходчиво объясняются все основные вопросы программирования на ассемблере. Рассмотрены команды процессоров Intel, 16- и 32-разрядные регистры, о...

12 06 2020 13:42:12

Hashtable в Java

Hashtable - это структура данных, используемая для реализации ассоциативного массива, структуры, которая может сопоставлять ключи со значениями. Он может о...

11 06 2020 20:16:30

Языки программирования низкого уровня: низкоуровневые языки

Языки программирования низкого уровня или низкоуровневые традиционно появились первыми и в последующем стали базисом для развития всей И Т индустрии....

10 06 2020 14:34:52

Оператор Java break и continue

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

09 06 2020 16:58:55

Эффективность использования топлива в разных единицах в C#

Люди в Соединенных Штатах, Канаде, Соединенном Королевстве и некоторых других местах измеряют эффективность использования топлива в милях на галлон. Как и...

08 06 2020 10:29:44

Использование методов массива в C#

Пример Сортировка и поиск массивов на C# показывает, как для использования двух полезных методов Array: Сортировать и BinarySearch. В этом примере демонстр...

07 06 2020 21:16:20

Существует ли файл или каталог в Python

Os.path.isfile (путь) Возвращает True , если путь существующий обычный файл. Пример: Если файл «my_file.txt» существует в текущем пути, он вернет true else...

06 06 2020 21:10:51

Прочтите CSV-файл в массив в C#

Следующий метод LoadCsv считывает CSV-файл в двумерный массив строк. В коде используется System.IO.File.ReadAllText, чтобы прочитать содержимое файла в стр...

05 06 2020 15:31:33

Лутц М. Программирование на Python. Том 1 (4-е издание, 2011)

  Монументальный труд Марка Лутца « Программирование на Python» в 2-х томах представляет собой учебник по применению языка Python для решения наиболее типичн...

04 06 2020 12:49:31

1С:Предприятие. Практика программирования на платформе V7 (Н. Колпинский)

1 С: Предприятие. Практика программирования на платформе V7  Данные материалы рассчитаны на пользователей, знакомых с интерфейсом «1 С: Предприятия» и имеющих н...

03 06 2020 5:31:22

Преобразовать байт-массив в шестнадцатеричную строку и наоборот в C#

В этой статье мы узнаем, как преобразовать байт-массив в шестнадцатеричную строку и наоборот в C#. Преобразование байт-массива в шестнадцатеричную строку в...

02 06 2020 18:51:14

Как рассчитать разницу дат в Java

Есть много способов найти разницу между датами. Ниже приведен самый простой способ найти разницу между двумя датами. Вы можете просто взять число миллисеку...

01 06 2020 10:57:51

Получите серийный номер жесткого диска в C#

Пример Получить серийный номер тома диска в C# показывает, как вы можете найти серийный номер для тома диска, такого как C: . Однако, если вы переформатир...

31 05 2020 23:19:51

Сложение, вычитание, умножение, деление, модуль в Bash

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

30 05 2020 12:50:44

Сделайте программу калейдоскопа в C#

Когда вы нажимаете и рисуете форму этой программы, код рисует другие кривые, связанные с вашим, для создания эффекта калейдоскопа. Например, он может нарис...

29 05 2020 15:45:18

Позвольте пользователю выбрать принтер, а затем отправить распечатку непосредственно на него в C#

... Когда пользователь выбирает принтер и нажимает кнопку « Печать», следующий код отправляет распечатку на выбранный принтер. Источник: http://csharphelper...

28 05 2020 17:12:34

PHP и MySQL. Исчерпывающее руководство (Бретт Маклафлин)

Если у вас есть опыт разработки сайтов с помощью CSS и Javascript, то эта книга переведет вас на новый уровень веб-разработки — создание динамических веб-с...

27 05 2020 3:16:39

Как создать и использовать метафайл в C#

В этом примере показано, как рисовать и использовать метафайл. Метафайл - это рисунок, который не только содержит пиксели в изображении. Вместо этого он со...

26 05 2020 4:22:11

Как открыть и закрыть файл в Python

Python имеет встроенную функцию open(), чтобы открыть файл, он возвращает что-то, называемое файловым объектом. Файловый объект содержит методы и атрибуты,...

25 05 2020 0:40:11

Еще:
Программирование -1 :: Программирование -2 :: Программирование -3 :: Программирование -4 :: Программирование -5 ::

И сказал Великий Программист:
«После трёх дней без программирования жизнь теряет смысл»