Думаю, уже сложились какие-то бест практики по реализации сабжа. Хотелось бы узнать кто как поступает в подобной ситуации.
Т.е. суть проблемы: если запрос выполняется относительно долго (дольше секунды), то есть риск, что мобильное приложение не дождётся ответа, особенно при плохой связи.
Первое что приходит в голову: POST запрос на создание задачи, который только толкает её асинхронное выполнение. Затем пингование статуса её успешности.
Вот я и хотел уточнить, может есть какие-то иные, общепринятые решения? Или проблема надумана?
У меня опыт проектирования API для мобилок не велик, а разработчик мобильных приложений ничего вразумительного сказать не может, наверное сам не сталкивался с подобным.
Возник сабжевый вопрос. В общем разрабатываю проект. В него можно подключать внешние сервисы путём добавления логина+пароля. Соответственно, эти данные будут храниться в БД. Хранить их плейн текстово не комильфо, потому нужно шифровать.
Какие нынче в моде алгоритмы симметричного шифрования?
Atari, с недавних пор устремившаяся в сторону ЛГБТ-сообщества, выпустит симулятор гей-парада Pridefest. Игра выйдет осенью 2014 года на iOS и Android.
...
В Pridefest игроки смогут устроить шествие геев, лесбиянок, бисексуалов и трансгендеров. Им предстоит украшать город, наряжать участников и т.п., а вдобавок ходить на парады друзей.
Лет 15 назад видел один клип, очень хочу найти эту песенку, но деталей помню очень мало :(
Реп читают около 5 человек по очереди, из них 1 белый. 1 вроде похож на того, кто едет с P. Daddy в этом клипе в начале. Ещё припев начинается незамысловатыми словами one two three.
Возникла необходимость в моём приложении генерировать файл БД в формате sqlite. На первый взгляд всё кажется очень просто, но не тут то было. Из настоящих jdbc драйверов (т.е. есть имлементации Driver и DataSource) есть только sqlite-jdbc. Но он зависит от неведомой вещи под названием nestedVM, которая мне вообще не нужна и я её никак не прицеплю к jboss fuse.
В связи с этим возникли 2 вопроса:
1. Есть ли какие-либо другие драйвера или как использовать этот, но без этой nestedVM?
2. Есть ли какие-то другие либины навроде derby или h2, которые могут генерировать базы в формате sqlite?
У меня есть сложность организации процесса разработки с аутсорсером-мобильщиком. Когда новые вызовы в веб-сервисе ещё не реализованы, я ему скидываю описание новых запросов (URI, форматы запроса/ответа, коды ошибок и т.д.). Этого вполне может хватить для разработки нормальным людям. Но т.к. веб-сервис не готов, то он палец о палец ударять не хочет.
Так вот, в связи с этим возникает вопрос: что посоветовать этому мобильщику для быстрого поднятия мокового веб-сервиса? Кто чем пользуется в подобных случаях?
Пытаюсь прикрутить генерацию CSV файлов на стороне клиента. В принципе всё выглядит довольно просто и замечательно, если бы не одно НО. Excel требует чтобы csv файл был в кодировке cp1251.
Таким образом, встаёт проблема о генерации файлов на стороне клиента в кодировке cp1251. Я попробовал 2 варианта генерации (data uri и blob uri) с предварительной конвертацией строк как здесь, но такое не сработало: excel рисует крокозябры.
Как такое лечить? Перенести генерацию на плечи бекенда не предлагать.
не боитесь браться за сложные задачи и всегда доводите начатое до конца
хотите изменить мир к лучшему
Это вакансия для Вас!
Просьба не беспокоить:
безинициативных сотрудников
не умеющих работать в команде достигая результатов в срок
не любящих клиентов и коллег
Наши условия:
работа удалённо или в офисе
гибкий график
бесплатные обеды, кофе, чай, фитнес
“Как поработал, так и заработал”, - компенсация соизмеримая затраченным усилиям (до 200 000 р. в месяц)
Обязанности:
Разработка, сопровождение и развитие клиентской части интернет-проектов компании;
Требования:
Опыт работы от 2 лет в качестве разработчика;
Профессиональные знания и навыки:
Обязательно:
Отличное знание HTML, CSS, умение делать сложную кроссбраузерную верстку;
Отличное знание JavaScript, включая особенности движков различных браузеров;
Опыт работы с jQuery, а так же с плагинами к нему;
AJAX;
Навыки отладки и профилирования JavaScript-кода;
Понимание принципов RESTful сервисов;
Знание английского языка на уровне чтения технической литературы и документации;
Опыт работы в команде;
Наличие собственных представлений о юзабилити, умение отстаивать свое мнение и слушать чужое;
Ответственность, серьезный подход к выполнению должностных обязанностей, соблюдение существующих стандатов кодирования, желание и готовность развиваться;
Обязательно наличие портфолио работ/примеров качественного кода (JavaScript, HTML) - запрашиваются перед приглашением на собеседование.
Вот уже год мне приходится заниматься веб-разработкой. За это время я убедился что это довольно геморройное занятие. Самая геморройная вещь - это поддержка целого зоопарка разных браузеров.
На данный момент мы поддерживаем лишь узкий набор браузеров (FF 3+, Chrome, IE7+, Safari). Соответственно, я не могу гарантировать, что в других браузерах всё будет корректно отображаться и работать.
В связи с тем возникает вопрос: как лучше всего намекнуть юзеру, что ему лучше не пользоваться неподдерживаемым браузером? Есть ли какие-то best practice на эту тему?
Столкнулся с странным багом, который проявляется только в хроме и только в IOS: он почему-то рендерит HTML код как текст. Кто-нибудь сталкивался с таким?
В гугле нашёл всего пару топиков на эту тему и оба без решений.
Полагаю, что нужно ковырять doctype, но отлаживаться мягко говоря неудобно - нужно для начала отжать у кого-то айфон и как-то подключить его к локальной сети.
Люди просят во что бы то ни стало вкрутить в сайт разлогинивание при закрытии браузера. Есть ли какое-то универсальное решение этой проблемы?
Установка пустого значения срока жизни куков не панацея, так как браузер не гарантированно прибивает сессию при закрытии.
Нагугливал несколько решений, связанных с вызовом логаута по событию onunload, но это событие срабатывает при любом способе покидания страницы (уход по ссылке, закрытие браузера или вкладки, рефреш, уход на предыдущую страницу). Местами используют костыли с проверкой того, что пользователь вызвал это событие по клику по кнопке/ссылке, но тогда можно ложно посчитать за закрытие рефреш/уход на предыдущую страницу.
Есть ещё вариант с неперывным пингом сервера, но очень не хочется гонять трафик.
Так сложились обстоятельства, что меня приглашают на работу в Британию, а на визу нужно сдать тест IELTS.
Есть здесь те, кто сдавал IELTS для рабочей визы для Британии? Меня интересует вопрос, как рассматривают итог в посольстве: как среднее арифметичесткое всех частей или минимальную оценку?
Достойный уровень заработной платы (от 60 000 р до 80 000 р на руки, обсуждается по итогам собеседования);
Обязанности:
Разработка, сопровождение и развитие клиентской части интернет-проектов компании;
Требования:
Опыт работы от 2 лет в качестве разработчика;
Профессиональные знания и навыки:
Обязательно:
Хорошее знание JavaScript, включая особенности движков различных браузеров;
Опыт работы с jQuery, а так же с плагинами к нему; AJAX;
Опыт работы с jQuery UI;
Опыт создания RIA интерфейсов с помощью JavaScript;
Уверенное знание HTML, CSS, умение делать сложную кроссбраузерную верстку;
Умение работать с IDE;
Навыки отладки js-кода;
Знание английского языка на уровне чтения технической литературы и документации;
Опыт работы в команде;
Наличие собственных представлений о юзабилити, умение отстаивать свое мнение и слушать чужое;
Ответственность, серьезный подход к выполнению должностных обязанностей, соблюдение существующих стандатов кодирования, желание и готовность развиваться;
Обязательно наличие портфолио работ/примеров качественного кода (JavaScript, HTML) - запрашиваются перед приглашением на собеседование.
Попытался перетащить свои бандлы с ServiceMix 4.4.1 на Fuse ESB Enterprise 7.1.0, но столкнулся с проблемой: бандлы с XA транзакциями непрерывно пишут в лог такую вещь:
13:30:29,283 | WARN | cation-stageOne] | PooledSession | 139 - org.apache.activemq.activemq-spring - 5.7.0.fuse-71-047 | Caught exception trying rollback() when putting session back into the pool, will invalidate. javax.jms.TransactionInProgressException: Cannot rollback() inside an XASession
javax.jms.TransactionInProgressException: Cannot rollback() inside an XASession
at org.apache.activemq.ActiveMQXASession.rollback(ActiveMQXASession.java:76)279:org.apache.activemq.activemq-core:5.7.0.fuse-71-047
at org.apache.activemq.pool.PooledSession.close(PooledSession.java:120)139:org.apache.activemq.activemq-spring:5.7.0.fuse-71-047
at org.springframework.jms.connection.JmsResourceHolder.closeAll(JmsResourceHolder.java:193)153:org.springframework.jms:3.0.7.RELEASE
at org.springframework.jms.connection.ConnectionFactoryUtils$JmsResourceSynchronization.releaseResource(ConnectionFactoryUtils.java:412)153:org.springframework.jms:3.0.7.RELEASE
at org.springframework.jms.connection.ConnectionFactoryUtils$JmsResourceSynchronization.releaseResource(ConnectionFactoryUtils.java:1)153:org.springframework.jms:3.0.7.RELEASE
at org.springframework.transaction.support.ResourceHolderSynchronization.afterCompletion(ResourceHolderSynchronization.java:98)148:org.springframework.transaction:3.0.7.RELEASE
at org.springframework.transaction.support.TransactionSynchronizationUtils.invokeAfterCompletion(TransactionSynchronizationUtils.java:168)148:org.springframework.transaction:3.0.7.RELEASE
at org.springframework.transaction.support.AbstractPlatformTransactionManager.invokeAfterCompletion(AbstractPlatformTransactionManager.java:996)148:org.springframework.transaction:3.0.7.RELEASE
at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerAfterCompletion(AbstractPlatformTransactionManager.java:971)148:org.springframework.transaction:3.0.7.RELEASE
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:799)148:org.springframework.transaction:3.0.7.RELEASE
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)148:org.springframework.transaction:3.0.7.RELEASE
at org.apache.aries.transaction.GeronimoPlatformTransactionManager.commit(GeronimoPlatformTransactionManager.java:76)
at sun.reflect.GeneratedMethodAccessor243.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25):1.6.0_35
at java.lang.reflect.Method.invoke(Method.java:597):1.6.0_35
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)110:org.springframework.aop:3.0.7.RELEASE
at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:58)114:org.springframework.osgi.core:1.2.1
at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62)114:org.springframework.osgi.core:1.2.1
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)110:org.springframework.aop:3.0.7.RELEASE
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)110:org.springframework.aop:3.0.7.RELEASE
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)110:org.springframework.aop:3.0.7.RELEASE
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)110:org.springframework.aop:3.0.7.RELEASE
at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:56)114:org.springframework.osgi.core:1.2.1
at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:39)114:org.springframework.osgi.core:1.2.1
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)110:org.springframework.aop:3.0.7.RELEASE
at org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59)114:org.springframework.osgi.core:1.2.1
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)110:org.springframework.aop:3.0.7.RELEASE
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)110:org.springframework.aop:3.0.7.RELEASE
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)110:org.springframework.aop:3.0.7.RELEASE
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)110:org.springframework.aop:3.0.7.RELEASE
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)110:org.springframework.aop:3.0.7.RELEASE
at $Proxy178.commit(Unknown Source)[:]
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:257)153:org.springframework.jms:3.0.7.RELEASE
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)153:org.springframework.jms:3.0.7.RELEASE
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050)153:org.springframework.jms:3.0.7.RELEASE
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)153:org.springframework.jms:3.0.7.RELEASE
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886):1.6.0_35
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908):1.6.0_35
at java.lang.Thread.run(Thread.java:662):1.6.0_35
И это происходит на пустых очередях. при этом бандлы с обычными локальными транзакциями вроде бы запустились нормально.
Active MQ ендпойнт у меня настроен следующим образом:
В роутах он используется довольно тривиально, примерно так:
<route id="route">
<from uri="jmstx:queue:somequeue" />
<!-- some logic here -->
</route>
Уже запостил свой вопрос на SO и Fusesource, но там не сильно любят отвечать на мои вопросы :( . Буду рад, если здесь найдутся знающие люди, ну или хотя бы посоветуйте где ещё можно спросить по Fuse ESB.
В линкедине HR кинула мне приглашение на работу в чешский офис Ред Хата в Брно. На вопросы о вилке зп и требуемых скиллах пока не очень хочет отвечать, пытается сразу к ПМу на разговор отослать.
Есть ли здесь инсайдеры, которые в курсе об уровне зп? Кроме того, как там с условиями жизни, как работается?
У меня есть предположения, что уровень зп в Москве, куда я понаехал месяц назад, выше чем в Чехии. Так ли это?
Вчера обновил ядро до 2.6.31, после чего не могу подконнектиться со своим адаптером на чипсете rt2870 к точке доступа. В логах точки доступа - ошибка аутентификации. Никакие конфиги не трогал. В dmesg всё как и раньше. С чем это может быть связано?
Вообще, по дефолту подгружался модуль rt2800usb. Как с ним настраивать соединение я незнаю, поэтому я его забанил =).