Search
Write a publication
Pull to refresh
0
@king2read⁠-⁠only

User

Send message
Терра — это вроде бы то ли дочка Компэла, то ли дистрибьютер главный, в общем, у них весьма тесные и интимные связи, можно считать, что это одно и то же.
Преимущества просты:
1. сквозная генерация чисел. Часто видел людей, которые завязывались на таймеры, потом включали прибор, и у них — 2,4,19,3… выключали, включали — 2,4,19,3… то есть одинаковое поведение после ресета. Просто потому что прибор лежит в кондиционированном помещении, стабильность генераторов хорошая, последовательность всегда одинаковая. А тут она будет продолжаться.
2. Да, не все, но как правило, все же лочат. Многие лочат так, что стереть можно только вместе с прошивкой.
3. Можно писать в EEPROM программы, но это уже от применяемого контроллера зависит. Насколько я знаю, считать EEPROM сложно, проще стереть и записать нули. Но это просто добавляется проверка на чистоту EEPROM/CRC.
Хорошей идеей будет собирать внешние события ДО того, как будет нужно сгенерить число, и сохранять их в EEPROM, чтобы сброс питания не приводил к одинаковым результатам.

Генерация от внешнего источника энтропии подвержена атаке с помощью перерезания дорожки, ведущей туда. После этого достаточно подключить туда источник опорного напряжения, и бинго (например, если питание идет от 5 вольт, воткнуть туда 5.5 и будут только единицы, и шум не поможет).

Так что, ИМХО, только внутренние источники, зависящие от внешних параметров, и не сбрасывающиеся при пропадании питания. Причем сколько там получится обычных таймеров за один watchdog — получим несколько чисел (последовательных). Надо разницу фаз брать, причем примешивать к предыдущим значениям, а таймер переиничивать в main, с задержками, зависящими от предыдущего сгенеренного числа, к примеру…
Еще вопрос: предположим, я работаю с персональными данными. Купил сертифицированную винду, обновляю ее из освященных источников, поставил туда какое-то СЗИ НСД, написал инструкцию, как и где хранить ключи, работает с этим девочка, вбивает данные о пациентах (ну, к примеру). И тут, внезапно, данные утекли. Как — ну, неясно, например, уязвимость винды. Я виноват? Сертификаторы виноваты?

Кого штрафовать будут и будут ли?

Второй вопрос — есть, предположим, так же клиника, в ней есть самописная БД, простенькая, типа на денвере под виндой крутится какое-то веб-приложение на PHP, ясен пень, не сертифицированное нигде. Но туда забиваются вполне себе такие персональные данные — адреса, телефоны, история болезни, количество визитов и так далее.

Что надо сделать, чтобы «не попасть»?
Ибо думаю, пойдет вторая волна «продавцов щастья», по типу первой, которая ломаный софт искала…
OK, спасибо, тогда серьезные вопросы:

У меня сервер стоит на colocation у провайдера в России, сервер мой. На нем FreeBSD, какое-то количество софта (возможно, уязвимого), и форум invision board. Форум куплен. В нем пароли шифруются неясно чем (но ясно, что шифруются). В нем хранится логин, пароль, имя-фамилия, емайл, поля типа «увлечения» или «город жительства». Форум не принадлежит никакому юрлицу.

1. Надо ли что-то делать в свете закона о персональных данных?
2. То же, если форум самописный?
2. То же, если сервер в аренде?
3. То же, если это VDS?
4. Какие данные о пользователях, способы хранения, прочие особенности переводят форум в разряд «надо что-то делать», а то оштрафуют?
5. Достаточно ли будет галки «я сообщаю данные о себе добровольно»?

Заранее спасибо за ответ.
Это, как я понимаю, результат действий, вызванных обеспокоенностью руководства 1-го отдела на тему «как бы не прищучили» (я ж так понимаю, купили, поставили, изредка пользуются, но главная цель действия — соответствать закону, а не защищать там что-то). Рад, если ошибаюсь.

У меня только один вопрос — вот у меня в моем мобильнике находятся имена, фамилии и телефонные номера моих друзей, что вполне подходит под определение «персональных данных», ибо позволяет их однозначно идентифицировать с какой-то определенной личностью. Плюс к тому, в мобильнике находятся средства шифрования (сим-карта, передача данных между вышкой и самим телефоном), по алгоритмам, несертифицированным ФСБ, и там нет никаких сертифицированных средств защиты этих данных, а после применения защиты от ПЭМИН мобильник станет еще и полностью бесполезен.

Скажите, меня посадят? :)
Хм, я вот работал в конторе, где на работу можно было приходить как угодно, но в разумных пределах, и когда угодно — тоже в разумных пределах. Зарплата была фиксирована.

В итоге, лично я, поколебавшись между «всегда на работе до 22-00» и «я сегодня не приду», остановился на простой схеме — я работаю до тех пор, пока прет работать. Когда уже не прет, отдохну 15 минут, и если все еще не прет — ухожу заниматься чем-то еще (например, домой заниматься хобби — радиоэлектроникой). В итоге производительность была весьма хорошей.

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

