Pull to refresh
2
0
Олег Болденков @olegbolden

Веб-разработчик

Send message

Позабавила цитата: "Япония живет в 2000 году еще с 1985 года", которая полностью подтверждается самой первой иллюстрацией сайта по изготовлению печатей: эти кнопочки с треугольничками в уголках были отличительной особенностью японского интернета ещё в 2000-х. Именно тогда в конце 2000-х японцы заказали мне корпоративный и промо-сайты представительств в России и пришлось пошерстить японский интернет с тем, чтобы сориентироваться в их национальных предпочтениях в области сайтостроения. И именно тогда у меня возникло ощущение, что большинство японских сайтов сделаны на одной-двух CMS - настолько похожи они были по стилистике и, простите, убожеству. А когда очередь дошла до создания интернет-магазина, который они, видимо, в силу инфобезопасности, решили делать сами, я был удивлён безыскусности программистов и дизайнеров, с которыми пришлось общаться. (Интернет-магазин, в итоге, так и не вышел в продакшен).
Эта калейдоскопическая кричащая пестрота, действительно, - национальная особенность, с которой японцы живут с незапамятных времён и которая окружает человека повсюду - на улице, на рынке, в телевизоре и т.п. Вспоминаю, что телевизор неприятно было смотреть из-за шокирующего звукового давления от рекламных роликов. Хотелось побыстрее выключить ящик (это был 2005 год).
А когда мы знакомились с ПО одной из известных японских станкостроительных компаний, я поражался архаичности и неудобству её интерфейса. Видимо из принципа решили не отдавать создание ПО на аутсорс и обходились собственными силами.
Но при всём этом я испытываю к этой стране огромное уважение - мононация без ресурсов на крохотном клочке земли создала третью-четвёртую экономику мира.

Я вот не пойму, почему речь об организациях. Я не являюсь организацией, а просто когда-то давно зарегистрировал почту для домена и всё. Было время, администрировал почтовую зону и т.п., но очень давно. А сейчас концов не найти, где это всё. И я почему-то не администратор, а просто сотрудник у себя же. С какой стати я должен платить, да столько, сколько за свой VDS никогда не платил. Формально, у меня лишь 3 почтовых ящика и это должно быть бесплатно, согласно комментариям выше.

Спасибо автору за очень полезную систематизацию базовых понятий Котлина.

Добавлю немного от себя.

Синглтон-свойство companion object достигается за счет того, что он создается внутри класса в качестве статического поля и инициализируется один раз при первом обращении к нему.

Он инициализируется не только при первом обращении к нему, но так же при создании первого экземпляра того класса MyClass, в котором объявлен. При этом важно, что Companion Object будет инициализирован первым, а уже затем будет инициализирован экземпляр самого класса:

MyClass {
  init {
    ...
  }

  companion object {
    init {
      // Выполняется всегда до блока init содержащего класса
    }
  }
}

val myclass = MyClass()

Браво! Было очень приятно читать историю, написанную столь великолепным русским языком!

С самого начала по мере прочтения вашей статьи было интересно, а не использовали ли вы в итоге медный купорос с алюминием, как я когда-то частенько делал в 80-е :)

И именно этот способ вы и описали. Спасибо за очень правдоподобную версию объяснения той реакции. До сих пор помню как после неё оставалось много губчатой меди и как колба нагревалась до такой степени, что её трудно было держать в руках. Правда у меня тогда был алюминиевый порошок, который отчим приносил мне с металлургического завода для опытов. Вероятно поэтому реакция шла очень интенсивно.

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

Вспоминаю свою поездку в Японию по приглашению японской компании в 2005-м году, когда на одном из семинаров наш японский инструктор имел неосторожность открыть на своём компе карту местности, так как разговор зашёл про достопримечательности. В этом время входит президент компании и видит на экране не то, что ожидал. После этого он уводит бедного инструктора и тот через какое-то время возвращается слегка покрасневший с большим заданием для нас и с извинениями за то, что позволил себе слабину :)
Это был один из первых семинаров, но уже тогда я стал замечать, что наш инструктор как-то часто отклонялся от темы и уходил в лирические отступления: складывалось ощущение, что ему просто осточертела эта работа. Потом оказалось, что он являлся одним из разработчиков ПО для оборудования компании.
Тогда 16 лет назад я своими глазами видел, как крутятся рабочие в цехах. И потом несколько лет в качестве переводчика имел возможность наблюдать, как работают на некоторых наших предприятиях. У азиатов точно не забалуешь…

Совершенно верное наблюдение! Тоже не раз такое замечал, только для аккумуляторов. Ставишь все полностью заряженные, а когда девайс начинает тупить, вытаскиваешь и вставляешь в зарядник (у меня Lacrosse): нередко находится "паршивая овца", которая высаживается почти в ноль, тогда как остальные аккумуляторы разряжаются весьма незначительно. Хотелось бы понять физику процесса...

