Community News: Latest PECL Releases (08.11.2020)

Latest PECL Releases:

  • mysqlnd_azure 1.1.1
    - 1. New connection attribute "_extension_version", indicate the mysqlnd_azure extension build version.

      1. Fix memory collect mnd_ prefix alloc crash and add a test case for enable mysqlnd.collect_memory_statistics.
      1. Add support for two redirection info format.
      1. Add support to enable runtime log, check myslqnd_azure_log.md
      1. Add doc for general troubleshooting.
  • gRPC 1.31.0
    - gRPC Core 1.31.0 update
  • igbinary 3.1.4
    * Fix unserialization of PHP references to internal/user-defined classes using PHP 7.4's `__unserialize` (e.g. `ArrayObject`)
  • ast 1.0.8
    - Recommend using the new constant `astflagsPARAM_MODIFIER_*` when checking if parameters use constructor property promotion. The values of `astflagsMODIFIER_*` and `astflagsPARAM_VARIADIC` had some overlap in some php 7 versions. The new constants will have the same values as `astflagsMODIFIER_*` in PHP 8.0+, but different values in PHP 7 (and these flags will never be set in php 7). - Support PHP 8.0's named arguments. - Support PHP 8.0's nullsafe operator (`?->`).
  • igbinary 3.1.3
    * Properly serialize reference groups of size 1 (these can be created by array_walk_recursive and other functions). Note that this does not fix the general case where values not being serialized are in the same reference group as a value being serialized. * PHP 8.0 compatibility fixes.

Eighers Gonna Eight with Sara Golemon and Garbriel Caruso

This episode is sponsored by
Ring Central Developers

The post Eighers Gonna Eight with Sara Golemon and Garbriel Caruso appeared first on Voices of the ElePHPant.

Embracing Competency and Letting Go of Design Perfection

It seems like every designer and developer out there is on the hunt for perfection. As if somehow that’s our ticket to the top. The distinguished projects, the big paycheck and the booming business. It all will come if we just…do the impossible?

The trouble is, we mere mortals aren’t known for perfection. Sure, subjectively someone could look at a project in our portfolio and say “it’s perfect”. Flattering as it may be, another person may look at that same project and give it a “meh”.

Recently, I’ve begun to realize what a pointless pursuit this is. Since design (and even code) is so subjective – is perfect really a thing? In my view it just seems like a big old waste of time. It’s an impossible standard to hold ourselves to. And thus, it’s ultimately counterproductive.

So, if we’re not after perfection, just what are we aiming for?

Give Competency a Chance

In my own journey, I feel like competency has become a bit of a lost art. It also gets a bad name, as some seem to equate it with mediocrity.

However, that view doesn’t take the whole picture into consideration. To me, being a competent web designer is a pretty awesome thing. It means that you:

  • Know what you’re doing and employ a professional approach;
  • Have valuable experience and use it to benefit your clients;
  • Understand what works (and what doesn’t) in terms of how a website looks and functions;
  • Can be relied upon to do the job the right way;

To be sure, none of these traits are guarantees of perfection. But put them together and it means that there’s a good chance you’ll deliver outstanding results. That’s something the vast majority of your clients will see and appreciate.

When it comes to web design, competence may be a bit of a bland term. It certainly doesn’t stir up the emotions quite as much as “perfect”.

Still, I take it to mean that a design is solid and the code is technically sound. In other words: it looks good and it works the way it’s supposed to. In the end, isn’t that what both designers and our clients are hoping for?

A woman smiling.

What We Gain by Leaving Perfection Behind

The idea of achieving perfection is a fool’s errand. As such, it can feel like forever climbing a mountain with a boulder strapped to your back. You’re more likely to be stuck in place rather than making progress.

Letting go of this idea is freeing. It can help clear your mind and remove those thoughts of not being “good enough”. You’re no longer competing against whoever or whatever you consider to be perfect. Instead, you’re simply doing your very best.

And there’s the irony. It may sound like aiming for competence means lowering your standards. But it’s actually the practice of being comfortable in your own skin. It’s realizing and accepting your strengths and limitations. Then, striving to improve with every project.

In all, you’re no longer trapped by the walls that perfection puts up around you.

A person looking out over a lake.

How to Get Started

Maybe all of this sounds nice enough. But what does it take to let go of this unproductive pursuit? I don’t think there’s one single playbook to follow.

Each of us have our own unique experiences and they inform our approach. But in general, it’s about changing how you look at your work and your place in the industry.

Celebrate Past Projects for What They Were

For instance, it’s easy to look at past projects with a highly-critical eye. This is a natural reaction. Why? Because you’ve likely grown as a designer or developer. Therefore, you see things you might have done differently.

But instead of focusing on the negatives of those old projects, look at what you did right. Maybe a particular project saw you employ a new skill or technique for the first time. Or perhaps it was a success for your client.

Rather than see it as a list of could haves and should haves, think about that project as a step in your progress. In its own way, it helped you get to where you are now.

Don’t Allow Yourself to Be Defined by What Others Do

Your portfolio may seem, in your opinion, to be better or worse than that of your peers. That’s to be expected, as we are all at different points in our career. Not to mention the differences in market niche, location and industry connections.

Some may have booked that big project to put them on the map, while you’re still waiting for that opportunity. In these scenarios, it’s important to keep things in perspective.

It’s great to seek inspiration in what others are doing. But you don’t need to hold yourself to some imaginary standard based on their success.

Try to look at your personal progression as a solo trip. In that way, your only real competition is with yourself. And getting to where you want to go takes time.

Flowers in a field.

Become the Best Version of You

None of us are perfect. We all have our share of successes and failures. But, by themselves, those things don’t define us. Rather, we are defined by what we learn from each and every project.

When compared with the relentless (and perhaps pointless) aim for perfection, I believe this is a much healthier approach. Personal growth doesn’t need to be perfect. There will be fits and starts. Learning to accept that is key.

The beauty of competency is that it’s actually something we can attain. Not only that, but with a little elbow grease we can continue to improve upon that trait over time.

So, while the thought of being perfect is more buzzed-about, the act of being competent is what will bring you the most joy.

The post Embracing Competency and Letting Go of Design Perfection appeared first on Speckyboy Design Magazine.

XLogger PHP PSR Logger

Package:
Summary:
Log events to browser console, text and XML files
Groups:
Author:
Description:
This package can be used to log events to the current browser console, text and XML files...

Read more at https://www.phpclasses.org/package/11743-PHP-Log-events-to-browser-console-text-and-XML-files.html#2020-08-11-01:56:25

Xdebug Update: July 2020

Xdebug Update: July 2020

Another monthly update where I explain what happened with Xdebug development in this past month. These will be published on the first Tuesday after the 5th of each month. Patreon and GitHub supporters will get it earlier, on the first of each month. You can become a patron to support my work on Xdebug. If you are leading a team or company, then it is also possible to support Xdebug through a subscription.

In July, I worked on Xdebug for about 100 hours, with funding being around 70 hours. I worked mostly on the following things:

Xdebug 3

I spend nearly all of my time improving performance this month, with some help by Michael Voříšek for the profiler feature. Some of this work I have done live through Twitch where I stream (almost) every Monday at 15:30 BST (14:30 UTC/10:30 EDT). Past sessions are available on Vimeo.

In order to find out what can be improved I profiled Xdebug running various workloads. I have selected the following workloads per Xdebug mode

If you have any specific one you'd like to see added, please let me know and I'll see whether I have CPU cycles for it—running composer update for Pimcore under the C profiler Valgrind takes 2½ hours per run!

In any case, the profiling found out the following possible improvements:

Switch xdebug_sprintf to a new xdebug_str_add_fmt

Xdebug often needs to convert data into a single string, for either writing to file or network, storing function names with arguments in memory, or display purposes. It uses an API xdebug_sprintf which allocates new memory and formats the string according to format specifiers. Often it needs to add this to a xdebug_str buffer that makes up a longer piece of text. After it has added it to that buffer, it frees the allocated memory again.

By creating a new API that can add a formatted string to an xdebug_str buffer, I managed to reduce the amount of memory allocations and frees dramatically. This gave a 10-15% Wall Time performance boost, and a 10-25% reduction in CPU instructions.

Truncated by Planet PHP, read more at the original (another 3405 bytes)

When Does Using Headless WordPress Make Sense?

There’s a lot of talk these days about using headless WordPress. For the uninitiated, it’s the practice of utilizing a WordPress back end to feed content to an outside application. That might be a mobile app, a static website, a progressive web application or just about anything else a developer can dream up.

There are some real advantages to this configuration. The biggest may be that you can leverage the familiar content creation flow of WordPress. From there, that content can be used in any number of different places. Content creators don’t necessarily have to learn new software, while developers are able to utilize the best tools for the project – whether that’s WordPress or not.

Sounds pretty amazing, right? As powerful as a headless WordPress configuration can be, it’s not necessarily the right path for everyone. There are some potential drawbacks, not to mention a good bit of extra work to get all of your ducks in a row.

To really know if headless WordPress is right for your project, it’s important to consider the pros and cons, along with your goals. The following guide is here to help you make the best decision for your circumstances.

BUILD WORDPRESS SITES FASTER
Announcing Template Kits. Responsive WordPress Designs Built For Elementor.

What’s Different About Headless WordPress?

