Pull to refresh
11
0
mkdotam @mkdotam

User

Send message

Что нужно уметь, чтобы не бояться потерять работу

Reading time10 min
Views92K

Метод, которым пользуются Джефф Безос, Уоррен Баффет и Илон Маск




Джеффу Безосу часто задают вопрос, который мы все должны задать сами себе: «Что изменится в ближайшие 10 лет?»

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

Если ошибиться в выборе, можно оказаться на тонущем корабле, наблюдая, как отрасль, в которой вы решили работать, полностью обанкротилась, а приобретенные за многие годы навыки — безнадежно устарели. В таком положении в свое время оказывались миллионы людей — от журналистов до финансовых аналитиков.

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

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

За последние несколько лет я познакомился с людьми, которые свою карьеру посвятили умелому предсказанию будущего: они вкладывали деньги на основе своих прогнозов, и год за годом получали солидный куш. Я заметил, что у них есть кое-что общее — противоречащий, на первый взгляд, здравому смыслу подход к вложению денег и времени, который переворачивает вверх ногами привычные представления. В этой статье я расскажу, как можно обеспечить себе будущее, используя методы, которые применяют добившиеся всего своим умом предприниматели-миллиардеры и инвесторы, такие как Джефф Безос, Рэй Далио, Говард Маркс и Уоррен Баффет.

Переведено в Alconost
Читать дальше →
Total votes 48: ↑42 and ↓6+36
Comments29

Самоорганизующаяся сервисная инфраструктура на базе Docker

Reading time14 min
Views23K
Меня зовут Данила Штань, я технический менеджер, архитектор и CTO в «Точке». Ниже я расскажу вам, как в одной конкретной компании, а потом — еще в нескольких, решали одну довольно простую задачу – построения инфраструктуры для продакшн, причем таким образом, чтобы разработчиков не напрягать, и всем было удобно.


Материал подготовлен специально для блога @Конференции Олега Бунина (Онтико) на основе моего доклада на RootConf 2017.
Читать дальше →
Total votes 48: ↑47 and ↓1+46
Comments46

Вас атакует искусственный интеллект

Reading time13 min
Views27K


В конце прошлого года “искусственный интеллект” многократно упоминали в итогах и прогнозах IT-индустрии. И в нашу компанию, которая занимается информационной безопасностью, всё чаще стали присылать из различных изданий вопросы про перспективы AI. Но эксперты по безопасности не любят комментировать эту тему: возможно, их отталкивает именно эффект “жёлтой прессы”. Легко заметить, как возникают такие вопросы: после очередной новости типа “Искусственный интеллект научился рисовать как Ван Гог” журналисты хватаются за горячую технологию и идут опрашивать по ней всех подряд – а чего может достичь AI в животноводстве? А в сфере образования? Где-то в этом списке автоматически оказывается и безопасность, без особого понимания её специфики.

Кроме того, журналистика, щедро подкормленная IT-индустрией, обожает рассказывать о достижениях этой индустрии в рекламно-восхищенных тонах. Именно поэтому СМИ прожужжали вам все уши о победе машинного интеллекта в игре Го (хотя от этого нет никакой пользы в реальной жизни), но не особенно жужжали о том, что в прошлом году погибло уже как минимум два человека, которые доверили свою жизнь автопилоту автомобиля Tesla.

В этой статье я собрал некоторые наблюдения об искусственном интеллекте с эволюционной точки зрения. Это необычный подход, но как мне кажется, именно он лучше всего позволяет оценить роль AI-агентов в безопасности, а также безопасность AI в других сферах.
Читать дальше →
Total votes 41: ↑32 and ↓9+23
Comments46

Мобильное приложение Signal обходит государственную блокировку, пропуская трафик через Google App Engine

Reading time3 min
Views32K

Схема обхода государственной цензуры через крышевание доменов, из научной работы 2015 года

