AndreyMelnikov.MyBlog · # мой блог: IT-марафон.

Платформа .NET и ее базовый язык программирования — C# на сегодняшний день входит в топ 5 самых популярных языков программирования (по данным площадки GitHub).

C# является языком с Си-подобным синтаксисом и близок в этом отношении к C++ и Java.

Первая версия языка вышла вместе с релизом Microsoft Visual Studio .NET в феврале 2002 года. Текущей версией языка является версия C# 9.0, которая вышла 10 ноября 2020 года вместе с релизом .NET 5.

Как я уже сказал, сам C# является базовым языком, на котором основана платформа .Net.
.Net долгое время развивалась, преимущественно, как платформа для Windows под названием .NET Framework. В 2019 вышла последняя версия этой платформы — .NET Framework 4.8. На данный момент она больше не развивается.
С 2014 Microsoft стал развивать альтернативную платформу — .

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

Платформу .Net можно охарактеризовать следующими характерными чертами:

  • Поддержка нескольких языков.
  • Кроссплатформенность.
  • Мощная библиотека классов.
  • Высокая производительность.

Все эти черты достигаются благодаря общеязыковой среде исполнения CLR (Common Language Runtime).
CLR — это базовый компонент виртуальной машины .Net, который присутствует в каждой версии платформы. Если очень просто описать суть CLR то это, своего рода, виртуальная машина, которая управляет выполнением программ, (менеджмент памяти, обработка исключений, сборка мусора, управление потоками, трансляция промежуточного кода в машинный и т.д.) написанных на языках, поддерживаемых платформой .Net (самые известные это Python (IronPython), JavaScript(IronJS), C++, Visual Basic(VB.

Net)).

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

Допустим, у нас есть исходный код C# (или написанный на другом поддерживаемом языке).

После трансляции этого кода, соответствующий компилятор или интерпретатор (в зависимости от языка) перерабатывает исходный код в ,так называемый, промежуточный (машинно-независимый) IL-код (Intermediate Language) и метаданные. Метаданные включают в себя информацию о типах, фактические реализации функций программы, данные о версиях и тд.
Далее в работу вступает CLR, которая обеспечивает выполнение управляемого промежуточного IL-кода. Внутри себя CLR еще использует JIT (Just-In-Time) компилятор, который преобразует IL-код в машинный код, специфичный для компьютерной среды, на которой работает JIT-компилятор. IL преобразуется в машинный код по требованию, то есть JIT-компилятор компилирует IL по мере необходимости, а не полностью.

Машинный код, полученный с использованием JIT-компилятора, затем исполняется процессором компьютера.

CLR также использует библиотеки классов .Net. Метаданные предоставляют информацию о языке программирования, среде, версии и библиотеках классов. Тем самым мы получаем кроссплатформенность, потому что не важно на какой платформе запускается исходный код, CLR сделает все сама, главное предоставить ей IL-код. То есть языки высокого уровня (или их отдельные интерпретаторы/компиляторы), должны поддерживать

CLI (Common Language Infrastructure) – это именно тот промежуточный IL-код, который может быть транслирован непосредственно в машинный код при помощи виртуальной машины CLR.

Я попробовал упрощенно изобразить весь процесс схематически:

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

MyBlog | моя записная книжка

Недавно проходил собеседование по Java. В тестах был вопрос. Что возвращает следующий код? Внимание, правильный ответ: Для меня было неожиданно, что s1 == s2. Это связано с тем, что в java есть так называемый string intern pool (см. String interning), в который заносится адрес обьекта строковой константы, при ее первом обьявлении. А если дальше еще […]

This entry was posted in Java and tagged java, String, string intern pool on by admin.

Последнее время пришлось по работе заниматься написанием небольшого приложения на AutoIt-те и в ходе работы выяснилось, что утилита Autoit Window Info Tool не всегда может извлечь информацию о том или ином элементе управления исследуемого приложения. Тут меня и разобрал интерес, а как эта утилита работает и что в действительности значит получаемая ею информация. Title для […]

This entry was posted in Разное and tagged AutoIt Window Info Tool, C++, WinApi on by admin.

Это пока что лишь черновик Цель данной статьи осветить некоторые тонкие моменты компиляции c++ приложения компилятором Visual Studio. Все примеры будут компилироваться из командной строки (bat файлами) это позволит лучше понять происходящее. В примерах я использую Visual Studio Express 2012 for Windows Desktop. Рассмотрим следующий простой пример консольного приложения Windows в котором печатаются все параметры, […]

This entry was posted in Разное on by admin.

Эта статья – перевод статьи Виртуальная машина (VM) это абстракция над уровнем операционной системы, которая позволяет эмулировать физическую машину. Виртуальная машина позволяет запускать одну и ту же платформу под различными операционными системами и аппаратными архитектурами. Интерпретаторы Java и Python можно рассматривать как примеры, в которых код компилируется в специфический для их виртуальных машин байт код. […]

This entry was posted in Java on by admin.

1) Создаем в корневой папке проекта файл build. xml приблизительно следующего содержания (см. ant.apache.org) 2) В Project → Properties → Builders добавляем созданный конфигурационный файл. После успешной компиляции консоль Eclipse должна выдать примерно следующее После этих изменений конфигурационный файл проекта .project примет следующий вид: Описание структуры этого файла можно найти здесь

This entry was posted in Eclipse on by admin.

Открыть любой файл проекта можно быстрее не просматривая списка пакетов проекта: Ctrl + Shift + R. Эта комбинация клавиш открывает диалоговое окно поиска файла по проекту. Допускаются также групповые символы: (?) – любой одиночный символ, (*) – любой символ или группа символов. Открыть любой тип (например класс или интерфейс) без просмотра списка пакетов, можно используя […]

This entry was posted in Eclipse on by admin.

Решил написать эту статью под впечатлением нескольких часов проведенных в поисках проблем с подключением к базе через SSH Tunnel в HeidiSQL. Если есть доступ к серверу по SSH , то гораздо удобней работать с базой через HeidiSQL, чем скажем через phpMyAdmin. Итак настройка подключения: 1) вкладка Settings: Здесь указываем параметры подключения к базе из конфига […]

This entry was posted in Разное on by admin.

Ниже привожу пример инициализации HttpClient для https доверяющего всем сертификатам

This entry was posted in Java and tagged httpclient, https, java on by admin.

Мои блоги — служба поддержки WordPress.com

На экране Мои блоги перечислены сайты и блоги WordPress.com, в которые вы можете вносить свой вклад и/или редактировать. Вы можете узнать, как получить к нему доступ, а также перенести, скрыть или оставить блоги на экране Мои блоги .

Содержание

Чтобы открыть это, щелкните изображение своего профиля в правом верхнем углу, а затем нажмите «Управление блогами», как показано на изображении ниже.

Мои роли пользователей

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

Видимость панели управления моими блогами

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

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

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

Фильтры

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

Основной блог

Установка наиболее часто используемого блога в качестве Основной упрощает доступ к его настройкам при взаимодействии с WordPress.com.

Статистика

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

Сообщение по электронной почте и голосом

Полную информацию об этом можно найти на страницах Сообщение по электронной почте и Голосовое сообщение.

Массовые действия

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

Затем в раскрывающемся списке Массовые действия выберите действие, которое хотите изменить. выполнить:

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

Добавить новый сайт или блог

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

Выйти из блога

Если вы больше не хотите быть участником, автором или редактором блога, наведите указатель мыши на URL-адрес блога, который хотите покинуть, и нажмите ссылку Выйти из блога :

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

Передача блога

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

Изменение адреса блога

Чтобы изменить адрес блога, см. вспомогательный документ «Изменение адреса блога».

Разнообразные планы и цены

Мои блоги от Toroblocks — Плюс эксклюзив

Пожизненная сделка

Купите один раз и защитите свои блоги навсегда!

14 отзывов

myBlogs от Toroblocks — Эксклюзив Plus

Пожизненная сделка

Купите один раз и защитите свои блоги навсегда!

14 отзывов

Единовременная покупка

49 долларов США/пожизненно 627 долларов

Присоединиться купить сейчас

60-дневная гарантия возврата денег. Попробуйте его в течение 2 месяцев, чтобы убедиться, что он подходит именно вам!

Купите один раз и защитите свои блоги навсегда! Toroblocks возвращается с еще одним мощным продуктом для блоггеров. MyBlogs от Toroblocks поможет вам защитить каждую запись/страницу вашего блога и отслеживать ваш контент на наличие подражателей по всему миру.

Никаких установок, никаких плагинов не требуется!

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

> Узнайте, кто пользуется вашим блогом по всему миру!
Кто-то скопировал содержимое вашего блога? Мы найдем и сообщим вам.

> Удалите украденный контент одним щелчком мыши.
Удаление украденного контента из Интернета еще никогда не было таким простым. Мы получили вашу спину.

Купите один раз и защитите содержимое своего блога на всю жизнь!

Лучшее для
  • Блогеры
  • Инфлюенсеры
  • Малый бизнес

Условия сделки

  • Пожизненный доступ к плану myBlogs от Toroblocks
  • Вы должны погасить код(ы) в течение 60 дней с момента покупки
  • Все будущие обновления плана myBlogs от Toroblocks

60-дневная гарантия возврата денег. Попробуйте его в течение 2 месяцев, чтобы убедиться, что он подходит именно вам!

myBlogs от Toroblocks — Эксклюзив Plus

Бессрочная сделка

Купите один раз и защитите свои блоги навсегда!

14 отзывов

Единовременная покупка

49 долл. США 627 долларов

Присоединиться купить сейчас

60-дневная гарантия возврата денег. Попробуйте его в течение 2 месяцев, чтобы убедиться, что он подходит именно вам!

Обзор Планы и функции От основателей Вопросы Отзывы


Все сообщения

Второй пост

Первый пост

Второй пост

Все сообщения

Второй пост

Первый пост

Поиск вопросов и отзывов

Минутку, загрузка вопросов.