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

Что такое скрипт 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:

Как использовать симбиоз для графического выбора часов в C#

Этот пример изменяет предыдущий пример Графически выбирает часы на C# , поэтому он использует класс симбиот. В этом примере показано, как использовать Pict...

20 10 2019 12:14:26

Случайные числа в Python

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

19 10 2019 23:31:19

Поверните вокруг точки, отличной от начала координат в C#

Вы можете использовать объект Matrix для поворота, масштабирования, перевода или искажения чертежа. Его метод RotateAt добавляет поворот вокруг определенно...

18 10 2019 15:39:36

Почему char [] предпочитает использовать String для хранения пароля в Java

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

17 10 2019 0:47:23

Генерация слов заданной длины в C#

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

16 10 2019 18:19:14

Словарь (Dictionary) в Python

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

15 10 2019 0:57:22

Длина строки в C#

Свойство Length в String Class возвращает общее количество символов в String. Синтаксис: int string.length Возвращает: Целое число: количество символов в у...

14 10 2019 14:15:31

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

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

13 10 2019 1:13:39

Используйте всплывающие подсказки в C#

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

12 10 2019 19:59:48

C++. От ламера до программера. Включая C++11 (Эллайн Алекс)

Описание книги C++. От ламера до программера. Включая C++11: Эта книга предлагает быстрый способ изучить принципы объектно-ориентированного программирования...

11 10 2019 19:42:50

Как вы отлаживаете программу на Python?

Python имеет отладчик, который доступен как модуль под названием pdb. Он поддерживает установку условных точек останова, одновременное переключение по исхо...

10 10 2019 21:53:43

Добавление метода расширения в класс Graphics в C#

По какой-то странной причине метод DrawRectangle класса Graphics не может принимать параметр RectangleF в качестве параметра. Он может принимать значения R...

09 10 2019 13:24:33

Self в Python

Self в Python представляет экземпляр класса. В отличие от этого в C ++, «я» не является ключевым словом, это всего лишь соглашение о кодировании. Часто пер...

08 10 2019 8:38:20

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

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

07 10 2019 23:45:23

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

Когда срабатывает Timer формы, его обработчик события Tick обновляет форму, чтобы принудительно выполнить перерисовку. Обработчик события Paint формы рисуе...

06 10 2019 21:58:23

Позвольте пользователю писать на PictureBox в C#

Класс Graphics предоставляет метод DrawLines, который рисует ряд связанных строк, который иногда называют полилинией. Эта программа позволяет пользователю...

05 10 2019 12:56:41

Нарисуйте кривую с несколькими цветами в C#

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

04 10 2019 0:51:21

Используйте SQL-запросы для отображения данных master-detail в C#

В этом примере SQL-запросы запрашивают данные master-detail только тогда, когда это необходимо. В течение довольно долгого времени .NET-ish способ манипули...

03 10 2019 3:27:58

Вектор в Java

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

02 10 2019 3:32:16

В чем разница между = и == в Python?

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

01 10 2019 10:16:59

Установить положение видео с помощью полосы прокрутки с помощью WPF в C#

Пример Управление видео с помощью WPF MediaElement в C# позволяет вам установить положение видео несколькими способами. Вы можете использовать кнопки Next...

30 09 2019 1:29:42

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

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

29 09 2019 19:47:43

Как нарисовать пунктирные линии, которые видны на любом фоне в C#

В этом примере показано, как рисовать пунктирные линии, которые видны на любом фоне.  Иногда трудно рисовать линии, которые видны поверх фотографии или друг...

28 09 2019 3:55:53

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

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

27 09 2019 15:48:20

Операции Java ArrayList

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

26 09 2019 16:49:43

Автоматически конвертировать регистр в TextBox в C#

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

25 09 2019 2:56:12

Зачем нужны общие типы в Java?

В Java 5 вводятся обобщения для включения типов (классов и интерфейсов) в качестве параметров при определении классов, интерфейсов и методов. Они реализова...

24 09 2019 11:14:29

Создаем класс вне любого оператора пространства имен в C#

Когда вы создаете класс в C#, Visual Studio автоматически помещает его в оператор пространства имен. Если имя вашего проекта isto_remove_namespace, то по у...

23 09 2019 7:34:58

Разница между Path и Classpath в Java

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

22 09 2019 22:16:15