С 21 декабря 2016 года криптомессенджер Signal от Open Whisper Systems стал использовать оригинальный метод обхода государственной цензуры, из-за которой от сети оказались отключены пользователи из Египта и ОАЭ. Метод называется «крышевание доменов» (domain fronting) и подробно описан в 2015 году в научной работе исследователей из университетов Калифорнии, Беркли и Принстона.

Цензор видит только домены, указанные в DNS-запросе и в поле TLS SNI, но он не видит HTTP заголовок Host, в котором система и прячет реальное доменное имя для отправки трафика. Реальное доменное имя надёжно спрятано с помощью шифрования HTTPS.
Читать дальше →
Total votes 29: ↑25 and ↓4+21
Comments35

Совсем неоригинальный SSD в Macbook Air

Reading time2 min
Views90K
Так случилось, что через две недели после того как у моего, Macbook Air 13" закончился Apple Care, умер SSD. Идти к официальному представителю, а также в левые лаборатории не хотелось. В первом случае совсем не адекватная цена проверки, во втором я так и не смог добиться от лаборатории цены ремонта, если окажется, что действительно поломался только SSD. Проблема усугублялась тем, что я не был на 100% уверен, что это SSD, а не материнская плата например, поэтому не был заказан суррогат от известных и не очень брэндов, например, OWC. Другая сложность заключалась в том, что Apple специально делает свои устройства как можно сложнее в ремонте, даже чтобы просто открутить крышку пришлось просить у знакомого набор отверток, поэтому неудивительно, что нельзя было просто взять первый попавшийся SSD и проверить.
Бюджетный выход из данной ситуации, вы можете найти под катом
Total votes 49: ↑43 and ↓6+37
Comments71

Уровни изоляции транзакций с примерами на PostgreSQL

Reading time8 min
Views235K

Вступление


В стандарте SQL описывается четыре уровня изоляции транзакций — Read uncommited (Чтение незафиксированных данных), Read committed (Чтение зафиксированных данных), Repeatable read (Повторяемое чтение) и Serializable (Сериализуемость). В данной статье будет рассмотрен жизненный цикл четырёх параллельно выполняющихся транзакций с уровнями изоляции Read committed и Serializable.


Для уровня изоляции Read committed допустимы следующие особые условия чтения данных:


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


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


Что же касается Serializable, то данный уровень изоляции самый строгий, и не имеет феноменов чтения данных.

Читать дальше →
Total votes 31: ↑31 and ↓0+31
Comments17

Оптимизируем redux хранилище для более производительных изменений

Reading time2 min
Views11K
Этот пост является продолжением поста про оптимизацию производительности списка в React приложении.

Внимание. В данном посте примеры подготовлены специально для Redux приложений. Но сам подход возможно применить и с другими библиотеками. Так же нижеприведенный совет работает в react-redux версии 5. Я не смог достичь желаемого результата в версии 4. Глубоко разбираться в причинах я не стал.

И так, стандартный способ хранить некоторое множество элементов в приложении — это хранить их в массиве:

const state = {
  targets: [{id: 'target1', radius: 10}, {id: 'target2', radius: 2}]
};
Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments5

Волшебный хостинг в Нидерландах без учета потребляемых серверных ресурсов обновлен и стал дешевле, чем где-либо

Reading time7 min
Views14K
Почти два года прошло с того момента, когда мы анонсировали впервые услугу хостинга с прозрачной и на 100% понятной тарификацией. Мы отказались во все считать потребляемые клиентами ресурсы выделенного сервера CPU/RAM/IOPS и учитывали только трафик. Ведь это — максимально понятно и прозрачно для клиента. Тем более для пользователей, которых интересует только то, сколько посещений их проектов обеспечит тот или иной тарифный план и как при этом не потерять посетителей в результате скрытых ограничений хостинг-провайдера или внезапного превышения нагрузки, не получить отказ в обслуживании.

