Pull to refresh
7
0
Gonchik Tsymzhitov @gonchik

Atlassian enthusiast

Send message

Кто создал Java: главное про Джеймса Гослинга

Reading time9 min
Views22K


Java-разработчики знают, что язык и платформу создал Джеймс Гослинг, но зачастую на этом знания о нём и заканчиваются. Кто это вообще такой? Что ещё он делал в жизни? Почему перестал участвовать в работе над Java?


Мы считаем, что такие люди заслуживают большего внимания. Поэтому, во-первых, Джеймс появится на нашей онлайн-конференции JPoint и ответит там на многие вопросы. А во-вторых, в этом посте мы расписали заметные вехи его жизни до, во время и после работы над Java. Как он успел насолить Ричарду Столлману? Почему по изначальному плану язык Java вообще не должен был появиться? Какое отношение Гослинг имеет к подводным роботам?

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

Варим байткод на кухне JVM

Reading time8 min
Views15K
Меня зовут Александр Коцюруба, я руковожу разработкой внутренних сервисов в компании ДомКлик. Многим разработчикам, пишущим на Java, с опытом приходит понимание внутреннего устройства JVM. Чтобы облегчить этот путь Java-самурая, я решил простым языком изложить основы виртуальной машины Java (JVM) и работы с байткодом.

Что такое таинственный байткод и где он обитает?

Постараюсь ответить на этот вопрос на примере приготовления солений.


Читать дальше →
Total votes 33: ↑30 and ↓3+33
Comments0

Анализ производительности CSS-анимаций

Reading time4 min
Views11K
Что выбрать для анимирования элементов веб-страниц? JavaScript или CSS? Этот вопрос однажды вынужден будет задать себе каждый веб-разработчик. А может — и не однажды.

JavaScript-программисты создали множество библиотек для браузерной анимации. И, похоже, все вокруг оказались склонны к тому, чтобы использовать эти библиотеки в виде готового решения для анимации. Но давайте-ка притормозим. Правильно ли это? Следует ли анимировать элементы веб-страниц с помощью JavaScript? Может, можно положиться на стандартные механизмы CSS и добиться тем самым качественной и высокопроизводительной анимации?



Так как вы это читаете, я могу предположить, что вы знакомы с JavaScript-анимацией. Поэтому предлагаю исследовать тему CSS-анимации в разных её проявлениях, а так же — предлагаю поговорить о производительности такой анимации.
Читать дальше →
Total votes 35: ↑35 and ↓0+35
Comments5

Hack The Box — прохождение Postman. Redis и WebMin

Reading time3 min
Views8.5K
image

Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. В данной статье нам придется проэксплуатировать уязвимости в Redis и WebMin, а также подобрать пароль к зашифрованному ключу RSA.

Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ :)

Организационная информация
Специально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о следующих категориях:

  • PWN;
  • криптография (Crypto);
  • cетевые технологии (Network);
  • реверс (Reverse Engineering);
  • стеганография (Stegano);
  • поиск и эксплуатация WEB-уязвимостей.

Вдобавок к этому я поделюсь своим опытом в компьютерной криминалистике, анализе малвари и прошивок, атаках на беспроводные сети и локальные вычислительные сети, проведении пентестов и написании эксплоитов.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments1

Размещаем индекс Lucene в RAM при помощи Azul Zing JVM

Reading time6 min
Views2.9K
Весь поисковый индекс Google размещается в RAM памяти уже как минимум 5 лет. Почему бы не попробовать сделать то же самое и с поисковым индексом для Lucene?

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

Очевидный вопрос – не попробовать ли нам загрузить весь индекс, в предоставляемый Lucene класс RAMDirectory?
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments11

Выбор базы данных для аналитики

Reading time7 min
Views22K


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

Для анализа нужен отдельный вид базы данных. Но какой из них верный?

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

Работая с большим количеством клиентов, мы обнаружили, что наиболее важными критериями, которые необходимо учитывать, являются:

  • Тип анализируемых данных
  • Сколько у вас данных
  • Фокус вашей инженерной команды
  • Как быстро вам нужна информация
