Technologique
GIF
Синтаксический сахар (syntactic sugar) - больше лучше! 😄😆😂👍
https://ruby-lang.org/en/
Всё таки я советую многим изучить и попробовать Ruby и JRuby 👍
https://ruby-lang.org/en/
Всё таки я советую многим изучить и попробовать Ruby и JRuby 👍
Ruby Programming Language
A Programmer's Best Friend
Technologique
Релиз Go 1.7 https://blog.golang.org/go1.7 https://golang.org/doc/go1.7#compiler Из новшеств - новый бэкэнд компилятора с промежуточной SSA (static single assignment) оптимизацией, генерирующий более компактный и быстрый код, а также ускоряющий работу горутин…
Код порождаемый компилятором Golang 1.7 действительно стал оптимизированнее и быстре по алгоритмическим тестам:
http://benchmarksgame.alioth.debian.org/u64q/which-programs-are-fastest.html
http://benchmarksgame.alioth.debian.org/u64q/which-programs-are-fastest.html
Technologique
Perfect Linux machine overview Lenovo ThinkPad X1 Carbon 4th Gen 2016 http://www.notebookcheck.net/Lenovo-ThinkPad-X1-Carbon-2016-Core-i7-WQHD-Ultrabook-Review.162631.0.html http://www.notebookcheck.net/Lenovo-announces-ThinkPad-X1-Carbon-Yoga-and-Tabl…
13.3" bare-metal ультрабук Xiaomi Air
Установлено 8GB ОЗУ DDR4
Если будет версия полностью на Intel (с Intel HD Graphics или даже Intel Iris) - это будет просто мечта линуксоида! И никаких макбуков! 😆😂
А пока для линуксоида серия Thinkpad от Lenovo остаётся вне конкуренции!
https://youtu.be/3KGk_qGdwv8 - Ubuntu на 12.5" модели Xiaomi Air
http://www.mi.com/mibookair/specs/ - технические характеристики лэптопов
Купить с доставкой, оплатив картой, можно на сайте магазина GearBest:
http://www.gearbest.com/laptops/pp_421980.html
http://www.gearbest.com/laptops/pp_425390.html
http://www.gearbest.com/laptops/pp_416105.html
Установлено 8GB ОЗУ DDR4
Если будет версия полностью на Intel (с Intel HD Graphics или даже Intel Iris) - это будет просто мечта линуксоида! И никаких макбуков! 😆😂
А пока для линуксоида серия Thinkpad от Lenovo остаётся вне конкуренции!
https://youtu.be/3KGk_qGdwv8 - Ubuntu на 12.5" модели Xiaomi Air
http://www.mi.com/mibookair/specs/ - технические характеристики лэптопов
Купить с доставкой, оплатив картой, можно на сайте магазина GearBest:
http://www.gearbest.com/laptops/pp_421980.html
http://www.gearbest.com/laptops/pp_425390.html
http://www.gearbest.com/laptops/pp_416105.html
YouTube
ᴴᴰ Ubuntu auf Xiaomi Mi Notebook Air - Testvideo [Deutsch/German]
Den Artikel zum Gadget findet ihr hier ► https://go.china-gadgets.de/xiaomi-notebook-air-test-5 Apple-Killer oder kurzer Hype? In diesem kleinen Hands On zei...
Отличный митап и скринкаст получился! 👍
Парни хорошо рассказали про Spring Boot - такая автоматизация многое упрощает и отменяет много ручной работы! А для Java ведь нет стандартизированного и принятого всем сообществом менеджера jar пакетов и единого репозитория (хотя Maven умеет подтягивать зависимости из репозиториев), типа pip, gem и npm, и контроля зависимостей как у инструментария для Go...
Но это уже другая история...
А в этой истории рассказ про Spring Boot и сессия live coding demo в процессе повествования - это вдвойне интереснее!
Если коротко, Spring Boot это слой автоматизации Java фреймворка Spring для быстрого конфигурирования всех компонентов проекта и его развёртывания.
Именно об этом тема - про автоматизацию конфигурации и развёртывания проектов на фреймворке Spring с использованием Spring Boot.
Спасибо Руслану Молчанову (@ruslanys) и Максиму Кливенко (@klivenko), что так хорошо подготовились и рассказали, показали и в целом очень классно провели онлайн скринкаст-митап!
Как раз именно практики в конкретных технологиях на канале очень не хватает!
https://youtu.be/I_LC4dUhBVI
Парни хорошо рассказали про Spring Boot - такая автоматизация многое упрощает и отменяет много ручной работы! А для Java ведь нет стандартизированного и принятого всем сообществом менеджера jar пакетов и единого репозитория (хотя Maven умеет подтягивать зависимости из репозиториев), типа pip, gem и npm, и контроля зависимостей как у инструментария для Go...
Но это уже другая история...
А в этой истории рассказ про Spring Boot и сессия live coding demo в процессе повествования - это вдвойне интереснее!
Если коротко, Spring Boot это слой автоматизации Java фреймворка Spring для быстрого конфигурирования всех компонентов проекта и его развёртывания.
Именно об этом тема - про автоматизацию конфигурации и развёртывания проектов на фреймворке Spring с использованием Spring Boot.
Спасибо Руслану Молчанову (@ruslanys) и Максиму Кливенко (@klivenko), что так хорошо подготовились и рассказали, показали и в целом очень классно провели онлайн скринкаст-митап!
Как раз именно практики в конкретных технологиях на канале очень не хватает!
https://youtu.be/I_LC4dUhBVI
YouTube
Meetup #22: Spring Boot в продакшн за 5 минут
Примеры кода можно посмотреть тут - https://github.com/ruslanys/devkg-meetup22
Как Golang помог в становлении технологий контейнеризации (изоляции окружения приложений) и популяризации экосистемы Docker.
http://thenewstack.io/go-programming-language-helps-docker-container-ecosystem/
Весьма интересная к прочтению статья, учитывая тот факт, что Docker активно использует системные вызовы ядра, а это уже proof of concept того, что Golang может использоваться и уже используется в очень крупных разработках системного ПО.
Go 1.7 по абсолютному большинству тестов и бенчмарков уже очень близок к Си и C++ по оптимизации и скорости исполнения кода (и уже обогнал Java и C#), при этом расход памяти ниже, а безопасность памяти выше, всё таки статическая типизация и компиляция плюс GC многое решают!
Также с версии 1.5 уже можно писать нативные приложения и библиотеки для Android и iOS, плюс десктопные кроссплатформенные приложения с GUI интерфейсом используя библиотеки Qt/QML.
https://github.com/golang/go/wiki/Mobile
https://talks.golang.org/2015/gophercon-go-on-mobile.slide#1
На Go создаётся много приложений, работающих с сетевым стеком, серверов и веб-фреймворков, облачных веб-сервисов, сервер-сайдных облачных инфраструктур, платформ и middleware (IaaS, PaaS, MaaS).
Go действительно постепенно становится языком общего назначения и экосистема вокруг языка растёт!
Но, многие возможности пока отсутствует, как в языке (многое решаемо, но бОльшим объёмом кода), так и в экосистеме.
В угоду обратной совместимости серьёзных нововведений в самом языке до версии 2.0 ждать не стоит.
http://thenewstack.io/go-programming-language-helps-docker-container-ecosystem/
Весьма интересная к прочтению статья, учитывая тот факт, что Docker активно использует системные вызовы ядра, а это уже proof of concept того, что Golang может использоваться и уже используется в очень крупных разработках системного ПО.
Go 1.7 по абсолютному большинству тестов и бенчмарков уже очень близок к Си и C++ по оптимизации и скорости исполнения кода (и уже обогнал Java и C#), при этом расход памяти ниже, а безопасность памяти выше, всё таки статическая типизация и компиляция плюс GC многое решают!
Также с версии 1.5 уже можно писать нативные приложения и библиотеки для Android и iOS, плюс десктопные кроссплатформенные приложения с GUI интерфейсом используя библиотеки Qt/QML.
https://github.com/golang/go/wiki/Mobile
https://talks.golang.org/2015/gophercon-go-on-mobile.slide#1
На Go создаётся много приложений, работающих с сетевым стеком, серверов и веб-фреймворков, облачных веб-сервисов, сервер-сайдных облачных инфраструктур, платформ и middleware (IaaS, PaaS, MaaS).
Go действительно постепенно становится языком общего назначения и экосистема вокруг языка растёт!
Но, многие возможности пока отсутствует, как в языке (многое решаемо, но бОльшим объёмом кода), так и в экосистеме.
В угоду обратной совместимости серьёзных нововведений в самом языке до версии 2.0 ждать не стоит.
The New Stack
How The Go Programming Language Helps Docker and the Container Ecosystem
To build Docker, developers made the somewhat novel choice of using Google’s relatively new Go programming language. Given that Docker’s
Сейчас мы находимся на финальном этапе формирования привязки разработки к вендорам и их экосистемам:
Java - Oracle
C# - Microsoft
Go - Google
Swift - Apple
http://www.tiobe.com/tiobe-index/
http://www.tiobe.com/tiobe-index/programming-languages-definition/
http://redmonk.com/sogrady/2016/07/20/language-rankings-6-16/
При этом конкуренция между Java и C#/Mono, Java и Go, а Go с C#/Mono на Android и в сервер-сайде на Linux будет только нарастать.
Microsoft выходит на поле Linux, Android и Open Source, купив Xamarin и платформу Mono, а также создав совеместно с Canonical слой shim (https://en.wikipedia.org/wiki/Shim_(computing)) в ядре своей ОС для трансляции POSIX системных вызовов ядра Linux в WinAPI вызовы ядра Windows, для практически нативного запуска бинарных файлов ELF формата Linux приложений в среде ОС Windows. Есть информация, что разработка адаптивного интерфейса и конвергентного рабочего стола Continuum для разных типов устройств с экранами разных размеров и разрешений - это также совместная разработка с Canonical, которая разрабатывает аналогичную технологию в Unity 8 UI для Ubuntu ещё со времён перевода всего дитрибутива на оболочку Unity и начала работ над графическим оконным сервером Mir, как универсальной альтернативы Xorg и Wayland для всех типов устройств.
Google будет стараться заменить Java на Go там где это возможно в Android, чтобы избежать всех патентных трений с Oracle.
Swift и экосистема Apple самодостаточны, как и Oracle с Java, которая продолжает развиваться (см. GraalVM).
А тут ещё рынок и целая экосистема IoT на подходе, которая даст ещё и второе дыхание вебу и облачному сервер-сайду.
Java - Oracle
C# - Microsoft
Go - Google
Swift - Apple
http://www.tiobe.com/tiobe-index/
http://www.tiobe.com/tiobe-index/programming-languages-definition/
http://redmonk.com/sogrady/2016/07/20/language-rankings-6-16/
При этом конкуренция между Java и C#/Mono, Java и Go, а Go с C#/Mono на Android и в сервер-сайде на Linux будет только нарастать.
Microsoft выходит на поле Linux, Android и Open Source, купив Xamarin и платформу Mono, а также создав совеместно с Canonical слой shim (https://en.wikipedia.org/wiki/Shim_(computing)) в ядре своей ОС для трансляции POSIX системных вызовов ядра Linux в WinAPI вызовы ядра Windows, для практически нативного запуска бинарных файлов ELF формата Linux приложений в среде ОС Windows. Есть информация, что разработка адаптивного интерфейса и конвергентного рабочего стола Continuum для разных типов устройств с экранами разных размеров и разрешений - это также совместная разработка с Canonical, которая разрабатывает аналогичную технологию в Unity 8 UI для Ubuntu ещё со времён перевода всего дитрибутива на оболочку Unity и начала работ над графическим оконным сервером Mir, как универсальной альтернативы Xorg и Wayland для всех типов устройств.
Google будет стараться заменить Java на Go там где это возможно в Android, чтобы избежать всех патентных трений с Oracle.
Swift и экосистема Apple самодостаточны, как и Oracle с Java, которая продолжает развиваться (см. GraalVM).
А тут ещё рынок и целая экосистема IoT на подходе, которая даст ещё и второе дыхание вебу и облачному сервер-сайду.
http://scalalaz.ru
Интерсные подкасты, записываемые московскими скалистами, о многих аспектах программирования на языке Scala, императивной и функциональной парадигме программирования, объединённых в одном уникальном языке
Интерсные подкасты, записываемые московскими скалистами, о многих аспектах программирования на языке Scala, императивной и функциональной парадигме программирования, объединённых в одном уникальном языке
С 256-м (2^8) днём года - днём программиста! 😄👍
python3 << codersday
import time as t
import math as m
from datetime import datetime, timedelta
year = t.localtime(t.time()).tm_year
day = 24*60*60
hour = 60*60
if t.localtime(t.time()).tm_yday < 256:
daysto256 = datetime(year, 1, 1) + timedelta(255) - datetime.now()
timeto256 = daysto256 / timedelta(seconds=1)
print('There are', m.floor(timeto256/day), 'days', m.floor(timeto256%day/hour), 'hours', m.floor(timeto256%day%hour/60), 'minutes', m.floor(timeto256%day%hour%60), 'seconds', "'till the programmer's day!")elif t.localtime(t.time()).tm_yday == 256:
daysto256 = datetime(year+1, 1, 1) + timedelta(255) - datetime.now()
timeto256 = daysto256 / timedelta(seconds=1)
print('Today is', str(t.localtime(t.time()).tm_yday) + "'th", "day of the year - happy programmer's day!") print('There are', m.floor(timeto256/day), 'days', m.floor(timeto256%day/hour), 'hours', m.floor(timeto256%day%hour/60), 'minutes', m.floor(timeto256%day%hour%60), 'seconds', "'till the next programmer's day!")elif t.localtime(t.time()).tm_yday > 256:
daysto256 = datetime(year+1, 1, 1) + timedelta(255) - datetime.now()
timeto256 = daysto256 / timedelta(seconds=1)
print('There are', m.floor(timeto256/day), 'days', m.floor(timeto256%day/hour), 'hours', m.floor(timeto256%day%hour/60), 'minutes', m.floor(timeto256%day%hour%60), 'seconds', "'till the next programmer's day!")codersday
Вслед за Facebook и Google, Яндекс отключает свои сервера Jabber и таким образом закрывает один из крупнейших сервисов протокола XMPP в рунете и интернете вообще
https://geektimes.ru/post/280366/
https://geektimes.ru/post/280366/
geektimes.ru
Яндекс вслед за остальными закрывает свой jabber сервер
Сейчас получил в jabber сообщение от сервера – следующего содержания: Здравствуйте. 5 октября Яндекс прекращает поддержку своего Jabber-сервиса, который...
Доклад Дениса Аникина на конференции HighLoad++ 2015 года.
Шикарный ликбез по масштабированию баз данных с простым объяснением буквально на пальцах и в картинках слайдов! Це для лiнивих! 😄👍
Хорошо объясняется что данные бывают горячие и холодные, т.е. востребованные и не очень.
Также объясняется почему современные реляционные БД финансово не эффективны под большой нагрузкой при их масштабировании, почему шардинг и репликация реляционных БД не решают проблему высокой нагрузки.
И дело не в реляционной модели данных...
Только представьте себе сколько решений-костылей порождает современная (пока ещё Фон-Неймановская) архитектура компьютеров с памятью по прежнему разделенной на ОЗУ, которое работает быстро, но не имеет постоянства памяти (persistence of memory) и ПЗУ, которое имеет постоянство хранения, но не имеет достаточной скорости работы.
Полагаю многие решения уйдут в прошлое с применением мемристорной технологии для конвергенции памяти и созданием на базе этой технологии общей памяти компьютеров и носителей - быстрой, объёмной и энергонезависимой с постоянным хранением. Уже есть прототипы, например технология носителей и памяти Intel Optane, но это уже другая история
https://vimeo.com/150101571
https://habrahabr.ru/company/oleg-bunin/blog/310690/ - стенограмма доклада
PS: Из недавнего - помните Яндекс перевёл почту с Oracle на PostgreSQL? У них свой способ экономии и повышения эффективности для почты и других сервисов. 😆😂
Шикарный ликбез по масштабированию баз данных с простым объяснением буквально на пальцах и в картинках слайдов! Це для лiнивих! 😄👍
Хорошо объясняется что данные бывают горячие и холодные, т.е. востребованные и не очень.
Также объясняется почему современные реляционные БД финансово не эффективны под большой нагрузкой при их масштабировании, почему шардинг и репликация реляционных БД не решают проблему высокой нагрузки.
И дело не в реляционной модели данных...
Только представьте себе сколько решений-костылей порождает современная (пока ещё Фон-Неймановская) архитектура компьютеров с памятью по прежнему разделенной на ОЗУ, которое работает быстро, но не имеет постоянства памяти (persistence of memory) и ПЗУ, которое имеет постоянство хранения, но не имеет достаточной скорости работы.
Полагаю многие решения уйдут в прошлое с применением мемристорной технологии для конвергенции памяти и созданием на базе этой технологии общей памяти компьютеров и носителей - быстрой, объёмной и энергонезависимой с постоянным хранением. Уже есть прототипы, например технология носителей и памяти Intel Optane, но это уже другая история
https://vimeo.com/150101571
https://habrahabr.ru/company/oleg-bunin/blog/310690/ - стенограмма доклада
PS: Из недавнего - помните Яндекс перевёл почту с Oracle на PostgreSQL? У них свой способ экономии и повышения эффективности для почты и других сервисов. 😆😂
Vimeo
Tarantool: как сэкономить миллион долларов на базе данных на высоконагруж
Когда стоит дилемма, какое DBMS решение выбрать, то приходится принимать во внимание много факторов — latency, bandwidth, ACID-complience, наличие/отсутствие…
Technologique
Доклад Дениса Аникина на конференции HighLoad++ 2015 года. Шикарный ликбез по масштабированию баз данных с простым объяснением буквально на пальцах и в картинках слайдов! Це для лiнивих! 😄👍 Хорошо объясняется что данные бывают горячие и холодные, т.е. востребованные…
Чуть позже расскажу о том почему Uber перешёл на MySQL и как всё таки реализуется шардинг в PostgreSQL - было много споров в интернетах об этой неоднозначной миграции
Technologique
Релиз приложения для видеозвонков - Google Duo Теперь новая видеозвонилка от Google официально доступна всем в Google Play! Функционал пока предельно простой https://play.google.com/store/apps/details?id=com.google.android.apps.tachyon
Приложение мессенджера Google Allo стало доступно для установки в Google Play
https://play.google.com/store/apps/details?id=com.google.android.apps.fireball
https://play.google.com/store/apps/details?id=com.google.android.apps.fireball
Technologique
Приложение мессенджера Google Allo стало доступно для установки в Google Play https://play.google.com/store/apps/details?id=com.google.android.apps.fireball
Google Assistant просто шикарен! 😄👍
Я использовал исключительно голосовой ввод.
Это уже AI, ассистент который умеет общаться, анализировать ввод, отвечать и давать различную информацию, запрашиваемую в свободной форме! 👍
Именно это и есть будущее поисковых движков!
Я использовал исключительно голосовой ввод.
Это уже AI, ассистент который умеет общаться, анализировать ввод, отвечать и давать различную информацию, запрашиваемую в свободной форме! 👍
Именно это и есть будущее поисковых движков!
Technologique
https://events.yandex.ru/events/yagosti/14-september-2016/ From: https://telegram.me/techsparks/514
https://youtu.be/VtcBlxywXQw - перевод на русский язык
https://youtu.be/bUn9JVBC1dY - оригинал лекции на английском
https://habrahabr.ru/company/yandex/blog/310734/
https://youtu.be/bUn9JVBC1dY - оригинал лекции на английском
https://habrahabr.ru/company/yandex/blog/310734/
YouTube
Свободные знания как основа современного общества, Джимми Уэйлс
Основатель всемирно известной онлайн-энциклопедии «Википедия» и почетный председатель фонда Wikimedia Foundation Джимми Уэйлс (Jimmy Wales), больше известный международному сообществу википедистов как Джимбо, выступив в московском офисе Яндекса с лекцией…
Forwarded from Geeks
Интереснейшая, пусть и не очень весёлая, история произошла с сайтом KrebsOnSecurity - одним из лучших представителей блогов на тему компьютерной безопасности. После очередной публикации в серии информации о схемах, с помощью которых злоумышленники зарабатывали деньги с атак на популярные ресурсы, сайт подвергся мощнейшей атаке из всех, о которых публично известно. В качестве провайдера защиты от DDoS-атак для блога выступал довольно известный Akamai, клиентами которого являются многие крупные компании, например, тот же Apple. Но, так как Akamai предоставляли свои услуги для исследователя безопасности бесплатно, в целях рекламы собственного сервиса, в какой-то момент и для них такая реклама стала экономически нецелесообразной, - шутка ли, сдерживать мощнейшую атаку из увиденных. По итогам сайт выключили на неопределённый срок, что неприятно, ведь именно этого атакующие и добивались. Вообще же атака такого вида увидена впервые потому, что она просто слишком большая: в общем случае требуется огромное количество взломанных компьютеров, а хакеров с такими ресурсами в мире не так уж и много, - выяснить, кто среди них виноват не составляет проблемы. Но мир меняется и, так нашумевший, "интернет вещей" (IoT) действительно входит в нашу жизнь, только с менее приятной стороны. Так как сама концепция IoT предполагает много маленьких устройств, таких как радио-няни и прочие мелочи жизни, а поставщики не очень беспокоятся об их безопасности, они отлично подходят на роль быть взломанными хакерами и потом быть использованными в их целях. В данном случае, судя по всему, именно они и были использованы, а ведь мы говорим только о заре "интернета вещей", что будет дальше - страшно представить. Очень хорошая и, одновременно, пугающая цитата автора KrebsOnSecurity тоже не внушает позитива (извините, перевести её невозможно): "Free speech in the age of the Internet is not really free". Ну что тут сказать, обновляйте прошивку в радио-нянях - не будьте угрозой хорошим, правильным, сайтам! ;-) http://arstechnica.com/security/2016/09/why-the-silencing-of-krebsonsecurity-opens-a-troubling-chapter-for-the-net/
Ars Technica
Why the silencing of KrebsOnSecurity opens a troubling chapter for the ‘Net
“Free speech in the age of the Internet is not really free,” journalist warns.
Правила разработки надежного отказоустойчивого кода на Си для mission critical real-time task operating systems for on-board embedded devices - от лаборатории реактивного движения JPL NASA.
В целом эти правила должен знать и применять каждый программист без исключений (это моральная ответственность) в рамках их применимости для используемого языка разработки и исполнительной среды языка - эти правила делают код чистым, читаемым, проверяемым и портируемым (переносимым, т.е. без привязки к среде ОС и транслятору).
https://habrahabr.ru/company/hexlet/blog/303160/
http://web.eecs.umich.edu/~imarkov/10rules.pdf
http://lars-lab.jpl.nasa.gov/JPL_Coding_Standard_C.pdf
В целом эти правила должен знать и применять каждый программист без исключений (это моральная ответственность) в рамках их применимости для используемого языка разработки и исполнительной среды языка - эти правила делают код чистым, читаемым, проверяемым и портируемым (переносимым, т.е. без привязки к среде ОС и транслятору).
https://habrahabr.ru/company/hexlet/blog/303160/
http://web.eecs.umich.edu/~imarkov/10rules.pdf
http://lars-lab.jpl.nasa.gov/JPL_Coding_Standard_C.pdf
Habr
10 правил, которые позволяют NASA писать миллионы строк кода с минимальными ошибками
Маргарет Гамильтон стоит рядом с написанным ей исходным кодом бортового компьютера «Аполлона» Лаборатория реактивного движения (Jet Propulsion Laboratory) — научно-исследовательский центр НАСА,...