Мы убедились на своем опыте, что были правы, что не стоит измерять нагрузку в попугаях, как это делают не совсем честные коллеги, к примеру указывая допустимую нагрузку в CP, при этом умалчивая характеристики процессора ноды, приводя при этом лишь расплывчатое объяснение:

CP — это абстрактная величина, характеризующая количество процессорного времени потраченного процессорами на обработку процессов пользователей, получаемая стандартными средствами ядра linux.

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

И совсем не указывая то, что выделяемое, к примеру, 65 CP — почти ничто, и оно еще очень сильно будет зависеть от процессора ноды, не только от частоты, но и от инструкций, которые поддерживает тот или иной процессор. Что явно на каком-то этапе порождает конфликты с пользователями, которые ожидали одно, а получили на деле совсем другое. Но то такое…
Читать дальше →
Total votes 15: ↑10 and ↓5+5
Comments11

19 неожиданных находок в документации Node.js

Reading time11 min
Views45K
Мне хотелось бы думать, что я вполне прилично знаю Node. Вот уже три года, как ни один из сайтов, над которыми я работал, не обходится без него. Но документацию до сих пор я как следует не читал.

Мне нравится записывать полезные вещи об интерфейсах, свойствах, методах, функциях, типах данных, и обо всём прочем, что относится к веб-разработке. Так я заполняю пробелы в знаниях. Сейчас я занят документацией к Node.js, а до этого проработал материалы по HTML, DOM, по Web API, CSS, SVG и EcmaScript.

image

Чтение документации Node.js открыло мне немало замечательных вещей, о которых я раньше не знал. Ими я хочу поделиться в этом небольшом материале. Начну с самого интересного. Так же я обычно делаю, когда показываю новому знакомому свои гаджеты.
Читать дальше →
Total votes 82: ↑75 and ↓7+68
Comments72

Искоренить Пиратство за 7 дней

Reading time5 min
Views2.2K

В море синем, как в аптеке,
Всё имеет суть и вес -
Кораблю, как человеку,
Имя нужно позарез.
Имя вы не зря даёте,
Я скажу вам наперёд:
Как вы яхту назовёте,
Так она и поплывёт!
Как вы яхту назовёте,
Так она и поплывёт!



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

В этой войне доблестные шпионы сражались на невидимом фронте с коварными разведчиками! Что то не так? Ах, да! Доблестными были именно разведчики, а шпионы были чертовски коварными! Игра слов или умысел пропагандистов?

Эта война давно закончилась, но опыт и эффективность ее пропагандистов никуда не делась. Сегодня их знания породили SOPA — Stop Online Piracy Act

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

1. Кто и когда решил назвать свободное распространение информации грязным термином «Пиратство» ?



2. Чем это грозит?



3. Что делать?



Всех кто задумался приглашаю под кат
Total votes 245: ↑194 and ↓51+143
Comments353

Армяно-Русский словарь теперь в онлайне

Reading time1 min
Views7.5K
В прошлом году я написал о том, что самый большой армяно-русский словарь изданный еще в Советском Союзы оцифрован и сверстан в формат dict для использования в StarDict или GoldenDict.
Мы этим занимаемся в свободное от основной работы время, поэтому изменения бывают, но не то чтобы очень часто.
За это время было 4 «релиза», полгода назад вышла версия 1.20. Были исправлены сотни ошибок в сортировке, орфографии, просто опечатки. Много ошибок было обнаружено в самом печатном издании, и они тоже были исправлены в цифровой версии. Пользователи составили версию для программы Lingvo на основе dict файлов.
И наконец самое главное изменение, недавно АРС был размещен в онлайне и можно переводить прямо с сайта.
Читать дальше →
Total votes 33: ↑22 and ↓11+11
Comments11

Временный пароль

Reading time1 min
Views3K
Концепция не новая, но популярностью почему-то не пользуется. А проблема или, по крайней мере, неудобство есть.

