Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Скетч, XD или фигма?

Лучший ответ:
Коротко об инструментах:Figma - кроссплатформенный инструмент, работает где угодно, когда угодно и на чем угодно:
Плюсы:
- Бесплатный
- Возможность работать над одним проектом, целой командой, с одной большой библиотекой компонентом.
- Доступна где угодно, даже качать ничего не нужно, главное чтобы было устройство, с которого можно зайти.
- Легкая передача верстки программисту
- Постоянные обновления, быстрый саппорт.
- Большое сообщество, очень востребован среди компаний.
Минусы:
- Ресурсоемкая к большим макетам.
- Нет плагинов.Adobe XD - хороший инструмент, но работает пока только на windows 10 и Mac OS, имеет легкий инструмент для легкой анимации.
Плюсы:
- Анимация
- Есть на windows
- Входит в подписку Adobe, сейчас кстати уже бесплатный.
- Легкий, но уже немного затруднительный инструмент для верстальщика.
Минусы:
- Плохо заботятся о пользователях (UX вообще мало продуман, часто можешь сбеситься при работе с ним).
- На мой взгляд, плохо работает с Frame, нельзя внутри Frame создать еще один Frame, группировка вообще отстает от других инструментов.
- Иногда прослеживаются баги.Sketch - классический инструмент, самый старый на рынке, с очень большим сообществом.
Плюсы:
- Очень большое сообщество, которое пишет всяческие плагины, паттерны, UI-kit.
- Интеграция с большим количеством инструментов, большая гибкость в этом плане.
- Удобный по функционалу, очень похож на Figma.
Минусы:
- Только на Mac
- Сложно передавать верстальщику макет
- Сложно передавать дизайнеру-коллеги макет, если он работает на Windows.
- Дорогой

Худший ответ:
Figma. Там же есть возможность одновременной работы над проектом + live шаринг макетов. Не нужен никакой Цеплин/Авокадо/Инвижн.
Я сам предпочитаю Скетч по разным причинам (всякие мелкие нюансы), но я один работаю. 
Про XD забудьте — это же Адоби. Такой же ад, что и Фотошоп.
Вопрос: Нужно ли Высшее Образование если есть опыт?

Лучший ответ:
Я бы не бросал, досидел хотя бы до бакалавра, т.к опыт это круто, но всегда можно споткнуться о хрюшу, у которой в требованиях написана вышка, и большее ее ничего не волнует. А в вакансиях на java я почти везде встречал требования о вышке.

Худший ответ:
Не хочется тратить ни деньги, ни время на это дело.
при такой формулировке ответ однозначный: бросай.
Вопрос: Почему hover не воздействует на элемент, но работает на его дочерних элементах?

Лучший ответ:
Пробел перед псевдоклассом.block:hover {
  border: 1px solid;
  border-color: #333333;
  padding: 1.73vw;
}

Худший ответ:
ну вы напишите на что он должен действовать :elem :hover elem2{
  this is style
}
Вопрос: Возможна ли realtime верстка?

Лучший ответ:
Browsersync, не?

Худший ответ:
Используй редакторы Brackets, Sublime Text 2 для них есть такие плагины или WebStorm там сразу предустановлен.
Вопрос: Почему блоки с float не на одном уровне?

Лучший ответ:
Обтекание работает не так, как вам хочется или кажется. 
Если вам нужно сделать 2 колонки по краям, а визуально это так выглядит, то свои блоки оберните в обертки, а уже этим обёрткам давайте обтекание<div class="right">
<div class="block">right</div>
<div class="block">right</div>
</div>

<div class="left">
<div class="block">left</div>
<div class="block">left</div>
<div class="block">left</div>
</div>

Худший ответ:
codepen.io/Geyan/pen/RKrYwG?editors=0110  так должно быть
Вопрос: Нужно ли настраивать virtualenv на VPS/VDS?

Лучший ответ:
конечно, нужно )))
открой настройки проекта в Пичарме и, если много библиотек, посмотри сколько нуждается в обновлении
однажды на боевом ты что-то обновишь (ненамеренно, пакетно, либа подтянет либу и т.п.) и ВДРУГ...

Худший ответ:
Не ставь.
Если у тебя не будет там ничего кроме продакшена и т.п.. Если у тебя не будет сине-зеленого deploy и пр
Вопрос: Можно ли выдернуть идентификатор из onClick?

Лучший ответ:
Как вариант:console.log(parseInt('<div onclick="adm.balance(24)" class="mnav">Баланс</div>'.replace(/^.*?adm\.balance\((\d+)\).*$/, '$1')));

Худший ответ:
Сделать так <div onclick="adm.balance()" data-id="24" class="mnav">Баланс</div>
в jsvar id = $(this).data('id');
Вопрос: 2 операционные системы на ПК. VirtualBox?

Лучший ответ:
Virtual Box - отлично. С видеокартой проблем не выявлено.
Гипотеза проверяется за час. Скачать VBOX и скачать линукс.

Худший ответ:
А вариант установки паралельно на ПК двух осей не рассматривали?
Вопрос: Полезны навыки и опыт UX/UI для backend (рhp)?

Лучший ответ:
Вообще, если работать в России, то какие-то знания о front end тебе понадобятся. Знания UX и UI будет не плохими и большим плюсом в копилку, так как будешь мыслить ещё и творчески. Но если в лоб отвечать на твой вопрос, то нет, чисто php это не нужно

Худший ответ:
Любые навыки полезны, как минимум для общего развития, но практического применения с высокой долей вероятности не будет. С другое стороны если захотите стать full stack разработчиком, то эти навыки очень пригодятся. Вот этот вариант я бы рассмотрел, исследования прошлого года по американскому рынку показало, что full stack разработчиков становится все больше и ценяться они выше, хотя у меня другая позиция в этом вопросе. Лучше все же получить эти навыки, возможно вам это понравится больше и вы найдете себя, как минимум.
Вопрос: Как удалить скрипт из WEB-страницы?

Лучший ответ:
document.scripts[1].remove();
Можно просто из консоли.

Худший ответ:
Самый простой вариант - document.write оверрайдить. // ==UserScript==
// @name         override document.write
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        http://tampermonkey.net/index.php?version=4.5&ext=dhdg&updated=true
// @grant        none
// @include *
// ==/UserScript==
(function() {
    'use strict';
    window.document.write = function() {return false;};
    // Your code here...
})();
Вопрос: Не могу вывести переменную с датой (месяц). В чём проблема?

Лучший ответ:
\DateTime::createFromFormat("d.m.Y в H:i", $dateStr);
Псевдоним: date_create_from_format.
И никаких махинаций с explode не надо.
По той же ссылке выйдете на примеры, как потом обратно в строку преобразовать, как работать с интервалами и как добраться до составных частей даты (год, день, месяц, час и тд).

Худший ответ:
Сделайте так:$date_parts_match = preg_match('~(\d+)\.(\d+)\.(\d+)[^\d]+([\d+]+)~ui',$news['date'],$date_parts);
if ($date_parts_match) {
$day['posted'] = date_parts[1];
$month['posted'] = date_parts[2];
$year['posted'] = date_parts[3];
$time['posted'] = date_parts[4];
}
else {
  //ошибка ! дата в каком-то дургом формате
}
https://3v4l.org/WbBkV
Вопрос: Правильное тестирование Javascript?

Лучший ответ:
То есть мы импортим в тест класс, который импортит в себя другие классы?
Надо понимать, что класс не импортирует классы, импорт/экспорт — это модули. Класс может создавать инстансы других классов или принимать инстансы как параметр конструктора, это нормально — во втором случае вы просто пишете mock: заглушку, которая предсказуемо имитирует нужное поведение. Но если вы из модуля экспортируете инстанс класса, то будут проблемы с тестированием. Например, вот так плохо:// A.js
class A {}
export const a = new A();

// B.js
import { a } from './A';
export class B {
    constructor() {
        this.a = a;
    }

    doStuff() {}
};
Так как класс B неявно зависит от A, то нельзя написать заглушку для A, и тесты для B будут тестировать поведение A.
Вот так лучше:// A.js
export class A {};

// B.js
export class B {
    constructor(a) {
        this.a = a;
    }

    doStuff() {}
};

// index.js
import { A } from './A';
import { B } from './B';

const a = new A();
const b = new B(a);
b.doStuff();Возможно ли работать с DOM в импортируемом классе?
Если пускалка тестов это поддерживает. Для mocha, ЕМНИП, надо прикручивать karma. Это будет считаться юнит-тестом? 
Unit-test по определению тестирует какую-то функциональную единицу — класс, модуль, функцию, метод.

Худший ответ:
В случае если объект внутри себя инстанциирует другой объект, тогда такой объект должен рассматриваться  как единый юнит.import LineItem from './LineItem';

class Order {
  constructor(lineItems = []) {
    this.lineItems = lineItems;
  }
  addLineItem(name, cost, quantity) {
    this.lineItems.push(new LineItem(name, cost, quantity));
  }
}
В этом случае писать юнит-тест необходимо на класс Order. Необходимости в тестировании класса LineItem нет, так как он является составной частью класса Order. Такие классы носят название - Агрегат. Когда автосалон вас приглашает на тест-драйв автомобиля, то это предполагает тестирование Агрегата в целом, то есть Автомобиля. Тестировать отдельно составные его части такие как колеса/двигатель мы не будем.
В случае если объект принимает другой объект из вне, тогда такие объекты должны рассматриваться как отдельные юниты.class Route {...}
class Ship {
  addRoute(route) {
   if (!(route instanceof Route)) {
     throw new Error('route must be instance of Route');
   }
    this.route = route;
  }
  ...
}
В этом случае необходимо писать отдельные юнит-тесты на Route и на Ship. Чтобы написать юнит-тест на класс Ship его необходимо изолировать от класса Route с помощью мок-объекта.
Интеграционный тест подразумевает, что вы не будете подменять Route на мок-объект, чтобы протестировать класс Ship. Вместо это необходимо передать настоящую реализацию класса Route. В таком случае мы протестируем взаимодействие между двумя юнитами Ship и Route.
Вопрос: Управление Ajax-запросами?

Лучший ответ:
Можно при отправке запроса блокировать форму с фильтрами, при этом чтобы пользователю было выдно что она неактивна в это время, при получении ответа снимать блок разумеется.
Или добавить кнопку сабмита после нажатия которой и будут срабатывать фильтры.

Худший ответ:
Обрабатывать ответы в коллбэках, тогда скорость нажатий будет не важна.
Либо использовать синхронные запросы, что не айс.
Вопрос: Есть ли аналоги vk.me для вотсап и вибер?

Лучший ответ:
Возможно, получится сделать с помощью URL scheme<a href="viber://add?number=%2B79165555555">Viber</a>
<a href="whatsapp://send?abid=%2B79165555555&text=Hello">WhatsApp</a>

Худший ответ:
Это вполне реализуемо через Telegram, точнее через его веб-версию.
Несите в массы доброе, светлое и передовое :)
Вопрос: Как реализовать групповое редактирование кода?

Лучший ответ:
Какую цель вы преследуете? Совместная разработка или совместное обучение?
Если в совместной разработке постоянно обновлять у всех файлы то будет полный трэш.
Вы пишите кусок программы, хотите его протестировать, но программа не запускается т.к. кто-то правит другой кусок в это время и сделал ошибок, либо вообще его еще не дописал и т.д.
+ Кто-то открыл файл, вы в это время что-то в нем написали, сохранили, и тут ваши изменения стираются, потому что кто-то сохранил старую версию файла (Все любят разные редакторы)...
Git для этого и создан, чтобы совместно разрабатывать и не перетирать, файлы, а удобно их обновлять группой разработчиков.
Для совместного обучения подойдет скайп.

Худший ответ:
Что-то типа такого, такого или ещё 12 таких?
Вопрос: Актуальна ли сегодня kohana?

Лучший ответ:
Множество сайтов все еще используют Kohana, однако работы становится все меньше и меньше.
https://trends.builtwith.com/websitelist/Kohana
https://www.wappalyzer.com/technologies/kohana
Мир PHP шагнул далеко вперед. Разработчики не рекомендуют использовать Kohana для новых проектов:
discourse.kohanaframework.org/t/kohana-retirement-...
https://github.com/kohana/kohana/issues/110
Но если проект уже существует или Вы осознаете риски, вот активный форк:
https://github.com/koseven/
Любой опыт полезен, но стоит ли тратить время, чтобы изучать этот фреймворк - решать только Вам. К примеру одно дело изучать его за копейки, а потом не применить знаний, а другое дело получать хорошие деньги при этом расширить кругозор / помочь сообществу.

Худший ответ:
Зря потраченное фремя. Yii это же форк коханы изначально, давно не слышал что бы на ней кто-то писал
Вопрос: Как сделать удобную разработку?

Лучший ответ:
Завести на сервере git, разрабатывать локально, при определенной степени готовности "заливать на прод" из того же репозитория.
Ну и небольшой скрипт-деплойку, который делает все, что нужно.

Худший ответ:
Советую вам присмотреться к Docker.
Вопрос: Выбор видеокарты до 15000, что посоветуете?

Лучший ответ:
Берите gtx1060 и не парьтесь еще долго. Как раз 15к
Если взять в германии, то выйдет 12к

Худший ответ:
Если строго до 15, то 1050Ti.
Брать 1060 с 3Gb мне кажется не очень продуманным вариантом, а модели с 6Gb уже под 20тыс.
Вопрос: Используется ли сейчас микропрограммирование/микропрограммы?

Лучший ответ:
Не путайте микропрограммы (в основном это прошивки разных устройств, которые сложно назвать операционной системой)
И микрокод процессоров
https://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D0%BA%D...
p.s. а .exe файл действительно содержит бинарный код (машинный код), но кроме этого .exe файл, в отличие от .com файла это контейнер со сложной внутренней структурой, которая позволяет хранить и код программ, и данные (текст, диалоги) и графику (иконки и др) и в принципе вообще любой контент.

Худший ответ:
Если для упрощения опустить разные там конвейеры и прочее, то процессор кроме прямых команд управления сумматором и регистрами, имеет ещё дополнительные команды: операции числами с плавающей точкой (бывший сопроцессор), управление мультимедиа MMX и прочее — по сути подпрограммы.Дополнительные наборы инструкций
Вопрос: Можно вёрстку html css перенести на react?

Лучший ответ:
Начните с изучения React'a. 
Что такое компоненты, jsx и т.д

Худший ответ:
1. Выучить усновы Реакта
2. Вникнуть в логику проекта.
3. Создать страницу с помощью js(x)/html/css
Вопрос: Как делают плавное изменение любых CSS свойств элемента без индивидуального прописывания анимации/трансформации?

Лучший ответ:
По описанию похоже на transition: 0.3s all;snippet

Худший ответ:
* { transition: all ease 0.75s }
повесит на все плавное изменение стилей
Вопрос: По каким материалам можно выучиться на программиста-электронщика?

Лучший ответ:
учиться-учиться и еще раз учиться (с) ленин.
не такой книжки которой прочитал и сразу 146% знаний получил.
электроника сейчас очень многогранна , есть аналоговая, есть цифровая, есть ВЧ-электроника, есть силовая электроника и т.д. и при этом спецы в одной теме могут мало понимать в другой тематике, силшком различны методы работы.
а по поводу ленина - надо просто ковыряться и знание придет - выбираешь интересующую тематику и начинаешь разбираться в схемах - рисовать проходы токов, сигналов по схеме, строить диаграммы состояний, уровней и т.д.
т.е. набивать трудовую рабочую мозоль, вбивать в подсознание базовые навыки работы каждого элемента схемы и потихоньку через месяцы начнешь навскиду понимать как работает схема и что куда идет.
плюс практика ибо "диавол кроется в деталях" и теоритически работающая схемка начинает выдавать такие фертеля, что просто фигеешь с нее.
но таков путь наверное везде.

Худший ответ:
Ставь цель, чего хочешь сделать, потом ищи разные подходящие мануалы по теме. Думаю так с практикой и получают быстрое обучение. Мой приятель так и делал, решил создать 3-4G рессивер для управления чем-либо. Вот его детище теперь - minlarc.com
Вопрос: Почему не работает мой класс?

Лучший ответ:
$this-session ничего не смещает?

Худший ответ:
$this->session = $session ;
здесь тоже по ссылке нужно$this->session = &$session ;
Вопрос: Как быстро сравнить две разные ссылки на одинаковый адрес без curl?

Лучший ответ:
Приводить ссылку к каноническому виду.

