Pull to refresh
14
0

Был PMMом в AppCode и много кем еще. Инженер.

Send message
А я на QB учился программировать, сидя за черно-белым Paccard Bell 8810.
И первый графический редактор на нем написал — в компьютерном классе был дефицит мышек, поэтому все рисование было с клавиатуры.
И нет, мне не 50.
не соглашусь. Обычный polling — это тоже способ доставки обновлений на клиент. Далеко не все приложения используют GCM или пишут свою реализацию long-polling'a.

Способ — да, хороший в плане баланса «реалтайм-нагрузка на сервер» — нет.
вы не внимательно прочитали статью, о том как настроить keep alive duration в HttpClient в ней рассказывается.

Статью я прочитал внимательно. Ссылку на пример я скинул потому, что там верно сделана обработка keep alive timeout. В случае изменения времени жизни коннекта на сервере ваш код вызовет снижение скорости работы с сетью у всех юзеров. Код по ссылке — только у тех, у кого очередной злобный проксятник отрежет хедер Keep-Alive.
А о чем, в первую очередь, думаете вы?

Я в первую очередь думаю, что речь в статье о доставке обновлений с сервера на клиент, а не об общем случае сетевого взаимодействия в вакууме — это исходя из описания. Во вторую очередь я думаю о том, что для этого кейза есть сто раз описанная и обговоренная связка типа:

1) если размер обновлений невелик, то сервер пересылает все данные обновлений в самой пуш-нотификации
2) если размер обновлений велик, то сервер пересылает в пуш-нотификации только сигнал о наличии и количестве обновлений
3) клиент либо сразу обновляет контент в случае 1) либо делает запрос на сервер и получает пачку апдейтов в случае 2)

Все, других формул нет. Единственный возможный вариант — это свой long-polling для каких-либо нужд. Но не используют его не потому что

Реализация этого подхода достаточно сложна на мобильном клиенте в первую очередь из-за нестабильности мобильного соединения

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

В третью очередь, глядя на эту статью, я думаю о том, что каждый раз, когда вставал вопрос о Keep-Alive в соединении (который, черт побери, опять же создает серьезную нагрузку на сервер) — всегда это происходило в одном и том же случае:

— Ребята, а где у нас запрос на получение контента Вьюшки Номер Один?
— Чувак, глянь спеку API, десяток разных запросов — и будет тебе счастье.
— Сколько?!!!
— Ну, десять, что ли… А потом еще по три запроса на каждый из десяти

И тут, что характерно, есть два решения. Первое — это оптимизировать в поте лица, но это паршивое решение. Это означает, что ты а) борешься со следствием, а не с причиной б) огребаешь последствия в виде усложения структуры приложения в) поощряешь рост профнепригодности парней на серверной стороне, или по крайней мере того гения, который такой API разработал. Хорошее решение — это сделать один (я настаиваю, один, не два, не три, а ровно один) аггрегирующий запрос для мобильного приложения, либо дать возможность каким-либо образом создавать произвольные аггрегирующие запросы.

Второй неприятный (может быть, только для меня) момент при работе с HttpUrlConnection заключается в том, что параметр keep alive duration не поддается настройке (я легального способа не нашел, если кто подскажет — буду признателен).

Правильно не поддается. Потому что время жизни keep-alive соединения настраивается на сервере, там же настраивается и пресловутый keep-alive duration, который на самом деле keep-alive timeout. Если оно настроено, то сервер в респонсе вернет что-то вроде

Keep-Alive: timeout=5, max=100
Connection: Keep-Alive

Соответственно, при использовании HttpUrlConnection необходимо будет самому трекать timeout, определяя, какой коннекшн еще можно использовать, а какой нет, а при использовании HttpClient пробросить этот параметр как значение getKeepAliveDuration (пример тут)
Я уже полгода как не студент (чему безумно рад), но комментарий пожалуй напишу. Ибо несколько надоело читать экспертные мнения о том, нужно ли образование.

