Они не заинтересованы в том, чтобы проект не провалился.
Это такая дилемма миддл менеджера: единственный способ быть замеченым и получить повышение — это когда проект удаётся и привлекает внимание высшего начальства (т.е. в сжатые сроки, приоритетное направление, и т.д.), а неудачи не приводят к плохим последствиям, т.к. можно размазать ответственность и вообще иногда неудачи — это даже хорошо, т.к. можно попросить больше денег и привлечь внимание к себе.
Такое состояние приводит к тому, что возникает конфликт интересов и им субъективно выгодно принимать рисковые решения.
Graytail, спасибо за освещение этой темы, но передача мне кажется немного однобокой. Блокаду, кстати, если я правильно помню, потом отменяли решением суда. Ну и сопутствующее убийство — это первое громкое, но отнюдь не единственное — чего только стоят все документы разведки США…
Вобщем пожелание — развейте пожалуйста тему, а не просто сделайте опрос.
При автоматическом обрыве запроса обрывается выполнение этого запроса. В случае, если запрос был «убит» это может вызвать повисший запрос, который конечно откатится, но уже спустя некоторое время.
Пулы соединений как раз гарантируют, к примеру, что один инстанс не будет открывать слишком много соединений.
Потому что тогда бы этой истории не было бы — stream api действительно имеет более предсказуемое поведение, хотя и работает в среднем медленнее guava (в случае завершающего копирования).
Сам пример, очевидно, от версии Java слабо зависит. Писался на 8й для краткости исходного кода.
В Guava на каждом методе c transform в JavaDoc написано, что transform создает View, а не новую коллекцию. В документации и примеры на это, и пояснения для чего так, и что делать если там нужна именно копия.
Да, написано, но абсолютно неочевидно из сигнатуры метода, в результате чего такая ошибка мне встречалась крайне часто (причём и у опытных людей). Мораль в результате именно такая: не верь тому, как оно выглядит, обязательно понимай как работает.
Не читаем, осуждаем. ССЗБ? Да.
Читаем, обсуждаем, передаём опыт будущим поколениям.
Второй пример — вообще смешно. Вы выделили жирным «then»часть предложения, но почему-то не «if» :)
Потому что после then написан ещё пример, когда это условие верно — при связи между AppEngine и CloudSQL.
Ваш случай подпадал под один вариант, а вы выбрали другой. И пишете, что документация плохая :)
Почему Вы так считаете? Скорость открытия соединения в описываемом случае действительно мала, так что проект подпадал как раз под этот вариант.
PS; Вместо того, чтобы использовать коннекшн пул нулевого размера — может лучше его всё же полностью убрать? :)
Не могли бы Вы объяснить, что Вы имеете ввиду? Пулл нулевого размера — это и есть дефакто отсутствие пулинга. (если просто убрать настройку пулинга, то будет использоваться default value 1 и это как раз то, что делать совсем не стоит).
PS2: Статью следовало бы назвать «Даже усли использовать хорошие библиотеки, вы всё равно можете выстрелить себе в ногу» :)
И более того, они могут помочь вам в этом, так как вы не будете осознавать, что стреляете.
>>А потому что все решили что Google кому-то что-то должен, так как изначально дал возможность делать с Андроидом практически всё что угодно.
Отделив систему от устройства и позволив легко её ставить даже на кофеварку, Google получил взрывообразный рост количества устройств с Андроид и количества программ для него.
Насколько я понимаю, эти условия включали такие пункты:
1. Если вы хотите предустанавливать на телефоны хотя бы один наш сервис, то обязаны предустанавливать всё что мы включаем в поставку
2. Если вы предустанавливаете наши сервисы, то не имеете права сотрудничать с нашими конкурентами
т.е. фактически никто кроме гугля не способен продвигать сервисы, которые сотрудничают с гугловыми при помощи производителя.
Я бы не сказал, что такой способ продвижения сервисов мне нравится в принципе — я бы предпочёл чтобы пользователей принуждали выбирать чем пользоваться, но когда так распространяется только монополист — это объективно плохо. Это приводит к ситуации, когда 90% пользователей ходят в интернет через «Интернет» (ie) и даже на порядок лучшая функциональность не помогает продвигаться альтернативным решениям.
>> Для использовании наследования, Builder разделяется на две части (один с полями, другой — с методом создания) следующим образом:
Так делать не стоит, сейчас объясню почему:
1. Если Вы используете билдеры и наследование, то оно Вам для чего-либо нужно. И обычно не просто для экономии места при написании переменных, а для того, чтобы переиспользовать билдер:
;-З
На какую должность с такими вопросами собеседуете?
Но направление мысли я понял, спасибо.
Что Вас заставляет так думать?
Это такая дилемма миддл менеджера: единственный способ быть замеченым и получить повышение — это когда проект удаётся и привлекает внимание высшего начальства (т.е. в сжатые сроки, приоритетное направление, и т.д.), а неудачи не приводят к плохим последствиям, т.к. можно размазать ответственность и вообще иногда неудачи — это даже хорошо, т.к. можно попросить больше денег и привлечь внимание к себе.
Такое состояние приводит к тому, что возникает конфликт интересов и им субъективно выгодно принимать рисковые решения.
www.opennet.ru/opennews/art.shtml?num=43805
arstechnica.com/security/2016/01/google-security-researcher-excoriates-trendmicro-for-critical-av-defects
Вобщем пожелание — развейте пожалуйста тему, а не просто сделайте опрос.
Это теория графов и «6 рукопожатий». Первое институт, второе тогда ещё было непопулярно.
В данном случае имеет место рекомендация (и условие действительно выполняется).
Пулы соединений как раз гарантируют, к примеру, что один инстанс не будет открывать слишком много соединений.
Сам пример, очевидно, от версии Java слабо зависит. Писался на 8й для краткости исходного кода.
Да, написано, но абсолютно неочевидно из сигнатуры метода, в результате чего такая ошибка мне встречалась крайне часто (причём и у опытных людей). Мораль в результате именно такая: не верь тому, как оно выглядит, обязательно понимай как работает.
Читаем, обсуждаем, передаём опыт будущим поколениям.
Потому что после then написан ещё пример, когда это условие верно — при связи между AppEngine и CloudSQL.
Почему Вы так считаете? Скорость открытия соединения в описываемом случае действительно мала, так что проект подпадал как раз под этот вариант.
Не могли бы Вы объяснить, что Вы имеете ввиду? Пулл нулевого размера — это и есть дефакто отсутствие пулинга. (если просто убрать настройку пулинга, то будет использоваться default value 1 и это как раз то, что делать совсем не стоит).
И более того, они могут помочь вам в этом, так как вы не будете осознавать, что стреляете.
Отделив систему от устройства и позволив легко её ставить даже на кофеварку, Google получил взрывообразный рост количества устройств с Андроид и количества программ для него.
1. Если вы хотите предустанавливать на телефоны хотя бы один наш сервис, то обязаны предустанавливать всё что мы включаем в поставку
2. Если вы предустанавливаете наши сервисы, то не имеете права сотрудничать с нашими конкурентами
т.е. фактически никто кроме гугля не способен продвигать сервисы, которые сотрудничают с гугловыми при помощи производителя.
Я бы не сказал, что такой способ продвижения сервисов мне нравится в принципе — я бы предпочёл чтобы пользователей принуждали выбирать чем пользоваться, но когда так распространяется только монополист — это объективно плохо. Это приводит к ситуации, когда 90% пользователей ходят в интернет через «Интернет» (ie) и даже на порядок лучшая функциональность не помогает продвигаться альтернативным решениям.
Так делать не стоит, сейчас объясню почему:
1. Если Вы используете билдеры и наследование, то оно Вам для чего-либо нужно. И обычно не просто для экономии места при написании переменных, а для того, чтобы переиспользовать билдер:
2. После присвоения базового параметра при такой реализации будет возвращена ссылка на базовый билдер, т.е. нельзя будет сделать такое:
Это можно обойти хитрым использованием дженериков при наследовании. Могу написать код, если он кому-либо интересен.
По поводу «Mega Builder» — можете привести пример реализации и использования?