Обновить
12
Виктор Павлович Гришко@Yeah

Пользователь

16
Подписчики
Отправить сообщение
В ролике есть Тёма. А Тёма — это всегда +100500 к просмотрам. Еще можно трейлеры про Путина делать — аналогичная реакция хомячков.
Как-будто нельзя в БД timestamp поменять :)
Ну, с вай-фаем удобно. Я с любого компьютера через Gmail могу понравившуюся книгу закинуть на почту и буду уверен, что она будет уже на читалке, когда я приду домой. Да, без этого можно прожить, но с этим — приятнее.
Зело прелестные вести, о страницемаратель! Ибо отныне не токмо ведающий, но и чужеземец, топчущий своими онучами святую землю Русскую, сможет найти искомое место, дабы пресытиться лицензионной чистотой оных.
Да, фактически. Там что-то типа виртуального банковского счета. То есть один реальный банковский счет на всех. И БД, где написано, сколько тут именно ваших денег. А иначе как бы они выдавали вам карту и открывали счет, если у вас не берут ни оригиналов, ни даже копий каких-либо документов. Все на словах.
Такие карты выпускаются в сотрудничестве с интернет-сервисами (odesk, istockphoto и т.д.) и вывод на такие карты выполняется по льготным условиям. Вывод на обычную карту (Wired Transfer) стоит по 30$ за перевод.

Плюс, в некоторых странах запрещена внешнеэкономическая деятельность для упрощенной системы налогообложения (например, на Украине, до недавнего времени), а открытие счета в иностранном банке является противозаконным. В таком случае карта Payoneer спасает, так как фактически за ней нет реального банковского счета, то есть по факту нарушения закона не происходит.
Вот это да. Не ожидал, что кто-то в Payoneer хотя бы читает хабру, не говоря уж о том, чтобы писать туда.

И сразу вопрос: правда, что на карту полученную от одного из интернет-сервисов нельзя загрузить деньги с другой пластиковой карты (не-Payoneer) до тех пор, пока не пройдет хотя бы один платеж с сервиса, который выдал карту??? И если да, то планируется ли отменить данное ограничение и когда? Спасибо.
Гладко было на бумаге, да забыли про овраги, а по ним ходить...

Будем, конечно, надеяться, что у МС все получится, как описано в этой статье, но памятуя их подход к поддержке обратной совместимости (старая байка про игру и ошибку работы с памятью), я бы усомнился в реальности перехода на новый вариант Win32 API.
> Интел всё?
Ой
image
Пойду подам на Гугл в суд за то, что он считает меня неудачником.
По данным CNBC, Facebook, скорее всего, проведёт IPO в первом квартале 2012 года.

Точка невозврата — либо пузырь есть и он лопнет, либо пузыря нет — продолжаем радоваться Web 2.0 революции.
Маршрутизация в Zend Framework — это очень обширная тема, а тут — два абзаца. Жаль, что автор скачет по верхам. Было бы неплохо рассказать также о цепочках маршрутов, о таких частых применениях, как многоязычность, поддомены (уже есть в комментах)
Т.н. простой пример аутентификации кроме того еще является примером объединения логики управления (контроллер) и бизнес-логики (модель), что противоречит принципу MVC. Я для себя в конце концов пришел к такому решению:
class Model_User extends Skaya_Model_Abstract implements Zend_Auth_Adapter_Interface {

	const USER_STATE_ACTIVE = 'active';
	const USER_STATE_DEACTIVE = 'deactive';

	const USER_ROLE_GUEST = 'guest';
	const USER_ROLE_USER = 'user';
	const USER_ROLE_ADMIN = 'admin';

	public function getRole() {
		if (empty($this->_data['role'])) {
			$this->_data['role'] = self::USER_ROLE_GUEST;
		}
		return $this->_data['role'];
	}

	public function authenticate() {
		/**
		 * @var Model_User $user
		 */
		$user = $this->getMapper()->getUserByEmail($this->email);
		if (is_array($user) &&
			!empty($user) &&
			!empty($this->email) && $user['email'] == $this->email &&
			$user['password'] == md5($this->password) &&
			$user['status'] == self::USER_STATE_ACTIVE
		) {
			if (empty($user['role'])) {
				$user['role'] = self::USER_ROLE_USER;
			}
			$this->populate($user);
			unset($this->password);
			$result = new Zend_Auth_Result(Zend_Auth_Result::SUCCESS, $this);
		}
		else {
			$code = Zend_Auth_Result::FAILURE;
			if (!is_array($user) ||
				empty($user) ||
				$user['username'] != $this->email
			) {
				$code = Zend_Auth_Result::FAILURE_IDENTITY_NOT_FOUND;
			}
			elseif ($user['password'] != $this->password) {
				$code = Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID;
			}
			$result = new Zend_Auth_Result($code, null, array('loginFailed' => 'Incorrect Email & Password'));
		}
		return $result;
	}
}

Код контроллера:
class Admin_UsersController extends Zend_Controller_Action {

	/**
	 * @var Model_User
	 */
	protected $_user;

	public function loginAction() {
		$request = $this->getRequest();

		$loginForm = new Admin_Form_Login(array(
			'name' => 'loginForm',
			'action' => $this->_helper->url('login')
		));

		if ($request->isPost()) {
			if ($loginForm->isValid($request->getPost())) {
				$user = Service_User::create(array(
					'email' => $loginForm->email->getValue(),
					'password' => $loginForm->password->getValue()
				));
				$auth = Zend_Auth::getInstance();
				$authResult = $auth->authenticate($user);
				if ($authResult->isValid()) {
					$user->lastLoginDate = time();
					$user->save();
				}
			}
		}
		$this->view->loginForm = $loginForm->prepareDecorators();
	}

	public function logoutAction() {
		Zend_Auth::getInstance()->clearIdentity();
		$this->_redirect('/admin');
	}
}
Зашел в Инспектор и удалил div с поисковой формой — теперь можно играть с клавы.
Режь квадратные абажуры — это просто и дешево. Кстати, у них там в форме звезды один был — ничего так.
Ну у них-то дизайн-студия — чего бы и не купить?
Так они же автоматом режут.
Вот еще наглядное сравнение различных шрифтов: www.codeproject.com/KB/work/FontSurvey.aspx
Кстати, Inconsolata там выглядит крайне паршиво. Возможно, у авторов сравнения просто неправильные настройки сглаживания.

Информация

В рейтинге
Не участвует
Откуда
Харьков, Харьковская обл., Украина
Дата рождения
Зарегистрирован
Активность