LINUX.ORG.RU

Сообщения upcFrost

 

Изменение имени класса в JAXB

Форум — Development

Есть очень простая схема (не моя, потому менять схему не стоит) в xsd, в ней повторяется имя элемента node

<xs:element name="path">
 <!-- type="path" -->
  <xs:complexType>
   <xs:sequence>
   <xs:element name="node" maxOccurs="unbounded" minOccurs="0">
    <xs:complexType>
     <xs:sequence>
      <!--...-->
      <xs:element name="points">
       <xs:complexType>
        <xs:sequence>
         <xs:element name="node" maxOccurs="unbounded" minOccurs="0">
          <xs:complexType>
           <xs:sequence>
            <xs:element name="x" minOccurs="0" type="xs:string"/>
            <xs:element name="y" minOccurs="0" type="xs:string"/>
<!-- ... -->

к ней есть еще более прямолинейный биндинг

<jxb:bindings 
    xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    jxb:version="2.1">
  <jxb:bindings schemaLocation="test.xsd" node="/xs:schema">
    <!-- Resolve Node class name conflict -->
    <jxb:bindings node="//xs:element[@name='path']/xs:complexType/xs:sequence/xs:element[@name='node']">
      <jxb:class name="pathNode"/>
    </jxb:bindings>
    <jxb:bindings node="//xs:element[@name='points']/xs:complexType/xs:sequence/xs:element[@name='node']">
      <jxb:property name="point"/>
      <jxb:class name="point"/>
    </jxb:bindings>
  </jxb:bindings>
</jxb:bindings>

при попытке сгенерить классы с этим биндингом xjc ругается что два класса имеют одно и то же имя Node, хотя, бл, ни один из них его уже иметь не должен.

если сделать autoNameResolution, то это чудо безусловно обрабатывает схему, и еще создает два указанных в биндинге класса, которые extend'ят созданные автоматом Node и Node2. Какого пса оно делает extend вместо замены имени хз.

Подскажите, где я туплю? Ну, помимо того что юзаю jaxb.

upd попытаюсь без мата... короче надо биндинг в этом случае прописывать не к элементу типа <jxb:bindings node="//xs:element[@name='points']/xs:complexType/xs:sequence/xs:element[@name='node']">, а к complexType этого элемента, в виде <jxb:bindings node="//xs:element[@name='points']/xs:complexType/xs:sequence/xs:element[@name='node']/xs:complexType">. И жеж не одна падла в документации на это не указала. Все ж очевидно, бл, спасибо... Допер после примера ниже. Видно что бинд идет к complexType, а почему - загадка века.

<xsd:element name="billingaddress">
    <xsd:complexType>
        <xsd:annotation>
          <xsd:appinfo>
            <jaxb:class name="PrimaryBillingAddress">
              <jaxb:javadoc>
                DOCUMENTATION
             </jaxb:javadoc>
             </jaxb:class>
           </xsd:appinfo>
         </xsd:annotation>

 , ,

upcFrost
()

Финский авторобот

Форум — Talks

!Ъ: https://twitter.com/vanhalakka/status/789426792679571457

!Ъх2: http://i.imgur.com/L2hHSd0.jpg

Ъ: Финны тестят авто-робота. В результате вокруг универа появились дорожные знаки с надписью «Внимание, робот-авто». Все забывал сделать фото самого робота (обычно слишком хотел жрать когда шел мимо него в столовую), в итоге автоматический бухлобус куда-то укатил

Меня в целом больше всего забавляет что знак-таки легальный, т.е. в местах, отмеченных этим знаком, движение роботизированного автотранспорта разрешено. Кажется такой фигни пока никто не делал еще, в плане на конкретном участке разрешали (скажем в гугель-плексе), но не так чтоб вводить знаки и прочее.

upd: оказывается на нем можно покататься всем желающим. надо затестить. у соседа уже появилась идея подсветить ему камеру лазером чтоб посмотреть как он себя поведет, правда боимся матрицу спалить

 ,

upcFrost
()

Nested LorCode

Форум — Linux-org-ru

Ща попытался запостить ссылку на график посадки экзомарса, ну и меня постиг отказ в этом деле. Причина - ссылка содержит квадратные скобки, которые движок лора не может распарсить внутри тэга url.

я туплю и есть какой-то escape-символ, или недоработка движка?

Ссылка - http://exomars.cosmos.ru/, любая новость, там видно какая структура линка

 ,

upcFrost
()

Посадка Скиапарелли на Марс

Форум — Talks

Посоны, кто-нибудь следит за тем что там с Экзомарсом происходит? Вроде сегодня аппарат сесть должен, только время хз. Кто-нибудь знает время и будет ли видосик?

А, нашел, если кому интересно. прямой линк никак, там скобки в линке, парсер лора не может.

