Ведение блога в ИТ

User avatar
dotcom
Уже с Приветом
Posts: 9035
Joined: 25 Oct 2011 19:02
Location: SVO->ORD->SFO

Re: Ведение блога в ИТ

Post by dotcom »

У меня тут рядом лежит резюме товарища с примерно 5-ти летним стажем, де резюме 6 страниц. Сочинение из разряда "Как я провел лето". Ну так мы даже ему позвонили, просто было поинтересоваться, кто такой. :) По телефону показался адекватным человеком, на вопрос про резюме посмеялся и сказал, что хотел быть оригинальным.
User avatar
Sergunka
Уже с Приветом
Posts: 34124
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Ведение блога в ИТ

Post by Sergunka »

Сабина wrote: Кстати ты не в курсе чего они нанимают так много ?
Бюджет большой, грех жаловаться.
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
Komissar
Уже с Приветом
Posts: 64661
Joined: 12 Jul 2002 16:38
Location: г.Москва, ул. Б. Лубянка, д.2

Re: Ведение блога в ИТ

Post by Komissar »

Сабина wrote:Сергунька, я посмотрела куда ты устроился. Вам надо с Зоркусом на ланч сходить ;)
PS. Кстати ты не в курсе чего они нанимают так много ? После переезда народ отваливается потому что не хотят в истбей мотаться ? Или это объективно на валила масса новых проектов ?
Там классический индусский гадюшник, вонючий и шумный open space. Пока никого не знаю, кто там бы более 10-12 мес задержался.
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: Ведение блога в ИТ

Post by Сабина »

Komissar wrote:
Сабина wrote:Сергунька, я посмотрела куда ты устроился. Вам надо с Зоркусом на ланч сходить ;)
PS. Кстати ты не в курсе чего они нанимают так много ? После переезда народ отваливается потому что не хотят в истбей мотаться ? Или это объективно на валила масса новых проектов ?
Там классический индусский гадюшник, вонючий и шумный open space. Пока никого не знаю, кто там бы более 10-12 мес задержался.
Расскажите подробно - что прямо вот так вот уходят через год? И многие ? Молодежь в основном или older folks ?
И еше интересно чего это они нанимают как бешеные ?
https://www.youtube.com/watch?v=wOwblaKmyVw
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: Ведение блога в ИТ

Post by Сабина »

Sergunka wrote:
Сабина wrote: Кстати ты не в курсе чего они нанимают так много ?
Бюджет большой, грех жаловаться.
А проэкты то есть реальные ? А то бюджет можно быстро просрать не делая прибыль
https://www.youtube.com/watch?v=wOwblaKmyVw
User avatar
Komissar
Уже с Приветом
Posts: 64661
Joined: 12 Jul 2002 16:38
Location: г.Москва, ул. Б. Лубянка, д.2

Re: Ведение блога в ИТ

Post by Komissar »

Сабина wrote:
Komissar wrote:
Сабина wrote:Сергунька, я посмотрела куда ты устроился. Вам надо с Зоркусом на ланч сходить ;)
PS. Кстати ты не в курсе чего они нанимают так много ? После переезда народ отваливается потому что не хотят в истбей мотаться ? Или это объективно на валила масса новых проектов ?
Там классический индусский гадюшник, вонючий и шумный open space. Пока никого не знаю, кто там бы более 10-12 мес задержался.
Расскажите подробно - что прямо вот так вот уходят через год? И многие ? Молодежь в основном или older folks ?
И еше интересно чего это они нанимают как бешеные ?
белые там не задерживаются. Нанимают все время из-за turnover.
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: Ведение блога в ИТ

Post by Сабина »

Komissar wrote: белые там не задерживаются. Нанимают все время из-за turnover.
Ужасти какие то рассказываете. Я наоборот слышала что в архитекторах там все неиндусы в основном, индусов только для coding держат
https://www.youtube.com/watch?v=wOwblaKmyVw
mynameiszb
Уже с Приветом
Posts: 1663
Joined: 16 Jul 2009 14:18
Location: Uganda

Re: Ведение блога в ИТ

Post by mynameiszb »

Вы бы хоть намекнули, о каком-таком зашифрованном месте идет речь :)
Amazon?
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Ведение блога в ИТ

Post by crypto5 »

Мальчик-Одуванчик wrote:Ага а потом еще немножко усложнить задачку разрешив одному парикмахеру обслуживать нескольких посетителей
Мой вариант этот кейс покрывает, можно просто в создании thread pool увеличить количество тредов, и все автоматически работает.
In vino Veritas!
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Ведение блога в ИТ

Post by Мальчик-Одуванчик »