Эндрю Стиллмен - Изучаем C#, 3-е издание - 2014

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

21 09 2019 11:56:28

Работа с PlayerPrefs в Unity 5 и выгрузка данных из них

В этом уроке мы разберем, что такое PlayerPrefs,где они хранятся и как работать с PlayerPrefs в Unity 5, а так же выгрузим из них данные....

20 09 2019 6:40:11

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

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

19 09 2019 2:31:57

Циклы For и While в Python

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

18 09 2019 3:48:30

Статическая синхронизация с нестатической синхронизацией в Java

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

17 09 2019 23:18:27

Разница между String и StringBuffer / StringBuilder в Java

Здесь String неизменен, означает, что вы не можете изменить сам объект, но вы можете изменить ссылку на объект, тогда как StringBuffer и StringBuilder явля...

16 09 2019 12:55:55

Как отобразить текст в StatusLabel, даже если он не подходит для C#

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

15 09 2019 4:27:33

Треугольная матрица в C#

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

14 09 2019 16:25:45

Воспроизведение файлов WAV в C#

Класс System.Media.SoundPlayer позволяет вам легко воспроизводить файлы WAV. В этом примере используется следующий PlayWav метод для воспроизведения файлов...

13 09 2019 23:25:32

Многопользовательские игры. Разработка сетевых приложений (Глейзер Дж.)

Многопользовательские игры. Разработка сетевых приложений: Сетевые многопользовательские игры — это многомиллиардный бизнес, привлекающий десятки миллионов...

12 09 2019 4:33:36

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

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

11 09 2019 0:20:58

Изучаем C++ через программирование игр

Если вы хотите научиться программировать первоклассные игры, вам просrо необходимо изучить язык С++. Эrа книга поможет вам освоить разработку игр с самых а...

10 09 2019 20:11:17

Как получить длину строки в Java

Длина() объекта String возвращает длину этой строки. Длина строки Java такая же, как и юникодные кодовые единицы строки. Синтаксис: Нет параметра для lengt...

09 09 2019 15:59:55

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

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

08 09 2019 4:23:25

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

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

07 09 2019 0:14:54

Центрировать курсор над определенным элементом управления в C#

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

06 09 2019 16:25:47

Нарисуйте простой робот в C#

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

05 09 2019 4:52:18

Как открыть файл PDF в C#

Во время разработки я добавил в форму элемент WebBrowser. Когда программа запускается, он использует следующий код для открытия PDF-файла в элементе управл...

04 09 2019 17:33:28

Перемещение элементов управления формы в C#

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

03 09 2019 22:54:56

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

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

02 09 2019 15:21:10

Показать соответствия регулярных выражений в C#

Когда вы нажимаете кнопку Go, программа использует следующий код для отображения совпадений регулярных выражений в строке. Код создает объект Regex, переда...

01 09 2019 23:57:17

Сделайте слайдер с иглой в C#

Этот пример рисует вертикальную «иголку» в PictureBox, чтобы пользователь мог выбрать значение, как это делает TrackBar. Однако код выполняет весь чертеж,...

31 08 2019 11:33:16

Сортировка частично числовых элементов в ComboBox или ListBox в C#

Пример Использование пользовательского порядка сортировки для элементов ListBox или ComboBox в C# показывает, как сортировать числовые значения. В этом при...

30 08 2019 9:39:20

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

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

29 08 2019 9:11:44

Что такое поток Daemon в Java

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

28 08 2019 8:54:21

Программирование в тональности С# (Петцольд Ч.)

Эта книга — своего рода учебник для тех, кто решил заняться изучением С#—современного, объектно-ориентированного языка программирования, разработанного Mic...

27 08 2019 16:46:54

Переменные в Bash

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

26 08 2019 2:35:34

Рекурсивно выполнять уменьшение эффекта «красных глаз» на изображении в C#

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

25 08 2019 7:28:47

Основные операции с строками в Python

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

24 08 2019 8:18:15

Использование свойства ActiveControl в C#

Свойство ActiveControl дает ссылку на текущий активный элемент контейнера. Для формы ActiveControl не учитывает меню, поэтому элемент меню может использова...

23 08 2019 3:38:52

Как сделать сохранения в Unity 5 при помощи Newtonsoft.Json

В этом уроке мы разберем как сделать сохранения в Unity 5 при помощи библиотеки Newtonsoft.Json и разберем некоторые её свойства....

