Вот и снова итоговый пост. Прошлый тут
Сначала посчитаю сайты. Еще в прошлом итоге решил писать сокращенно, потому, что раз за разом расписывать подробно почти не меняющиеся числа — нет смысла.
Ссылки 4800+2800+200 = 7800;
Трафик 15600 + 5100 + 300 = 21000;
Немного фриланса = 9000;
И не забудем про расходы. Стабильно 3000 в месяц.
Итого 34800.
По играм. Игра про башню пошла в гору. И принесла за май 864 бакса. Хорошо ))
___
Однако в остальном, к сожалению, все застопорилось. За май не сделано ничего. Дооолго раскачивался после ретрита, дооолго подступался к Си шарпу. Все это плюс обычная прокрастинация привели к тому, что я не могу сказать, что у меня было что-то значимое в работе в мае.
Ну разве что все же подступился к Си шарпу.
C#
А раз си шарп самое значимое, что произошло в мае, то про него и буду писать.
Вообще уже есть один пост в котором я писал о своем знакомстве и давал краткие советы тем, кто только собирается за него взяться.
И хотя опыт у меня пока даже не дотянул до двух недель, равнодушным я уже не могу быть.
Он хорош. Возможно это действительно самое лучшее средство для вин-десктоп-софта. Я делаю такое предположение на основе того, чего я добился с нуля за две недели.
Но он как-то странно содержит в себе и простоту и сложность одновременно.
Простота заключается в том, что любую встававшую передо мной задачу я могу нагуглить или решить сам за время от 10 минут до пары часов. Как-то так получается. Хотя была одна простейшая задача, которая отняла у меня наверное часов пять.
На самом деле задача то сложная, многосоставная, просто я запнулся о одну мелочь, и пытаясь ее обойти потратил куууучу времени.
И вот тут я раз за разом сталкивался с сложностями.
Например, класс TextBlock отказывается работать с мышкой. При чем события в самом классе есть, но они не проходят. Ладно бы отказывался работать. Мне на самом деле и не надо, но он БЛОКИРУЕТ их не пускает дальше. Зачем…. Все пропускают, а он блокирует.
В си шарп у мышинного события есть параметр e.Handled, управляя которым по идее можно разрешить передать событие дальше на объекты которые лежат под целевым, или запретить. Но чтобы что-то с этим параметром сделать нужно сначала поймать событие. А оно не реагирует ))))
При чем похожий класс Label ловит события, а TextBlock нет. Я так и не понял смысла этого действия, и как они это сделали.
Ок, чтобы заставить текст реагировать на мышку я в итоге создал свой класс наследующий от Grid и впихнул в него текст и прямоугольник. Это помогло. Я наконец стал обрабатывать мышку, как мне хотелось. Но возникла другая проблема.
Оказывается в Си шарпе можно переопределять только те поля, которые это разрешают.
Я хотел повесить гетер/сетер на изменение размеров. Но с полями ширины и высоты ничего нельзя сделать, потому, что они не разрешены для редактирования.
(К счастью там оказалось событие изменения размеров. Ловлю его)
Еще. Хотел расширить класс Rectangle, а он… не дает его расширить. Типа класс «запечатанный» иди гуляй парень. (Так я впервые познакомился с командой sealed)
Блин, что это за фигня? дайте мне самому решать, что делать с полями, как работать с мышкой и какие классы расширять, что за детсад??
То есть возможностей-то много, но некоторыми из них запрещено пользоваться.Такие дела.
Но хватит пока о программировании.
Продуктивность
Набежало 70 рабочих часов. Это всего 26% от общего времени. Мало. В апреле было 36%. В марте, когда я работал активно было 59%.
Без коворкинга, конечно тяжелее работать.
Попробовал помидоры. Оказалось, это реально рабочая техника. Конечно до 59% мне не дойти без коворкинга, но часа три-четыре в день помидоры могут помоч выжать.
Чувствую что затягиваю разработку. Хотел набросать свой софт по-быстрому, чтобы ускорить разработку игр. В итоге мой маленький софтик становится сложнее, а игры не пишутся уже два месяца. Надеюсь в июне получится стартануть новую игру, наконец.
P.S следующий итоговый пост буду писать из Питера. Девушка моя уже тренируется говорить «поребрик», «кура» и «парадная».
Автор: Elsper.ru