Как стать автором
Обновить

Functional thinking: Thinking functionally, Часть 1

Время на прочтение 12 мин
Количество просмотров 15K
Программирование *
Перевод
Давайте на мгновение представим, что Вы — дровосек. И благодаря своему лучшему топору в округе, вы являетесь самым продуктивным дровосеком в лагере. Но однажды появляется некто, начинающий расхваливать достоинства новой парадигмы в рубке леса — бензопилы. В силу убедительности продавца, Вы покупаете бензопилу, но не знаете как она работает. Прилагая неимоверные усилия, пробуете вырвать или раскачать дерево, применяя на практике свою новую парадигму. И быстренько делая вывод, что эта самая новомодная бензопила — ерунда, возвращаетесь к привычному делу — рубить лес топором. А затем кто-то приходит и показывает как заводить бензопилу.

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

Итак, добро пожаловать в Functional thinking. Эта серия исследует предмет функционального программирования, но не несет исключительной направленности описать функциональные языки. Как я покажу дальше, написание кода в функциональном стиле касается дизайна, компромиссов, разных повторно используемых кусков кода и служит основой для иных догадок. Насколько это окажется возможным, я попытаюсь показать концепции функционального программирования в Java (или близких к Java языках) и перейду к другим языкам, чтобы осветить возможности, отсутствующие на данный момент в Java. Я не полезу сразу в дебри, рассказывая о довольно необычных вещах, таких как монады (monads). Напротив, я постепенно проведу Вас через новый путь мышления.

Эта и пара следующих частей выступят в роли быстрой экскурсии по предметам, связанным с функциональным программированием, включая базовые концепции. Некоторые из этих концепций в дальнейшем будут рассмотрены более детально в то время, как я буду постепенно расширять контекст применения на протяжении всей серии. В качестве отправной точки нашей экскурсии я покажу Вам две разные реализации решения задачи. Одна написана в императивном стиле и другая — с некоторыми функциональными особенностями.
Читать дальше →
Всего голосов 74: ↑66 и ↓8 +58
Комментарии 102

Functional thinking: Thinking functionally, Часть 2

Время на прочтение 9 мин
Количество просмотров 5.5K
Программирование *
Перевод

В первой части серии я начал обсуждение некоторых особенностей функционального программирования, показывая проявления этих идей в Java и других, более функциональных языках. В этой статье я продолжу свой обзор, обращая внимание на функции — объекты первого класса, оптимизации и замыкания. Но основная тема этой статьи — контроль: когда вы его хотите, когда он вам необходим и когда надо просто забить.
Читать дальше →
Всего голосов 36: ↑36 и ↓0 +36
Комментарии 7

Windows 8. Application Excellence Labs

Время на прочтение 2 мин
Количество просмотров 4.6K
Блог компании Microsoft


Друзья, мы рады объявить об уникальной возможности провести до 4х часов 1:1 в компании инженера из Microsoft за тестированием и обсуждением вашего приложения в стиле Metro для Windows 8.

На входе необходимо иметь работающее приложение в стиле Metro для Windows 8, прошедшее внутреннюю сертификацию средствами Visual Studio (Windows App Certification Kit).

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

На выходе вы получите отчет с рекомендациями, как улучшить ваше приложение. А самым лучшим приложениям мы поможем оказаться в числе первых в Windows Store ;-)

Читать дальше →
Всего голосов 18: ↑12 и ↓6 +6
Комментарии 1

WebSphere Application Server Liberty Profile

Время на прочтение 4 мин
Количество просмотров 28K
Java *

Введение


Если раньше Вам приходилось сталкиваться с разработкой приложений для WebSphere Application Server (далее WAS), то Вы конечно же знаете, что это процесс небыстрый. Для этого требовалось разворачивать свой собственный, «тяжелый», сервер приложений, одна перезагрузка которого занимала длительное время. В команде разработки WebSphere долго думали над тем, как предоставить разработчикам самую простую, лучшую и доступную среду для создания новых веб-приложений для WAS. В результате в версии WAS 8.5 появился новый Liberty Profile, который значительно упрощает процесс разработки приложений для WAS.

Итак, что такое Liberty Profile и что он делает?


По сути Liberty Profile – это динамический профиль WAS, который позволяет WAS-серверу предоставлять только те функции, которые требуются приложению (или нескольким приложениям), развернутому на этом сервере. Если приложению нужны сервлеты, то запускается лишь ядро WAS, HTTP-транспорт и веб-контейнер. Все это происходит очень быстро (за несколько секунд) и требует весьма скромного объема ресурсов. Вам нужен JPA-провайдер для доступа к реляционным данным? Вам не придется долго искать, достаточно добавить опцию JPA и конфигурацию хранения данных и Liberty Profile включит все необходимое. Все это делается в динамическом режиме. Даже несмотря на то, что сервер перезапускается за несколько секунд, Вам не придется этого делать. Это очень важно для разработки, так как Вы постоянно добавляете в приложение новые возможности, меняете код и исправляете ошибки. Разработчикам необходимо, чтобы внесение изменений в программный код и в конфигурацию было простым, и чтобы эти изменения немедленно отражались в среде тестирования. Все это становится таким простым с Liberty Profile и новыми инструментами WAS Developer Tools.
Читать дальше →
Всего голосов 8: ↑6 и ↓2 +4
Комментарии 24

Как настроить Mac OS X, iOS-симулятор и RAD Studio XE8 (Delphi, C++ Builder)

Время на прочтение 4 мин
Количество просмотров 36K
Блог компании «Embarcadero (Borland)» Delphi *Разработка под MacOS *
Сегодня мы “подружим” или настроим макбук и RAD Studio XE8 (или Delphi, или C++ Builder, или Appmethod).

В результате мы сможем запускать свои приложения не только в среде Windows, но и на макбуке и iOS-симуляторе из одного и того же исходного кода. Эти действия являются основой для настройки и подключения реального iOS-устройств (тема отдельного поста).

План действий:
— настройка макбука (xCode + PAServer);
— настройка RAD Studio XE8 (Profile + SDK);
— запуск своего приложения на макбуке и iOS-симуляторе.

Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Комментарии 12

Принципы разработки современных приложений от NGINX. Часть 1

Время на прочтение 9 мин
Количество просмотров 6.4K
Блог компании OTUS PHP *Nginx *
Перевод
Привет, друзья. В преддверии запуска курса «Backend разработчик на PHP», традиционно делимся с вами переводом полезного материала.

Программное обеспечение решает все больше и больше повседневных задач, при этом становясь все сложнее и сложнее. Как однажды сказал Марк Андрессен, оно поглощает мир.



В результате в течение последних нескольких лет подходы к разработке и поставке приложений серьезно изменились. Это были сдвиги тектонического масштаба, которые в результате привели к появлению набора принципов. Эти принципы оказались полезными в формировании команды, проектировании, разработке и доставке вашего приложения конечным пользователям.
Читать дальше →
Всего голосов 15: ↑9 и ↓6 +3
Комментарии 2

Tutorial For Creating Blockchain Solution on Hyperledger Composer

Время на прочтение 7 мин
Количество просмотров 2.6K
Децентрализованные сети *Анализ и проектирование систем *Разработка мобильных приложений *Дизайн мобильных приложений *


Due to modern business demands, IBM joined hands with other companies to develop an open-source business blockchain network called Hyperledger Fabric project that is touching the sky. Due to modular architecture, digital keys, and on-demand data retrieval, hyperledger fabric is regarded as the base for the world’s future modular architecture blockchain-based apps. Further benefits of Hyperledger Fabric are given below to facilitate your interpretation.
Read more →
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 0

A Guide to Understand the Concept of Modern Web App Development

Время на прочтение 5 мин
Количество просмотров 5.4K
Веб-дизайн *Разработка веб-сайтов *Разработка мобильных приложений *Развитие стартапа


Millions of businesses exchange information on the internet and to interact with their target audience. This helps them make fast and secure transactions over the web. However, business goals can be achieved when the businesses are able to store all this data for the means of presenting quality output to the end users.

Simply put, in the development industry a web application (or “web app”) is more like a program that uses a web browser to handle the storage and retrieval of the information to present information to the users. This allows a user to interact with the company using the online forms, e-shopping carts, CMS, etc. Some more examples of web applications are online banking, online polls, online forums, online reservations, shopping cart, and interactive games.

