Новости информационных технологий - 25858

Я не умею программировать на объектно-ориентированных языках. Не научился. После 5 лет промышленного программирования на Java я всё ещё не знаю, как создать хорошую систему в объектно-ориентированном стиле. Просто не понимаю.

Я пытался научиться, честно. Я изучал паттерны, читал код open source проектов, пытался строить в голове стройные концепции, но так и не понял принципы создания качественных объектно-ориентированных программ. Возможно кто-то другой их понял, но не я.

И вот несколько вещей, которые вызывают у меня непонимание.
Читать полностью »

Около полутора лет назад на Хабре был размещен пост про уникальные карты китайского поисковика Baidu (для тех, кто не видел, вот он: http://habrahabr.ru/post/115107/). Я был поражен тем, насколько кропотливо, детально и красиво эти карты сделаны, поэтому однажды мы, вместе с группой товарищей, решили разобраться в процессе создания Baidu-карт и сделать собственные карты всего мира, которые выглядели бы так же круто. Под катом много картинок, раскрытие секрета Baidu-подобных карт и то, что получилось у нас.

«Игрушечная» картография

Читать полностью »

Steam под Linux всё ближе и ближе. Впрочем, не только он:

«Пареные пингвины? (steam — пар) Это рецепт экзотического блюда на Южном Полюсе? Или одно из странных видео на YouTube, где пингвины в сауне резвятся с шведками в биники? (я не знаю, как перевести „Swedish Bikini team“)

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

Читать полностью »

disclaimer Так получилось, что последний месяц я разбираюсь с ZooKeeper, и у меня возникло желание систематизировать то, что я узнал, собственно пост об этом, а не о сервисе блокировок, как можно было подумать исходя из названия. Поехали!

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

От распределенного сервиса блокировок разумно требовать:

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

Создать подобный сервис нам поможет ZooKeeper

image В википедии написано, что ZooKeeper — распределенный сервис конфигурирования и синхронизации, не знаю как вам, но мне данное определение мало что раскрывает. Оглядываясь на свой опыт, могу дать альтернативное определение ZooKeeper, это распределенное key/value хранилище со следующими свойствами:

  • пространство ключей образует дерево (иерархию подобную файловой системе)
  • значения могут содержаться в любом узле иерархии, а не только в листьях (как если бы файлы одновременно были бы и каталогами), узел иерархии называется znode
  • между клиентом и сервером двунаправленная связь, следовательно, клиент может подписываться как изменение конкретного значения или части иерархии
  • возможно создать временную пару ключ/значение, которая существует, пока клиент её создавший подключен к кластеру
  • все данные должны помещаться в память
  • устойчивость к смерти некритического кол-ва узлов кластера

Читать полностью »

Прямо во время чтения рандомного блога в Сети, при заходе в очередной топик наткнулся на сообщение своего провайдера:
image

перепроверил — остальные ресурсы функционировали в штатном режиме. Отключение произошло в 2:40 ночи (время Московское). Через европейский VPN — ресурс прекрасно работал.

Читать полностью »

CD за 3,5 миллиона евро

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

image

Совсем недавно начал продаваться Nexus 7, и продается вполне актуально. Но в YouTube уже во всю ходит видео, сколько хлопот доставляет он людям только лишь с распаковкой.

Jean-Louis Nguyen решил собрать воедино нарезку распаковки нового планшета из встретившихся ему видеообзоров, и, надо признать, ситуация выглядит неутешительно. Но можно признать, что видео вышло довольно весёлым.

Читать полностью »

У меня достаточно много опыта в программировании, накопленного за последние несколько лет. Часть опыта я приобрёл работая в своей команде, что-то при работе с клиентам, а некоторый опыт появился благодаря coding dojo и работе на open source проектах.
Для программистов знающих как использовать парное программирование оно предоставляет возможность улучшить свою производительность. Но при этом не стоит ожидать, что программисты значительно улучшат свою производительность с самого начала работы. Парное программирование требует постоянного обучения, а также осознания самими программистами чёткой разницы между исполнителем (тот кто стучит по клавиатуре), и штурманом. Ниже приведено более детальное описание.
Читать полностью »

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

Читать полностью »

Я люблю git. Я использую его во всех своих проектах. Поэтому я решил сделать веб-консоль для управления git-ом на PHP.
Управление GIT ом через веб консоль на PHP
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js