22 08 2019 5:11:40

Используйте LINQ, чтобы найти ограничивающий прямоугольник для списка PointF в C#

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

21 08 2019 7:33:11

Список всех файлов в папке в Java

Как читать все .txt-файлы в папке Подсчет количества файлов в каталоге с помощью Java Источник: http://net-informations.com/Java/files/folder.htm...

20 08 2019 6:46:43

Сортировка слов по количеству букв в C#

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

19 08 2019 17:26:52

Классификация языков программирования: кратко

Классификация языков программирования. Сейчас существует огромное количество самых разных языков программирования. По некоторым подсчетам, всего их более чем 120....

18 08 2019 23:20:56

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

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

17 08 2019 19:39:24

Программирование на Java и С# для студента (О. В. Герман, Ю. О Герман)

Рассмотрены основные вопросы программирования на языках JAVA и С#, включая их сравнительное описание как двух важнейших и весьма сходных прикладных платфор...

16 08 2019 6:24:37

Что такое docstring в Python?

Строки документации Python (или docstrings) обеспечивают удобный способ связывания документации с модулями, функциями, классами и методами Python. Как вы м...

15 08 2019 11:59:41

Потоки (Threading) в Python

Что такое поток? Поток исполнения является наименьшим последовательность запрограммированных инструкций , которые могут управляться независимо друг от друг...

14 08 2019 14:49:35

Установите вкладку RichTextBox в C#

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

13 08 2019 6:20:43

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

В этом примере отображаются доступные системные значки. Следующий способ DrawIconSample отображает значок и его название. Код вызывает метод Graphics объек...

12 08 2019 4:40:40

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

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

11 08 2019 6:51:47

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

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

10 08 2019 17:50:39

Вызов общедоступных методов, используя их имена в C#

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

09 08 2019 14:22:24

Язык программирования Python (Д.С.Откидач)

Python является простым и, в то же время, мощным интерпретируемым объектно-ориентированным языком программирования. Он предоставляет структуры данных высок...

08 08 2019 8:17:53

Как создать копию объекта в Python?

Вы можете скопировать объект в Python с помощью метода deepcopy: «=» - это назначение другой ссылки на тот же объект в памяти. Глубокая копия создает целый...

07 08 2019 14:18:41

Обработка XML-файлов Python

Что такое XML? XML означает расширяемый язык разметки . Стандарт XML - это гибкий способ создания информационных форматов и электронного обмена структуриро...

06 08 2019 23:42:20

Прозрачные изображения кнопок в C#

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

05 08 2019 9:50:43

Класс BufferedReader в Java

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

04 08 2019 13:23:49

1С:Предприятие. Конфигурирование и администрирование для начинающих (Владимир Дубянский)

В книге 1 С: Предприятие. Конфигурирование и администрирование для начинающих описаны основные приемы программирования и конфигурирования, общие для всех ком...

03 08 2019 17:58:27

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

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

02 08 2019 5:32:35

Основы программирования в Embarcadero Delphi (Никита Культин)

Книга представляет собой практическое руководство по программированию в Embarcadero Delphi. В ней представлена технология визуального проектирования и собы...

01 08 2019 2:58:56

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

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

31 07 2019 13:12:10

Метод Java String concat()

Конкатенация строк - это процесс объединения двух или более маленьких строк для создания большей строки. В Java вы можете комбинировать строку несколькими...

30 07 2019 20:38:22

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

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

29 07 2019 17:25:29

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

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

28 07 2019 0:21:48

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

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

27 07 2019 22:55:25

График уравнения в C#

Этот код начинается с определения границ координат -3 & le; x & le; 3, -3 & le; y & le; 3, где он будет рисовать график. Затем код превращает Bitmap в соот...

26 07 2019 3:20:43

Программа, которая отображает собственный двоичный код тремя способами в C#

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

25 07 2019 9:59:16

Как открыть и прочитать URL-адрес в Java

Чтение с URL-адреса так же просто, как чтение из входного потока. URL - это аббревиатура Uniform Resource Locator. Java-программы, которые взаимодействуют...

24 07 2019 5:26:23

Link ComboBox и источники данных ListBox в C#

Немногие знают, что вы можете связать элементы ComboBox и ListBox с источниками данных. Если вы установите для своего свойства DataSource значение массива...

23 07 2019 11:30:10

