Сурикат

События 2017-го года

Думаю, что это хорошая традиция - писать про прошедший год, вспоминать, анализировать.
Collapse )
Collapse )
Collapse )
Collapse )
Collapse )
Collapse )
Collapse )
Collapse )
Collapse )
Collapse )
Collapse )
Collapse )
Вместо заключения.
Если кратко сказать, что было в этом году, то это работа в Москве и путешествия из Москвы.
Из хорошего: у нас теперь есть друзья в самой Москве (правда, большинство из них из Екб и это очень забавно), также есть теперь увлечение - барабаны, фехтование (я успел за год начать им заниматься заново и бросить), исторические танцы (сравнивали разные студии, даже нашил одну интересную-подходящую). Путешествия всегда хороши и их мало не бывает. В следущем году, правда, будем уменьшать количество, как самую жирную статью расходов.
Иринка поменяла работу, с небольшим отдыхом на несколько месяяцев. Теперь работает в крутецкой кампании, а не агенстве. Но и там очень тяжелая работа, не завидую ей.
Количество танцев в моей жизни уменьшилось, пластика стала пропадать, это грустно, тут нужно либо смириться и принять, что у меня сейчас просто становятся другие увлечения, либо вернуться и танцевать. Параллельно с этим ухудшилась фигура, стало пузико выпирать, вот это невыносимо ужасно. Думаю, какими средствами с этим справляться.
За здоровьем мы оба стали следить регулярнее и внимательнее. Есть всякие небольшие проблемки, которые разом не решишь, нужно планомерно чуть менять образ жизни. Кажется, что я взрослею.
На работе есть прорыв и повышение. Но пока очень много непонятного и мутного, а также огромный перекос в балансе работа-все остальное (в сторону работы). Нужно обязательно в следующем году как-то этот баланс выправить. И при этом максимально реалиовать текущие перспективы. Ибо такие шансы упускать просто нельзя.
Живем, радуемся жизни, стараемся наслаждаться ею. Предыдущий год был не похож на этот. А следующий тоже точно будет другим и будет содержать другие впечатления. И это самое главное!
Сурикат

Занятные баги-задачки

Последнее время активно чиним баги и зачищаем warning-и от анализаторов. А за это время накопилось несколько довольно занятных примеров.
Конечно, когда знаешь, в чем соль, то все просто и очевидно. Но в коде если не знать, то просто пропустишь как есть.
Первый пример, про закрывающиеся потоки, обычная java.

  1. static void saveToFile(@NonNull File storageFile) throws IOException {

  2. ObjectOutputStream stream = null;

  3. try {

  4.     stream = new ObjectOutputStream(new BufferedOutputStream(

  5.                     new FileOutputStream(storageFile)));

  6.     //действия со стримом

  7. } finally {

  8.     try {

  9.         if (strean != null) {

  10.             closeable.close();

  11.         }

  12.     } catch (IOException ignore) {

  13.     }

  14. }

  15. }

Это кажется, что это абсолютно безопасный код, написанный по идиомам java. С единственной оговоркой - тут должны быть try-with-resources, но в мире android-а так пока нельзя, к сожалению, если min sdk < 19: скомпилится и в 98% случаев будет работать, но в оставшихся 2% будет крешиться; и эта зависимость трудноотлавливаемая - зависимость от версии jvm на телефоне).
Но в этом коде есть проблема и sonar ее радостно находит.
[Ответ]
Проблема возникнет, если внутренний поток FileOutputStream проинициализируется. А вот во время создания обертки произойдет любой exception. В этом случае поток останется открытым, а stream == null.
Здравствуй, утечка ресурсов!
Второй пример, про получение аттрибутов из кода, android.
У нас в приложении есть внутренний браузер на webview. И у этого браузера есть toolbar. Задаем выстору Toolbar-а через xml:
android:layout_height="?attr/actionBarSize"
Но после переворота приложения мы же не хотим перезагружать activity. Поэтому не пересоздаем эту активити и указываем: android:configChanges="orientation|screenSize". Но есть одна проблема - после поворота из portrait ориентации в landscape высота toolbar-а не меняется. Это логично с точки зрения кода (ведь ничего не пересоздаем). Но нелогично с точки зрения пользователей - зачем им широкий toolbar в landscape?
Тогда пишем небольшой кусочек кода:

  1. @Override

  2. public void onConfigurationChanged(Configuration newConfig) {

  3. super.onConfigurationChanged(newConfig);

  4. mAppBarLayout.getLayoutParams().height = getActionBarSize(getBaseContext());

  5. }

  6. public static int getActionBarSize(@NonNull Context context) {

  7. final int[] textSizeAttr = new int[]{android.R.attr.actionBarSize};

  8. TypedArray a = context.obtainStyledAttributes(textSizeAttr);

  9. final int indexOfAttrTextSize = 0;

  10. int size = a.getDimensionPixelSize(indexOfAttrTextSize, -1);

  11. a.recycle();

  12. return size;

  13. }

Это работает... Но не на 4-х android-ах! На них toolbar становится уже, чем был изначально.
А в чем же проблема?
[Ответ]
А проблем несколько! Дело в том, что в данном коде используется системный android.R.attr.actionBarSize. Но это не правильно и корректно использовать appCompat аттрибут (как раз сделано для обратной совместимости ведь). Но при попытке заменить android.R.attr.actionBarSize на android.support.v7.appcompat.R.attr.actionBarSize видим, что возвращается дефолтное значение -1. И тут мы натыкаемся на вторую проблему: нельзя получать StyledAttributes от Context-а. Стили и темы не успевают примениться. И значения просто нет! С использованием системного аттрибута actionBarSize это работало, потому что стили там и не нужны. А теперь - нет. И правильный вариант - передавать activity в эту функцию, а не контекст.
Сурикат

Неиспанская Испания

Даты: 16-24 февраля 2017
В этой поездке я начал осваивать новый для себя жанр - короткие видеозаписи. Первая видеозапись появилась очень спонтанно в первый день на Тенерифе во время поездки, когда очень хотелось показать туман-облако в движении. А дальше оказалось просто прикольно)
Поэтому акцент на впечатлениях, не событиях. И не хронологически.
Collapse )Collapse )Collapse )Collapse )

Collapse )

Collapse )

Collapse )Collapse )Collapse )Collapse )Collapse )
Зевающий Ленивец

Яркие люди

Пока писал про наше с Иринкой путешествие в Питер растекся мыслью по древу. И получился довольно самостоятельный пост.
Collapse )
В Москве возле вокзалов обычно собирается толпа "понаехавших" и очень грязно, серо и неприятно. Зато в Питере - приличные люди, стильно одетые. Если дедушка, то с рюкзаком и лыжами, если молодые люди, то яркие. Это ощущение яркости/серости довольно тяжело объяснить. Тут речь не об одежде, хотя она тоже вносит некоторые оттенки. Яркими можно назвать хипстеров. Можно привести в пример студентов. А к серым людям можно условно причислить рабочих заводов в маленьких городах, где нечем заняться. Либо офисных клерков. Яркие люди - люди увлеченные чем-то. Возможно, что это что-то не одно. С другой стороны это какое-то внутреннее ощущение довольности жизнью, наличием цели, смысла, самореализации.
Приятно посмотреть и находиться среди таких людей. Так вот в Питере таких людей очень много. А в московском метро их практически не видно. Зато очень много в Яндексе. В Екатеринбурге было довольно сбалансированное количество и тех и других. Но думаю, что за счет того, что я все время находился в среде ярких людей. Зато до того, как я добрался до фехтования, то очень хорошо познакомился с жителями окраин. И очень хорошо помню ощущение другого мира, когда первый раз пришел на концерт Мельницы и увидел прямо другую реальность. Это был просто культурный шок - наконец-то я увидел сверстников, с которыми мне будет очень интересно общаться! Конечно, с одноклассниками я тоже тогда общался не плохо, но понимал, что все-таки это другие люди с другими интересами.
Про другие города довольно сложно сказать, потому что там очень выборочный круг знакомств.
Спящий Ленивец

ПредЭлойное

Перед премьерой Элои в группе выкладывались материалы про каждого участника. И нужно было сначала написать что-нибудь про себя. И еще несколько слов добавлялось, так сказать со стороны. Так как в пост вконтакте вошло урезанное содержание, то я опубликую полный вариант тут.
Я сам:
Хей-хей, всем привет! Скажу-ка я пару слов (а пара, как известно со студенчества - это полтора часа).
Зовут меня Щербаков Дмитрий. Родился, учился, работал - все как у людей!
Все бы так и продолжалось, но в течении всего этого времени меня несколько разных людей зазывало на совершенно разные танцы. Сначала исторические, потом джаз-модерн в разных местах, кусочек фаерки, множество побочных направлений: хастл, например. Но в один прекрасный момент я осознал, что каждое танцевальное мероприятие/направление стало мной рассматриваться только как новый опыт, который можно превратить в постановку/связку в группе постмодерна "Ливингстон". Конечно, этот процесс продолжается и во время постановки мюзикла: все новые танцевальные впечатления рассматриваются с точки зрения - а как бы это встроить в номера, как украсить, дополнить. С другой стороны, постоянно хочется совершенствоваться, пробовать что-то новое. Поэтому и получается, что с каждой переработкой в номерах появляется все больше движений. Или более сложные. Моя любимая фраза на тренировках (в разных вариациях): "тут же целых 2 такта, то есть можно успеть сделать как минимум 6 движений"!
Люблю тяжелую музыку, поэтому неимоверно радуюсь постепенному утяжелению некоторых аранжировок. Поэтому один из любимых номеров - "Сердце".
С другой стороны - люблю номера, после которых не остается сил уже ни на что. Поэтому другой любимый номер - "Черное и белое".
Многие мои увлечения отразились в номерах во время постановки мюзикла. Самые яркие примеры - увлечение хастлом проявилось в номере "Ангелы и бесы", фехтование и боевые искусства - в "Верую".
Интересно, что же из мюзикла вырастет в итоге. Пока выглядит очень красиво!
Катька про меня: в прямом и переносном смысле опорный столп студии. В прямом — он способен выполнить любую поддержку. А в переносном — это человек, для которого поддержка по жизни является нормой: улыбнуться ли и обнять, когда другому плохо, помочь ли логическим советом, сделать ли нужное... Человек, живущий вовне, дарящий себя другим, и не просящий ничего взамен.
Незаменим в придумывании номеров: никто другой не умеет так валяться на полу и говорить: "не, сюда это не подойдет, сюда нужно вперед продвижение... о, а вот это хорошо, оставляем", пока остальные прыгают и мучаются фантазией), причем делать это продуктивно, видя схему и логику номера. Человек, для которого "я так еще не делал" — повод попробовать. Человек бесконечной доброты, человек, подобный теплому ветру.
Еще один человек, без которых группа бы просто не состоялась.
Ссылка на контакт: https://vk.com/eloa_rockopera?w=wall-95556664_302
Sonic

События 2016 года

Есть у меня такая традиция: раз в год писать в жж (посмотрел историю - все действительно так, раз в год пишу. Иногда чаще). На самом деле тексты я писал (в основном это были впечатления о поездках), но это было либо в отпуске, либо в самолете, где нет интернета. Поэтому руки выложить не доходили. Но ничего, сейчас как завалю постами)))
Collapse )
Год длинный, интересный, приятно его окидывать взглядом. Насыщенный путешествиями и переменами. И это прекрасно!
Sonic

Неудержимые горные улитки!

Буквально позавчера вернулись из новогоднего похода на Таганай. План того, как это происходило можно прочитать вот тут https://vk.com/nikaenrig?w=wall247936490_616.
Фотки есть в группе мероприятия: https://vk.com/event106177118
Collapse )


По итогу: очень крутая поездка. Масса впечатлений.
Зимняя природа очаровательна как ночью, так и днем.
Смотреть по сторонам лучше непрерывно: очень много красивого было как раз на переходах - нужно поднимать глаза от тропы)
Очень нужно иметь хорошее зимнее снаряжение. Полюбил хорошие перчатки, наши налобные фонари. Хочу обзавестись адекватными штанами, хорошими термосами, возможно, верхней одеждой.
Ледянки для походов в горы - must have.
Неудержимо хочется непрерывно тусить.
Хочу попробовать еще раз пихтовые веники в бане.
Очень приятная и теплая компания.
Сурикат

Об учебе

Я сегодня осознал, что ГОСы - это реально апогей всех экзаменов! Подготовка и сама сдача очень точно отразила то, как я учился в последнее время (немного везения и "везения", много новых знаний в очень короткое время и крутецкое общение с преподом).
Collapse )
Sonic

Поездки

Так случилось, что в последнее время я безостановочно куда-то езжу. Так сложилось из несколькоих особо не связанных факторов)
Началось все с поездки в Москву с 9-го марта на неделю.

Collapse )


Следующая поездка - в Пермь на МедведьКон.

Collapse )

Collapse )

Collapse )


P.S. постоянно оговариваюсь, когда обсуждаю командировки - я их называю отпуском)