Читать дальше →
Total votes 8: ↑3 and ↓50
Comments10

Тикет-системы: как бесплатная OTRS три платных уделала?

Reading time7 min
Views60K
Бесплатный софт для бизнеса — спорная история. Компания, которая выбирает такое ПО, должна понимать, что либо ей придётся столкнуться с open source и искать разработчика на поддержку программы, либо принять бесплатную версию программы как есть, без надежды на поддержку, доработку и обучение. Так себе перспектива. Но это с позиций околоайтишного обывателя, который слова «open source» и «вендорское внедрение» выучил, а глубоко не погружался. А мы вот взяли и решили растолковать всё на примере одного популярного ПО, которое может пригодиться и большим, и маленьким компаниям. Давайте разбираться вместе.


Морали не будет, а вот выбор есть
Читать дальше →
Total votes 29: ↑24 and ↓5+35
Comments30

Начинаем работу с Google Sheets на Python. От регистрации до чтения данных

Reading time11 min
Views187K
Довольно долго я обходился выгрузкой данных в Excel, но мода меняется, пользователи хотят в облака.

Начав переводить ряд проектов на Python, решил, что самое время сменить (или дополнить) Excel чем-то более современным.

Когда я впервые столкнулся с необходимостью работы c таблицами Google из Python, то пребывал в иллюзии, что все это можно сделать в пару кликов. Реальность оказалась менее радужной, но другого глобуса у нас нет.

Мне очень помогли статьи:


Как обычно – когда впервые за что-то берешься, то сталкиваешься с массой вопросов, которые потом вызывают лишь недоумение – как можно было об этом вообще задумываться. Элементарно же!

Возможно, я просто шел длинным путем – буду рад, если вы меня поправите.

Все действия выполнялись на компьютере с Windows + Python 3.6.6, также использовался Jupyter Notebook.

Основные трудности у меня возникали на этапе предварительных настроек. Найти работоспособный код не представляет особого труда.

Код, использованный в статье, доступен в репозитории
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments4

Вредные советы или причины продолжить изучать английский после уровня Intermediate

Reading time7 min
Views32K
Вчерашняя статья от worksolutions породила волну обсуждений, а мне хотелось бы поговорить немного о том почему все же не стоит останавливаться на уровне Intermediate и как побороть языковую «импотенцию» если вы уперлись в пределы своих возможностей и больше не прогрессируете.

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

КДПВ
Читать дальше →
Total votes 67: ↑60 and ↓7+68
Comments153

Как послать провайдера подальше, и включить DNS по HTTPS в любом браузере

Reading time5 min
Views182K

Поддержка DoH уже встроена во все основные браузеры. Пользователям нужно её только включить и настроить.


Все шесть производителей основных браузеров планируют поддерживать протокол DNS по HTTPS (DoH), шифрующий DNS-трафик и помогающий усилить конфиденциальность пользователя в сети.

Этот протокол является одной из самых обсуждаемых тем этого года. Он позволяет браузеру прятать DNS-запросы и ответы внутри обычного на первый взгляд HTTPS-трафика.

Это делает DNS-трафик пользователя невидимым для сторонних наблюдателей за сетью, например, провайдеров. Однако если пользователи обожают DoH и считают его благом для конфиденциальности, провайдеры и производители средств кибербезопасности его ненавидят.

Британский провайдер назвал Mozilla «интернет-злодеем» за планы компании по внедрению DoH, а группу лоббистов от Comcast уличили в подготовке документа касательно DoH, который они планируют представить законотворцам Британии, надеясь предотвратить более широкое распространение протокола.
Читать дальше →
Total votes 53: ↑47 and ↓6+56
Comments219

Как устроены сервисы управляемых баз данных в Яндекс.Облаке

Reading time12 min
Views16K
Когда ты доверяешь кому-то самое дорогое, что у тебя есть, – данные своего приложения или сервиса – хочется представлять, как этот кто-то будет обращаться с твоей самой большой ценностью.