Learning about web development is kind of like having too many things on a plate. This guide serves as a way to get your acquainted with the world of web app development.
Read more →
Рейтинг 0
Комментарии 1

Top 5 Software Development Practices to Follow in 2020

Время на прочтение 6 мин
Количество просмотров 9.6K
PHP *Python *JavaScript *Java *.NET *


Though it seems we are just a few months away from reaching 2020, these months are also important in the field of software development. Here in this article, we will see how the coming year 2020 will change the lives of software developers!

Future Software Development Is Here!


Traditional software development is about developing software by writing code and following some fixed rules. But the present-day software development witnessed a paradigm shift with advances in Artificial Intelligence, Machine Learning, and Deep Learning. With the integration of these three technologies, developers will be able to build software solutions that learn the instructions and add extra features and patterns in data that are needed for the desired outcome.

Also read: How Blockchain is helping the healthcare sector?

Let’s Try Out With Some Code


Over time, the neural network software development systems have become more complex in terms of integrations as well as layers of functionality and interfaces. Developers can build a very simple neural network with Python 3.6. Here’s an example of a program that does binary classification with 1 or 0.

Of course, we can start by creating a neural network class:


import numpy as np
X=np.array([[0,1,1,0],[0,1,1,1],[1,0,0,1]])
y=np.array([[0],[1],[1]])


Applying the Sigmoid function:

def sigmoid ():
   return 1/(1 + np.exp(-x))
def derivatives_sigmoid ():
   return x * (1-x)


Training the Model With Initial Weights and Biases:
epoch=10000
lr=0.1
inputlayer_neurons = X.shape[1]
hiddenlayer_neurons = 3
output_neurons = 1

wh=np.random.uniform(size=(inputlayer_neurons,hiddenlayer_neurons))
bh=np.random.uniform(size=(1,hiddenlayer_neurons))
wout=np.random.uniform(size=(hiddenlayer_neurons,output_neurons))
bout=np.random.uniform(size=(1,output_neurons))


For beginners, if you need help regarding neural networks, you can get in touch with top software development company.Or, you can hire AI/ML developers to work on your project.
Read more →
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 0

How To Implement JavaScript Utility Functions Using Reduce?

Время на прочтение 5 мин
Количество просмотров 2.7K
JavaScript *Java *Разработка мобильных приложений *


When it comes to code in JavaScript, developers found reduce function as one of the toughest concepts to crack. According to Wikipedia, Reduce has multiple names viz. Accumulate, Fold, Compress and Aggregate. These names clearly indicate the meaning & working of reduce function. The idea behind this is to break down a structure into a single value. Hence, Reduce can be defined as a function which converts a list into any data type.

For example, you can reduce an array [5,4,3,2,1] into the value 15 by just adding them.

Reduce function keeps developers away from using loop in order to fold a list into a single value.

In this blog, you will learn ways to implement well-known functions using reduce as already done by developers in top software development company.

I have listed out 10 JavaScript utility functions recreated using reduce function. So, check out below these functions:-

  • Map


Parameters used


array (to transform list of items), transform Function (is a function used to run on each element)

Working


By using the given transformFunction, each element in the given array get transformed and returns new array of items.

How to implement?


const map = (transformFunction, array1) =>
  array1.reduce((newArray1, xyz) => 
{
	newArray1.push(transformFunction(xyz));

	return newArray1;
  }, 
[]
);

Use case:


const double = (x) => x * 2;
const reverseString = (string) =>
  string
	.split('')
	.reverse()
	.join('');

map(double, [200, 300, 400]);

Output: [400, 600, 800]

map(reverseString, ['Hello Alka', 'I love cooking']);
// ['alkA olleH', ‘gnikooc evol I']
Read more →
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 1

Best App Development Practices To Follow In 2020

Время на прочтение 6 мин
Количество просмотров 3.3K
Разработка мобильных приложений *


As per the stats, there were around 6 billion mobile app users in 2018-19. With increased demand for mobile apps, the number of mobile users has increased exponentially as compared to last years. Hence, it becomes necessary for every mobile app development company to follow some best app development practices in order to deliver the best mobility solution their users.

When we talk about best app development practices, it doesn't mean to leave the traditional approaches and start with new strategies. Actually, it requires to rely on the best old practices using modern app development tools and technologies. Before discussing in the technical terms, we first look at some best app development methodologies to come with a perfect mobile app in this competitive era.
Read more →
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 1

Top 10 App Development companies in 2021

Время на прочтение 6 мин
Количество просмотров 4.5K
Разработка мобильных приложений *Разработка под Android *Софт

The year 2020 is coming to a close as getting nearer to 2021. The end of 2020 will be the end of a decade in which app development proliferated, and in which software technology reached greater heights.


But as years come by, the importance of apps is only going to increase even further people begin to use technologies such as IoT, chatbots, AI/ML software in their daily lives.


App development includes more than just mobile apps. It also includes development for applications for other types of devices, such as PC, tablets, wearables, etc. However, the growth of mobile apps alone gives great scope for running profitable businesses in this space.



As per research by iResearch, revenue from paid mobile app downloads and in-app advertising alone reached $581 billion dollars in 2020, and reach almost near the trillion-dollar mark by 2023.

Read more →
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 1

React benefits: A blessing for Businesses?

Время на прочтение 3 мин
Количество просмотров 3.5K
JavaScript *Программирование *Разработка мобильных приложений *ReactJS *Софт
Launched in 2013, React has been successfully used to develop 1,004,124 websites in the past 6 years. The Javascript library React JS is known for giving simple programming experience and improved performance.

It was released by Facebook to resolve the issues of coding and maintenance with their ads. It was developed with an intention to increase and manage Facebook ads traffic. React has successfully delivered the expected outcomes throughout its journey.
Read more →
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 0

Where Do Mojibakes Come From? Essentials of Encodings

Время на прочтение 9 мин
Количество просмотров 577
Блог компании Alconost Программирование *Разработка мобильных приложений *Разработка игр *Локализация продуктов *
Перевод


This article explores the basic concepts behind character encoding and then takes a dive deeper into the technical details of encoding systems.


If you have just a basic knowledge of character encoding and want to better understand the essentials, the differences between encoding systems, why we sometimes end up with nonsense text, and the principles behind different encoding system architecture, then read on.


Getting to understand character encoding in detail requires some extensive reading and a good chunk of time. I’ve tried to save you some of that effort by bringing it all together in one place while providing what I believe to be a pretty thorough background of the topic.


I’m going to go over how single-byte encodings (ASCII, Windows-1251 etc.) work, the history of how Unicode came to be, the Unicode-based encodings UTF-8, UTF-16 and how they differ, the specific features, compatibility, and lack thereof among various encodings, character encoding principles, and a practical guide to how characters are encoded and decoded.

Read more →
Рейтинг 0
Комментарии 0

Top 10 Mobile Application Development companies startups can partner with in 2020

Время на прочтение 6 мин
Количество просмотров 1.4K
Разработка мобильных приложений *Дизайн мобильных приложений *Монетизация мобильных приложений *Развитие стартапа Офисы IT-компаний

In the current business landscape, it is important for small and mid-scale organizations to adopt modern app development strategies in order to win the race. Innovative mobile application development solutions provided by top mobile app development companies are the success fruits for any business.


As per Statista, mobile app programmers have developed apps for various business verticals viz. sports games, ride-hailing, taxi-apps, and video apps in the year 2019. There are about 2.46 million apps available in the Google play store as of Q2 2019.


But finding a company that can deliver cost-effective mobile application services could be a daunting task for many business owners as they have to pour their time as well as their efforts. Keeping this in mind, I have encapsulated a list of top 10 mobile app development companies that would surely help grow your business.


The list given below is prepared by taking care of various parameters like google search, company's portfolio, reviews of the clients, ratings from firms like Clutch, Goodfirms, and Youtube.


Find the list below:


1) Mobcoder


image
Project Cost: $5,000+


Locale: Seattle, WA


Rating on Clutch: 5.0


It is a leading app development company providing useful mobile application development solutions to its clients since 2014. Hire mobile application developers from this company as they build solutions, map a strategy and elevate product experience with their amazing product delivery. They work on all the latest technologies including Flutter, Ionic, Kotlin etc. Hence, they build innovative mobile application development solutions for their clientele.

Read more →
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 1

What would be the future of Android in 2020?

