Метка «c#.net»

Все началось с того, что нам надоело собирать поставки от внешних разработчиков (ВР) вручную.

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

Поставка от ВР может приходить в виде исходного кода или набора бинарных файлов. Поставку с исходниками предварительно необходимо собрать и протестировать, а тут уже могут использоваться и собственные скрипты, и TFS, и maven, и т. д. и т. п. но это уже совсем другая история…

Так же каждый ВР присылает поставки в разном формате, так как нет жесткого регламента структуры поставки.
Читать полностью »

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

Написано уже немало про обработку исключений в C#, написано хорошо и местами подробно, но я попытаюсь внести свою скромную лепту в этот вопрос. Данная статья является просто некой попыткой лучше осмыслить и систематизировать в рамках одной, пусть даже очень условной концепции возможные подходы к проблеме. Хорошая практика обработки исключений, на мой взгляд, освещена довольно скудно и не создает целостной завершенной картины, когда, как и где работать с исключительными ситуациями в коде.
Читать полностью »

Чуть более года назад, стояла задача написания web приложения работающая с БД Postgresql. К моему сожалению, стандартного адаптера для работы с БД PostgreSQL не было, а с тем, что был найден на просторах интернета ( бесплатный ) работать было не возможно.
В итоге было решено обойтись библиотекой Npgsql.
Как работать с этой библиотекой, есть документация и множество примеров в интернете. Сразу же после начала работы с ней, мне не понравилось, что нужно много писать однотипного кода. Для облегчения работы была создана дополнительная прослойка в виде отдельного класса, для работы с БД через данную библиотеку.

Особенности:
1. данные для подключения берутся с файла web.config
2. есть возможность для работы с несколькими подключениями. ( например если у проекта модульная система, и каждый модуль работает только со своей схемой )
Читать полностью »

В группу компаний Гепард-центр (где я сейчас и работаю) требуется разработчкик. Офис находится в 10 минутах ходьбы от ст. м. Полежаевская. Сайт — http://гепард-центр.рф/

Задачи:
Разработка нового функционала
Оптимизация кода
Исправление дефектов, рефакторинг
Приведение к общеизвестным паттернам, дальнейшее развитие и сопровождение готового проекта

В данный момент у нас есть 3 проекта: обучающее ПО для школ с проведением экзаменов (типа программы в ГАИ), программа документооборота для охранных организаций, ПО для терминалов оплаты. На нашем сайте можно загрузить первые 2 проекта и ознакомиться с ними.

Требования:
Читать полностью »

Сначала нужно, чтобы все кубики сложились...

image

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

Читать полностью »

Это вольный перевод статьи с сайта tamas.io о программном отключении и включении горячих клавиш Windows средствами C#. Совсем недавно мне самому понадобились подобные функции в моей программе и я с удивлением обнаружил, что в рунете ничего об этом нет, да и вообще в сети об этом сказано совсем немного. Так что, если интересно или также нужно, как было мне — добро пожаловать!
Читать полностью »

Техническое собеседование – практически неотъемлемый атрибут трудоустройства любого разработчика, а для старших разработчиков – проведение их (собеседований) ещё и чуть ли не повседневная обязанность. Но как за короткий срок (в идеале 20-30 минут) составить у себя более менее приемлемое представление о реальном опыте соискателя?

Читать полностью »

Запасаем впрок

Иногда в процессе работы бывают нужны данные из веб-сервисов, тем более SOAP соединения сегодня практически стандарт.

ETL-процесс (Extract — Transform — Load) это термин из Business Intelligence и описывает процесс сбора и трансформации данных для создания аналитической базы данных (например хранилища данных).

SOAP протокол обмена данных и веб-сервисы описываемые WSDL — распространенные окна в мир практически всех ERP систем, многих онлайн порталов и финансовых организаций.

Попробую описать пошагово ETL процесс с помощью одного из мощнейших инструментов в классе — MS Integration Services.

Итак, рассмотрим тестовую задачу.

Задача

Необходимо собрать данные о курсах валют по отношению к рублю на каждую дату прошлого года и загрузить их в таблицу для последующего анализа. Центробанк России предоставляет историчекие данные — в виде веб сервисов с неплохим описанием.
Похоже это и есть решение.
Читать полностью »

Работа с растром на низком уровне для начинающихПоводом для данной статьи стал следующий пост: «Конвертация bmp изображения в матрицу и обратно для дальнейшей обработки». В свое время, мне немало пришлось написать исследовательского кода на C#, который реализовывал различные алгоритмы сжатия, обработки. То, что код исследовательский, я упомянул не случайно. У этого кода своеобразные требования. С одной стороны, оптимизация не очень важна – ведь важно проверить идею. Хотя и хочется, чтобы эта проверка не растягивалась на часы и дни (когда идет запуск с различными параметрами, либо обрабатывается большой корпус тестовых изображений). Примененный в вышеупомянутом посте способ обращения к яркостям пикселов bmp.GetPixel(x, y) – это то, с чего начинался мой первый проект. Это самый медленный, хотя и простой способ. Стоит ли тут заморачиваться? Давайте, замерим.

Использовать будем классический Bitmap (System.Drawing.Bitmap). Данный класс удобен тем, что скрывает от нас детали кодирования растровых форматов – как правило, они нас и не интересуют. При этом поддерживаются все распространенные форматы, типа BMP, GIF, JPEG, PNG.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js