Меня зовут Владимир Бородин, я руководитель платформы данных Яндекс.Облака. Сегодня я хочу рассказать вам, как всё устроено и работает внутри сервисов Yandex Managed Databases, почему всё сделано именно так и в чём преимущества – с точки зрения пользователей – тех или иных наших решений. И конечно, вы обязательно узнаете, что мы планируем доработать в ближайшее время, чтобы сервис стал лучше и удобнее для всех, кому он нужен.

Что ж, поехали!

image
Читать дальше →
Total votes 36: ↑36 and ↓0+36
Comments22

Путь из программиста в предприниматели (и стоит ли по нему идти)

Reading time2 min
Views29K
Выкладываю видеозапись своего выступления, в котором я постарался дать обзор возможностей открытия своего дела с точки зрения человека из IT.

Презентация не является мотивационной речью. Скорее напротив — указывает на те сложности, с которыми придется встретиться, и старается сфокусировать на тех основных вещах, которые наиболее важны на старте. Несмотря на очевидность некоторых тезисов, мне порой приходилось потратить очень много времени и денег, чтобы к ним прийти. Надеюсь, что выводы из моего опыта, представленные в выступлении, облегчат кому-то путь к построению собственного начинания.
Total votes 50: ↑34 and ↓16+18
Comments44

TabPy для работы с данными в ClickHouse из Tableau

Reading time6 min
Views5.4K
Выстраивание коммуникаций между брендами и людьми — то, чем мы в Dentsu Aegis Network занимаемся каждый день, и неотъемлемой частью этой работы является анализ данных. В ряде случаев этот процесс не требует data science (хотя и он у нас есть), тогда мы используем BI платформу Tableau. Ее основная цель — дать нашим сотрудникам и клиентам удобный интерфейс для потребления данных без написания скриптов, SQL запросов и т.п.

В этой статье мы расскажем, как нам удалось решить проблему взаимодействия Tableau с ClickHouse.
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments0

Как выучить иностранный язык

Reading time10 min
Views114K

Я расскажу о том, как изучать иностранный язык и буду это делать на примере личного опыта изучения английского языка. Английский я начал учить в 36 лет, а уже сейчас у меня свободный английский язык (как письменный, так и устный), подтверждённый официальными сертификатами. Чтобы не быть голословным: у меня есть сертификат IELTS 7.5 баллов (это С1 level) и сертификат переводчика NAATI. Короче, я знаю о чем говорю.


Оглавление:


  1. Отступление про умных людей и прочих полиглотов
  2. Первый шаг
  3. Какой преподаватель нужен (уровень преподавателя)
  4. Где искать преподавателя
  5. Развитие навыков: слушание
  6. Развитие навыков: чтение
  7. Развитие навыков: письмо
  8. Развитие навыков: разговор: произношение
  9. Развитие навыков: разговор: языковой барьер
  10. Словарный запас
  11. Самое главное


Итак, вопрос: “Как выучить английский язык?”.

Читать дальше →
Total votes 97: ↑92 and ↓5+87
Comments158

Вокруг Света за 4 Секунды на Columnstore (Часть 1)

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

В примерах я буду использовать набор данных, содержащий 52 608 000 записей.

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

Поставив не сложные эксперименты, мы увидим, что обычная таблица не является подходящим источником для аналитических запросов.

Если читатель без труда может расшифровать аббревиатуры OLTP и OLAP, возможно есть смысл перейти сразу к разделу Columnstore

Два подхода к работе с данными


Здесь я буду краток, т.к. информации по этой теме в интернете более, чем достаточно.

Итак, на самом верхнем уровне существует всего два подхода к работе с данными: OLTP и OLAP.

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

OLAP — можно перевести как аналитическая обработка большого количества транзакций за один раз. Любой отчет использует именно этот подход, ведь в подавляющем большинстве случаев отчет выдаёт сводные, агрегированные цифры по определённым разрезам.
Читать далее
Total votes 17: ↑16 and ↓1+15
Comments6

PEG парсеры

Reading time7 min
Views13K

Несколько лет назад меня кто-то спросил имеет ли смысл превести Python на PEG-парсер (или на грамматику PEG; я не помню точно кто и когда это было). Тогда я немного посмотрел на него, но так и не пришёл к какому-либо выводу, а потому и отбросил эту тему. Недавно я узнал больше о PEG (Parsing Expression Grammars, грамматике по парсингу выражений), и теперь я думаю, что это интересная альтернатива самописному генератору парсеров, который был разработан 30 лет назад, когда только начинал работать над Python. Я назвал его «pgen», и это был, наверно, первым фрагментом кода, который я написал для Python.



Причина, по которой я сейчас заинтересован в парсере PEG, заключается в том, что меня несколько раздражают ограничения pgen. Он построен на собственной реализации LL(1), которая имеет ряд допущений. Например, мне не нравились грамматические правила, которые могли бы генерировать пустые строки, поэтому я запретил их. И тем самым упростил алгоритм для создания таблиц синтаксического анализа. Я также изобрёл свою собственную EBNF-подобную грамматическую нотацию, которая мне до сих пор очень нравится.

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

Who you gonna call: создаем обзвон в конструкторе ботов и учимся не бесить людей

Reading time9 min
Views12K
Трудно быть ботом, когда приходится звонить человеку: боты бесят. Но вы знаете, люди, которые звонят в неподходящий момент и предлагают нерелевантные услуги и товары, бесят тоже. Дело вовсе не в том, что с вами говорит робот, а в том, что за кейс был выбран для голосового обзвона, как реализован сценарий, подумали ли его создатели над UX и что полезного этот бот умеет.
Мы понаблюдали за пользователями конструктора ботов и звонков Aimylogic и собрали все важные фичи, инсайты и ошибки в туториал. Под катом разбираем технические хитрости и секреты создания голосового обзвона, который приносит пользу и почти не раздражает.



Зачем звонить, когда можно писать?


Total votes 37: ↑12 and ↓25-13
Comments42

Инструменты для запуска и разработки Java приложений, компиляция, выполнение на JVM

Reading time9 min
Views61K

Ни для кого не секрет, что на данный момент Java — один из самых популярных языков программирования в мире. Дата официального выпуска Java — 23 мая 1995 года.

Эта статья посвящена основам основ: в ней изложены базовые особенности языка, которые придутся кстати начинающим “джавистам”, а опытные Java-разработчики смогут освежить свои знания.

* Статья подготовлена на основе доклада Евгения Фраймана — Java разработчика компании IntexSoft.
В статье присутствуют ссылки на внешние материалы
.




Читать дальше →
Total votes 14: ↑11 and ↓3+8
Comments7

Суд США полностью легализовал скрапинг сайтов и запретил ему технически препятствовать

Reading time3 min
Views70K
Вчера Апелляционный суд 9-го округа США принял решение (pdf), что скрапинг публичных сайтов не противоречит закону CFAA (Computer Fraud and Abuse Act).

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

Сейчас многие владельцы сайтов пытаются поставить технические препоны конкурентам, которые полностью копируют их информацию, не защищённую копирайтом. Например, цены на билеты, товарные лоты, открытые профили пользователей и т. д. Некоторые сайты считают эту информацию «своей», а скрапинг расценивают как «воровство». Юридически это не так, что теперь закреплено официально в США.
Читать дальше →
Total votes 70: ↑69 and ↓1+68
Comments403

Spring Cache: от подключения кэширования за 1 минуту до гибкой настройки кэш-менеджера

Reading time12 min
Views100K
Раньше я боялся кэширования. Очень не хотелось лезть и выяснять, что это такое, сразу представлялись какие-то подкапотные люто-энтерпрайзные штуки, в которых может разобраться только победитель олимпиады по математике. Оказалось, что это не так. Кэширование оказалось очень простым, понятным и невероятно лёгким во внедрении в любой проект.



В данном посте я постараюсь объяснить о кэшировании так же просто, как это сейчас понимаю я. Вы узнаете о том, как внедрить кэширование за 1 минуту, как кэшировать по ключу, устанавливать время жизни кэша, и многие прочие штуки, которые необходимо знать, если Вам поручили закэшировать что-то в вашем рабочем проекте, и Вы не хотите ударить в грязь лицом.
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments9

Information

Rating
Does not participate
Location
Кипр
Registered
Activity