Ознакомьтесь с нашей политикой обработки персональных данных
  • ↓
  • ↑
  • ⇑
 
Записи с темой: программирование (список заголовков)
15:25 

Я не сплю, я перешел в режим замедленного функционирования
Вот так номер. Оказывается, мое изучение C++ пошло во вред моему программированию в .Net.
Я постараюсь объяснить, чтобы было понятно и непрограммистам.
В объектно-ориентированном программировании для работы с объектами требуется их инициализировать (выделить под них память). А когда эти объекты перестают быть нужными, их необходимо уничтожать (освобождать выделенную под них память).
Так вот, в C++ при создании объекта автоматически вызывается специальная подпрограмма - конструктор, а при уничтожении объекта также автоматически вызывается другая специальная подпрограмма - деструктор. Если деструктор не создавать, то часть памяти может не освободиться, что приведет к утечке памяти.
А в .Net работает несколько другая модель. Здесь избавление от объекта не приводит к немедленному запуску деструктора. Вместо этого очисткой памяти занимается специальный процесс - сборщик мусора. И именно он занимается вызовом подпрограммы-деструктора, при этом делает это только при необходимости.
Другими словами, это значит, что деструктор может быть вызван через секунду, через час, или вообще никогда после избавления от объекта.

TL;DR: Хоть C++ и языки .Net имеют сходства, но часть этих сходств у них работает совершенно по-разному.

Ок, цепь записей про игры прервана, можно снова постить про игры... :lol:

@темы: Программирование

15:31 

Я не сплю, я перешел в режим замедленного функционирования
На работе встраиваю компонент распознавания лица на фотографии в наше ПО для приемной комиссии...
Не знаете, есть ли более удачный текст ошибки, чем "Не удалось обнаружить морду лица!"?

@темы: Программирование, Работа

17:56 

Visual Studio Hate

Я не сплю, я перешел в режим замедленного функционирования
Вдогонку к моей записи про Steam, еще чуток ненависти

Visual Studio, I hate you sooo much right now...
читать дальше

@темы: Программирование, Работа

20:49 

Я не сплю, я перешел в режим замедленного функционирования
Сегодня я каким-то образом умудрился найти время на работе и открыл проект своей игры, которую не трогал с 2012-го (на самом деле, где-то с 2010-го).
Ох, какой же там ужас, я просто схватился за голову от того ужасного кода, что у меня там написан. Даже после минуты просмотра захотелось переделать ~80% этого кода - там используется кошмарная смесь процедурного программирования и ООП, плюс сотни (я не шучу, СОТНИ) глобальных переменных. Получается прямо галлерея антипаттернов :D. Тем не менее, смог найти время, чтобы исправить около десятка ошибок. И набранную инерцию смог использовать для того, чтобы немного продвинуться по аспирантуре. Nice.

Кроме того, что-то ударило мне в голову начать Let's Play. Игры X-Com Interceptor. На английском языке xD.
Первая моя попытка была на уровне сложности Genius (4/5). Про Superhuman я даже не задумывался - я как-то пробовал в него играть... Это БОЛЬНО. Даже с бесконечными Save/Load, которые ну никак не пригодны для LP.
Итак, на Genius я прожил где-то 4 месяца, после чего меня просто смели. Поэтому пришлось укротить свою гордыню и играть на Experienced (3/5).
Записал примерно час, стал смотреть, что получилось... Елки-палки, я звучу как советский юнит из Red Alert 2... РЭДИ КОМРАД :lol:

@темы: Common Universe, Игры, Программирование

14:04 

Я не сплю, я перешел в режим замедленного функционирования
Мдя, какие же это противные языки - C и C++...

@темы: Программирование

11:18 

Я не сплю, я перешел в режим замедленного функционирования
*бьется головой о подушку*
Просто... посмотрите это... :lol::lol::lol:
sizeof.livejournal.com/23169.html?nojs=1

@темы: Юмор, Программирование

18:27 