Худший ответ:
Можешь попробовать приводить все входящие данные url к одному виду(canonical) и хранить этот вид в базе в отдельной колонке.
Допустим, сперва определяешь сколько уровней домена.
ecco.ru - 2 уровня (ecco и ru),
men.ecco.ru - 3 (men, ecco, ru),
www.men.ecco.ru - 4 (www, men, ecco, ru)
Сделать это можно как-то так:$urls = "www.ecco-shoes.ru
www.ecco-shoes.ru
http://ecco-shoes.ru
https://www.ecco-shoes.ru/
www.ecco-shoes.ru/
ecco-shoes.ru
www.ecco-shoes.ru/?
www.ecco-shoes.ru/#
www.ecco-shoes.ru/index.php";

$urls = explode("\n", $urls);

foreach ($urls as $url) {
	$hostname = parse_url($url, PHP_URL_HOST);
	$domains = explode('.', $hostname);
	
	echo $url."<br/>";
	echo $hostname."<br/>";
	
	foreach ($domains as $domain) {
		echo $domain."<br/>";
	}
	
	echo "<br/><br/>";
}
Затем конструируешь из этих частей урла нужный вид, например игнорируя www, и сохраняешь это в базе в доп. колонке. Желательно все эти части привести к одному регистру, допустим к нижнему.
И всё, затем проверяешь был ли уже такой урл простым запросом в бд по колонке с каноничным урлом.
Вопрос: Существуют ли смарт часы (браслет) с отрытой прошивкой?

Лучший ответ:
https://www.chooseblocks.com/
https://asteroidos.org/
oswatch.org
Но это всё не точно то, что вы хотите.

Худший ответ:
Или кит, или DIY проект имеющий нормальные размеры и цену не с крыло самолета? 
Обычные потребительские устройства настолько компактны и насколько дёшевы только из за огромных миллионных тиражей
DIY по определению занимаются на порядки меньше людей. Поэтому будет при тех же фичах и дороже и объемнее.
Есть очень редкие исключения:www.ti.com/tool/EZ430-CHRONOS
Дополнительные внешние датчики еще можно прикупить отдельно.
Заточено именно под DIY.
Так фирма Texas Instruments знакомит со своим микроконтроллером MSP430.
Но и тут не без ограничений - там прошивка не полноценная ОС типа Tizen или Android, где ты можешь запускать любое приложение, следовательно, нет полноценного стека Bluetooth, 
Там real-time OS, в которой прикладное ПО интегрируется с ОС.
Беспроводная связь есть. Но стандарты связи из мира IoT, а не с более привычными BT/Wi-Fi.
Из плюсов - очень мало электроэнергии жрет.
Батарейки хватает очень надолго (если конечно правильно запрограммированить, чтобы лишний функционал когда он не нужен уходил в сон)
Микроконтроллер MSP430 довольно слабый, но зато великолепно умеет экономить электроэнергию.От часовой батарейки способен жить годами, при этом регулярно передавая информацию по радиоканалу (что само по себе жрет много электроэнергии у более быстрых устройств)
===================================
На другом полюсе - часы с Android на борту. Жрут электроэнергии много хватает в лучшем случае на несколько дней аккумулятора, но функционал богаче.Там пишутся приложения. Саму прошивку вы не поменяете.
Вопрос: Как изменить цвет свечения полей форм Bootstrap при фокусе?

Лучший ответ:
Параметр тени с rgba(102,175,233,.6) и есть синее свечение при фокусе.form-control:focus {
    border-color: #66afe9;
    outline: 0;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);
}

Худший ответ:
они там через outline. их и меняй
Вопрос: 2 роутера или 1?

Лучший ответ:
если честно, то лучше всего установить mikrotik, а Zyxel пусть раздает вифи. Так как у этой модели RB2011UiAS-RM нет встроенного вифи модуля, да и микротик будет честен со скоростью и нагрузкой. Тем более, что если придётся наращивать, то микротик не подведёт и всё будет хорошо

Худший ответ:
ZyXEL отлично раздаёт WiFI и его можно использовать в качестве управляемого коммутатора и точки доступа. Второй NAT отключаем чтобы не было ситуации "комп за двумя роутерами последовательно".
Вообще по проводам (без WiFi) он такую сеть и один тянет. Но Mikrotik - отличный выбор.
Вопрос: Какой слайдер-карусель вы используете с Vue.js?

Лучший ответ:
Вот эта штука может очень много: https://github.com/surmon-china/vue-awesome-swiper