Вот я отучился семь лет в ВУЗе, считая год пропущенный из-за вылета. Я работаю пять лет мобильным разработчиком. Что я увидел за эти пять лет? Почему-то весь руководящий состав конторы, в которой я работаю, имеет высшее образование. Круче того — либо высшее с красным дипломом, либо ученую степень. Контора, замечу, аутсорсинговая, научным программированием не занимается. Почему-то любой руководящий пост у наших клиентов, среди которых нет ни одного отечественного, занимают выпускники престижных западных ВУЗов.

Что я еще увидел? Пожалуйста. Среди выпускников тех же престижных ВУЗов, процент тех, кто владеет хотя бы элементарной логикой в рамках своей профессии ничтожен. Их мало. Процент среди тех, кто владеет ей среди самоучек и недоучившихся — еще меньше.

И вот что интересно. Было у нас три курса мат.логики, которая, считаю, является в IT основополагающей дисциплиной. 6 лет ее вдалбливали, разжевывали, впихивали всеми возможными способами в мозг студента, пытаясь по сути приучить его только к одному — думай над проблемой, анализируй, находи несоответствия. Учись думать системно, блин. И количество понявших — ничтожно. Тут хоть разбейся — никто меня не убедит, что при отсутствии высшего образования больше человек возьмется изучать эту дисциплину самостоятельно — слишком высокий порог вхождения, слишком сложно разобраться самому. Единицы, для которых это легко, и которые лемму Хенкина еще в первом классе доказывали, могут радостно идти лесом и радоваться личной офигенности. 99,9% студентов под это определение не подпадают.

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

И это только один пример. Другой — я работаю с третьего курса. Как-то разок пришлось в спешном порядке доделывать лабораторную по компьютерной графике, которую я органически не переносил. Двое суток непрерывного кодинга, первый нормальный результат за час до сдачи. Все, сдал, плюнул, пришел на работу, зарекся — больше на километр не подойду к этой фигне, больше не понадобится никогда точно.

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

Это я к чему. Многим программистам на нашем курсе было неочевидно, за каким дьяволом их пичкают, например, физическими дисциплинами. Зачем им термодинамика — они ведь никогда с ней в будущем работать не будут? Дело в том, что предсказать, с чем и в какой области придется работать, невозможно. Многое не понадобится, но выработает способность системно мыслить. Физика не пригодится, но научит думать не математически, а, грубо говоря, прикидочно. Там отрезать, это отбросить, тут в ряд Тейлора разложить — задача решена. А казалось, что не решится никогда. Точно так же можно сказать о многих других предметах.

Проблема тех, кто учит, как правило в том, что они хорошие специалисты, применяющие свои знания на практике. При этом они часто хреновые преподаватели, не умеющие внятно объяснить, зачем их предмет нужен. Противоречия тут нет, так бывает, совпадает редко. Отсюда студент сидит и думает — за каким дьяволом ему сдался матан? А преподаватель строит умную рожу, рассказывая, что применяется матан там-то и там-то. Он, правда, умалчивает, что сам-то свои знания, как правило, каждый день применяет на практике и они для него — ни разу не гора формул, а вполне себе конкретные проекты. У студента такой взаимосвязи в голове не откладывается, возникает недовольство.

Для справки — я не был в большом восторге от образовательного процесса в своем ВУЗе, я видел кучу ошибок. Но связаны они были не со списком предметов, которые преподавали, а с бездарями, которые их преподавали. С деканатом, который компостировал мозги, вместо того, чтобы помогать студентам. С дураками, выбиравшими себе пару любимчиков из группы и объявлявших всех остальных идиотами.

Ну и как итог. При устройстве на работу две бумажки — бакалаврский и магистерский диплом — мне не помогли, у меня их еще не было. После их получения тоже ничего не изменилось. А вот мышление, которое у меня выработал ВУЗ — помогло и продолжает помогать. Не столько даже в работе, сколько в жизни.
Что-то я сомневаюсь в корректной поддержке Блэкберри версий до 5.0.
Там же браузерный контрол представляет из себя лютейшую задницу, javascriptом пользоваться вообще не рекомендуется.

