Яблоновский сад
В XIX веке на этом месте существовала деревня Яблоновка. В конце 1880-х годов там была организована городская свалка, куда свозили мусор со всего правого берега Невы. Она постепенно разрасталась и вскоре поглотила деревню. В таком виде свалка просуществовала до 70-х годов XX века, пока не началась застройка близлежащей территории жилыми домами.
В 1985 году был подготовлен проект преобразования свалки в городской парк. В течение 2-х лет на курганах были уложены дорожки. На самом высоком кургане предполагалось установить памятник латышским стрелкам, однако, в 90-е годы все планы рухнули.
В январе 2012 года началась застройка территории кургана, не входящая в состав официального Яблоновского сада — на Российском проспекте. Там предполагалось создать перехватывающую парковку. Жители выступили против.
Весной 2012 года жители окрестных домов и активисты-экологи провели ряд акций, направленных на превращение кургана в сад: убран и вывезен мусор, посажены деревья. В 2015 году на этом же месте началось строительство нового спортивного комплекса. Также предполагалось в части парка около улицы Ворошилова сначала создать снегоплавильный пункт, затем — храмовый комплекс.
В декабре 2015 года Яблоновский сад был включён в список зелёных насаждений.
Небольшая заморочка на языке С#
Привет. Столкнулся с проблемой в написании кода и решил спросить совета у коллег. Заодно решил проверить, всесилен ли пикабу? (Надеюсь, что да). Поэтому проблему решил излить не в специализированном форуме, а здесь - на развлекательном ресурсе. Посмотрим, что из этого выйдет.
Проблема в синтаксисе языка C#. Имеется функция, которая принимает на выполнение некую коллекцию. В зависимости от типа объектов в коллекциии, она должна инициировать определенный менеджер и выполнить операцию.
Операции предельно одинаковые, но реализация этой операции в рамках менеджера сильно сильно отличается. Поэтому функция должна быть одна, но вызывать разные классы с общим родителем.
Теперь приведу код для примера. Конечно сильно упрощенный:
Опишем структуру данных
//Объекты Дом, Улица, Город. Для примера они пустые. Но и так понятно, что там может быть
public class BaseObject { }
public class House:BaseObject { }
public class Street : BaseObject { }
public class City : BaseObject { }
//Базовый класс набора менеджеров
public class BaseManager<T>
{
public virtual void Export(T objectToExport) { }
}
//Менеджер для операции экспорта домов
public class HouseManager:BaseManager<House>
{
public override void Export(House objectToExport)
{
//Что - то делаем для экспорта
}
}
//Менеджер для операции экспорта улиц
public class StreetManager : BaseManager<Street>
{
public override void Export(Street objectToExport)
{
//Что - то делаем для экспорта
}
}
//Менеджер для операции экспорта городов
public class CityManager : BaseManager<City>
{
public override void Export(City objectToExport)
{
//Что - то делаем для экспорта
}
}
Собственно макет некой функции, которая выполняет логику:
public void DoExport(List<BaseObject> exportCollection)
{
BaseManager<T> manager = null;//Как мне этот менеджер объявить?
if (exportCollection[0].GetType() == typeof(House))
{
manager = new HouseManager();
}
else if (exportCollection[0].GetType() == typeof(Street))
{
manager = new StreetManager();
}
else
{
manager = new CityManager();
}
//Пробежимся по всем объектам коллекции и вызовем операцию экспорта
foreach (BaseObject item in exportCollection)
{
manager.Export(item);
}
}
Эта функция будет окрашена красным и не скомпиллируется. Т.к. я ума не приложу, как красиво задекларировать переменную manager
var manager = null; не катит. Т.к. требуется инициализация.
var manager = new HouseManager(); пропустит, но на этапе преобразование в блоке условий не даст собрать приложение.
Выход был найден, если объявить этот менеджер так:
dynamic manager = null;
Тогда все работает как надо. Но имеется огромный минус. Полностью пропадает контроль над кодом. Изменения в классах никак не отследить на этапе сборки. Только ловя исключения.
А если учесть, что реальная программа много сложнее, является службой с поддержкой многопоточного выполнения операций, то это не лучшее решение. Но пока единственное.
Прошу знающих людей помочь советом. Чувствую, что как - то можно это все сделать. И где - то я торможу.
Кошка ищет дом г. Смоленск
Пару недель назад рядом с нашим офисом поселилась кошечка. Мы её кормим, но пытаемся найти дом. Уже и знакомых всех обзвонили и в городских группах вк объявления дали, но результата никакого. Кошечка очень ласковая, пушистая, зеленоглазая, да и просто чудо! По виду молодая (1,5 - 2 года, не больше). К себе взять, к сожалению, не могу (уже двоих подобрал). Фоткал на китайфон, прошу прощения за качество.
Контакты для связи в комментах.
Если бы люди стали роботами. Веган
Серия рисунков, "Если бы люди стали роботами"
Идею предложил: Padredelosmares
Ещё идеи приветствуются))
Кто нашёл Пакмана (Pacman) в рисунке? )
Корпоратив в саудовском университете
Продолжаю писАть (и творить) новейшую историю Саудовской Аравии. На этот раз совершенно случайно (потому что не предупредили заранее) оказался на нашем университетском корпоративе. Поскольку особо не готовился, то пришлось все снимать в стиле акына на смартфон. Как следует из комментариев к этому видео на моем канале, таже такое снятое на скорую руку рвет многие шаблоны. Так что считаю, что мои усилия по продвижению объективной информации в массы не напрасны.
Сам корпоратив был первым в истории университета (и всей страны в целом, как я думаю, потому что наш университет в этом смысле особенный). Но, как говорится, лиха беда начало!
Пожалуйста помогите! Щенок ищет дом или его отдадут в приют( Москва [Собаку забрали]
Помогите, пожалуйста пристроить! Щенок лабрадора, девочка. 5 месяцев. Все прививки, справки есть. Очень добрая, ласковая. Хозяин понял, что не справится с собакой. Если не пристроим, отдаст в приют. Жалко до слёз( Если надо привезет по всей Москве. всё Бесплатно! Главное, чтобы она нашла новых любящих хозяев.
Роспись футболок
Новое хобби.
Не так давно заинтересовалась росписью футболок, почитала в интернете - что купить для начала. Купила несколько баночек акриловой краски по ткани фирмы Decola (уже после приобрела набор таких красок),кисточки...и затянуло...потом пошли смывающиеся маркеры,специальные смывающиеся карандаши для нанесения эскизов на ткань,трафареты,валики,контуры, множество кисточек разного размера и т.д. и т.п......Начала практиковаться сначала на старых белых простынях,домашних футболках...потом появился первый заказ сразу на три футболки,следом выстроилась очередь,мама,сын.....
Моя футболка,купленная в магазине и справа первая "проба пера".
готовая кошечка (воображуля)
Нарисовала мышонка и сестра сразу захотела себе на футболку такого же "грустняку"😞
.....потом появились такие вот "влюблёныши". Рисовать чёрной краской на белом полотне - одно удовольствие! Правда краска неравномерно ложится, где блестит,где не блестит(((После уже пробовала в несколько слоёв рисовать,получалось уже более равномерно)
Попробовала на своей домашней футболке....СОВЕТ: желательно,чтобы это футболка была 100% хлопок. Под верхний слой ОБЯЗАТЕЛЬНО подложить картонку, чтобы краска не просочилась на второй слой футболки, я использую пластиковую досочку для творческих работ,купленную в FIX-PRICE.
Рисую каждый день, невозможно усидеть на месте, хочется пробовать и пробовать,набираться опыта. И вот....опять кошки, люблю картинки с кошками)))и различными "чудиками". В будущем планирую сделать много "чудиков"
"Чудики"-это что-то типа этого))
или этого)