int
может быть равна длине типа char
, но всё равно это тоже некорректно, т.к. размеры типов не зависят от разрядности архитектуры, надо было указывать разрядность типа int
), роль играет порядок байт.c
помещается наименьший значащий байт числа, т.е. это эквивалентно x % 256
.c
помещается наибольший значащий байт числа, т.е. это эквивалентно x >> 24
(для 32-битной архитектуры).1
вернёт 1
, для big-endian - 0
.bool
) для нормализации значения (!!x
эквивалентно x > 0 ? 1 : 0
).!
возвращает bool
, а результат двойного применения отрицания это, по сути, преобразование типа исходного значения к bool
(!!x
эквивалентно (bool)x
).true
/1
, если архитектура little-endian, а иначе - false
/0
.IsLittleEndian()
. Создать еще одного пользователя БД или настроить права у существующего.
Сделать, чтобы он не имел прямого доступа к таблице (select, update, insert, delete).
Сделать view для получения данных и процедуру для внесения данных (или триггер на view, если позволяет СУБД).
Это обеспечит единый вход к данным. В триггере или процедуре можно так же добавить логирование или более сложную проверку прав доступа к определенным столбцам таблицы.
У меня опыт небольшой. Python, Django, Flask, и по большей части - на oDesk. По моему мнению, самое что ни на есть важное - это: 1) выбор адекватных заказчиков, способных точно объяснить, что им надо, и желательно - технически компетентных; 2) Грамотное общение с ними. На всякое предложение о работе подписывается много людей. Чтобы выделиться среди этой толпы, необходимо потратить определённое время и силы. Внимательно прочесть предложение, подумать над ним и сформулировать в ответном письме вкратце:
- Ваш опыт, пусть и кратко, относительно данного проекта.
- Ваше представление о том, как следует реализовать этот проект (вкратце; но можно двумя словами, но желательно - обоснованно, упомянуть о том, что вот такую-то фичу вы реализуете с помощью MongoDB для пущей скорости). Пустословия и популизма не надо.
- Предполагаемые сроки. Я их обычно завышаю раза в два. Это позволяет решить задачу с запасом и устранить возможные баги, глюки и т.п. Гораздо лучше, чем обнаружить потом, что времени катастрофически не хватает.
Очень хорошо, если Вы сразу напишете ещё и некоторые рацпредложения. Вежливо и корректно, конечно.
Короче говоря, необходимо 1) найти те проекты, в которые стоит вникать и разбираться; 2) вникнуть и разобраться так, чтобы заказчик понял: Вы - компетентный специалист, работаете на совесть, сделаете обещанное и качественно. По крайней мере, очень постараетесь. Если с самого начала тон общения построен именно так, если Вы задали уровень и поддерживаете его, то в случае возможных проблем, неувязок, нестыковок, как правило, люди относятся с пониманием.