что такое контекст в информатике

Термин «контекст» в программировании?

я программирую уже несколько месяцев, и часто используемым словом является «контекст» в классах. Как ServletContext (Java), Activity (Android), Service (Java, Android), NSManagedContext (Objective-C, iOS).

Я искал контекст переполнения стека, но ни один вопрос / ответы не смогли мне помочь.

Я был бы очень рад, если кто-то может дать мне объяснение.

11 ответов

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

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

теперь предположим, что вы идете в банк.

в банк, вы просите снять 100 долларов. Кассир должен установить вашу личность, прежде чем давать вам деньги, так что вы, вероятно, придется показать им водительские права или проведите карту банкомата и введите свой ПИН-код. В любом случае, то, что вы есть контекст. Кассир использует эту информацию для перемещения транзакции вперед. Затем они могут спросить вас, с какого счета вы хотите снять деньги. Когда вы ответите,«мой накопительный счет», даже больше контекста.

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

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

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

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

надеюсь, это поможет.

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

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

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

Это 2015-Май лет после начала этой темы.

тем не менее, я отправляю это сообщение, чтобы помочь кому-то, как я, который изо всех сил пытается понять «контекст»

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

пациент идет к доктору и говорит treat_me («у меня болит голова») док офис дает пациенту форму для заполнения. Пациент заполняет форму. Форма предназначенный по просьбе врача выполнить запрос «treat_me».

вот как теперь выглядит запрос:

вот как filled_form_num_23321 выглядит так :

надеюсь, это поможет прояснить понятие «контекст».

Я всегда думаю о контексте как о конкретном состоянии, относящемся к объекту или конструкции, с которой я работаю.

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

контекст является важным понятием, потому что:

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

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

некоторые псевдо код:

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

контекст в вашем случае-это среда, в которой работает ваше приложение.

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

слишком часто автор предполагает, что у читателя есть подробное понимание контекста, в котором используется слово «контекст».

3 года спустя, так что, возможно, немного поздно, но, возможно, эта нить поможет вам. Это иллюстрирует, что слово «контекст» имеет техническое значение в программировании (а не только простое английское значение).

Не уверен, можете ли вы использовать его в качестве примера и вытащить из него некоторую информацию или нет. Я тоже хотел бы услышать языковое агностическое объяснение термина технического программирования «контекст»

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

Я не вижу релевантности в объяснении контекста слова в контексте программирования.

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

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

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

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

Источник

Контекст выполнения и стек вызовов в JavaScript

Если вы — JavaScript-разработчик или хотите им стать, это значит, что вам нужно разбираться во внутренних механизмах выполнения JS-кода. В частности, понимание того, что такое контекст выполнения и стек вызовов, совершенно необходимо для освоения других концепций JavaScript, таких, как поднятие переменных, области видимости, замыкания. Материал, перевод которого мы сегодня публикуем, посвящён контексту выполнения и стеку вызовов в JavaScript.

что такое контекст в информатике. Смотреть фото что такое контекст в информатике. Смотреть картинку что такое контекст в информатике. Картинка про что такое контекст в информатике. Фото что такое контекст в информатике

Контекст выполнения

Контекст выполнения (execution context) — это, если говорить упрощённо, концепция, описывающая окружение, в котором производится выполнение кода на JavaScript. Код всегда выполняется внутри некоего контекста.

▍Типы контекстов выполнения

В JavaScript существует три типа контекстов выполнения:

Стек выполнения

Стек выполнения (execution stack), который ещё называют стеком вызовов (call stack), это LIFO-стек, который используется для хранения контекстов выполнения, создаваемых в ходе работы кода.

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

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

Изучим эту идею с помощью следующего примера:

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

что такое контекст в информатике. Смотреть фото что такое контекст в информатике. Смотреть картинку что такое контекст в информатике. Картинка про что такое контекст в информатике. Фото что такое контекст в информатике

Состояние стека вызовов

Когда вышеприведённый код загружается в браузер, JavaScript-движок создаёт глобальный контекст выполнения и помещает его в текущий стек вызовов. При выполнении вызова функции first() движок создаёт для этой функции новый контекст и помещает его в верхнюю часть стека.

Когда функция first() завершает работу, её контекст извлекается из стека и управление передаётся глобальному контексту. После того, как весь код оказывается выполненным, движок извлекает глобальный контекст выполнения из текущего стека.

О создании контекстов и о выполнении кода

До сих пор мы говорили о том, как JS-движок управляет контекстами выполнения. Теперь поговорим о том, как контексты выполнения создаются, и о том, что с ними происходит после создания. В частности, речь идёт о стадии создания контекста выполнения и о стадии выполнения кода.