кстати, я не понял, у них на картинке TGO сбросив аппарат уходит по параболе в далекое эротическое, хотя по идее должна выйти на орбиту

но вообще сайт у них убогий. аппарат же фотки делал. где они блин? рыться в новостной ленте?

старый видосик, линух замечен несколько раз

Блох спускаемого аппарата в свитере

обновляемая лента событий

Результат посадки на 13:56 20.10.2016 по Мск

The data have been partially analysed and confirm that the entry and descent stages occurred as expected, with events diverging from what was expected after the ejection of the back heat shield and parachute. This ejection itself appears to have occurred earlier than expected, but analysis is not yet complete.

По итогам - орбитальная часть летает, спускаемый аппарат кирдык

 ,

upcFrost
()

Выбора дистра и железа тред

Форум — General

Нужен дистр с максимально простой установкой и максимально простым переходом для человека, который последний раз видел линукс когда первые кеды вышли, и железо под него. Из обязательного нужна нормальная работа матлаба (открытые дрова от ati не катят), ну и отсутствие секса с настройкой.

Пока думаю предложить кубунту, сейчас поставил ее потыкать. после попенбокса страшно и непривычно, все свистит, прыгает и тормозит. еще не понял как дрова на видяху из гуя поставить, прям вспомнил мандриву 2008 после этого. ну да ладно.

что из железа советовать? для матлаба либо ати с блобом (и артефактами), либо нвидия, о производительности интеловских видях у меня плохие воспоминания. память - хз, 8 хватит? и какой проц лучше, а то у последних интелов там вроде какой-то секс был?

 , ,

upcFrost
()

Вопрос по удалению темы

Форум — Linux-org-ru

leave, почто ты вот эту тему удалил? когда летал последний раз 3 недели назад стюардессы тоже по поводу самсунгов почему-то психовали. Так ведь могут и правда запретить все это дело в багаж сдавать

Не, там была клоунада в треде в одной из веток, но зачем весь тред-то удалять?

 , ,

upcFrost
()

Вопрос к юзерам vi

Форум — Talks

Граждане, у вас мизинец правой руки не болит? Уже хочу нафиг педали купить, от вечного нажимания шифта реально болит палец

 ,

upcFrost
()

Опакечивание Go

Форум — General

Появилась такая задача - нужно опакетить две проги на Go. Пакеты под CentOS 6/7, Deb 7/8, Ubuntu >=14.04. Ну, опакетить надо куда больше чем эти две проги, но жопа именно с ними

прога в финальном виде - бинарь, линковка статическая для всего что приходит из Go. Для сборки юзаю osc (сначала локально, потом на сервер).

Пока сел в лужу с версиями. Deb 7/8 имеют в stable Go 1.3, в то время как пачка либ требует 1.4 минимум. Центось и шапка вообще не имеют golang в stable. Как в этом случае поступить адекватно? Мне в целом не лень скачать бинарную сборку Go 1.7 и засандалить ее прямо в pkg_1-1.debian.tar.xz, потом скриптами распаковывать и юзать для сборки пакета. И этот вариант работает (статика же). Но есть ли адекватный путь?

 , , , ,

upcFrost
()

Бесполезные партнеры

Форум — Talks

Вот у вас так часто бывает - сидишь в конфе с партнерами, народ вещает (на англ, так что слова-паразиты по крайней мере нативные для языка конфы) «надо заполнить канвас», «мы молодцы мы сваяли канбан», «мы должны устроить еще одну конфу поговорить о будущем», «мы забацали SLA», «мы забацали страницу проекта в твиттор»... сцук две недели до первого техревью! две недели блин! кода нет! нихрена нет! у меня уже пальцы болят по клаве стучать, а они языками чешут!

выдыхаю, пора обратно за код...

 , ,

upcFrost
()

Набивка значений из двух списков в Map

Форум — Development

Суть - есть два списка, элементы одного ссылаются на другой (вернее соотносятся, а не ссылаются, ссылки на объекты разные т.к. списки из базы приходят). Грубо говоря отношение Many-To-One со стороный элементов первого к элементам второго. Классы элементов например такие как ниже.

public class ElemA {
  public ElemB b;
  public double value;
}

public class ElemB {
  public int id;
  public String name;
}

В итоге хотелось бы получать Map<String, Double> с именами из второго списка и суммой значений первого, который потом отправляется дальше по этапу.

Пока придумал так:

for (ElemB b : bList) {
 double vals = aList.stream().filter((a) -> a.b.id == b.id).mapToDouble((a) -> a.value).sum();
 map.put(b.name, new Double(vals));
}