Хотя, доля 5.0-7.0 становится все больше и больше.
А мы ее на два усила пускаем. Очень даже %)
А теперь берем бюджетный вариант для группы из 3-х человек. Вокалист, он же басист, соло-ритм-навсерукигитарист и ударник, у которого руки растут из плеч.

Микрофон — пусть 20000.

Электрогитара — в пределах 25000-35000. Берем подержанный инструмент нормального качества + опционально меняем звучки под то, что нужно.

Бас — в пределах 30000-40000. Опять же, подержанный инструмент с заменой звучков.

Железо для ударника. Meinl, комлект хай-хэт, райд, крэш. Порядка 18000-25000. Это концертный вариант. Репетиционный вполне укладывается тысяч в 8.

Концертный усилитель. Либо имеем прямые руки у гитариста, который возьмет пред типа AMT-SS11, обеспечивающий достаточную независимость от аппарата и отличный перегруз, либо берем ерасовскую башку типа Детонатора или Бульдозера. Имеем 30000.

Просто Меса в качестве усилителя и Гибсон в качестве гитары как «бюджетный вариант» — это по-моему, серьезный перебор.

Собственно, невооруженным взглядом видим, что цена становится существенно ниже.
Вот честно, когда начинают сравнивать Андроид или Ойфон с Блэкберри и пытаются найти какие-то плюсы Блэкберри в сравнении с ними — сразу становится ясно, что такую статью пишет пользователь. Никак не разработчик.

Потому что если есть ад, в котором будут гореть мобильные программисты — то на его воротах будет красоваться логотип Блэкберри.

Java -source 1.3. Уже на этом можно закончить.

Хотите GUI Designer? Думаете, что за почти десяток версий платформы его можно было сделать? Хрен-то там.

Думаете, что создать коннекшн — это просто? Добро пожаловать в маленькую вселенную Блэкберри. Для начала придется определить активный тип соединения — на выбор, Direct TCP, Wifi, BES, MDS, BIS, WAP, WAP2. Для чего придется сделать фэйковый коннект — ибо API, отвечающая за опредение вот этого активного соединения, нагло врет. А потом еще обнаружится, что у этого долбаного соединения нет возможности выставить таймаут.

А потом — что якобы «подключенный» WiFi — на самом деле не работает. Страница в браузере, например, не загрузится. Зато индикатор WiFi будет показывать честную половину мощности.

А потом — что якобы стабильное соединение будет падать из-за некорректной настройки какого-нибудь отдельно взятого BESа. И да, вам придется отсылать пользователей к админу их сервака.

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

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

А потом — что для того, чтобы сделать аплоад крупного файла в приложении (размером, этак мегабайт 5) вам придется написать свой http over socket, потому как в классе HttpConnection реализация метода flush не позволит его выполнить больше одного раза. Это тоже баг.

Вообще, о багах этой платформы можно поэмы писать. Но я не буду, нет.

Я просто запущу сейчас компиляцию проекта с препроцессорными директивами для долбаных 5 платформ, для каждой из которых надо в среднем сделать поддержку 3 разрешений. Благо, хотя бы это можно автоматизировать — есть bb-ant-tools.

На месте пользователя я бы задумался — надо ли брать телефон, при программировании под который приходится постоянно изобретать велосипеды и придумывать долбанутые воркараунды.
Знаете…
Мне уже глубоко ПОХУЙ.
А у меня с установкой Ubuntu…
Не требую. Я вроде так же и не требовал, чтобы на каждом экране было обязательно написано «from Microsoft».

Вы аналогию проводите корректно. А то насчет различий теплого и мягкого можно долго дискутировать.
Корректная аналогия в данном случае — это «название рубрики газеты» — «название раздела приложений». Потому что по сути своей каждый такой экран — это рубрика.