Я не сплю, я перешел в режим замедленного функционирования
Пожалуй, это была самая глубокая компьютерно-хирургическая операция, которую я когда-либо делал.
На работе в нашей программе редко-редко стала проявляться аномалия - в списке адресов почему-то переставали отображаться добавляемые адреса, несмотря на то, что они были в связанной с ним таблице.
Поймав очередной такой момент, я таки уговорил начальство позволить мне взять дамп с этой программы. Дамп - это полное содержание памяти приложения. Потратив примерно час на попытки правильно открыть его в Visual Studio, я получил прямо в нос списком из 12-ти нитей выполнения. Посмотрев стек каждой из них, я нашел точку в программном коде, откуда мог начать поиски проблемы.
Результат поиска:
Проблема - обнаружена, в какой-то момент таблица с данными умудряется раздваиваться - одна остается как источник данных для списка, а со второй, собственно, ведется работы по добавлению/удалению строк. Если бы не дамп, я бы никогда об этом не додумался бы.
Причина - не имею ни малейшего понятия 0_о. Я просмотрел упоминание этой таблицы по всему коду, и нет ничего, что могло бы стать причиной такого поведения.
Решение - я, эм... сделал что-то в нескольких местах... Не имею понятия, поможет ли это...

Тем не менее...
Programming Level Up!
New ability: Dump analysis.

@темы: Программирование

11:07 

Я не сплю, я перешел в режим замедленного функционирования
Выбираем название для агрегатной функции для SQL, написанной на .Net.
Решаем по поводу префикса.
Взяли uf - User Function.
И тут я думаю - функция-то агрегатная...
Получается ufagg :lol::lol::lol:

@темы: Программирование, Юмор

13:29 

Я не сплю, я перешел в режим замедленного функционирования
*удаляя командные проекты для их пересоздания*
"Предупреждение. Удаление командного проекта является необратимой операцией. Все данные системы управления версиями, результаты отслеживания рабочих элементов и данные построения Team Foundation будут удалены из системы. Единственный способ восстановить эти данные - восстановление резервных копий баз данных. Удалить командный проект и все связанные с ним данные (ДН)?"

Я, DragDen, властью, данной мне... мною, удаляю этот проект. Д.

@темы: Программирование, Компьютеры

15:17 

Попытка работы с TFS 2012

Я не сплю, я перешел в режим замедленного функционирования
Бесплатная лицензия на Plastic SCM закончилась, а купить его университет не может из-за бюрократии. Поэтому пришлось искать замену.

Почувствовал себя игроком в Uplink - в пятницу через начальника заказал у техотдела виртуальный сервер, в понедельник его настраивали, и во вторник дали мне администраторский удаленный доступ на него.
Решили попробовать майкрософтовский Team Foundation Server (TFS) 2012.
Энергии на сочинение уже мало, поэтому скажу кратко - жуть. Все по-другому на уровне парадигм. Ощущение примерно как если пересесть со спорткара на трактор.

Стоит отдельно отметить то, что я долгое время не мог создать новый проект - выдавалось сообщение "У вас отсутствуют необходимые разрешения". Поискал эту проблему в интернете. Оказалось, что это неправильное сообщение - на деле Visual Studio 2010 не была расчитана на работу с TFS 2012. Там же нашел фикс этой проблемы. Скачал, установил. Вы думаете, что теперь ошибка устранилась? ЩАЗЗЗ, все, что сделал этот фикс - исправил сообщение об ошибке "Вы пытаетесь создать командный проект либо без необходимых разрешений, либо из старой версии" *facepalm*. В результате пришлось поставить клиент TFS 2012.

После еще нескольких таинственных ошибок я наконец смог все настроить хотя бы до уровня работоспособности до установки TFS.
Попытался разобраться... И под впечатлением решил изобразить все в виде отрезка из комикса Let's Destroy Shagohod под авторством Hiimdaisy (да, я редактировал его в пэйнте, поскольку больше у меня на работе нет графических редакторов):
читать дальше

@темы: Программирование, Компьютеры

12:14 

Я не сплю, я перешел в режим замедленного функционирования
Мой любимый принцип ООП: "У этого контрола нет возможности менять цвет заднего фона.... Ладно! Я создам свой контрол, со свойствами, и методами!" :D

@темы: Программирование

21:07 

Я не сплю, я перешел в режим замедленного функционирования
Работая над датами в SQL, часто задумываюсь над форматом дат...
С точки зрения информационных систем (для сортировки) лучше Год-Месяц-День, а с точки зрения восприятия, внезапно, лучше российский формат - День.Месяц.Год (как бы по увеличению масштаба).
Но в чем смысл американского формата даты - Месяц/День/Год?.. Я не вижу у него ни одного плюса перед теми двумя.

@темы: Программирование

18:08 

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

Все, триггер стал отметать любые новые соединения. К счастью, текущее соединение я не прерывал, поэтому быстренько закомментировал ту часть, что отвечала за отказ в соединении, обновил триггер.
Неа, триггер по-прежнему отметает новые соединения. Все закомментировал, оставил внутри триггера всего три оператора DECLARE. Пробую соединиться.
Все равно отвергает соединение. Хочу удалить триггер - ошибка, не удается установить подключение. Я тут уже малость перепугался, подумал, что время моего сеанса закончилось. В триггере, вдобавок к имеющимся DECLARE, раскомментировал SELECT.
О, чудо, подключиться удалось!
Но, серьезно, WTF?

@темы: IT-мунспик, Программирование

16:41 

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

@темы: Программирование

16:54 

Я не сплю, я перешел в режим замедленного функционирования
Будучи чайником в астрономии (хотя когда-то очень сильно интересовался ею), пытаюсь написать программу рисования орбиты. Пока получается какой-то мусор:
s017.radikal.ru/i441/1307/82/203fbe507fdd.png
s003.radikal.ru/i202/1307/2d/75f733daf3d5.png

Большой чОрный шар - гравитационная доминанта, маленький - нечто, что вращается вокруг, зеленая палка - вектор скорости, вертикальные палки из обоих шаров - направление их поворота.

@темы: Программирование

17:57 

Я не сплю, я перешел в режим замедленного функционирования
Вернулся с дачи... Не думал, что когда-либо я это скажу, но как же хорошо было провести 4 дня без компьютера и интернета. Наконец-то и глаза, и процессор смогли передохнуть. Правда, последний внезапно инициировал очередную Strange Mood, направленную на CU, где наконец-то решил несколько сложных проблем, над которыми я думал.
читать дальше

@темы: Программирование, Common Universe

22:59 

Я не сплю, я перешел в режим замедленного функционирования
DragDen, Programmer has created a FlashScanner, a VB.Net Program!

This is a VB.NET Program. All craftsdragonship is of the highest quality. It is encircled with bands of WQL Queries. This object is adorned with lots of commentaries and menaces with spikes of multithreading.
On the item is an image of DiskDrive in WQL Query.
On the item is an image of table Win32_DiskDriveToDiskPartition in WQL Query. The Query is invalid. This artwork relates to this damned invalid Query with Like keyword in it.

@темы: Программирование, Dwarf Fortress

14:05 

Я не сплю, я перешел в режим замедленного функционирования
My god... Кто бы мог подумать, что в Windows можно получить доступ к колоссальному количеству системных параметров через SQL-подобный запрос? Судя по всему, даже диспетчер устройств использует этот же механизм для вывода информации о имеющихся устройствах. Там свыше тысячи различных таблиц. И там даже можно привязываться к любым системным событиям.
This power is incredible! So... MUCH... POWER! Muahahahaha!!


Drag Den, Programmer cancels Work: Taken by mood.
Drag Den, Programmer withdraws from society...
Drag Den claimed a Notebook
Drag Den has begun a mysterious construction!
Drag Den works furiously!

@темы: Программирование

02:04 

Я не сплю, я перешел в режим замедленного функционирования
Я раньше сильно боялся наследования, но теперь... чувствую себя как Нео, который попал в Матрицу :).

@темы: Программирование

14:02 

Я не сплю, я перешел в режим замедленного функционирования
Oh my gosh, это просто сокровищница полезных знаний!
content.gpwiki.org

Теперь бы очистить место в моей терминально переполненной памяти...

@темы: Программирование

DFO

главная