crypto5 wrote:
Мальчик-Одуванчик wrote:Ага а потом еще немножко усложнить задачку разрешив одному парикмахеру обслуживать нескольких посетителей
Мой вариант этот кейс покрывает, можно просто в создании thread pool увеличить количество тредов, и все автоматически работает.
Тут как-бы очевидно, что должна быть привязка ниток к парикмахемам и допустимое наличие дополнительных правил обработки.
К примеру парикмахер, уже обслуживающий N-го (в своем пуле) клиента не имеет права брать N+1-го до тех пор пока все остальные не наберут N
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Ведение блога в ИТ

Post by crypto5 »

Мальчик-Одуванчик wrote:
crypto5 wrote:
Мальчик-Одуванчик wrote:Ага а потом еще немножко усложнить задачку разрешив одному парикмахеру обслуживать нескольких посетителей
Мой вариант этот кейс покрывает, можно просто в создании thread pool увеличить количество тредов, и все автоматически работает.
Тут как-бы очевидно, что должна быть привязка ниток к парикмахемам и допустимое наличие дополнительных правил обработки.
К примеру парикмахер, уже обслуживающий N-го (в своем пуле) клиента не имеет права брать N+1-го до тех пор пока все остальные не наберут N
Ну так задачу можно до бесконечности дополнять мелкими деталями, типа, потом парикмахер может брать к себе не всех клиентов, а соответствующих определенному условию, или клиенты хотят попадать все время к своему парикмахеру, или парикмахеры работают посменно, в чем смысл то?
In vino Veritas!
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Ведение блога в ИТ

Post by Мальчик-Одуванчик »

crypto5 wrote:
Мальчик-Одуванчик wrote:
crypto5 wrote:
Мальчик-Одуванчик wrote:Ага а потом еще немножко усложнить задачку разрешив одному парикмахеру обслуживать нескольких посетителей
Мой вариант этот кейс покрывает, можно просто в создании thread pool увеличить количество тредов, и все автоматически работает.
Тут как-бы очевидно, что должна быть привязка ниток к парикмахемам и допустимое наличие дополнительных правил обработки.
К примеру парикмахер, уже обслуживающий N-го (в своем пуле) клиента не имеет права брать N+1-го до тех пор пока все остальные не наберут N
Ну так задачу можно до бесконечности дополнять мелкими деталями, типа, потом парикмахер может брать к себе не всех клиентов, а соответствующих определенному условию, или клиенты хотят попадать все время к своему парикмахеру, или парикмахеры работают посменно, в чем смысл то?
проверить насколько продумано изначальное решение и как оно может адаптироваться к незначительным уточнениям.
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Ведение блога в ИТ

Post by crypto5 »

Мальчик-Одуванчик wrote:
crypto5 wrote:
Мальчик-Одуванчик wrote:
crypto5 wrote:
Мальчик-Одуванчик wrote:Ага а потом еще немножко усложнить задачку разрешив одному парикмахеру обслуживать нескольких посетителей
Мой вариант этот кейс покрывает, можно просто в создании thread pool увеличить количество тредов, и все автоматически работает.
Тут как-бы очевидно, что должна быть привязка ниток к парикмахемам и допустимое наличие дополнительных правил обработки.
К примеру парикмахер, уже обслуживающий N-го (в своем пуле) клиента не имеет права брать N+1-го до тех пор пока все остальные не наберут N
Ну так задачу можно до бесконечности дополнять мелкими деталями, типа, потом парикмахер может брать к себе не всех клиентов, а соответствующих определенному условию, или клиенты хотят попадать все время к своему парикмахеру, или парикмахеры работают посменно, в чем смысл то?
проверить насколько продумано изначальное решение и как оно может адаптироваться к незначительным уточнениям.
При этом кроме незначительных уточнений вам пришлось еще и придумывать ограничения на внутреннюю реализацию ))
In vino Veritas!
User avatar
Sergunka
Уже с Приветом
Posts: 34124
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Ведение блога в ИТ

Post by Sergunka »

К слову сказать сегодня тех лид сказал, что перед тем как рекомендовать меня взять начальству мой блог почитал :D
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Ведение блога в ИТ

Post by Мальчик-Одуванчик »

Sergunka wrote:К слову сказать сегодня тех лид сказал, что перед тем как рекомендовать меня взять начальству мой блог почитал :D
Супер. Главное что прокатывает.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Ведение блога в ИТ

Post by Мальчик-Одуванчик »

crypto5 wrote:
Мальчик-Одуванчик wrote:
crypto5 wrote:
Мальчик-Одуванчик wrote:
crypto5 wrote: Мой вариант этот кейс покрывает, можно просто в создании thread pool увеличить количество тредов, и все автоматически работает.
Тут как-бы очевидно, что должна быть привязка ниток к парикмахемам и допустимое наличие дополнительных правил обработки.
К примеру парикмахер, уже обслуживающий N-го (в своем пуле) клиента не имеет права брать N+1-го до тех пор пока все остальные не наберут N
Ну так задачу можно до бесконечности дополнять мелкими деталями, типа, потом парикмахер может брать к себе не всех клиентов, а соответствующих определенному условию, или клиенты хотят попадать все время к своему парикмахеру, или парикмахеры работают посменно, в чем смысл то?
проверить насколько продумано изначальное решение и как оно может адаптироваться к незначительным уточнениям.
При этом кроме незначительных уточнений вам пришлось еще и придумывать ограничения на внутреннюю реализацию ))
Зависит от подхода к реализации.
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Ведение блога в ИТ

Post by crypto5 »

Sergunka wrote:К слову сказать сегодня тех лид сказал, что перед тем как рекомендовать меня взять начальству мой блог почитал :D
Поздравляю с ненапрасно затраченными усилиями :great:
In vino Veritas!
mynameiszb
Уже с Приветом
Posts: 1663
Joined: 16 Jul 2009 14:18
Location: Uganda

Re: Ведение блога в ИТ

Post by mynameiszb »

Josh Smith, Advanced MMVM - книга, первоначально написанная в виде блога. Насколько я видел на профильных и пр. форума - очень неплохо продавалась для технической литературы. Ну и являлась приятным бонусом к имени человека, который имя "сделал" на описании разных фич MVVM спецификации для Silverlight.

Так что идея вести некий блог и потом конвертировать его во что-то более серьезное - вполне себе работает. Главное - чтобы было что писать :)
User avatar
valchkou
Уже с Приветом
Posts: 4185
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Ведение блога в ИТ

Post by valchkou »

Sergunka wrote:К слову сказать сегодня тех лид сказал, что перед тем как рекомендовать меня взять начальству мой блог почитал :D
скажи спасибо модератору, если б он тебя не забанил на привете, фиг бы ты что написал
User avatar
Sergunka
Уже с Приветом
Posts: 34124
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Ведение блога в ИТ

Post by Sergunka »

crypto5 wrote:
Sergunka wrote:К слову сказать сегодня тех лид сказал, что перед тем как рекомендовать меня взять начальству мой блог почитал :D
Поздравляю с ненапрасно затраченными усилиями :great:
Оказывается история с блогом имеет продолжение уже от самого начальства :-) У начальства план, чтоб сотрудники писали статьи, ездили на конференции т.е. всячески продвигали продукт разрабатываемый в конторе. Лично меня это более чем устраивает.
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Ведение блога в ИТ

Post by Мальчик-Одуванчик »

то есть если раньше ты писал по вдохновению, то теперь осознанно будешь впаривать?
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Ведение блога в ИТ

Post by Мальчик-Одуванчик »

Мальчик-Одуванчик wrote:то есть если раньше ты писал по вдохновению, то теперь вдохновенно будешь впаривать?
User avatar
Sergunka
Уже с Приветом
Posts: 34124
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Ведение блога в ИТ

Post by Sergunka »

Мальчик-Одуванчик wrote:то есть если раньше ты писал по вдохновению, то теперь осознанно будешь впаривать?
Вообще-то я посмотрел получается я за месяц 8 коротких статеек в блог написал - просто ацкий графоман :cry: Сейчас я попытаюсь писать более осознано так как первое время просто хотелось технику изложения набить и посмотрет что народ читать будет. Вроде худо-бедно сработало и слава богу.
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Ведение блога в ИТ

Post by Мальчик-Одуванчик »

AxelA wrote:
Интеррапт 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();
}
Примерно то же самое, но немножко короче при использовании bost::asio

Code: Select all

#include <boost/thread.hpp>
#include <boost/asio.hpp>
#include <iostream>

using namespace boost::asio;

io_service service;
void serveclient(std::string name) {
    std::cout << "serving client: " << name << std::endl;
}
int main()
{
    std::string clients[] = {"client1","client2","client3","client4","client5","client6"};
    for(std::string client : clients) service.post(bind(serveclient,client));
    boost::thread_group threads;
    for(int barber=0; barber < 2; barber++) threads.create_thread([](){service.run();});
    boost::this_thread::sleep(boost::posix_time::seconds(1));
    threads.join_all();
    return 0;
}
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Ведение блога в ИТ

Post by crypto5 »

А где задается сколько в парикмахерской стульев в зале ожидания?
In vino Veritas!

Return to “Работа и Карьера в IT”