Блог хеллоуворлдщика

Записи с тегом [советы]


Правильная установка OSX на чистую

Правильная установка OSX на чистую

Как так получилось, что в сети огромное количество рекомендаций по установке/переустановке OSX на чистую через одно место? Говорят, "использовать флешку". Вы серьезно? Да кроме трех пальцев ничего не нужно!

Люди почему-то игнорируют оф.инструкцию на сайте тех.поддержки Apple и используют весьма костыльный способ.

Предлагаю пользоваться правильной инструкцией: https://support.apple.com/ru-ru/HT204904

Читать далее

Практика разговорного английского и не только

Практика разговорного английского и не только

Рано или поздно приходит необходимость с кем-то общаться для поддержания или улучшения своих разговорных навыков на английском языке. И здесь встает вопрос о том, где найти собеседника. Т.к. жизнь меня не свела с таковыми, было решено платить человеку за общение. Как ни странно, в интернете сотни школ английского языка, которые навязывают свои правила или диктую какие-то рамки, в то время, когда мне нужно было оплатить часы и просто разговаривать. В долгих поисках я нашел подходящий мне сервис с тьюторами, где все было, как мне и нужно.

Хочу рассказать всем, кто ищет общение с человеком, носителем языка, какие впечатления оставил от меня сервис Preply. В первую очередь, это гарантия возврата денег в случае, если вы оплатили часы, но не получилось их потратить. Так же, возможность перевести часы другому тьютору при желании. И самое главное, вы платите ровно за то, что вам нужно. Не больше, ни меньше. Сервис участвует только в процессе нахождения друг друга для занятий и оплате. Больше никуда не лезет.

Поэтому, все те, кто так долго ищет собеседника на поговорить, и не может по каким-либо причинам - рекомендую Preply. Достойный сервис. И это не реклама, а хороший отзыв о хорошем сервисе.

Кстати, кроме англоязычных носителей есть еще и другие. =)

Ссылка на Preply.

Читать далее

Именование поля с идентификатором

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

Читать далее

RBAC или роли доступа в Yii2

Много разных вариантов реализации ролей доступа мной было испробовано, пока я не нашел идеально подходящий для меня.

Первое, что мне не нравится в RBAC реализованный в Yii2, это возможность использовать несколько ролей. На самом деле, при правильно реализованной иерархической структуре достаточно одной роли.

Второе, что мне не нравится, это хранение назначений отдельно, т.е. связывание роли с пользователем. И это в коробке вообще никак не отключается. Если нужно действительно это отключить, чтобы случайно другой программист не заюзал - нужно переопределять менаджер авторизации и вешать всякие throw и прочее. Роль, имхо, должна указываться в таблице с пользователем, потому что: если нужно делать дамп, то если назначения хранятся в ФС - придется делать дамп и связей; а если назначения хранятся в БД (а хранить их в БД нет никакого смысла вообще), то такое тяжело поддерживать, если вдруг структура ролей будет изменена; и потом, если хранить назначения с ролями отдельно, то у людей получается жуткий говнокод, если нужно иметь возможность "видеть" роль пользователя и менять её динамически. Поэтому, делать нужно правильно изначально: все роли, правила, иерархию наследования храним в ФС, а связываем все это дело, через поле role в таблице с пользователями.

Читать далее

Рандомизация. Генерация случайных чисел.


Нижеописанное относится к PHP и все примеры приводятся для этого языка.

На пути моём богатырском встала задача реализация рандомизации. Ранее опыта не имел, но знал, что встроенная рандомизация шлак. По сути, да, она работает, но не так, чтобы очень. Хотя, притензий, как программист, я к ней не имею. Но, как юзверь - да. Самая главная проблема, это отсутствие "логики". И как бы, херали она там вообще должна быть? Именно её отсутствие и создаёт некоторые проблемы на практике.

Читать далее