Ведение блога в ИТ
-
- Уже с Приветом
- Posts: 15526
- Joined: 27 Sep 2007 22:53
Re: Ведение блога в ИТ
В принципе потом можно и книжку на основе блока издать.
Пусть и стрёмненькую - но свою.
Заметил что в продаже появились книженции на 70-90 страниц по околопрограммистской тематике.
Пусть и стрёмненькую - но свою.
Заметил что в продаже появились книженции на 70-90 страниц по околопрограммистской тематике.
-
- Уже с Приветом
- Posts: 34164
- Joined: 03 Dec 2000 10:01
- Location: Vladivostok->San Francisco->Los Angeles->San Francisco
Re: Ведение блога в ИТ
Не знаю сильно ли мне блог помог в моем поиске - так как все одно первая же компания где я прошел интервью дала мне офер. Но тем не менее я за пару месяцев надолбил 9 коротеньких статей и как оказалось наиболее востребованной оказалось интервьюшная задача подаренная миру Дейкстрой "спящий парикмахер" http://vyatkins.wordpress.com/2013/12/2 ... r-problem/
"A patriot must always be ready to defend his country against his government." Edward Abbey
-
- Уже с Приветом
- Posts: 4195
- Joined: 27 Apr 2011 03:43
- Location: Сергели ->Chicago
Re: Ведение блога в ИТ
вместо подхода со sleep() желательно было бы заюзать CountDownLatch или SemaphoreSergunka wrote:интервьюшная задача подаренная миру Дейкстрой "спящий парикмахер" http://vyatkins.wordpress.com/2013/12/2 ... r-problem/
-
- Уже с Приветом
- Posts: 4195
- Joined: 27 Apr 2011 03:43
- Location: Сергели ->Chicago
Re: Ведение блога в ИТ
Сергей, помоему ты не совсем честно решил задачку.Sergunka wrote: "спящий парикмахер" http://vyatkins.wordpress.com/2013/12/2 ... r-problem/
у тебя клиент всегда идет в зал ожидания. Внезависимости спит парикмакер или занят.
А в условии сказано, что в зал ожидания нужно идти только когда парикмакер занят.
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Ведение блога в ИТ
Ну и как обычно критика от ИнтерраптаSergunka wrote:Не знаю сильно ли мне блог помог в моем поиске - так как все одно первая же компания где я прошел интервью дала мне офер. Но тем не менее я за пару месяцев надолбил 9 коротеньких статей и как оказалось наиболее востребованной оказалось интервьюшная задача подаренная миру Дейкстрой "спящий парикмахер" http://vyatkins.wordpress.com/2013/12/2 ... r-problem/

В чем смысл двух break?
Code: Select all
public void run() {
while (true) { // as long as the customer is not cut he is in the queue or if not enough sits he is out
try {
this.queue.add(this.iD);
this.get_haircut(); // take a sit
break;
} catch (IllegalStateException e) {
System.out.println("There are no free seats. Customer "
+ this.iD + " has left the barbershop.");
break;
}
}
}
-
- Уже с Приветом
- Posts: 34164
- Joined: 03 Dec 2000 10:01
- Location: Vladivostok->San Francisco->Los Angeles->San Francisco
Re: Ведение блога в ИТ
Интеррапт wrote:Ну и как обычно критика от ИнтерраптаSergunka wrote:Не знаю сильно ли мне блог помог в моем поиске - так как все одно первая же компания где я прошел интервью дала мне офер. Но тем не менее я за пару месяцев надолбил 9 коротеньких статей и как оказалось наиболее востребованной оказалось интервьюшная задача подаренная миру Дейкстрой "спящий парикмахер" http://vyatkins.wordpress.com/2013/12/2 ... r-problem/![]()
В чем смысл двух break?
Code: Select all
public void run() { while (true) { // as long as the customer is not cut he is in the queue or if not enough sits he is out try { this.queue.add(this.iD); this.get_haircut(); // take a sit break; } catch (IllegalStateException e) { System.out.println("There are no free seats. Customer " + this.iD + " has left the barbershop."); break; } } }
Опа-на, точно лажанулся

"A patriot must always be ready to defend his country against his government." Edward Abbey
-
- Уже с Приветом
- Posts: 34164
- Joined: 03 Dec 2000 10:01
- Location: Vladivostok->San Francisco->Los Angeles->San Francisco
Re: Ведение блога в ИТ
Согласен, что задача выполнена не по спекам как завещал Дейкстраvalchkou wrote:Сергей, помоему ты не совсем честно решил задачку.Sergunka wrote: "спящий парикмахер" http://vyatkins.wordpress.com/2013/12/2 ... r-problem/
у тебя клиент всегда идет в зал ожидания. Внезависимости спит парикмакер или занят.
А в условии сказано, что в зал ожидания нужно идти только когда парикмакер занят.
В моей интерпретации как в общем-то и в большинстве других на просторах интернета клиент заходит в зал ожидания (т.е. у меня в очередь с блокировкой) а потом уже парикмахер разбирается с ним. Здесь есть свои плюсы и минусы.If the barber is sleeping, then the customer wakes him up and sits in the chair. If the barber is cutting hair, then the customer goes to the waiting room.
Так как я изначально решал задачу показать сильные стороны очереди с блокировкой т.е. простой код и простоту масштабирования (т.е. добавиь еще одного парикмахера очень просто у меня там даже примерчик в конце статьи) то на мой взгляд отступление от спеков есть, но не на столько чтоб уж значительное и не в ущерб функциональности и тем более не сильно стопорит производительность.
"A patriot must always be ready to defend his country against his government." Edward Abbey
-
- Уже с Приветом
- Posts: 5766
- Joined: 25 Feb 2001 10:01
- Location: Силиконовая Долина
Re: Ведение блога в ИТ
+1Flash-04 wrote:ну так сказали - blogspot если лень с собственным хостингом заморачиваться.
blogspot он же Google blogger
Все бесплатно, можно свой CSS, и в HTML писать если надо красиво. А если нет скилзов, то и UI редактор не плох.
Можно на свое доменное имя поставить.
one Nation under God, indivisible, with liberty and justice for all
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Ведение блога в ИТ
А в чем смысл while(true) {...} ? Все равно получается возможна только одна итерация цикла?Sergunka wrote: Опа-на, точно лажанулся- уже исправил в блоге.
In vino Veritas!
-
- Уже с Приветом
- Posts: 34164
- Joined: 03 Dec 2000 10:01
- Location: Vladivostok->San Francisco->Los Angeles->San Francisco
Re: Ведение блога в ИТ
К слову сказать у меня сейчас висит свое доменное имя за 18 долларов в год. Хотя до этого было со скидкой за 10 долларовTeh Instructor wrote: Можно на свое доменное имя поставить.


"A patriot must always be ready to defend his country against his government." Edward Abbey
-
- Уже с Приветом
- Posts: 34164
- Joined: 03 Dec 2000 10:01
- Location: Vladivostok->San Francisco->Los Angeles->San Francisco
Re: Ведение блога в ИТ
Здесь я следовал кальке в методе ран в потоке. Думаю можно убрать while вместе с break нафиг.crypto5 wrote:А в чем смысл while(true) {...} ? Все равно получается возможна только одна итерация цикла?Sergunka wrote: Опа-на, точно лажанулся- уже исправил в блоге.
"A patriot must always be ready to defend his country against his government." Edward Abbey
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Ведение блога в ИТ
Еще непонятно почему барбер закрывает офис если нету клиентов. По условиям задачи он вроде должен уснуть?..Sergunka wrote:Здесь я следовал кальке в методе ран в потоке. Думаю можно убрать while вместе с break нафиг.crypto5 wrote:А в чем смысл while(true) {...} ? Все равно получается возможна только одна итерация цикла?Sergunka wrote: Опа-на, точно лажанулся- уже исправил в блоге.
Еще обычно для барбера лучше юзать single thread executorservice с blocking queue внутри, и сабмитить в него клиентов как Runnable или Callable, всю логику барбера возьмет на себя ExecutorService
In vino Veritas!
-
- Уже с Приветом
- Posts: 34164
- Joined: 03 Dec 2000 10:01
- Location: Vladivostok->San Francisco->Los Angeles->San Francisco
Re: Ведение блога в ИТ
Офис закрывается если долгое время которое определяется в OFFICE_CLOSE нет клиента. Согласен комментарий не очень удачный сейчас перепишу, что мол де время ожидания клиента истекло и в зале ожидания никого нет.crypto5 wrote:Еще непонятно почему барбер закрывает офис если нету клиентов. По условиям задачи он вроде должен уснуть?..Sergunka wrote:Здесь я следовал кальке в методе ран в потоке. Думаю можно убрать while вместе с break нафиг.crypto5 wrote:А в чем смысл while(true) {...} ? Все равно получается возможна только одна итерация цикла?Sergunka wrote: Опа-на, точно лажанулся- уже исправил в блоге.
Code: Select all
Integer i = this.queue.poll(OFFICE_CLOSE, TimeUnit.MILLISECONDS);
if (i==null) break; // no more clients in the queue - close office
"A patriot must always be ready to defend his country against his government." Edward Abbey
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Ведение блога в ИТ
Да, это мелочь. А вот с ExecutorService лучше разобраться. У нас например в конторе сразу с тревогой смотрят на код, создающий свой собственный тред, так как высока вероятность что где то будут всякие сложно вылавлимые ошибки. А в случае с ExecutorService все надежнее, уже реализовано, и сложности спрятаны за удобным АПИ.
In vino Veritas!
-
- Уже с Приветом
- Posts: 34164
- Joined: 03 Dec 2000 10:01
- Location: Vladivostok->San Francisco->Los Angeles->San Francisco
Re: Ведение блога в ИТ
Здесь без вопросов в реальной имплементации лучше применить известный дизайн патерн тот же http://docs.oracle.com/javase/1.5.0/doc ... cutor.html с очередью с блокировкой сработает очень надежно.crypto5 wrote:Да, это мелочь. А вот с ExecutorService лучше разобраться. У нас например в конторе сразу с тревогой смотрят на код, создающий свой собственный тред, так как высока вероятность что где то будут всякие сложно вылавлимые ошибки. А в случае с ExecutorService все надежнее, уже реализовано, и сложности спрятаны за удобным АПИ.
Задача всеж на интервью состоит в том чтоб еще и покодить


"A patriot must always be ready to defend his country against his government." Edward Abbey