Kuzevich

Kuzevich

Достался мне недавно файл с расширением .py - это программа на pyhon.

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

Оказалось все достаточно просто, но для таких же как я вкратце изложу.

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

Ее нужно скачать с официального сайта: https://www.python.org/

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

После скачки, интерпретатор нужно установить. Версия 2 по умолчанию устанавливается на C:\Python27

Для запуска вашей программы на Python, необходимо набрать в командной строке [путь до интерпретатора]\python.exe [путь до вашего файла с программой]\вашапрограмма.py

В моем случае получилось так: C:\Python27\python.exe C:\my\program.py

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

Traceback(most recent call last):
File"<program#8>", line 1,in<module>
import mysql.connector
ImportError:Nomodule named 'mysql'

Дело в том что по умолчанию в интерпретаторе Python отсутствует библиотека mysql.

Можно скачать ее с официального сайта и установить: https://dev.mysql.com/downloads/connector/python/

Но в Питоне есть замечательная утилита pip, которая автоматически устанавливает необходимые библиотеки.

Для этого нам нужно в командной строке набрать:  [путь до интерпретатора]\Scripts\pip.exe install mysql-connector-python

Все готово.

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

Вторник, 16 Апрель 2019 03:45

1С vs C# стоимость разработки

В сообществах программистов часто кипят споры о том, что 1С-ники не программисты, 1С не язык программирования и т.п.

Подолью масла в огонь :)

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

И конкретный пример:

Добрый день.

В продолжение темы об отправке Email из Unity на C#

Универсальное решение для всех почтовых клиентов подсмотрел здесь.

 

public static void SendMessageWithEmbeddedImages()
{
  string htmlMessage = @"<html>
                         <body>
                         <img src='cid:EmbeddedContent_1' />
                         </body>
                         </html>";
  SmtpClient client = new SmtpClient("mail.server.com");
  MailMessage msg = new MailMessage("Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.",
                                    "Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.");
  // Создаем HTML view
  AlternateView htmlView = AlternateView.CreateAlternateViewFromString(
                                               htmlMessage,
                                               Encoding.UTF8,
                                               MediaTypeNames.Text.Html);
  // Создаем текстовую альтернативу для почтовых клиентов, не поддерживающих HTML
  AlternateView plainView = AlternateView.CreateAlternateViewFromString(
                                              Regex.Replace(htmlMessage,
                                                            "<[^>]+?>",
                                                            string.Empty),
                                              Encoding.UTF8,
                                              MediaTypeNames.Text.Plain);
  string mediaType = MediaTypeNames.Image.Jpeg;
  LinkedResource img = new LinkedResource(@"C:\Images\MyImage.jpg", mediaType);
  // Обязательно установите все эти значения!!!
  img.ContentId = "EmbeddedContent_1";
  img.ContentType.MediaType = mediaType;
  img.TransferEncoding = TransferEncoding.Base64;
  img.ContentType.Name = img.ContentId;
  img.ContentLink = new Uri("cid:" + img.ContentId);
  htmlView.LinkedResources.Add(img);
  //////////////////////////////////////////////////////////////
  msg.AlternateViews.Add(plainView);
  msg.AlternateViews.Add(htmlView);
  msg.IsBodyHtml = true;
  msg.Subject = "Some subject";
  client.Send(msg);
}

Создавая пользовательский интерфейс, понадобилось добавить эффект салюта.

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

Выхода два:

1) Скачать asset, упрощающий добавление эффектов в UI отсюда.

Посмотреть как это работает, можно здесь.

2) В свойствах Canvas установить Render Mode: Screen Space - Camera, а в Render Camera выбрать Вашу камеру. Тогда Canvas встроится в отображение камеры и таким образом будет видны эффекты частиц.

Подробнее здесь.