При этом коллега приезжал каждый день к 9, уходил в 18, и вполне нормально работал — ему было так удобнее. Когда мы писали пересекающиеся проекты — просто я приезжал так, чтобы рабочее время пересекалось, и планировали каждый день так, чтобы мое отсутствие утром не повлияло на работу. И все получалось.

А как-то раз, когда проектов «под меня» не было особо, но пипец как нужно было строить два объекта, меня попросили быть представителем заказчика. Я и был… три месяца ложился спать в 4 часа ночи, вставал в 9 утра, весь день мотался по Москве, согласования, совещания, пинки таджикам, ругань с подрядчиками, итд, итп. Построили. Ни спасибо, ни премии, ибо был кризис, денег у конторы не было, и как-то начальству было не до того.
Так вот лично для меня то, что не было премии, было не так обидно, как то, что не было «спасибо, Ваша работа была очень нужна нам».

Ну и вообще, курс начальства стал «блин, не до спасибов, денег нет, проблем есть». В итоге поработал немного, да и уволился, когда предложили уйти в отпуск «потому что денег мало, а проектов — тоже мало».

Мораль — каждому разработчику, который стоит каких-то денег и умеет что-то большее, чем «Word, Excel и PHP» — индивидуальный подход к мотивации и демотивации, и все будет :)

p.s. Хотя, конечно, лично для меня идеальный сферическим работодателем в вакууме будет тот, который скажет: «вот тебе квартира, вот тебе зарплата в X рублей, достаточная чтобы прожить, вот тебе 1% доли в доходах, и контракт на 10 лет, а теперь, когда тебя больше ничего не тревожит, покажи, на что способен, и сверни горы». Но так не бывает, да :)
Пододжите, все не так быстро делается.
Сбер — огромная структура, просто взять и поменять кнопочку нельзя, ибо:
— сначала надо сформировать предложение по изменению структуры меню, и то, что они интересуются мнением клиентов, уже хорошо
— потом надо все согласовать, и тут, как и в любой бюрократической огромной конторе — надо время…
— потом надо подготовить сами кнопочки, менюшечки, новый пакет
— потом надо это все проставить по банкоматам

Думаю, что согласования — самое медленное.

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

Были еще карты в райфайзене и в ситибанке. Райф еще более-менее ничего (хотя банкоматов гораздо меньше), в ситибанке карту закрыл, когда количество «для вашего удобства и безопасности мы теперь будем брать по 150р каждый месяц», «для вашего удобства и безопасности если три раза ошибся при вводе кода в вебе — меняйте карточку», «для вашего удобства и безопасности чтобы поехать за границу вы должны принести стопицот справок и анализ мочи» превысили все разумные пределы.

Так что Сбер (ИМХО) — вполне разумный компромисс на текущий момент. Ну а так, конечно — на вкус и цвет все фломастеры разные. У меня шеф потерял в альфе в кризис триста штук зелени, у меня, конечно, пока столько нет, но все равно — оно как-то спокойнее.
Это частный случай :)

Я нигде не написал, что преобразуется, я написал, что даже если оно так делает, все равно оно должно это делать быстрее, чем из строки, и что даже если и не быстрее, все равно мы получаем кучу плюсов.
Разумеется, оно есть, тонкости мне неизвестны, в коде постгреса настолько не ковырялся.

Однако я считаю, что преобразование из жесткой, определенной протоколом, бинарной структуры в другую бинарную структуру должно занимать меньше времени, нежели из строки.

Но даже если по быстродействию мы и не выигрываем, то однозначно выигрываем на стороне клиента на отсутствиях проверок, а также на унификации обмена и диагностики.
Ok, начнем сначала.

Когда на Земле бегали динозаврики, а папоротник мешал работать солнечным батареям, SQL-запросы состояли только из текста (строчки). Чтобы сделать запрос, приходилось эту строчку формировать, спасаясь от SQL-injects.

Потом умные люди придумали placeholders. Это означает, что мы передаем в сервер запрос вида «UPDATE table_name SET field1=? WHERE fiedl2=?», плюс набор данных, два числа, например, 1 и 4. Этот набор данных (string и два integer) в неизменном виде доходят до сервера, и дальшу, до его персера запросов, и уже там, почти при начале поиска, подставляются как аргументы функции. Не добавляются в строчку запроса, а именно передаются уже при запросе как аргументы поиска и апдейта, прямо как были, в виде integer.

Соответственно, если мы передаем integer, максимум, что может случиться — это что туда будет передана строчка, которая превратится в ноль. Но она никогда в жизни не будет перемешана со строкой запроса, и вызовет стандартную ошибку БД.

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

Вот это и есть главное отличие.
На стороне клиента — мы предпринимаем нечеловеческие усилия, чтобы проверить, правильный ли у нас integer, не подсунули ли нам SQL-inject, преобразуем его в строку, потом передаем внутри query на сторону сервера, а потом оказывается, что «черт побери, integer может содержать минус».