Здесь мне важно чтобы и название экрана в телефоне, и название рубрики в газете присутствовало. И там, и там — для удобства. В газете, например, рубрику «смехачи» я даже просматривать не стану. Это к вопросу о том «вам же не важно, чтобы на каждой странице постоянно было».

Второй вариант — важно ли мне, чтобы название рубрики в газете было напечатано с нормальным переносом строк. Лично для меня — это критично, так как кривой перенос вызывает раздражение при чтении. Точно так же, как и обрезанный заголовок в телефоне вызывает некоторое эстетическое раздражение. И обрезанный контент, к слову сказать, тоже. А я не стану покупать телефон, который лично у меня вызовет эстетическое раздражение, будь его дизайн хоть двести раз инновационным и гениальным.

Если из первого моего комментария, где оговорился про силу привычки, неясно, повторяю еще раз — это чисто субъективный аспект восприятия и он может измениться при постоянном пользовании таким телефоном

А что из
менится е
сли я буд
у вот так п
исать?
Я это понимаю. Просто ее необходимость — особенно в плане заголовков «ames», «rketpl» и «Offic» кажется сильно сомнительной.
Эх, а я ее уже прошел…
Половину — в аэропорте, пока ждал рейса, половину — в отпуске. Классная игрулина.
«Обрубленные» местами экраны создают впечатление недоработанности интерфейса. Хотя, может это в силу привычки.
>Первое, что видит каждый посетитель открытия… Что бы вы думали? Правильно, новенький Maserati прям у входа

Как-то это не патриотично. А ведь на его месте должен был быть нанодирижамбель.
Как с СССР не получится — по той простой причине, что СССР не был никогда ориентирован на чисто сырьевую экономику. И потому что не это было главной причиной распада, а полная деградация правящей элиты, неспособной адекватно реагировать на изменение настроений народа.

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

Медведев же, если бы пытался не повторять ошибок выходцев из ЦК КПСС, построивших экономику РФ по принципу банановой республики в начале 90-х, начал бы менять этот менталитет адекватными мерами — например, налогами на сверхдоходы. Да черт — хотя бы прогрессивной ставкой налога на доходы. И тогда — неожиданно!!! — появились бы средства на развитие малого бизнеса, и на развитие наукоемкого производства. Что называется, допишите сами — на развитие чего еще нужны средства которых «всегда нет». Особенно, если к этому прибавить еще комплекс мер по регулированию экономики государством — что в момент кризиса было сделано во всех странах с самой либеральной экономикой. Но это же страшно — гос. регулирование. Даже говорить такие слова страшно, я сам боюсь.

А то, блин, отмыть бабки на очередном «бизнес-инкубаторе» — это мы хоть сейчас готовы. А сделать взаимодействие в экономике как у западных друзей — этого мы не можем.

Это я не в плане противоречия с вашим комментарием, а просто в плане некоторой коррективы. Просто когда я слышу комментарии родного правительства по поводу «у нас нет средств», хочется всегда спросить о главном — а вы вообще искали?!
Для начала надо определиться со значением слова «выгодно» в применении к слову «инновации».

Это сектор, как правило, долгосрочных капиталовложений. То есть выгодно-то будет — но, скажем, лет через двадцать. И только в течение эти лет -дцати вклад окупится. «Отобьется», как модно говорит в среде отечественного, насквозь компрадорского капитала.

Выгоднее, конечно, продать пару тонн трусов сегодня и получить гарантированные бабки завтра, чем заплатить сегодня очкарику, пришедшему с непонятной хуевиной и может быть — если повезет — лет через двадцать получить, скажем, мобильный телефон вместо проводного.
Не вполне согласен. Между тройками (да-против, нет-не против, не знаю — воздерживаюсь) и (да-против, нет-не против, по барабану) изоморфизма нет никакого.
Хотя, пусть это будет хаброизоморфизмом.
А где вариант ответа «Я программист, музыкант и мне по%:!.. Меня просто заколебали топики про копирайт»?

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity