Персональный сайт Александра Тауениса » Программирование & разметка

Как отделить хвост ветки Git в отдельную ветку

При разработке очередной версии WebOne случился такой конфуз, что начал делать в master-ветке фичу, которую явно делать очень долго, и к ближайшему релизу точно не успею её доделать. Надо эти изменения выделить в отдельную ветку, чтобы можно было продолжить развитие программы от точки до начала реализации этой долгой фичи. И сейчас я расскажу, как это делается средствами консольного Git. (далее…)

Добавлено 22 мая 2020 в 15:43 (по Москве) A.T. в раздел(ы) Программирование & разметка.
Слова для поиска: , , , , .
Нет комментариев »

Новый способ добавления ссылок в .NET Core

Изначально проект WebOne я писал на C# под .NET Framework 4.x/Mono. Но потом стало ясно, что пора переходить на .NET Core. Пересоздал проект (прямой переход в Visual Studio 2019 ещё не сделали, как с VB 6.0 на VB 2002), запускаю компиляцию, и…

Ошибка CS1069 Не удалось найти имя типа «PerformanceCounterCategory» в пространстве имен «System.Diagnostics». Этот тип был отправлен в сборку «System.Diagnostics.PerformanceCounter, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51». Попробуйте добавить ссылку на эту сборку.

Специально для таких же как я, первый раз увидевших .NET Core 3.1 после .NET Framework 4.8 расскажу, как по новому добавляются ссылки (References) к проектам Visual Studio. «Мы будем жить теперь по новому! О люба-люба-любэ…»


(далее…)

Добавлено 6 апреля 2020 в 13:36 (по Москве) A.T. в раздел(ы) Программирование & разметка.
Слова для поиска: , , , .
Нет комментариев »

Про Яндекс.Фотки