Когда-то меня потряс «дизайн» упаковки рязанской муки, которая продаётся во всех магазинах.
Можно было бы подумать, что вот её-то и создавал искусственный интеллект. Ан нет, в 2009 году ИИ ещё не было.

image

А вообще, аутентичный «дизайн студии Артемия Лебедева» в моём понимании с давних пор ассоциируется с чёрным текстом на белом фоне. Без излишеств, как говорится.
Кстати, ты не сможешь создать файл, который начинается с точки, через стандартный интерфейс Windows.
Это можно сделать, поставив ещё одну точку после имени файла в конце, например .htaccess.
Любопытно, кстати, что следующий, казалось бы, эквивалентный вариант привязки контекста уже не работает, так как вызов bar с bind срабатывает уже внутри addEventListener в глобальном контексте:
    bar: (function(){
        console.log(++this.prop);
    }).bind(this),
    init: function(){
        document.addEventListener("click", this.bar);
    }
Может быть вызов обработчика в init лучше оформить в виде классического callback-а, поскольку перезапись this.bar в данном случае смысла не имеет:

    init: function(){
        var callback = this.bar.bind(this);
        document.addEventListener("click", callback);
Заббикс выгядит так же, как и обычный сайт.
Просто под руками оказался на момент написания статьи.
Да нет, это, увы, безрадостные реалии жизни…
Убираю.
Начнём с того, что если Вам эта заметка кажется банальной, то она просто не для Вас.
В вашем комментарии ключевая фраза «Ну вот не вижу я ничего смешного».
Возможно другие думают иначе и это статья для них.

Что касается изящества, то вопрос о том, что проще — «поднять вебсервер», «поднять систему виртуализации» или запустить PuTTY, тем более, если это не ваш личный компьютер, является риторическим.

Интерфейс в альтернативной конфигурации будет работать только в том случае, если не работает основной по DHCP. Как вы будете использовать этот альтернативный интерфейс, когда работает основной, я не знаю.

Неработоспособность сопоставления локальных адресов доменным именам — это проблема, в которой мне было лень разбираться. Я просто понял, что это ненадёжно и предложил вариант с дополнительным интерфейсом, который работоспособен на 100%.

А вообще мне просто становится смешно — здесь на хабре я чувствую себя провинившимся мальчишкой в кабинете директора школы, которому педсовет строго выговаривает:
— Как ты мог сморозить такую глупость в уважаемом обществе?! И даже если решил сморозить, то почему выбрал именно этот вариант из миллиона других?!

И я отвечу — я имею право на подобные глупости, ибо если бы они были таковыми, то их бы не публиковали на хабре. И из миллиона я решил осветить именно МОЙ вариант, не претендуя на то, что другие невозможны.
Я не сомневаюсь, что здесь собрались серьёзные люди. И серьёзные проекты у меня тоже есть. Например, «Виртуальные классы» (viclass.ru), описание которого Хабр отклонил под предлогом того, что это реклама.
А этот пост из категории «Айтишники шутят» без претензии на серьёзность.
Только суровые админы почему-то считают этот юмор чёрным.
В том то и дело, что речь идёт о среднестатистических ноутбуках и рабочих станциях, которые на 95% на виндах, где никто заморачиваться с созданием VPN для этого не будет.

А при наличии Linux всё, конечно, упрощается. Я как раз сегодня развлекался пропусканием SSH-VPN по обратному туннелю SSH и в этом смысле возможности Linux просто неограничены.

Что касается открытых/закрытых портов и всяких других условностей, то невозможно всё предусмотреть в этой жизни. И про HTTPS я намеренно не писал, но большинство сайтов в разработке всё-таки пока на HTTP. В статье опущены все эти частности — показан принцип.

Сопоставить доменному имени клон loopbackа типа 127.0.0.5 не получится. Винда, по крайней мере, подобные сопоставления почему-то игнорирует, хотя по самому IP сайт откроется. Поэтому я и предложил простой способ установки дополнительного адаптера, который минуты 3 занимает. А если у вас VMware или VirtualBox, то всё уже под руками.

Вобщем, ничем я не восторгаюсь, я просто показал фокус для Windows, который мне лично не кажется банальным. И, честно говоря, я очень озадачен тем, что меня опустили ниже плинтуса.
Нет, я совршенно серьёзно.
Вот вы сидите в кафе и открываете в браузере kremlin.ru/бла-бла-бла
И что происходит дальше?
Я тоже не совсем понимаю, что вы имеете в виду.
Вы, очевидно, попадёте на сайт президента, которому я грешным делом, обеспечил сегодня повышенную популярность :)

Information

Rating
Does not participate
Location
Зеленоград, Москва и Московская обл., Россия
Date of birth
Registered
Activity