Второй день мучаюсь, логинясь в веб-интерфейсах своей домашней и рабочей почты, на Хабре и пр. ресурсах, находясь в «недоверенном» месте. Никто не гарантирует отсутствие там банального кейлоггера. А ведь решается проблема недоверия довольно просто.

Почему бы в панели управления не предусмотреть возможность создания временного пароля?

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

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

Так почему же такая, думаю, актуальная проблема, имеющая довольно простое решение, остается без него?
Total votes 41: ↑37 and ↓4+33
Comments44

Азбука хорошего разработчика. Книжки для чтения

Reading time2 min
Views3.4K
Часто разработчиков нужно направить, поскольку они не имеют понятия о том, что им нужно изучить для повышения своего уровня. В этой заметке я опишу источники знаний, в моем понимании, необходимые для этой цели. Пишу в порядке, в котором я их предлагаю читать.

Паттерны проектирования

Википедия — там, в принципе, на хорошем уровне все описано и приведены примеры на разных языках.
Базовая книга – классика:
«Приемы объектно-ориентированного проектирования. Паттерны проектирования» — читал книгу давно, и раза 3. Вам того же советую. Даст возможность понимать большое количество терминов, произносимых другими разработчиками.

Рефакторинг

«Рефакторинг. Улучшение существующего кода» — вероятно, эта книга сделала революцию в написании кода. Читается быстро и интересно. Методы рефакторинга должны отложиться в голове до конца жизни. Ваш код отныне будет лучше. В книге есть упоминание про юнит тестинг.
Читать дальше →
Total votes 73: ↑72 and ↓1+71
Comments66

Не в мейнстриме? Отхабарен!

Reading time2 min
Views686
Интересная весч. Анализировал популярность комментов и пришёл к неутешительным выводам.

Мейнстрим — это сила.

Минусы ставят тем, чья точка зрения отличается от основной массы других. Разумеется, всё зависит от того, как ты преподнесёшь свою идею. И минусуют тех, кто сразу (хоть и с аргументами) пишет: «Ваше гауно нашему не в пример!».

Так, впринципе, большинство из юзеров Хабра предпочитают MySQL, хотя ясен пень, PostgreSQL куда круче в плане наворотов. Так, например, мой коммент: «Бесполезно с MySQL. Вот постгрес, да, вещь. Много средств уже готовых.» заработал максимальное количество минусов (4 шт). У этого феномена есть две причины:
  • Кол-во мускульников больше чем кол-во слоноводов
  • Минусят больше, чем ставят плюсы
На втором стоит остановиться подробнее. Это психология. Если человек имеет негативное отношение, он с вероятностью 100% отреагирует (в данном случае, поставит минус), причём, в зависимости от степени «наезда» на «него», может приложить и сверх-усилия (чаще всего, понизит карму). Если же комментарий положителен в плане отношения к мировоззрению человека, то сверх-усилий он прилагать не будет чисто по своей природе, «всё и так хорошо». Т.е. в первом случае мы имеем негативную среду, с которой организм «жаждет» побороться, а во втором, среда благоприятна, и, впринципе, что-либо предпринимать не имеет смысла.

Разумеется, есть исключения. Например, «холивары», но навать это состояние «благоприятным» не поворачивается язык. На войне нет победителей.

Как итог, хотелось бы выразить своё мнение по поводу оценок. Негативные оценки должны носить гораздо меньшее влияние, чем положительные, потому что негатив заработать проще, как это я описал выше. На хабре же сейчас ситуация иная. Что ж, это всего лишь мысли. :)

UPD: Топ с самым большим числом упоминаний о Хабраэтике :D
Total votes 61: ↑55 and ↓6+49
Comments188

No to all

Reading time1 min
Views1.1K


При копировании большого количества файлов N-дцатое появление окна «Заменить имеющийся файл Х следующим файлом Х?» может вызвать вывих левой кнопки мыши.