Время на прочтение 4 мин
Количество просмотров 8K
Информационная безопасность *Разработка мобильных приложений *Разработка под Android *Разработка для интернета вещей *AR и VR
Android has always been on the top of the hustle when you think about mobile application development. Android’s smartphone OS Market Share now hovers around 85%. Furthermore, volumes are expected to grow at a five-year CAGR of 2.4%, with shipments approaching 1.41 billion in 2022.

image

Source: Google Images

But before you took the plunge in exploring and riding on the waves of changes or hire an android app developer to develop an app, it is important to understand the trends and its implications on the android application development ecosystem.
Read more →
Рейтинг 0
Комментарии 2

The Worst Mistakes In Mobile App Development

Время на прочтение 7 мин
Количество просмотров 2.4K
Разработка под iOS *Разработка мобильных приложений *Разработка под Android *Бизнес-модели *Софт
image

Alright, so you have just planned to hire developers for a Mobile App which could potentially steer your business ahead. The reasons for your decision would be quite obvious on the surface. Mobile App development is a core part of today’s businesses. It provides a near-perfect platform to serve customers through the portable devices they own.

But it’s easy to be a sheep! If you really try to understand this market, you’ll realize that more than half of the apps fail to earn revenue, and a significant amount of them barely cross 1,000 downloads. As per a Gartner report, it was found that barely 0.01 percent apps will find financial success by the year 2018.
Read more →
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 2

How HealthTech Startups Are Leveraging Tech To Combat COVID19?

Время на прочтение 4 мин
Количество просмотров 760
Разработка мобильных приложений *Софт Здоровье
image
Source: Google Images

The world has taken aback through the global pandemic of Novel Coronavirus or Covid19. With the spontaneous outbreak of the coronavirus pandemic worldwide, most of us are self-quarantined and taking precautionary measures. The situation is further amplified with an ongoing economic slowdown.

However, our healthcare industries, startups and front-line medical professionals & staff haven't taken a step back in dealing with the pandemic through innovative healthcare measures that can effectively combat and procure ailing patients from Coronavirus outbreak.
Read more →
Всего голосов 4: ↑2 и ↓2 0
Комментарии 0

Top 5 Android App Development Companies To Seek in 2020

Время на прочтение 6 мин
Количество просмотров 2K
Разработка мобильных приложений *Разработка под Android *
image

The mobile app industry is at its peak of success and keeps evolving with the latest mobile app development technologies in future. It doesn’t matter which business you run but without an app, you cannot grow in this competitive environment.

An Android app is enough to make you achieve all your business goals. In 2019, there were around 2.13 billion apps downloaded from Google Play Store which clearly indicates its huge demand in near future and so the demand for Android app development companies in 2020.

According to AppBrain stats, there are over 2,963,573 Android apps on Google Play at present and approx. 1,365,868 no. of apps with rating.

image

With so many app development companies around us make it difficult to select the reliable Android app development company especially when it comes to business owners. Finding a cost-effective company which can give satisfactory results is not much difficult as it seems to you.

All you need to pick a sorted collection of the best Android app development companies where you can find the one which suits your business. Here, I have sorted a list of top 5 Android App Development Companies that you can partner with in 2020.
Read more →
Всего голосов 3: ↑2 и ↓1 +1
Комментарии 4

Top 10 Blockchain Development Companies To Partner With In 2020-21

Время на прочтение 8 мин
Количество просмотров 1.8K
Разработка мобильных приложений *Разработка под Android *Развитие стартапа Офисы IT-компаний Криптовалюты
image

Global Blockchain solutions spending is expected to surpass $15.9 billion in 2023. At the same time, this expenditure was $1.5 billion in 2018. Indeed, this is a huge influx in global spending, which depicts how companies will be investing more in blockchain solutions and blockchain-based mobile apps.

In this group, the major contribution will be seen from industries including finance, banking, healthcare, agriculture, and more. Amidst, outsourcing Blockchain development companies will also gain prominent attention.

If you are thinking about having Blockchain integration within your business solution, you must be having several questions in your mind, such as: what are the benefits of blockchain? Which are the best companies to hire? And more.
Read more →
Всего голосов 1: ↑0 и ↓1 -1
Комментарии 0
1