Вот возник вопрос - а не туплю ли я? Можно ли сделать это проще/эффективнее/лучше? Иду по списку B т.к. во-первых он логически выше, а во-вторых в целом может вылезти null или еще какой рудимент из базы, хотя по идее чистка должна идти каскадом.

И кстати, раз уж написал - что корректнее использовать, public параметры как в примере или private + Get/Set? Сейчас юзаю второе, просто если напишу так - пост расползется. Просто пока копался в библиотеке к гугловому API заметил что народ юзает там везде public, хотя в большинстве библиотек вижу private + get/set

 

upcFrost
()

Тесты, время, жаба

Форум — Talks

Сейчас словил забавный баг, хотя и не баг это, но поржал. От предыдущего разраба осталась часть проекта и пачка юнит-тестов. Один из тестов тупо проверяет что часовые зоны хельсинки и стокгольма все такие же, какие и были (ну ок, хочет человек точно знать что политики еще не сдвинули пространство-время, без проблем). Тест выглядит по типу assertEquals(helTime, stTime - offset).

Вот сейчас словил фейл этого теста. Суть выражается одной строкой.

TimeUtilityTest.testGetCalendar:1->testGetCalendar_aroundBody0:28 expected:<1467378045303> but was:<1467378045304>

Нежданчик вышел. Поржал, короче. А вот если серьезно - как можно провести такой тест чтоб он был хоть немного логичен, но при этом 100% не упал даже если вместо солнца ад и израиль взойдут? Даже если округлять до секунд/минут/часов- все равно есть 0.0(0)1% шанс что палка выстрелит и именно в эту наносекунду пройдет четко половина секунды/минуты/часа.

 ,

upcFrost
()

Аппетит приходит во время еды

Форум — Talks

Вот часто у вас такое бывает? Уже три дня долблюсь в одну и ту же проблему с жабой и Hibernate. Когда руки уже совсем опускаются и гугель молчит - думаю «ладно, спрошу на лоре». Открываю Dev, пишу пост - и тут до меня доходит решение. Поймал себя что это уже четвертый раз за три дня происходит.

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

 , ,

upcFrost
()

Runtime данные в java

Форум — Development

Появилась такая задача - нужно принимать от юзера точки от gps и потом сохранять в базу весь маршрут. Маршрут хранится в PostGIS'овом формате, каждый раз гонять туда-сюда полную запись из базы крайне неохотно, т.к. база находится примерно в 3500 километрах от сервера даже если по прямой смотреть, а точки приходят весьма часто.

Как лучше всего сохранять данные в рантайме чтоб потом их одним куском закинуть в базу? Просто static Map, или скажем ehCache, или локальную базу держать промежуточную (по техническим причинам вариант не очень)?

 , , ,

upcFrost
()

Сохранение массива координат в базе

Форум — Development

Появилась задача сохранять маршруты, приходящие в виде массива координат. Каждый маршрут может быть до пары тысяч точек, и маршруты будут только прибывать.

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

Речь про postgres, общение с ним идет через jpa (жабоспринг короче). Может у jpa есть какой хитрый механизм который в этом случае юзают?

 , , ,

upcFrost
()

stupid dev trick

Форум — Talks

Немного жж, но все-таки. Короче делаю приложение, серверную часть, народ жалуется тормозит ппц. Ноут резвый, вполне может что где-то слишком жирно сделал. В итоге пришел к следующему методу - т.к. работаю в виртуалке (на семерке пытался - крайне неудобно), то просто вырубил аппаратную виртуализацию, но оставил многоядерность. По результатам убедился что если софт работает быстро в моей виртуалке, то он точно работает еще быстрее даже на low-end компах не самой первой свежести.

Кто-нибудь еще применяет подобные извращения?

 ,

upcFrost
()

О странностях IT разных стран

Форум — Talks

Сижу рассматриваю вакансии в азии и тому что справа от нее. Наткнулся на вакансию хаскелиста за 10к+ зеленых в месяц, задумался. Ладно, бывает, ищу дальше и вижу вакансию где требуют COBOL. Чую скоро найду APL.

back in ussr блин...

 ,

upcFrost
()

NanoHTTPD Code 400

Форум — Development

Использую NanoHTTPD для тестов в Spring для замены внешнего сервиса. Собственно вся его работа заключается в том чтоб отдавать один и тот же файл ответа на любой запрос (json с типовым ответом реального сервера).

И вот собственно в этом месте ловлю крайне странную проблему - на каждый 4-ый (вообще может меняться, иногда третий, иногда пятый) запрос NanoHTTPD отвечает 400, при том что в его конфигурации понятие Bad Request должно отсутствовать от слова вообще. И что еще веселее - это происходит на 6 запросах, которые в момент обращения к NanoHTTPD абсолютно идентичны и идут в произвольном порядке (авторизация на контроллере проверяется разными способами, Nano тут вообще ни каким боком). Остальные 5 запросов пролетают нормально.