Что делать, если одноименные файлы заменять не нужно, а привычку работать в виндовом эксплорере не побороть?
В таких случаях недостает кнопки «No to all» («Пропустить все»).
Читать дальше →
Total votes 99: ↑86 and ↓13+73
Comments104

Интервью с Bobuk'ом aka Григорием Бакуновым, директором по распространению технологий Яндекса и ведущим Радио-Т

Reading time10 min
Views55K


Кому-то Григорий знаком по подкасту «Радио-Т», соавтором которого он является уже семь лет. Кому-то он запомнился по выступлениям на различных технотусовках. Кто-то видел его проекты на GitHub’е. Но блиц-опрос, проведенный в редакции, показал, что никто не знает, чем он занимается в реальной жизни. Самая близкая к истине версия звучала так: «Ну, наверно, что-то вроде евангелиста». На самом деле все сложнее. Это же Яндекс. И это же Бобук.
Читать далее
Total votes 138: ↑111 and ↓27+84
Comments137

Перестаньте писать классы

Reading time9 min
Views184K
Фото Джэка Дидриха из профиля на G+ Признак того, что объект не должен быть классом — если в нём всего 2 метода, и один из них — инициализация, __init__. Каждый раз видя это, подумайте: «наверное, мне нужна просто одна функция».

Каждый раз когда из написанного класса вы создаёте всего один экземпляр, используете только раз и тут же выбрасываете, следует думать: «ой, надо бы это отрефакторить! Можно сделать проще, намного проще!»

Перевод доклада Джэка Дидриха, одного из ключевых разработчиков языка Питон. Доклад прозвучал 9 марта 2012 на конференции PyCon US.
Читать дальше →
Total votes 234: ↑206 and ↓28+178
Comments148

Обновление грида через ajax

Reading time5 min
Views41K
Привет, хабрасообщество!

В этой теме я хочу обсудить наиболее правильное использование компонента CGridView в Yii.
Ниже я опишу 3 способа, которые вижу лично я, и буду рад услышать ваши идеи в комментариях.



Итак, задача:
Требуется страница с несколькими блоками, в одном из которых должна быть таблица (грид).
Нужна возможность сортировки и постраничной навигации грида через ajax.


Звучит несложно, не правда ли? Давайте посмотрим, что нам предлагает Yii.
Читать дальше →
Total votes 20: ↑16 and ↓4+12
Comments35

Знакомство с Symfony 2

Reading time7 min
Views101K
Выход Symfony 2 показался мне достаточно веской причиной чтобы наконец-то найти время и посмотреть что же из себя представляет один из самых популярных PHP-фреймворков в мире. Своё знакомство с ним я и описал в данной заметке. Так как это мой первый опыт работы с Symfony буду рад если заметите какие-то ляпы или недочёты и сообщите мне о них.
Читать дальше →
Total votes 50: ↑40 and ↓10+30
Comments28

Как сделать один сайт для всех устройств (Responsive Web Design)

Reading time3 min
Views288K
Вчера была опубликована хорошая статья «Веб-дизайн. Каждому устройству свое представление». Несмотря на неплохие размышления, к сожалению, вывод в ней довольно глупый. А именно:

«Нужно определить, какими устройствами могут пользоваться ваши посетители, проработать и создать для этих устройств представление вашего сайта, определить устройство посредством проверки заголовков браузеров, и отправить наиболее подходящее представление

Почему это глупо


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



Это скриншот из презентации «Beyond the mobile web by yiibu» (очень рекомендую).

Во-вторых, если вы не facebook или yandex, скорее всего, вы не потянете создание и поддержку разных версий сайта для каждого устройства. Да и это не имеет особого смысла. Потому что ситуация становится похожа на реалии пятнадцатилетней давности. Тогда делали сайт «под браузер», а сейчас автор предлагает делать сайт «под устройство».

Как сделать один сайт для всех устройств

Читать дальше →
Total votes 159: ↑148 and ↓11+137
Comments75
1

Information

Rating
Does not participate
Location
Армения
Date of birth
Registered
Activity