All streams
Search
Write a publication
Pull to refresh
32
0
Алексей @pieceofsummer

User

Send message
Конкретно эта "интересная статья" ничего нового, в принципе, не рассказала.
Зато глубинное гугление намекнуло, что в отличие от строки и массива, Stream (и его производные, типа MemoryStream) сериализируется в буфер обмена правильно.

Так что в целом — спасибо за наводку. В следующий раз надо лениться чуть меньше :)
На самом деле MakeLink() не должно быть отдельной функцией вообще, т.к. больше нигде не нужна в принципе.
Но хотелось для наглядности все-таки разделить формирование буфера и запихивание его в буфер.
Да пусть хотя бы с
using System;
class NewBlog
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}


Не сразу же писать про глюки маршалинга массивов в System.EnterpriseServices при DCOM-программировании... ;)
И насколько удобно его набирать на лаптопе? А на более мобильных и компактных устройствах?
Я обычно "—" использую. Привычка-с... :)
Надо будет взглянуть, спасибо за наводку
Одних оконных библиотек недостаточно, чтобы заявлять о полноценном (и удобном) десктоп-программировании на каком-либо языке.

Как у него с интероперабельностью? Сможете, например, расширение для эксплорера написать? Или без лишнего геморроя вызвать нативную функцию?
Что из себя будет представлять такая программа? Текстовый скрипт и кучу дополнительных файлов по причине отсутствия понятия "ресурсы"? Или zip-архив, вроде jar-а, который будет распаковываться во временную папку?
Что будет с безопасностью? Тот же .NET и Java имеют представления о разрешениях и запретах для кода. Чем и как скоро может ответить PHP?

Короче, тонкостей тут масса. Поэтому не думаю, что все будет так уж "легко"... ;)
Блин, это ж заметить надо, что перевод :)
Очень интересно по первому пункту, как вы себе представляете, например, PHP в качестве языка разработки десктопного приложения? И какую он может составить конкуренцию .NET/Java? А вы себе хорошо представляете, скажем, драйвер на Ruby? Мое мнение — для десктопных компонентов ситуация вряд ли скоро изменится.

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

С вебом вообще все неоднозначно. Время покажет.

... даже две альтернативы рабочей среде Windows, которые надёжнее, безопаснее, эффективнее и дешевле?

Альтернативы-то есть, но вот по всему остальному — очень спорно. Хотя бы потому, что для централизованного администрирования форточек есть инструментарий. А есть ли групповые политики для убунты (вопрос скорее риторический)? А для макоси (OS X Server не щупал, не знаю)?
Дешевле? Само по себе — возможно, но требует переквалификацию персонала. В какую сумму это выльется в итоге — вопрос неоднозначный. А неоднозначности обычно стараются избежать.
Эффективнее? Ну возможно. А возможно — и нет. К тому же, есть ли весь нужный софт под эти платформы? Та же 1С:Бухгалтерия, например? Или еще какой-нибудь подобный софт. В какую сумму и сроки выльется переход?
Надежнее и безопаснее? Опять же — вероятно. Но кто это заметит? Бухгалтерша? Сотрудник отдела кадров? Да им это триста лет не нужно! Того, что можно получить за счет грамотного администрирования домена, им хватит за глаза. Винда уже не та, что была 10 лет назад, и не падает каждый час. А большего им просто не нужно.
Опера ест только одно — мозг ;)
Предыдущий Христос был неправильный и не читал Хабр.
Далеко не первый косяк перевода.
Именно поэтому русская Виста была немедленно снесена и заменена на английскую.
db connect errorPDOException Object ( [message:protected] => SQLSTATE[00000] [1040] Too many connections [string:private] => [code:protected] => 0 [file:protected] => /raid/mooteam.ru/php_classes/koth/core/conf/KothDb.php [line:protected] => 17 [trace:private] => Array ( [0] => Array ( [file] => /raid/mooteam.ru/php_classes/koth/core/conf/KothDb.php [line] => 17 [function] => __construct [class] => PDO [type] => -> [args] => Array ( [0] => mysql:host=641.nigma.ru;dbname=mooteam [1] => moo_test [2] => av6Grok_ ) ) [1] => Array ( [file] => /raid/mooteam.ru/php_classes/koth/core/conf/KothDb.php [line] => 40 [function] => __construct [class] => KothDb [type] => -> [args] => Array ( ) ) [2] => Array ( [file] => /raid/mooteam.ru/www/index.php [line] => 74 [function] => init [class] => KothDb [type] => :: [args] => Array ( ) ) ) [errorInfo] => )
Fatal error: Call to a member function query() on a non-object in /raid/mooteam.ru/php_classes/koth/core/mapper/BasicMapper.php on line 29

Не любит вас хостер... :)
Вот так начнешь раздевать девушку — а тут будильник с аудиосистемой ка-ак заорут!
Класс! Особенно круто, наверное, по жаре на веранде залечь с ноутом и пивом :)

Только «прийти», а не «придти» — поправьте, пожалуйста.
Еще на демоноид :)
нуллэйбл поля с внешним ключем это defected by design
Почему же сразу заведомо кривое? Просто запись "никуда не ссылается", а не "ссылается на что-то, что нужно считать пустотой". Во-первых, это экономит место и время (отсутствие лишних джойнов/условий), во-вторых, просто кажется мне более правильным.
Во втором случае не nullable поле при попытке вставить в него нулл ругнется foreign key, и вы сразу увидете что где-то есть ошибка, или в передаче данных или в их форировании.
Ну, ругнется-то не FK, а NOT NULL CONSTRAINT, но это не принципиально :)
Тот факт, что NULL может появиться при формировании данных — это я еще могу понять. Ошибки валидации бывают. И их необходимо отлавливать и исправлять, если найдутся. Как, впрочем, и любые другие ошибки.
Но вот про передачу данных — что-то не верится, что сетевой пакет может исказиться так, что ровно одно поле поменяет значение, а в остальном целостность запроса не пострадает. К тому же, наверняка у запроса есть CRC (не говоря уже, что может быть шифрованное соединение, а там любое отклонение от нормы наверняка угробит запрос).
Ну, и проверки входных данных, если таковые нужны, я предпочитаю делать в хранимых процедурах, максимально изолируя пользователя от самих таблиц.
Стоп. Чем отличается nullable-поле с внешним ключом от не-nullable-поля с внешним ключом и специальным значением?! Только тем, что во втором случае запись не вставится, если будет передан NULL. И если запись все-таки создана, то разделить "непередачу" от "умысла" нереально.

Касательно конкретной системы: данные там поступают вполне из одного источника, на ключевых полях есть дефолты на специальное значение. Так что без вариантов :)
Ну да, так и делаем :)
Такие справочники обычно небольшие (типа всяких настроечных таблиц с путями, константами и прочими application-wide данными) и на производительность выборки из них не влияют.
Числа сравнивать быстрее. Соответственно, на больших выборках быстрее работают джойны, индексы и прочие фильтры.
Кстати, id не обязательно числовой. Еще довольно распространенная практика делать id guid-ом, чтобы не было конфликтов, например, в merge-репликациях. Опять же, guid-ы все равно быстрее сравнивать, чем строки.

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity