Solmyr

Solmyr
Рейтинг
501
Регистрация
10.09.2007

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

А в целом, надо соблюдать законодательство применимых юрисдикций. Скажем если вы в РФ, то заказчик должен быть из Нидерландов или из Калифорнии. Или если заказчик из РФ, то заказ надо принять на контору, зарегистрированную в Нидерландах или Калифорнии. Ну и договоре соответственно указать местом оказания услуг по данному договору лояльную юрисдикцию.

Devvver:
По идее нужно снести клиентские каналы.

Например у меня клиентских каналов доступных для таргетинга нет, а вот такая байда как у ТС "места размещений" - есть. Правда не так критично по ценам, CPM всего в два раза ниже, а показов менее 10%.

ivan-lev:
Я бы добавил вариант со сложностью понимания ака удобство восприятия.. (можно решить задачу вполне эффективно, но так, что "фигразберёшь", чего там нарешано)..

Если программа эффективно написана вам не надо будет разбирать что внутри.

Но под эффективностью я понимаю не только просто быстродействие, но и правильность внутреннего API программы (какие вообще в принципе классы у вас есть, какие у них методы и с какими параметрами, как одни части ПО взаимодействуют с другими). Если все правильно, то вам при рефакторинге внутрь методов классов вообще лазить не нужно. Пусть у вас там всякие переменные a, b, k, x, y и прочее. Но вот при использовании языков с динамической типизацией сложно, если не сказать невозможно, добиться правильного внутреннего API. Запросто может при дальнейшем изменении программы оказаться, что обязательно нужно, чтобы функция возвращала именно 32 битный signed int, а раньше она возвращала строку из циферок и все работало. Или наоборот, функция работала, пока на входе получала строку из циферок, а получила signed int и что-то пошло не так.

---------- Добавлено 03.01.2020 в 14:11 ----------

DenisVS:
Но, кстати, порой бывает нужно сделать какой-то костыль, ... и это оказывается как раз самым простым и эффективным решением.

Костыль в принципе не может быть эффективным решением. Костыль = говнокод. Даже не костыль, а архитектура, в которой потом пришлось делать костыль - изначально говнокод.

Sly32:
А можно расшифровать?

true - четыре символа, а false - пять.

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

Sly32:
а что в вашем понятии говнокод, можно поподробнее?

Говнокод - это код, который решает задачу не максимально эффективным способом.

Например:

Boolean b = new Boolean( is_admin );
if( b.toString().length() == 4 ) {
// something...
}
// something
Sly32:
В большинстве случаев в питоне не приходится думать про очистку памяти.

Момент, который негативно влияет на производительность и мозги - это как раз автоматическое выделение памяти, а не автоматическое освобождение :)

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

Ничего не имею против говнокода, если он позволяет быстро и эффективно решать задачу, но у питона я не вижу такого потенциала (за исключением задач связанных с нейросетями, благодаря наличию удобных и эффективных библиотек под GPU и TPU).

---------- Добавлено 02.01.2020 в 14:57 ----------

Solmyr:
Других различий нет.

Для полноты картины еще добавлю специфические языки, которые работают не сами по себе, а в особой среде. К ним относятся javascript и LUA, к примеру. Там ничего не поделаешь - если надо работать в этой среде, то язык не заменишь.

Учите php.

При этом все время помните, что неявная типизация переменных вредна для мозга.

В остальном с современным php все OK.

---------- Добавлено 01.01.2020 в 18:49 ----------

Я бы сказал бы так.

Современные языки программирования отличаются исключительно по следующим критериям:

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

2. Типизация данных явная/неявная. Неявная - плохо для мозга и для производительности но зато легко осваивать.

3. Аллоцирование памяти ручное/автоматическое - то же самое что п. 2 но менее критично.

4. Организация множественного наследования - затрагивает небольшое количество программистов и повод в основном для холиваров.

Других различий нет.

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

Никто не имеет права брать на себя функции следственных, а тем более судебных органов.

Что касается функции chargeback в платежных системах. Должны существовать ПС с такой функцией и без оной, для разных нужд. Яндекс.Деньги например без нее, а Visa с ней. Выбирайте что вам больше подходит.

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

Еще владельцев оружия в США регистрируют, и тоже надо адрес указывать. Но это тоже необщеобязательно, можно даже без оружия ходить. Хотя в некоторых городах есть прикольный закон, что кто без оружия - платит дополнительный налог.

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

rustelekom:
Вообще, читал когда-то в лужковской прессе, что это не только в РФ так, но и в Германии, Франции, США и т.п., но не проверял - что читал, то и передаю...

В Германии и Франции существует государственная регистрация адреса. Штрафов никаких за отсутствие регистрации нет. В принципе, без регистрации сложно открыть счет в банке и не получишь социальной помощи. В Германии есть суровый лайфхак: наклеить свою фамилию на дверной звонок или на почтовый ящик. После этого некоторые банки могут открыть счет без гос. регистрации. Например, один из самых массовых: Postbank. Там процедура такая: идешь на почту, заполняешь форму, покупаешь марку, кладешь письмо в конверт и оставляешь на почте. Потом почтальон приходит по адресу, и если видит на звонке или почтовом ящике нужную фамилию - кидает туда конверт с данными счета. Потом в постбанке можно получить выписку со счета с подтверждением адреса и открыть по этой выписке счет в другом банке.

В США в большинстве штатов гос. регистрации адреса нет вообще. В некоторых "социалистических" штатах типа Калифорнии, есть добровольная регистрация. Но она как правило никому вообще не нужна, в т.ч. банкам. Адрес проверяют строго по квитанции на коммунальные услуги.

Всего: 6170