Худший ответ:
Понравился https://github.com/lukaszflorczak/vue-agile
Вопрос: Можно ли это назвать ИИ?

Лучший ответ:
Нет
Експертная система
Нейросеть
ИИ - когда ты подумал, твой собеседник, по контексту понял о чем ты думаешь, и обманул тебя фразой, что команда, за которую ты болееш, выиграет еще два матча

Худший ответ:
да, обычное машинное обучение
Вопрос: Карта, это контент?

Лучший ответ:
Никогда не задавался этим вопросом, но думаю, что тут ответ не однозначен.
Если карта иллюстрирует контент, то ее нужно в контенте и располагать, а если это, скажем, маршрут проезда к фирме, то такую инфу лучше в футер загонять.
Хотя карты сильно утяжеляют загрузку, а футер грузится на каждой странице.

Худший ответ:
Контентом обычно является динамически изменяемая часть сайта. Если карта присутствует на всех страницах, то можно расположить ее вне контентной части, в футере к примеру, или в отдельной секции.
Вопрос: Как в Windows 10 вернуть права на доступ к папкам?

Лучший ответ:
На нужной папке или томе - правая клавиша мыши -свойства - безопасность - дополнительно- владелец изменить -  галка заменить все записи разрешений наследуемыми.
Делаете себя владельцем папки,  автоматом наследуете разрешения для всего содержимого папки.
После этого вы можете назначать себе какие угодно права на папку. получаю сообщение "в доступе отказано", в том числе если я захожу под администраторомАдминистратор это не тот, кто имеет полные права! Права админа могут быть очень ограничены!Администратор это тот,  кто имеет право менять права!

Худший ответ:
Возможно они просто скрыты, и к ним нужно открыть доступ через свойства, включи так же использование пустых паролей, возможно это поможет, так же возможно это вирус, я в этом совсем не уверен, но кто знает, можно ещё почитать тут https://windowsten.ru/nastrojka-parametrov-papok-i... , и ещё, диск рабочий или нет, возможно с ним какие то проблемы, или поломки, и нужно отнести в технический центр, кто знает что с ним
Вопрос: Почему бьются данные, получаемые из PostgreSQL?

Лучший ответ:
Сниффер (Wireshark) показал следующее:
1) При jdbc 9.4-1201-jdbc41 каждый раз отправляется один запрос. И каждый раз из БД приходит полный корректный ответ.
Выглядит запрос в дампе сниффера так:Type: Parse
Length: 169
Statement:
Query: select user0_."id" as id1_0_, user0_."testArray" as testArra2_0_, user0_."testTimestamp" as testTime3_0_ from "public"."users" user0_ where user0_."id" in (2)
Parameters: 0
2) При более старших версиях jdbc вначале (при первых попытках) идёт такой же запрос, только с указанием Statement:Type: Parse
Length: 169
Statement: S_2
Query: select user0_."id" as id1_0_, user0_."testArray" as testArra2_0_, user0_."testTimestamp" as testTime3_0_ from "public"."users" user0_ where user0_."id" in (2)
Parameters: 0
3) В ситуации, когда виден баг, jdbc отправляет уже не вышеприведённый запрос, а следующее (как я понял - несколько команд за раз):Type: Bind
Length: 21
Portal:
Statement: S_2
Parameter formats: 0
Parameter values: 0
Result formats: 3
   Format: Binary (1)
   Format: Binary (1)
   Format: Binary (1)

Type: Execute
Length: 9
Portal:
Returns: all rows

Type: Sync
Length: 4
И в ответ получает данные, которые глазами в дампе оценить уже сложно - идут не текстом.P.S.: Проблема решилась выставлением параметра jdbc драйвера preparedStatementCacheQueries в 0. Отключение кеша привело к тому, что драйвер перестал использовать prepared statements при запросах вообще и каждый раз отправляет запрос полностью, как в версии 9.4-1201-jdbc41. Так себе решение, на самом деле, т.к. надо будет пробовать еще, что получится, если я захочу сам использовать prepared statements.

Худший ответ:
Поздравляю. Это баг JDBC и дисериализации ARRAY, было в свое время тоже самое, но давно. 
Первое время решал костылем, потом обновил драйвер до 9.4.1210. Сейчас вроде все норм.