Видел что это добро народ часто юзает на ведроидах и тоже периодически ловил такой косяк (решения так и не нашел), потому добавляю ведроид в теги на всякий. Кто-нибудь сталкивался?

Конфигурация NanoHTTPD:

public Response serve (IHTTPSession session) {
 Resource res = new ClassPathResource("MockResponse.json");
 try {
  return newChunkedResponse(Status.OK, "application/json", res.getInputStream());
 } catch (IOException ex) {
  ex.printStackTrace();
  return newFixedLengthResponse(Status.INTERNAL_ERROR, "", "");
 }
}

p.s. эксепшн не вываливается. все запросы кроме одного всегда проходят ок. один рандомный запрос всегда падает.

p.p.s. ну или насоветуйте что еще можно юзать. суть - во время integration теста должен подниматься на определенном порту тупой как пробка http-сервер, который будет гордо отсылать содержимое указанного файла на любой запрос (get/post, uri - пофиг). желательно что-то максимально легкое и тупое.

Эх, ладно, «долой изврат» сказал капитан и откопал стюардессу. Перешел на Jetty.

 , , ,

upcFrost
()

У меня есть офигительный бизнес-проект

Форум — Talks

У меня в голове родился офигительный бизнес-проект: IoT баллончик-освежитель воздуха в сортире. Цепляем на баллон вафель/жопорез (скорее второе, батарейку меньше жрет), eink экран из кетая и крутим на нем рекламу со сменой раз в 4 часа или уроки казахского языка (хз почему запомнился с этих баллонов). Почти уверен что реклама, читаемая в позе «орел перед взлетом» запомнится лучше чем однообразный бубнеж по телику.

А для особых ценителей можно распространять свободные прошивки, скинь и шрифты. И что ведро компилять можно было.

P.s. я еду в поезде уже 3 часа и мне решительно нефиг делать. И вообще, пятница вечер же

P.p.s. dk-, мне не нужен кредит. Это так, на всякий случай.

 , ,

upcFrost
()

Телефон-проектор

Форум — Talks

Было может, хз

https://www.akyumen.com/default-item/holofone/

Ъ: мобильник-лопата со встроенным проектором (который на стену)

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

Кстати они умудрились совместить ведротел с дисяткой. Интересно как, xen?

 , ,

upcFrost
()

Контекст тестов в Spring

Форум — Development

Уже два дня пытаюсь решить следующую проблему. Есть приложение на Spring Boot, в нем есть два конвертера, один из которых вызывает другой при необходимости.

Выглядит это так для одного конвертора

// Include goes here
@Service
public class Conv1 implements Converter<Class1, Class2> {
 @Override
 public Class2 convert(Class1 source) {
 //...
 }
}
и для второго
// Include goes here
@Service
public class Conv2 implements Converter<BigClass1, BigClass2> {
 @Autowired
 ConversionService converter;

 @Override
 public BigClass2 convert(BigClass1 source) {
 //...
 result.setClass2Property(converter.convert(source.getClass1Property()));
 //...
 }
}

При попытке прогнать эти классы через юнит-тест вываливается NullPointerException на второй конвертер на моменте вызова первого, при этом объявленный через тот же @Autowired ConversionService в самом юнит-тесте разрешается нормально. Тест выглядит подобным образом

// Imports
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = TestConfig.class, loader = SpringApplicationContextLoader.class)
public class Conv2Test {
 @Autowired
 ConversionService converter;

 @Test
 public void testConv2() {
  BigClass1 source = new BigClass1(...);
  BigClass2 target = converter.convert(source, BigClass2.class);
 }
}

В конфиге конверторы регистрируются так

@Bean(name = "conversionService")
public ConversionService getConversionService() {
 ConversionServiceFactoryBean bean = new ConversionServiceFactoryBean();
 bean.setConverters(getConverters()); // Возвращает Set<Converter>
 bean.afterPropertiesSet();
 ConversionService object = bean.getObject();
 return object;
}

Успел найти что Autowired происходит после создания объекта, но объекты-конверторы создаются в getConverters() в конфиге, и судя по тому что в самом юнит-тесте оно работает - они создаются корректно.

Кто-нибудь сталкивался?

upd: проверил ApplicationContext из конвертора, conversionService там есть и с ним все в порядке. Но Autowire упорно выдает null без всяких дополнительных ошибок

Upd2: кое-как заткнул костылями, тесты ок, зато на старте оно не только находит conversionService, но находит аж 2 разных. Чую я криво инициализирую контекст. Кто-нибудь может ткнуть в пример как он инициализируется для java конфига для тестов?

 , ,

upcFrost
()

RSS подписка на новые темы