Бизли Д. Python. Подробный справочник (4-е издание, 2010)

Авторитетное руководство и детальный путеводитель по языку программирования Python предназначен для практикующих программистов. Книга компактна, нацелена н...

22 07 2019 1:39:20

Список каталогов и файлов Dropbox в C#

Dropbox - это служба обмена файлами. Бесплатная базовая версия позволяет легко разделить до 2 Г Б файлов через Интернет. Версия Pro $ 9,99 в месяц дает вам...

21 07 2019 17:41:31

Как реализовать «enum» в Python

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

20 07 2019 16:21:36

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

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

19 07 2019 5:20:53

Как определить, существует ли файл или каталог в C#

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

18 07 2019 14:23:39

Пусть пользователь перетаскивает изображение с прозрачными пикселями поверх фонового изображения в C#

В этом примере показано, как вы можете позволить пользователю перетащить изображение на PictureBox. Свойству PictureBox Изображение задано фоновое изображе...

17 07 2019 9:28:56

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

В программе используется PathGradientBrush, чтобы заполнить цветовое колесо цветовыми образцами. Рисование колеса в основном автоматическое, но прикладывае...

16 07 2019 12:34:27

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

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

15 07 2019 11:29:27

Используйте «округление банкира» и «нормальное округление» в C#

По умолчанию метод Math.Round использует «округление банкира». При округлении банкира число с конечной цифрой 5 округляется до ближайшего четного числа, а...

14 07 2019 1:10:20

Использование элементов управления Windows Forms, чтобы сделать расширитель в C#

WPF, Silverlight, Metro или все, что Microsoft называет этим материалом, теперь дни имеют несколько полезных элементов управления в пространстве имен Syste...

13 07 2019 15:26:28

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

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

12 07 2019 0:28:33

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

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

11 07 2019 21:57:16

Как быстро научиться программировать: 7 советов

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

10 07 2019 11:47:46

Отображать индексы и надписи в RichTextBox в C#, версия 2

В следующих примерах показано, как отображать индексы и верхние индексы в RichTextBox. Это были довольно простые примеры, и Судир Шривастава обнаружил ситу...

09 07 2019 9:34:57

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

Какой самый простой и легкий язык программирования? Программирование в наше время стало одним из самых перспективных занятий для молодых людей....

08 07 2019 12:38:53

Получаем размер шрифта в пикселях в C#

Одна странность класса Font заключается в том, что его свойство « Размер» возвращает размер шрифта в единицах, которые использовались для создания шрифта. С...

07 07 2019 23:13:59

Найти файлы, которые соответствуют нескольким шаблонам в C#

Метод System.IO.Directory.GetFiles позволяет легко искать файлы в каталоге, соответствующем шаблону. К сожалению, он может искать только файлы, соответству...

06 07 2019 14:37:27

Получение значения переменных по имени в C#

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

05 07 2019 3:15:17

Выполнять операции набора в C#

Класс HashSet может представлять объекты в наборе и выполнять операции с множеством, такие как поиск объединения или пересечения двух множеств. Когда прогр...

04 07 2019 16:13:34

Что такое числовое продвижение? Java

Числовое продвижение, также известное как « Неявное преобразование» или «автоматическое преобразование Java», где автоматическое преобразование значения мен...

03 07 2019 4:28:48

Сериализация и десериализация объектов в C#

Сериализация - это процесс преобразования объекта в последовательный поток-подобный формат. Часто это означает преобразование его в XML-данные для хранения...

02 07 2019 14:26:20

Используйте ключевое слово params в C#

Если вы используете ключевое слово params перед параметром массива, используемым в качестве параметра last в методе, тогда вызывающий код может передавать...

01 07 2019 18:58:37

Строки в JavaScript

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

30 06 2019 4:27:33

Преобразование массива символов в строку в C#

В этой статье мы напишем программу C# для преобразования массива символов в String в C#.   Вывод: Welcome To Csharpstar Источник: http://www.csharpsta...

29 06 2019 18:47:35

Отображение масштабируемой карты с горячими точками в C#

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

28 06 2019 17:15:11

Установите пиксели в растровом файле WPF в C#

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

27 06 2019 19:10:33

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

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

26 06 2019 11:38:39

NumericUpDown и использование десятичных значений в C#

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

25 06 2019 6:54:30

Что такое Externalizable в Java?

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