▍Стадия создания контекста выполнения

Перед выполнением JavaScript-кода создаётся контекст выполнения. В процессе его создания выполняются три действия:

Привязка this

В глобальном контексте выполнения this содержит ссылку на глобальный объект (как уже было сказано, в браузере это объект window ).

В контексте выполнения функции значение this зависит от того, как именно была вызвана функция. Если она вызвана в виде метода объекта, тогда значение this привязано к этому объекту. В других случаях this привязывается к глобальному объекту или устанавливается в undefined (в строгом режиме). Рассмотрим пример:

Лексическое окружение

Проще говоря, лексическое окружение — это структура, которая хранит сведения о соответствии идентификаторов и переменных. Под «идентификатором» здесь понимается имя переменной или функции, а под «переменной» — ссылка на конкретный объект (в том числе — на функцию) или примитивное значение.

В лексическом окружении имеется два компонента:

Лексическое окружение можно представить в виде следующего псевдокода:

Окружение переменных

Окружение переменных (Variable Environment) — это тоже лексическое окружение, запись окружения которого хранит привязки, созданные посредством команд объявления переменных ( VariableStatement ) в текущем контексте выполнения.

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

Рассмотрим примеры, иллюстрирующие то, что мы только что обсудили:

Схематичное представление контекста выполнения для этого кода будет выглядеть так:

Только что мы только что описали, называется «поднятием переменных» (Hoisting). Объявления переменных «поднимаются» в верхнюю часть их лексической области видимости до выполнения операций присвоения им каких-либо значений.

▍Стадия выполнения кода

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

Итоги

Только что мы обсудили внутренние механизмы выполнения JavaScript-кода. Хотя для того, чтобы быть очень хорошим JS-разработчиком, знать всё это и не обязательно, если у вас имеется некоторое понимание вышеописанных концепций, это поможет вам лучше и глубже разобраться с другими механизмами языка, с такими, как поднятие переменных, области видимости, замыкания.

Уважаемые читатели! Как вы думаете, о чём ещё, помимо контекста выполнения и стека вызовов, полезно знать JavaScript-разработчикам?

Источник

Что такое контекст? Более обширный взгляд

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

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

2 ответа 2

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

Почему в качестве контекста можно передать this? Это же ссылка на класс

Есть ли случаи когда надо передать именно getApplicationContext?

Тема (стиль) всего приложения и конкретной активити может отличаться (для активити в манифесте указан другой стиль). Тогда запрос контекста приложения и контекста активти вернет разное оформление View

Почему контекст нужен везде, где происходит работа с интерфейсом?

Потому что он содержит стиль для View

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

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

во внешние библиотеки следует передавать контекст приложения по тем же причинам, что и п.1

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

Источник

Термин «контекст» в программировании?

Я программировал в течение нескольких месяцев, и часто используемое слово является «контекстом» в классах. Как ServletContext (Java), Activity (Android), Service (Java, Android), NSManagedContext (Objective-C, iOS).

Я искал контекст в Stack Overflow, но никаких вопросов/ответов мне не помогло.

Я был бы очень рад, если бы кто-нибудь мог дать мне объяснение.

ОТВЕТЫ

Ответ 1

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

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

Теперь позвольте сказать, что вы переходите к берегу.

В банке вы просите снять 100 долларов. Кассиру необходимо установить свою личность, прежде чем давать вам деньги, поэтому вам, вероятно, придется предъявить им лицензию на водительские права или пронести карту своего банкомата и ввести свой PIN-код. В любом случае, то, что вы предоставляете, это контекст. Кассир использует эту информацию для перемещения транзакции вперед. Затем они могут спросить вас, на какой учетной записи вы хотите уйти. Когда вы отвечаете «Моя сберегательная учетная запись», это даже больше контекста.

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

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

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

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

Надеюсь, что это поможет.

Ответ 2

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

Например, если вы пишете службу для обновления значения в db, вы, вероятно, передадите идентификатор записи и новое значение.

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

Ответ 3

Тем не менее, я отправляю это сообщение, чтобы помочь кому-либо, вроде меня, который пытается понять «Контекст»

Пациент отправляется в doc и говорит treat_me ( «У меня болит голова» ) Doc офис дает пациенту форму для заполнения. Форма заполнения пациента. Форма используется врачом для выполнения запроса «treat_me».

Вот как выглядит запрос:

Вот как выглядит filled_form_num_23321 :

Q. Что приводит к условию? A. 10 колышек опрятного шотландского последнего конца
Имя Q.Patient? А. Джо Бигдринкер
Q.Age? 98

В этой транзакции filled_form_num_23321 есть «контекст».

Ответ 4