Иллюстрация
С момента основания сайта в 2011 году, все фотографии и иллюстрации для него я размещаю в своей фотогалерее на портале Яндекс.Фотки (http://fotki.yandex.ru). К сожалению, этот сервис не приносит владельцам столько прибыли, сколько им требуется, и Яндекс объявил о слиянии Я.Фоток с облачным хранилищем Яндекс.Диск. Однако, Я.Диск существенно отличается по функциональности от Я.Фоток. В первую очередь, он не может предоставлять прямые ссылки для встраивания содержимого на другие сайты. Во-вторых, в Я.Диске нет меток (тегов) и геопривязки фотографий к местности, а также не столь удобна система альбомов (папок).

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

Программа доступна по ссылке: скачать.
Работает утилита на Windows 7/8/8.1/10.

Желающие помочь разработке могут присоединиться на GitHub: atauenis/YaFotki.

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

Добавлено 11 апреля 2018 в 15:09 (по Москве) A.T. в раздел(ы) Новости, Программирование & разметка, Программы.
9 комментариев »

Особенность сокетов в .NET

При работе примитивными протоколами (HTTP, FTP, IRC, etc) в среде .NET C# при помощи прямого доступа к сетевым сокетам (что не лучший вариант в обычных ситуациях), может возникать ощущение, что пакеты то ли не отправляются, то ли не принимаются. Сетевая диагностика (wireshark и т.п.) показывает, что отправляться пакеты отправляются, а вот в обратную сторону почему-то не идут. Советую не ломать голову в таких ситуациях, искать буфера в сетевом стеке, беспредел сетевых экранов (хотя экранчики-то мигают в taskbar’e) и прочую дребедень. Проверьте, а добавили ли Вы перенос строки в конец посылаемых сообщений? Многие реализации серверов не смотрят на конец пакета, а смотрят на завершение строки — где-то это \0, где-то \n, а чаще всего это \r\n (Environment.NewLine). Удачи в работе с сокетами!

Добавлено 30 мая 2014 в 14:13 (по Москве) A.T. в раздел(ы) Программирование & разметка.
Нет комментариев »

Если нет userChrome.css

Давно не приходилось залезать в файл userChrome.css, что в браузере Firefox отвечает за пользовательские модификации интерфейса. Когда-то он находился в подкаталоге chrome каталога профиля пользователя. Тут вдруг оказалось, что Firefox 29 вышел не современным, удобным браузером для продвинутых людей, а дерьмом для быдла. Самое обидное, что ранее переносимую в настройках панель вкладок закрепили жёстко между панелью меню и панелью URL (которую, в свою очередь, жёстко соединили с блоком кнопок «назад-вперёд», и между ними ничего не вставишь больше). Плагин Classic Theme Restorer (Customize Australis) ломал весь интерфейс, видимо, из-за Яндекс Бара Элементов и сильно заросшего с 2009 года профиля, поэтому наблюдать разъехавшийся интерфейс только ради смещения панели вкладок не хотелось. Впрочем, быстро нашёлся выход, но о нём чуть ниже. (далее…)

Добавлено 1 мая 2014 в 10:28 (по Москве) A.T. в раздел(ы) Программирование & разметка.
Слова для поиска: , , .
Нет комментариев »

Интересная особенность Xwt.Gtk

В составе кросс-платформенного тулкита XWT есть такой контрол, как Spinner. В нативном тулките GTK+ он присутствует, по идее он должен существовать и в производных фреймворках. Но в GTK# его почему-то нет. Поэтому, в ХШТ сделали извращения с прямыми вызовами GTK+ через P/Invokи. При внедрении Xwt.Spinner’a под Linux возможно вылетание ошибки TargetInvocationException с таким вот стеком вызовов:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.DllNotFoundException: libgtk-win32-2.0-0.dll
at (wrapper managed-to-native) Xwt.GtkBackend.Spinner:gtk_spinner_new ()
at Xwt.GtkBackend.Spinner..ctor () [0x00000] in :0
at Xwt.GtkBackend.SpinnerBackend..ctor () [0x00000] in :0

Я начал разбираться в исходниках Xwt и создал баг в трекере этого проекта. (далее…)

Добавлено 29 января 2014 в 20:18 (по Москве) A.T. в раздел(ы) Программирование & разметка.
Нет комментариев »

Контейнеры Xwt VBox и HBox

В библиотеке абстракции от интерфейсов ОС XWT для размещения элементов управления на форме используются промежуточные классы — Box’ы, Canvas’ы и Paned’ы, возможно ещё есть какие-то другие. В данной статье рассматриваются контейнеры VBox и HBox. (далее…)

Добавлено 24 ноября 2013 в 14:37 (по Москве) A.T. в раздел(ы) Программирование & разметка.
Слова для поиска: , , , .
Нет комментариев »

ElementHost & System.InvalidOperationException

Вообще, совмещение WPF и Windows Форм (как и любых двух фреймворков интерфейса) является полнейшим костылём. Но бывают случаи, когда приходится их совмещать. Для этого в WinForms 3.5+ имеется элемент управления ElementHost. Но вот ведь незадача, в одних проектах он работает замечательно, в других сразу после добавления в форму программа перестаёт работать с ошибкой в автоматически созданном VS файле xxx.Designer.cs. (далее…)

Добавлено 14 ноября 2013 в 16:15 (по Москве) A.T. в раздел(ы) Программирование & разметка.
Слова для поиска: , , , , .
Один комментарий »

Панель Xwt.Canvas в Xwt

В фреймворке абстрагирования интерфейса пользователя «XWT» [вроде как] нет абсолютного позиционирования элементов. Это связано с его происхождением от GTK#, где форма может содержать только один элемент но неограниченное количество подэлементов, если этот единственный элемент — носитель элементов-холст. Также оно и в XWT. Итак, сегодня я расскажу про то, как создать холст и разместить на нём элементы. (далее…)

Добавлено A.T. в раздел(ы) Программирование & разметка.
Слова для поиска: , .
Нет комментариев »

Дружим Xwt и Windows Forms через WPF

Вчера на Хабрахабре вышла статья про новый неизведанный фреймворк для абстракции .net-программ от системных реализаций интерфейса — XWT (Xamarin Window Toolkit). Документации на него ноль. Однако случайно наткнулся на одну интересную функцию иксвэтэ — Xwt.Application.InitializeAsGuest (Xwt.ToolkitType.*). Никакой документации на неё пока что нет. Но это ведь не помеха? Приступим к изучению!
Заранее предупреждаю, что необходима среда .Net 4.0 и выше (т.е. Visual Studio 2010+). Перекомпиляция XWT под .Net 3.5/2.0/1.1 весьма нетривиальная задача.
(далее…)

Добавлено A.T. в раздел(ы) Программирование & разметка.
Слова для поиска: , .
Нет комментариев »