Джон Эриксон. Хакинг. Искусство эксплойта
Каждый программист по сути своей — хакер. Ведь первоначально хакингом называли поиск искусного и неочевидного решения. Понимание принципов программирования помогает находить уязвимости, а навыки обнаружения уязвимостей помогают создавать программы, поэтому многие хакеры занимаются тем и другим одновременно. Интересные нестандартные ходы есть как в техниках написания элегантных программ, так и в техниках поиска слабых мест.
Год: 2018
Размер: 496
Формат: pdf
Каждый программист по сути своей — хакер. Ведь первоначально хакингом называли поиск искусного и неочевидного решения. Понимание принципов программирования помогает находить уязвимости, а навыки обнаружения уязвимостей помогают создавать программы, поэтому многие хакеры занимаются тем и другим одновременно. Интересные нестандартные ходы есть как в техниках написания элегантных программ, так и в техниках поиска слабых мест.
Год: 2018
Размер: 496
Формат: pdf
Исследуемый язык программирования №8: X10
Когда-то параллельная обработка данных была специализированной нишей разработки ПО, но с распространением многоядерных процессоров и распределённых вычислений, параллелизм обрёл популярность. К сожалению, нынешние языки программирования не успевают за этой тенденцией. Именно поэтому IBM Research создаёт X10 - язык, созданный специально для современных параллельных архитектур, который нацелен на увеличение производительности разработчиков "в десять раз".
Параллелизм в X10 возможен благодаря PGAS модели программирования (модели разделённого глобального адресного пространства). Код и данные выделяются в блоки и распределяются по разным "пространствам", тем самым облегчая шкалирование программы от однопотокового прототипа (одно пространство) до многопотокового, выполняемого на одном или более многоядерном процессоре (несколько пространств) в высокопроизводительном кластере.
Код X10 больше всего похож на Java. По сути, среда выполнения X10 доступна как в качестве встроенных исполнимых файлов, так и как классовые файлы для JVM. Компилятор X10 может выдавать исходные коды либо на C++, либо на Java. В будущем планируется разработать прямую совместимость с Java.
А пока язык развивается, хотя он уже довольно разработан. Компилятор и среда выполнения доступны для различных платформ, в том числе Linux, Mac OS X и Windows. В качестве дополнительных утилит выступают интерактивная среда разработки (IDE), основанная на Eclipse, и отладчик, которые распространяются по лицензии Eclipse Public License.
Когда-то параллельная обработка данных была специализированной нишей разработки ПО, но с распространением многоядерных процессоров и распределённых вычислений, параллелизм обрёл популярность. К сожалению, нынешние языки программирования не успевают за этой тенденцией. Именно поэтому IBM Research создаёт X10 - язык, созданный специально для современных параллельных архитектур, который нацелен на увеличение производительности разработчиков "в десять раз".
Параллелизм в X10 возможен благодаря PGAS модели программирования (модели разделённого глобального адресного пространства). Код и данные выделяются в блоки и распределяются по разным "пространствам", тем самым облегчая шкалирование программы от однопотокового прототипа (одно пространство) до многопотокового, выполняемого на одном или более многоядерном процессоре (несколько пространств) в высокопроизводительном кластере.
Код X10 больше всего похож на Java. По сути, среда выполнения X10 доступна как в качестве встроенных исполнимых файлов, так и как классовые файлы для JVM. Компилятор X10 может выдавать исходные коды либо на C++, либо на Java. В будущем планируется разработать прямую совместимость с Java.
А пока язык развивается, хотя он уже довольно разработан. Компилятор и среда выполнения доступны для различных платформ, в том числе Linux, Mac OS X и Windows. В качестве дополнительных утилит выступают интерактивная среда разработки (IDE), основанная на Eclipse, и отладчик, которые распространяются по лицензии Eclipse Public License.
Брайан Хоган. HTML5 и CSS3. Веб-разработка по стандартам нового поколения
HTML5 и CSS3 – будущее веб-разработки, но не обязательно ждать будущего, чтобы начать применять эти стандарты уже сегодня. Хотя спецификации этих языков еще находятся в разработке, большинство современных браузеров и мобильных устройств поддерживают HTML5 и CSS3.
HTML5 и CSS3 – будущее веб-разработки, но не обязательно ждать будущего, чтобы начать применять эти стандарты уже сегодня. Хотя спецификации этих языков еще находятся в разработке, большинство современных браузеров и мобильных устройств поддерживают HTML5 и CSS3.
Исследуемый язык программирования №9: haXe
Многие языки можно использовать для написания переносимого кода. C-компиляторы доступны практически для всех ЦПУ архитектур, а Java-байткод будет выполняться везде, где есть JVM. Но haXe (произносится как "хекс") является более чем просто переносимым. Это мультиплатформенный язык, который может использоваться в различных операционных средах, начиная от встроенных двоичных систем до интерпретаторов и виртуальных машин.
На данный момент разработчики могут писать программы на haXe, затем компилировать их в объектный код, JavaScript, PHP, Flash/ActionScript или байткод NekoVM. Дополнительные модули для компилирования C# и Java находятся в разработке. Дополнением к базовому языку является стандартная библиотека haXe, которая одинаково работает с любым объектом, а также специализированные библиотеки для выполнения характерных функций каждой из платформ.
Синтаксис haXe похож на C и обладает богатым набором функций. Главным преимуществом является способность устранения проблем, свойственных каждой из платформ. К примеру, в haXe строгая типизация используется там, где она не используется в JavaScript; к ActionScript добавляются параметры настройки и выведение типа; также полностью исключается плохо разработанный, непродуманный синтаксис PHP.
Несмотря на то, что haXe всё ещё находится в разработке, он уже используется в коммерческих целях своим создателем, игровой студией Motion Twin, так что всё серьёзно. Он доступен для Linux, Mac OS X и Windows по комбинации бесплатных лицензий.
Многие языки можно использовать для написания переносимого кода. C-компиляторы доступны практически для всех ЦПУ архитектур, а Java-байткод будет выполняться везде, где есть JVM. Но haXe (произносится как "хекс") является более чем просто переносимым. Это мультиплатформенный язык, который может использоваться в различных операционных средах, начиная от встроенных двоичных систем до интерпретаторов и виртуальных машин.
На данный момент разработчики могут писать программы на haXe, затем компилировать их в объектный код, JavaScript, PHP, Flash/ActionScript или байткод NekoVM. Дополнительные модули для компилирования C# и Java находятся в разработке. Дополнением к базовому языку является стандартная библиотека haXe, которая одинаково работает с любым объектом, а также специализированные библиотеки для выполнения характерных функций каждой из платформ.
Синтаксис haXe похож на C и обладает богатым набором функций. Главным преимуществом является способность устранения проблем, свойственных каждой из платформ. К примеру, в haXe строгая типизация используется там, где она не используется в JavaScript; к ActionScript добавляются параметры настройки и выведение типа; также полностью исключается плохо разработанный, непродуманный синтаксис PHP.
Несмотря на то, что haXe всё ещё находится в разработке, он уже используется в коммерческих целях своим создателем, игровой студией Motion Twin, так что всё серьёзно. Он доступен для Linux, Mac OS X и Windows по комбинации бесплатных лицензий.
SQL Для Начинающих
В рамках этого видеокурса вы познакомитесь с операторами языка запросов SQL, научитесь создавать базы данных, таблицы и реализовывать связи. А также основные операции (например, создание резервных копий и многое другое).
https://www.youtube.com/playlist?list=PL47zejIkBQvTJqvh9ZtNn01zwJ2lGXk-E
#video #sql
В рамках этого видеокурса вы познакомитесь с операторами языка запросов SQL, научитесь создавать базы данных, таблицы и реализовывать связи. А также основные операции (например, создание резервных копий и многое другое).
https://www.youtube.com/playlist?list=PL47zejIkBQvTJqvh9ZtNn01zwJ2lGXk-E
#video #sql
Михаил Фленов. Transact-SQL
Подробно рассмотрено использование языка Transact-SQL для администрирования и манипуляции данными СУБД Microsoft SQL Server. Материал сопровождается большим количеством практических примеров, написанных автором. Уделено внимание вопросам применения Transact-SQL при совместном использовании 1С и Microsoft SQL Server.Для программистов и администраторов СУБД.
Подробно рассмотрено использование языка Transact-SQL для администрирования и манипуляции данными СУБД Microsoft SQL Server. Материал сопровождается большим количеством практических примеров, написанных автором. Уделено внимание вопросам применения Transact-SQL при совместном использовании 1С и Microsoft SQL Server.Для программистов и администраторов СУБД.
Исследуемый язык программирования №10: Chapel
В мире высокопроизводительных вычислений редкие имена звучат громче, чем Cray. Никого не должно удивлять то, что Chapel, первый язык программирования, созданный Cray, был разработан с учётом суперкомпьютерных вычислений и кластеризации.
Chapel является частью программы Cray Cascade Program, масштабного проекта по высокопроизводительным вычислениям, частично профинансированного американским Управлением перспективных исследовательских программ в области обороны (DARPA). Среди целей данного проекта находятся отделение алгоритмов параллельной обработки от используемого оборудования, улучшение их производительности на архитектурах и увеличение портативности параллельных программ.
Синтаксис Chapel составлен из синтаксисов нескольких языков. В дополнение к наиболее часто используемым (C, C++, Java), в нём заимствованы понятия из таких языков научного программирования, как Fortran и Matlab. На его функции параллельной обработки данных повлияли ZPL и High-Performance Fortran, а также предыдущие проекты Cray.
Одной из наиболее притягательных функций Chapel является его поддержка "программирования с переменным разрешением", что позволяет разработчикам создавать приложения с очень абстрактным кодом и делать дополнения по мере того, как реализация становится более определённой.
Работа над Chapel продолжается. На данный момент он может быть запущен на суперкомпьютерах Cray и различных высокопроизводительных кластерах, но его можно портировать на большинство систем типа Unix (в том числе на Mac OS X и Windows с помощью Cygwin). Исходный код доступен по бесплатной лицензии типа BSD.
На этом завершается цикл публикаций посвященных необычным перспективным языкам программирования. Если тебе было интересно - поставь 👍. Если тебе не понравился такой формат то 👎. В зависимости от реакции я буду подбирать новые темы.
В мире высокопроизводительных вычислений редкие имена звучат громче, чем Cray. Никого не должно удивлять то, что Chapel, первый язык программирования, созданный Cray, был разработан с учётом суперкомпьютерных вычислений и кластеризации.
Chapel является частью программы Cray Cascade Program, масштабного проекта по высокопроизводительным вычислениям, частично профинансированного американским Управлением перспективных исследовательских программ в области обороны (DARPA). Среди целей данного проекта находятся отделение алгоритмов параллельной обработки от используемого оборудования, улучшение их производительности на архитектурах и увеличение портативности параллельных программ.
Синтаксис Chapel составлен из синтаксисов нескольких языков. В дополнение к наиболее часто используемым (C, C++, Java), в нём заимствованы понятия из таких языков научного программирования, как Fortran и Matlab. На его функции параллельной обработки данных повлияли ZPL и High-Performance Fortran, а также предыдущие проекты Cray.
Одной из наиболее притягательных функций Chapel является его поддержка "программирования с переменным разрешением", что позволяет разработчикам создавать приложения с очень абстрактным кодом и делать дополнения по мере того, как реализация становится более определённой.
Работа над Chapel продолжается. На данный момент он может быть запущен на суперкомпьютерах Cray и различных высокопроизводительных кластерах, но его можно портировать на большинство систем типа Unix (в том числе на Mac OS X и Windows с помощью Cygwin). Исходный код доступен по бесплатной лицензии типа BSD.
На этом завершается цикл публикаций посвященных необычным перспективным языкам программирования. Если тебе было интересно - поставь 👍. Если тебе не понравился такой формат то 👎. В зависимости от реакции я буду подбирать новые темы.
Билл Филлипс, К. Стюарт, Кристин Марсикано. Android. Программирование для профессионалов
Третье издание познакомит вас с интегрированной средой Android Studio, которая сильно облегчает разработку приложений. Вы не только изучите основы программирования, но и узнаете о возможностях самых распространенных версий Android.
Третье издание познакомит вас с интегрированной средой Android Studio, которая сильно облегчает разработку приложений. Вы не только изучите основы программирования, но и узнаете о возможностях самых распространенных версий Android.
Билл_Филлипс,_К_Стюарт,_Кристин.pdf
18.2 MB
Билл Филлипс, К. Стюарт, Кристин Марсикано. Android. Программирование для профессионалов
#book #android
#book #android
👍1
Мантры юзабилити
Интерфейс пользователя — это определенное размещение элементов дизайна (кнопок, меню, контента) в рамках экрана. С помощью пользовательского интерфейса человек выполняет ту задачу, которая привела его на тот или иной ресурс. И чем он удобнее, тем лучше и для пользователя и для создателя.
На протяжении нескольких следующих дней, я буду делиться с вами как сделать пользовательский интерфейс лучше.
Мантра №1. Хороший интерфейс — это забота о времени пользователя
Одной из основных единиц экономии времени в любом интерфейсе является количество щелчков (кликов, нажатий). Их число, в частности, и нужно сводить к минимуму.
Интерфейс пользователя — это определенное размещение элементов дизайна (кнопок, меню, контента) в рамках экрана. С помощью пользовательского интерфейса человек выполняет ту задачу, которая привела его на тот или иной ресурс. И чем он удобнее, тем лучше и для пользователя и для создателя.
На протяжении нескольких следующих дней, я буду делиться с вами как сделать пользовательский интерфейс лучше.
Мантра №1. Хороший интерфейс — это забота о времени пользователя
Одной из основных единиц экономии времени в любом интерфейсе является количество щелчков (кликов, нажатий). Их число, в частности, и нужно сводить к минимуму.
Веб дизайн
Небольшой видеокурс посвященный созданию качественных пользовательских интерфейсов для сайтов. Однако, это будет полезно и тем, кто разрабатывает обычные приложения, чтобы облегчить пользователю использование.
https://www.youtube.com/playlist?list=PLMc1w1JH2kY0JXaAeilv3xmWemjiktInX
#video #ui #ux
Небольшой видеокурс посвященный созданию качественных пользовательских интерфейсов для сайтов. Однако, это будет полезно и тем, кто разрабатывает обычные приложения, чтобы облегчить пользователю использование.
https://www.youtube.com/playlist?list=PLMc1w1JH2kY0JXaAeilv3xmWemjiktInX
#video #ui #ux