Я всегда думаю о контексте как о конкретном состоянии, относящемся к объекту или конструкции, с которыми я работаю.

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

объемные загустители 1,5 пикселя цвет заливки черный (155, 200) цвет штриха Красный

В основном это состояние в текущий момент времени.

Ответ 5

Чтобы дать практический пример. Допустим, у вас есть определенная веб-страница для извлечения/отображения некоторой информации на основе пользователя (который входит в систему) и языка браузера. Логика получения информации не зависит от пользователя и языка. Ваша страница получит пользователя и язык. для логики это не имеет значения, будь то я или вы или английский или испанский.

Это не так сложно, но требуется некоторое время, чтобы понять концепцию

Ответ 6

Контекст относится к контексту выполнения, который является символами, доступными из данной точки в коде, и значением этих символов в этом конкретном выполнении.

Контекст является важным понятием, потому что:

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

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

Ответ 7

Служба именования связывает имена с объектами. Связь между именем и объектом называется привязкой, а набор таких привязок называется контекстом. Имя в контексте может быть привязано к другому контексту, который использует те же соглашения об именах; связанный контекст называется подконтекстом. Например, в файловой системе каталог (например,/temp) представляет собой контекст, который содержит привязки между именами файлов и объектами, которые система может использовать для управления файлами (часто называемыми файловыми дескрипторами). Если каталог содержит привязку для другого каталога (например,/temp/javax), подкаталог является субконтекстом.

Ответ 8

Слишком часто автор предполагает, что у читателя есть подробное понимание контекста, в котором используется слово «контекст».

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

Казалось бы, автор использует контекст для обозначения какого-то контейнера, возможно кучи, который содержит контекст чего-то. Это стало звучным словом, которое приобретает много смысла и запутывает вещи. Являются ли они элементами, которые являются контекстом и хранятся в контексте. Чтобы уменьшить путаницу контекста, используемого контекстом слова, можно сказать, что «среда выполнения создает контейнер для хранения контекста в виде элементов». Еще лучше: «среда выполнения создает контейнер для хранения состояния в виде элементов, и этот контейнер с этим состоянием называется CONTEXT».

Ответ 9

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

Не уверен, что вы можете использовать его в качестве примера и вывести из него какую-либо информацию или нет. Я тоже хотел бы услышать язык агностического объяснения термина технического программирования «контекст»

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

Ответ 10

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

Ответ 11

Я не вижу значимости в объяснении контекста слова в контексте программирования.

Чтобы понять контекст в контексте, вам сначала нужно понять контекст. Он рекурсивный.

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

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

Источник

Понятие контекста программного кода (бесплатная статья по Программированию в 1С)
из цикла статей «Первые шаги в разработке на 1С»

О чем эта статья

Эта статья продолжает цикл «Первые шаги в разработке на 1С», в ней рассмотрены следующие вопросы:

Применимость

В статье рассматривается платформа «1C:Предприятие» 8.3.4.496. Материал актуален и для текущих релизов платформы.

Понятие контекста программного кода

Контекст – это определенное окружение доступных свойств и методов в данном конкретном программном модуле, в данной конкретной строке.

Т.е. это те процедуры и функции, те свойства и методы, которые доступны в данной конкретной точке.

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

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

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

Глобальный контекст доступен во всех местах конфигурации.

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

В синтакс-помощнике есть отдельная ветка “Глобальный контекст”, в которой видно, что существуют различные функции, которые будут доступны при вызове.

что такое контекст в информатике. Смотреть фото что такое контекст в информатике. Смотреть картинку что такое контекст в информатике. Картинка про что такое контекст в информатике. Фото что такое контекст в информатике

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

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

что такое контекст в информатике. Смотреть фото что такое контекст в информатике. Смотреть картинку что такое контекст в информатике. Картинка про что такое контекст в информатике. Фото что такое контекст в информатике

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

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

что такое контекст в информатике. Смотреть фото что такое контекст в информатике. Смотреть картинку что такое контекст в информатике. Картинка про что такое контекст в информатике. Фото что такое контекст в информатике

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

что такое контекст в информатике. Смотреть фото что такое контекст в информатике. Смотреть картинку что такое контекст в информатике. Картинка про что такое контекст в информатике. Фото что такое контекст в информатике

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

Помимо Глобального контекста существует локальный контекст модуля. Это в конкретном модуле какие существуют переменные, процедуры и функции.

Если спуститься еще на уровень ниже, существует локальный контекст процедуры. В процедуре можно объявлять свои собственные переменные.

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

Контекст – это первое, на что нужно обращать внимание при написании программного кода. На контекст влияет то, где процедура скомпилирована.

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

Всякий раз, когда мы пишем программный код на 8.3, нам нужно думать, где этот код должен выполняться: на стороне Клиента или на стороне Сервера. На Клиенте существуют свои поддерживаемые типы данных, а на Сервере – свои.

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

Важно понимать, что программный код, который скомпилирован на Клиенте, является независимым от программного кода, который скомпилирован на Сервере. Если речь идет о Клиенте, то в основном это какие-то легкие действия.

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

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

Важно понимать, какое возможно взаимодействие между Клиентом и Сервером.

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

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

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

Таким образом, при разработке в Платформе 1С:Предприятие 8.3 важно понимать, где будет скомпилирована процедура: на Клиенте или на Сервере, поскольку от этого будет зависеть текущий контекст модуля.

Если в модуле могут присутствовать как те, так и другие процедуры (например, модуль управляемой формы), то при создании процедуры необходимо указывать, где она будет скомпилирована: на Сервере или на Клиенте.

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

Ниже представлены примеры клиентской и серверной процедуры модуля формы.

что такое контекст в информатике. Смотреть фото что такое контекст в информатике. Смотреть картинку что такое контекст в информатике. Картинка про что такое контекст в информатике. Фото что такое контекст в информатике

Когда мы описываем некую переменную, то мы также должны указывать (как для процедуры или функции место компиляции), где эта переменная будет находиться: на Клиенте или на Сервере.

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

В целях оптимизации кода следует в большинстве случаев с Клиента обращаться к контексту &НаСервереБезКонтекста, а не к контексту &НаСервере.

Дело в том, что при втором варианте на Сервер передаются еще все данные формы.

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

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

Ну а мы идем дальше, и теперь, когда базовые понятия о контексте уже получены, вспоминаем, где мы писали весь наш программный код? Как правило, в одном модуле – модуле формы. А какие-то другие модули еще существуют? Конечно, существуют, и в следующей статье мы все подробно разъясним. 🙂

что такое контекст в информатике. Смотреть фото что такое контекст в информатике. Смотреть картинку что такое контекст в информатике. Картинка про что такое контекст в информатике. Фото что такое контекст в информатике

PDF-версия статьи для участников группы ВКонтакте

Если Вы еще не вступили в группу – сделайте это сейчас и в блоке ниже (на этой странице) появятся ссылка на скачивание материалов.

что такое контекст в информатике. Смотреть фото что такое контекст в информатике. Смотреть картинку что такое контекст в информатике. Картинка про что такое контекст в информатике. Фото что такое контекст в информатике

Статья в PDF-формате

Вы можете скачать эту статью в формате PDF по следующей ссылке:
Ссылка доступна для зарегистрированных пользователей)

Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)

Комментарии / обсуждение (10):

что такое контекст в информатике. Смотреть фото что такое контекст в информатике. Смотреть картинку что такое контекст в информатике. Картинка про что такое контекст в информатике. Фото что такое контекст в информатике

Правильно ли понимаю, что когда идет речь о контексте выполнения программного кода на клиенте или на сервере, то эти высказывания относится не к платформе 8.3, а относится к Управляемому приложению в котором работает платформа?

Правильнее сказать так:
1. Часть программного кода конфигурации выполняется платформой на стороне клиента
2. Часть кода конфигурации выполняется на серверной стороне
3. Платформа 1С содержит серверную и клиентскую части.

Напомню, что в случае использования файлового режима работы ИБ серверная часть платформы эмулируется.

что такое контекст в информатике. Смотреть фото что такое контекст в информатике. Смотреть картинку что такое контекст в информатике. Картинка про что такое контекст в информатике. Фото что такое контекст в информатике

Спасибо за статью!
Вот везде пишут, как Вы: “Клиент – это обычно слабая по мощности машина, поэтому нагружать его не стоит. На Сервере же должны выполняться обработки различных данных.”
Достаточно много организаций работают с базой в файловом варианте, зачастую на своем ноутбуке. То есть у них совмещается аппаратная часть “клиента” и “сервера”. Не знаете ли Вы, происходит ли потеря производительности в таком случае?

что такое контекст в информатике. Смотреть фото что такое контекст в информатике. Смотреть картинку что такое контекст в информатике. Картинка про что такое контекст в информатике. Фото что такое контекст в информатике

Для небольших баз можно использовать файловый вариант. Но тема статьи несколько иная.

что такое контекст в информатике. Смотреть фото что такое контекст в информатике. Смотреть картинку что такое контекст в информатике. Картинка про что такое контекст в информатике. Фото что такое контекст в информатике

Доброе время суток.

А чем контекст отличается от понятия Глобальных и Локальных переменных/процедур/функций и т.д., зачем было вводить ещё одну сущность?

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *