Pull to refresh
1
0
Сардар @Sardar

Старший разработчик

Send message
Сам факт описан в доке, но не ясно каких целей придерживались авторы языка. К примеру в ruby/rails быстро привыкаешь писать:
def some_text_snippet(locale=I18n.locale)
  # здесь locale = I18n.locale  будет вычислятся при каждом вызове
  # в I18n.locale лежит язык пользователя, устанавливаемый из профиля, URL, Accept-Language и т.д.
end
В Go многое не сработает, к примеру:
// скобки не обязательны
// сразу после ) компилятор поставит ';' и ругнется: missing condition in if statement
if (variable > 0)
{
  fmt.Printf(variable)
}

Я видел многих людей и много guideline'ов для C-подобных языков, советующих переносить фигурную скобку на следующую строку для лучшей наглядности. Совет имеет смысл, но в Go нереализуем. Go вообще подходит с позиции мягкой силы. Красивое оформление кода награждается отсутствием ';'. Но если что, с компилятором идет gofmt, который превратит любую кашу в легко читаемый код. Обычно gofmt ставится на хуки в git, чтобы в репозитории все добровольно-принудительно придерживались одного стиля.
К примеру у вас есть выражение, отвечающее на вопрос "по какому индексу?". Ответ 0 покажет, что элемент присутствует и находится по 0 индексу, а значит должен расцениваться как true. К примеру:
input = "test"
puts "Match!" if /test/ =~ input
puts "At: #{/test/ =~ input}"
# Match!
# At: 0

Часто в выражениях "значение или значение по умолчанию" такие значения, как 0, "", пустые коллекции все же являются true значениями, а потому не должны заменяться значением по умолчанию:
[0, 1, nil].each do |val|
  puts val || "(none)"
  # 0
  # 1
  # (none)
end

Во всяких однострочниках с boolean callbacks, где сторятся промежуточные выборки, не требуется писать (value || value == "") если фильтруем по строкам. Еще более это полезно, при работе базой данных, так что логика работы NULL, 0 и пустых строк отчасти совпадает. С другой стороны, в рельсах часто используется value.present?, чтобы добиться значения false от пустых строк, пустых коллекций и т.д. В целом, дело вкуса.
При переходе с python на ruby, истинный ноль сначала ошарашивает, а потом понимаешь на сколько это красиво.
В Go тоже присутствует автоматическая вставка точки с запятой и авторы советуют пропускать их там, где они не требуются явно. По началу не приятно, но на практике это правило приводит к красиво отформатированному тексту (плюс питона), без жестких требований (длинющие однострочники через; допустимы).
Есть еще цитаты CEO в разное время, но пока найти в них что-то подходящее (столь же эмоциональное или по датам) не получилось…
Иногда подобные фильтры поверх пиксельной графики дают свой позитивный эффект на атмосферу. Пример - Lone survivor, где обычная пиксельная графика смотрелась бы хуже. Но злоупотреблять, конечно, не стоит.
virtualenv удобен, если на одной машине у вас несколько независимых проектов. К примеру это staging сервер со всеми выпущенными проектами. Суть в изоляции пакетов одного проекта от другого.

setuptools/pkg_resources это не только пакеты egg/wheel, это еще и entry points, и многое-многое другое. Через entry points удобно расширять другие пакеты/приложения (группа console_scripts), публиковать WSGI приложения/фильтры, так продолжать можно долго. За примером можно к Pyramid. Да и публиковать приложение лучше как egg/wheel, а не архивом файлов или целого virtualenv.

Впрочем, в питоне никто не обязывает следовать одному рецепту, лишь бы выбор не мешал работать.
Одно другого не исключает. Если АНБ сделало такой прорыв, то стоит порадоваться за человечество. Сам факт, что это возможно уже радует.

С другой стороны, предоставить статичные параметры алгоритма не сложно. Опасения у криптографов были, просто авторитет NIST был непоколебим. Оказалось, в мире возможно все. Проблема в криптографии в том, что хоть чему-то надо доверять: вера в стойкие начальные параметры алгоритмов, доверие CA-сертификатам, вера в качественный rand, вера в действительно стойкое хеширование и т.д. А то, во что мы верим, не всегда соответствует нашим ожиданиям.
Они случайным образом взяли h и e, посчитав g. Таким образом между h и g есть отношение, о котором не знает никто, кроме АНБ. Собственно h и g должны были быть случайными, без каких либо явных отношений между ними. Самому выбрать случайные h и g опасно, они должны соответствовать ряду критериев, о которых можно забыть.
Можно и не халявный Wi-Fi. WEP (wepcrack), WPA и WPA2 ломаются (reaver) если есть терпение.
Статический анализ может заметить вызов функции из $_GET, что очевидно не безопасно. Обфускация выше это умело скрывает. Хотя, человек взглянув на подобный код, конечно задумается а зачем он тут. Зараза должна прятать себя достаточно глубоко, куда человек не полезет.
Нет не забывается, она вполне успешно продается. Только дороже.
У браузерных расширений есть один большой минус - низкая гранулярность политики безопасности. Зачастую расширению требуются права на все элементы всех страниц и вообще ко всему, о чем можно подумать, что позволяет перехватывать и изменять что угодно. Пусть расширение изначально не содержало вредоносного кода, но чем больше их стоит, тем больше шанс, что репозиторий одного из расширений взломают и добавят скрытую проблему.
И ведь кто-то принял решение сделать это фичу. Не особой кнопкой сброса, не подписанное гугловским сертификатом, не спрашивая разрешения пользователя, а вот так просто…
Если бы оно там все бутылками и пакетами плавало, то отловить не проблема. Но фотодеградация все портит, там мелкие частицы в пару миллиметров в толще воды до 20 метров с концентрацией в среднем 5.1кг/км^2
Проблема отловить и не погубить весь планктон в процессе. Но работа в этом деле идет и даже спонсируется.
Эдвард хотел, чтобы люди обсуджали скрытые попытки правительства установить контроль над общественным мнением в сети. Сначала тебе все доступно для просмотра, потом ничего не стоит накатать любую грязь на любого человека, если нужна причина его успокоить. Он специально не раскрывал своего имени подольше, чтобы не перевели все внимание общественности на его личность (одна из форм манипуляцией общественным мнением). У него не получилось, народ сам или по команде переходит на обсуждение его прошлого, характера и т.д. Это не первый пост в таком ключе. И это печально.
Амстердам не самый криминальный город, верно, говорят Eindhoven по уличному криминалу опережает всех по стране. Хотя там на гопоту не нарывался, совсем. А в Амстердаме турки и мароканцы. Трезвые терпимы, а вечером под алкоголь то еще быдло, испытал на себе. Сейчас живу на севере, Groningen, разница как небо и земля. Собственное наблюдение, с повышением концентрации приезжих резко подлетает градус неадеквата. Привязка к местности на уровне отдельных улиц и районов, так что за весь город говорить не корректно, но в Амстердаме есть улицы, где шанс нарваться на гопоту стремиться к 100%.
Видел чуть далее Slochteren'a, это явно не деревушка для туристов)
и растет в стоимости при более интенсивном/полезном обороте

Тогда финсовая активность без какой либо выгоды/прибыли станет привлекательной. Имитация бурной деятельности.
Рисовать очень много воксельных данных мы научились сравнительно давно. Свежее. Другое дело, что освещение никакое (максимум phong shading), сцена статична и никаких анимаций. Все это интересно, но удручает что без деталей.

Information

Rating
Does not participate
Location
Groningen, Groningen, Нидерланды
Date of birth
Registered
Activity