сабж всё?
а какие тапки из декатлона посоветуете для повседневного ношения? чтоб всё из себя сетчатое как Link: http://www.decathlon.ru/krossovki-ekiden-one-muzh-id_8311900.html, но при этом не такого яркого цвета
@goren, у меня тут после #GJUNND появился вопрос: а переехать пешехода перебегающего где попало — нарушение NAP? а при либертарианстве где конкретно на дорогах будет располагаться не «где попало» и зачем владельцу дороги располагать пешеходные переходы, если платить ему будут автомобилисты, а не сами пешеходы? уточню, что вопрос про загородные трассы. магазинов рядом нет, чтобы владельцы магазинов были заинтересованы в удобстве пешеходов
обесните позязя, поцчему в книжном Лем находился в разделе Фантанстики, а Берроуз — в современной прозе, он же ж 18 лет как умир
У меня вопрос, но начну с введение в то как я до него дошёл.
Допустим, у нас есть какой-то коллбэк, в качестве примера возьмём FutureCallback из всячески уважаемой мной библиотеки HttpCore.
Допустим также, что мы угорели по асинхронности и поэтому после того как коллбэк завершил свою работу, мы хотим сообщить об этом куда следует. Например, чтобы там новый запрос запустили или ещё чего.
Наивная имплементация будет выглядеть примерно так:
public class CompletingFutureCallback<T> implements FutureCallback {
private final FutureCallback<? super T> callback;
private final Runnable completionCallback;
public CompletionFutureCallback(
final FutureCallback<? super T> callback,
final Runnable completionCallback)
{
this.callback = callback;
this.completionCallback = completionCallback;
}
@Override
public void cancelled() {
callback.cancelled();
completionCallback.run();
}
@Override
public void completed(final T result) {
callback.completed(result);
completionCallback.run();
}
@Override
public void failed(final Exception e) {
callback.failed(e);
completionCallback.run();
}
}
Зоркий глаз сразу скажет: А что если коллбэк был написан говнокодером и он кинет unchecked exception в ответ на вызов cancelled
, completed
или failed
? Тогда completionCallback
вызван не будет. Ладно, переделаем на finally
. Далее уже рассматриваем рефакторинг одной функции, благо все они однотипные:
@Override
public void cancelled() {
try {
callback.cancelled();
} finally {
completionCallback.run();
}
}
Зоркий глаз возразит ещё раз: А что если оба коллбэка написаны одним и тем же говнокодером и completionCallback.run()
так же кинет unchecked exception? Да, после того как unchecked exception кинул callback.cancelled()
. Даже если мы где-то снаружи ловим все Throwable, то информация о первом эксепшене будет безвозвратно потеряна.
В этот момент перфекционист вырывает клок волос из головы и призывает в помощь try-with-resources:
class Completer implements AutoCloseable {
private final Runnable completionCallback;
public Completer(final Runnable completionCallback) {
this.completionCallback = completionCallback;
}
@Override
public void close() {
completionCallback.run();
}
}
public class CompletingFutureCallback<T> implements FutureCallback<T> {
…
@Override
public void cancelled() {
try (Completer completer = new Completer(completionCallback)) {
callback.cancelled();
}
}
…
}
Вот теперь всё предельно корректно:
Если callback
кинет исключение, то completer.close()
так же будет вызван, и если он также кинет исключение, то это второе исключение будет добавлено к первому в список suppressed и при печати стек-трейса его будет видно и можно будет поанализировать.
Ну а если callback
отработал как следует, то completer.close()
так же будет вызван, а если исключение, if any, будет также проброшено наружу.
Посоветуйте годную гуглгруппу или иной ресурс, куда можно было бы запостить
пост со сравнением двух сходных идиом и чтобы получить нормальную дискуссию.
SO не подходит, потому что у меня скорее не вопрос, а приглашение к обсуждению.
В гуглгруппсы глянул и их там сотни и первые две на полнены вопросами типа
how to hide and show cursor in JTextField? и происками HR
Присмотритесь к этой картинке https://v1.std3.ru/e6/63/1429197767-e663dd1c89b7c3a09605aedf81b7751e.jpg скажите, почему годное бухло продают с такими вот удобными пластиковыми крышечками, а всякое пойло для быдла, типа Массандры, закупоривают пробками, которые без штопора хуй достанешь?
посоны, поясните мне за «позный бег» (sic!). плюсы, минусы, подводные камни?
почему ещё не изобрели язык для человеческого общения, который был бы стандартизирован ISO и правки в который принимались бы специальным комитетом? а то попалось слово slithered, из контекста понятно что значит. вот суффикс -ed можно отсечь, но почему -er нельзя? почему это глагол, а не прилагательное в сравнительной степени?
почему после пробежки так хочется трахаться? кому это выгодно?
inb4: матриархату
P.S. после тренажёрки не хочется
а чо сёдня с курсом рубля случилось? откуда такое "скален"? и акции яндекса на бакс подскочили
вот вода мокрая? мокрая.
почему мокрая? потому что каждый потрогал, прочувствовал и все согласились называть это «мокрая». никто даже не удосужился удостовериться, что ощущение у всех одинаковое было
ощущения субъективны. кому-то в середине лета вода слишком холодная, а кому-то и в проруби нормас купаться. но вот вода почему-то «мокрая» и никто с этим даже не спорит, а если кто и будет спорить — все у виска пальцем покрутят
вот в крыму власть российская? рубль российский? коллекторы российские выбивают кредиты? блядь, так почему ж либерахи кричат, что он украинский?
почему люди любят высказывать своё мнение так, словно оно кого-то волнует?
интересно а в восьмом сезоне в кабинете скиннера фотка клинтона будет заменена на что-то более подходящее?
третий день недопростуда. продуктивность понижена, немного заложен нос, но температуры нет и с горлом норм. чем выбить заразу из организма?
чота я сёдня весь день в бегах да делах, некогда под чифирок общую ленту почитать. какие тренды и камингауты я пропустил? ну кроме того что комар раньше с ботинками хуи сосал
чем кроме подъёма гантели перед собой можно накачать переднюю дельту? и отдельный вопрос — каким упражнением накачивать трапецию? онанизм не предлагать, бицепс я уже накачал