24 06 2019 7:54:57

Чтение и запись текста в текстовых файлах в C#

Когда вы нажимаете кнопку «Write» кнопки примера, следующий код записывает значения в текстовые поля в файл. Этот код создает новый StreamWriter для записи...

23 06 2019 3:54:29

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

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

22 06 2019 18:18:57

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

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

21 06 2019 11:47:20

Вопросы по Python - 1

Почему язык назывался Python? Python фактически получил свое название от серии комедии BBC с семидесятых годов « Летающий цирк Монти Пайтона». Дизайнеру пон...

20 06 2019 20:50:10

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

Перечисление System.Environment класса SpecialFolders перечисляет специальные папки, такие как System, Cookies, Desktop и т. д. Метод класса GetFolderPath...

19 06 2019 10:14:37

Важные характеристики объектов Python

Все объекты Python имеют уникальный идентификатор. Встроенная функция id() возвращает идентификатор объекта как целое. Это целое число обычно соответствует...

18 06 2019 20:44:27

Методы в C#

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

17 06 2019 0:47:21

Рисуем гладкий текст в GraphicsPath в C#

Вы можете установить свойство TextRenderingHint объекта Graphics для AntiAliasGridFit, чтобы нарисовать гладкий текст. Однако, если вы поместите текст в об...

16 06 2019 4:45:14

Получение писем с сервера POP3 в Python

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

15 06 2019 9:43:38

Языки программирования для начинающих: с чего лучше начать?

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

14 06 2019 22:24:28

Является ли JavaScript истинным языком ООП?

В объектно-ориентированном программировании есть три основные особенности: инкапсуляция, наследование и полиморфизм. Инкапсуляция: инкапсуляция относится к...

13 06 2019 11:20:50

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

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

12 06 2019 19:28:17

Найти предков класса в C#

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

11 06 2019 15:44:15

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

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

10 06 2019 12:32:32

Используйте двойную буферизацию, чтобы предотвратить мерцание при рисовании на C#

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

09 06 2019 12:27:47

HTML5. Недостающее руководство (Мэтью Мак-Дональд)

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

08 06 2019 14:12:23

4 способа сортировки массива в C#

В C# мы можем сортировать массив несколькими способами. 1. Использование Array.Sort (Array) 2. Использование интерфейса IComparable 3. Использование интерф...

07 06 2019 1:31:11

Java для чайников (Барри Берд)

Java — современный объектно-ориентированный язык программирования. Программа, написанная на Java, способна выполняться практически на любом компьютере. Зна...

06 06 2019 18:17:31

Разница между локальной переменной Java, переменной экземпляра и переменной класса?

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

05 06 2019 11:46:27

Управление торговлей 1С:8.2. Редакция 11. Внедрение и применение (Тенгиз Куправа) 2012

Книга " Управление торговлей 1 С:8.2. Редакция 11. Внедрение и применение" раскрывает вопросы внедрения и применения принципиально нового продукта компании 1...

04 06 2019 5:45:10

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

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

03 06 2019 22:45:14

Нарисуйте простую гистограмму в C#

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

02 06 2019 13:17:22

Что такое тег noscript?

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

01 06 2019 22:25:46

Как открыть файл PDF в C#

Во время разработки я добавил в форму элемент WebBrowser. Когда программа запускается, он использует следующий код для открытия PDF-файла в элементе управл...

31 05 2019 14:54:26

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

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

30 05 2019 15:42:58

Как рандомизировать двумерные массивы в C#

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

29 05 2019 23:56:36

jQuery Mobile. Разработка приложений для смартфонов и планшетов (Максимилиано Фиртман)

Рассмотрено использование фреймворка jQuery Mobile для создания гибких мультиплатформенных приложений для различных мобильных устройств (iPad, Kindle Fire,...

28 05 2019 2:35:10

1С:Предприятие. Конфигурирование и администрирование для начинающих (Владимир Дубянский)

В книге 1 С: Предприятие. Конфигурирование и администрирование для начинающих описаны основные приемы программирования и конфигурирования, общие для всех ком...

27 05 2019 14:23:30

Скопируйте массивы быстро в C#

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

26 05 2019 8:54:14

Инициализировать двумерные массивы в C#

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

25 05 2019 1:27:39

Фигурные изображения в C#

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

24 05 2019 11:13:13

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

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