Если мы используем placeholders, то значение integer передается в неизменном виде в сервер, где подставляется для использования после проверки. При этом:
— нам не надо ничего проверять и ни от чего защищаться (по крайней мере, фатальных последствий не будет)
— как следствие, код более читаем
— нам не надо думать «а как может собраться строчка и что за алиен оттуда выпарсится?»
— мы не теряем время на преобразование integer в строку и сервер не теряет время на преобразование его обратно
— все проверки идут на стороне сервера, а значит, это делается единым образом для всех платформ, языков и драйверов

Как-то так.
Все пракрасно с этим у Постгреса, это драйвер «насяльника, я тут минус полусиль, потом исё один минус полусиль, шайтанама, не знаю, чито делать… секаса не хочишь, насяльника?..»
Вы не любите кошек? Да вы просто не умеете их готовить.
Это относится либо к Вам, либо к тем, кто такой драйвер писал. :) Думаю, к авторам драйвера, ибо я, к стыду своему, в прошлый раз подумал, что вы через spritnf sql-запросы клепаете, а тут оказалось, что это просто эмфемизм такой был.

Честно говоря, разбираться в тонкостях реализации ненужного мне драйвера на языке, на котором я не программирую, мне леняво, но любой нормальный драйвер БД, который декларирует умение placeholders обязан доставлять данные в placeholders до самой БД. В противном случае это самописная функция пионера Васи, которая эмулирует placeholders.
Мда, жесть.
Я вот сколько смотрю, столько удивляюсь — ну почему люди до сих пор считают, что SQL-запрос — это строка?

Ведь на самом деле это команда+данные, практически везде существуют placeholders, через которые можно передавать команду отдельно, данные — отдельно. При этом данные автоматически приводятся к нужному типу, запрос автоматически защищается от любых SQL-injections, мы получаем автоматическую диагностику на несоответствие типа, и, как следствие, автоматически приучаемся писать правильнее, итд, итп.

Но нет — «update $table set $field=$value where $where».
И перед всем этим
$value = urldecode(mysql_escape(encode_sql_wo_injections(megaescape(superdupermegafunction($_GET['value'])))
(названия функций не имеют отношения к реальным людям :))

Юзайте плейсхолдеры, они фидорулез.
Самое главное, что нужно сделать (ИМХО) — это при прокладке маршрута понять, наконец-то, что мы, блин, не пешеходам пробки показываем, и ПРОКЛАДЫВАТЬ-ТАКИ маршруты с учетом направления движения. Если я еду в какую-то сторону, НЕ НАДО считать, что я могу развернуться в воздухе, и поехать обратно, НЕ МОГУ, развернуться сначала надо, а это не всегда тривиально.

Второе, что надо сделать, это учитывать, наконец, не только длину пробки, а еще и еще скорость. Около Белорусской 400 метров пробки, которая может стоять час. И это нифига не лучше, чем объехать на 500 метров длиннее, но за 15 минут.

Функция «да, у меня дохрена памяти, мне есть 18 лет и я хочу закешировать всю Москву нахрен, и больше не тупить, когда меняю масштаб карты» — must have.

Функция «поставить метку там, где я нахожусь, и удобно потом проложить туда маршрут» — надо, определенно надо. Нет, не «Зайти под своим аккаунтом в Гугл Мапс, оттуда связать через OpenID с учетом напоминалки в почте, и уже потом… из почты… через космические флюиды...». Нет, ткнуть в меню, поименовать точку, и при прокладке маршрутов найти ее и сказать «хочу туда».

И уже потом фишечки, рюшечки и прочие «ночью тусклее».

Ничего личного, просто были патроны.
Я не говорю про кислотные флюсы.

Я говорю именно про водосмывные, они при смачивании спиртоводной смесью генерирует белесую пленку на олове, и получается матовая поверхность. При этом никаких деструкитвных последствий, только внешний вид страдает…

А кислотные — да, вид получается жестокий, особенно если оставить на полгода лежать, там такое впечатление, что начинает зарождаться новая жизнь, по типу плесени в холодильнике, только на кремниевой основе. :)
Необязательно, зависит от флюса. Есть припои, которые содержат несмываемый флюс, обычно после этого пытаются промыть плату спиртом, потом водой, и получают надежную пайку с матовой поверхностью. :)

Рецепт: не смывать его вообще либо тереть щеточкой :)
Да, пульнет, но срез будет ровный и кусачек хватит надооооолго. Лучше использовать правильные инструменты, с победитовыми наконечниками :)
Есть один мегаприем. Кусать надо так, чтобы откусываемый вывод был обращен от вас, тогда полетит в другую сторону. Если надо откусить вывод у уже запаянного элемента, просто одной рукой кусасйте, другой касайтесь вывода (можно даже взять его в руку или накрыть второй рукой, сложенной (ковшиком) — тогда никуда никто не улетит, и заодно потом не надо будет искать эти обрывки по всей комнате.

p.s. Огрызок вывода, залетевший в телевизор, музыкальный центр или монитор, способен что-нибудь там замкнуть и будет очень обидно…

Information

Rating
Does not participate
Registered
Activity