Ну твоего "малопоточного" кода я так и не увиделИнтеррапт wrote:Да я даже не про этот конкретный случай, а про F/J Pool c I/O операциямиcrypto5 wrote:Столько же сколько и ты развелИнтеррапт wrote:Просто тебе стыдно стало, что ты кучу потоков развел на ровном месте. Джавис, что тут скажешь.crypto5 wrote:А вот если окажется что барберов 10, то мне нужно будет одну цифру поменять, а ты будешь плодить баги и дедлоки
Ведение блога в ИТ
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Ведение блога в ИТ
In vino Veritas!
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Ведение блога в ИТ
А я уже показал псевдокод и обьяснил концепцию. Обычный асинхронный read без выкрутасов.
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Ведение блога в ИТ
Я думаю если ты начнешь его реализовывать то обнаружишь что выкрутасы там присутствуют.Интеррапт wrote:А я уже показал псевдокод и обьяснил концепцию. Обычный асинхронный read без выкрутасов.
In vino Veritas!
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Ведение блога в ИТ
Вряд-ли обнаружу. Все очень просто и логично.crypto5 wrote:Я думаю если ты начнешь его реализовывать то обнаружишь что выкрутасы там присутствуют.Интеррапт wrote:А я уже показал псевдокод и обьяснил концепцию. Обычный асинхронный read без выкрутасов.
-
- Уже с Приветом
- Posts: 6969
- Joined: 26 Feb 2011 17:40
Re: Ведение блога в ИТ
Бенчмарки-то где?
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Ведение блога в ИТ
Ненаписанный код всегда такойИнтеррапт wrote:Вряд-ли обнаружу. Все очень просто и логично.crypto5 wrote:Я думаю если ты начнешь его реализовывать то обнаружишь что выкрутасы там присутствуют.Интеррапт wrote:А я уже показал псевдокод и обьяснил концепцию. Обычный асинхронный read без выкрутасов.
In vino Veritas!
-
- Уже с Приветом
- Posts: 1008
- Joined: 24 Mar 2010 21:14
- Location: SFBA
Re: Ведение блога в ИТ
В точку.crypto5 wrote:Ненаписанный код всегда такойИнтеррапт wrote: Вряд-ли обнаружу. Все очень просто и логично.
-
- Уже с Приветом
- Posts: 576
- Joined: 15 Jan 2005 06:08
- Location: Samara -> Vancouver, CAN
Re: Ведение блога в ИТ
И все... блог уже заброшен??Sergunka wrote:Так уж вышло, что получив неделю бана решил с пользой для себе провести время и начать вести ИТ блог.
Без особых заморочек пришлось взять поначалу наиболее прстую схему изложения в духе еду-вижу максимально напирая на знания и детали работающего кода. Из движков вроде как мне подошел WordPress.com с довольно простенькой и эффективной заяснялкой как оформлять код на станице
http://en.support.wordpress.com/code/po ... urce-code/
Если совсем коротко то за неделю удалось написать три статьи, что видимо эквивалентно десятку другому постов на привете
Собственно сам блог http://vyatkins.wordpress.com/ - если читать лень, то кликните накрутите пейджинг
Если кто ведет свой собственный блог в ИТ было бы неплохо обменятся опытом и послушать людей бывалых
Из очевидных преимуществ блога вижу пока две - можно показать свой уровень изложения + понимание специальной области, что как ни-крути должно характеризовать кандидата на позицию с лучшей стороны... ну, хотя бы положительно, что не ленив и жаден
Вот взять бы всю парикмахерскую дискуссию отсюда и запостить в блог. Будет очень интересно. И делать особо ничего не надо, копи-паст.
Блог живой нужен.
Biztalkien
-
- Уже с Приветом
- Posts: 15475
- Joined: 27 Sep 2007 22:53
Re: Ведение блога в ИТ
Ага а потом еще немножко усложнить задачку разрешив одному парикмахеру обслуживать нескольких посетителей
-
- Новичок
- Posts: 46
- Joined: 23 Apr 2011 18:43
- Location: WA
Re: Ведение блога в ИТ
Гулять так гулять. Достаем из шир.. то есть тяжелую артилерию.Интеррапт wrote:Ну раз пошла такая пьянка, то и мы парикмахера напишем:
C++ с модными 11x свистелками и перделками.
Code: Select all
#include <stdio.h>
#include <atomic>
#include <condition_variable>
#include <deque>
#include <memory>
#include <mutex>
#include <queue>
#include <thread>
using namespace std;
class Barber;
class Client;
class Shop;
typedef shared_ptr<Client> ClientPtr;
static const int NUM_CHAIRS = 5;
static const int NUM_CLIENT_THREADS = 20;
static chrono::milliseconds BARBER_SESSION_TIME(50);
static chrono::milliseconds PAUSE_BETWEEN_CLIENTS(200);
class Client
{
public:
const int _id;
Client(int id) : _id(id) {};
};
class Shop
{
public:
bool Serve(ClientPtr client)
{
lock_guard<mutex> guard(_lock);
if (!_waitLine.empty() || _chair != nullptr)
{
if (_waitLine.size() >= NUM_CHAIRS)
{
printf("Client %d left unsatisfied.\n", client->_id);
return false;
}
_waitLine.push(client);
printf("Client %d is wating.\n", client->_id);
}
else
{
assert(_chair == nullptr);
_chair = client;
printf("Client %d is about to be served.\n", client->_id);
}
_signal.notify_one();
return true;
}
private:
friend class Barber;
ClientPtr GetNextClient()
{
while (true)
{
unique_lock<mutex> guard(_lock);
if (_chair == nullptr && !_waitLine.empty())
{
_chair = _waitLine.front();
_waitLine.pop();
}
if (_chair != nullptr)
{
return _chair;
}
printf("Barber is sleeping.\n");
_signal.wait(guard);
printf("Barber wakes up.\n");
}
}
void DoneWithClient()
{
lock_guard<mutex> guard(_lock);
assert(_chair != nullptr);
_chair = nullptr;
if (!_waitLine.empty())
{
_signal.notify_one();
}
}
mutex _lock;
condition_variable _signal;
queue<ClientPtr> _waitLine;
ClientPtr _chair;
};
class Barber
{
public:
Barber(Shop& shop) : _shop(shop) {};
void run()
{
while (true)
{
ClientPtr client = _shop.GetNextClient();
CutEverything(client);
_shop.DoneWithClient();
}
}
private:
void CutEverything(ClientPtr client)
{
printf("Serving client#%d.\n", client->_id);
this_thread::sleep_for(BARBER_SESSION_TIME);
}
Shop& _shop;
};
static void ClientThread(Shop* shop)
{
static atomic_int clientID;
while (true)
{
ClientPtr client = make_shared<Client>(clientID++);
shop->Serve(client);
this_thread::sleep_for(PAUSE_BETWEEN_CLIENTS);
}
}
static void BarberThread(Shop* shop)
{
Barber barber(*shop);
barber.run();
}
static void test()
{
Shop shop;
thread barberThread(&BarberThread, &shop);
thread clientThreads[NUM_CLIENT_THREADS];
for (int i = 0; i < NUM_CLIENT_THREADS; i++)
{
clientThreads[i] = thread(ClientThread, &shop);
}
this_thread::sleep_for(chrono::hours(1000));
}
void main()
{
test();
}
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Ведение блога в ИТ
Ну хоть не Фибоначчи
-
- Уже с Приветом
- Posts: 2924
- Joined: 01 Apr 2004 04:22
Re: Ведение блога в ИТ
+1 типа, а теперь вы под моим чутким руководством его за 5 мин реализуете (ето типа когда из не очень хороших кодеров получаются очень promising managers) Интеррапт, не принимай на свой счетcrypto5 wrote:Ненаписанный код всегда такойИнтеррапт wrote:Вряд-ли обнаружу. Все очень просто и логично.crypto5 wrote:Я думаю если ты начнешь его реализовывать то обнаружишь что выкрутасы там присутствуют.Интеррапт wrote:А я уже показал псевдокод и обьяснил концепцию. Обычный асинхронный read без выкрутасов.
Я боюсь, что наступит день, когда технологии превзойдут простое человеческое обшение. И мир получит поколение идиотов (c)
-
- Уже с Приветом
- Posts: 8628
- Joined: 22 Mar 2011 01:40
Re: Ведение блога в ИТ
Зряплата в 150 К+ для человека с 25-ю годами опята в IT, это ближе к уровню принзипала/архитектора (если уже не этто уровень). Блог про фибоначи или барберов это как-то совершенно не серьезно. Тут либо должно быть сказочное резюме с подробным описанием страниц на семь, либо изучение чего-то там глубинного в threads, изучение работы GC, та же Кассандра, но из глубоких нутрей. Это вот уровень для такого человека.
Ну или всякие хелперы, типа мои дорогие читатели, я сильно седомуд и стар, и забыл в разы больше, чем вы знали, посему вот эти три десятка ключей к tcpdump написаны мною, что бы про них не забыть.
Ну или всякие хелперы, типа мои дорогие читатели, я сильно седомуд и стар, и забыл в разы больше, чем вы знали, посему вот эти три десятка ключей к tcpdump написаны мною, что бы про них не забыть.
-
- Уже с Приветом
- Posts: 19041
- Joined: 11 Jan 2012 09:25
- Location: CA
Re: Ведение блога в ИТ
В наше время никто не будет читать резюме в семь страниц. Даже если оно от самого господа бога.Леонид Ильич Брежнев wrote:Зряплата в 150 К+ для человека с 25-ю годами опята в IT, это ближе к уровню принзипала/архитектора (если уже не этто уровень). Блог про фибоначи или барберов это как-то совершенно не серьезно. Тут либо должно быть сказочное резюме с подробным описанием страниц на семь, либо изучение чего-то там глубинного в threads, изучение работы GC, та же Кассандра, но из глубоких нутрей. Это вот уровень для такого человека.
Ну или всякие хелперы, типа мои дорогие читатели, я сильно седомуд и стар, и забыл в разы больше, чем вы знали, посему вот эти три десятка ключей к tcpdump написаны мною, что бы про них не забыть.
https://www.youtube.com/watch?v=wOwblaKmyVw
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Ведение блога в ИТ
У меня резюме ровно на одну страницу. Потому, что всякие свои работы 15-летней давности можно описать двумя строчками и еще одну строчку на список использовавшихся при этом языков, технологий. Все-равно никто не будет вникать в тонкости того, что ты делал 10-15 лет назад.Сабина wrote:В наше время никто не будет читать резюме в семь страниц.
-
- Уже с Приветом
- Posts: 8628
- Joined: 22 Mar 2011 01:40
Re: Ведение блога в ИТ
Ты эти сказки кому-нибудь другому рассказывай. Кому надо, тот прочтет. Ну и если это не резюме кодера, у которого на все 7 страниц одно и тоже, писал HelloWorld в конторе "А", писал HelloWorld в конторе "Б", и так далее. А что-нибудь значительно более коровое.Сабина wrote:В наше время никто не будет читать резюме в семь страниц. Даже если оно от самого господа бога.Леонид Ильич Брежнев wrote:Зряплата в 150 К+ для человека с 25-ю годами опята в IT, это ближе к уровню принзипала/архитектора (если уже не этто уровень). Блог про фибоначи или барберов это как-то совершенно не серьезно. Тут либо должно быть сказочное резюме с подробным описанием страниц на семь, либо изучение чего-то там глубинного в threads, изучение работы GC, та же Кассандра, но из глубоких нутрей. Это вот уровень для такого человека.
Ну или всякие хелперы, типа мои дорогие читатели, я сильно седомуд и стар, и забыл в разы больше, чем вы знали, посему вот эти три десятка ключей к tcpdump написаны мною, что бы про них не забыть.
-
- Уже с Приветом
- Posts: 64661
- Joined: 12 Jul 2002 16:38
- Location: г.Москва, ул. Б. Лубянка, д.2
Re: Ведение блога в ИТ
ну 2 страницы максимум, Ильич. А многостраничные резюмы уже прочно ассоциируются с Н1бишной индусятиной, кто пишет больше строчек в резюме о якобы своем проекте, чем строчек кода, который в реале они зачекинили для проекта.
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Ведение блога в ИТ
Многостраничные резюме (особенно на 5-7 страниц) просто тупо бесполезны. Девелоперы, которые будут интервьюировать кандидата, дальше 1-й или 2-й страницы не пойдут, ну может лениво глянут названия компаний на остальных страницах.Komissar wrote:ну 2 страницы максимум, Ильич. А многостраничные резюмы уже прочно ассоциируются с Н1бишной индусятиной, кто пишет больше строчек в резюме о якобы своем проекте, чем строчек кода, который в реале они зачекинили для проекта.
-
- Уже с Приветом
- Posts: 14407
- Joined: 26 May 2006 02:39
-
- Уже с Приветом
- Posts: 19041
- Joined: 11 Jan 2012 09:25
- Location: CA
Re: Ведение блога в ИТ
Сергунька, я посмотрела куда ты устроился. Вам надо с Зоркусом на ланч сходить
PS. Кстати ты не в курсе чего они нанимают так много ? После переезда народ отваливается потому что не хотят в истбей мотаться ? Или это объективно на валила масса новых проектов ?
PS. Кстати ты не в курсе чего они нанимают так много ? После переезда народ отваливается потому что не хотят в истбей мотаться ? Или это объективно на валила масса новых проектов ?
Last edited by Сабина on 13 Feb 2014 17:43, edited 1 time in total.
https://www.youtube.com/watch?v=wOwblaKmyVw
-
- Уже с Приветом
- Posts: 19041
- Joined: 11 Jan 2012 09:25
- Location: CA
Re: Ведение блога в ИТ
Да я именно про это. Резюме в одну страницу - это идеальноstenking wrote:Во, во. А сделать сайтик с подробностями это хорошо.
https://www.youtube.com/watch?v=wOwblaKmyVw
-
- Уже с Приветом
- Posts: 4185
- Joined: 27 Apr 2011 03:43
- Location: Сергели ->Chicago
Re: Ведение блога в ИТ
у меня было так, но после распросов и фитбэков я отановился на таком варианте.Сабина wrote:Да я именно про это. Резюме в одну страницу - это идеальноstenking wrote:Во, во. А сделать сайтик с подробностями это хорошо.
1-я страница - саммари.
2-я страница - детальное описание свежих интересных проектов и достижений, достойное моего внимания.
3-я страница - все остальное legacy по 3 строчки вкратце.
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Ведение блога в ИТ
Что же это за саммари такое, которое целую страницу занимает?valchkou wrote:у меня было так, но после распросов и фитбэков я отановился на таком варианте.Сабина wrote:Да я именно про это. Резюме в одну страницу - это идеальноstenking wrote:Во, во. А сделать сайтик с подробностями это хорошо.
1-я страница - саммари.
2-я страница - детальное описание свежих интересных проектов и достижений, достойное моего внимания.
3-я страница - все остальное legacy по 3 строчки вкратце.
-
- Уже с Приветом
- Posts: 4185
- Joined: 27 Apr 2011 03:43
- Location: Сергели ->Chicago
Re: Ведение блога в ИТ
да у меня там только fist last names на пол страницы 40 фриштом, и портянка из work history.Интеррапт wrote:Что же это за саммари такое, которое целую страницу занимает?valchkou wrote:у меня было так, но после распросов и фитбэков я отановился на таком варианте.Сабина wrote:Да я именно про это. Резюме в одну страницу - это идеальноstenking wrote:Во, во. А сделать сайтик с подробностями это хорошо.
1-я страница - саммари.
2-я страница - детальное описание свежих интересных проектов и достижений, достойное моего внимания.
3-я страница - все остальное legacy по 3 строчки вкратце.
-
- Уже с Приветом
- Posts: 15475
- Joined: 27 Sep 2007 22:53
Re: Ведение блога в ИТ
Да вот нифига - то же решение Фибоначчи с использованием трамплинов (trampolines) вполне себе и на статью в приличном журнале тянет. А задачка парикмахера - вообще прекрасный пример для иллюстрации наиболее сильных возможностей того или иного языка, в чем дискуссия, развернутая crypto5 можут служить лучшим тому подтверждением. У самого возникла мысль сделать сравнительный анализ возможностей разных подходов, предлагаемых интеловской студией.Леонид Ильич Брежнев wrote:Блог про фибоначи или барберов это как-то совершенно не серьезно. Тут либо должно быть сказочное резюме с подробным описанием страниц на семь, либо изучение чего-то там глубинного в threads, изучение работы GC, та же Кассандра, но из глубоких нутрей. Это вот уровень для такого человека.