Technically speaking, a headless WordPress installation (sometimes referred to as a “decoupled” install) is just like any other. It still has the same server requirements and uses a database.

But there are a few key differences to be aware of:

WordPress Themes May Be Irrelevant

If you’re using WordPress exclusively as a means to feed content to an outside application, you may not be too concerned about the front end of your installation. That means you can stick with one of the default themes, such as Twenty Twenty.

Since you aren’t inviting visitors to your WordPress site, you might even decide to block access to the front end altogether.

You Can Use Plugins…To a Point

On a typical website, plugins are one of the main advantages of utilizing WordPress. They let you add all sorts of functionality with just a few clicks. But they take on a different meaning here.

Plugins that add functionality to a WordPress website generally aren’t going to carry over to whatever application you’re pushing content to. For instance, if you’re using a static site generator such as GatsbyJS, your install of WooCommerce isn’t going to let you run a store on that outside site – at least, not without some heavy lifting. The same goes for a contact form created via a plugin.

Yet plugins may still be used for other things. The outside app or website you’re pushing content to may require a plugin that allows for communication with WordPress. In addition, some plugins that are used to enhance the WordPress back end could still be helpful for content creation or workflow.

The WordPress REST API May Be Necessary

Pushing your content from WordPress to an outside source likely means that the REST API will be needed as well. Although, that may depend on just where you’re pushing content to. Other APIs may also be utilized.

The API makes your site’s pages, posts and more available as a JSON response. This format works with just about any language or library you’re using on your outside app or site – PHP, Node.js and Swift are prime examples.

While the API is turned on by default, there are scenarios when a developer might shut it off if it’s not being actively used. It’s just something to keep in mind should you decide to use a headless install.

A laptop computer.

Scenarios for Using Headless WordPress

Now that we know a bit more about what headless WordPress is and what makes it unique, let’s take a look at some scenarios for its use. Of course, these are just a few examples – you might find other projects where it’s a perfect fit.

Providing Content for a Mobile Application

If you need to feed your website’s content to a mobile app, headless WordPress is a great solution. Doing so creates consistency in your brand’s content and saves you from having to reinvent the wheel.

And, while we mentioned the possibility of using WordPress for content only, you don’t have to go that route. In fact, you can run a standard WordPress website – complete with a front end – while simultaneously pushing the site’s content to your mobile application.

This could be used, for instance, to make your website’s blog available to users of the mobile app. Or, if you run a membership site, any exclusive content and account management features could be ported over to an app as well.

Powering a Static Microsite

If you’re building a microsite for a product or service, one where you expect to receive a lot of traffic, a standard WordPress website may not be a good fit. All those database calls and memory-intensive operations can cripple a web server.

This is where a static website can make a lot of sense. Pages load lightning-quick, even on lower-level web hosting packages.

At the same time, you don’t want to make content management a pain for yourself or your client. With a headless WordPress configuration, content management is familiar. There’s no extra training required because creating pages and posts are the same as they’ve always been.

Interacting with a JavaScript UI

Progressive web applications offer powerful functionality right through a typical web browser. And they are often built with various flavors of JavaScript, such as React and Vue.

Once again, speed and ease of use are of great importance. Users will need to perform various tasks within the application, but without lag or other server-based delays. A traditional CMS is generally not recommended for this type of project.

Still, WordPress can be used to feed content into a progressive web app. Content can be pushed to the app and then cached for speedy load times. This provides a more natural feel to interactions and results in a better user experience.

A person using a mobile phone.

Times When Headless WordPress May Be Overkill

While this technique offers great flexibility, it’s not necessarily right for every occasion. Thus, it’s important to talk about the reasons for steering clear of headless WordPress.

For starters, utilizing headless WordPress can require a good bit of technical knowledge. This goes well beyond typical theme and plugin development. It might entail anything from using the command line to understanding how to interact with the REST API. The learning curve can be rather steep.

Then there’s the extra legwork you have to do to set it all up. Not only do you have to install and configure a copy of WordPress, you also have to think about the destination for your content. Static site generators, for example, do require their own unique configurations as well.

And, while it’s great to learn new things, there’s also a bottom line to worry about. For smaller, low-budget projects, going headless may just not be feasible.

A sad-looking cat.

Push Website Content Just About Anywhere

It’s easy to see why headless WordPress has become a trend. With a little elbow grease, you can take your website’s content and push it to just about any destination.

This also demonstrates the continued, and sometimes unexpected, flexibility of WordPress. Not only can it be used to build virtually any type of website, but also as a means to serve up content. And, because of its popularity, the development community continues to make the process easier.

Does a headless WordPress configuration make sense for your project? Hopefully this guide helps you make the best choice for your needs.

The post When Does Using Headless WordPress Make Sense? appeared first on Speckyboy Design Magazine.

Powered by Gewgley